From 8765718f12f9cccfb42a3a058341ca73cd96701b Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 29 May 2026 19:08:57 +0200 Subject: [PATCH 01/23] regen: regenerate the MEOS facade against the consolidated MobilityDB surface Bump codegen/input/meos-idl.json to the MEOS-API IDL and regenerate functions.GeneratedFunctions over the full consolidated superset: mul_* (incl. tbigint); minDistance; the circular-buffer and network-point MF-JSON readers; the ever- and always-covers families (ecovers_*/acovers_*); trgeo_*; the H3 / th3index family (ever_eq_h3indexset_th3index, h3index_in/out, H3Index lowered to long); PostgreSQL type I/O; tgeogpoint_great_circle_distance; meos_initialize_noexit_error_handler. 2916 functions. --- codegen/input/meos-idl.json | 37067 +++++++++++++--- codegen/src/main/java/FunctionsGenerator.java | 4 + .../src/test/java/FunctionsGeneratorTest.java | 1 + .../java/functions/GeneratedFunctions.java | 18926 ++++++-- 4 files changed, 46412 insertions(+), 9586 deletions(-) diff --git a/codegen/input/meos-idl.json b/codegen/input/meos-idl.json index 63196ca26..dbdd46a60 100644 --- a/codegen/input/meos-idl.json +++ b/codegen/input/meos-idl.json @@ -1,5 +1,135 @@ { "functions": [ + { + "name": "meos_array_create", + "file": "meos.h", + "returnType": { + "c": "MeosArray *", + "canonical": "struct MeosArray *" + }, + "params": [ + { + "name": "elem_size", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_array_add", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "array", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" + }, + { + "name": "value", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "meos_array_get", + "file": "meos.h", + "returnType": { + "c": "void *", + "canonical": "void *" + }, + "params": [ + { + "name": "array", + "cType": "const MeosArray *", + "canonical": "const struct MeosArray *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_array_count", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "array", + "cType": "const MeosArray *", + "canonical": "const struct MeosArray *" + } + ] + }, + { + "name": "meos_array_reset", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "array", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" + } + ] + }, + { + "name": "meos_array_reset_free", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "array", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" + } + ] + }, + { + "name": "meos_array_destroy", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "array", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" + } + ] + }, + { + "name": "meos_array_destroy_free", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "array", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" + } + ] + }, { "name": "rtree_create_intspan", "file": "meos.h", @@ -132,8 +262,8 @@ "name": "rtree_search", "file": "meos.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { @@ -152,9 +282,9 @@ "canonical": "const void *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "result", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" } ] }, @@ -162,8 +292,8 @@ "name": "rtree_search_temporal", "file": "meos.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { @@ -182,9 +312,9 @@ "canonical": "const Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "result", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" } ] }, @@ -433,19 +563,19 @@ "name": "add_interval_interval", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "interv1", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "interv2", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -464,8 +594,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -503,8 +633,8 @@ "name": "cstring2text", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -673,8 +803,8 @@ "name": "interval_make", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -769,8 +899,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -778,8 +908,8 @@ "name": "minus_timestamptz_timestamptz", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -798,14 +928,14 @@ "name": "mul_interval_double", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "factor", @@ -854,13 +984,13 @@ "params": [ { "name": "interv1", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "interv2", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -868,8 +998,8 @@ "name": "pg_interval_in", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -894,8 +1024,8 @@ "params": [ { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -979,8 +1109,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -994,13 +1124,13 @@ "params": [ { "name": "txt1", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "txt2", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1008,14 +1138,14 @@ "name": "text_copy", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1023,8 +1153,8 @@ "name": "text_in", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -1038,14 +1168,14 @@ "name": "text_initcap", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1053,14 +1183,14 @@ "name": "text_lower", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1074,8 +1204,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1083,14 +1213,14 @@ "name": "text_upper", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1098,19 +1228,19 @@ "name": "textcat_text_text", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "txt1", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "txt2", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1129,8 +1259,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -1199,13 +1329,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "value", @@ -1219,7 +1349,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1240,7 +1370,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -1249,7 +1379,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1270,7 +1400,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -1309,7 +1439,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1330,7 +1460,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -1339,7 +1469,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1360,7 +1490,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -1404,13 +1534,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "value", @@ -1424,7 +1554,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1445,7 +1575,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "maxdd", @@ -1459,7 +1589,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1480,7 +1610,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "maxdd", @@ -1524,13 +1654,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "value", @@ -1544,7 +1674,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1565,7 +1695,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -1574,7 +1704,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1595,7 +1725,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -1619,8 +1749,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -1644,8 +1774,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -1679,8 +1809,8 @@ }, { "name": "size", - "cType": "int", - "canonical": "int" + "cType": "size_t", + "canonical": "unsigned long" } ] }, @@ -1695,7 +1825,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "variant", @@ -1704,8 +1834,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -1720,7 +1850,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "variant", @@ -1729,8 +1859,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -1739,7 +1869,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1754,7 +1884,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1764,8 +1894,8 @@ }, { "name": "size", - "cType": "int", - "canonical": "int" + "cType": "size_t", + "canonical": "unsigned long" } ] }, @@ -1780,7 +1910,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "variant", @@ -1789,8 +1919,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -1805,7 +1935,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "variant", @@ -1814,8 +1944,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -1824,7 +1954,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1839,7 +1969,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1849,8 +1979,8 @@ }, { "name": "size", - "cType": "int", - "canonical": "int" + "cType": "size_t", + "canonical": "unsigned long" } ] }, @@ -1919,7 +2049,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -1940,7 +2070,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -1949,7 +2079,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -1970,7 +2100,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -1999,7 +2129,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2049,7 +2179,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2099,7 +2229,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2149,7 +2279,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2194,13 +2324,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2209,13 +2339,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2224,13 +2354,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "spans", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "count", @@ -2249,8 +2379,8 @@ "params": [ { "name": "values", - "cType": "text **", - "canonical": "struct varlena **" + "cType": "int **", + "canonical": "int **" }, { "name": "count", @@ -2284,7 +2414,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2329,13 +2459,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "i", - "cType": "int", - "canonical": "int" + "cType": "int64", + "canonical": "long" } ] }, @@ -2344,13 +2474,43 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "i", - "cType": "int", - "canonical": "int" + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "bigintspan_to_intspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "bigintspan_to_floatspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, @@ -2374,7 +2534,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2389,7 +2549,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -2419,13 +2579,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2434,13 +2594,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2464,7 +2624,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2479,7 +2639,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -2504,18 +2664,33 @@ } ] }, + { + "name": "floatspan_to_bigintspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, { "name": "floatspan_to_intspan", "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2524,13 +2699,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2554,7 +2729,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2569,7 +2744,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -2594,18 +2769,33 @@ } ] }, + { + "name": "intspan_to_bigintspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, { "name": "intspan_to_floatspan", "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2614,13 +2804,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2629,7 +2819,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2644,7 +2834,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -2659,13 +2849,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2679,8 +2869,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -2704,7 +2894,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -2719,7 +2909,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -2749,13 +2939,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2764,13 +2954,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2855,7 +3045,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2870,7 +3060,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2885,7 +3075,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -2900,7 +3090,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2915,7 +3105,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -2930,7 +3120,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "boundspan", @@ -3013,14 +3203,14 @@ "name": "datespan_duration", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3035,7 +3225,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3050,7 +3240,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3065,7 +3255,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "n", @@ -3090,7 +3280,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3098,14 +3288,14 @@ "name": "datespanset_duration", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "boundspan", @@ -3125,7 +3315,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3140,7 +3330,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3155,7 +3345,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3240,7 +3430,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3255,7 +3445,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3270,7 +3460,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3285,7 +3475,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3300,7 +3490,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3315,7 +3505,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "boundspan", @@ -3405,7 +3595,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3420,7 +3610,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3435,7 +3625,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3450,7 +3640,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3465,7 +3655,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3480,7 +3670,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "boundspan", @@ -3550,7 +3740,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3565,7 +3755,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "seed", @@ -3585,7 +3775,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3600,7 +3790,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3609,13 +3799,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3630,7 +3820,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3645,7 +3835,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "seed", @@ -3665,7 +3855,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3680,7 +3870,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3689,13 +3879,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3704,13 +3894,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -3724,13 +3914,13 @@ "file": "meos.h", "returnType": { "c": "Span **", - "canonical": "Span **" + "canonical": "struct Span **" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3739,13 +3929,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3760,7 +3950,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3768,8 +3958,8 @@ "name": "textset_end_value", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -3783,8 +3973,8 @@ "name": "textset_start_value", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -3814,8 +4004,8 @@ }, { "name": "result", - "cType": "text **", - "canonical": "struct varlena **" + "cType": "int **", + "canonical": "int **" } ] }, @@ -3823,8 +4013,8 @@ "name": "textset_values", "file": "meos.h", "returnType": { - "c": "text **", - "canonical": "struct varlena **" + "c": "int **", + "canonical": "int **" }, "params": [ { @@ -3908,14 +4098,14 @@ "name": "tstzspan_duration", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3930,7 +4120,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3945,7 +4135,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -3953,14 +4143,14 @@ "name": "tstzspanset_duration", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "boundspan", @@ -3980,7 +4170,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -3995,7 +4185,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4010,7 +4200,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4025,7 +4215,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4040,7 +4230,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4055,7 +4245,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "n", @@ -4080,7 +4270,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4124,13 +4314,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "shift", @@ -4159,13 +4349,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "shift", @@ -4229,13 +4419,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "shift", @@ -4264,13 +4454,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "shift", @@ -4399,13 +4589,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -4414,13 +4604,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "normalize", @@ -4434,13 +4624,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -4449,13 +4639,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -4464,13 +4654,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "maxdd", @@ -4484,13 +4674,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "shift", @@ -4519,13 +4709,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4534,13 +4724,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4549,13 +4739,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "normalize", @@ -4569,13 +4759,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -4584,13 +4774,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "maxdd", @@ -4604,13 +4794,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "shift", @@ -4674,13 +4864,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "shift", @@ -4709,13 +4899,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "shift", @@ -4744,18 +4934,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -4789,8 +4979,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -4814,8 +5004,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -4879,8 +5069,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -4904,13 +5094,13 @@ }, { "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -4929,8 +5119,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -4944,23 +5134,23 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -4969,18 +5159,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -4994,23 +5184,23 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -5019,18 +5209,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -5190,12 +5380,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5210,12 +5400,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5230,12 +5420,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5250,12 +5440,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5270,12 +5460,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5290,12 +5480,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5310,12 +5500,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5330,12 +5520,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5350,12 +5540,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5370,12 +5560,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5390,12 +5580,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5410,12 +5600,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5430,12 +5620,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5450,12 +5640,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5464,7 +5654,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -5479,7 +5669,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -5504,7 +5694,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -5529,13 +5719,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5544,13 +5734,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "elems_per_span", @@ -5569,13 +5759,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "span_count", @@ -5600,7 +5790,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -5620,7 +5810,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -5640,7 +5830,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -5660,7 +5850,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -5680,12 +5870,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5700,12 +5890,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5720,7 +5910,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -5740,7 +5930,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -5760,7 +5950,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -5780,7 +5970,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -5800,7 +5990,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -5820,7 +6010,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -5840,12 +6030,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5860,12 +6050,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5905,7 +6095,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5925,7 +6115,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -5965,7 +6155,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -5985,7 +6175,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6025,7 +6215,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6045,7 +6235,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6085,7 +6275,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6105,7 +6295,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6140,12 +6330,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6160,12 +6350,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6180,12 +6370,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6200,12 +6390,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6219,8 +6409,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -6265,7 +6455,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6285,7 +6475,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6404,8 +6594,8 @@ }, { "name": "t", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -6440,7 +6630,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -6460,7 +6650,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -6480,7 +6670,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -6500,7 +6690,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -6520,12 +6710,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6540,12 +6730,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6560,7 +6750,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -6580,7 +6770,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -6600,7 +6790,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -6620,7 +6810,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -6640,7 +6830,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -6660,12 +6850,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6680,12 +6870,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6700,7 +6890,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -6740,12 +6930,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6760,12 +6950,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6780,12 +6970,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6800,12 +6990,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6845,7 +7035,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -6865,7 +7055,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -6920,7 +7110,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -6940,7 +7130,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -6960,7 +7150,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -6980,7 +7170,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -7025,7 +7215,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7045,7 +7235,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7085,7 +7275,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7105,7 +7295,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7160,7 +7350,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -7180,7 +7370,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -7200,7 +7390,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -7220,7 +7410,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -7265,7 +7455,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7285,7 +7475,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7325,7 +7515,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7345,7 +7535,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7385,7 +7575,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7405,7 +7595,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7445,7 +7635,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7465,7 +7655,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7564,8 +7754,8 @@ }, { "name": "txt", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -7580,7 +7770,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -7600,7 +7790,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -7620,7 +7810,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -7640,12 +7830,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7660,12 +7850,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7680,7 +7870,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -7700,7 +7890,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -7720,7 +7910,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -7740,12 +7930,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7760,12 +7950,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7779,8 +7969,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -7825,7 +8015,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -7845,7 +8035,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -7900,7 +8090,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -7920,7 +8110,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -7940,7 +8130,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -7960,7 +8150,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -8005,7 +8195,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8025,7 +8215,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8065,7 +8255,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8085,7 +8275,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8140,7 +8330,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -8160,7 +8350,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -8180,7 +8370,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -8200,7 +8390,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -8245,7 +8435,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8265,7 +8455,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8305,7 +8495,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8325,7 +8515,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8365,7 +8555,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8385,7 +8575,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8425,7 +8615,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8445,7 +8635,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8544,8 +8734,8 @@ }, { "name": "txt", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -8560,7 +8750,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -8580,7 +8770,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -8600,7 +8790,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -8620,12 +8810,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8640,12 +8830,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8660,7 +8850,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -8680,7 +8870,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -8700,7 +8890,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -8720,12 +8910,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8740,12 +8930,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8759,8 +8949,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -8805,7 +8995,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8825,7 +9015,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8865,7 +9055,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8885,7 +9075,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -8925,7 +9115,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -8945,7 +9135,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9044,8 +9234,8 @@ }, { "name": "txt", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -9060,7 +9250,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -9080,7 +9270,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -9100,7 +9290,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -9120,12 +9310,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9140,12 +9330,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9160,7 +9350,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -9180,7 +9370,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -9200,7 +9390,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -9220,12 +9410,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9240,12 +9430,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9259,8 +9449,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -9305,7 +9495,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9325,7 +9515,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9365,7 +9555,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9385,7 +9575,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9425,7 +9615,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9445,7 +9635,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9544,8 +9734,8 @@ }, { "name": "txt", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -9560,7 +9750,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -9580,7 +9770,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -9600,7 +9790,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -9620,12 +9810,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9640,12 +9830,12 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9660,7 +9850,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -9680,7 +9870,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -9700,7 +9890,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -9720,12 +9910,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -9740,12 +9930,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -9759,8 +9949,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -9964,8 +10154,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -9994,13 +10184,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -10014,13 +10204,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -10034,13 +10224,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -10054,13 +10244,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -10074,18 +10264,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10094,18 +10284,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10114,13 +10304,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -10134,13 +10324,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -10154,13 +10344,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -10174,13 +10364,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -10194,13 +10384,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -10214,18 +10404,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10234,18 +10424,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10254,13 +10444,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -10279,8 +10469,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -10334,7 +10524,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10345,7 +10535,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10354,7 +10544,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10365,7 +10555,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10394,7 +10584,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10405,7 +10595,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10414,7 +10604,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10425,7 +10615,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10454,7 +10644,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10465,7 +10655,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10474,7 +10664,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10485,7 +10675,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10514,7 +10704,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10525,7 +10715,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10534,7 +10724,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -10545,7 +10735,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10664,8 +10854,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -10694,13 +10884,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -10714,13 +10904,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -10734,13 +10924,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -10754,13 +10944,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -10774,18 +10964,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10794,18 +10984,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10814,13 +11004,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -10834,13 +11024,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -10854,13 +11044,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -10874,13 +11064,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -10894,13 +11084,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -10914,18 +11104,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -10934,18 +11124,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -10954,13 +11144,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -10979,8 +11169,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -11014,7 +11204,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11025,7 +11215,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11034,7 +11224,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11045,7 +11235,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -11074,13 +11264,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -11094,7 +11284,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11105,7 +11295,7 @@ { "name": "ss", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" } ] }, @@ -11134,13 +11324,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -11154,7 +11344,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11165,7 +11355,7 @@ { "name": "ss", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" } ] }, @@ -11194,13 +11384,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -11214,7 +11404,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11225,7 +11415,7 @@ { "name": "ss", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" } ] }, @@ -11254,7 +11444,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11265,7 +11455,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11274,7 +11464,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11285,7 +11475,7 @@ { "name": "ss", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" } ] }, @@ -11404,8 +11594,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -11434,13 +11624,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -11454,13 +11644,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -11474,13 +11664,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -11494,13 +11684,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -11514,18 +11704,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11534,18 +11724,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -11554,13 +11744,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -11574,13 +11764,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -11594,13 +11784,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -11614,13 +11804,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -11634,13 +11824,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -11654,18 +11844,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11674,18 +11864,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -11694,13 +11884,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -11719,8 +11909,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -11754,7 +11944,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11765,7 +11955,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11774,7 +11964,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -11785,7 +11975,7 @@ { "name": "ss", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" } ] }, @@ -11820,12 +12010,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11840,12 +12030,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11860,12 +12050,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -11900,12 +12090,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11920,12 +12110,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -11940,12 +12130,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -11980,12 +12170,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12000,12 +12190,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12020,12 +12210,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -12060,12 +12250,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12080,12 +12270,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12100,12 +12290,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -12220,7 +12410,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -12240,7 +12430,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -12260,7 +12450,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "d", @@ -12280,7 +12470,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "i", @@ -12300,7 +12490,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -12320,7 +12510,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -12340,7 +12530,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -12360,7 +12550,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "d", @@ -12380,7 +12570,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "i", @@ -12400,7 +12590,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "t", @@ -12440,12 +12630,12 @@ { "name": "s1", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s2", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12460,12 +12650,12 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12480,12 +12670,12 @@ { "name": "ss1", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "ss2", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -12494,13 +12684,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "i", @@ -12534,13 +12724,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "d", @@ -12574,13 +12764,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "d", @@ -12614,13 +12804,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "i", @@ -12654,13 +12844,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "s", @@ -12709,18 +12899,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12729,18 +12919,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "state", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -12749,18 +12939,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -12769,13 +12959,13 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "state", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" } ] }, @@ -12784,18 +12974,18 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { "name": "state", "cType": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -12814,8 +13004,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -12824,13 +13014,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "state", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, { "name": "t", @@ -12889,13 +13079,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "vsize", @@ -12919,13 +13109,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "vsize", @@ -12959,8 +13149,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -12974,18 +13164,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -13004,18 +13194,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -13059,13 +13249,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "vsize", @@ -13089,13 +13279,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "vsize", @@ -13144,13 +13334,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "vsize", @@ -13174,13 +13364,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "vsize", @@ -13214,8 +13404,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -13229,18 +13419,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "origin", @@ -13259,18 +13449,18 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -13295,7 +13485,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "variant", @@ -13304,8 +13494,8 @@ }, { "name": "size", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -13320,7 +13510,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "variant", @@ -13329,8 +13519,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -13339,7 +13529,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13354,7 +13544,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13364,8 +13554,8 @@ }, { "name": "size", - "cType": "int", - "canonical": "int" + "cType": "size_t", + "canonical": "unsigned long" } ] }, @@ -13374,7 +13564,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13395,7 +13585,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "maxdd", @@ -13409,7 +13599,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13429,7 +13619,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13440,7 +13630,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -13449,7 +13639,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13469,7 +13659,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13480,7 +13670,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -13489,18 +13679,18 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "span", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -13509,13 +13699,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "span", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "t", @@ -13529,13 +13719,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13544,18 +13734,18 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "p", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -13564,7 +13754,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13579,7 +13769,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13594,7 +13784,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13609,13 +13799,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -13624,13 +13814,28 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "tbox_to_bigintspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" } ] }, @@ -13639,13 +13844,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13654,13 +13859,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13669,13 +13874,13 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13684,7 +13889,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -13705,7 +13910,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13720,7 +13925,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "seed", @@ -13740,7 +13945,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13755,7 +13960,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -13770,7 +13975,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13790,12 +13995,12 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", "cType": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" } ] }, @@ -13810,7 +14015,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13830,12 +14035,12 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", "cType": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" } ] }, @@ -13850,7 +14055,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13870,12 +14075,12 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", "cType": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" } ] }, @@ -13890,7 +14095,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13910,12 +14115,12 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", "cType": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" } ] }, @@ -13930,7 +14135,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13950,7 +14155,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13970,7 +14175,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13990,7 +14195,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "result", @@ -13999,23 +14204,78 @@ } ] }, + { + "name": "tbigintbox_expand", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "tbigintbox_shift_scale", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "shift", + "cType": "int64", + "canonical": "long" + }, + { + "name": "width", + "cType": "int64", + "canonical": "long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, { "name": "tbox_expand_time", "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -14024,13 +14284,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "maxdd", @@ -14044,23 +14304,23 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -14069,13 +14329,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "d", @@ -14089,13 +14349,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "shift", @@ -14124,13 +14384,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "i", @@ -14144,13 +14404,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "shift", @@ -14179,18 +14439,18 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "strict", @@ -14204,18 +14464,18 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14230,12 +14490,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14250,12 +14510,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14270,12 +14530,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14290,12 +14550,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14310,12 +14570,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14330,12 +14590,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14350,12 +14610,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14370,12 +14630,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14390,12 +14650,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14410,12 +14670,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14430,12 +14690,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14450,12 +14710,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14470,12 +14730,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14490,12 +14750,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14510,12 +14770,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14530,12 +14790,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14550,12 +14810,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14570,12 +14830,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14590,12 +14850,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -14610,12 +14870,57 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbigint_from_mfjson", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tbigint_in", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tbigint_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -14684,8 +14989,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -14744,8 +15049,8 @@ }, { "name": "size_out", - "cType": "int *", - "canonical": "int *" + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, @@ -14779,8 +15084,8 @@ }, { "name": "size", - "cType": "int", - "canonical": "int" + "cType": "size_t", + "canonical": "unsigned long" } ] }, @@ -14924,6 +15229,106 @@ } ] }, + { + "name": "tbigint_from_base_temp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbigintinst_make", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tbigintseq_from_base_tstzset", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tbigintseq_from_base_tstzspan", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tbigintseqset_from_base_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, { "name": "tbool_from_base_temp", "file": "meos.h", @@ -14949,7 +15354,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -14969,7 +15374,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -14989,7 +15394,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15000,7 +15405,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -15009,7 +15414,7 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { @@ -15020,7 +15425,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -15064,7 +15469,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15084,7 +15489,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15104,7 +15509,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15115,7 +15520,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "interp", @@ -15129,7 +15534,7 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { @@ -15140,7 +15545,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "interp", @@ -15174,7 +15579,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15194,7 +15599,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15214,7 +15619,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15225,7 +15630,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -15234,7 +15639,7 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { @@ -15245,7 +15650,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -15254,13 +15659,13 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { "name": "instants", "cType": "TInstant **", - "canonical": "TInstant **" + "canonical": "struct TInstant **" }, { "name": "count", @@ -15294,13 +15699,13 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { "name": "sequences", "cType": "TSequence **", - "canonical": "TSequence **" + "canonical": "struct TSequence **" }, { "name": "count", @@ -15319,13 +15724,13 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { "name": "instants", "cType": "TInstant **", - "canonical": "TInstant **" + "canonical": "struct TInstant **" }, { "name": "count", @@ -15339,8 +15744,8 @@ }, { "name": "maxt", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "maxdist", @@ -15359,8 +15764,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -15374,13 +15779,13 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "t", @@ -15394,13 +15799,13 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", @@ -15414,18 +15819,18 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -15434,18 +15839,48 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "tbigint_to_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbigint_to_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -15469,7 +15904,22 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_to_tbigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -15494,6 +15944,21 @@ } ] }, + { + "name": "tint_to_tbigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, { "name": "tint_to_tfloat", "file": "meos.h", @@ -15514,7 +15979,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -15529,7 +15994,67 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbigint_end_value", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbigint_max_value", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbigint_min_value", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbigint_start_value", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" }, "params": [ { @@ -15539,6 +16064,81 @@ } ] }, + { + "name": "tbigint_value_at_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "int64 *", + "canonical": "long *" + } + ] + }, + { + "name": "tbigint_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int64", + "canonical": "long" + }, + { + "name": "result", + "cType": "int64 *", + "canonical": "long *" + } + ] + }, + { + "name": "tbigint_values", + "file": "meos.h", + "returnType": { + "c": "int64 *", + "canonical": "long *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int32 *", + "canonical": "int *" + } + ] + }, { "name": "tbool_end_value", "file": "meos.h", @@ -15595,7 +16195,7 @@ { "name": "value", "cType": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" } ] }, @@ -15620,7 +16220,7 @@ { "name": "result", "cType": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" } ] }, @@ -15629,7 +16229,7 @@ "file": "meos.h", "returnType": { "c": "bool *", - "canonical": "unsigned char *" + "canonical": "_Bool *" }, "params": [ { @@ -15648,8 +16248,8 @@ "name": "temporal_duration", "file": "meos.h", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -15669,7 +16269,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15684,7 +16284,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15729,7 +16329,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15749,7 +16349,7 @@ "file": "meos.h", "returnType": { "c": "TInstant **", - "canonical": "TInstant **" + "canonical": "struct TInstant **" }, "params": [ { @@ -15799,7 +16399,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15814,7 +16414,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15874,7 +16474,7 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { @@ -15884,8 +16484,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "atleast", @@ -15904,7 +16504,7 @@ "file": "meos.h", "returnType": { "c": "TSequence **", - "canonical": "TSequence **" + "canonical": "struct TSequence **" }, "params": [ { @@ -15924,7 +16524,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -15944,7 +16544,7 @@ "file": "meos.h", "returnType": { "c": "TSequence **", - "canonical": "TSequence **" + "canonical": "struct TSequence **" }, "params": [ { @@ -15964,7 +16564,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -15979,7 +16579,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -16009,7 +16609,7 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { @@ -16024,8 +16624,8 @@ }, { "name": "minduration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -16049,7 +16649,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -16454,7 +17054,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -16468,8 +17068,8 @@ "name": "ttext_end_value", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -16483,8 +17083,8 @@ "name": "ttext_max_value", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -16498,8 +17098,8 @@ "name": "ttext_min_value", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -16513,8 +17113,8 @@ "name": "ttext_start_value", "file": "meos.h", "returnType": { - "c": "text *", - "canonical": "struct varlena *" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -16549,8 +17149,8 @@ }, { "name": "value", - "cType": "text **", - "canonical": "struct varlena **" + "cType": "int **", + "canonical": "int **" } ] }, @@ -16574,8 +17174,8 @@ }, { "name": "result", - "cType": "text **", - "canonical": "struct varlena **" + "cType": "int **", + "canonical": "int **" } ] }, @@ -16583,8 +17183,8 @@ "name": "ttext_values", "file": "meos.h", "returnType": { - "c": "text **", - "canonical": "struct varlena **" + "c": "int **", + "canonical": "int **" }, "params": [ { @@ -16619,6 +17219,71 @@ } ] }, + { + "name": "tbigint_scale_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "width", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "tbigint_shift_scale_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "int64", + "canonical": "long" + }, + { + "name": "width", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "tbigint_shift_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "temparr_round", "file": "meos.h", @@ -16679,8 +17344,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -16719,13 +17384,13 @@ }, { "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -16744,8 +17409,8 @@ }, { "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -16754,7 +17419,7 @@ "file": "meos.h", "returnType": { "c": "TInstant *", - "canonical": "TInstant *" + "canonical": "struct TInstant *" }, "params": [ { @@ -16769,7 +17434,7 @@ "file": "meos.h", "returnType": { "c": "TSequence *", - "canonical": "TSequence *" + "canonical": "struct TSequence *" }, "params": [ { @@ -16789,7 +17454,7 @@ "file": "meos.h", "returnType": { "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "canonical": "struct TSequenceSet *" }, "params": [ { @@ -17015,7 +17680,7 @@ { "name": "inst", "cType": "const TInstant *", - "canonical": "const TInstant *" + "canonical": "const struct TInstant *" }, { "name": "interp", @@ -17029,8 +17694,8 @@ }, { "name": "maxt", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "expand", @@ -17055,7 +17720,7 @@ { "name": "seq", "cType": "const TSequence *", - "canonical": "const TSequence *" + "canonical": "const struct TSequence *" }, { "name": "expand", @@ -17130,7 +17795,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "connect", @@ -17155,7 +17820,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" }, { "name": "connect", @@ -17254,6 +17919,46 @@ } ] }, + { + "name": "tbigint_at_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "tbigint_minus_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "tbool_at_value", "file": "meos.h", @@ -17405,7 +18110,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -17425,7 +18130,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -17560,7 +18265,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -17580,7 +18285,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -17700,7 +18405,7 @@ { "name": "span", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -17720,7 +18425,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -17740,7 +18445,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -17760,7 +18465,7 @@ { "name": "span", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -17780,7 +18485,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -17800,7 +18505,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -17819,8 +18524,8 @@ }, { "name": "txt", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -17839,8 +18544,8 @@ }, { "name": "txt", - "cType": "text *", - "canonical": "struct varlena *" + "cType": "int *", + "canonical": "int *" } ] }, @@ -17885,7 +18590,7 @@ ], "ownership": "caller", "nullable": true, - "doc": "Retourne l'\u00e9galit\u00e9 temporelle entre deux valeurs temporelles.", + "doc": "Returns the temporal equality between two temporal values.", "meos": { "temporalDim": "any", "spatialDim": null, @@ -17993,6 +18698,26 @@ } ] }, + { + "name": "always_eq_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, { "name": "always_eq_bool_tbool", "file": "meos.h", @@ -18103,8 +18828,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -18113,6 +18838,26 @@ } ] }, + { + "name": "always_eq_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "always_eq_tfloat_float", "file": "meos.h", @@ -18168,8 +18913,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_ge_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -18213,6 +18978,26 @@ } ] }, + { + "name": "always_ge_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "always_ge_temporal_temporal", "file": "meos.h", @@ -18243,8 +19028,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -18308,8 +19093,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_gt_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -18353,6 +19158,26 @@ } ] }, + { + "name": "always_gt_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "always_gt_temporal_temporal", "file": "meos.h", @@ -18383,8 +19208,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -18448,8 +19273,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_le_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -18493,6 +19338,26 @@ } ] }, + { + "name": "always_le_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "always_le_temporal_temporal", "file": "meos.h", @@ -18523,8 +19388,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -18588,8 +19453,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_lt_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -18663,8 +19548,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -18728,8 +19613,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -18793,6 +19678,46 @@ } ] }, + { + "name": "always_lt_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "always_ne_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, { "name": "always_ne_tbool_bool", "file": "meos.h", @@ -18813,6 +19738,26 @@ } ] }, + { + "name": "always_ne_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "always_ne_temporal_temporal", "file": "meos.h", @@ -18843,8 +19788,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -18908,8 +19853,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_eq_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -18973,6 +19938,26 @@ } ] }, + { + "name": "ever_eq_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "ever_eq_tbool_bool", "file": "meos.h", @@ -19023,8 +20008,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -19088,8 +20073,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_ge_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -19133,6 +20138,26 @@ } ] }, + { + "name": "ever_ge_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "ever_ge_temporal_temporal", "file": "meos.h", @@ -19163,8 +20188,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -19228,8 +20253,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_gt_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -19273,6 +20318,26 @@ } ] }, + { + "name": "ever_gt_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "ever_gt_temporal_temporal", "file": "meos.h", @@ -19303,8 +20368,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -19368,8 +20433,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_le_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -19413,6 +20498,26 @@ } ] }, + { + "name": "ever_le_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "ever_le_temporal_temporal", "file": "meos.h", @@ -19443,8 +20548,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -19508,8 +20613,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_lt_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -19553,6 +20678,26 @@ } ] }, + { + "name": "ever_lt_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "ever_lt_temporal_temporal", "file": "meos.h", @@ -19583,8 +20728,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -19648,8 +20793,28 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_ne_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, @@ -19713,6 +20878,26 @@ } ] }, + { + "name": "ever_ne_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "ever_ne_tbool_bool", "file": "meos.h", @@ -19763,8 +20948,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -19828,8 +21013,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -19943,8 +21128,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -20008,8 +21193,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -20083,8 +21268,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -20148,8 +21333,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -20223,8 +21408,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -20288,8 +21473,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -20363,8 +21548,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -20428,8 +21613,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -20503,8 +21688,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -20568,8 +21753,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -20683,8 +21868,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -20748,8 +21933,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -20758,7 +21943,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -20778,7 +21963,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -20803,7 +21988,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -20828,7 +22013,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -20853,7 +22038,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -20878,7 +22063,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -20904,7 +22089,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -20924,7 +22109,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -20969,7 +22154,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -20989,7 +22174,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21009,7 +22194,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21044,7 +22229,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21064,7 +22249,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21084,7 +22269,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21129,7 +22314,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21149,7 +22334,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21169,7 +22354,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21204,7 +22389,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21224,7 +22409,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21244,7 +22429,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21269,7 +22454,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21309,7 +22494,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21329,7 +22514,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21364,7 +22549,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21384,7 +22569,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21404,7 +22589,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21449,7 +22634,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21469,7 +22654,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21489,7 +22674,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21524,7 +22709,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21544,7 +22729,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21564,7 +22749,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21609,7 +22794,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21629,7 +22814,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21649,7 +22834,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21684,7 +22869,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21704,7 +22889,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21729,7 +22914,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21769,7 +22954,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21804,7 +22989,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21824,7 +23009,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21849,7 +23034,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -21889,7 +23074,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -21924,7 +23109,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21944,7 +23129,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -21964,7 +23149,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -21989,7 +23174,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -22009,7 +23194,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -22044,7 +23229,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -22069,7 +23254,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -22109,7 +23294,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -22144,7 +23329,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -22164,7 +23349,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -22189,7 +23374,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -22229,7 +23414,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -22264,7 +23449,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -22284,7 +23469,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -22304,7 +23489,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -22329,7 +23514,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -22349,7 +23534,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -22384,7 +23569,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -22404,7 +23589,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -22429,7 +23614,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -22449,7 +23634,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -22484,7 +23669,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" }, { "name": "temp", @@ -22504,7 +23689,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "temp", @@ -22529,7 +23714,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -22549,7 +23734,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -22638,7 +23823,7 @@ "file": "meos.h", "returnType": { "c": "SpanSet *", - "canonical": "SpanSet *" + "canonical": "struct SpanSet *" }, "params": [ { @@ -22723,6 +23908,26 @@ } ] }, + { + "name": "add_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, { "name": "add_float_tfloat", "file": "meos.h", @@ -22763,6 +23968,26 @@ } ] }, + { + "name": "add_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "add_tfloat_float", "file": "meos.h", @@ -22823,6 +24048,26 @@ } ] }, + { + "name": "div_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, { "name": "div_float_tfloat", "file": "meos.h", @@ -22863,6 +24108,26 @@ } ] }, + { + "name": "div_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "div_tfloat_float", "file": "meos.h", @@ -22924,7 +24189,27 @@ ] }, { - "name": "mult_float_tfloat", + "name": "mul_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "mul_float_tfloat", "file": "meos.h", "returnType": { "c": "Temporal *", @@ -22944,7 +24229,7 @@ ] }, { - "name": "mult_int_tint", + "name": "mul_int_tint", "file": "meos.h", "returnType": { "c": "Temporal *", @@ -22964,7 +24249,27 @@ ] }, { - "name": "mult_tfloat_float", + "name": "mul_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "mul_tfloat_float", "file": "meos.h", "returnType": { "c": "Temporal *", @@ -22984,7 +24289,7 @@ ] }, { - "name": "mult_tint_int", + "name": "mul_tint_int", "file": "meos.h", "returnType": { "c": "Temporal *", @@ -23004,7 +24309,7 @@ ] }, { - "name": "mult_tnumber_tnumber", + "name": "mul_tnumber_tnumber", "file": "meos.h", "returnType": { "c": "Temporal *", @@ -23023,6 +24328,26 @@ } ] }, + { + "name": "sub_bigint_tbigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, { "name": "sub_float_tfloat", "file": "meos.h", @@ -23063,6 +24388,26 @@ } ] }, + { + "name": "sub_tbigint_bigint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, { "name": "sub_tfloat_float", "file": "meos.h", @@ -23273,8 +24618,8 @@ "params": [ { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -23298,8 +24643,8 @@ }, { "name": "txt", - "cType": "const text *", - "canonical": "const struct varlena *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23439,12 +24784,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -23459,12 +24804,12 @@ { "name": "box1", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "box2", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -23524,7 +24869,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -23564,7 +24909,7 @@ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" } ] }, @@ -23633,13 +24978,33 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_merge_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" }, { "name": "temp", @@ -23648,6 +25013,26 @@ } ] }, + { + "name": "temporal_merge_combinefn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, { "name": "temporal_tagg_finalfn", "file": "meos.h", @@ -23763,8 +25148,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23788,8 +25173,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23813,8 +25198,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23918,8 +25303,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23943,8 +25328,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23968,8 +25353,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -23978,13 +25363,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, { "name": "temp", @@ -24048,8 +25433,8 @@ }, { "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -24089,7 +25474,7 @@ { "name": "s", "cType": "const Span *", - "canonical": "const Span *" + "canonical": "const struct Span *" } ] }, @@ -24109,7 +25494,7 @@ { "name": "ss", "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "canonical": "const struct SpanSet *" } ] }, @@ -24238,8 +25623,8 @@ }, { "name": "mint", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" } ] }, @@ -24258,8 +25643,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "origin", @@ -24283,8 +25668,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "origin", @@ -24413,7 +25798,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -24423,8 +25808,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "origin", @@ -24453,8 +25838,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -24478,7 +25863,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -24488,8 +25873,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -24508,7 +25893,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -24538,7 +25923,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -24603,7 +25988,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -24618,8 +26003,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "vorigin", @@ -24658,8 +26043,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "vorigin", @@ -24693,18 +26078,18 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -24723,13 +26108,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "vsize", @@ -24753,13 +26138,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "vsize", @@ -24768,8 +26153,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "vorigin", @@ -24793,7 +26178,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -24803,8 +26188,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -24823,7 +26208,7 @@ "file": "meos.h", "returnType": { "c": "Span *", - "canonical": "Span *" + "canonical": "struct Span *" }, "params": [ { @@ -24853,7 +26238,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -24918,7 +26303,7 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { @@ -24933,8 +26318,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "vorigin", @@ -24973,8 +26358,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "vorigin", @@ -25008,18 +26393,18 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "torigin", @@ -25038,13 +26423,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "xsize", @@ -25068,13 +26453,13 @@ "file": "meos.h", "returnType": { "c": "TBox *", - "canonical": "TBox *" + "canonical": "struct TBox *" }, "params": [ { "name": "box", "cType": "const TBox *", - "canonical": "const TBox *" + "canonical": "const struct TBox *" }, { "name": "xsize", @@ -25083,8 +26468,8 @@ }, { "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "cType": "const int *", + "canonical": "const int *" }, { "name": "xorigin", @@ -25104,1926 +26489,1655 @@ ] }, { - "name": "geo_as_ewkb", - "file": "meos_geo.h", + "name": "meos_initialize_noexit_error_handler", + "file": "meos.h", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "h3_are_neighbor_cells_meos", + "file": "h3_generated.h", + "returnType": { + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "endian", - "cType": "const char *", - "canonical": "const char *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "size", - "cType": "int *", - "canonical": "int *" + "name": "destination", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_as_ewkt", - "file": "meos_geo.h", + "name": "h3_cells_to_directed_edge_meos", + "file": "h3_generated.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "precision", - "cType": "int", - "canonical": "int" + "name": "destination", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_as_geojson", - "file": "meos_geo.h", + "name": "h3_is_valid_directed_edge_meos", + "file": "h3_generated.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "option", - "cType": "int", - "canonical": "int" - }, - { - "name": "precision", - "cType": "int", - "canonical": "int" - }, - { - "name": "srs", - "cType": "const char *", - "canonical": "const char *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_as_hexewkb", - "file": "meos_geo.h", + "name": "h3_get_directed_edge_origin_meos", + "file": "h3_generated.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_get_directed_edge_destination_meos", + "file": "h3_generated.h", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ { - "name": "endian", - "cType": "const char *", - "canonical": "const char *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_as_text", - "file": "meos_geo.h", + "name": "h3_cell_to_parent_meos", + "file": "h3_generated.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "precision", - "cType": "int", + "name": "resolution", + "cType": "int32", "canonical": "int" } ] }, { - "name": "geo_from_ewkb", - "file": "meos_geo.h", + "name": "h3_cell_to_center_child_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" - }, - { - "name": "wkb_size", - "cType": "int", - "canonical": "int" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "srid", + "name": "resolution", "cType": "int32", "canonical": "int" } ] }, { - "name": "geo_from_geojson", - "file": "meos_geo.h", + "name": "h3_cell_to_child_pos_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int64", + "canonical": "long" }, "params": [ { - "name": "geojson", - "cType": "const char *", - "canonical": "const char *" + "name": "child", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "parentRes", + "cType": "int32", + "canonical": "int" } ] }, { - "name": "geo_from_text", - "file": "meos_geo.h", + "name": "h3_child_pos_to_cell_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "wkt", - "cType": "const char *", - "canonical": "const char *" + "name": "childPos", + "cType": "int64", + "canonical": "long" }, { - "name": "srid", - "cType": "int32_t", + "name": "parent", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "childRes", + "cType": "int32", "canonical": "int" } ] }, { - "name": "geo_out", - "file": "meos_geo.h", + "name": "h3_get_resolution_meos", + "file": "h3_generated.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int32", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geog_from_binary", - "file": "meos_geo.h", + "name": "h3_get_base_cell_number_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int32", + "canonical": "int" }, "params": [ { - "name": "wkb_bytea", - "cType": "const char *", - "canonical": "const char *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geog_from_hexewkb", - "file": "meos_geo.h", + "name": "h3_is_valid_cell_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "wkt", - "cType": "const char *", - "canonical": "const char *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geog_in", - "file": "meos_geo.h", + "name": "h3_is_res_class_iii_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "typmod", - "cType": "int32", - "canonical": "int" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_from_hexewkb", - "file": "meos_geo.h", + "name": "h3_is_pentagon_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "wkt", - "cType": "const char *", - "canonical": "const char *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_in", - "file": "meos_geo.h", + "name": "h3_get_num_cells_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int64", + "canonical": "long" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "typmod", + "name": "resolution", "cType": "int32", "canonical": "int" } ] }, { - "name": "box3d_make", - "file": "meos_geo.h", + "name": "h3_grid_distance_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int64", + "canonical": "long" }, "params": [ { - "name": "xmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "xmax", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymin", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymax", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmax", - "cType": "double", - "canonical": "double" + "name": "originIndex", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "h3Index", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "box3d_out", - "file": "meos_geo.h", + "name": "h3_cell_to_vertex_meos", + "file": "h3_generated.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "maxdd", - "cType": "int", + "name": "vertexNum", + "cType": "int32", "canonical": "int" } ] }, { - "name": "gbox_make", - "file": "meos_geo.h", + "name": "h3_is_valid_vertex_meos", + "file": "h3_generated.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "hasz", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "xmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "xmax", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymin", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymax", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmax", - "cType": "double", - "canonical": "double" + "name": "vertex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "gbox_out", - "file": "meos_geo.h", + "name": "h3index_parse", + "file": "h3index.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "geo_copy", - "file": "meos_geo.h", + "name": "h3index_to_string", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geogpoint_make2d", - "file": "meos_geo.h", + "name": "h3index_eq", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "x", - "cType": "double", - "canonical": "double" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "y", - "cType": "double", - "canonical": "double" + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geogpoint_make3dz", - "file": "meos_geo.h", + "name": "h3index_ne", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "x", - "cType": "double", - "canonical": "double" - }, - { - "name": "y", - "cType": "double", - "canonical": "double" - }, - { - "name": "z", - "cType": "double", - "canonical": "double" + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geompoint_make2d", - "file": "meos_geo.h", + "name": "h3index_lt", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "x", - "cType": "double", - "canonical": "double" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "y", - "cType": "double", - "canonical": "double" + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geompoint_make3dz", - "file": "meos_geo.h", + "name": "h3index_le", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "x", - "cType": "double", - "canonical": "double" - }, - { - "name": "y", - "cType": "double", - "canonical": "double" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "z", - "cType": "double", - "canonical": "double" + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_to_geog", - "file": "meos_geo.h", + "name": "h3index_gt", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geog_to_geom", - "file": "meos_geo.h", + "name": "h3index_ge", + "file": "h3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "geog", - "cType": "const int *", - "canonical": "const int *" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_is_empty", - "file": "meos_geo.h", + "name": "h3index_cmp", + "file": "h3index.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_is_unitary", - "file": "meos_geo.h", + "name": "h3index_hash", + "file": "h3index.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "uint32", + "canonical": "unsigned int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_typename", - "file": "meos_geo.h", + "name": "h3_grid_disk", + "file": "h3index_sets.h", "returnType": { - "c": "const char *", - "canonical": "const char *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "type", + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "k", "cType": "int", "canonical": "int" } ] }, { - "name": "geog_area", - "file": "meos_geo.h", + "name": "h3_grid_ring", + "file": "h3index_sets.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "k", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geog_centroid", - "file": "meos_geo.h", + "name": "h3_grid_path_cells", + "file": "h3index_sets.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "start", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "end", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geog_length", - "file": "meos_geo.h", + "name": "h3_cell_to_children", + "file": "h3index_sets.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "childRes", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geog_perimeter", - "file": "meos_geo.h", + "name": "h3_compact_cells", + "file": "h3index_sets.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "cells", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "geom_azimuth", - "file": "meos_geo.h", + "name": "h3_uncompact_cells", + "file": "h3index_sets.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cells", + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "res", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_length", - "file": "meos_geo.h", + "name": "h3_origin_to_directed_edges", + "file": "h3index_sets.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_perimeter", - "file": "meos_geo.h", + "name": "h3_cell_to_vertexes", + "file": "h3index_sets.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "line_numpoints", - "file": "meos_geo.h", + "name": "h3_get_icosahedron_faces", + "file": "h3index_sets.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "line_point_n", - "file": "meos_geo.h", + "name": "ensure_valid_th3index_th3index", + "file": "th3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "geo_reverse", - "file": "meos_geo.h", + "name": "ensure_valid_th3index_h3index", + "file": "th3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_round", - "file": "meos_geo.h", + "name": "ensure_valid_th3index_tgeogpoint", + "file": "th3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "geo_set_srid", - "file": "meos_geo.h", + "name": "datum2_h3index_eq", + "file": "th3index.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "d1", + "cType": "int", + "canonical": "int" }, { - "name": "srid", - "cType": "int32_t", + "name": "d2", + "cType": "int", + "canonical": "int" + }, + { + "name": "type", + "cType": "int", "canonical": "int" } ] }, { - "name": "geo_srid", - "file": "meos_geo.h", + "name": "datum2_h3index_ne", + "file": "th3index.h", "returnType": { - "c": "int32_t", + "c": "int", "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "geo_transform", - "file": "meos_geo.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + "name": "d1", + "cType": "int", + "canonical": "int" + }, { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "d2", + "cType": "int", + "canonical": "int" }, { - "name": "srid_to", - "cType": "int32_t", + "name": "type", + "cType": "int", "canonical": "int" } ] }, { - "name": "geo_transform_pipeline", - "file": "meos_geo.h", + "name": "th3indexinst_set_stbox", + "file": "th3index_boxops.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "pipeline", - "cType": "char *", - "canonical": "char *" - }, - { - "name": "srid_to", - "cType": "int32_t", - "canonical": "int" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "geo_collect_garray", - "file": "meos_geo.h", + "name": "th3indexinstarr_set_stbox", + "file": "th3index_boxops.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" }, { "name": "count", "cType": "int", "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "geo_makeline_garray", - "file": "meos_geo.h", + "name": "th3indexseq_expand_stbox", + "file": "th3index_boxops.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "geo_num_points", - "file": "meos_geo.h", + "name": "h3_gs_point_to_cell", + "file": "th3index_internal.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", + "name": "point", "cType": "const int *", "canonical": "const int *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" } ] }, { - "name": "geo_num_geos", - "file": "meos_geo.h", + "name": "h3_cell_to_gs_point", + "file": "th3index_internal.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_geo_n", - "file": "meos_geo.h", + "name": "h3_cell_to_gs_boundary", + "file": "th3index_internal.h", "returnType": { "c": "int *", "canonical": "int *" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geo_pointarr", - "file": "meos_geo.h", + "name": "cell_boundary_to_gs", + "file": "th3index_internal.h", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "bnd", + "cType": "const CellBoundary *", + "canonical": "const CellBoundary *" } ] }, { - "name": "geo_points", - "file": "meos_geo.h", + "name": "h3_sample_step_deg", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "resolution", + "cType": "int32", + "canonical": "int" } ] }, { - "name": "geom_array_union", - "file": "meos_geo.h", + "name": "h3_latlng_deg_to_cell", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" + "name": "lat_deg", + "cType": "double", + "canonical": "double" }, { - "name": "count", - "cType": "int", + "name": "lng_deg", + "cType": "double", + "canonical": "double" + }, + { + "name": "resolution", + "cType": "int32", "canonical": "int" } ] }, { - "name": "geom_boundary", - "file": "meos_geo.h", + "name": "h3_cell_to_parent_next_meos", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_buffer", - "file": "meos_geo.h", + "name": "h3_cell_to_center_child_next_meos", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "size", - "cType": "double", - "canonical": "double" - }, - { - "name": "params", - "cType": "const char *", - "canonical": "const char *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_centroid", - "file": "meos_geo.h", + "name": "h3_directed_edge_to_gs_boundary", + "file": "th3index_internal.h", "returnType": { "c": "int *", "canonical": "int *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_convex_hull", - "file": "meos_geo.h", + "name": "h3_vertex_to_gs_point", + "file": "th3index_internal.h", "returnType": { "c": "int *", "canonical": "int *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "vertex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_difference2d", - "file": "meos_geo.h", + "name": "h3_cell_to_local_ij_meos", + "file": "th3index_internal.h", "returnType": { "c": "int *", "canonical": "int *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "geom_intersection2d", - "file": "meos_geo.h", + "name": "h3_local_ij_to_cell_meos", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "gs2", + "name": "coord", "cType": "const int *", "canonical": "const int *" } ] }, { - "name": "geom_intersection2d_coll", - "file": "meos_geo.h", + "name": "h3_unit_from_cstring", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "H3Unit", + "canonical": "H3Unit" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "unit", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "geom_min_bounding_radius", - "file": "meos_geo.h", + "name": "h3_cell_area_meos", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "radius", - "cType": "double *", - "canonical": "double *" + "name": "unit", + "cType": "H3Unit", + "canonical": "H3Unit" } ] }, { - "name": "geom_shortestline2d", - "file": "meos_geo.h", + "name": "h3_edge_length_meos", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "s2", - "cType": "const int *", - "canonical": "const int *" + "name": "unit", + "cType": "H3Unit", + "canonical": "H3Unit" } ] }, { - "name": "geom_shortestline3d", - "file": "meos_geo.h", + "name": "h3_gs_great_circle_distance_meos", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs1", + "name": "a", "cType": "const int *", "canonical": "const int *" }, { - "name": "s2", + "name": "b", "cType": "const int *", "canonical": "const int *" + }, + { + "name": "unit", + "cType": "H3Unit", + "canonical": "H3Unit" } ] }, { - "name": "geom_unary_union", - "file": "meos_geo.h", + "name": "datum_h3_get_resolution", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "prec", - "cType": "double", - "canonical": "double" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "line_interpolate_point", - "file": "meos_geo.h", + "name": "datum_h3_get_base_cell_number", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "distance_fraction", - "cType": "double", - "canonical": "double" - }, - { - "name": "repeat", - "cType": "bool", - "canonical": "bool" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "line_locate_point", - "file": "meos_geo.h", + "name": "datum_h3_is_valid_cell", + "file": "th3index_internal.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "line_substring", - "file": "meos_geo.h", + "name": "datum_h3_is_res_class_iii", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "from", - "cType": "double", - "canonical": "double" - }, - { - "name": "to", - "cType": "double", - "canonical": "double" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geog_dwithin", - "file": "meos_geo.h", + "name": "datum_h3_is_pentagon", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "g1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "g2", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "tolerance", - "cType": "double", - "canonical": "double" - }, - { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geog_intersects", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_parent", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cell_d", + "cType": "int", + "canonical": "int" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "res_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_contains", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_parent_next", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cell_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_covers", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_center_child", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "cell_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "res_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_disjoint2d", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_center_child_next", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cell_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_dwithin2d", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_child_pos", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cell_d", + "cType": "int", + "canonical": "int" }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "parent_res_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_dwithin3d", - "file": "meos_geo.h", + "name": "datum_h3_child_pos_to_cell", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "pos_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "parent_d", + "cType": "int", + "canonical": "int" }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "child_res_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_intersects2d", - "file": "meos_geo.h", + "name": "datum_h3_are_neighbor_cells", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "dest_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_intersects3d", - "file": "meos_geo.h", + "name": "datum_h3_cells_to_directed_edge", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "dest_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_relate_pattern", - "file": "meos_geo.h", + "name": "datum_h3_is_valid_directed_edge", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "patt", - "cType": "char *", - "canonical": "char *" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_touches", - "file": "meos_geo.h", + "name": "datum_h3_get_directed_edge_origin", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_stboxes", - "file": "meos_geo.h", + "name": "datum_h3_get_directed_edge_destination", + "file": "th3index_internal.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_split_each_n_stboxes", - "file": "meos_geo.h", + "name": "datum_h3_directed_edge_to_boundary", + "file": "th3index_internal.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "elem_count", + "name": "d", "cType": "int", "canonical": "int" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" } ] }, { - "name": "geo_split_n_stboxes", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_vertex", + "file": "th3index_internal.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "box_count", + "name": "cell_d", "cType": "int", "canonical": "int" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "vnum_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geog_distance", - "file": "meos_geo.h", + "name": "datum_h3_vertex_to_latlng", + "file": "th3index_internal.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "g1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "g2", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_distance2d", - "file": "meos_geo.h", + "name": "datum_h3_is_valid_vertex", + "file": "th3index_internal.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_distance3d", - "file": "meos_geo.h", + "name": "datum_h3_grid_distance", + "file": "th3index_internal.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "dest_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_equals", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_local_ij", + "file": "th3index_internal.h", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "cell_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_same", - "file": "meos_geo.h", + "name": "datum_h3_local_ij_to_cell", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "origin_d", + "cType": "int", + "canonical": "int" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "coord_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geogset_in", - "file": "meos_geo.h", + "name": "datum_h3_latlng_to_cell", + "file": "th3index_internal.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "point_d", + "cType": "int", + "canonical": "int" + }, + { + "name": "res_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geomset_in", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_latlng", + "file": "th3index_internal.h", "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "spatialset_as_text", - "file": "meos_geo.h", - "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "maxdd", + "name": "d", "cType": "int", "canonical": "int" } ] }, { - "name": "spatialset_as_ewkt", - "file": "meos_geo.h", + "name": "datum_h3_cell_to_boundary", + "file": "th3index_internal.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "maxdd", + "name": "d", "cType": "int", "canonical": "int" } ] }, { - "name": "geoset_make", - "file": "meos_geo.h", + "name": "datum_h3_cell_area", + "file": "th3index_internal.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "values", - "cType": "int **", - "canonical": "int **" + "name": "cell_d", + "cType": "int", + "canonical": "int" }, { - "name": "count", + "name": "unit_d", "cType": "int", "canonical": "int" } ] }, { - "name": "geo_to_set", - "file": "meos_geo.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "geoset_end_value", - "file": "meos_geo.h", + "name": "datum_h3_edge_length", + "file": "th3index_internal.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "geoset_start_value", - "file": "meos_geo.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + "name": "edge_d", + "cType": "int", + "canonical": "int" + }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "unit_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geoset_value_n", - "file": "meos_geo.h", + "name": "datum_h3_great_circle_distance", + "file": "th3index_internal.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "a_d", + "cType": "int", + "canonical": "int" }, { - "name": "n", + "name": "b_d", "cType": "int", "canonical": "int" }, { - "name": "result", - "cType": "int **", - "canonical": "int **" - } - ] - }, - { - "name": "geoset_values", - "file": "meos_geo.h", - "returnType": { - "c": "int **", - "canonical": "int **" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "unit_d", + "cType": "int", + "canonical": "int" } ] }, { - "name": "contained_geo_set", + "name": "geo_as_ewkb", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { @@ -27032,58 +28146,43 @@ "canonical": "const int *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "contains_set_geo", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "endian", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, { - "name": "geo_union_transfn", + "name": "geo_as_ewkt", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "char *", + "canonical": "char *" }, "params": [ - { - "name": "state", - "cType": "Set *", - "canonical": "Set *" - }, { "name": "gs", "cType": "const int *", "canonical": "const int *" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" } ] }, { - "name": "intersection_geo_set", + "name": "geo_as_geojson", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "char *", + "canonical": "char *" }, "params": [ { @@ -27092,38 +28191,28 @@ "canonical": "const int *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "intersection_set_geo", - "file": "meos_geo.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ + "name": "option", + "cType": "int", + "canonical": "int" + }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "precision", + "cType": "int", + "canonical": "int" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "srs", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "minus_geo_set", + "name": "geo_as_hexewkb", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "char *", + "canonical": "char *" }, "params": [ { @@ -27132,38 +28221,18 @@ "canonical": "const int *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "minus_set_geo", - "file": "meos_geo.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "endian", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "union_geo_set", + "name": "geo_as_text", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "char *", + "canonical": "char *" }, "params": [ { @@ -27172,102 +28241,62 @@ "canonical": "const int *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "precision", + "cType": "int", + "canonical": "int" } ] }, { - "name": "union_set_geo", + "name": "geo_from_ewkb", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "spatialset_set_srid", - "file": "meos_geo.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "wkb_size", + "cType": "size_t", + "canonical": "unsigned long" }, { "name": "srid", - "cType": "int32_t", + "cType": "int32", "canonical": "int" } ] }, { - "name": "spatialset_srid", - "file": "meos_geo.h", - "returnType": { - "c": "int32_t", - "canonical": "int" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "spatialset_transform", + "name": "geo_from_geojson", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "geojson", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "spatialset_transform_pipeline", + "name": "geo_from_text", "file": "meos_geo.h", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "pipelinestr", + "name": "wkt", "cType": "const char *", "canonical": "const char *" }, @@ -27275,16 +28304,11 @@ "name": "srid", "cType": "int32_t", "canonical": "int" - }, - { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "stbox_as_hexwkb", + "name": "geo_out", "file": "meos_geo.h", "returnType": { "c": "char *", @@ -27292,200 +28316,175 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size", - "cType": "int *", - "canonical": "int *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_as_wkb", + "name": "geog_from_binary", "file": "meos_geo.h", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "int *", - "canonical": "int *" + "name": "wkb_bytea", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "stbox_from_hexwkb", + "name": "geog_from_hexewkb", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "hexwkb", + "name": "wkt", "cType": "const char *", "canonical": "const char *" } ] }, { - "name": "stbox_from_wkb", + "name": "geog_in", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "size", - "cType": "int", + "name": "typmod", + "cType": "int32", "canonical": "int" } ] }, { - "name": "stbox_in", + "name": "geom_from_hexewkb", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "str", + "name": "wkt", "cType": "const char *", "canonical": "const char *" } ] }, { - "name": "stbox_out", + "name": "geom_in", "file": "meos_geo.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "maxdd", - "cType": "int", + "name": "typmod", + "cType": "int32", "canonical": "int" } ] }, { - "name": "geo_timestamptz_to_stbox", + "name": "box3d_make", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "xmin", + "cType": "double", + "canonical": "double" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - } - ] - }, - { - "name": "geo_tstzspan_to_stbox", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "xmax", + "cType": "double", + "canonical": "double" + }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "ymin", + "cType": "double", + "canonical": "double" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const Span *" + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "stbox_copy", + "name": "box3d_out", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "char *", + "canonical": "char *" }, "params": [ { "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_make", + "name": "gbox_make", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ - { - "name": "hasx", - "cType": "bool", - "canonical": "bool" - }, { "name": "hasz", "cType": "bool", "canonical": "bool" }, - { - "name": "geodetic", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "srid", - "cType": "int32", - "canonical": "int" - }, { "name": "xmin", "cType": "double", @@ -27515,46 +28514,46 @@ "name": "zmax", "cType": "double", "canonical": "double" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const Span *" } ] }, { - "name": "geo_to_stbox", + "name": "gbox_out", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "gs", + "name": "box", "cType": "const int *", "canonical": "const int *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "spatialset_to_stbox", + "name": "geo_copy", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "g", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_to_box3d", + "name": "geogpoint_make2d", "file": "meos_geo.h", "returnType": { "c": "int *", @@ -27562,14 +28561,24 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" } ] }, { - "name": "stbox_to_gbox", + "name": "geogpoint_make3dz", "file": "meos_geo.h", "returnType": { "c": "int *", @@ -27577,14 +28586,29 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" } ] }, { - "name": "stbox_to_geo", + "name": "geompoint_make2d", "file": "meos_geo.h", "returnType": { "c": "int *", @@ -27592,89 +28616,129 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" } ] }, { - "name": "stbox_to_tstzspan", + "name": "geompoint_make3dz", "file": "meos_geo.h", "returnType": { - "c": "Span *", - "canonical": "Span *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" } ] }, { - "name": "timestamptz_to_stbox", + "name": "geom_to_geog", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "geom", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tstzset_to_stbox", + "name": "geog_to_geom", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "geog", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tstzspan_to_stbox", + "name": "geo_is_empty", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const Span *" + "name": "g", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tstzspanset_to_stbox", + "name": "geo_is_unitary", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_area", + "name": "geo_typename", + "file": "meos_geo.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "type", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geog_area", "file": "meos_geo.h", "returnType": { "c": "double", @@ -27682,69 +28746,79 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "spheroid", + "name": "use_spheroid", "cType": "bool", "canonical": "bool" } ] }, { - "name": "stbox_hash", + "name": "geog_centroid", "file": "meos_geo.h", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_hash_extended", + "name": "geog_length", "file": "meos_geo.h", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_hast", + "name": "geog_perimeter", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_hasx", + "name": "geom_azimuth", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -27752,649 +28826,634 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "stbox_hasz", + "name": "geom_length", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_isgeodetic", + "name": "geom_perimeter", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_perimeter", + "name": "line_numpoints", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "spheroid", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_tmax", + "name": "line_point_n", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "geom", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "result", - "cType": "TimestampTz *", - "canonical": "long *" + "name": "n", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_tmax_inc", + "name": "geo_reverse", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "result", - "cType": "bool *", - "canonical": "unsigned char *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_tmin", + "name": "geo_round", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "result", - "cType": "TimestampTz *", - "canonical": "long *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_tmin_inc", + "name": "geo_set_srid", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "result", - "cType": "bool *", - "canonical": "unsigned char *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "stbox_volume", + "name": "geo_srid", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "int32_t", + "canonical": "int" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_xmax", + "name": "geo_transform", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "geom", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "stbox_xmin", + "name": "geo_transform_pipeline", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "pipeline", + "cType": "char *", + "canonical": "char *" + }, + { + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_ymax", + "name": "geo_collect_garray", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gsarr", + "cType": "int **", + "canonical": "int **" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_ymin", + "name": "geo_makeline_garray", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gsarr", + "cType": "int **", + "canonical": "int **" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_zmax", + "name": "geo_num_points", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_zmin", + "name": "geo_num_geos", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_expand_space", + "name": "geo_geo_n", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "geom", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "n", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_expand_time", + "name": "geo_pointarr", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int **", + "canonical": "int **" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "stbox_get_space", + "name": "geo_points", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_quad_split", + "name": "geom_array_union", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gsarr", + "cType": "int **", + "canonical": "int **" }, { "name": "count", - "cType": "int *", - "canonical": "int *" + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_round", + "name": "geom_boundary", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_shift_scale_time", + "name": "geom_buffer", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "shift", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "size", + "cType": "double", + "canonical": "double" }, { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "params", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "stboxarr_round", + "name": "geom_centroid", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "boxarr", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_set_srid", + "name": "geom_convex_hull", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_srid", + "name": "geom_difference2d", "file": "meos_geo.h", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_transform", + "name": "geom_intersection2d", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_transform_pipeline", + "name": "geom_intersection2d_coll", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "pipelinestr", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "adjacent_stbox_stbox", + "name": "geom_min_bounding_radius", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "geom", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "radius", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "contained_stbox_stbox", + "name": "geom_shortestline2d", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "s2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "contains_stbox_stbox", + "name": "geom_shortestline3d", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "s2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "overlaps_stbox_stbox", + "name": "geom_unary_union", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "prec", + "cType": "double", + "canonical": "double" } ] }, { - "name": "same_stbox_stbox", + "name": "line_interpolate_point", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "distance_fraction", + "cType": "double", + "canonical": "double" + }, + { + "name": "repeat", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "above_stbox_stbox", + "name": "line_locate_point", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "after_stbox_stbox", + "name": "line_substring", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "from", + "cType": "double", + "canonical": "double" + }, + { + "name": "to", + "cType": "double", + "canonical": "double" } ] }, { - "name": "back_stbox_stbox", + "name": "geog_dwithin", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28402,39 +29461,29 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" - } - ] - }, - { - "name": "before_stbox_stbox", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "g2", + "cType": "const int *", + "canonical": "const int *" + }, { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "tolerance", + "cType": "double", + "canonical": "double" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "below_stbox_stbox", + "name": "geog_intersects", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28442,19 +29491,24 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "front_stbox_stbox", + "name": "geom_contains", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28462,19 +29516,19 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "left_stbox_stbox", + "name": "geom_covers", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28482,19 +29536,19 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "overabove_stbox_stbox", + "name": "geom_disjoint2d", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28502,19 +29556,19 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "overafter_stbox_stbox", + "name": "geom_dwithin2d", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28522,19 +29576,24 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" } ] }, { - "name": "overback_stbox_stbox", + "name": "geom_dwithin3d", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28542,19 +29601,24 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" } ] }, { - "name": "overbefore_stbox_stbox", + "name": "geom_intersects2d", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28562,19 +29626,19 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "overbelow_stbox_stbox", + "name": "geom_intersects3d", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28582,19 +29646,19 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "overfront_stbox_stbox", + "name": "geom_relate_pattern", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28602,19 +29666,24 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "patt", + "cType": "char *", + "canonical": "char *" } ] }, { - "name": "overleft_stbox_stbox", + "name": "geom_touches", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28622,164 +29691,169 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "overright_stbox_stbox", + "name": "geo_stboxes", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "right_stbox_stbox", + "name": "geo_split_each_n_stboxes", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "union_stbox_stbox", + "name": "geo_split_n_stboxes", "file": "meos_geo.h", "returnType": { "c": "STBox *", - "canonical": "STBox *" + "canonical": "struct STBox *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "box_count", + "cType": "int", + "canonical": "int" }, { - "name": "strict", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "intersection_stbox_stbox", + "name": "geog_distance", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "g2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_cmp", + "name": "geom_distance2d", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_eq", + "name": "geom_distance3d", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_ge", + "name": "geo_equals", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_gt", + "name": "geo_same", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -28787,263 +29861,258 @@ }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "stbox_le", + "name": "geogset_in", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "stbox_lt", + "name": "geomset_in", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "stbox_ne", + "name": "spatialset_as_text", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeogpoint_from_mfjson", + "name": "spatialset_as_ewkt", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tgeogpoint_in", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeography_from_mfjson", + "name": "geoset_make", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "mfjson", - "cType": "const char *", - "canonical": "const char *" + "name": "values", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeography_in", + "name": "geo_to_set", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tgeometry_from_mfjson", + "name": "geoset_end_value", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tgeometry_in", + "name": "geoset_start_value", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tgeompoint_from_mfjson", + "name": "geoset_value_n", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int **", + "canonical": "int **" } ] }, { - "name": "tgeompoint_in", + "name": "geoset_values", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int **", + "canonical": "int **" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tspatial_as_ewkt", + "name": "contained_geo_set", "file": "meos_geo.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tspatial_as_text", + "name": "contains_set_geo", "file": "meos_geo.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tspatial_out", + "name": "geo_union_transfn", "file": "meos_geo.h", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state", + "cType": "Set *", + "canonical": "Set *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tgeo_from_base_temp", + "name": "intersection_geo_set", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { @@ -29052,38 +30121,38 @@ "canonical": "const int *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tgeoinst_make", + "name": "intersection_set_geo", "file": "meos_geo.h", "returnType": { - "c": "TInstant *", - "canonical": "TInstant *" + "c": "Set *", + "canonical": "Set *" }, "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, { "name": "gs", "cType": "const int *", "canonical": "const int *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" } ] }, { - "name": "tgeoseq_from_base_tstzset", + "name": "minus_geo_set", "file": "meos_geo.h", "returnType": { - "c": "TSequence *", - "canonical": "TSequence *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { @@ -29099,36 +30168,31 @@ ] }, { - "name": "tgeoseq_from_base_tstzspan", + "name": "minus_set_geo", "file": "meos_geo.h", "returnType": { - "c": "TSequence *", - "canonical": "TSequence *" + "c": "Set *", + "canonical": "Set *" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "s", - "cType": "const Span *", - "canonical": "const Span *" + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tgeoseqset_from_base_tstzspanset", + "name": "union_geo_set", "file": "meos_geo.h", "returnType": { - "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { @@ -29137,70 +30201,60 @@ "canonical": "const int *" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const SpanSet *" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tpoint_from_base_temp", + "name": "union_set_geo", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "Set *" }, "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, { "name": "gs", "cType": "const int *", "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" } ] }, { - "name": "tpointinst_make", + "name": "spatialset_set_srid", "file": "meos_geo.h", "returnType": { - "c": "TInstant *", - "canonical": "TInstant *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "tpointseq_from_base_tstzset", + "name": "spatialset_srid", "file": "meos_geo.h", "returnType": { - "c": "TSequence *", - "canonical": "TSequence *" + "c": "int32_t", + "canonical": "int" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "s", "cType": "const Set *", @@ -29209,622 +30263,547 @@ ] }, { - "name": "tpointseq_from_base_tstzspan", + "name": "spatialset_transform", "file": "meos_geo.h", "returnType": { - "c": "TSequence *", - "canonical": "TSequence *" + "c": "Set *", + "canonical": "Set *" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "s", - "cType": "const Span *", - "canonical": "const Span *" + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "tpointseq_make_coords", + "name": "spatialset_transform_pipeline", "file": "meos_geo.h", "returnType": { - "c": "TSequence *", - "canonical": "TSequence *" + "c": "Set *", + "canonical": "Set *" }, "params": [ { - "name": "xcoords", - "cType": "const double *", - "canonical": "const double *" - }, - { - "name": "ycoords", - "cType": "const double *", - "canonical": "const double *" - }, - { - "name": "zcoords", - "cType": "const double *", - "canonical": "const double *" - }, - { - "name": "times", - "cType": "const TimestampTz *", - "canonical": "const long *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" }, { "name": "srid", - "cType": "int32", + "cType": "int32_t", "canonical": "int" }, { - "name": "geodetic", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "lower_inc", + "name": "is_forward", "cType": "bool", "canonical": "bool" - }, + } + ] + }, + { + "name": "stbox_as_hexwkb", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" }, { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, { - "name": "tpointseqset_from_base_tstzspanset", + "name": "stbox_as_wkb", "file": "meos_geo.h", "returnType": { - "c": "TSequenceSet *", - "canonical": "TSequenceSet *" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const SpanSet *" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" } ] }, { - "name": "box3d_to_stbox", + "name": "stbox_from_hexwkb", "file": "meos_geo.h", "returnType": { "c": "STBox *", - "canonical": "STBox *" + "canonical": "struct STBox *" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "gbox_to_stbox", + "name": "stbox_from_wkb", "file": "meos_geo.h", "returnType": { "c": "STBox *", - "canonical": "STBox *" + "canonical": "struct STBox *" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" } ] }, { - "name": "geomeas_to_tpoint", + "name": "stbox_in", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "tgeogpoint_to_tgeography", + "name": "stbox_out", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tgeography_to_tgeogpoint", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeography_to_tgeometry", + "name": "geo_timestamptz_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tgeometry_to_tgeography", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "t", + "cType": "TimestampTz", + "canonical": "long" } ] }, { - "name": "tgeometry_to_tgeompoint", + "name": "geo_tstzspan_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tgeompoint_to_tgeometry", + "name": "stbox_copy", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_as_mvtgeom", + "name": "stbox_make", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "hasx", + "cType": "bool", + "canonical": "bool" }, { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "hasz", + "cType": "bool", + "canonical": "bool" }, { - "name": "extent", - "cType": "int32_t", - "canonical": "int" + "name": "geodetic", + "cType": "bool", + "canonical": "bool" }, { - "name": "buffer", - "cType": "int32_t", + "name": "srid", + "cType": "int32", "canonical": "int" }, { - "name": "clip_geom", - "cType": "bool", - "canonical": "bool" + "name": "xmin", + "cType": "double", + "canonical": "double" }, { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" + "name": "xmax", + "cType": "double", + "canonical": "double" }, { - "name": "timesarr", - "cType": "int64 **", - "canonical": "long **" + "name": "ymin", + "cType": "double", + "canonical": "double" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tpoint_tfloat_to_geomeas", + "name": "geo_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "tpoint", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "measure", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "segmentize", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "result", - "cType": "int **", - "canonical": "int **" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tspatial_to_stbox", + "name": "spatialset_to_stbox", "file": "meos_geo.h", "returnType": { "c": "STBox *", - "canonical": "STBox *" + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "bearing_point_point", + "name": "stbox_to_box3d", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "bearing_tpoint_point", + "name": "stbox_to_gbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "invert", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "bearing_tpoint_tpoint", + "name": "stbox_to_geo", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_centroid", + "name": "stbox_to_tstzspan", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_convex_hull", + "name": "timestamptz_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "t", + "cType": "TimestampTz", + "canonical": "long" } ] }, { - "name": "tgeo_end_value", + "name": "tstzset_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "tgeo_start_value", + "name": "tstzspan_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tgeo_traversed_area", + "name": "tstzspanset_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "unary_union", - "cType": "bool", - "canonical": "bool" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "tgeo_value_at_timestamptz", + "name": "stbox_area", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "strict", + "name": "spheroid", "cType": "bool", "canonical": "bool" - }, - { - "name": "value", - "cType": "int **", - "canonical": "int **" } ] }, { - "name": "tgeo_value_n", + "name": "stbox_hash", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "uint32", + "canonical": "unsigned int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" - }, - { - "name": "result", - "cType": "int **", - "canonical": "int **" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_values", + "name": "stbox_hash_extended", "file": "meos_geo.h", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "uint64", + "canonical": "unsigned long" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" } ] }, { - "name": "tpoint_angular_difference", + "name": "stbox_hast", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_azimuth", + "name": "stbox_hasx", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_cumulative_length", + "name": "stbox_hasz", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_direction", + "name": "stbox_isgeodetic", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -29832,64 +30811,74 @@ }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_get_x", + "name": "stbox_perimeter", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tpoint_get_y", + "name": "stbox_tmax", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" } ] }, { - "name": "tpoint_get_z", + "name": "stbox_tmax_inc", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" } ] }, { - "name": "tpoint_is_simple", + "name": "stbox_tmin", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -29897,998 +30886,889 @@ }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" } ] }, { - "name": "tpoint_length", + "name": "stbox_tmin_inc", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" } ] }, { - "name": "tpoint_speed", + "name": "stbox_volume", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } - ], - "ownership": "caller", - "nullable": true, - "doc": "Calcule la vitesse instantan\u00e9e d'un point temporel.", - "meos": { - "temporalDim": "sequence", - "spatialDim": null, - "interpolation": true, - "subtype": "TPoint" - } + ] }, { - "name": "tpoint_trajectory", + "name": "stbox_xmax", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "unary_union", - "cType": "bool", - "canonical": "bool" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tpoint_twcentroid", + "name": "stbox_xmin", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tgeo_affine", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "a", - "cType": "const int *", - "canonical": "const int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tgeo_scale", + "name": "stbox_ymax", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "scale", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tpoint_make_simple", + "name": "stbox_ymin", "file": "meos_geo.h", "returnType": { - "c": "Temporal **", - "canonical": "Temporal **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tspatial_srid", + "name": "stbox_zmax", "file": "meos_geo.h", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tspatial_set_srid", + "name": "stbox_zmin", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tspatial_transform", + "name": "stbox_expand_space", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tspatial_transform_pipeline", + "name": "stbox_expand_time", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "pipelinestr", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" + "name": "interv", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "tgeo_at_geom", + "name": "stbox_get_space", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_at_stbox", + "name": "stbox_quad_split", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, { "name": "box", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tgeo_at_value", + "name": "stbox_round", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeo_minus_geom", + "name": "stbox_shift_scale_time", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", + "name": "shift", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "duration", "cType": "const int *", "canonical": "const int *" } ] }, { - "name": "tgeo_minus_stbox", + "name": "stboxarr_round", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "boxarr", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeo_minus_value", + "name": "stbox_set_srid", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "tpoint_at_geom", + "name": "stbox_srid", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int32_t", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "zspan", - "cType": "const Span *", - "canonical": "const Span *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_at_value", + "name": "stbox_transform", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "tpoint_minus_geom", + "name": "stbox_transform_pipeline", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "zspan", - "cType": "const Span *", - "canonical": "const Span *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tpoint_minus_value", + "name": "adjacent_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "always_eq_geo_tgeo", + "name": "contained_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "always_eq_tgeo_geo", + "name": "contains_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "always_eq_tgeo_tgeo", + "name": "overlaps_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "always_ne_geo_tgeo", + "name": "same_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "always_ne_tgeo_geo", + "name": "above_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "always_ne_tgeo_tgeo", + "name": "after_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ever_eq_geo_tgeo", + "name": "back_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ever_eq_tgeo_geo", + "name": "before_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ever_eq_tgeo_tgeo", + "name": "below_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ever_ne_geo_tgeo", + "name": "front_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ever_ne_tgeo_geo", + "name": "left_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ever_ne_tgeo_tgeo", + "name": "overabove_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "teq_geo_tgeo", + "name": "overafter_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "teq_tgeo_geo", + "name": "overback_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tne_geo_tgeo", + "name": "overbefore_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tne_tgeo_geo", + "name": "overbelow_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_stboxes", + "name": "overfront_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_space_boxes", + "name": "overleft_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_space_time_boxes", + "name": "overright_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_split_each_n_stboxes", + "name": "right_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "STBox *", - "canonical": "STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "elem_count", - "cType": "int", - "canonical": "int" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_split_n_stboxes", + "name": "union_stbox_stbox", "file": "meos_geo.h", "returnType": { "c": "STBox *", - "canonical": "STBox *" + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "box_count", - "cType": "int", - "canonical": "int" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "strict", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "adjacent_stbox_tspatial", + "name": "intersection_stbox_stbox", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box", + "name": "box1", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "adjacent_tspatial_stbox", + "name": "stbox_cmp", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "box", + "name": "box2", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" } ] }, { - "name": "adjacent_tspatial_tspatial", + "name": "stbox_eq", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -30896,19 +31776,19 @@ }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contained_stbox_tspatial", + "name": "stbox_ge", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -30916,19 +31796,19 @@ }, "params": [ { - "name": "box", + "name": "box1", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contained_tspatial_stbox", + "name": "stbox_gt", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -30936,19 +31816,19 @@ }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "box", + "name": "box2", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" } ] }, { - "name": "contained_tspatial_tspatial", + "name": "stbox_le", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -30956,19 +31836,19 @@ }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contains_stbox_tspatial", + "name": "stbox_lt", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -30976,19 +31856,19 @@ }, "params": [ { - "name": "box", + "name": "box1", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contains_tspatial_stbox", + "name": "stbox_ne", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -30996,183 +31876,143 @@ }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "box", + "name": "box2", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" } ] }, { - "name": "contains_tspatial_tspatial", + "name": "tgeogpoint_from_mfjson", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "overlaps_stbox_tspatial", + "name": "tgeogpoint_in", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "overlaps_tspatial_stbox", + "name": "tgeography_from_mfjson", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "overlaps_tspatial_tspatial", + "name": "tgeography_in", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "same_stbox_tspatial", + "name": "tgeometry_from_mfjson", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "same_tspatial_stbox", + "name": "tgeometry_in", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "same_tspatial_tspatial", + "name": "tgeompoint_from_mfjson", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "above_stbox_tspatial", + "name": "tgeompoint_in", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "above_tspatial_stbox", + "name": "tspatial_as_ewkt", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ { @@ -31181,164 +32021,174 @@ "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "above_tspatial_tspatial", + "name": "tspatial_as_text", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "after_stbox_tspatial", + "name": "tspatial_out", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "after_tspatial_stbox", + "name": "tgeo_from_base_temp", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" } ] }, { - "name": "after_tspatial_tspatial", + "name": "tgeoinst_make", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "t", + "cType": "TimestampTz", + "canonical": "long" } ] }, { - "name": "back_stbox_tspatial", + "name": "tgeoseq_from_base_tstzset", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "back_tspatial_stbox", + "name": "tgeoseq_from_base_tstzspan", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "back_tspatial_tspatial", + "name": "tgeoseqset_from_base_tstzspanset", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "before_stbox_tspatial", + "name": "tpoint_from_base_temp", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { "name": "temp", @@ -31348,178 +32198,213 @@ ] }, { - "name": "before_tspatial_stbox", + "name": "tpointinst_make", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "t", + "cType": "TimestampTz", + "canonical": "long" } ] }, { - "name": "before_tspatial_tspatial", + "name": "tpointseq_from_base_tstzset", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" } ] }, { - "name": "below_stbox_tspatial", + "name": "tpointseq_from_base_tstzspan", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "below_tspatial_stbox", + "name": "tpointseq_make_coords", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "xcoords", + "cType": "const double *", + "canonical": "const double *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "ycoords", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "zcoords", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "times", + "cType": "const TimestampTz *", + "canonical": "const long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "srid", + "cType": "int32", + "canonical": "int" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "below_tspatial_tspatial", + "name": "tpointseqset_from_base_tstzspanset", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "front_stbox_tspatial", + "name": "box3d_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "front_tspatial_stbox", + "name": "gbox_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, { "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "front_tspatial_tspatial", + "name": "geomeas_to_tpoint", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "left_stbox_tspatial", + "name": "tgeogpoint_to_tgeography", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", @@ -31528,58 +32413,43 @@ ] }, { - "name": "left_tspatial_stbox", + "name": "tgeography_to_tgeogpoint", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" } ] }, { - "name": "left_tspatial_tspatial", + "name": "tgeography_to_tgeometry", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "overabove_stbox_tspatial", + "name": "tgeometry_to_tgeography", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", @@ -31588,67 +32458,87 @@ ] }, { - "name": "overabove_tspatial_stbox", + "name": "tgeometry_to_tgeompoint", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" } ] }, { - "name": "overabove_tspatial_tspatial", + "name": "tgeompoint_to_tgeometry", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "overafter_stbox_tspatial", + "name": "tpoint_as_mvtgeom", "file": "meos_geo.h", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" + }, + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "extent", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "buffer", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "clip_geom", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "gsarr", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "timesarr", + "cType": "int64 **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "overafter_tspatial_stbox", + "name": "tpoint_tfloat_to_geomeas", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -31656,39 +32546,44 @@ }, "params": [ { - "name": "temp", + "name": "tpoint", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "measure", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "segmentize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "int **", + "canonical": "int **" } ] }, { - "name": "overafter_tspatial_tspatial", + "name": "tspatial_to_stbox", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "overback_stbox_tspatial", + "name": "bearing_point_point", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -31696,23 +32591,28 @@ }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "overback_tspatial_stbox", + "name": "bearing_tpoint_point", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -31721,18 +32621,23 @@ "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "overback_tspatial_tspatial", + "name": "bearing_tpoint_tpoint", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -31748,18 +32653,13 @@ ] }, { - "name": "overbefore_stbox_tspatial", + "name": "tgeo_centroid", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", @@ -31768,58 +32668,43 @@ ] }, { - "name": "overbefore_tspatial_stbox", + "name": "tgeo_convex_hull", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" } ] }, { - "name": "overbefore_tspatial_tspatial", + "name": "tgeo_end_value", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "overbelow_stbox_tspatial", + "name": "tgeo_start_value", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", @@ -31828,11 +32713,11 @@ ] }, { - "name": "overbelow_tspatial_stbox", + "name": "tgeo_traversed_area", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -31841,14 +32726,14 @@ "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "unary_union", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "overbelow_tspatial_tspatial", + "name": "tgeo_value_at_timestamptz", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -31856,43 +32741,58 @@ }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "int **", + "canonical": "int **" } ] }, { - "name": "overfront_stbox_tspatial", + "name": "tgeo_value_n", "file": "meos_geo.h", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int **", + "canonical": "int **" } ] }, { - "name": "overfront_tspatial_stbox", + "name": "tgeo_values", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int **", + "canonical": "int **" }, "params": [ { @@ -31901,45 +32801,50 @@ "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - } + "name": "count", + "cType": "int *", + "canonical": "int *" + } ] }, { - "name": "overfront_tspatial_tspatial", + "name": "tpoint_angular_difference", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, + } + ] + }, + { + "name": "tpoint_azimuth", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "overleft_stbox_tspatial", + "name": "tpoint_cumulative_length", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", @@ -31948,7 +32853,7 @@ ] }, { - "name": "overleft_tspatial_stbox", + "name": "tpoint_direction", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -31961,45 +32866,35 @@ "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "overleft_tspatial_tspatial", + "name": "tpoint_get_x", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "overright_stbox_tspatial", + "name": "tpoint_get_y", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", @@ -32008,27 +32903,22 @@ ] }, { - "name": "overright_tspatial_stbox", + "name": "tpoint_get_z", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" } ] }, { - "name": "overright_tspatial_tspatial", + "name": "tpoint_is_simple", "file": "meos_geo.h", "returnType": { "c": "bool", @@ -32036,43 +32926,57 @@ }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, + } + ] + }, + { + "name": "tpoint_length", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "right_stbox_tspatial", + "name": "tpoint_speed", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" - }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "ownership": "caller", + "nullable": true, + "doc": "Computes the instantaneous speed of a temporal point.", + "meos": { + "temporalDim": "sequence", + "spatialDim": null, + "interpolation": true, + "subtype": "TPoint" + } }, { - "name": "right_tspatial_stbox", + "name": "tpoint_trajectory", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { @@ -32081,58 +32985,53 @@ "canonical": "const Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "unary_union", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "right_tspatial_tspatial", + "name": "tpoint_twcentroid", "file": "meos_geo.h", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "acontains_geo_tgeo", + "name": "tgeo_affine", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" + }, + { + "name": "a", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "acontains_tgeo_geo", + "name": "tgeo_scale", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32141,38 +33040,58 @@ "canonical": "const Temporal *" }, { - "name": "gs", + "name": "scale", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "sorigin", "cType": "const int *", "canonical": "const int *" } ] }, { - "name": "acontains_tgeo_tgeo", + "name": "tpoint_make_simple", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal **", + "canonical": "Temporal **" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatial_srid", + "file": "meos_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "adisjoint_tgeo_geo", + "name": "tspatial_set_srid", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32181,38 +33100,68 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "adisjoint_tgeo_tgeo", + "name": "tspatial_transform", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatial_transform_pipeline", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "adwithin_tgeo_geo", + "name": "tgeo_at_geom", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32224,45 +33173,60 @@ "name": "gs", "cType": "const int *", "canonical": "const int *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" } ] }, { - "name": "adwithin_tgeo_tgeo", + "name": "tgeo_at_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_at_value", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "aintersects_tgeo_geo", + "name": "tgeo_minus_geom", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32278,31 +33242,36 @@ ] }, { - "name": "aintersects_tgeo_tgeo", + "name": "tgeo_minus_stbox", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "atouches_tgeo_geo", + "name": "tgeo_minus_value", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32312,37 +33281,37 @@ }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "atouches_tgeo_tgeo", + "name": "tpoint_at_elevation", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "atouches_tpoint_geo", + "name": "tpoint_at_geom", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32358,31 +33327,51 @@ ] }, { - "name": "econtains_geo_tgeo", + "name": "tpoint_at_value", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" }, + { + "name": "gs", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpoint_minus_elevation", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "econtains_tgeo_geo", + "name": "tpoint_minus_geom", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32398,27 +33387,27 @@ ] }, { - "name": "econtains_tgeo_tgeo", + "name": "tpoint_minus_value", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "ecovers_geo_tgeo", + "name": "always_eq_geo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32438,7 +33427,7 @@ ] }, { - "name": "ecovers_tgeo_geo", + "name": "always_eq_tgeo_geo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32458,7 +33447,7 @@ ] }, { - "name": "ecovers_tgeo_tgeo", + "name": "always_eq_tgeo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32478,7 +33467,27 @@ ] }, { - "name": "edisjoint_tgeo_geo", + "name": "always_ne_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tgeo_geo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32498,7 +33507,7 @@ ] }, { - "name": "edisjoint_tgeo_tgeo", + "name": "always_ne_tgeo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32518,32 +33527,27 @@ ] }, { - "name": "edwithin_tgeo_geo", + "name": "ever_eq_geo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, { "name": "gs", "cType": "const int *", "canonical": "const int *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "edwithin_tgeo_tgeo", + "name": "ever_eq_tgeo_geo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32551,24 +33555,19 @@ }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "eintersects_tgeo_geo", + "name": "ever_eq_tgeo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32576,19 +33575,19 @@ }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "eintersects_tgeo_tgeo", + "name": "ever_ne_geo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32596,19 +33595,19 @@ }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "etouches_tgeo_geo", + "name": "ever_ne_tgeo_geo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32628,7 +33627,7 @@ ] }, { - "name": "etouches_tgeo_tgeo", + "name": "ever_ne_tgeo_tgeo", "file": "meos_geo.h", "returnType": { "c": "int", @@ -32648,11 +33647,31 @@ ] }, { - "name": "etouches_tpoint_geo", + "name": "teq_geo_tgeo", "file": "meos_geo.h", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" }, "params": [ { @@ -32668,7 +33687,7 @@ ] }, { - "name": "tcontains_geo_tgeo", + "name": "tne_geo_tgeo", "file": "meos_geo.h", "returnType": { "c": "Temporal *", @@ -32684,21 +33703,11 @@ "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tcontains_tgeo_geo", + "name": "tne_tgeo_geo", "file": "meos_geo.h", "returnType": { "c": "Temporal *", @@ -32714,85 +33723,85 @@ "name": "gs", "cType": "const int *", "canonical": "const int *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tcontains_tgeo_tgeo", + "name": "tgeo_stboxes", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tcovers_geo_tgeo", + "name": "tgeo_space_boxes", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "restr", + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "bitmatrix", "cType": "bool", "canonical": "bool" }, { - "name": "atvalue", + "name": "border_inc", "cType": "bool", "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tcovers_tgeo_geo", + "name": "tgeo_space_time_boxes", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { @@ -32801,88 +33810,128 @@ "canonical": "const Temporal *" }, { - "name": "gs", + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", "cType": "const int *", "canonical": "const int *" }, { - "name": "restr", + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "bitmatrix", "cType": "bool", "canonical": "bool" }, { - "name": "atvalue", + "name": "border_inc", "cType": "bool", "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tcovers_tgeo_tgeo", + "name": "tgeo_split_each_n_stboxes", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_split_n_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "restr", - "cType": "bool", - "canonical": "bool" + "name": "box_count", + "cType": "int", + "canonical": "int" }, { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tdisjoint_geo_tgeo", + "name": "adjacent_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tdisjoint_tgeo_geo", + "name": "adjacent_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -32891,28 +33940,18 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tdisjoint_tgeo_tgeo", + "name": "adjacent_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -32924,60 +33963,35 @@ "name": "temp2", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tdwithin_geo_tgeo", + "name": "contained_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tdwithin_tgeo_geo", + "name": "contained_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -32986,33 +34000,18 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tdwithin_tgeo_tgeo", + "name": "contained_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33024,60 +34023,35 @@ "name": "temp2", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tintersects_geo_tgeo", + "name": "contains_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tintersects_tgeo_geo", + "name": "contains_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33086,28 +34060,18 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tintersects_tgeo_tgeo", + "name": "contains_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33119,55 +34083,35 @@ "name": "temp2", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "ttouches_geo_tgeo", + "name": "overlaps_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "ttouches_tgeo_geo", + "name": "overlaps_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33176,28 +34120,18 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "restr", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "ttouches_tgeo_tgeo", + "name": "overlaps_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33209,25 +34143,35 @@ "name": "temp2", "cType": "const Temporal *", "canonical": "const Temporal *" - }, + } + ] + }, + { + "name": "same_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ { - "name": "restr", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "atvalue", - "cType": "bool", - "canonical": "bool" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "tdistance_tgeo_geo", + "name": "same_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33236,18 +34180,18 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tdistance_tgeo_tgeo", + "name": "same_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33263,151 +34207,151 @@ ] }, { - "name": "nad_stbox_geo", + "name": "above_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "box", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "nad_stbox_stbox", + "name": "above_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" }, { - "name": "box2", + "name": "box", "cType": "const STBox *", - "canonical": "const STBox *" + "canonical": "const struct STBox *" } ] }, { - "name": "nad_tgeo_geo", + "name": "above_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "nad_tgeo_stbox", + "name": "after_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const STBox *" } ] }, { - "name": "nad_tgeo_tgeo", + "name": "after_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "nai_tgeo_geo", + "name": "after_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "TInstant *", - "canonical": "TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "nai_tgeo_tgeo", + "name": "back_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "TInstant *", - "canonical": "TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", "canonical": "const Temporal *" } ] }, { - "name": "shortestline_tgeo_geo", + "name": "back_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33416,18 +34360,18 @@ "canonical": "const Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "shortestline_tgeo_tgeo", + "name": "back_tspatial_tspatial", "file": "meos_geo.h", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -33443,948 +34387,25651 @@ ] }, { - "name": "tpoint_tcentroid_finalfn", + "name": "before_stbox_tspatial", "file": "meos_geo.h", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "state", - "cType": "SkipList *", - "canonical": "struct SkipList *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" } ] }, { - "name": "tpoint_tcentroid_transfn", + "name": "before_tspatial_stbox", "file": "meos_geo.h", "returnType": { - "c": "SkipList *", - "canonical": "struct SkipList *" + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "before_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "below_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "below_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "below_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "front_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "front_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "front_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "left_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overabove_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overabove_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overabove_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overafter_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overback_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overback_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overback_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overbefore_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbelow_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbelow_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overbelow_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "state", - "cType": "SkipList *", - "canonical": "struct SkipList *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overfront_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overfront_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overfront_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overleft_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "overright_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "right_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acontains_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acontains_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "acontains_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adisjoint_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "adisjoint_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adwithin_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adwithin_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "aintersects_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "aintersects_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "atouches_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "atouches_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "atouches_tpoint_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "econtains_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "econtains_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "econtains_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ecovers_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ecovers_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ecovers_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "edisjoint_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "edisjoint_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "edwithin_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "edwithin_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "eintersects_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "eintersects_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "etouches_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "etouches_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "etouches_tpoint_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcontains_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcontains_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcontains_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcovers_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcovers_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcovers_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdisjoint_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdisjoint_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdisjoint_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdwithin_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdwithin_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdwithin_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tintersects_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tintersects_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tintersects_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttouches_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttouches_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ttouches_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdistance_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdistance_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_stbox_geo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nad_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nad_tgeo_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nai_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "shortestline_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeoarr_tgeoarr_mindist", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const Temporal **" + }, + { + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "mindistance_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "threshold", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tpoint_tcentroid_finalfn", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "tpoint_tcentroid_transfn", + "file": "meos_geo.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + } + ] + }, + { + "name": "tspatial_extent_transfn", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "stbox_get_space_tile", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "point", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "stbox_get_space_time_tile", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "point", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "stbox_get_time_tile", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "stbox_space_tiles", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "stbox_space_time_tiles", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "stbox_time_tiles", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_space_split", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "space_bins", + "cType": "int ***", + "canonical": "int ***" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_space_time_split", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "sorigin", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "space_bins", + "cType": "int ***", + "canonical": "int ***" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_cluster_kmeans", + "file": "meos_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "geoms", + "cType": "const int **", + "canonical": "const int **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "k", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "geo_cluster_dbscan", + "file": "meos_geo.h", + "returnType": { + "c": "uint32_t *", + "canonical": "unsigned int *" + }, + "params": [ + { + "name": "geoms", + "cType": "const int **", + "canonical": "const int **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "minpoints", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_cluster_intersecting", + "file": "meos_geo.h", + "returnType": { + "c": "int **", + "canonical": "int **" + }, + "params": [ + { + "name": "geoms", + "cType": "const int **", + "canonical": "const int **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_cluster_within", + "file": "meos_geo.h", + "returnType": { + "c": "int **", + "canonical": "int **" + }, + "params": [ + { + "name": "geoms", + "cType": "const int **", + "canonical": "const int **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "acovers_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acovers_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "cbuffer_as_ewkt", + "file": "meos_cbuffer.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_as_hexwkb", + "file": "meos_cbuffer.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "cbuffer_as_text", + "file": "meos_cbuffer.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_as_wkb", + "file": "meos_cbuffer.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "cbuffer_from_hexwkb", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "cbuffer_from_wkb", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "cbuffer_in", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "cbuffer_out", + "file": "meos_cbuffer.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_copy", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_make", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "point", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "radius", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "cbuffer_to_geom", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_to_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbufferarr_to_geom", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "cbarr", + "cType": "const Cbuffer **", + "canonical": "const struct Cbuffer **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geom_to_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "cbuffer_hash", + "file": "meos_cbuffer.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_hash_extended", + "file": "meos_cbuffer.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "cbuffer_point", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_radius", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_round", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbufferarr_round", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer **", + "canonical": "struct Cbuffer **" + }, + "params": [ + { + "name": "cbarr", + "cType": "const Cbuffer **", + "canonical": "const struct Cbuffer **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_set_srid", + "file": "meos_cbuffer.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "cb", + "cType": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_srid", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_transform", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_transform_pipeline", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "contains_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "covers_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "disjoint_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "dwithin_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "intersects_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "touches_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_tstzspan_to_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "cbuffer_timestamptz_to_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "distance_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "distance_cbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "distance_cbuffer_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_cbuffer_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "cbuffer_cmp", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_eq", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_ge", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_gt", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_le", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_lt", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_ne", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_nsame", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_same", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbufferset_in", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "cbufferset_out", + "file": "meos_cbuffer.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbufferset_make", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Cbuffer **", + "canonical": "struct Cbuffer **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "cbuffer_to_set", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbufferset_end_value", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "cbufferset_start_value", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "cbufferset_value_n", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Cbuffer **", + "canonical": "struct Cbuffer **" + } + ] + }, + { + "name": "cbufferset_values", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Cbuffer **", + "canonical": "struct Cbuffer **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "cbuffer_union_transfn", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "contained_cbuffer_set", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contains_set_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "cb", + "cType": "Cbuffer *", + "canonical": "struct Cbuffer *" + } + ] + }, + { + "name": "intersection_cbuffer_set", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "minus_cbuffer_set", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_set_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "union_cbuffer_set", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_set_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tcbuffer_in", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tcbuffer_from_mfjson", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tcbuffer_make", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tpoint", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "tfloat", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcbuffer_points", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcbuffer_radius", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcbuffer_trav_area", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "merge_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcbuffer_to_tfloat", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcbuffer_to_tgeompoint", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeometry_to_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcbuffer_expand", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tcbuffer_at_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tcbuffer_at_geom", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcbuffer_at_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcbuffer_minus_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tcbuffer_minus_geom", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcbuffer_minus_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tdistance_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdistance_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "nad_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nad_tcbuffer_stbox", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "nai_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nai_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "shortestline_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "shortestline_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "always_eq_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "always_ne_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "ever_eq_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "ever_ne_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tne_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "acontains_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acontains_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acontains_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "acontains_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "acovers_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acovers_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acovers_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "acovers_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "adisjoint_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "adisjoint_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "adisjoint_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adwithin_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adwithin_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adwithin_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "aintersects_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "aintersects_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "aintersects_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "atouches_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "atouches_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "atouches_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "econtains_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "econtains_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "econtains_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ecovers_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ecovers_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "ecovers_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ecovers_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "edisjoint_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "edisjoint_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "edwithin_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "edwithin_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "edwithin_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "eintersects_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "eintersects_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "eintersects_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "etouches_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "etouches_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "etouches_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcontains_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcontains_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcontains_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcontains_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tcontains_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcovers_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcovers_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tcovers_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tcovers_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tcovers_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdwithin_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdwithin_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdwithin_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdwithin_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdisjoint_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdisjoint_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdisjoint_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdisjoint_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tdisjoint_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tintersects_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tintersects_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tintersects_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tintersects_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tintersects_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttouches_geo_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttouches_tcbuffer_geo", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ttouches_cbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttouches_tcbuffer_cbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "ttouches_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acovers_tcbuffer_tcbuffer", + "file": "meos_cbuffer.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "h3index_in", + "file": "meos_h3.h", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "h3index_out", + "file": "meos_h3.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "th3index_in", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3indexinst_in", + "file": "meos_h3.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3indexseq_in", + "file": "meos_h3.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "th3indexseqset_in", + "file": "meos_h3.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3index_make", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "value", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "th3indexinst_make", + "file": "meos_h3.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "th3indexseq_make", + "file": "meos_h3.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "values", + "cType": "const H3Index *", + "canonical": "const unsigned long *" + }, + { + "name": "times", + "cType": "const TimestampTz *", + "canonical": "const long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "th3indexseqset_make", + "file": "meos_h3.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "const TSequence **", + "canonical": "const struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_start_value", + "file": "meos_h3.h", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_end_value", + "file": "meos_h3.h", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_value_n", + "file": "meos_h3.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "H3Index *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "th3index_values", + "file": "meos_h3.h", + "returnType": { + "c": "H3Index *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "th3index_value_at_timestamptz", + "file": "meos_h3.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "H3Index *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tbigint_to_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_to_tbigint", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_h3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_th3index_h3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_ne_h3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_th3index_h3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_eq_h3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_th3index_h3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_ne_h3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_th3index_h3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_eq_th3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_th3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_th3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_th3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_h3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_th3index_h3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "teq_th3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_h3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_th3index_h3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tne_th3index_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_get_resolution", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_get_base_cell_number", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_is_valid_cell", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_is_res_class_iii", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_is_pentagon", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_parent", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "th3index_cell_to_parent_next", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_center_child", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "th3index_cell_to_center_child_next", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_child_pos", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "parent_res", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "th3index_child_pos_to_cell", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "child_pos", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "parent", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "child_res", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "tgeogpoint_to_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "tgeompoint_to_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "th3index_to_tgeogpoint", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_to_tgeompoint", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_boundary", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "geo_to_h3index_set", + "file": "meos_h3.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "ever_eq_h3indexset_th3index", + "file": "meos_h3.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cells", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "th3idx", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_are_neighbor_cells", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dest", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cells_to_directed_edge", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dest", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_is_valid_directed_edge", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_get_directed_edge_origin", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_get_directed_edge_destination", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_directed_edge_to_boundary", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_vertex", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vertex_num", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "th3index_vertex_to_latlng", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_is_valid_vertex", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_grid_distance", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dest", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_local_ij", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "cell", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_local_ij_to_cell", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "coord", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "th3index_cell_area", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3index_edge_length", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeogpoint_great_circle_distance", + "file": "meos_h3.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "a", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "gsl_get_generation_rng", + "file": "meos_internal.h", + "returnType": { + "c": "gsl_rng *", + "canonical": "gsl_rng *" + }, + "params": [] + }, + { + "name": "gsl_get_aggregation_rng", + "file": "meos_internal.h", + "returnType": { + "c": "gsl_rng *", + "canonical": "gsl_rng *" + }, + "params": [] + }, + { + "name": "datum_ceil", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_degrees", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "normalize", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_float_round", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_floor", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "datum_hash_extended", + "file": "meos_internal.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "datum_radians", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "floatspan_round_set", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "set_in", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "set_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_in", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "spantype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spanset_in", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "spantype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spanset_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "set_make", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "span_make", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "lower", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "upper", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_set", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "lower", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "upper", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "spantype", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "spanset_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "spanset_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "value_set_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "value_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "numspan_width", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "numspanset_width", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_end_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_mem_size", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_set_subspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "minidx", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxidx", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "set_set_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "set_start_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_value_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "set_vals", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_values", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "spanset_lower", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "spanset_mem_size", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "spanset_sps", + "file": "meos_internal.h", + "returnType": { + "c": "const Span **", + "canonical": "const struct Span **" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "spanset_upper", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "bigintspan_set_floatspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "bigintspan_set_intspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "datespan_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "floatspan_set_bigintspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "floatspan_set_intspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "intspan_set_bigintspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "intspan_set_floatspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "numset_shift_scale", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "numspan_expand", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "numspan_shift_scale", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "numspanset_shift_scale", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_compact", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_expand", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "spanset_compact", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "tbox_expand_value", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetyp", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "textcat_textset_text_common", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tstzspan_set_datespan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "adjacent_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "adjacent_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "adjacent_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "contained_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "contained_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "contains_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "contains_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "contains_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ovadj_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "left_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "left_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "left_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "left_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "left_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "left_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "lfnadj_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "overleft_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "overleft_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "overleft_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "overleft_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overleft_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "overleft_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "overright_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "overright_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "overright_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "overright_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "overright_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "right_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "right_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "right_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "right_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "right_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "bbox_type", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "bboxtype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "bbox_get_size", + "file": "meos_internal.h", + "returnType": { + "c": "size_t", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "bboxtype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "bbox_max_dims", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "bboxtype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_bbox_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "box2", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_bbox_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "box2", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "bbox_union_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "inter_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "intersection_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "intersection_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "intersection_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "intersection_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "intersection_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "mi_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "minus_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "minus_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "minus_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "minus_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "minus_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "super_union_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "union_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "union_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "union_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "union_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "union_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "distance_set_set", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "distance_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "distance_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "distance_spanset_span", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "distance_spanset_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "distance_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "distance_value_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spanbase_extent_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "value_union_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "number_tstzspan_to_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "number_timestamptz_to_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tbox_set", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "p", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "float_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "int_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "number_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "number_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "numset_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "numspan_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "timestamptz_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tstzset_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tstzspan_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tbox_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tbox_expand", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "inter_tbox_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "result", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tboolinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tboolinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tboolseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tboolseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tboolseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tboolseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "temporal_in", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temparr_out", + "file": "meos_internal.h", + "returnType": { + "c": "char **", + "canonical": "char **" + }, + "params": [ + { + "name": "temparr", + "cType": "Temporal **", + "canonical": "Temporal **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tfloatinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tfloatinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tfloatseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tinstant_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tinstant_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tinstant_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tintinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tintseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tintseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tsequence_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ttextinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "ttextinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "ttextseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "ttextseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "ttextseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "ttextseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "temporal_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_from_base_temp", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tinstant_copy", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_make", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tinstant_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequence_copy", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_from_base_temp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_from_base_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tsequence_from_base_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_copy", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tseqsetarr_to_tseqset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seqsets", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "totalseqs", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_from_base_temp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_from_base_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "tinstant_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "tnumber_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tnumberinst_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tnumberseq_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tnumberseqset_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tsequence_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "tsequenceset_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "temporal_end_inst", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_end_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_inst_n", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_insts_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const struct TInstant **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_max_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_max_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_mem_size", + "file": "meos_internal.h", + "returnType": { + "c": "size_t", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_min_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_min_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_sequences_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TSequence **", + "canonical": "const struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "temporal_start_inst", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_start_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_value_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "temporal_values", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_insts", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const struct TInstant **" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tinstant_time", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_value_p", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_value", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tinstant_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_set_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "tnumberinst_valuespans", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnumberseq_avg_val", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseq_valuespans", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseqset_avg_val", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_valuespans", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequence_duration", + "file": "meos_internal.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_end_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_insts_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const struct TInstant **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_max_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_max_val", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_min_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_min_val", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_segments", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_seqs", + "file": "meos_internal.h", + "returnType": { + "c": "const TSequence **", + "canonical": "const struct TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_start_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_time", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tsequence_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequenceset_duration", + "file": "meos_internal.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_end_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_inst_n", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_insts_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const struct TInstant **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_max_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_max_val", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_min_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const struct TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_min_val", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_num_instants", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_num_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_segments", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequenceset_sequences_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TSequence **", + "canonical": "const struct TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_start_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_time", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_timestamptz_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsequenceset_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequenceset_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tsequenceset_value_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tsequenceset_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_restart", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "temporal_tsequenceset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tinstant_shift_time", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interv", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tinstant_to_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tinstant_to_tsequence_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tinstant_to_tsequenceset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tnumber_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_shift_value", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "tnumberseq_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseqset_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_restart", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_set_interp", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_shift_scale_time", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "shift", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tsequence_subseq", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "from", + "cType": "int", + "canonical": "int" + }, + { + "name": "to", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_to_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_to_tsequenceset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_to_tsequenceset_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + } + ] + }, + { + "name": "tsequence_to_tsequenceset_interp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_restart", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_set_interp", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_shift_scale_time", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "start", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tsequenceset_to_discrete", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_linear", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_step", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tinstant_merge", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_merge_array", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_append_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_append_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_insert", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_merge", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_merge_array", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_append_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_append_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_delete_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequenceset_delete_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tsequenceset_delete_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tsequenceset_delete_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ps", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "tsequenceset_insert", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_merge", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_merge_array", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seqsets", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_expand_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tsequence_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tsequenceset_expand_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequenceset_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tcontseq_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontseq_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontseq_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_bbox_restrict_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "temporal_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_value", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_values", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tinstant_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "period", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_value", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_values", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumber_restrict_span", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumber_restrict_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_restrict_span", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_restrict_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseqset_restrict_span", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseqset_restrict_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "spanset", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequence_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ps", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_values", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tsequence_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequenceset_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "always_eq_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "always_ne_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "always_ge_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ge_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "always_gt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_gt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "always_le_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_le_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "always_lt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_lt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ever_eq_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ever_ne_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ever_ge_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ge_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ever_gt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_gt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ever_le_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_le_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "ever_lt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_lt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "tnumberinst_abs", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnumberseq_abs", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseq_angular_difference", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseq_delta_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseqset_abs", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_angular_difference", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_delta_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "distance_span_span_double", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "nad_tbox_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "nad_tnumber_number", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "nad_tnumber_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "nad_tnumber_tnumber", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdistance_tnumber_number", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "tnumberinst_distance", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnumberseq_integral", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseq_twavg", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnumberseqset_integral", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_twavg", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "temporal_compact", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tsequence_compact", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequenceset_compact", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "temporal_skiplist_make", + "file": "meos_internal.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [] + }, + { + "name": "skiplist_make", + "file": "meos_internal.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "key_size", + "cType": "size_t", + "canonical": "unsigned long" + }, + { + "name": "value_size", + "cType": "size_t", + "canonical": "unsigned long" + }, + { + "name": "comp_fn", + "cType": "int (*)(void *, void *)", + "canonical": "int (*)(void *, void *)" + }, + { + "name": "merge_fn", + "cType": "void *(*)(void *, void *)", + "canonical": "void *(*)(void *, void *)" + } + ] + }, + { + "name": "skiplist_search", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "key", + "cType": "void *", + "canonical": "void *" + }, + { + "name": "value", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "skiplist_free", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "skiplist_splice", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "keys", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "sktype", + "cType": "SkipListType", + "canonical": "SkipListType" + } + ] + }, + { + "name": "temporal_skiplist_splice", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "skiplist_values", + "file": "meos_internal.h", + "returnType": { + "c": "void **", + "canonical": "void **" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "skiplist_keys_values", + "file": "meos_internal.h", + "returnType": { + "c": "void **", + "canonical": "void **" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + } + ] + }, + { + "name": "temporal_app_tinst_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "temporal_app_tseq_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "span_bins", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "spanset_bins", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_value_bins", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_value_time_boxes", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_value_split", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "bins", + "cType": "Datum **", + "canonical": "int ((**)(int *))()" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbox_get_value_time_tile", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "spantype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tnumber_value_time_split", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "duration", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "value_bins", + "cType": "Datum **", + "canonical": "int ((**)(int *))()" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "proj_get_context", + "file": "meos_internal_geo.h", + "returnType": { + "c": "PJ_CONTEXT *", + "canonical": "struct pj_ctx *" + }, + "params": [] + }, + { + "name": "datum_geo_round", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "point_round", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "stbox_set", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32", + "canonical": "int" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "gbox_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "geo_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "geoarr_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "spatial_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "spatialset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "stbox_set_box3d", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box3d", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "stbox_set_gbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "gbox", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tstzset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tstzspan_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tstzspanset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "stbox_expand", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "inter_stbox_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "stbox_geo", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "tgeogpointinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeogpointinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeogpointseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompointinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeompointinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompointseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeographyinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeographyinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeographyseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometryinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeometryinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometryseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tspatial_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tgeoinst_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tspatialseq_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tspatialseqset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tgeo_restrict_elevation", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoinst_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoinst_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseqset_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseqset_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "spatial_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spatial_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "int", + "canonical": "int" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatialinst_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tpointseq_azimuth", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseq_cumulative_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "prevlength", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tpointseq_is_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseq_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseq_linear_trajectory", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeoseq_split_n_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "max_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpointseqset_azimuth", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_cumulative_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_is_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tgeoseqset_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeoseqset_split_n_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "max_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpoint_get_coord", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "coord", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tgeominst_tgeoginst", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeomseq_tgeogseq", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeomseqset_tgeogseqset", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeom_tgeog", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_tpoint", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tspatialinst_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "struct TInstant *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseq_make_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatialseq_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseqset_make_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatialseqset_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseq_twcentroid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseqset_twcentroid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "npoint_as_ewkt", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_as_hexwkb", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "npoint_as_text", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_as_wkb", + "file": "meos_npoint.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "npoint_from_hexwkb", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npoint_from_wkb", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "npoint_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npoint_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegment_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "nsegment_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_make", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + }, + { + "name": "pos", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "nsegment_make", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + }, + { + "name": "pos1", + "cType": "double", + "canonical": "double" + }, + { + "name": "pos2", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geompoint_to_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "geom_to_nsegment", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "npoint_to_geompoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_to_nsegment", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_to_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "npoint_hash", + "file": "meos_npoint.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_hash_extended", + "file": "meos_npoint.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "npoint_position", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_route", + "file": "meos_npoint.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_end_position", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_route", + "file": "meos_npoint.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_start_position", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "route_exists", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "route_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "const int *", + "canonical": "const int *" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "route_length", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "npoint_round", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegment_round", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "get_srid_ways", + "file": "meos_npoint.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [] + }, + { + "name": "npoint_srid", + "file": "meos_npoint.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_srid", + "file": "meos_npoint.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "npoint_timestamptz_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "npoint_tstzspan_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "npoint_cmp", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_eq", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_ge", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_gt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_le", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_lt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_ne", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_same", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_cmp", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_eq", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_ge", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_gt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_le", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_lt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_ne", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "npointset_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npointset_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npointset_make", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Npoint **", + "canonical": "Npoint **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_to_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npointset_end_value", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "npointset_routes", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "npointset_start_value", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "npointset_value_n", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Npoint **", + "canonical": "Npoint **" + } + ] + }, + { + "name": "npointset_values", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint **", + "canonical": "Npoint **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contains_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "intersection_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "minus_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_union_transfn", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "union_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tnpoint_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tnpoint_from_mfjson", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tnpoint_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tnpointinst_make", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tgeompoint_to_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_to_tgeompoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_cumulative_length", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_length", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_positions", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment **", + "canonical": "Nsegment **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnpoint_route", + "file": "meos_npoint.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_routes", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_speed", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_trajectory", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_twcentroid", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_at_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tnpoint_at_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tnpoint_at_npointset", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tnpoint_at_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnpoint_minus_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tnpoint_minus_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tnpoint_minus_npointset", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tnpoint_minus_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tdistance_tnpoint_point", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdistance_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_tnpoint_geo", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nad_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nad_tnpoint_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_tnpoint_geo", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nai_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nai_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_tnpoint_geo", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "shortestline_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "shortestline_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_tcentroid_transfn", + "file": "meos_npoint.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + } + ] + }, + { + "name": "always_eq_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "always_eq_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "always_ne_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "ever_eq_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "ever_ne_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tne_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "pose_as_ewkt", + "file": "meos_pose.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_as_hexwkb", + "file": "meos_pose.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "pose_as_text", + "file": "meos_pose.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_as_wkb", + "file": "meos_pose.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "pose_from_wkb", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "pose_from_hexwkb", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pose_in", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pose_out", + "file": "meos_pose.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_copy", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_make_2d", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "theta", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_make_3d", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + }, + { + "name": "W", + "cType": "double", + "canonical": "double" + }, + { + "name": "X", + "cType": "double", + "canonical": "double" + }, + { + "name": "Y", + "cType": "double", + "canonical": "double" + }, + { + "name": "Z", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_make_point2d", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "theta", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "pose_make_point3d", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "W", + "cType": "double", + "canonical": "double" + }, + { + "name": "X", + "cType": "double", + "canonical": "double" + }, + { + "name": "Y", + "cType": "double", + "canonical": "double" + }, + { + "name": "Z", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "pose_to_point", + "file": "meos_pose.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_to_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_hash", + "file": "meos_pose.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_hash_extended", + "file": "meos_pose.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "pose_orientation", + "file": "meos_pose.h", + "returnType": { + "c": "double *", + "canonical": "double *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_rotation", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_round", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "posearr_round", + "file": "meos_pose.h", + "returnType": { + "c": "Pose **", + "canonical": "struct Pose **" + }, + "params": [ + { + "name": "posearr", + "cType": "const Pose **", + "canonical": "const struct Pose **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_set_srid", + "file": "meos_pose.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "pose", + "cType": "Pose *", + "canonical": "struct Pose *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_srid", + "file": "meos_pose.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_transform", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_transform_pipeline", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "pose_tstzspan_to_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "pose_timestamptz_to_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "distance_pose_geo", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "distance_pose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "distance_pose_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "pose_cmp", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_eq", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_ge", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_gt", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_le", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_lt", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_ne", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_nsame", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_same", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "poseset_in", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "poseset_out", + "file": "meos_pose.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "poseset_make", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const Pose **", + "canonical": "const struct Pose **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_to_set", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "poseset_end_value", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "poseset_start_value", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "poseset_value_n", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Pose **", + "canonical": "struct Pose **" + } + ] + }, + { + "name": "poseset_values", + "file": "meos_pose.h", + "returnType": { + "c": "Pose **", + "canonical": "struct Pose **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_pose_set", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contains_set_pose", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "pose", + "cType": "Pose *", + "canonical": "struct Pose *" + } + ] + }, + { + "name": "intersection_pose_set", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "minus_pose_set", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_set_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_union_transfn", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "union_pose_set", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_set_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tpose_in", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tpose_make", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tpoint", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "tradius", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_to_tpoint", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_end_value", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_points", + "file": "meos_pose.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_rotation", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_start_value", + "file": "meos_pose.h", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_trajectory", + "file": "meos_pose.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpose_value_at_timestamptz", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "Pose **", + "canonical": "struct Pose **" + } + ] + }, + { + "name": "tpose_value_n", + "file": "meos_pose.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Pose **", + "canonical": "struct Pose **" + } + ] + }, + { + "name": "tpose_values", + "file": "meos_pose.h", + "returnType": { + "c": "Pose **", + "canonical": "struct Pose **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpose_at_geom", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tpose_at_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tpose_at_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tpose_minus_geom", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tpose_minus_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tpose_minus_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tdistance_tpose_point", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdistance_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_tpose_geo", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nad_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "nad_tpose_stbox", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_tpose_geo", + "file": "meos_pose.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nai_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "nai_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_tpose_geo", + "file": "meos_pose.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "shortestline_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "shortestline_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_pose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "always_eq_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_pose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "always_ne_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_pose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "ever_eq_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_pose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "ever_ne_tpose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_pose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tne_pose_tpose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_tpose_pose", + "file": "meos_pose.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "trgeo_out", + "file": "meos_rgeo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeoinst_make", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "geom", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "geo_tpose_to_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_to_tpose", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_to_tpoint", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_end_instant", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_end_sequence", + "file": "meos_rgeo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_end_value", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_geom", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_instant_n", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "trgeo_instants", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant **", + "canonical": "struct TInstant **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeo_points", + "file": "meos_rgeo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_rotation", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_segments", + "file": "meos_rgeo.h", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeo_sequence_n", + "file": "meos_rgeo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "trgeo_sequences", + "file": "meos_rgeo.h", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeo_start_instant", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_start_sequence", + "file": "meos_rgeo.h", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_start_value", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_value_n", + "file": "meos_rgeo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int **", + "canonical": "int **" + } + ] + }, + { + "name": "trgeo_traversed_area", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_append_tinstant", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_append_tsequence", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_delete_timestamptz", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_delete_tstzset", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_delete_tstzspan", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_delete_tstzspanset", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_round", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "trgeo_set_interp", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "trgeo_to_tinstant", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "trgeo_after_timestamptz", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_before_timestamptz", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_value", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_values", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_timestamptz", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_tstzset", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_tstzspan", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_tstzspanset", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tdistance_trgeo_tpoint", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdistance_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_stbox_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nad_trgeo_stbox", + "file": "meos_rgeo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_trgeo_tpoint", + "file": "meos_rgeo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "nai_trgeo_tpoint", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "shortestline_trgeo_tpoint", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_geo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_eq_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_geo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_ne_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_geo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_eq_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_geo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_ne_trgeo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_geo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tne_geo_trgeo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_trgeo_geo", + "file": "meos_rgeo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "geo_get_srid", + "file": "postgis_ext_defs.in.h", + "returnType": { + "c": "int32", + "canonical": "int" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "date_in", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "date_out", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "interval_cmp", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "interv1", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "interv2", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "interval_in", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "interval_out", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "time_in", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "TimeADT", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "time_out", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "TimeADT", + "canonical": "long" + } + ] + }, + { + "name": "timestamp_in", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "Timestamp", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "timestamp_out", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "Timestamp", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_in", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "timestamptz_out", + "file": "postgres_ext_defs.in.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + } + ], + "structs": [ + { + "name": "Set", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "settype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "basetype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": 96 + }, + { + "name": "bboxsize", + "cType": "int16", + "offset_bits": 128 + } + ] + }, + { + "name": "Span", + "file": "meos.h", + "fields": [ + { + "name": "spantype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "basetype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "lower_inc", + "cType": "_Bool", + "offset_bits": -1 + }, + { + "name": "upper_inc", + "cType": "_Bool", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char[4]", + "offset_bits": -1 + }, + { + "name": "lower", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "upper", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "SpanSet", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "spansettype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "spantype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "basetype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "span", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "elems", + "cType": "Span[1]", + "offset_bits": -1 + } + ] + }, + { + "name": "TBox", + "file": "meos.h", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "span", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": -1 + } + ] + }, + { + "name": "STBox", + "file": "meos.h", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "xmin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": -1 + } + ] + }, + { + "name": "Temporal", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + } + ] + }, + { + "name": "TInstant", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "t", + "cType": "TimestampTz", + "offset_bits": -1 + }, + { + "name": "value", + "cType": "int", + "offset_bits": -1 + } + ], + "meosType": "TPointInst" + }, + { + "name": "TSequence", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "bboxsize", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char[6]", + "offset_bits": -1 + }, + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + } + ], + "meosType": "TPointSeq" + }, + { + "name": "TSequenceSet", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "totalcount", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": -1 + }, + { + "name": "bboxsize", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + } + ] + }, + { + "name": "Match", + "file": "meos.h", + "fields": [ + { + "name": "i", + "cType": "int", + "offset_bits": 0 + }, + { + "name": "j", + "cType": "int", + "offset_bits": 32 + } + ] + }, + { + "name": "SkipList", + "file": "meos.h", + "fields": [] + }, + { + "name": "MeosArray", + "file": "meos.h", + "fields": [] + }, + { + "name": "RTree", + "file": "meos.h", + "fields": [] + }, + { + "name": "Cbuffer", + "file": "meos_cbuffer.h", + "fields": [] + }, + { + "name": "SkipListElem", + "file": "meos_internal.h", + "fields": [ + { + "name": "key", + "cType": "void *", + "offset_bits": 0 + }, + { + "name": "value", + "cType": "void *", + "offset_bits": 64 + }, + { + "name": "height", + "cType": "int", + "offset_bits": 128 + }, + { + "name": "next", + "cType": "int[32]", + "offset_bits": 160 + } + ] + }, + { + "name": "Npoint", + "file": "meos_npoint.h", + "fields": [ + { + "name": "rid", + "cType": "int64", + "offset_bits": 0 + }, + { + "name": "pos", + "cType": "double", + "offset_bits": 64 + } + ] + }, + { + "name": "Nsegment", + "file": "meos_npoint.h", + "fields": [ + { + "name": "rid", + "cType": "int64", + "offset_bits": 0 + }, + { + "name": "pos1", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "pos2", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "Pose", + "file": "meos_pose.h", + "fields": [] + }, + { + "name": "AFFINE", + "file": "postgis_ext_defs.in.h", + "fields": [ + { + "name": "afac", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "bfac", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "cfac", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "dfac", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "efac", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "ffac", + "cType": "double", + "offset_bits": 320 }, { - "name": "temp", - "cType": "Temporal *", - "canonical": "Temporal *" + "name": "gfac", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "hfac", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "ifac", + "cType": "double", + "offset_bits": 512 + }, + { + "name": "xoff", + "cType": "double", + "offset_bits": 576 + }, + { + "name": "yoff", + "cType": "double", + "offset_bits": 640 + }, + { + "name": "zoff", + "cType": "double", + "offset_bits": 704 } ] }, { - "name": "tspatial_extent_transfn", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "BOX3D", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "box", - "cType": "STBox *", - "canonical": "STBox *" + "name": "xmin", + "cType": "double", + "offset_bits": 0 }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ymin", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 384 } ] }, { - "name": "stbox_get_space_tile", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "GBOX", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "point", - "cType": "const int *", - "canonical": "const int *" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 0 }, { - "name": "xsize", + "name": "xmin", "cType": "double", - "canonical": "double" + "offset_bits": 64 }, { - "name": "ysize", + "name": "xmax", "cType": "double", - "canonical": "double" + "offset_bits": 128 }, { - "name": "zsize", + "name": "ymin", "cType": "double", - "canonical": "double" + "offset_bits": 192 }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "ymax", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "mmin", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "mmax", + "cType": "double", + "offset_bits": 512 } ] }, { - "name": "stbox_get_space_time_tile", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "SPHEROID", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "point", - "cType": "const int *", - "canonical": "const int *" + "name": "a", + "cType": "double", + "offset_bits": 0 }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "b", + "cType": "double", + "offset_bits": 64 }, { - "name": "xsize", + "name": "f", "cType": "double", - "canonical": "double" + "offset_bits": 128 }, { - "name": "ysize", + "name": "e", "cType": "double", - "canonical": "double" + "offset_bits": 192 }, { - "name": "zsize", + "name": "e_sq", "cType": "double", - "canonical": "double" + "offset_bits": 256 }, { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "radius", + "cType": "double", + "offset_bits": 320 }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "name", + "cType": "char[20]", + "offset_bits": 384 + } + ] + }, + { + "name": "POINT2D", + "file": "postgis_ext_defs.in.h", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 }, { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "y", + "cType": "double", + "offset_bits": 64 } ] }, { - "name": "stbox_get_time_tile", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "POINT3DZ", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "x", + "cType": "double", + "offset_bits": 0 }, { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "y", + "cType": "double", + "offset_bits": 64 }, { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "z", + "cType": "double", + "offset_bits": 128 } ] }, { - "name": "stbox_space_tiles", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ - { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const STBox *" - }, + "name": "POINT3D", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "xsize", + "name": "x", "cType": "double", - "canonical": "double" + "offset_bits": 0 }, { - "name": "ysize", + "name": "y", "cType": "double", - "canonical": "double" + "offset_bits": 64 }, { - "name": "zsize", + "name": "z", "cType": "double", - "canonical": "double" - }, + "offset_bits": 128 + } + ] + }, + { + "name": "POINT3DM", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "x", + "cType": "double", + "offset_bits": 0 }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "y", + "cType": "double", + "offset_bits": 64 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "m", + "cType": "double", + "offset_bits": 128 } ] }, { - "name": "stbox_space_time_tiles", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "POINT4D", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "x", + "cType": "double", + "offset_bits": 0 }, { - "name": "xsize", + "name": "y", "cType": "double", - "canonical": "double" + "offset_bits": 64 }, { - "name": "ysize", + "name": "z", "cType": "double", - "canonical": "double" + "offset_bits": 128 }, { - "name": "zsize", + "name": "m", "cType": "double", - "canonical": "double" + "offset_bits": 192 + } + ] + }, + { + "name": "POINTARRAY", + "file": "postgis_ext_defs.in.h", + "fields": [ + { + "name": "npoints", + "cType": "uint32_t", + "offset_bits": 0 }, { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "maxpoints", + "cType": "uint32_t", + "offset_bits": 32 }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 64 }, { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "serialized_pointlist", + "cType": "uint8_t *", + "offset_bits": 128 + } + ] + }, + { + "name": "GSERIALIZED", + "file": "postgis_ext_defs.in.h", + "fields": [ + { + "name": "size", + "cType": "uint32_t", + "offset_bits": 0 }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "srid", + "cType": "uint8_t[3]", + "offset_bits": 32 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "gflags", + "cType": "uint8_t", + "offset_bits": 56 + }, + { + "name": "data", + "cType": "uint8_t[1]", + "offset_bits": 64 } ] }, { - "name": "stbox_time_tiles", - "file": "meos_geo.h", - "returnType": { - "c": "STBox *", - "canonical": "STBox *" - }, - "params": [ + "name": "LWGEOM", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const STBox *" + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 }, { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "data", + "cType": "void *", + "offset_bits": 64 }, { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 } ] }, { - "name": "tgeo_space_split", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal **", - "canonical": "Temporal **" - }, - "params": [ + "name": "LWPOINT", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 }, { - "name": "xsize", - "cType": "double", - "canonical": "double" + "name": "point", + "cType": "POINTARRAY *", + "offset_bits": 64 }, { - "name": "ysize", - "cType": "double", - "canonical": "double" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "zsize", - "cType": "double", - "canonical": "double" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWLINE", + "file": "postgis_ext_defs.in.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 }, { - "name": "space_bins", - "cType": "int ***", - "canonical": "int ***" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 } ] }, { - "name": "tgeo_space_time_split", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal **", - "canonical": "Temporal **" - }, - "params": [ + "name": "LWTRIANGLE", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 }, { - "name": "xsize", - "cType": "double", - "canonical": "double" + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 }, { - "name": "ysize", - "cType": "double", - "canonical": "double" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "zsize", - "cType": "double", - "canonical": "double" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "duration", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWCIRCSTRING", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 }, { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "space_bins", - "cType": "int ***", - "canonical": "int ***" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "time_bins", - "cType": "TimestampTz **", - "canonical": "long **" + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 } ] }, { - "name": "geo_cluster_kmeans", - "file": "meos_geo.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + "name": "LWPOLY", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "rings", + "cType": "POINTARRAY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { - "name": "ngeoms", + "name": "nrings", "cType": "uint32_t", - "canonical": "unsigned int" + "offset_bits": 192 }, { - "name": "k", + "name": "maxrings", "cType": "uint32_t", - "canonical": "unsigned int" + "offset_bits": 224 } ] }, { - "name": "geo_cluster_dbscan", - "file": "meos_geo.h", - "returnType": { - "c": "uint32_t *", - "canonical": "unsigned int *" - }, - "params": [ + "name": "LWMPOINT", + "file": "postgis_ext_defs.in.h", + "fields": [ { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 }, { - "name": "ngeoms", - "cType": "uint32_t", - "canonical": "unsigned int" + "name": "geoms", + "cType": "LWPOINT **", + "offset_bits": 64 }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "minpoints", - "cType": "int", - "canonical": "int" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "geo_cluster_intersecting", - "file": "meos_geo.h", - "returnType": { - "c": "int **", - "canonical": "int **" - }, - "params": [ + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { "name": "ngeoms", "cType": "uint32_t", - "canonical": "unsigned int" + "offset_bits": 192 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "geo_cluster_within", - "file": "meos_geo.h", - "returnType": { - "c": "int **", - "canonical": "int **" - }, - "params": [ + "name": "LWMLINE", + "file": "postgis_ext_defs.in.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, { "name": "geoms", - "cType": "const int **", - "canonical": "const int **" + "cType": "LWLINE **", + "offset_bits": 64 }, { - "name": "ngeoms", - "cType": "uint32_t", - "canonical": "unsigned int" + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] - } - ], - "structs": [ + }, { - "name": "Set", - "file": "meos.h", + "name": "LWMPOLY", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "settype", - "cType": "uint8", - "offset_bits": 32 + "name": "geoms", + "cType": "LWPOLY **", + "offset_bits": 64 }, { - "name": "basetype", - "cType": "uint8", - "offset_bits": 40 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { "name": "flags", - "cType": "int16", - "offset_bits": 48 + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "count", - "cType": "int32", - "offset_bits": 64 + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "maxcount", - "cType": "int32", - "offset_bits": 96 + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { - "name": "bboxsize", - "cType": "int16", - "offset_bits": 128 + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "Span", - "file": "meos.h", + "name": "LWCOLLECTION", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "spantype", - "cType": "uint8", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "basetype", - "cType": "uint8", - "offset_bits": 8 + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 }, { - "name": "lower_inc", - "cType": "bool", - "offset_bits": 16 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "upper_inc", - "cType": "bool", - "offset_bits": 24 + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "padding", - "cType": "char[4]", - "offset_bits": 32 + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "lower", - "cType": "Datum", - "offset_bits": 64 + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { - "name": "upper", - "cType": "Datum", - "offset_bits": 128 + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "SpanSet", - "file": "meos.h", + "name": "LWCOMPOUND", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "spansettype", - "cType": "uint8", - "offset_bits": 32 - }, - { - "name": "spantype", - "cType": "uint8", - "offset_bits": 40 + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 }, { - "name": "basetype", - "cType": "uint8", - "offset_bits": 48 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "padding", - "cType": "char", - "offset_bits": 56 + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "count", - "cType": "int32", - "offset_bits": 64 + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "maxcount", - "cType": "int32", - "offset_bits": 96 + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { - "name": "span", - "cType": "Span", - "offset_bits": 128 + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 }, { - "name": "elems", - "cType": "Span[1]", - "offset_bits": 320 + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "TBox", - "file": "meos.h", + "name": "LWCURVEPOLY", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "period", - "cType": "Span", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "span", - "cType": "Span", - "offset_bits": 192 + "name": "rings", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { "name": "flags", - "cType": "int16", - "offset_bits": 384 + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "nrings", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxrings", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "STBox", - "file": "meos.h", + "name": "LWMCURVE", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "period", - "cType": "Span", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "xmin", - "cType": "double", - "offset_bits": 192 - }, - { - "name": "ymin", - "cType": "double", - "offset_bits": 256 + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 }, { - "name": "zmin", - "cType": "double", - "offset_bits": 320 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { - "name": "xmax", - "cType": "double", - "offset_bits": 384 + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "ymax", - "cType": "double", - "offset_bits": 448 + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "zmax", - "cType": "double", - "offset_bits": 512 + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 576 + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 }, { - "name": "flags", - "cType": "int16", - "offset_bits": 608 + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "Temporal", - "file": "meos.h", + "name": "LWMSURFACE", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "temptype", - "cType": "uint8", - "offset_bits": 32 + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 }, { - "name": "subtype", - "cType": "uint8", - "offset_bits": 40 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { "name": "flags", - "cType": "int16", - "offset_bits": 48 + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } ] }, { - "name": "TInstant", - "file": "meos.h", + "name": "LWPSURFACE", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "temptype", - "cType": "uint8", - "offset_bits": 32 + "name": "geoms", + "cType": "LWPOLY **", + "offset_bits": 64 }, { - "name": "subtype", - "cType": "uint8", - "offset_bits": 40 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { "name": "flags", - "cType": "int16", - "offset_bits": 48 + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "t", - "cType": "TimestampTz", - "offset_bits": 64 + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "value", - "cType": "Datum", - "offset_bits": 128 + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } - ], - "meosType": "TPointInst" + ] }, { - "name": "TSequence", - "file": "meos.h", + "name": "LWTIN", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "bbox", + "cType": "GBOX *", "offset_bits": 0 }, { - "name": "temptype", - "cType": "uint8", - "offset_bits": 32 + "name": "geoms", + "cType": "LWTRIANGLE **", + "offset_bits": 64 }, { - "name": "subtype", - "cType": "uint8", - "offset_bits": 40 + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 }, { "name": "flags", - "cType": "int16", - "offset_bits": 48 - }, - { - "name": "count", - "cType": "int32", - "offset_bits": 64 + "cType": "lwflags_t", + "offset_bits": 160 }, { - "name": "maxcount", - "cType": "int32", - "offset_bits": 96 + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 }, { - "name": "bboxsize", - "cType": "int16", - "offset_bits": 128 + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 }, { - "name": "padding", - "cType": "char[6]", - "offset_bits": 144 + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 }, { - "name": "period", - "cType": "Span", - "offset_bits": 192 + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 } - ], - "meosType": "TPointSeq" + ] }, { - "name": "TSequenceSet", - "file": "meos.h", + "name": "PJconsts", + "file": "postgis_ext_defs.in.h", + "fields": [] + }, + { + "name": "LWPROJ", + "file": "postgis_ext_defs.in.h", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "pj", + "cType": "PJ *", "offset_bits": 0 }, { - "name": "temptype", - "cType": "uint8", - "offset_bits": 32 - }, - { - "name": "subtype", - "cType": "uint8", - "offset_bits": 40 - }, - { - "name": "flags", - "cType": "int16", - "offset_bits": 48 - }, - { - "name": "count", - "cType": "int32", + "name": "pipeline_is_forward", + "cType": "_Bool", "offset_bits": 64 }, { - "name": "totalcount", - "cType": "int32", - "offset_bits": 96 + "name": "source_is_latlong", + "cType": "uint8_t", + "offset_bits": 72 }, { - "name": "maxcount", - "cType": "int32", + "name": "source_semi_major_metre", + "cType": "double", "offset_bits": 128 }, { - "name": "bboxsize", - "cType": "int16", - "offset_bits": 160 + "name": "source_semi_minor_metre", + "cType": "double", + "offset_bits": 192 + } + ] + }, + { + "name": "Interval", + "file": "postgres_ext_defs.in.h", + "fields": [ + { + "name": "time", + "cType": "TimeOffset", + "offset_bits": 0 }, { - "name": "padding", - "cType": "int16", - "offset_bits": 176 + "name": "day", + "cType": "int32", + "offset_bits": 64 }, { - "name": "period", - "cType": "Span", - "offset_bits": 192 + "name": "month", + "cType": "int32", + "offset_bits": 96 } ] }, { - "name": "Match", - "file": "meos.h", + "name": "varlena", + "file": "postgres_ext_defs.in.h", "fields": [ { - "name": "i", - "cType": "int", + "name": "vl_len_", + "cType": "char[4]", "offset_bits": 0 }, { - "name": "j", - "cType": "int", + "name": "vl_dat", + "cType": "char[]", "offset_bits": 32 } ] - }, - { - "name": "SkipList", - "file": "meos.h", - "fields": [] - }, - { - "name": "RTree", - "file": "meos.h", - "fields": [] } ], "enums": [ @@ -34540,6 +60187,36 @@ } ] }, + { + "name": "H3Unit", + "file": "th3index_internal.h", + "values": [ + { + "name": "H3_UNIT_KM", + "value": 0 + }, + { + "name": "H3_UNIT_M", + "value": 1 + }, + { + "name": "H3_UNIT_RADS", + "value": 2 + }, + { + "name": "H3_UNIT_KM2", + "value": 3 + }, + { + "name": "H3_UNIT_M2", + "value": 4 + }, + { + "name": "H3_UNIT_RADS2", + "value": 5 + } + ] + }, { "name": "spatialRel", "file": "meos_geo.h", @@ -34561,6 +60238,20 @@ "value": 3 } ] + }, + { + "name": "SkipListType", + "file": "meos_internal.h", + "values": [ + { + "name": "TEMPORAL", + "value": 0 + }, + { + "name": "KEYVALUE", + "value": 1 + } + ] } ] } \ No newline at end of file diff --git a/codegen/src/main/java/FunctionsGenerator.java b/codegen/src/main/java/FunctionsGenerator.java index cf8cab500..2064f8402 100644 --- a/codegen/src/main/java/FunctionsGenerator.java +++ b/codegen/src/main/java/FunctionsGenerator.java @@ -266,6 +266,10 @@ private String mapCTypeToJava(String cType) { // DateADT is int32 under the hood; Timestamp/TimestampTz are int64. case "DateADT" -> "int"; case "Timestamp", "TimestampTz" -> "long"; + // H3Index is a uint64 cell identifier (DGGRID/H3), not an opaque + // struct pointer; without this it hits the default branch and + // becomes Pointer, breaking every h3index/th3index binding. + case "H3Index" -> "long"; // Explicit enum names (in case not in JSON enums section) case "interpType", "RTreeSearchOp", diff --git a/codegen/src/test/java/FunctionsGeneratorTest.java b/codegen/src/test/java/FunctionsGeneratorTest.java index e8d911669..63e997c9d 100644 --- a/codegen/src/test/java/FunctionsGeneratorTest.java +++ b/codegen/src/test/java/FunctionsGeneratorTest.java @@ -133,6 +133,7 @@ class MapCTypeToJavaTests { @Test void DateADT() throws Exception { assertEquals("int", mapJava("DateADT")); } @Test void Timestamp() throws Exception { assertEquals("long", mapJava("Timestamp")); } @Test void TimestampTz() throws Exception { assertEquals("long", mapJava("TimestampTz")); } + @Test void H3Index() throws Exception { assertEquals("long", mapJava("H3Index")); } @Test void charPointer() throws Exception { assertEquals("String", mapJava("char *")); } @Test void structPointer() throws Exception { assertEquals("Pointer", mapJava("STBox *")); } diff --git a/jmeos-core/src/main/java/functions/GeneratedFunctions.java b/jmeos-core/src/main/java/functions/GeneratedFunctions.java index 98385204f..3dc0aae9e 100644 --- a/jmeos-core/src/main/java/functions/GeneratedFunctions.java +++ b/jmeos-core/src/main/java/functions/GeneratedFunctions.java @@ -15,6 +15,22 @@ public class GeneratedFunctions { public interface MeosLibraryPartA { + Pointer meos_array_create(int elem_size); + + void meos_array_add(Pointer array, Pointer value); + + Pointer meos_array_get(Pointer array, int n); + + int meos_array_count(Pointer array); + + void meos_array_reset(Pointer array); + + void meos_array_reset_free(Pointer array); + + void meos_array_destroy(Pointer array); + + void meos_array_destroy_free(Pointer array); + Pointer rtree_create_intspan(); Pointer rtree_create_bigintspan(); @@ -35,9 +51,9 @@ public interface MeosLibraryPartA { void rtree_insert_temporal(Pointer rtree, Pointer temp, int id); - Pointer rtree_search(Pointer rtree, int op, Pointer query, Pointer count); + int rtree_search(Pointer rtree, int op, Pointer query, Pointer result); - Pointer rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer count); + int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result); void meos_error(int errlevel, int errcode, String format); @@ -283,9 +299,13 @@ public interface MeosLibraryPartA { Pointer bigint_to_set(long i); - Pointer bigint_to_span(int i); + Pointer bigint_to_span(long i); - Pointer bigint_to_spanset(int i); + Pointer bigint_to_spanset(long i); + + Pointer bigintspan_to_intspan(Pointer s); + + Pointer bigintspan_to_floatspan(Pointer s); Pointer date_to_set(int d); @@ -307,6 +327,8 @@ public interface MeosLibraryPartA { Pointer floatset_to_intset(Pointer s); + Pointer floatspan_to_bigintspan(Pointer s); + Pointer floatspan_to_intspan(Pointer s); Pointer floatspanset_to_intspanset(Pointer ss); @@ -319,6 +341,8 @@ public interface MeosLibraryPartA { Pointer intset_to_floatset(Pointer s); + Pointer intspan_to_bigintspan(Pointer s); + Pointer intspan_to_floatspan(Pointer s); Pointer intspanset_to_floatspanset(Pointer ss); @@ -859,10 +883,6 @@ public interface MeosLibraryPartA { boolean overafter_date_span(int d, Pointer s); - } - - public interface MeosLibraryPartB { - boolean overafter_date_spanset(int d, Pointer ss); boolean overafter_set_date(Pointer s, int d); @@ -1435,6 +1455,8 @@ public interface MeosLibraryPartB { Pointer spanset_to_tbox(Pointer ss); + Pointer tbox_to_bigintspan(Pointer box); + Pointer tbox_to_intspan(Pointer box); Pointer tbox_to_floatspan(Pointer box); @@ -1451,6 +1473,10 @@ public interface MeosLibraryPartB { boolean tbox_hasx(Pointer box); + } + + public interface MeosLibraryPartB { + boolean tbox_tmax(Pointer box, Pointer result); boolean tbox_tmax_inc(Pointer box, Pointer result); @@ -1475,6 +1501,10 @@ public interface MeosLibraryPartB { boolean tboxint_xmin(Pointer box, Pointer result); + Pointer tbigintbox_expand(Pointer box, long i); + + Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth); + Pointer tbox_expand_time(Pointer box, Pointer interv); Pointer tbox_round(Pointer box, int maxdd); @@ -1533,6 +1563,12 @@ public interface MeosLibraryPartB { boolean tbox_ne(Pointer box1, Pointer box2); + Pointer tbigint_from_mfjson(String str); + + Pointer tbigint_in(String str); + + String tbigint_out(Pointer temp); + Pointer tbool_from_mfjson(String str); Pointer tbool_in(String str); @@ -1567,6 +1603,16 @@ public interface MeosLibraryPartB { String ttext_out(Pointer temp); + Pointer tbigint_from_base_temp(long i, Pointer temp); + + Pointer tbigintinst_make(long i, long t); + + Pointer tbigintseq_from_base_tstzset(long i, Pointer s); + + Pointer tbigintseq_from_base_tstzspan(long i, Pointer s); + + Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss); + Pointer tbool_from_base_temp(boolean b, Pointer temp); Pointer tboolinst_make(boolean b, long t); @@ -1615,18 +1661,40 @@ public interface MeosLibraryPartB { Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss); + Pointer tbigint_to_tfloat(Pointer temp); + + Pointer tbigint_to_tint(Pointer temp); + Pointer tbool_to_tint(Pointer temp); Pointer temporal_to_tstzspan(Pointer temp); + Pointer tfloat_to_tbigint(Pointer temp); + Pointer tfloat_to_tint(Pointer temp); + Pointer tint_to_tbigint(Pointer temp); + Pointer tint_to_tfloat(Pointer temp); Pointer tnumber_to_span(Pointer temp); Pointer tnumber_to_tbox(Pointer temp); + long tbigint_end_value(Pointer temp); + + long tbigint_max_value(Pointer temp); + + long tbigint_min_value(Pointer temp); + + long tbigint_start_value(Pointer temp); + + boolean tbigint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); + + boolean tbigint_value_n(Pointer temp, long n, Pointer result); + + Pointer tbigint_values(Pointer temp, Pointer count); + boolean tbool_end_value(Pointer temp); boolean tbool_start_value(Pointer temp); @@ -1707,10 +1775,6 @@ public interface MeosLibraryPartB { Pointer tfloat_values(Pointer temp, Pointer count); - } - - public interface MeosLibraryPartC { - int tint_end_value(Pointer temp); int tint_max_value(Pointer temp); @@ -1749,6 +1813,12 @@ public interface MeosLibraryPartC { double float_degrees(double value, boolean normalize); + Pointer tbigint_scale_value(Pointer temp, long width); + + Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width); + + Pointer tbigint_shift_value(Pointer temp, long shift); + Pointer temparr_round(Pointer temp, int count, int maxdd); Pointer temporal_round(Pointer temp, int maxdd); @@ -1807,6 +1877,10 @@ public interface MeosLibraryPartC { Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect); + Pointer tbigint_at_value(Pointer temp, long i); + + Pointer tbigint_minus_value(Pointer temp, long i); + Pointer tbool_at_value(Pointer temp, boolean b); Pointer tbool_minus_value(Pointer temp, boolean b); @@ -1881,6 +1955,8 @@ public interface MeosLibraryPartC { boolean temporal_ne(Pointer temp1, Pointer temp2); + int always_eq_bigint_tbigint(long i, Pointer temp); + int always_eq_bool_tbool(boolean b, Pointer temp); int always_eq_float_tfloat(double d, Pointer temp); @@ -1893,16 +1969,22 @@ public interface MeosLibraryPartC { int always_eq_text_ttext(Pointer txt, Pointer temp); + int always_eq_tbigint_bigint(Pointer temp, long i); + int always_eq_tfloat_float(Pointer temp, double d); int always_eq_tint_int(Pointer temp, int i); int always_eq_ttext_text(Pointer temp, Pointer txt); + int always_ge_bigint_tbigint(long i, Pointer temp); + int always_ge_float_tfloat(double d, Pointer temp); int always_ge_int_tint(int i, Pointer temp); + int always_ge_tbigint_bigint(Pointer temp, long i); + int always_ge_temporal_temporal(Pointer temp1, Pointer temp2); int always_ge_text_ttext(Pointer txt, Pointer temp); @@ -1913,10 +1995,14 @@ public interface MeosLibraryPartC { int always_ge_ttext_text(Pointer temp, Pointer txt); + int always_gt_bigint_tbigint(long i, Pointer temp); + int always_gt_float_tfloat(double d, Pointer temp); int always_gt_int_tint(int i, Pointer temp); + int always_gt_tbigint_bigint(Pointer temp, long i); + int always_gt_temporal_temporal(Pointer temp1, Pointer temp2); int always_gt_text_ttext(Pointer txt, Pointer temp); @@ -1927,10 +2013,14 @@ public interface MeosLibraryPartC { int always_gt_ttext_text(Pointer temp, Pointer txt); + int always_le_bigint_tbigint(long i, Pointer temp); + int always_le_float_tfloat(double d, Pointer temp); int always_le_int_tint(int i, Pointer temp); + int always_le_tbigint_bigint(Pointer temp, long i); + int always_le_temporal_temporal(Pointer temp1, Pointer temp2); int always_le_text_ttext(Pointer txt, Pointer temp); @@ -1941,6 +2031,8 @@ public interface MeosLibraryPartC { int always_le_ttext_text(Pointer temp, Pointer txt); + int always_lt_bigint_tbigint(long i, Pointer temp); + int always_lt_float_tfloat(double d, Pointer temp); int always_lt_int_tint(int i, Pointer temp); @@ -1961,8 +2053,14 @@ public interface MeosLibraryPartC { int always_ne_int_tint(int i, Pointer temp); + int always_lt_tbigint_bigint(Pointer temp, long i); + + int always_ne_bigint_tbigint(long i, Pointer temp); + int always_ne_tbool_bool(Pointer temp, boolean b); + int always_ne_tbigint_bigint(Pointer temp, long i); + int always_ne_temporal_temporal(Pointer temp1, Pointer temp2); int always_ne_text_ttext(Pointer txt, Pointer temp); @@ -1973,12 +2071,16 @@ public interface MeosLibraryPartC { int always_ne_ttext_text(Pointer temp, Pointer txt); + int ever_eq_bigint_tbigint(long i, Pointer temp); + int ever_eq_bool_tbool(boolean b, Pointer temp); int ever_eq_float_tfloat(double d, Pointer temp); int ever_eq_int_tint(int i, Pointer temp); + int ever_eq_tbigint_bigint(Pointer temp, long i); + int ever_eq_tbool_bool(Pointer temp, boolean b); int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2); @@ -1991,10 +2093,14 @@ public interface MeosLibraryPartC { int ever_eq_ttext_text(Pointer temp, Pointer txt); + int ever_ge_bigint_tbigint(long i, Pointer temp); + int ever_ge_float_tfloat(double d, Pointer temp); int ever_ge_int_tint(int i, Pointer temp); + int ever_ge_tbigint_bigint(Pointer temp, long i); + int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2); int ever_ge_text_ttext(Pointer txt, Pointer temp); @@ -2005,10 +2111,14 @@ public interface MeosLibraryPartC { int ever_ge_ttext_text(Pointer temp, Pointer txt); + int ever_gt_bigint_tbigint(long i, Pointer temp); + int ever_gt_float_tfloat(double d, Pointer temp); int ever_gt_int_tint(int i, Pointer temp); + int ever_gt_tbigint_bigint(Pointer temp, long i); + int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2); int ever_gt_text_ttext(Pointer txt, Pointer temp); @@ -2019,10 +2129,14 @@ public interface MeosLibraryPartC { int ever_gt_ttext_text(Pointer temp, Pointer txt); + int ever_le_bigint_tbigint(long i, Pointer temp); + int ever_le_float_tfloat(double d, Pointer temp); int ever_le_int_tint(int i, Pointer temp); + int ever_le_tbigint_bigint(Pointer temp, long i); + int ever_le_temporal_temporal(Pointer temp1, Pointer temp2); int ever_le_text_ttext(Pointer txt, Pointer temp); @@ -2033,10 +2147,14 @@ public interface MeosLibraryPartC { int ever_le_ttext_text(Pointer temp, Pointer txt); + int ever_lt_bigint_tbigint(long i, Pointer temp); + int ever_lt_float_tfloat(double d, Pointer temp); int ever_lt_int_tint(int i, Pointer temp); + int ever_lt_tbigint_bigint(Pointer temp, long i); + int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2); int ever_lt_text_ttext(Pointer txt, Pointer temp); @@ -2047,12 +2165,16 @@ public interface MeosLibraryPartC { int ever_lt_ttext_text(Pointer temp, Pointer txt); + int ever_ne_bigint_tbigint(long i, Pointer temp); + int ever_ne_bool_tbool(boolean b, Pointer temp); int ever_ne_float_tfloat(double d, Pointer temp); int ever_ne_int_tint(int i, Pointer temp); + int ever_ne_tbigint_bigint(Pointer temp, long i); + int ever_ne_tbool_bool(Pointer temp, boolean b); int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2); @@ -2353,40 +2475,56 @@ public interface MeosLibraryPartC { Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2); + Pointer add_bigint_tbigint(long i, Pointer tnumber); + Pointer add_float_tfloat(double d, Pointer tnumber); Pointer add_int_tint(int i, Pointer tnumber); + Pointer add_tbigint_bigint(Pointer tnumber, long i); + Pointer add_tfloat_float(Pointer tnumber, double d); Pointer add_tint_int(Pointer tnumber, int i); Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + Pointer div_bigint_tbigint(long i, Pointer tnumber); + Pointer div_float_tfloat(double d, Pointer tnumber); Pointer div_int_tint(int i, Pointer tnumber); + Pointer div_tbigint_bigint(Pointer tnumber, long i); + Pointer div_tfloat_float(Pointer tnumber, double d); Pointer div_tint_int(Pointer tnumber, int i); Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - Pointer mult_float_tfloat(double d, Pointer tnumber); + Pointer mul_bigint_tbigint(long i, Pointer tnumber); + + Pointer mul_float_tfloat(double d, Pointer tnumber); - Pointer mult_int_tint(int i, Pointer tnumber); + Pointer mul_int_tint(int i, Pointer tnumber); - Pointer mult_tfloat_float(Pointer tnumber, double d); + Pointer mul_tbigint_bigint(Pointer tnumber, long i); - Pointer mult_tint_int(Pointer tnumber, int i); + Pointer mul_tfloat_float(Pointer tnumber, double d); - Pointer mult_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + Pointer mul_tint_int(Pointer tnumber, int i); + + Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + + Pointer sub_bigint_tbigint(long i, Pointer tnumber); Pointer sub_float_tfloat(double d, Pointer tnumber); Pointer sub_int_tint(int i, Pointer tnumber); + Pointer sub_tbigint_bigint(Pointer tnumber, long i); + Pointer sub_tfloat_float(Pointer tnumber, double d); Pointer sub_tint_int(Pointer tnumber, int i); @@ -2451,6 +2589,10 @@ public interface MeosLibraryPartC { Pointer temporal_extent_transfn(Pointer s, Pointer temp); + Pointer temporal_merge_transfn(Pointer state, Pointer temp); + + Pointer temporal_merge_combinefn(Pointer state1, Pointer state2); + Pointer temporal_tagg_finalfn(Pointer state); Pointer temporal_tcount_transfn(Pointer state, Pointer temp); @@ -2555,16 +2697,194 @@ public interface MeosLibraryPartC { Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - } - - public interface MeosLibraryPartD { - Pointer tintbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count); Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, long torigin, Pointer count); + void meos_initialize_noexit_error_handler(); + + boolean h3_are_neighbor_cells_meos(long origin, long destination); + + long h3_cells_to_directed_edge_meos(long origin, long destination); + + boolean h3_is_valid_directed_edge_meos(long edge); + + long h3_get_directed_edge_origin_meos(long edge); + + long h3_get_directed_edge_destination_meos(long edge); + + long h3_cell_to_parent_meos(long origin, int resolution); + + long h3_cell_to_center_child_meos(long origin, int resolution); + + long h3_cell_to_child_pos_meos(long child, int parentRes); + + long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes); + + int h3_get_resolution_meos(long hex); + + int h3_get_base_cell_number_meos(long hex); + + boolean h3_is_valid_cell_meos(long hex); + + boolean h3_is_res_class_iii_meos(long hex); + + boolean h3_is_pentagon_meos(long hex); + + long h3_get_num_cells_meos(int resolution); + + long h3_grid_distance_meos(long originIndex, long h3Index); + + long h3_cell_to_vertex_meos(long cell, int vertexNum); + + boolean h3_is_valid_vertex_meos(long vertex); + + long h3index_parse(String str); + + String h3index_to_string(long cell); + + boolean h3index_eq(long a, long b); + + boolean h3index_ne(long a, long b); + + boolean h3index_lt(long a, long b); + + boolean h3index_le(long a, long b); + + boolean h3index_gt(long a, long b); + + boolean h3index_ge(long a, long b); + + int h3index_cmp(long a, long b); + + int h3index_hash(long cell); + + Pointer h3_grid_disk(long origin, int k); + + Pointer h3_grid_ring(long origin, int k); + + Pointer h3_grid_path_cells(long start, long end); + + Pointer h3_cell_to_children(long origin, int childRes); + + Pointer h3_compact_cells(Pointer cells); + + Pointer h3_uncompact_cells(Pointer cells, int res); + + Pointer h3_origin_to_directed_edges(long origin); + + Pointer h3_cell_to_vertexes(long cell); + + Pointer h3_get_icosahedron_faces(long cell); + + boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2); + + boolean ensure_valid_th3index_h3index(Pointer temp, long cell); + + boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2); + + int datum2_h3index_eq(int d1, int d2, int type); + + int datum2_h3index_ne(int d1, int d2, int type); + + void th3indexinst_set_stbox(Pointer inst, Pointer box); + + void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box); + + void th3indexseq_expand_stbox(Pointer seq, Pointer inst); + + long h3_gs_point_to_cell(Pointer point, int resolution); + + Pointer h3_cell_to_gs_point(long cell); + + Pointer h3_cell_to_gs_boundary(long cell); + + Pointer cell_boundary_to_gs(Pointer bnd); + + double h3_sample_step_deg(int resolution); + + long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution); + + long h3_cell_to_parent_next_meos(long cell); + + long h3_cell_to_center_child_next_meos(long cell); + + Pointer h3_directed_edge_to_gs_boundary(long edge); + + Pointer h3_vertex_to_gs_point(long vertex); + + Pointer h3_cell_to_local_ij_meos(long origin, long cell); + + long h3_local_ij_to_cell_meos(long origin, Pointer coord); + + int h3_unit_from_cstring(String unit); + + double h3_cell_area_meos(long cell, int unit); + + double h3_edge_length_meos(long edge, int unit); + + double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit); + + int datum_h3_get_resolution(int d); + + int datum_h3_get_base_cell_number(int d); + + int datum_h3_is_valid_cell(int d); + + int datum_h3_is_res_class_iii(int d); + + int datum_h3_is_pentagon(int d); + + int datum_h3_cell_to_parent(int cell_d, int res_d); + + int datum_h3_cell_to_parent_next(int cell_d); + + int datum_h3_cell_to_center_child(int cell_d, int res_d); + + int datum_h3_cell_to_center_child_next(int cell_d); + + int datum_h3_cell_to_child_pos(int cell_d, int parent_res_d); + + int datum_h3_child_pos_to_cell(int pos_d, int parent_d, int child_res_d); + + int datum_h3_are_neighbor_cells(int origin_d, int dest_d); + + int datum_h3_cells_to_directed_edge(int origin_d, int dest_d); + + int datum_h3_is_valid_directed_edge(int d); + + int datum_h3_get_directed_edge_origin(int d); + + int datum_h3_get_directed_edge_destination(int d); + + int datum_h3_directed_edge_to_boundary(int d); + + int datum_h3_cell_to_vertex(int cell_d, int vnum_d); + + int datum_h3_vertex_to_latlng(int d); + + int datum_h3_is_valid_vertex(int d); + + int datum_h3_grid_distance(int origin_d, int dest_d); + + int datum_h3_cell_to_local_ij(int origin_d, int cell_d); + + int datum_h3_local_ij_to_cell(int origin_d, int coord_d); + + int datum_h3_latlng_to_cell(int point_d, int res_d); + + int datum_h3_cell_to_latlng(int d); + + int datum_h3_cell_to_boundary(int d); + + int datum_h3_cell_area(int cell_d, int unit_d); + + int datum_h3_edge_length(int edge_d, int unit_d); + + int datum_h3_great_circle_distance(int a_d, int b_d, int unit_d); + Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size); String geo_as_ewkt(Pointer gs, int precision); @@ -2615,6 +2935,10 @@ public interface MeosLibraryPartD { Pointer geog_to_geom(Pointer geog); + } + + public interface MeosLibraryPartC { + boolean geo_is_empty(Pointer g); boolean geo_is_unitary(Pointer gs); @@ -3079,11 +3403,15 @@ public interface MeosLibraryPartD { Pointer tgeo_minus_value(Pointer temp, Pointer gs); - Pointer tpoint_at_geom(Pointer temp, Pointer gs, Pointer zspan); + Pointer tpoint_at_elevation(Pointer temp, Pointer s); + + Pointer tpoint_at_geom(Pointer temp, Pointer gs); Pointer tpoint_at_value(Pointer temp, Pointer gs); - Pointer tpoint_minus_geom(Pointer temp, Pointer gs, Pointer zspan); + Pointer tpoint_minus_elevation(Pointer temp, Pointer s); + + Pointer tpoint_minus_geom(Pointer temp, Pointer gs); Pointer tpoint_minus_value(Pointer temp, Pointer gs); @@ -3309,41 +3637,41 @@ public interface MeosLibraryPartD { int etouches_tpoint_geo(Pointer temp, Pointer gs); - Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); + Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp); - Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); + Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs); - Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); + Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2); - Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); + Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp); - Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); + Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs); - Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); + Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); + Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp); - Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); + Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs); - Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); + Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist, boolean restr, boolean atvalue); + Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist); - Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean restr, boolean atvalue); + Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean restr, boolean atvalue); + Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); + Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp); - Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); + Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs); - Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); + Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); + Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp); - Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); + Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs); - Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); + Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2); Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs); @@ -3367,6 +3695,10 @@ public interface MeosLibraryPartD { Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2); + double tgeoarr_tgeoarr_mindist(Pointer arr1, int count1, Pointer arr2, int count2); + + double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold); + Pointer tpoint_tcentroid_finalfn(Pointer state); Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp); @@ -3397,12082 +3729,22880 @@ public interface MeosLibraryPartD { Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count); - } + int acovers_geo_tgeo(Pointer gs, Pointer temp); - private static final String _LIB = "libmeos.so"; + int acovers_tgeo_geo(Pointer temp, Pointer gs); - static final MeosLibraryPartA _meos_a = - JarLibraryLoader.create(MeosLibraryPartA.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartB _meos_b = - JarLibraryLoader.create(MeosLibraryPartB.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartC _meos_c = - JarLibraryLoader.create(MeosLibraryPartC.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartD _meos_d = - JarLibraryLoader.create(MeosLibraryPartD.class, _LIB).getLibraryInstance(); + String cbuffer_as_ewkt(Pointer cb, int maxdd); - private static final java.util.Map _dispatch; - static { - _dispatch = new java.util.HashMap<>(4096); - for (java.lang.reflect.Method _m : MeosLibraryPartA.class.getMethods()) - _dispatch.put(_m.getName(), _meos_a); - for (java.lang.reflect.Method _m : MeosLibraryPartB.class.getMethods()) - _dispatch.put(_m.getName(), _meos_b); - for (java.lang.reflect.Method _m : MeosLibraryPartC.class.getMethods()) - _dispatch.put(_m.getName(), _meos_c); - for (java.lang.reflect.Method _m : MeosLibraryPartD.class.getMethods()) - _dispatch.put(_m.getName(), _meos_d); - } + String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size); + String cbuffer_as_text(Pointer cb, int maxdd); + Pointer cbuffer_as_wkb(Pointer cb, byte variant, Pointer size_out); - @SuppressWarnings("unused") - public static Pointer rtree_create_intspan() { - var _result = _meos_a.rtree_create_intspan(); - MeosErrorHandler.checkError(); - return _result; - } + Pointer cbuffer_from_hexwkb(String hexwkb); - @SuppressWarnings("unused") - public static Pointer rtree_create_bigintspan() { - var _result = _meos_a.rtree_create_bigintspan(); - MeosErrorHandler.checkError(); - return _result; - } + Pointer cbuffer_from_wkb(Pointer wkb, long size); - @SuppressWarnings("unused") - public static Pointer rtree_create_floatspan() { - var _result = _meos_a.rtree_create_floatspan(); - MeosErrorHandler.checkError(); - return _result; - } + Pointer cbuffer_in(String str); - @SuppressWarnings("unused") - public static Pointer rtree_create_datespan() { - var _result = _meos_a.rtree_create_datespan(); - MeosErrorHandler.checkError(); - return _result; - } + String cbuffer_out(Pointer cb, int maxdd); - @SuppressWarnings("unused") - public static Pointer rtree_create_tstzspan() { - var _result = _meos_a.rtree_create_tstzspan(); - MeosErrorHandler.checkError(); - return _result; - } + Pointer cbuffer_copy(Pointer cb); - @SuppressWarnings("unused") - public static Pointer rtree_create_tbox() { - var _result = _meos_a.rtree_create_tbox(); - MeosErrorHandler.checkError(); - return _result; - } + Pointer cbuffer_make(Pointer point, double radius); - @SuppressWarnings("unused") - public static Pointer rtree_create_stbox() { - var _result = _meos_a.rtree_create_stbox(); - MeosErrorHandler.checkError(); - return _result; - } + Pointer cbuffer_to_geom(Pointer cb); - @SuppressWarnings("unused") - public static void rtree_free(Pointer rtree) { - _meos_a.rtree_free(rtree); - MeosErrorHandler.checkError(); + Pointer cbuffer_to_stbox(Pointer cb); + + Pointer cbufferarr_to_geom(Pointer cbarr, int count); + + Pointer geom_to_cbuffer(Pointer gs); + + int cbuffer_hash(Pointer cb); + + long cbuffer_hash_extended(Pointer cb, long seed); + + Pointer cbuffer_point(Pointer cb); + + double cbuffer_radius(Pointer cb); + + Pointer cbuffer_round(Pointer cb, int maxdd); + + Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd); + + void cbuffer_set_srid(Pointer cb, int srid); + + int cbuffer_srid(Pointer cb); + + Pointer cbuffer_transform(Pointer cb, int srid); + + Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward); + + int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist); + + int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s); + + Pointer cbuffer_timestamptz_to_stbox(Pointer cb, long t); + + double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + double distance_cbuffer_geo(Pointer cb, Pointer gs); + + double distance_cbuffer_stbox(Pointer cb, Pointer box); + + double nad_cbuffer_stbox(Pointer cb, Pointer box); + + int cbuffer_cmp(Pointer cb1, Pointer cb2); + + boolean cbuffer_eq(Pointer cb1, Pointer cb2); + + boolean cbuffer_ge(Pointer cb1, Pointer cb2); + + boolean cbuffer_gt(Pointer cb1, Pointer cb2); + + boolean cbuffer_le(Pointer cb1, Pointer cb2); + + boolean cbuffer_lt(Pointer cb1, Pointer cb2); + + boolean cbuffer_ne(Pointer cb1, Pointer cb2); + + boolean cbuffer_nsame(Pointer cb1, Pointer cb2); + + boolean cbuffer_same(Pointer cb1, Pointer cb2); + + Pointer cbufferset_in(String str); + + String cbufferset_out(Pointer s, int maxdd); + + Pointer cbufferset_make(Pointer values, int count); + + Pointer cbuffer_to_set(Pointer cb); + + Pointer cbufferset_end_value(Pointer s); + + Pointer cbufferset_start_value(Pointer s); + + boolean cbufferset_value_n(Pointer s, int n, Pointer result); + + Pointer cbufferset_values(Pointer s); + + Pointer cbuffer_union_transfn(Pointer state, Pointer cb); + + boolean contained_cbuffer_set(Pointer cb, Pointer s); + + boolean contains_set_cbuffer(Pointer s, Pointer cb); + + Pointer intersection_cbuffer_set(Pointer cb, Pointer s); + + Pointer intersection_set_cbuffer(Pointer s, Pointer cb); + + Pointer minus_cbuffer_set(Pointer cb, Pointer s); + + Pointer minus_set_cbuffer(Pointer s, Pointer cb); + + Pointer union_cbuffer_set(Pointer cb, Pointer s); + + Pointer union_set_cbuffer(Pointer s, Pointer cb); + + Pointer tcbuffer_in(String str); + + Pointer tcbuffer_from_mfjson(String mfjson); + + Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat); + + Pointer tcbuffer_points(Pointer temp); + + Pointer tcbuffer_radius(Pointer temp); + + Pointer tcbuffer_trav_area(Pointer temp, boolean merge_union); + + Pointer tcbuffer_to_tfloat(Pointer temp); + + Pointer tcbuffer_to_tgeompoint(Pointer temp); + + Pointer tgeometry_to_tcbuffer(Pointer temp); + + Pointer tcbuffer_expand(Pointer temp, double dist); + + Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb); + + Pointer tcbuffer_at_geom(Pointer temp, Pointer gs); + + Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb); + + Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs); + + Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + double nad_tcbuffer_geo(Pointer temp, Pointer gs); + + double nad_tcbuffer_stbox(Pointer temp, Pointer box); + + double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int acontains_geo_tcbuffer(Pointer gs, Pointer temp); + + int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int acontains_tcbuffer_geo(Pointer temp, Pointer gs); + + int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int acovers_geo_tcbuffer(Pointer gs, Pointer temp); + + int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int acovers_tcbuffer_geo(Pointer temp, Pointer gs); + + int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs); + + int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); + + int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); + + int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); + + int aintersects_tcbuffer_geo(Pointer temp, Pointer gs); + + int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int atouches_tcbuffer_geo(Pointer temp, Pointer gs); + + int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int econtains_tcbuffer_geo(Pointer temp, Pointer gs); + + int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int ecovers_tcbuffer_geo(Pointer temp, Pointer gs); + + int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs); + + int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); + + int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); + + int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); + + int eintersects_tcbuffer_geo(Pointer temp, Pointer gs); + + int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int etouches_tcbuffer_geo(Pointer temp, Pointer gs); + + int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist); + + Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); + + Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); + + Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); + + Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + long h3index_in(String str); + + String h3index_out(long cell); + + Pointer th3index_in(String str); + + Pointer th3indexinst_in(String str); + + Pointer th3indexseq_in(String str, int interp); + + Pointer th3indexseqset_in(String str); + + Pointer th3index_make(long value, long t); + + Pointer th3indexinst_make(long value, long t); + + Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc); + + Pointer th3indexseqset_make(Pointer sequences, int count); + + long th3index_start_value(Pointer temp); + + long th3index_end_value(Pointer temp); + + boolean th3index_value_n(Pointer temp, int n, Pointer result); + + Pointer th3index_values(Pointer temp, Pointer count); + + boolean th3index_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + Pointer tbigint_to_th3index(Pointer temp); + + Pointer th3index_to_tbigint(Pointer temp); + + int ever_eq_h3index_th3index(long cell, Pointer temp); + + int ever_eq_th3index_h3index(Pointer temp, long cell); + + int ever_ne_h3index_th3index(long cell, Pointer temp); + + int ever_ne_th3index_h3index(Pointer temp, long cell); + + int always_eq_h3index_th3index(long cell, Pointer temp); + + int always_eq_th3index_h3index(Pointer temp, long cell); + + int always_ne_h3index_th3index(long cell, Pointer temp); + + int always_ne_th3index_h3index(Pointer temp, long cell); + + int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2); + + int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2); + + int always_eq_th3index_th3index(Pointer temp1, Pointer temp2); + + int always_ne_th3index_th3index(Pointer temp1, Pointer temp2); + + Pointer teq_h3index_th3index(long cell, Pointer temp); + + Pointer teq_th3index_h3index(Pointer temp, long cell); + + Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2); + + Pointer tne_h3index_th3index(long cell, Pointer temp); + + Pointer tne_th3index_h3index(Pointer temp, long cell); + + Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2); + + Pointer th3index_get_resolution(Pointer temp); + + Pointer th3index_get_base_cell_number(Pointer temp); + + Pointer th3index_is_valid_cell(Pointer temp); + + Pointer th3index_is_res_class_iii(Pointer temp); + + Pointer th3index_is_pentagon(Pointer temp); + + Pointer th3index_cell_to_parent(Pointer temp, int resolution); + + Pointer th3index_cell_to_parent_next(Pointer temp); + + Pointer th3index_cell_to_center_child(Pointer temp, int resolution); + + Pointer th3index_cell_to_center_child_next(Pointer temp); + + Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res); + + Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res); + + Pointer tgeogpoint_to_th3index(Pointer temp, int resolution); + + Pointer tgeompoint_to_th3index(Pointer temp, int resolution); + + Pointer th3index_to_tgeogpoint(Pointer temp); + + Pointer th3index_to_tgeompoint(Pointer temp); + + Pointer th3index_cell_to_boundary(Pointer temp); + + Pointer geo_to_h3index_set(Pointer gs, int resolution); + + int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx); + + Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest); + + Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest); + + Pointer th3index_is_valid_directed_edge(Pointer edge); + + Pointer th3index_get_directed_edge_origin(Pointer edge); + + Pointer th3index_get_directed_edge_destination(Pointer edge); + + Pointer th3index_directed_edge_to_boundary(Pointer edge); + + Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num); + + Pointer th3index_vertex_to_latlng(Pointer temp); + + Pointer th3index_is_valid_vertex(Pointer temp); + + Pointer th3index_grid_distance(Pointer origin, Pointer dest); + + Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell); + + Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord); + + Pointer th3index_cell_area(Pointer temp, String unit); + + Pointer th3index_edge_length(Pointer temp, String unit); + + Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit); + + Pointer gsl_get_generation_rng(); + + Pointer gsl_get_aggregation_rng(); + + int datum_ceil(Pointer d); + + int datum_degrees(Pointer d, Pointer normalize); + + int datum_float_round(Pointer value, Pointer size); + + int datum_floor(Pointer d); + + int datum_hash(Pointer d, int basetype); + + long datum_hash_extended(Pointer d, int basetype, long seed); + + int datum_radians(Pointer d); + + void floatspan_round_set(Pointer s, int maxdd, Pointer result); + + Pointer set_in(String str, int basetype); + + String set_out(Pointer s, int maxdd); + + Pointer span_in(String str, int spantype); + + String span_out(Pointer s, int maxdd); + + Pointer spanset_in(String str, int spantype); + + String spanset_out(Pointer ss, int maxdd); + + Pointer set_make(Pointer values, int count, int basetype, boolean order); + + Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order); + + Pointer set_make_free(Pointer values, int count, int basetype, boolean order); + + Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype); + + void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer s); + + Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order); + + Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order); + + Pointer set_span(Pointer s); + + Pointer set_spanset(Pointer s); + + void value_set_span(Pointer value, int basetype, Pointer s); + + Pointer value_set(Pointer d, int basetype); + + Pointer value_span(Pointer d, int basetype); + + Pointer value_spanset(Pointer d, int basetype); + + int numspan_width(Pointer s); + + int numspanset_width(Pointer ss, boolean boundspan); + + int set_end_value(Pointer s); + + int set_mem_size(Pointer s); + + void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result); + + void set_set_span(Pointer s, Pointer result); + + int set_start_value(Pointer s); + + boolean set_value_n(Pointer s, int n, Pointer result); + + Pointer set_vals(Pointer s); + + Pointer set_values(Pointer s); + + int spanset_lower(Pointer ss); + + int spanset_mem_size(Pointer ss); + + Pointer spanset_sps(Pointer ss); + + int spanset_upper(Pointer ss); + + void bigintspan_set_floatspan(Pointer s1, Pointer s2); + + void bigintspan_set_intspan(Pointer s1, Pointer s2); + + void datespan_set_tstzspan(Pointer s1, Pointer s2); + + void floatspan_set_bigintspan(Pointer s1, Pointer s2); + + void floatspan_set_intspan(Pointer s1, Pointer s2); + + void intspan_set_bigintspan(Pointer s1, Pointer s2); + + void intspan_set_floatspan(Pointer s1, Pointer s2); + + Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer numspan_expand(Pointer s, Pointer value); + + Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer set_compact(Pointer s); + + void span_expand(Pointer s1, Pointer s2); + + Pointer spanset_compact(Pointer ss); + + Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp); + + Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert); + + void tstzspan_set_datespan(Pointer s1, Pointer s2); + + boolean adjacent_span_value(Pointer s, Pointer value); + + boolean adjacent_spanset_value(Pointer ss, Pointer value); + + boolean adjacent_value_spanset(Pointer value, Pointer ss); + + boolean contained_value_set(Pointer value, Pointer s); + + boolean contained_value_span(Pointer value, Pointer s); + + boolean contained_value_spanset(Pointer value, Pointer ss); + + boolean contains_set_value(Pointer s, Pointer value); + + boolean contains_span_value(Pointer s, Pointer value); + + boolean contains_spanset_value(Pointer ss, Pointer value); + + boolean ovadj_span_span(Pointer s1, Pointer s2); + + boolean left_set_value(Pointer s, Pointer value); + + boolean left_span_value(Pointer s, Pointer value); + + boolean left_spanset_value(Pointer ss, Pointer value); + + boolean left_value_set(Pointer value, Pointer s); + + boolean left_value_span(Pointer value, Pointer s); + + boolean left_value_spanset(Pointer value, Pointer ss); + + boolean lfnadj_span_span(Pointer s1, Pointer s2); + + boolean overleft_set_value(Pointer s, Pointer value); + + boolean overleft_span_value(Pointer s, Pointer value); + + boolean overleft_spanset_value(Pointer ss, Pointer value); + + boolean overleft_value_set(Pointer value, Pointer s); + + boolean overleft_value_span(Pointer value, Pointer s); + + boolean overleft_value_spanset(Pointer value, Pointer ss); + + boolean overright_set_value(Pointer s, Pointer value); + + boolean overright_span_value(Pointer s, Pointer value); + + boolean overright_spanset_value(Pointer ss, Pointer value); + + boolean overright_value_set(Pointer value, Pointer s); + + boolean overright_value_span(Pointer value, Pointer s); + + boolean overright_value_spanset(Pointer value, Pointer ss); + + } + + public interface MeosLibraryPartD { + + boolean right_value_set(Pointer value, Pointer s); + + boolean right_set_value(Pointer s, Pointer value); + + boolean right_value_span(Pointer value, Pointer s); + + boolean right_value_spanset(Pointer value, Pointer ss); + + boolean right_span_value(Pointer s, Pointer value); + + boolean right_spanset_value(Pointer ss, Pointer value); + + boolean bbox_type(int bboxtype); + + long bbox_get_size(int bboxtype); + + int bbox_max_dims(int bboxtype); + + boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype); + + int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype); + + void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result); + + boolean inter_span_span(Pointer s1, Pointer s2, Pointer result); + + Pointer intersection_set_value(Pointer s, Pointer value); + + Pointer intersection_span_value(Pointer s, Pointer value); + + Pointer intersection_spanset_value(Pointer ss, Pointer value); + + Pointer intersection_value_set(Pointer value, Pointer s); + + Pointer intersection_value_span(Pointer value, Pointer s); + + Pointer intersection_value_spanset(Pointer value, Pointer ss); + + int mi_span_span(Pointer s1, Pointer s2, Pointer result); + + Pointer minus_set_value(Pointer s, Pointer value); + + Pointer minus_span_value(Pointer s, Pointer value); + + Pointer minus_spanset_value(Pointer ss, Pointer value); + + Pointer minus_value_set(Pointer value, Pointer s); + + Pointer minus_value_span(Pointer value, Pointer s); + + Pointer minus_value_spanset(Pointer value, Pointer ss); + + Pointer super_union_span_span(Pointer s1, Pointer s2); + + Pointer union_set_value(Pointer s, Pointer value); + + Pointer union_span_value(Pointer s, Pointer value); + + Pointer union_spanset_value(Pointer ss, Pointer value); + + Pointer union_value_set(Pointer value, Pointer s); + + Pointer union_value_span(Pointer value, Pointer s); + + Pointer union_value_spanset(Pointer value, Pointer ss); + + int distance_set_set(Pointer s1, Pointer s2); + + int distance_set_value(Pointer s, Pointer value); + + int distance_span_span(Pointer s1, Pointer s2); + + int distance_span_value(Pointer s, Pointer value); + + int distance_spanset_span(Pointer ss, Pointer s); + + int distance_spanset_spanset(Pointer ss1, Pointer ss2); + + int distance_spanset_value(Pointer ss, Pointer value); + + int distance_value_value(Pointer l, Pointer r, int basetype); + + Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype); + + Pointer value_union_transfn(Pointer state, Pointer value, int basetype); + + Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s); + + Pointer number_timestamptz_to_tbox(Pointer d, int basetype, long t); + + void tbox_set(Pointer s, Pointer p, Pointer box); + + void float_set_tbox(double d, Pointer box); + + void int_set_tbox(int i, Pointer box); + + void number_set_tbox(Pointer d, int basetype, Pointer box); + + Pointer number_tbox(Pointer value, int basetype); + + void numset_set_tbox(Pointer s, Pointer box); + + void numspan_set_tbox(Pointer span, Pointer box); + + void timestamptz_set_tbox(long t, Pointer box); + + void tstzset_set_tbox(Pointer s, Pointer box); + + void tstzspan_set_tbox(Pointer s, Pointer box); + + Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + void tbox_expand(Pointer box1, Pointer box2); + + boolean inter_tbox_tbox(Pointer box1, Pointer box2, Pointer result); + + Pointer tboolinst_from_mfjson(Pointer mfjson); + + Pointer tboolinst_in(String str); + + Pointer tboolseq_from_mfjson(Pointer mfjson); + + Pointer tboolseq_in(String str, int interp); + + Pointer tboolseqset_from_mfjson(Pointer mfjson); + + Pointer tboolseqset_in(String str); + + Pointer temporal_in(String str, int temptype); + + String temporal_out(Pointer temp, int maxdd); + + Pointer temparr_out(Pointer temparr, int count, int maxdd); + + Pointer tfloatinst_from_mfjson(Pointer mfjson); + + Pointer tfloatinst_in(String str); + + Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp); + + Pointer tfloatseq_in(String str, int interp); + + Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp); + + Pointer tfloatseqset_in(String str); + + Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype); + + Pointer tinstant_in(String str, int temptype); + + String tinstant_out(Pointer inst, int maxdd); + + Pointer tintinst_from_mfjson(Pointer mfjson); + + Pointer tintinst_in(String str); + + Pointer tintseq_from_mfjson(Pointer mfjson); + + Pointer tintseq_in(String str, int interp); + + Pointer tintseqset_from_mfjson(Pointer mfjson); + + Pointer tintseqset_in(String str); + + Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); + + Pointer tsequence_in(String str, int temptype, int interp); + + String tsequence_out(Pointer seq, int maxdd); + + Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); + + Pointer tsequenceset_in(String str, int temptype, int interp); + + String tsequenceset_out(Pointer ss, int maxdd); + + Pointer ttextinst_from_mfjson(Pointer mfjson); + + Pointer ttextinst_in(String str); + + Pointer ttextseq_from_mfjson(Pointer mfjson); + + Pointer ttextseq_in(String str, int interp); + + Pointer ttextseqset_from_mfjson(Pointer mfjson); + + Pointer ttextseqset_in(String str); + + Pointer temporal_from_mfjson(String mfjson, int temptype); + + Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp); + + Pointer tinstant_copy(Pointer inst); + + Pointer tinstant_make(Pointer value, int temptype, long t); + + Pointer tinstant_make_free(Pointer value, int temptype, long t); + + Pointer tsequence_copy(Pointer seq); + + Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq); + + Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s); + + Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp); + + Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer tsequenceset_copy(Pointer ss); + + Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs); + + Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss); + + Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp); + + Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize); + + Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize); + + void temporal_set_tstzspan(Pointer temp, Pointer s); + + void tinstant_set_tstzspan(Pointer inst, Pointer s); + + void tnumber_set_tbox(Pointer temp, Pointer box); + + void tnumberinst_set_tbox(Pointer inst, Pointer box); + + void tnumberseq_set_tbox(Pointer seq, Pointer box); + + void tnumberseqset_set_tbox(Pointer ss, Pointer box); + + void tsequence_set_tstzspan(Pointer seq, Pointer s); + + void tsequenceset_set_tstzspan(Pointer ss, Pointer s); + + Pointer temporal_end_inst(Pointer temp); + + int temporal_end_value(Pointer temp); + + Pointer temporal_inst_n(Pointer temp, int n); + + Pointer temporal_insts_p(Pointer temp, Pointer count); + + Pointer temporal_max_inst_p(Pointer temp); + + int temporal_max_value(Pointer temp); + + long temporal_mem_size(Pointer temp); + + Pointer temporal_min_inst_p(Pointer temp); + + int temporal_min_value(Pointer temp); + + Pointer temporal_sequences_p(Pointer temp, Pointer count); + + void temporal_set_bbox(Pointer temp, Pointer box); + + Pointer temporal_start_inst(Pointer temp); + + int temporal_start_value(Pointer temp); + + Pointer temporal_values_p(Pointer temp, Pointer count); + + boolean temporal_value_n(Pointer temp, int n, Pointer result); + + Pointer temporal_values(Pointer temp, Pointer count); + + int tinstant_hash(Pointer inst); + + Pointer tinstant_insts(Pointer inst, Pointer count); + + void tinstant_set_bbox(Pointer inst, Pointer box); + + Pointer tinstant_time(Pointer inst); + + Pointer tinstant_timestamps(Pointer inst, Pointer count); + + int tinstant_value_p(Pointer inst); + + int tinstant_value(Pointer inst); + + boolean tinstant_value_at_timestamptz(Pointer inst, long t, Pointer result); + + Pointer tinstant_values_p(Pointer inst, Pointer count); + + void tnumber_set_span(Pointer temp, Pointer span); + + Pointer tnumberinst_valuespans(Pointer inst); + + double tnumberseq_avg_val(Pointer seq); + + Pointer tnumberseq_valuespans(Pointer seq); + + double tnumberseqset_avg_val(Pointer ss); + + Pointer tnumberseqset_valuespans(Pointer ss); + + Pointer tsequence_duration(Pointer seq); + + long tsequence_end_timestamptz(Pointer seq); + + int tsequence_hash(Pointer seq); + + Pointer tsequence_insts_p(Pointer seq); + + Pointer tsequence_max_inst_p(Pointer seq); + + int tsequence_max_val(Pointer seq); + + Pointer tsequence_min_inst_p(Pointer seq); + + int tsequence_min_val(Pointer seq); + + Pointer tsequence_segments(Pointer seq, Pointer count); + + Pointer tsequence_seqs(Pointer seq, Pointer count); + + long tsequence_start_timestamptz(Pointer seq); + + Pointer tsequence_time(Pointer seq); + + Pointer tsequence_timestamps(Pointer seq, Pointer count); + + boolean tsequence_value_at_timestamptz(Pointer seq, long t, boolean strict, Pointer result); + + Pointer tsequence_values_p(Pointer seq, Pointer count); + + Pointer tsequenceset_duration(Pointer ss, boolean boundspan); + + long tsequenceset_end_timestamptz(Pointer ss); + + int tsequenceset_hash(Pointer ss); + + Pointer tsequenceset_inst_n(Pointer ss, int n); + + Pointer tsequenceset_insts_p(Pointer ss); + + Pointer tsequenceset_max_inst_p(Pointer ss); + + int tsequenceset_max_val(Pointer ss); + + Pointer tsequenceset_min_inst_p(Pointer ss); + + int tsequenceset_min_val(Pointer ss); + + int tsequenceset_num_instants(Pointer ss); + + int tsequenceset_num_timestamps(Pointer ss); + + Pointer tsequenceset_segments(Pointer ss, Pointer count); + + Pointer tsequenceset_sequences_p(Pointer ss); + + long tsequenceset_start_timestamptz(Pointer ss); + + Pointer tsequenceset_time(Pointer ss); + + boolean tsequenceset_timestamptz_n(Pointer ss, int n, Pointer result); + + Pointer tsequenceset_timestamps(Pointer ss, Pointer count); + + boolean tsequenceset_value_at_timestamptz(Pointer ss, long t, boolean strict, Pointer result); + + boolean tsequenceset_value_n(Pointer ss, int n, Pointer result); + + Pointer tsequenceset_values_p(Pointer ss, Pointer count); + + void temporal_restart(Pointer temp, int count); + + Pointer temporal_tsequence(Pointer temp, int interp); + + Pointer temporal_tsequenceset(Pointer temp, int interp); + + Pointer tinstant_shift_time(Pointer inst, Pointer interv); + + Pointer tinstant_to_tsequence(Pointer inst, int interp); + + Pointer tinstant_to_tsequence_free(Pointer inst, int interp); + + Pointer tinstant_to_tsequenceset(Pointer inst, int interp); + + Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer tnumberinst_shift_value(Pointer inst, Pointer shift); + + Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth); + + void tsequence_restart(Pointer seq, int count); + + Pointer tsequence_set_interp(Pointer seq, int interp); + + Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration); + + Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc); + + Pointer tsequence_to_tinstant(Pointer seq); + + Pointer tsequence_to_tsequenceset(Pointer seq); + + Pointer tsequence_to_tsequenceset_free(Pointer seq); + + Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp); + + void tsequenceset_restart(Pointer ss, int count); + + Pointer tsequenceset_set_interp(Pointer ss, int interp); + + Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration); + + Pointer tsequenceset_to_discrete(Pointer ss); + + Pointer tsequenceset_to_linear(Pointer ss); + + Pointer tsequenceset_to_step(Pointer ss); + + Pointer tsequenceset_to_tinstant(Pointer ss); + + Pointer tsequenceset_to_tsequence(Pointer ss); + + Pointer tinstant_merge(Pointer inst1, Pointer inst2); + + Pointer tinstant_merge_array(Pointer instants, int count); + + Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand); + + Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand); + + Pointer tsequence_delete_timestamptz(Pointer seq, long t, boolean connect); + + Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect); + + Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect); + + Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect); + + Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect); + + Pointer tsequence_merge(Pointer seq1, Pointer seq2); + + Pointer tsequence_merge_array(Pointer sequences, int count); + + Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand); + + Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand); + + Pointer tsequenceset_delete_timestamptz(Pointer ss, long t); + + Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s); + + Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s); + + Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps); + + Pointer tsequenceset_insert(Pointer ss1, Pointer ss2); + + Pointer tsequenceset_merge(Pointer ss1, Pointer ss2); + + Pointer tsequenceset_merge_array(Pointer seqsets, int count); + + void tsequence_expand_bbox(Pointer seq, Pointer inst); + + void tsequence_set_bbox(Pointer seq, Pointer box); + + void tsequenceset_expand_bbox(Pointer ss, Pointer seq); + + void tsequenceset_set_bbox(Pointer ss, Pointer box); + + Pointer tcontseq_after_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tcontseq_before_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); + + Pointer tdiscseq_after_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tdiscseq_before_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); + + boolean temporal_bbox_restrict_set(Pointer temp, Pointer set); + + Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc); + + Pointer temporal_restrict_timestamptz(Pointer temp, long t, boolean atfunc); + + Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); + + Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); + + Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); + + Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc); + + Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc); + + boolean temporal_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + Pointer tinstant_after_timestamptz(Pointer inst, long t, boolean strict); + + Pointer tinstant_before_timestamptz(Pointer inst, long t, boolean strict); + + Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc); + + Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc); + + Pointer tinstant_restrict_timestamptz(Pointer inst, long t, boolean atfunc); + + Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc); + + Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc); + + Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc); + + Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc); + + Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc); + + Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc); + + Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc); + + Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc); + + Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc); + + Pointer tsequence_at_timestamptz(Pointer seq, long t); + + Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc); + + Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); + + Pointer tsequenceset_after_timestamptz(Pointer ss, long t, boolean strict); + + Pointer tsequenceset_before_timestamptz(Pointer ss, long t, boolean strict); + + Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc); + + Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc); + + Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc); + + Pointer tsequenceset_restrict_timestamptz(Pointer ss, long t, boolean atfunc); + + Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc); + + Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc); + + Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc); + + int tinstant_cmp(Pointer inst1, Pointer inst2); + + boolean tinstant_eq(Pointer inst1, Pointer inst2); + + int tsequence_cmp(Pointer seq1, Pointer seq2); + + boolean tsequence_eq(Pointer seq1, Pointer seq2); + + int tsequenceset_cmp(Pointer ss1, Pointer ss2); + + boolean tsequenceset_eq(Pointer ss1, Pointer ss2); + + int always_eq_base_temporal(Pointer value, Pointer temp); + + int always_eq_temporal_base(Pointer temp, Pointer value); + + int always_ne_base_temporal(Pointer value, Pointer temp); + + int always_ne_temporal_base(Pointer temp, Pointer value); + + int always_ge_base_temporal(Pointer value, Pointer temp); + + int always_ge_temporal_base(Pointer temp, Pointer value); + + int always_gt_base_temporal(Pointer value, Pointer temp); + + int always_gt_temporal_base(Pointer temp, Pointer value); + + int always_le_base_temporal(Pointer value, Pointer temp); + + int always_le_temporal_base(Pointer temp, Pointer value); + + int always_lt_base_temporal(Pointer value, Pointer temp); + + int always_lt_temporal_base(Pointer temp, Pointer value); + + int ever_eq_base_temporal(Pointer value, Pointer temp); + + int ever_eq_temporal_base(Pointer temp, Pointer value); + + int ever_ne_base_temporal(Pointer value, Pointer temp); + + int ever_ne_temporal_base(Pointer temp, Pointer value); + + int ever_ge_base_temporal(Pointer value, Pointer temp); + + int ever_ge_temporal_base(Pointer temp, Pointer value); + + int ever_gt_base_temporal(Pointer value, Pointer temp); + + int ever_gt_temporal_base(Pointer temp, Pointer value); + + int ever_le_base_temporal(Pointer value, Pointer temp); + + int ever_le_temporal_base(Pointer temp, Pointer value); + + int ever_lt_base_temporal(Pointer value, Pointer temp); + + int ever_lt_temporal_base(Pointer temp, Pointer value); + + Pointer tnumberinst_abs(Pointer inst); + + Pointer tnumberseq_abs(Pointer seq); + + Pointer tnumberseq_angular_difference(Pointer seq); + + Pointer tnumberseq_delta_value(Pointer seq); + + Pointer tnumberseqset_abs(Pointer ss); + + Pointer tnumberseqset_angular_difference(Pointer ss); + + Pointer tnumberseqset_delta_value(Pointer ss); + + double distance_span_span_double(Pointer s1, Pointer s2); + + double nad_tbox_tbox(Pointer box1, Pointer box2); + + double nad_tnumber_number(Pointer temp, Pointer value); + + double nad_tnumber_tbox(Pointer temp, Pointer box); + + double nad_tnumber_tnumber(Pointer temp1, Pointer temp2); + + Pointer tdistance_tnumber_number(Pointer temp, Pointer value); + + double tnumberinst_distance(Pointer inst1, Pointer inst2); + + double tnumberseq_integral(Pointer seq); + + double tnumberseq_twavg(Pointer seq); + + double tnumberseqset_integral(Pointer ss); + + double tnumberseqset_twavg(Pointer ss); + + Pointer temporal_compact(Pointer temp); + + Pointer tsequence_compact(Pointer seq); + + Pointer tsequenceset_compact(Pointer ss); + + Pointer temporal_skiplist_make(); + + Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn); + + int skiplist_search(Pointer list, Pointer key, Pointer value); + + void skiplist_free(Pointer list); + + void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype); + + void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings); + + Pointer skiplist_values(Pointer list); + + Pointer skiplist_keys_values(Pointer list, Pointer values); + + Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt); + + Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq); + + Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count); + + Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count); + + Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count); + + Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, Pointer count); + + Pointer tnumber_value_split(Pointer temp, Pointer vsize, Pointer vorigin, Pointer bins, Pointer count); + + Pointer tbox_get_value_time_tile(Pointer value, long t, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, int basetype, int spantype); + + Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); + + Pointer proj_get_context(); + + int datum_geo_round(Pointer value, Pointer size); + + Pointer point_round(Pointer gs, int maxdd); + + void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer box); + + void gbox_set_stbox(Pointer box, int srid, Pointer result); + + boolean geo_set_stbox(Pointer gs, Pointer box); + + void geoarr_set_stbox(Pointer values, int count, Pointer box); + + boolean spatial_set_stbox(Pointer d, int basetype, Pointer box); + + void spatialset_set_stbox(Pointer set, Pointer box); + + void stbox_set_box3d(Pointer box, Pointer box3d); + + void stbox_set_gbox(Pointer box, Pointer gbox); + + void tstzset_set_stbox(Pointer s, Pointer box); + + void tstzspan_set_stbox(Pointer s, Pointer box); + + void tstzspanset_set_stbox(Pointer s, Pointer box); + + void stbox_expand(Pointer box1, Pointer box2); + + boolean inter_stbox_stbox(Pointer box1, Pointer box2, Pointer result); + + Pointer stbox_geo(Pointer box); + + Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeogpointinst_in(String str); + + Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeogpointseq_in(String str, int interp); + + Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeogpointseqset_in(String str); + + Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeompointinst_in(String str); + + Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeompointseq_in(String str, int interp); + + Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeompointseqset_in(String str); + + Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeographyinst_in(String str); + + Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeographyseq_in(String str, int interp); + + Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeographyseqset_in(String str); + + Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeometryinst_in(String str); + + Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeometryseq_in(String str, int interp); + + Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeometryseqset_in(String str); + + void tspatial_set_stbox(Pointer temp, Pointer box); + + void tgeoinst_set_stbox(Pointer inst, Pointer box); + + void tspatialseq_set_stbox(Pointer seq, Pointer box); + + void tspatialseqset_set_stbox(Pointer ss, Pointer box); + + Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc); + + Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); + + Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc); + + Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc); + + Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc); + + Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc); + + int spatial_srid(Pointer d, int basetype); + + boolean spatial_set_srid(Pointer d, int basetype, int srid); + + int tspatialinst_srid(Pointer inst); + + Pointer tpointseq_azimuth(Pointer seq); + + Pointer tpointseq_cumulative_length(Pointer seq, double prevlength); + + boolean tpointseq_is_simple(Pointer seq); + + double tpointseq_length(Pointer seq); + + Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union); + + Pointer tgeoseq_stboxes(Pointer seq, Pointer count); + + Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count); + + Pointer tpointseqset_azimuth(Pointer ss); + + Pointer tpointseqset_cumulative_length(Pointer ss); + + boolean tpointseqset_is_simple(Pointer ss); + + double tpointseqset_length(Pointer ss); + + Pointer tgeoseqset_stboxes(Pointer ss, Pointer count); + + Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count); + + Pointer tpoint_get_coord(Pointer temp, int coord); + + Pointer tgeominst_tgeoginst(Pointer inst, boolean oper); + + Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper); + + Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper); + + Pointer tgeom_tgeog(Pointer temp, boolean oper); + + Pointer tgeo_tpoint(Pointer temp, boolean oper); + + void tspatialinst_set_srid(Pointer inst, int srid); + + Pointer tpointseq_make_simple(Pointer seq, Pointer count); + + void tspatialseq_set_srid(Pointer seq, int srid); + + Pointer tpointseqset_make_simple(Pointer ss, Pointer count); + + void tspatialseqset_set_srid(Pointer ss, int srid); + + Pointer tpointseq_twcentroid(Pointer seq); + + Pointer tpointseqset_twcentroid(Pointer ss); + + String npoint_as_ewkt(Pointer np, int maxdd); + + String npoint_as_hexwkb(Pointer np, byte variant, Pointer size_out); + + String npoint_as_text(Pointer np, int maxdd); + + Pointer npoint_as_wkb(Pointer np, byte variant, Pointer size_out); + + Pointer npoint_from_hexwkb(String hexwkb); + + Pointer npoint_from_wkb(Pointer wkb, long size); + + Pointer npoint_in(String str); + + String npoint_out(Pointer np, int maxdd); + + Pointer nsegment_in(String str); + + String nsegment_out(Pointer ns, int maxdd); + + Pointer npoint_make(long rid, double pos); + + Pointer nsegment_make(long rid, double pos1, double pos2); + + Pointer geompoint_to_npoint(Pointer gs); + + Pointer geom_to_nsegment(Pointer gs); + + Pointer npoint_to_geompoint(Pointer np); + + Pointer npoint_to_nsegment(Pointer np); + + Pointer npoint_to_stbox(Pointer np); + + Pointer nsegment_to_geom(Pointer ns); + + Pointer nsegment_to_stbox(Pointer np); + + int npoint_hash(Pointer np); + + long npoint_hash_extended(Pointer np, long seed); + + double npoint_position(Pointer np); + + long npoint_route(Pointer np); + + double nsegment_end_position(Pointer ns); + + long nsegment_route(Pointer ns); + + double nsegment_start_position(Pointer ns); + + boolean route_exists(long rid); + + Pointer route_geom(long rid); + + double route_length(long rid); + + Pointer npoint_round(Pointer np, int maxdd); + + Pointer nsegment_round(Pointer ns, int maxdd); + + int get_srid_ways(); + + int npoint_srid(Pointer np); + + int nsegment_srid(Pointer ns); + + Pointer npoint_timestamptz_to_stbox(Pointer np, long t); + + Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s); + + int npoint_cmp(Pointer np1, Pointer np2); + + boolean npoint_eq(Pointer np1, Pointer np2); + + boolean npoint_ge(Pointer np1, Pointer np2); + + boolean npoint_gt(Pointer np1, Pointer np2); + + boolean npoint_le(Pointer np1, Pointer np2); + + boolean npoint_lt(Pointer np1, Pointer np2); + + boolean npoint_ne(Pointer np1, Pointer np2); + + boolean npoint_same(Pointer np1, Pointer np2); + + int nsegment_cmp(Pointer ns1, Pointer ns2); + + boolean nsegment_eq(Pointer ns1, Pointer ns2); + + boolean nsegment_ge(Pointer ns1, Pointer ns2); + + boolean nsegment_gt(Pointer ns1, Pointer ns2); + + boolean nsegment_le(Pointer ns1, Pointer ns2); + + boolean nsegment_lt(Pointer ns1, Pointer ns2); + + boolean nsegment_ne(Pointer ns1, Pointer ns2); + + Pointer npointset_in(String str); + + String npointset_out(Pointer s, int maxdd); + + Pointer npointset_make(Pointer values, int count); + + Pointer npoint_to_set(Pointer np); + + Pointer npointset_end_value(Pointer s); + + Pointer npointset_routes(Pointer s); + + Pointer npointset_start_value(Pointer s); + + boolean npointset_value_n(Pointer s, int n, Pointer result); + + Pointer npointset_values(Pointer s); + + boolean contained_npoint_set(Pointer np, Pointer s); + + boolean contains_set_npoint(Pointer s, Pointer np); + + Pointer intersection_npoint_set(Pointer np, Pointer s); + + Pointer intersection_set_npoint(Pointer s, Pointer np); + + Pointer minus_npoint_set(Pointer np, Pointer s); + + Pointer minus_set_npoint(Pointer s, Pointer np); + + Pointer npoint_union_transfn(Pointer state, Pointer np); + + Pointer union_npoint_set(Pointer np, Pointer s); + + Pointer union_set_npoint(Pointer s, Pointer np); + + Pointer tnpoint_in(String str); + + Pointer tnpoint_from_mfjson(String mfjson); + + String tnpoint_out(Pointer temp, int maxdd); + + Pointer tnpointinst_make(Pointer np, long t); + + Pointer tgeompoint_to_tnpoint(Pointer temp); + + Pointer tnpoint_to_tgeompoint(Pointer temp); + + Pointer tnpoint_cumulative_length(Pointer temp); + + double tnpoint_length(Pointer temp); + + Pointer tnpoint_positions(Pointer temp, Pointer count); + + long tnpoint_route(Pointer temp); + + Pointer tnpoint_routes(Pointer temp); + + Pointer tnpoint_speed(Pointer temp); + + Pointer tnpoint_trajectory(Pointer temp); + + Pointer tnpoint_twcentroid(Pointer temp); + + Pointer tnpoint_at_geom(Pointer temp, Pointer gs); + + Pointer tnpoint_at_npoint(Pointer temp, Pointer np); + + Pointer tnpoint_at_npointset(Pointer temp, Pointer s); + + Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tnpoint_minus_geom(Pointer temp, Pointer gs); + + Pointer tnpoint_minus_npoint(Pointer temp, Pointer np); + + Pointer tnpoint_minus_npointset(Pointer temp, Pointer s); + + Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer tdistance_tnpoint_point(Pointer temp, Pointer gs); + + Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + double nad_tnpoint_geo(Pointer temp, Pointer gs); + + double nad_tnpoint_npoint(Pointer temp, Pointer np); + + double nad_tnpoint_stbox(Pointer temp, Pointer box); + + double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer nai_tnpoint_geo(Pointer temp, Pointer gs); + + Pointer nai_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp); + + int always_eq_npoint_tnpoint(Pointer np, Pointer temp); + + int always_eq_tnpoint_npoint(Pointer temp, Pointer np); + + int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int always_ne_npoint_tnpoint(Pointer np, Pointer temp); + + int always_ne_tnpoint_npoint(Pointer temp, Pointer np); + + int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int ever_eq_npoint_tnpoint(Pointer np, Pointer temp); + + int ever_eq_tnpoint_npoint(Pointer temp, Pointer np); + + int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int ever_ne_npoint_tnpoint(Pointer np, Pointer temp); + + int ever_ne_tnpoint_npoint(Pointer temp, Pointer np); + + int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer teq_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer tne_tnpoint_npoint(Pointer temp, Pointer np); + + String pose_as_ewkt(Pointer pose, int maxdd); + + String pose_as_hexwkb(Pointer pose, byte variant, Pointer size); + + String pose_as_text(Pointer pose, int maxdd); + + Pointer pose_as_wkb(Pointer pose, byte variant, Pointer size_out); + + Pointer pose_from_wkb(Pointer wkb, long size); + + Pointer pose_from_hexwkb(String hexwkb); + + Pointer pose_in(String str); + + String pose_out(Pointer pose, int maxdd); + + Pointer pose_copy(Pointer pose); + + Pointer pose_make_2d(double x, double y, double theta, int srid); + + Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid); + + Pointer pose_make_point2d(Pointer gs, double theta); + + Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z); + + Pointer pose_to_point(Pointer pose); + + Pointer pose_to_stbox(Pointer pose); + + int pose_hash(Pointer pose); + + long pose_hash_extended(Pointer pose, long seed); + + Pointer pose_orientation(Pointer pose); + + double pose_rotation(Pointer pose); + + Pointer pose_round(Pointer pose, int maxdd); + + Pointer posearr_round(Pointer posearr, int count, int maxdd); + + void pose_set_srid(Pointer pose, int srid); + + int pose_srid(Pointer pose); + + Pointer pose_transform(Pointer pose, int srid); + + Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward); + + Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s); + + Pointer pose_timestamptz_to_stbox(Pointer pose, long t); + + double distance_pose_geo(Pointer pose, Pointer gs); + + double distance_pose_pose(Pointer pose1, Pointer pose2); + + double distance_pose_stbox(Pointer pose, Pointer box); + + int pose_cmp(Pointer pose1, Pointer pose2); + + boolean pose_eq(Pointer pose1, Pointer pose2); + + boolean pose_ge(Pointer pose1, Pointer pose2); + + boolean pose_gt(Pointer pose1, Pointer pose2); + + boolean pose_le(Pointer pose1, Pointer pose2); + + boolean pose_lt(Pointer pose1, Pointer pose2); + + boolean pose_ne(Pointer pose1, Pointer pose2); + + boolean pose_nsame(Pointer pose1, Pointer pose2); + + boolean pose_same(Pointer pose1, Pointer pose2); + + Pointer poseset_in(String str); + + String poseset_out(Pointer s, int maxdd); + + Pointer poseset_make(Pointer values, int count); + + Pointer pose_to_set(Pointer pose); + + Pointer poseset_end_value(Pointer s); + + Pointer poseset_start_value(Pointer s); + + boolean poseset_value_n(Pointer s, int n, Pointer result); + + Pointer poseset_values(Pointer s); + + boolean contained_pose_set(Pointer pose, Pointer s); + + boolean contains_set_pose(Pointer s, Pointer pose); + + Pointer intersection_pose_set(Pointer pose, Pointer s); + + Pointer intersection_set_pose(Pointer s, Pointer pose); + + Pointer minus_pose_set(Pointer pose, Pointer s); + + Pointer minus_set_pose(Pointer s, Pointer pose); + + Pointer pose_union_transfn(Pointer state, Pointer pose); + + Pointer union_pose_set(Pointer pose, Pointer s); + + Pointer union_set_pose(Pointer s, Pointer pose); + + Pointer tpose_in(String str); + + Pointer tpose_make(Pointer tpoint, Pointer tradius); + + Pointer tpose_to_tpoint(Pointer temp); + + Pointer tpose_end_value(Pointer temp); + + Pointer tpose_points(Pointer temp); + + Pointer tpose_rotation(Pointer temp); + + Pointer tpose_start_value(Pointer temp); + + Pointer tpose_trajectory(Pointer temp); + + boolean tpose_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); + + boolean tpose_value_n(Pointer temp, int n, Pointer result); + + Pointer tpose_values(Pointer temp, Pointer count); + + Pointer tpose_at_geom(Pointer temp, Pointer gs); + + Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tpose_at_pose(Pointer temp, Pointer pose); + + Pointer tpose_minus_geom(Pointer temp, Pointer gs); + + Pointer tpose_minus_pose(Pointer temp, Pointer pose); + + Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_tpose_pose(Pointer temp, Pointer pose); + + Pointer tdistance_tpose_point(Pointer temp, Pointer gs); + + Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2); + + double nad_tpose_geo(Pointer temp, Pointer gs); + + double nad_tpose_pose(Pointer temp, Pointer pose); + + double nad_tpose_stbox(Pointer temp, Pointer box); + + double nad_tpose_tpose(Pointer temp1, Pointer temp2); + + Pointer nai_tpose_geo(Pointer temp, Pointer gs); + + Pointer nai_tpose_pose(Pointer temp, Pointer pose); + + Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2); + + Pointer shortestline_tpose_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tpose_pose(Pointer temp, Pointer pose); + + Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2); + + int always_eq_pose_tpose(Pointer pose, Pointer temp); + + int always_eq_tpose_pose(Pointer temp, Pointer pose); + + int always_eq_tpose_tpose(Pointer temp1, Pointer temp2); + + int always_ne_pose_tpose(Pointer pose, Pointer temp); + + int always_ne_tpose_pose(Pointer temp, Pointer pose); + + int always_ne_tpose_tpose(Pointer temp1, Pointer temp2); + + int ever_eq_pose_tpose(Pointer pose, Pointer temp); + + int ever_eq_tpose_pose(Pointer temp, Pointer pose); + + int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2); + + int ever_ne_pose_tpose(Pointer pose, Pointer temp); + + int ever_ne_tpose_pose(Pointer temp, Pointer pose); + + int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2); + + Pointer teq_pose_tpose(Pointer pose, Pointer temp); + + Pointer teq_tpose_pose(Pointer temp, Pointer pose); + + Pointer tne_pose_tpose(Pointer pose, Pointer temp); + + Pointer tne_tpose_pose(Pointer temp, Pointer pose); + + String trgeo_out(Pointer temp); + + Pointer trgeoinst_make(Pointer geom, Pointer pose, long t); + + Pointer geo_tpose_to_trgeo(Pointer gs, Pointer temp); + + Pointer trgeo_to_tpose(Pointer temp); + + Pointer trgeo_to_tpoint(Pointer temp); + + Pointer trgeo_end_instant(Pointer temp); + + Pointer trgeo_end_sequence(Pointer temp); + + Pointer trgeo_end_value(Pointer temp); + + Pointer trgeo_geom(Pointer temp); + + Pointer trgeo_instant_n(Pointer temp, int n); + + Pointer trgeo_instants(Pointer temp, Pointer count); + + Pointer trgeo_points(Pointer temp); + + Pointer trgeo_rotation(Pointer temp); + + Pointer trgeo_segments(Pointer temp, Pointer count); + + Pointer trgeo_sequence_n(Pointer temp, int i); + + Pointer trgeo_sequences(Pointer temp, Pointer count); + + Pointer trgeo_start_instant(Pointer temp); + + Pointer trgeo_start_sequence(Pointer temp); + + Pointer trgeo_start_value(Pointer temp); + + boolean trgeo_value_n(Pointer temp, int n, Pointer result); + + Pointer trgeo_traversed_area(Pointer temp, boolean unary_union); + + Pointer trgeo_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); + + Pointer trgeo_append_tsequence(Pointer temp, Pointer seq, boolean expand); + + Pointer trgeo_delete_timestamptz(Pointer temp, long t, boolean connect); + + Pointer trgeo_delete_tstzset(Pointer temp, Pointer s, boolean connect); + + Pointer trgeo_delete_tstzspan(Pointer temp, Pointer s, boolean connect); + + Pointer trgeo_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); + + Pointer trgeo_round(Pointer temp, int maxdd); + + Pointer trgeo_set_interp(Pointer temp, int interp); + + Pointer trgeo_to_tinstant(Pointer temp); + + Pointer trgeo_after_timestamptz(Pointer temp, long t, boolean strict); + + Pointer trgeo_before_timestamptz(Pointer temp, long t, boolean strict); + + Pointer trgeo_restrict_value(Pointer temp, Pointer value, boolean atfunc); + + Pointer trgeo_restrict_values(Pointer temp, Pointer s, boolean atfunc); + + Pointer trgeo_restrict_timestamptz(Pointer temp, long t, boolean atfunc); + + Pointer trgeo_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); + + Pointer trgeo_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); + + Pointer trgeo_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); + + Pointer tdistance_trgeo_geo(Pointer temp, Pointer gs); + + Pointer tdistance_trgeo_tpoint(Pointer temp1, Pointer temp2); + + Pointer tdistance_trgeo_trgeo(Pointer temp1, Pointer temp2); + + double nad_stbox_trgeo(Pointer box, Pointer temp); + + double nad_trgeo_geo(Pointer temp, Pointer gs); + + double nad_trgeo_stbox(Pointer temp, Pointer box); + + double nad_trgeo_tpoint(Pointer temp1, Pointer temp2); + + double nad_trgeo_trgeo(Pointer temp1, Pointer temp2); + + Pointer nai_trgeo_geo(Pointer temp, Pointer gs); + + Pointer nai_trgeo_tpoint(Pointer temp1, Pointer temp2); + + Pointer nai_trgeo_trgeo(Pointer temp1, Pointer temp2); + + Pointer shortestline_trgeo_geo(Pointer temp, Pointer gs); + + Pointer shortestline_trgeo_tpoint(Pointer temp1, Pointer temp2); + + Pointer shortestline_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int always_eq_geo_trgeo(Pointer gs, Pointer temp); + + int always_eq_trgeo_geo(Pointer temp, Pointer gs); + + int always_eq_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int always_ne_geo_trgeo(Pointer gs, Pointer temp); + + int always_ne_trgeo_geo(Pointer temp, Pointer gs); + + int always_ne_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int ever_eq_geo_trgeo(Pointer gs, Pointer temp); + + int ever_eq_trgeo_geo(Pointer temp, Pointer gs); + + int ever_eq_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int ever_ne_geo_trgeo(Pointer gs, Pointer temp); + + int ever_ne_trgeo_geo(Pointer temp, Pointer gs); + + int ever_ne_trgeo_trgeo(Pointer temp1, Pointer temp2); + + Pointer teq_geo_trgeo(Pointer gs, Pointer temp); + + Pointer teq_trgeo_geo(Pointer temp, Pointer gs); + + Pointer tne_geo_trgeo(Pointer gs, Pointer temp); + + Pointer tne_trgeo_geo(Pointer temp, Pointer gs); + + int geo_get_srid(Pointer g); + + int date_in(String str); + + String date_out(int d); + + int interval_cmp(Pointer interv1, Pointer interv2); + + Pointer interval_in(String str, int typmod); + + String interval_out(Pointer interv); + + Pointer time_in(String str, int typmod); + + String time_out(Pointer t); + + long timestamp_in(String str, int typmod); + + String timestamp_out(long t); + + long timestamptz_in(String str, int typmod); + + String timestamptz_out(long t); + + } + + private static final String _LIB = "libmeos.so"; + + static final MeosLibraryPartA _meos_a = + JarLibraryLoader.create(MeosLibraryPartA.class, _LIB).getLibraryInstance(); + static final MeosLibraryPartB _meos_b = + JarLibraryLoader.create(MeosLibraryPartB.class, _LIB).getLibraryInstance(); + static final MeosLibraryPartC _meos_c = + JarLibraryLoader.create(MeosLibraryPartC.class, _LIB).getLibraryInstance(); + static final MeosLibraryPartD _meos_d = + JarLibraryLoader.create(MeosLibraryPartD.class, _LIB).getLibraryInstance(); + + private static final java.util.Map _dispatch; + static { + _dispatch = new java.util.HashMap<>(4096); + for (java.lang.reflect.Method _m : MeosLibraryPartA.class.getMethods()) + _dispatch.put(_m.getName(), _meos_a); + for (java.lang.reflect.Method _m : MeosLibraryPartB.class.getMethods()) + _dispatch.put(_m.getName(), _meos_b); + for (java.lang.reflect.Method _m : MeosLibraryPartC.class.getMethods()) + _dispatch.put(_m.getName(), _meos_c); + for (java.lang.reflect.Method _m : MeosLibraryPartD.class.getMethods()) + _dispatch.put(_m.getName(), _meos_d); + } + + + + @SuppressWarnings("unused") + public static Pointer meos_array_create(int elem_size) { + var _result = _meos_a.meos_array_create(elem_size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_array_add(Pointer array, Pointer value) { + _meos_a.meos_array_add(array, value); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer meos_array_get(Pointer array, int n) { + var _result = _meos_a.meos_array_get(array, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_array_count(Pointer array) { + var _result = _meos_a.meos_array_count(array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_array_reset(Pointer array) { + _meos_a.meos_array_reset(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_array_reset_free(Pointer array) { + _meos_a.meos_array_reset_free(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_array_destroy(Pointer array) { + _meos_a.meos_array_destroy(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_array_destroy_free(Pointer array) { + _meos_a.meos_array_destroy_free(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_intspan() { + var _result = _meos_a.rtree_create_intspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_bigintspan() { + var _result = _meos_a.rtree_create_bigintspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_floatspan() { + var _result = _meos_a.rtree_create_floatspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_datespan() { + var _result = _meos_a.rtree_create_datespan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_tstzspan() { + var _result = _meos_a.rtree_create_tstzspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_tbox() { + var _result = _meos_a.rtree_create_tbox(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_stbox() { + var _result = _meos_a.rtree_create_stbox(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void rtree_free(Pointer rtree) { + _meos_a.rtree_free(rtree); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void rtree_insert(Pointer rtree, Pointer box, int id) { + _meos_a.rtree_insert(rtree, box, id); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void rtree_insert_temporal(Pointer rtree, Pointer temp, int id) { + _meos_a.rtree_insert_temporal(rtree, temp, id); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int rtree_search(Pointer rtree, int op, Pointer query, Pointer result) { + var _result = _meos_a.rtree_search(rtree, op, query, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result) { + var _result = _meos_a.rtree_search_temporal(rtree, op, temp, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_error(int errlevel, int errcode, String format) { + _meos_a.meos_error(errlevel, errcode, format); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int meos_errno() { + var _result = _meos_a.meos_errno(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_errno_set(int err) { + var _result = _meos_a.meos_errno_set(err); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_errno_restore(int err) { + var _result = _meos_a.meos_errno_restore(err); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_errno_reset() { + var _result = _meos_a.meos_errno_reset(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_initialize_timezone(String name) { + _meos_a.meos_initialize_timezone(name); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_initialize_error_handler(error_handler_fn err_handler) { + _meos_a.meos_initialize_error_handler(err_handler); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_timezone() { + _meos_a.meos_finalize_timezone(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_projsrs() { + _meos_a.meos_finalize_projsrs(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_ways() { + _meos_a.meos_finalize_ways(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean meos_set_datestyle(String newval, Pointer extra) { + var _result = _meos_a.meos_set_datestyle(newval, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_set_intervalstyle(String newval, int extra) { + var _result = _meos_a.meos_set_intervalstyle(newval, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String meos_get_datestyle() { + var _result = _meos_a.meos_get_datestyle(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String meos_get_intervalstyle() { + var _result = _meos_a.meos_get_intervalstyle(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_set_spatial_ref_sys_csv(String path) { + _meos_a.meos_set_spatial_ref_sys_csv(path); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_initialize() { + _meos_a.meos_initialize(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize() { + _meos_a.meos_finalize(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int add_date_int(int d, int days) { + var _result = _meos_a.add_date_int(d, days); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_interval_interval(Pointer interv1, Pointer interv2) { + var _result = _meos_a.add_interval_interval(interv1, interv2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime add_timestamptz_interval(OffsetDateTime t, Pointer interv) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.add_timestamptz_interval(t_new, interv); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static boolean bool_in(String str) { + var _result = _meos_a.bool_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bool_out(boolean b) { + var _result = _meos_a.bool_out(b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cstring2text(String str) { + var _result = _meos_a.cstring2text(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static LocalDateTime date_to_timestamp(int dateVal) { + var _result = _meos_a.date_to_timestamp(dateVal); + MeosErrorHandler.checkError(); + return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime date_to_timestamptz(int d) { + var _result = _meos_a.date_to_timestamptz(d); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static double float_exp(double d) { + var _result = _meos_a.float_exp(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_ln(double d) { + var _result = _meos_a.float_ln(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_log10(double d) { + var _result = _meos_a.float_log10(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String float8_out(double d, int maxdd) { + var _result = _meos_a.float8_out(d, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_round(double d, int maxdd) { + var _result = _meos_a.float_round(d, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int int32_cmp(int l, int r) { + var _result = _meos_a.int32_cmp(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int int64_cmp(long l, long r) { + var _result = _meos_a.int64_cmp(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) { + var _result = _meos_a.interval_make(years, months, weeks, days, hours, mins, secs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int minus_date_date(int d1, int d2) { + var _result = _meos_a.minus_date_date(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int minus_date_int(int d, int days) { + var _result = _meos_a.minus_date_int(d, days); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime minus_timestamptz_interval(OffsetDateTime t, Pointer interv) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_interval(t_new, interv); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_timestamptz(OffsetDateTime t1, OffsetDateTime t2) { + var t1_new = t1.toEpochSecond(); + var t2_new = t2.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_timestamptz(t1_new, t2_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_interval_double(Pointer interv, double factor) { + var _result = _meos_a.mul_interval_double(interv, factor); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pg_date_in(String str) { + var _result = _meos_a.pg_date_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pg_date_out(int d) { + var _result = _meos_a.pg_date_out(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pg_interval_cmp(Pointer interv1, Pointer interv2) { + var _result = _meos_a.pg_interval_cmp(interv1, interv2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pg_interval_in(String str, int typmod) { + var _result = _meos_a.pg_interval_in(str, typmod); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pg_interval_out(Pointer interv) { + var _result = _meos_a.pg_interval_out(interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static LocalDateTime pg_timestamp_in(String str, int typmod) { + var _result = _meos_a.pg_timestamp_in(str, typmod); + MeosErrorHandler.checkError(); + return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static String pg_timestamp_out(LocalDateTime t) { + var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); + var _result = _meos_a.pg_timestamp_out(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime pg_timestamptz_in(String str, int typmod) { + var _result = _meos_a.pg_timestamptz_in(str, typmod); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static String pg_timestamptz_out(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.pg_timestamptz_out(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String text2cstring(Pointer txt) { + var _result = _meos_a.text2cstring(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int text_cmp(Pointer txt1, Pointer txt2) { + var _result = _meos_a.text_cmp(txt1, txt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_copy(Pointer txt) { + var _result = _meos_a.text_copy(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_in(String str) { + var _result = _meos_a.text_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_initcap(Pointer txt) { + var _result = _meos_a.text_initcap(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_lower(Pointer txt) { + var _result = _meos_a.text_lower(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String text_out(Pointer txt) { + var _result = _meos_a.text_out(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_upper(Pointer txt) { + var _result = _meos_a.text_upper(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_text_text(Pointer txt1, Pointer txt2) { + var _result = _meos_a.textcat_text_text(txt1, txt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_shift(OffsetDateTime t, Pointer interv) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_shift(t_new, interv); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int timestamp_to_date(LocalDateTime t) { + var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); + var _result = _meos_a.timestamp_to_date(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int timestamptz_to_date(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_date(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_in(String str) { + var _result = _meos_a.bigintset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bigintset_out(Pointer set) { + var _result = _meos_a.bigintset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_expand(Pointer s, long value) { + var _result = _meos_a.bigintspan_expand(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_in(String str) { + var _result = _meos_a.bigintspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bigintspan_out(Pointer s) { + var _result = _meos_a.bigintspan_out(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspanset_in(String str) { + var _result = _meos_a.bigintspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bigintspanset_out(Pointer ss) { + var _result = _meos_a.bigintspanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_in(String str) { + var _result = _meos_a.dateset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String dateset_out(Pointer s) { + var _result = _meos_a.dateset_out(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_in(String str) { + var _result = _meos_a.datespan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String datespan_out(Pointer s) { + var _result = _meos_a.datespan_out(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_in(String str) { + var _result = _meos_a.datespanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String datespanset_out(Pointer ss) { + var _result = _meos_a.datespanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_in(String str) { + var _result = _meos_a.floatset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String floatset_out(Pointer set, int maxdd) { + var _result = _meos_a.floatset_out(set, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_expand(Pointer s, double value) { + var _result = _meos_a.floatspan_expand(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_in(String str) { + var _result = _meos_a.floatspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String floatspan_out(Pointer s, int maxdd) { + var _result = _meos_a.floatspan_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_in(String str) { + var _result = _meos_a.floatspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String floatspanset_out(Pointer ss, int maxdd) { + var _result = _meos_a.floatspanset_out(ss, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_in(String str) { + var _result = _meos_a.intset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String intset_out(Pointer set) { + var _result = _meos_a.intset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_expand(Pointer s, int value) { + var _result = _meos_a.intspan_expand(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_in(String str) { + var _result = _meos_a.intspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String intspan_out(Pointer s) { + var _result = _meos_a.intspan_out(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_in(String str) { + var _result = _meos_a.intspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String intspanset_out(Pointer ss) { + var _result = _meos_a.intspanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String set_as_hexwkb(Pointer s, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.set_as_hexwkb(s, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_as_wkb(Pointer s, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.set_as_wkb(s, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_from_hexwkb(String hexwkb) { + var _result = _meos_a.set_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.set_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String span_as_hexwkb(Pointer s, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.span_as_hexwkb(s, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_as_wkb(Pointer s, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.span_as_wkb(s, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_from_hexwkb(String hexwkb) { + var _result = _meos_a.span_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.span_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spanset_as_hexwkb(Pointer ss, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.spanset_as_hexwkb(ss, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_as_wkb(Pointer ss, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.spanset_as_wkb(ss, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_from_hexwkb(String hexwkb) { + var _result = _meos_a.spanset_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.spanset_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_in(String str) { + var _result = _meos_a.textset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String textset_out(Pointer set) { + var _result = _meos_a.textset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_in(String str) { + var _result = _meos_a.tstzset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tstzset_out(Pointer set) { + var _result = _meos_a.tstzset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_in(String str) { + var _result = _meos_a.tstzspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tstzspan_out(Pointer s) { + var _result = _meos_a.tstzspan_out(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_in(String str) { + var _result = _meos_a.tstzspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tstzspanset_out(Pointer ss) { + var _result = _meos_a.tstzspanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_make(Pointer values, int count) { + var _result = _meos_a.bigintset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.bigintspan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_make(Pointer values, int count) { + var _result = _meos_a.dateset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.datespan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_make(Pointer values, int count) { + var _result = _meos_a.floatset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.floatspan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_make(Pointer values, int count) { + var _result = _meos_a.intset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.intspan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_copy(Pointer s) { + var _result = _meos_a.set_copy(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_copy(Pointer s) { + var _result = _meos_a.span_copy(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_copy(Pointer ss) { + var _result = _meos_a.spanset_copy(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_make(Pointer spans, int count) { + var _result = _meos_a.spanset_make(spans, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_make(Pointer values, int count) { + var _result = _meos_a.textset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_make(Pointer values, int count) { + var _result = _meos_a.tstzset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_make(OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_a.tstzspan_make(lower_new, upper_new, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_set(long i) { + var _result = _meos_a.bigint_to_set(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_span(long i) { + var _result = _meos_a.bigint_to_span(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_spanset(long i) { + var _result = _meos_a.bigint_to_spanset(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_to_intspan(Pointer s) { + var _result = _meos_a.bigintspan_to_intspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_to_floatspan(Pointer s) { + var _result = _meos_a.bigintspan_to_floatspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_to_set(int d) { + var _result = _meos_a.date_to_set(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_to_span(int d) { + var _result = _meos_a.date_to_span(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_to_spanset(int d) { + var _result = _meos_a.date_to_spanset(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_to_tstzset(Pointer s) { + var _result = _meos_a.dateset_to_tstzset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_to_tstzspan(Pointer s) { + var _result = _meos_a.datespan_to_tstzspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_to_tstzspanset(Pointer ss) { + var _result = _meos_a.datespanset_to_tstzspanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_set(double d) { + var _result = _meos_a.float_to_set(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_span(double d) { + var _result = _meos_a.float_to_span(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_spanset(double d) { + var _result = _meos_a.float_to_spanset(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_to_intset(Pointer s) { + var _result = _meos_a.floatset_to_intset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_to_bigintspan(Pointer s) { + var _result = _meos_a.floatspan_to_bigintspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_to_intspan(Pointer s) { + var _result = _meos_a.floatspan_to_intspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_to_intspanset(Pointer ss) { + var _result = _meos_a.floatspanset_to_intspanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_set(int i) { + var _result = _meos_a.int_to_set(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_span(int i) { + var _result = _meos_a.int_to_span(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_spanset(int i) { + var _result = _meos_a.int_to_spanset(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_to_floatset(Pointer s) { + var _result = _meos_a.intset_to_floatset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_to_bigintspan(Pointer s) { + var _result = _meos_a.intspan_to_bigintspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_to_floatspan(Pointer s) { + var _result = _meos_a.intspan_to_floatspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_to_floatspanset(Pointer ss) { + var _result = _meos_a.intspanset_to_floatspanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_to_span(Pointer s) { + var _result = _meos_a.set_to_span(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_to_spanset(Pointer s) { + var _result = _meos_a.set_to_spanset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_to_spanset(Pointer s) { + var _result = _meos_a.span_to_spanset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_to_set(Pointer txt) { + var _result = _meos_a.text_to_set(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_set(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_set(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_span(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_span(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_spanset(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_spanset(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_to_dateset(Pointer s) { + var _result = _meos_a.tstzset_to_dateset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_to_datespan(Pointer s) { + var _result = _meos_a.tstzspan_to_datespan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_to_datespanset(Pointer ss) { + var _result = _meos_a.tstzspanset_to_datespanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintset_end_value(Pointer s) { + var _result = _meos_a.bigintset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintset_start_value(Pointer s) { + var _result = _meos_a.bigintset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.bigintset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_values(Pointer s) { + var _result = _meos_a.bigintset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspan_lower(Pointer s) { + var _result = _meos_a.bigintspan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspan_upper(Pointer s) { + var _result = _meos_a.bigintspan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspan_width(Pointer s) { + var _result = _meos_a.bigintspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspanset_lower(Pointer ss) { + var _result = _meos_a.bigintspanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspanset_upper(Pointer ss) { + var _result = _meos_a.bigintspanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_a.bigintspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int dateset_end_value(Pointer s) { + var _result = _meos_a.dateset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int dateset_start_value(Pointer s) { + var _result = _meos_a.dateset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.dateset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer dateset_values(Pointer s) { + var _result = _meos_a.dateset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_duration(Pointer s) { + var _result = _meos_a.datespan_duration(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespan_lower(Pointer s) { + var _result = _meos_a.datespan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespan_upper(Pointer s) { + var _result = _meos_a.datespan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_date_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.datespanset_date_n(ss, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_dates(Pointer ss) { + var _result = _meos_a.datespanset_dates(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_duration(Pointer ss, boolean boundspan) { + var _result = _meos_a.datespanset_duration(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespanset_end_date(Pointer ss) { + var _result = _meos_a.datespanset_end_date(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespanset_num_dates(Pointer ss) { + var _result = _meos_a.datespanset_num_dates(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespanset_start_date(Pointer ss) { + var _result = _meos_a.datespanset_start_date(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatset_end_value(Pointer s) { + var _result = _meos_a.floatset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatset_start_value(Pointer s) { + var _result = _meos_a.floatset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.floatset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer floatset_values(Pointer s) { + var _result = _meos_a.floatset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspan_lower(Pointer s) { + var _result = _meos_a.floatspan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspan_upper(Pointer s) { + var _result = _meos_a.floatspan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspan_width(Pointer s) { + var _result = _meos_a.floatspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspanset_lower(Pointer ss) { + var _result = _meos_a.floatspanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspanset_upper(Pointer ss) { + var _result = _meos_a.floatspanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_a.floatspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intset_end_value(Pointer s) { + var _result = _meos_a.intset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intset_start_value(Pointer s) { + var _result = _meos_a.intset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.intset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer intset_values(Pointer s) { + var _result = _meos_a.intset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspan_lower(Pointer s) { + var _result = _meos_a.intspan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspan_upper(Pointer s) { + var _result = _meos_a.intspan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspan_width(Pointer s) { + var _result = _meos_a.intspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspanset_lower(Pointer ss) { + var _result = _meos_a.intspanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspanset_upper(Pointer ss) { + var _result = _meos_a.intspanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_a.intspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_hash(Pointer s) { + var _result = _meos_a.set_hash(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long set_hash_extended(Pointer s, long seed) { + var _result = _meos_a.set_hash_extended(s, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_num_values(Pointer s) { + var _result = _meos_a.set_num_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_hash(Pointer s) { + var _result = _meos_a.span_hash(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long span_hash_extended(Pointer s, long seed) { + var _result = _meos_a.span_hash_extended(s, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_lower_inc(Pointer s) { + var _result = _meos_a.span_lower_inc(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_upper_inc(Pointer s) { + var _result = _meos_a.span_upper_inc(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_end_span(Pointer ss) { + var _result = _meos_a.spanset_end_span(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_hash(Pointer ss) { + var _result = _meos_a.spanset_hash(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long spanset_hash_extended(Pointer ss, long seed) { + var _result = _meos_a.spanset_hash_extended(ss, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_lower_inc(Pointer ss) { + var _result = _meos_a.spanset_lower_inc(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_num_spans(Pointer ss) { + var _result = _meos_a.spanset_num_spans(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_span(Pointer ss) { + var _result = _meos_a.spanset_span(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_span_n(Pointer ss, int i) { + var _result = _meos_a.spanset_span_n(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_spanarr(Pointer ss) { + var _result = _meos_a.spanset_spanarr(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_start_span(Pointer ss) { + var _result = _meos_a.spanset_start_span(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_upper_inc(Pointer ss) { + var _result = _meos_a.spanset_upper_inc(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_end_value(Pointer s) { + var _result = _meos_a.textset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_start_value(Pointer s) { + var _result = _meos_a.textset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.textset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer textset_values(Pointer s) { + var _result = _meos_a.textset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzset_end_value(Pointer s) { + var _result = _meos_a.tstzset_end_value(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzset_start_value(Pointer s) { + var _result = _meos_a.tstzset_start_value(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tstzset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_values(Pointer s) { + var _result = _meos_a.tstzset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_duration(Pointer s) { + var _result = _meos_a.tstzspan_duration(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspan_lower(Pointer s) { + var _result = _meos_a.tstzspan_lower(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspan_upper(Pointer s) { + var _result = _meos_a.tstzspan_upper(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_duration(Pointer ss, boolean boundspan) { + var _result = _meos_a.tstzspanset_duration(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_end_timestamptz(Pointer ss) { + var _result = _meos_a.tstzspanset_end_timestamptz(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_lower(Pointer ss) { + var _result = _meos_a.tstzspanset_lower(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int tstzspanset_num_timestamps(Pointer ss) { + var _result = _meos_a.tstzspanset_num_timestamps(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_start_timestamptz(Pointer ss) { + var _result = _meos_a.tstzspanset_start_timestamptz(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_timestamps(Pointer ss) { + var _result = _meos_a.tstzspanset_timestamps(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_timestamptz_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tstzspanset_timestamptz_n(ss, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_upper(Pointer ss) { + var _result = _meos_a.tstzspanset_upper(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.bigintset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.bigintspan_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.dateset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.datespan_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.datespanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_ceil(Pointer s) { + var _result = _meos_a.floatset_ceil(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_degrees(Pointer s, boolean normalize) { + var _result = _meos_a.floatset_degrees(s, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_floor(Pointer s) { + var _result = _meos_a.floatset_floor(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_radians(Pointer s) { + var _result = _meos_a.floatset_radians(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.floatset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_ceil(Pointer s) { + var _result = _meos_a.floatspan_ceil(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_degrees(Pointer s, boolean normalize) { + var _result = _meos_a.floatspan_degrees(s, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_floor(Pointer s) { + var _result = _meos_a.floatspan_floor(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_radians(Pointer s) { + var _result = _meos_a.floatspan_radians(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_round(Pointer s, int maxdd) { + var _result = _meos_a.floatspan_round(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.floatspan_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_ceil(Pointer ss) { + var _result = _meos_a.floatspanset_ceil(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_floor(Pointer ss) { + var _result = _meos_a.floatspanset_floor(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_degrees(Pointer ss, boolean normalize) { + var _result = _meos_a.floatspanset_degrees(ss, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_radians(Pointer ss) { + var _result = _meos_a.floatspanset_radians(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_round(Pointer ss, int maxdd) { + var _result = _meos_a.floatspanset_round(ss, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.floatspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.intset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.intspan_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.intspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_expand(Pointer s, Pointer interv) { + var _result = _meos_a.tstzspan_expand(s, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_round(Pointer s, int maxdd) { + var _result = _meos_a.set_round(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_text_textset(Pointer txt, Pointer s) { + var _result = _meos_a.textcat_text_textset(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_textset_text(Pointer s, Pointer txt) { + var _result = _meos_a.textcat_textset_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_initcap(Pointer s) { + var _result = _meos_a.textset_initcap(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_lower(Pointer s) { + var _result = _meos_a.textset_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_upper(Pointer s) { + var _result = _meos_a.textset_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_tprecision(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.timestamptz_tprecision(t_new, duration, torigin_new); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration) { + var _result = _meos_a.tstzset_shift_scale(s, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzset_tprecision(s, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_shift_scale(Pointer s, Pointer shift, Pointer duration) { + var _result = _meos_a.tstzspan_shift_scale(s, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzspan_tprecision(s, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration) { + var _result = _meos_a.tstzspanset_shift_scale(ss, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzspanset_tprecision(ss, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_cmp(Pointer s1, Pointer s2) { + var _result = _meos_a.set_cmp(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_eq(Pointer s1, Pointer s2) { + var _result = _meos_a.set_eq(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_ge(Pointer s1, Pointer s2) { + var _result = _meos_a.set_ge(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_gt(Pointer s1, Pointer s2) { + var _result = _meos_a.set_gt(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_le(Pointer s1, Pointer s2) { + var _result = _meos_a.set_le(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_lt(Pointer s1, Pointer s2) { + var _result = _meos_a.set_lt(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_ne(Pointer s1, Pointer s2) { + var _result = _meos_a.set_ne(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_cmp(Pointer s1, Pointer s2) { + var _result = _meos_a.span_cmp(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_eq(Pointer s1, Pointer s2) { + var _result = _meos_a.span_eq(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_ge(Pointer s1, Pointer s2) { + var _result = _meos_a.span_ge(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_gt(Pointer s1, Pointer s2) { + var _result = _meos_a.span_gt(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_le(Pointer s1, Pointer s2) { + var _result = _meos_a.span_le(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_lt(Pointer s1, Pointer s2) { + var _result = _meos_a.span_lt(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_ne(Pointer s1, Pointer s2) { + var _result = _meos_a.span_ne(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_cmp(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_cmp(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_eq(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_eq(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_ge(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_ge(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_gt(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_gt(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_le(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_le(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_lt(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_lt(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_ne(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_ne(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_spans(Pointer s) { + var _result = _meos_a.set_spans(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count) { + var _result = _meos_a.set_split_each_n_spans(s, elems_per_span, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_split_n_spans(Pointer s, int span_count, Pointer count) { + var _result = _meos_a.set_split_n_spans(s, span_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_spans(Pointer ss) { + var _result = _meos_a.spanset_spans(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count) { + var _result = _meos_a.spanset_split_each_n_spans(ss, elems_per_span, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count) { + var _result = _meos_a.spanset_split_n_spans(ss, span_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_bigint(Pointer s, long i) { + var _result = _meos_a.adjacent_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_date(Pointer s, int d) { + var _result = _meos_a.adjacent_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_float(Pointer s, double d) { + var _result = _meos_a.adjacent_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_int(Pointer s, int i) { + var _result = _meos_a.adjacent_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.adjacent_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.adjacent_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.adjacent_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.adjacent_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_date(Pointer ss, int d) { + var _result = _meos_a.adjacent_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_float(Pointer ss, double d) { + var _result = _meos_a.adjacent_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_int(Pointer ss, int i) { + var _result = _meos_a.adjacent_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.adjacent_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.adjacent_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.adjacent_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_bigint_set(long i, Pointer s) { + var _result = _meos_a.contained_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_bigint_span(long i, Pointer s) { + var _result = _meos_a.contained_bigint_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.contained_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_date_set(int d, Pointer s) { + var _result = _meos_a.contained_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_date_span(int d, Pointer s) { + var _result = _meos_a.contained_date_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_date_spanset(int d, Pointer ss) { + var _result = _meos_a.contained_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_float_set(double d, Pointer s) { + var _result = _meos_a.contained_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_float_span(double d, Pointer s) { + var _result = _meos_a.contained_float_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_float_spanset(double d, Pointer ss) { + var _result = _meos_a.contained_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_int_set(int i, Pointer s) { + var _result = _meos_a.contained_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_int_span(int i, Pointer s) { + var _result = _meos_a.contained_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_int_spanset(int i, Pointer ss) { + var _result = _meos_a.contained_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.contained_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.contained_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.contained_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.contained_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.contained_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.contained_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contained_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contained_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contained_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_bigint(Pointer s, long i) { + var _result = _meos_a.contains_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_date(Pointer s, int d) { + var _result = _meos_a.contains_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_float(Pointer s, double d) { + var _result = _meos_a.contains_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_int(Pointer s, int i) { + var _result = _meos_a.contains_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.contains_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_text(Pointer s, Pointer t) { + var _result = _meos_a.contains_set_text(s, t); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contains_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_bigint(Pointer s, long i) { + var _result = _meos_a.contains_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_date(Pointer s, int d) { + var _result = _meos_a.contains_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_float(Pointer s, double d) { + var _result = _meos_a.contains_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_int(Pointer s, int i) { + var _result = _meos_a.contains_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.contains_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.contains_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contains_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.contains_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_date(Pointer ss, int d) { + var _result = _meos_a.contains_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_float(Pointer ss, double d) { + var _result = _meos_a.contains_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_int(Pointer ss, int i) { + var _result = _meos_a.contains_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.contains_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.contains_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contains_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.overlaps_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.overlaps_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.overlaps_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.overlaps_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.overlaps_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_date_set(int d, Pointer s) { + var _result = _meos_a.after_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_date_span(int d, Pointer s) { + var _result = _meos_a.after_date_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_date_spanset(int d, Pointer ss) { + var _result = _meos_a.after_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_set_date(Pointer s, int d) { + var _result = _meos_a.after_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_span_date(Pointer s, int d) { + var _result = _meos_a.after_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_spanset_date(Pointer ss, int d) { + var _result = _meos_a.after_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_date_set(int d, Pointer s) { + var _result = _meos_a.before_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_date_span(int d, Pointer s) { + var _result = _meos_a.before_date_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_date_spanset(int d, Pointer ss) { + var _result = _meos_a.before_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_set_date(Pointer s, int d) { + var _result = _meos_a.before_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_span_date(Pointer s, int d) { + var _result = _meos_a.before_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_spanset_date(Pointer ss, int d) { + var _result = _meos_a.before_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_bigint_set(long i, Pointer s) { + var _result = _meos_a.left_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_bigint_span(long i, Pointer s) { + var _result = _meos_a.left_bigint_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.left_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_float_set(double d, Pointer s) { + var _result = _meos_a.left_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_float_span(double d, Pointer s) { + var _result = _meos_a.left_float_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_float_spanset(double d, Pointer ss) { + var _result = _meos_a.left_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_int_set(int i, Pointer s) { + var _result = _meos_a.left_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_int_span(int i, Pointer s) { + var _result = _meos_a.left_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_int_spanset(int i, Pointer ss) { + var _result = _meos_a.left_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_bigint(Pointer s, long i) { + var _result = _meos_a.left_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_float(Pointer s, double d) { + var _result = _meos_a.left_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_int(Pointer s, int i) { + var _result = _meos_a.left_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.left_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.left_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_bigint(Pointer s, long i) { + var _result = _meos_a.left_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_float(Pointer s, double d) { + var _result = _meos_a.left_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_int(Pointer s, int i) { + var _result = _meos_a.left_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.left_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.left_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.left_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_float(Pointer ss, double d) { + var _result = _meos_a.left_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_int(Pointer ss, int i) { + var _result = _meos_a.left_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.left_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.left_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.left_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_date_set(int d, Pointer s) { + var _result = _meos_a.overafter_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_date_span(int d, Pointer s) { + var _result = _meos_a.overafter_date_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_date_spanset(int d, Pointer ss) { + var _result = _meos_a.overafter_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_set_date(Pointer s, int d) { + var _result = _meos_a.overafter_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_span_date(Pointer s, int d) { + var _result = _meos_a.overafter_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_spanset_date(Pointer ss, int d) { + var _result = _meos_a.overafter_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_date_set(int d, Pointer s) { + var _result = _meos_a.overbefore_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_date_span(int d, Pointer s) { + var _result = _meos_a.overbefore_date_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_date_spanset(int d, Pointer ss) { + var _result = _meos_a.overbefore_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_set_date(Pointer s, int d) { + var _result = _meos_a.overbefore_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_span_date(Pointer s, int d) { + var _result = _meos_a.overbefore_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_spanset_date(Pointer ss, int d) { + var _result = _meos_a.overbefore_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_bigint_set(long i, Pointer s) { + var _result = _meos_a.overleft_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_bigint_span(long i, Pointer s) { + var _result = _meos_a.overleft_bigint_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.overleft_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_float_set(double d, Pointer s) { + var _result = _meos_a.overleft_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_float_span(double d, Pointer s) { + var _result = _meos_a.overleft_float_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_float_spanset(double d, Pointer ss) { + var _result = _meos_a.overleft_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_int_set(int i, Pointer s) { + var _result = _meos_a.overleft_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_int_span(int i, Pointer s) { + var _result = _meos_a.overleft_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_int_spanset(int i, Pointer ss) { + var _result = _meos_a.overleft_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_bigint(Pointer s, long i) { + var _result = _meos_a.overleft_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_float(Pointer s, double d) { + var _result = _meos_a.overleft_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_int(Pointer s, int i) { + var _result = _meos_a.overleft_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.overleft_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.overleft_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_bigint(Pointer s, long i) { + var _result = _meos_a.overleft_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_float(Pointer s, double d) { + var _result = _meos_a.overleft_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_int(Pointer s, int i) { + var _result = _meos_a.overleft_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.overleft_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.overleft_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.overleft_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_float(Pointer ss, double d) { + var _result = _meos_a.overleft_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_int(Pointer ss, int i) { + var _result = _meos_a.overleft_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.overleft_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.overleft_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.overleft_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_bigint_set(long i, Pointer s) { + var _result = _meos_a.overright_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_bigint_span(long i, Pointer s) { + var _result = _meos_a.overright_bigint_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.overright_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_float_set(double d, Pointer s) { + var _result = _meos_a.overright_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_float_span(double d, Pointer s) { + var _result = _meos_a.overright_float_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_float_spanset(double d, Pointer ss) { + var _result = _meos_a.overright_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_int_set(int i, Pointer s) { + var _result = _meos_a.overright_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_int_span(int i, Pointer s) { + var _result = _meos_a.overright_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_int_spanset(int i, Pointer ss) { + var _result = _meos_a.overright_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_bigint(Pointer s, long i) { + var _result = _meos_a.overright_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_float(Pointer s, double d) { + var _result = _meos_a.overright_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_int(Pointer s, int i) { + var _result = _meos_a.overright_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.overright_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.overright_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_bigint(Pointer s, long i) { + var _result = _meos_a.overright_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_float(Pointer s, double d) { + var _result = _meos_a.overright_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_int(Pointer s, int i) { + var _result = _meos_a.overright_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.overright_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.overright_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.overright_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_float(Pointer ss, double d) { + var _result = _meos_a.overright_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_int(Pointer ss, int i) { + var _result = _meos_a.overright_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.overright_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.overright_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.overright_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_bigint_set(long i, Pointer s) { + var _result = _meos_a.right_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_bigint_span(long i, Pointer s) { + var _result = _meos_a.right_bigint_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.right_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_float_set(double d, Pointer s) { + var _result = _meos_a.right_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_float_span(double d, Pointer s) { + var _result = _meos_a.right_float_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_float_spanset(double d, Pointer ss) { + var _result = _meos_a.right_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_int_set(int i, Pointer s) { + var _result = _meos_a.right_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_int_span(int i, Pointer s) { + var _result = _meos_a.right_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_int_spanset(int i, Pointer ss) { + var _result = _meos_a.right_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_bigint(Pointer s, long i) { + var _result = _meos_a.right_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_float(Pointer s, double d) { + var _result = _meos_a.right_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_int(Pointer s, int i) { + var _result = _meos_a.right_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.right_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.right_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_bigint(Pointer s, long i) { + var _result = _meos_a.right_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_float(Pointer s, double d) { + var _result = _meos_a.right_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_int(Pointer s, int i) { + var _result = _meos_a.right_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.right_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.right_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.right_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_float(Pointer ss, double d) { + var _result = _meos_a.right_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_int(Pointer ss, int i) { + var _result = _meos_a.right_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.right_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.right_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.right_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_bigint_set(long i, Pointer s) { + var _result = _meos_a.intersection_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_date_set(int d, Pointer s) { + var _result = _meos_a.intersection_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_float_set(double d, Pointer s) { + var _result = _meos_a.intersection_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_int_set(int i, Pointer s) { + var _result = _meos_a.intersection_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_bigint(Pointer s, long i) { + var _result = _meos_a.intersection_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_date(Pointer s, int d) { + var _result = _meos_a.intersection_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_float(Pointer s, double d) { + var _result = _meos_a.intersection_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_int(Pointer s, int i) { + var _result = _meos_a.intersection_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.intersection_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.intersection_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_bigint(Pointer s, long i) { + var _result = _meos_a.intersection_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_date(Pointer s, int d) { + var _result = _meos_a.intersection_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_float(Pointer s, double d) { + var _result = _meos_a.intersection_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_int(Pointer s, int i) { + var _result = _meos_a.intersection_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.intersection_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.intersection_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.intersection_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_date(Pointer ss, int d) { + var _result = _meos_a.intersection_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_float(Pointer ss, double d) { + var _result = _meos_a.intersection_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_int(Pointer ss, int i) { + var _result = _meos_a.intersection_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.intersection_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.intersection_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.intersection_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_bigint_set(long i, Pointer s) { + var _result = _meos_a.minus_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_bigint_span(long i, Pointer s) { + var _result = _meos_a.minus_bigint_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.minus_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_date_set(int d, Pointer s) { + var _result = _meos_a.minus_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_date_span(int d, Pointer s) { + var _result = _meos_a.minus_date_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_date_spanset(int d, Pointer ss) { + var _result = _meos_a.minus_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_float_set(double d, Pointer s) { + var _result = _meos_a.minus_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_float_span(double d, Pointer s) { + var _result = _meos_a.minus_float_span(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_float_spanset(double d, Pointer ss) { + var _result = _meos_a.minus_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_int_set(int i, Pointer s) { + var _result = _meos_a.minus_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_int_span(int i, Pointer s) { + var _result = _meos_a.minus_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_int_spanset(int i, Pointer ss) { + var _result = _meos_a.minus_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_bigint(Pointer s, long i) { + var _result = _meos_a.minus_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_date(Pointer s, int d) { + var _result = _meos_a.minus_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_float(Pointer s, double d) { + var _result = _meos_a.minus_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_int(Pointer s, int i) { + var _result = _meos_a.minus_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.minus_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.minus_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_bigint(Pointer s, long i) { + var _result = _meos_a.minus_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_date(Pointer s, int d) { + var _result = _meos_a.minus_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_float(Pointer s, double d) { + var _result = _meos_a.minus_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_int(Pointer s, int i) { + var _result = _meos_a.minus_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.minus_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.minus_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.minus_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_date(Pointer ss, int d) { + var _result = _meos_a.minus_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_float(Pointer ss, double d) { + var _result = _meos_a.minus_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_int(Pointer ss, int i) { + var _result = _meos_a.minus_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.minus_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.minus_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.minus_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_bigint_set(long i, Pointer s) { + var _result = _meos_a.union_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_bigint_span(Pointer s, long i) { + var _result = _meos_a.union_bigint_span(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.union_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_date_set(int d, Pointer s) { + var _result = _meos_a.union_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_date_span(Pointer s, int d) { + var _result = _meos_a.union_date_span(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_date_spanset(int d, Pointer ss) { + var _result = _meos_a.union_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_float_set(double d, Pointer s) { + var _result = _meos_a.union_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_float_span(Pointer s, double d) { + var _result = _meos_a.union_float_span(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_float_spanset(double d, Pointer ss) { + var _result = _meos_a.union_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_int_set(int i, Pointer s) { + var _result = _meos_a.union_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_int_span(int i, Pointer s) { + var _result = _meos_a.union_int_span(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_int_spanset(int i, Pointer ss) { + var _result = _meos_a.union_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_bigint(Pointer s, long i) { + var _result = _meos_a.union_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_date(Pointer s, int d) { + var _result = _meos_a.union_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_float(Pointer s, double d) { + var _result = _meos_a.union_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_int(Pointer s, int i) { + var _result = _meos_a.union_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.union_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.union_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_bigint(Pointer s, long i) { + var _result = _meos_a.union_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_date(Pointer s, int d) { + var _result = _meos_a.union_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_float(Pointer s, double d) { + var _result = _meos_a.union_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_int(Pointer s, int i) { + var _result = _meos_a.union_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.union_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.union_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.union_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_date(Pointer ss, int d) { + var _result = _meos_a.union_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_float(Pointer ss, double d) { + var _result = _meos_a.union_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_int(Pointer ss, int i) { + var _result = _meos_a.union_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_a.union_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.union_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.union_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_timestamptz_span(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_timestamptz_span(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintset_bigintset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_bigintset_bigintset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintspan_bigintspan(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_bigintspan_bigintspan(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintspanset_bigintspan(Pointer ss, Pointer s) { + var _result = _meos_a.distance_bigintspanset_bigintspan(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_bigintspanset_bigintspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_dateset_dateset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_dateset_dateset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_datespan_datespan(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_datespan_datespan(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_datespanset_datespan(Pointer ss, Pointer s) { + var _result = _meos_a.distance_datespanset_datespan(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_datespanset_datespanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_datespanset_datespanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatset_floatset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_floatset_floatset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatspan_floatspan(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_floatspan_floatspan(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatspanset_floatspan(Pointer ss, Pointer s) { + var _result = _meos_a.distance_floatspanset_floatspan(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_floatspanset_floatspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intset_intset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_intset_intset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intspan_intspan(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_intspan_intspan(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intspanset_intspan(Pointer ss, Pointer s) { + var _result = _meos_a.distance_intspanset_intspan(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intspanset_intspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_intspanset_intspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_set_bigint(Pointer s, long i) { + var _result = _meos_a.distance_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_set_date(Pointer s, int d) { + var _result = _meos_a.distance_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_set_float(Pointer s, double d) { + var _result = _meos_a.distance_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_set_int(Pointer s, int i) { + var _result = _meos_a.distance_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.distance_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_span_bigint(Pointer s, long i) { + var _result = _meos_a.distance_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_span_date(Pointer s, int d) { + var _result = _meos_a.distance_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_span_float(Pointer s, double d) { + var _result = _meos_a.distance_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_span_int(Pointer s, int i) { + var _result = _meos_a.distance_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.distance_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.distance_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_spanset_date(Pointer ss, int d) { + var _result = _meos_a.distance_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_spanset_float(Pointer ss, double d) { + var _result = _meos_a.distance_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_spanset_int(Pointer ss, int i) { + var _result = _meos_a.distance_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.distance_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzset_tstzset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_tstzset_tstzset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzspan_tstzspan(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_tstzspan_tstzspan(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzspanset_tstzspan(Pointer ss, Pointer s) { + var _result = _meos_a.distance_tstzspanset_tstzspan(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_tstzspanset_tstzspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_extent_transfn(Pointer state, long i) { + var _result = _meos_a.bigint_extent_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_union_transfn(Pointer state, long i) { + var _result = _meos_a.bigint_union_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_extent_transfn(Pointer state, int d) { + var _result = _meos_a.date_extent_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_union_transfn(Pointer state, int d) { + var _result = _meos_a.date_union_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_extent_transfn(Pointer state, double d) { + var _result = _meos_a.float_extent_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_union_transfn(Pointer state, double d) { + var _result = _meos_a.float_union_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_extent_transfn(Pointer state, int i) { + var _result = _meos_a.int_extent_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_union_transfn(Pointer state, int i) { + var _result = _meos_a.int_union_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_extent_transfn(Pointer state, Pointer s) { + var _result = _meos_a.set_extent_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_union_finalfn(Pointer state) { + var _result = _meos_a.set_union_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_union_transfn(Pointer state, Pointer s) { + var _result = _meos_a.set_union_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_extent_transfn(Pointer state, Pointer s) { + var _result = _meos_a.span_extent_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_union_transfn(Pointer state, Pointer s) { + var _result = _meos_a.span_union_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_extent_transfn(Pointer state, Pointer ss) { + var _result = _meos_a.spanset_extent_transfn(state, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_union_finalfn(Pointer state) { + var _result = _meos_a.spanset_union_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_union_transfn(Pointer state, Pointer ss) { + var _result = _meos_a.spanset_union_transfn(state, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_union_transfn(Pointer state, Pointer txt) { + var _result = _meos_a.text_union_transfn(state, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_extent_transfn(Pointer state, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_extent_transfn(state, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_union_transfn(Pointer state, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_union_transfn(state, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigint_get_bin(long value, long vsize, long vorigin) { + var _result = _meos_a.bigint_get_bin(value, vsize, vorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_bins(Pointer s, long vsize, long vorigin, Pointer count) { + var _result = _meos_a.bigintspan_bins(s, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count) { + var _result = _meos_a.bigintspanset_bins(ss, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int date_get_bin(int d, Pointer duration, int torigin) { + var _result = _meos_a.date_get_bin(d, duration, torigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_bins(Pointer s, Pointer duration, int torigin, Pointer count) { + var _result = _meos_a.datespan_bins(s, duration, torigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count) { + var _result = _meos_a.datespanset_bins(ss, duration, torigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_get_bin(double value, double vsize, double vorigin) { + var _result = _meos_a.float_get_bin(value, vsize, vorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_bins(Pointer s, double vsize, double vorigin, Pointer count) { + var _result = _meos_a.floatspan_bins(s, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count) { + var _result = _meos_a.floatspanset_bins(ss, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int int_get_bin(int value, int vsize, int vorigin) { + var _result = _meos_a.int_get_bin(value, vsize, vorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_bins(Pointer s, int vsize, int vorigin, Pointer count) { + var _result = _meos_a.intspan_bins(s, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count) { + var _result = _meos_a.intspanset_bins(ss, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_get_bin(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.timestamptz_get_bin(t_new, duration, torigin_new); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_bins(Pointer s, Pointer duration, OffsetDateTime origin, Pointer count) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_a.tstzspan_bins(s, duration, origin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_bins(Pointer ss, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzspanset_bins(ss, duration, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbox_as_hexwkb(Pointer box, byte variant, Pointer size) { + var _result = _meos_a.tbox_as_hexwkb(box, variant, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_as_wkb(Pointer box, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.tbox_as_wkb(box, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_from_hexwkb(String hexwkb) { + var _result = _meos_a.tbox_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.tbox_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_in(String str) { + var _result = _meos_a.tbox_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbox_out(Pointer box, int maxdd) { + var _result = _meos_a.tbox_out(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_timestamptz_to_tbox(double d, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.float_timestamptz_to_tbox(d, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_tstzspan_to_tbox(double d, Pointer s) { + var _result = _meos_a.float_tstzspan_to_tbox(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_timestamptz_to_tbox(int i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.int_timestamptz_to_tbox(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_tstzspan_to_tbox(int i, Pointer s) { + var _result = _meos_a.int_tstzspan_to_tbox(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_tstzspan_to_tbox(Pointer span, Pointer s) { + var _result = _meos_a.numspan_tstzspan_to_tbox(span, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_timestamptz_to_tbox(Pointer span, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.numspan_timestamptz_to_tbox(span, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_copy(Pointer box) { + var _result = _meos_a.tbox_copy(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_make(Pointer s, Pointer p) { + var _result = _meos_a.tbox_make(s, p); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_tbox(double d) { + var _result = _meos_a.float_to_tbox(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_tbox(int i) { + var _result = _meos_a.int_to_tbox(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_to_tbox(Pointer s) { + var _result = _meos_a.set_to_tbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_to_tbox(Pointer s) { + var _result = _meos_a.span_to_tbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_to_tbox(Pointer ss) { + var _result = _meos_a.spanset_to_tbox(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_bigintspan(Pointer box) { + var _result = _meos_a.tbox_to_bigintspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_intspan(Pointer box) { + var _result = _meos_a.tbox_to_intspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_floatspan(Pointer box) { + var _result = _meos_a.tbox_to_floatspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_tstzspan(Pointer box) { + var _result = _meos_a.tbox_to_tstzspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_tbox(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_tbox(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_hash(Pointer box) { + var _result = _meos_a.tbox_hash(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbox_hash_extended(Pointer box, long seed) { + var _result = _meos_a.tbox_hash_extended(box, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_hast(Pointer box) { + var _result = _meos_a.tbox_hast(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_hasx(Pointer box) { + var _result = _meos_a.tbox_hasx(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.tbox_tmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmax_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.tbox_tmax_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.tbox_tmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmin_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.tbox_tmin_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.tbox_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmax_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.tbox_xmax_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.tbox_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmin_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.tbox_xmin_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxfloat_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.tboxfloat_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxfloat_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.tboxfloat_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxint_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_b.tboxint_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxint_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_b.tboxint_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbigintbox_expand(Pointer box, long i) { + var _result = _meos_b.tbigintbox_expand(box, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_b.tbigintbox_shift_scale(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_expand_time(Pointer box, Pointer interv) { + var _result = _meos_b.tbox_expand_time(box, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_round(Pointer box, int maxdd) { + var _result = _meos_b.tbox_round(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { + var _result = _meos_b.tbox_shift_scale_time(box, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_expand(Pointer box, double d) { + var _result = _meos_b.tfloatbox_expand(box, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_b.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_expand(Pointer box, int i) { + var _result = _meos_b.tintbox_expand(box, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_b.tintbox_shift_scale(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict) { + var _result = _meos_b.union_tbox_tbox(box1, box2, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.intersection_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.adjacent_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.contained_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.contains_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overlaps_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.same_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.after_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.before_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.left_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overafter_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overbefore_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overleft_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overright_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_b.right_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_cmp(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_eq(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_eq(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_ge(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_ge(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_gt(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_gt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_le(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_le(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_lt(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_lt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_ne(Pointer box1, Pointer box2) { + var _result = _meos_b.tbox_ne(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_from_mfjson(String str) { + var _result = _meos_b.tbigint_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_in(String str) { + var _result = _meos_b.tbigint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbigint_out(Pointer temp) { + var _result = _meos_b.tbigint_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_from_mfjson(String str) { + var _result = _meos_b.tbool_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_in(String str) { + var _result = _meos_b.tbool_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbool_out(Pointer temp) { + var _result = _meos_b.tbool_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_as_hexwkb(Pointer temp, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_b.temporal_as_hexwkb(temp, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs) { + var _result = _meos_b.temporal_as_mfjson(temp, with_bbox, flags, precision, srs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_as_wkb(Pointer temp, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_b.temporal_as_wkb(temp, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_from_hexwkb(String hexwkb) { + var _result = _meos_b.temporal_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_from_wkb(Pointer wkb, long size) { + var _result = _meos_b.temporal_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_from_mfjson(String str) { + var _result = _meos_b.tfloat_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_in(String str) { + var _result = _meos_b.tfloat_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tfloat_out(Pointer temp, int maxdd) { + var _result = _meos_b.tfloat_out(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_from_mfjson(String str) { + var _result = _meos_b.tint_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_in(String str) { + var _result = _meos_b.tint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tint_out(Pointer temp) { + var _result = _meos_b.tint_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_from_mfjson(String str) { + var _result = _meos_b.ttext_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_in(String str) { + var _result = _meos_b.ttext_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String ttext_out(Pointer temp) { + var _result = _meos_b.ttext_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_from_base_temp(long i, Pointer temp) { + var _result = _meos_b.tbigint_from_base_temp(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintinst_make(long i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tbigintinst_make(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseq_from_base_tstzset(long i, Pointer s) { + var _result = _meos_b.tbigintseq_from_base_tstzset(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseq_from_base_tstzspan(long i, Pointer s) { + var _result = _meos_b.tbigintseq_from_base_tstzspan(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss) { + var _result = _meos_b.tbigintseqset_from_base_tstzspanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_from_base_temp(boolean b, Pointer temp) { + var _result = _meos_b.tbool_from_base_temp(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolinst_make(boolean b, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tboolinst_make(b, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseq_from_base_tstzset(boolean b, Pointer s) { + var _result = _meos_b.tboolseq_from_base_tstzset(b, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseq_from_base_tstzspan(boolean b, Pointer s) { + var _result = _meos_b.tboolseq_from_base_tstzspan(b, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss) { + var _result = _meos_b.tboolseqset_from_base_tstzspanset(b, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_copy(Pointer temp) { + var _result = _meos_b.temporal_copy(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_from_base_temp(double d, Pointer temp) { + var _result = _meos_b.tfloat_from_base_temp(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatinst_make(double d, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tfloatinst_make(d, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseq_from_base_tstzset(double d, Pointer s) { + var _result = _meos_b.tfloatseq_from_base_tstzset(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseq_from_base_tstzspan(double d, Pointer s, int interp) { + var _result = _meos_b.tfloatseq_from_base_tstzspan(d, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp) { + var _result = _meos_b.tfloatseqset_from_base_tstzspanset(d, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_from_base_temp(int i, Pointer temp) { + var _result = _meos_b.tint_from_base_temp(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintinst_make(int i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tintinst_make(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseq_from_base_tstzset(int i, Pointer s) { + var _result = _meos_b.tintseq_from_base_tstzset(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseq_from_base_tstzspan(int i, Pointer s) { + var _result = _meos_b.tintseq_from_base_tstzspan(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss) { + var _result = _meos_b.tintseqset_from_base_tstzspanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_b.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize) { + var _result = _meos_b.tsequenceset_make(sequences, count, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist) { + var _result = _meos_b.tsequenceset_make_gaps(instants, count, interp, maxt, maxdist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_from_base_temp(Pointer txt, Pointer temp) { + var _result = _meos_b.ttext_from_base_temp(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextinst_make(Pointer txt, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.ttextinst_make(txt, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s) { + var _result = _meos_b.ttextseq_from_base_tstzset(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer s) { + var _result = _meos_b.ttextseq_from_base_tstzspan(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss) { + var _result = _meos_b.ttextseqset_from_base_tstzspanset(txt, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_to_tfloat(Pointer temp) { + var _result = _meos_b.tbigint_to_tfloat(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_to_tint(Pointer temp) { + var _result = _meos_b.tbigint_to_tint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_to_tint(Pointer temp) { + var _result = _meos_b.tbool_to_tint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tstzspan(Pointer temp) { + var _result = _meos_b.temporal_to_tstzspan(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_to_tbigint(Pointer temp) { + var _result = _meos_b.tfloat_to_tbigint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_to_tint(Pointer temp) { + var _result = _meos_b.tfloat_to_tint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_to_tbigint(Pointer temp) { + var _result = _meos_b.tint_to_tbigint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_to_tfloat(Pointer temp) { + var _result = _meos_b.tint_to_tfloat(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_to_span(Pointer temp) { + var _result = _meos_b.tnumber_to_span(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_to_tbox(Pointer temp) { + var _result = _meos_b.tnumber_to_tbox(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_end_value(Pointer temp) { + var _result = _meos_b.tbigint_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_max_value(Pointer temp) { + var _result = _meos_b.tbigint_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_min_value(Pointer temp) { + var _result = _meos_b.tbigint_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_start_value(Pointer temp) { + var _result = _meos_b.tbigint_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbigint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tbigint_value_at_timestamptz(temp, t_new, strict, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_value_n(Pointer temp, long n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.tbigint_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_values(Pointer temp, Pointer count) { + var _result = _meos_b.tbigint_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbool_end_value(Pointer temp) { + var _result = _meos_b.tbool_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbool_start_value(Pointer temp) { + var _result = _meos_b.tbool_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbool_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tbool_value_at_timestamptz(temp, t_new, strict, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.tbool_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbool_values(Pointer temp, Pointer count) { + var _result = _meos_b.tbool_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_duration(Pointer temp, boolean boundspan) { + var _result = _meos_b.temporal_duration(temp, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_end_instant(Pointer temp) { + var _result = _meos_b.temporal_end_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_end_sequence(Pointer temp) { + var _result = _meos_b.temporal_end_sequence(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime temporal_end_timestamptz(Pointer temp) { + var _result = _meos_b.temporal_end_timestamptz(temp); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int temporal_hash(Pointer temp) { + var _result = _meos_b.temporal_hash(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_instant_n(Pointer temp, int n) { + var _result = _meos_b.temporal_instant_n(temp, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_instants(Pointer temp, Pointer count) { + var _result = _meos_b.temporal_instants(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_interp(Pointer temp) { + var _result = _meos_b.temporal_interp(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_lower_inc(Pointer temp) { + var _result = _meos_b.temporal_lower_inc(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_max_instant(Pointer temp) { + var _result = _meos_b.temporal_max_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_min_instant(Pointer temp) { + var _result = _meos_b.temporal_min_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_num_instants(Pointer temp) { + var _result = _meos_b.temporal_num_instants(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_num_sequences(Pointer temp) { + var _result = _meos_b.temporal_num_sequences(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_num_timestamps(Pointer temp) { + var _result = _meos_b.temporal_num_timestamps(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict) { + var _result = _meos_b.temporal_segm_duration(temp, duration, atleast, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_segments(Pointer temp, Pointer count) { + var _result = _meos_b.temporal_segments(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_sequence_n(Pointer temp, int i) { + var _result = _meos_b.temporal_sequence_n(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_sequences(Pointer temp, Pointer count) { + var _result = _meos_b.temporal_sequences(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_start_instant(Pointer temp) { + var _result = _meos_b.temporal_start_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_start_sequence(Pointer temp) { + var _result = _meos_b.temporal_start_sequence(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime temporal_start_timestamptz(Pointer temp) { + var _result = _meos_b.temporal_start_timestamptz(temp); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration) { + var _result = _meos_b.temporal_stops(temp, maxdist, minduration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_subtype(Pointer temp) { + var _result = _meos_b.temporal_subtype(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_time(Pointer temp) { + var _result = _meos_b.temporal_time(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_timestamps(Pointer temp, Pointer count) { + var _result = _meos_b.temporal_timestamps(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_timestamptz_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.temporal_timestamptz_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static boolean temporal_upper_inc(Pointer temp) { + var _result = _meos_b.temporal_upper_inc(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_avg_value(Pointer temp) { + var _result = _meos_b.tfloat_avg_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_end_value(Pointer temp) { + var _result = _meos_b.tfloat_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_min_value(Pointer temp) { + var _result = _meos_b.tfloat_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_max_value(Pointer temp) { + var _result = _meos_b.tfloat_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_start_value(Pointer temp) { + var _result = _meos_b.tfloat_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tfloat_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tfloat_value_at_timestamptz(temp, t_new, strict, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.tfloat_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_values(Pointer temp, Pointer count) { + var _result = _meos_b.tfloat_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_end_value(Pointer temp) { + var _result = _meos_b.tint_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_max_value(Pointer temp) { + var _result = _meos_b.tint_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_min_value(Pointer temp) { + var _result = _meos_b.tint_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_start_value(Pointer temp) { + var _result = _meos_b.tint_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tint_value_at_timestamptz(temp, t_new, strict, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_b.tint_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tint_values(Pointer temp, Pointer count) { + var _result = _meos_b.tint_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumber_avg_value(Pointer temp) { + var _result = _meos_b.tnumber_avg_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumber_integral(Pointer temp) { + var _result = _meos_b.tnumber_integral(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumber_twavg(Pointer temp) { + var _result = _meos_b.tnumber_twavg(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_valuespans(Pointer temp) { + var _result = _meos_b.tnumber_valuespans(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_end_value(Pointer temp) { + var _result = _meos_b.ttext_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_max_value(Pointer temp) { + var _result = _meos_b.ttext_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_min_value(Pointer temp) { + var _result = _meos_b.ttext_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_start_value(Pointer temp) { + var _result = _meos_b.ttext_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ttext_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.ttext_value_at_timestamptz(temp, t_new, strict, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.ttext_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer ttext_values(Pointer temp, Pointer count) { + var _result = _meos_b.ttext_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_degrees(double value, boolean normalize) { + var _result = _meos_b.float_degrees(value, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_scale_value(Pointer temp, long width) { + var _result = _meos_b.tbigint_scale_value(temp, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width) { + var _result = _meos_b.tbigint_shift_scale_value(temp, shift, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_shift_value(Pointer temp, long shift) { + var _result = _meos_b.tbigint_shift_value(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temparr_round(Pointer temp, int count, int maxdd) { + var _result = _meos_b.temparr_round(temp, count, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_round(Pointer temp, int maxdd) { + var _result = _meos_b.temporal_round(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_scale_time(Pointer temp, Pointer duration) { + var _result = _meos_b.temporal_scale_time(temp, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_set_interp(Pointer temp, int interp) { + var _result = _meos_b.temporal_set_interp(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration) { + var _result = _meos_b.temporal_shift_scale_time(temp, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_shift_time(Pointer temp, Pointer shift) { + var _result = _meos_b.temporal_shift_time(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tinstant(Pointer temp) { + var _result = _meos_b.temporal_to_tinstant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tsequence(Pointer temp, int interp) { + var _result = _meos_b.temporal_to_tsequence(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tsequenceset(Pointer temp, int interp) { + var _result = _meos_b.temporal_to_tsequenceset(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_ceil(Pointer temp) { + var _result = _meos_b.tfloat_ceil(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_degrees(Pointer temp, boolean normalize) { + var _result = _meos_b.tfloat_degrees(temp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_floor(Pointer temp) { + var _result = _meos_b.tfloat_floor(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_radians(Pointer temp) { + var _result = _meos_b.tfloat_radians(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_scale_value(Pointer temp, double width) { + var _result = _meos_b.tfloat_scale_value(temp, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width) { + var _result = _meos_b.tfloat_shift_scale_value(temp, shift, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_shift_value(Pointer temp, double shift) { + var _result = _meos_b.tfloat_shift_value(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_scale_value(Pointer temp, int width) { + var _result = _meos_b.tint_scale_value(temp, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_shift_scale_value(Pointer temp, int shift, int width) { + var _result = _meos_b.tint_shift_scale_value(temp, shift, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_shift_value(Pointer temp, int shift) { + var _result = _meos_b.tint_shift_value(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_b.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand) { + var _result = _meos_b.temporal_append_tsequence(temp, seq, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.temporal_delete_timestamptz(temp, t_new, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_b.temporal_delete_tstzset(temp, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_b.temporal_delete_tstzspan(temp, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { + var _result = _meos_b.temporal_delete_tstzspanset(temp, ss, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect) { + var _result = _meos_b.temporal_insert(temp1, temp2, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_merge(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_merge(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_merge_array(Pointer temparr, int count) { + var _result = _meos_b.temporal_merge_array(temparr, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect) { + var _result = _meos_b.temporal_update(temp1, temp2, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_at_value(Pointer temp, long i) { + var _result = _meos_b.tbigint_at_value(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_minus_value(Pointer temp, long i) { + var _result = _meos_b.tbigint_minus_value(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_at_value(Pointer temp, boolean b) { + var _result = _meos_b.tbool_at_value(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_minus_value(Pointer temp, boolean b) { + var _result = _meos_b.tbool_minus_value(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.temporal_after_timestamptz(temp, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_max(Pointer temp) { + var _result = _meos_b.temporal_at_max(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_min(Pointer temp) { + var _result = _meos_b.temporal_at_min(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_timestamptz(Pointer temp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.temporal_at_timestamptz(temp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_tstzset(Pointer temp, Pointer s) { + var _result = _meos_b.temporal_at_tstzset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.temporal_at_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss) { + var _result = _meos_b.temporal_at_tstzspanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_values(Pointer temp, Pointer set) { + var _result = _meos_b.temporal_at_values(temp, set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.temporal_before_timestamptz(temp, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_max(Pointer temp) { + var _result = _meos_b.temporal_minus_max(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_min(Pointer temp) { + var _result = _meos_b.temporal_minus_min(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_timestamptz(Pointer temp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.temporal_minus_timestamptz(temp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_tstzset(Pointer temp, Pointer s) { + var _result = _meos_b.temporal_minus_tstzset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.temporal_minus_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss) { + var _result = _meos_b.temporal_minus_tstzspanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_values(Pointer temp, Pointer set) { + var _result = _meos_b.temporal_minus_values(temp, set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_at_value(Pointer temp, double d) { + var _result = _meos_b.tfloat_at_value(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_minus_value(Pointer temp, double d) { + var _result = _meos_b.tfloat_minus_value(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_at_value(Pointer temp, int i) { + var _result = _meos_b.tint_at_value(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_minus_value(Pointer temp, int i) { + var _result = _meos_b.tint_minus_value(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_at_span(Pointer temp, Pointer span) { + var _result = _meos_b.tnumber_at_span(temp, span); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_at_spanset(Pointer temp, Pointer ss) { + var _result = _meos_b.tnumber_at_spanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_at_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.tnumber_at_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_minus_span(Pointer temp, Pointer span) { + var _result = _meos_b.tnumber_minus_span(temp, span); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_minus_spanset(Pointer temp, Pointer ss) { + var _result = _meos_b.tnumber_minus_spanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_minus_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.tnumber_minus_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_at_value(Pointer temp, Pointer txt) { + var _result = _meos_b.ttext_at_value(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_minus_value(Pointer temp, Pointer txt) { + var _result = _meos_b.ttext_minus_value(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_cmp(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_cmp(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_eq(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_eq(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_ge(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_ge(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_gt(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_gt(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_le(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_le(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_lt(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_lt(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_ne(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_ne(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.always_eq_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.always_eq_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.always_eq_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_int_tint(int i, Pointer temp) { + var _result = _meos_b.always_eq_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.always_eq_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_eq_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.always_eq_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.always_eq_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.always_eq_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tint_int(Pointer temp, int i) { + var _result = _meos_b.always_eq_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.always_eq_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.always_ge_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.always_ge_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_int_tint(int i, Pointer temp) { + var _result = _meos_b.always_ge_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.always_ge_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_ge_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.always_ge_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.always_ge_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_tint_int(Pointer temp, int i) { + var _result = _meos_b.always_ge_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.always_ge_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.always_gt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.always_gt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_int_tint(int i, Pointer temp) { + var _result = _meos_b.always_gt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.always_gt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_gt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.always_gt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.always_gt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_tint_int(Pointer temp, int i) { + var _result = _meos_b.always_gt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.always_gt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.always_le_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.always_le_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_int_tint(int i, Pointer temp) { + var _result = _meos_b.always_le_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.always_le_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_le_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.always_le_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.always_le_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_tint_int(Pointer temp, int i) { + var _result = _meos_b.always_le_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.always_le_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.always_lt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.always_lt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_int_tint(int i, Pointer temp) { + var _result = _meos_b.always_lt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_lt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.always_lt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.always_lt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_tint_int(Pointer temp, int i) { + var _result = _meos_b.always_lt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.always_lt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.always_ne_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.always_ne_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_int_tint(int i, Pointer temp) { + var _result = _meos_b.always_ne_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.always_lt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.always_ne_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.always_ne_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.always_ne_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_ne_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.always_ne_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.always_ne_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tint_int(Pointer temp, int i) { + var _result = _meos_b.always_ne_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.always_ne_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.ever_eq_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.ever_eq_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.ever_eq_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_int_tint(int i, Pointer temp) { + var _result = _meos_b.ever_eq_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.ever_eq_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.ever_eq_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_eq_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.ever_eq_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.ever_eq_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tint_int(Pointer temp, int i) { + var _result = _meos_b.ever_eq_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.ever_eq_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.ever_ge_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.ever_ge_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_int_tint(int i, Pointer temp) { + var _result = _meos_b.ever_ge_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.ever_ge_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_ge_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.ever_ge_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.ever_ge_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_tint_int(Pointer temp, int i) { + var _result = _meos_b.ever_ge_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.ever_ge_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.ever_gt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.ever_gt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_int_tint(int i, Pointer temp) { + var _result = _meos_b.ever_gt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.ever_gt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_gt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.ever_gt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.ever_gt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_tint_int(Pointer temp, int i) { + var _result = _meos_b.ever_gt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.ever_gt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.ever_le_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.ever_le_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_int_tint(int i, Pointer temp) { + var _result = _meos_b.ever_le_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.ever_le_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_le_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.ever_le_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.ever_le_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_tint_int(Pointer temp, int i) { + var _result = _meos_b.ever_le_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.ever_le_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.ever_lt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.ever_lt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_int_tint(int i, Pointer temp) { + var _result = _meos_b.ever_lt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.ever_lt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_lt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.ever_lt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.ever_lt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_tint_int(Pointer temp, int i) { + var _result = _meos_b.ever_lt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.ever_lt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_b.ever_ne_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.ever_ne_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.ever_ne_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_int_tint(int i, Pointer temp) { + var _result = _meos_b.ever_ne_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_b.ever_ne_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.ever_ne_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_ne_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.ever_ne_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.ever_ne_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tint_int(Pointer temp, int i) { + var _result = _meos_b.ever_ne_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.ever_ne_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.teq_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.teq_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_int_tint(int i, Pointer temp) { + var _result = _meos_b.teq_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.teq_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.teq_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.teq_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.teq_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tint_int(Pointer temp, int i) { + var _result = _meos_b.teq_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.teq_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tge_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_int_tint(int i, Pointer temp) { + var _result = _meos_b.tge_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tge_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tge_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tge_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_tint_int(Pointer temp, int i) { + var _result = _meos_b.tge_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tge_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tgt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_int_tint(int i, Pointer temp) { + var _result = _meos_b.tgt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tgt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tgt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tgt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_tint_int(Pointer temp, int i) { + var _result = _meos_b.tgt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tgt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tle_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_int_tint(int i, Pointer temp) { + var _result = _meos_b.tle_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tle_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tle_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tle_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_tint_int(Pointer temp, int i) { + var _result = _meos_b.tle_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tle_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tlt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_int_tint(int i, Pointer temp) { + var _result = _meos_b.tlt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tlt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tlt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tlt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_tint_int(Pointer temp, int i) { + var _result = _meos_b.tlt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tlt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.tne_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tne_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_int_tint(int i, Pointer temp) { + var _result = _meos_b.tne_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.tne_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tne_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tne_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tne_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tint_int(Pointer temp, int i) { + var _result = _meos_b.tne_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tne_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_spans(Pointer temp, Pointer count) { + var _result = _meos_b.temporal_spans(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_b.temporal_split_each_n_spans(temp, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count) { + var _result = _meos_b.temporal_split_n_spans(temp, span_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_b.tnumber_split_each_n_tboxes(temp, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count) { + var _result = _meos_b.tnumber_split_n_tboxes(temp, box_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_tboxes(Pointer temp, Pointer count) { + var _result = _meos_b.tnumber_tboxes(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.adjacent_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.adjacent_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adjacent_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.adjacent_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.adjacent_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.adjacent_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adjacent_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.adjacent_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.contained_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.contained_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contained_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.contained_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.contained_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.contained_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contained_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.contained_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.contains_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.contains_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.contains_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contains_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.contains_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.contains_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contains_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.contains_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.overlaps_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overlaps_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overlaps_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.overlaps_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.overlaps_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overlaps_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overlaps_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.overlaps_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.same_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.same_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.same_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.same_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.same_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.same_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.same_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.same_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.after_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.after_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.after_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.after_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.after_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.after_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.before_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.before_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.before_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.before_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.before_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.before_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.left_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.left_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.left_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.left_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.left_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overafter_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.overafter_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overafter_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overafter_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overafter_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.overafter_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overbefore_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_temporal_tstzspan(Pointer temp, Pointer s) { + var _result = _meos_b.overbefore_temporal_tstzspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overbefore_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overbefore_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overbefore_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tstzspan_temporal(Pointer s, Pointer temp) { + var _result = _meos_b.overbefore_tstzspan_temporal(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.overleft_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overleft_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.overleft_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overleft_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overleft_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.overright_numspan_tnumber(s, temp); + MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void rtree_insert(Pointer rtree, Pointer box, int id) { - _meos_a.rtree_insert(rtree, box, id); + public static boolean overright_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overright_tbox_tnumber(box, temp); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void rtree_insert_temporal(Pointer rtree, Pointer temp, int id) { - _meos_a.rtree_insert_temporal(rtree, temp, id); + public static boolean overright_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.overright_tnumber_numspan(temp, s); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static Pointer rtree_search(Pointer rtree, int op, Pointer query, Pointer count) { - var _result = _meos_a.rtree_search(rtree, op, query, count); + public static boolean overright_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overright_tnumber_tbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer count) { - var _result = _meos_a.rtree_search_temporal(rtree, op, temp, count); + public static boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overright_tnumber_tnumber(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static void meos_error(int errlevel, int errcode, String format) { - _meos_a.meos_error(errlevel, errcode, format); + public static boolean right_numspan_tnumber(Pointer s, Pointer temp) { + var _result = _meos_b.right_numspan_tnumber(s, temp); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static int meos_errno() { - var _result = _meos_a.meos_errno(); + public static boolean right_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.right_tbox_tnumber(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int meos_errno_set(int err) { - var _result = _meos_a.meos_errno_set(err); + public static boolean right_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_b.right_tnumber_numspan(temp, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int meos_errno_restore(int err) { - var _result = _meos_a.meos_errno_restore(err); + public static boolean right_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.right_tnumber_tbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int meos_errno_reset() { - var _result = _meos_a.meos_errno_reset(); + public static boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.right_tnumber_tnumber(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static void meos_initialize_timezone(String name) { - _meos_a.meos_initialize_timezone(name); + public static Pointer tand_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.tand_bool_tbool(b, temp); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void meos_initialize_error_handler(error_handler_fn err_handler) { - _meos_a.meos_initialize_error_handler(err_handler); + public static Pointer tand_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.tand_tbool_bool(temp, b); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void meos_finalize_timezone() { - _meos_a.meos_finalize_timezone(); + public static Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tand_tbool_tbool(temp1, temp2); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void meos_finalize_projsrs() { - _meos_a.meos_finalize_projsrs(); + public static Pointer tbool_when_true(Pointer temp) { + var _result = _meos_b.tbool_when_true(temp); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void meos_finalize_ways() { - _meos_a.meos_finalize_ways(); + public static Pointer tnot_tbool(Pointer temp) { + var _result = _meos_b.tnot_tbool(temp); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static boolean meos_set_datestyle(String newval, Pointer extra) { - var _result = _meos_a.meos_set_datestyle(newval, extra); + public static Pointer tor_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.tor_bool_tbool(b, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean meos_set_intervalstyle(String newval, int extra) { - var _result = _meos_a.meos_set_intervalstyle(newval, extra); + public static Pointer tor_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.tor_tbool_bool(temp, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String meos_get_datestyle() { - var _result = _meos_a.meos_get_datestyle(); + public static Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tor_tbool_tbool(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String meos_get_intervalstyle() { - var _result = _meos_a.meos_get_intervalstyle(); + public static Pointer add_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.add_bigint_tbigint(i, tnumber); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static void meos_set_spatial_ref_sys_csv(String path) { - _meos_a.meos_set_spatial_ref_sys_csv(path); + public static Pointer add_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.add_float_tfloat(d, tnumber); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void meos_initialize() { - _meos_a.meos_initialize(); + public static Pointer add_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.add_int_tint(i, tnumber); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static void meos_finalize() { - _meos_a.meos_finalize(); + public static Pointer add_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.add_tbigint_bigint(tnumber, i); MeosErrorHandler.checkError(); + return _result; } @SuppressWarnings("unused") - public static int add_date_int(int d, int days) { - var _result = _meos_a.add_date_int(d, days); + public static Pointer add_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.add_tfloat_float(tnumber, d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer add_interval_interval(Pointer interv1, Pointer interv2) { - var _result = _meos_a.add_interval_interval(interv1, interv2); + public static Pointer add_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.add_tint_int(tnumber, i); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime add_timestamptz_interval(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.add_timestamptz_interval(t_new, interv); + public static Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.add_tnumber_tnumber(tnumber1, tnumber2); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static boolean bool_in(String str) { - var _result = _meos_a.bool_in(str); + public static Pointer div_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.div_bigint_tbigint(i, tnumber); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String bool_out(boolean b) { - var _result = _meos_a.bool_out(b); + public static Pointer div_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.div_float_tfloat(d, tnumber); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer cstring2text(String str) { - var _result = _meos_a.cstring2text(str); + public static Pointer div_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.div_int_tint(i, tnumber); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static LocalDateTime date_to_timestamp(int dateVal) { - var _result = _meos_a.date_to_timestamp(dateVal); + public static Pointer div_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.div_tbigint_bigint(tnumber, i); MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static OffsetDateTime date_to_timestamptz(int d) { - var _result = _meos_a.date_to_timestamptz(d); + public static Pointer div_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.div_tfloat_float(tnumber, d); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static double float_exp(double d) { - var _result = _meos_a.float_exp(d); + public static Pointer div_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.div_tint_int(tnumber, i); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double float_ln(double d) { - var _result = _meos_a.float_ln(d); + public static Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.div_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.mul_bigint_tbigint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.mul_float_tfloat(d, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.mul_int_tint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.mul_tbigint_bigint(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.mul_tfloat_float(tnumber, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.mul_tint_int(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.mul_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.sub_bigint_tbigint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.sub_float_tfloat(d, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.sub_int_tint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.sub_tbigint_bigint(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.sub_tfloat_float(tnumber, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.sub_tint_int(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.sub_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_derivative(Pointer temp) { + var _result = _meos_b.temporal_derivative(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_exp(Pointer temp) { + var _result = _meos_b.tfloat_exp(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_ln(Pointer temp) { + var _result = _meos_b.tfloat_ln(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_log10(Pointer temp) { + var _result = _meos_b.tfloat_log10(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_abs(Pointer temp) { + var _result = _meos_b.tnumber_abs(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_trend(Pointer temp) { + var _result = _meos_b.tnumber_trend(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_angular_difference(double degrees1, double degrees2) { + var _result = _meos_b.float_angular_difference(degrees1, degrees2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_angular_difference(Pointer temp) { + var _result = _meos_b.tnumber_angular_difference(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_delta_value(Pointer temp) { + var _result = _meos_b.tnumber_delta_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.textcat_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.textcat_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2) { + var _result = _meos_b.textcat_ttext_ttext(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_initcap(Pointer temp) { + var _result = _meos_b.ttext_initcap(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double float_log10(double d) { - var _result = _meos_a.float_log10(d); + public static Pointer ttext_upper(Pointer temp) { + var _result = _meos_b.ttext_upper(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String float8_out(double d, int maxdd) { - var _result = _meos_a.float8_out(d, maxdd); + public static Pointer ttext_lower(Pointer temp) { + var _result = _meos_b.ttext_lower(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double float_round(double d, int maxdd) { - var _result = _meos_a.float_round(d, maxdd); + public static Pointer tdistance_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tdistance_tfloat_float(temp, d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int int32_cmp(int l, int r) { - var _result = _meos_a.int32_cmp(l, r); + public static Pointer tdistance_tint_int(Pointer temp, int i) { + var _result = _meos_b.tdistance_tint_int(temp, i); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int int64_cmp(long l, long r) { - var _result = _meos_a.int64_cmp(l, r); + public static Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tdistance_tnumber_tnumber(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) { - var _result = _meos_a.interval_make(years, months, weeks, days, hours, mins, secs); + public static double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2) { + var _result = _meos_b.nad_tboxfloat_tboxfloat(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int minus_date_date(int d1, int d2) { - var _result = _meos_a.minus_date_date(d1, d2); + public static int nad_tboxint_tboxint(Pointer box1, Pointer box2) { + var _result = _meos_b.nad_tboxint_tboxint(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int minus_date_int(int d, int days) { - var _result = _meos_a.minus_date_int(d, days); + public static double nad_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.nad_tfloat_float(temp, d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime minus_timestamptz_interval(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_interval(t_new, interv); + public static double nad_tfloat_tfloat(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nad_tfloat_tfloat(temp1, temp2); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer minus_timestamptz_timestamptz(OffsetDateTime t1, OffsetDateTime t2) { - var t1_new = t1.toEpochSecond(); - var t2_new = t2.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_timestamptz(t1_new, t2_new); + public static double nad_tfloat_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.nad_tfloat_tbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer mul_interval_double(Pointer interv, double factor) { - var _result = _meos_a.mul_interval_double(interv, factor); + public static int nad_tint_int(Pointer temp, int i) { + var _result = _meos_b.nad_tint_int(temp, i); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int pg_date_in(String str) { - var _result = _meos_a.pg_date_in(str); + public static int nad_tint_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.nad_tint_tbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String pg_date_out(int d) { - var _result = _meos_a.pg_date_out(d); + public static int nad_tint_tint(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nad_tint_tint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int pg_interval_cmp(Pointer interv1, Pointer interv2) { - var _result = _meos_a.pg_interval_cmp(interv1, interv2); + public static Pointer tbool_tand_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tbool_tand_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer pg_interval_in(String str, int typmod) { - var _result = _meos_a.pg_interval_in(str, typmod); + public static Pointer tbool_tor_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tbool_tor_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String pg_interval_out(Pointer interv) { - var _result = _meos_a.pg_interval_out(interv); + public static Pointer temporal_extent_transfn(Pointer s, Pointer temp) { + var _result = _meos_b.temporal_extent_transfn(s, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static LocalDateTime pg_timestamp_in(String str, int typmod) { - var _result = _meos_a.pg_timestamp_in(str, typmod); + public static Pointer temporal_merge_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.temporal_merge_transfn(state, temp); MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static String pg_timestamp_out(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = _meos_a.pg_timestamp_out(t_new); + public static Pointer temporal_merge_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.temporal_merge_combinefn(state1, state2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime pg_timestamptz_in(String str, int typmod) { - var _result = _meos_a.pg_timestamptz_in(str, typmod); + public static Pointer temporal_tagg_finalfn(Pointer state) { + var _result = _meos_b.temporal_tagg_finalfn(state); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static String pg_timestamptz_out(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.pg_timestamptz_out(t_new); + public static Pointer temporal_tcount_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.temporal_tcount_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String text2cstring(Pointer txt) { - var _result = _meos_a.text2cstring(txt); + public static Pointer tfloat_tmax_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tfloat_tmax_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int text_cmp(Pointer txt1, Pointer txt2) { - var _result = _meos_a.text_cmp(txt1, txt2); + public static Pointer tfloat_tmin_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tfloat_tmin_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer text_copy(Pointer txt) { - var _result = _meos_a.text_copy(txt); + public static Pointer tfloat_tsum_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tfloat_tsum_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer text_in(String str) { - var _result = _meos_a.text_in(str); + public static Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tfloat_wmax_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer text_initcap(Pointer txt) { - var _result = _meos_a.text_initcap(txt); + public static Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tfloat_wmin_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer text_lower(Pointer txt) { - var _result = _meos_a.text_lower(txt); + public static Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tfloat_wsum_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String text_out(Pointer txt) { - var _result = _meos_a.text_out(txt); + public static Pointer timestamptz_tcount_transfn(Pointer state, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.timestamptz_tcount_transfn(state, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer text_upper(Pointer txt) { - var _result = _meos_a.text_upper(txt); + public static Pointer tint_tmax_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tint_tmax_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textcat_text_text(Pointer txt1, Pointer txt2) { - var _result = _meos_a.textcat_text_text(txt1, txt2); + public static Pointer tint_tmin_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tint_tmin_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_shift(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_shift(t_new, interv); + public static Pointer tint_tsum_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tint_tsum_transfn(state, temp); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static int timestamp_to_date(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = _meos_a.timestamp_to_date(t_new); + public static Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tint_wmax_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int timestamptz_to_date(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_date(t_new); + public static Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tint_wmin_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintset_in(String str) { - var _result = _meos_a.bigintset_in(str); + public static Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tint_wsum_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String bigintset_out(Pointer set) { - var _result = _meos_a.bigintset_out(set); + public static Pointer tnumber_extent_transfn(Pointer box, Pointer temp) { + var _result = _meos_b.tnumber_extent_transfn(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspan_expand(Pointer s, long value) { - var _result = _meos_a.bigintspan_expand(s, value); + public static Pointer tnumber_tavg_finalfn(Pointer state) { + var _result = _meos_b.tnumber_tavg_finalfn(state); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspan_in(String str) { - var _result = _meos_a.bigintspan_in(str); + public static Pointer tnumber_tavg_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tnumber_tavg_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String bigintspan_out(Pointer s) { - var _result = _meos_a.bigintspan_out(s); + public static Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tnumber_wavg_transfn(state, temp, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspanset_in(String str) { - var _result = _meos_a.bigintspanset_in(str); + public static Pointer tstzset_tcount_transfn(Pointer state, Pointer s) { + var _result = _meos_b.tstzset_tcount_transfn(state, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String bigintspanset_out(Pointer ss) { - var _result = _meos_a.bigintspanset_out(ss); + public static Pointer tstzspan_tcount_transfn(Pointer state, Pointer s) { + var _result = _meos_b.tstzspan_tcount_transfn(state, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer dateset_in(String str) { - var _result = _meos_a.dateset_in(str); + public static Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss) { + var _result = _meos_b.tstzspanset_tcount_transfn(state, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String dateset_out(Pointer s) { - var _result = _meos_a.dateset_out(s); + public static Pointer ttext_tmax_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.ttext_tmax_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespan_in(String str) { - var _result = _meos_a.datespan_in(str); + public static Pointer ttext_tmin_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.ttext_tmin_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String datespan_out(Pointer s) { - var _result = _meos_a.datespan_out(s); + public static Pointer temporal_simplify_dp(Pointer temp, double eps_dist, boolean synchronize) { + var _result = _meos_b.temporal_simplify_dp(temp, eps_dist, synchronize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_in(String str) { - var _result = _meos_a.datespanset_in(str); + public static Pointer temporal_simplify_max_dist(Pointer temp, double eps_dist, boolean synchronize) { + var _result = _meos_b.temporal_simplify_max_dist(temp, eps_dist, synchronize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String datespanset_out(Pointer ss) { - var _result = _meos_a.datespanset_out(ss); + public static Pointer temporal_simplify_min_dist(Pointer temp, double dist) { + var _result = _meos_b.temporal_simplify_min_dist(temp, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_in(String str) { - var _result = _meos_a.floatset_in(str); + public static Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint) { + var _result = _meos_b.temporal_simplify_min_tdelta(temp, mint); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String floatset_out(Pointer set, int maxdd) { - var _result = _meos_a.floatset_out(set, maxdd); + public static Pointer temporal_tprecision(Pointer temp, Pointer duration, OffsetDateTime origin) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_b.temporal_tprecision(temp, duration, origin_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_expand(Pointer s, double value) { - var _result = _meos_a.floatspan_expand(s, value); + public static Pointer temporal_tsample(Pointer temp, Pointer duration, OffsetDateTime origin, int interp) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_b.temporal_tsample(temp, duration, origin_new, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_in(String str) { - var _result = _meos_a.floatspan_in(str); + public static double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_dyntimewarp_distance(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String floatspan_out(Pointer s, int maxdd) { - var _result = _meos_a.floatspan_out(s, maxdd); + public static Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { + var _result = _meos_b.temporal_dyntimewarp_path(temp1, temp2, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_in(String str) { - var _result = _meos_a.floatspanset_in(str); + public static double temporal_frechet_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_frechet_distance(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String floatspanset_out(Pointer ss, int maxdd) { - var _result = _meos_a.floatspanset_out(ss, maxdd); + public static Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { + var _result = _meos_b.temporal_frechet_path(temp1, temp2, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intset_in(String str) { - var _result = _meos_a.intset_in(str); + public static double temporal_hausdorff_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_hausdorff_distance(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String intset_out(Pointer set) { - var _result = _meos_a.intset_out(set); + public static Pointer temporal_time_bins(Pointer temp, Pointer duration, OffsetDateTime origin, Pointer count) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_b.temporal_time_bins(temp, duration, origin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspan_expand(Pointer s, int value) { - var _result = _meos_a.intspan_expand(s, value); + public static Pointer temporal_time_split(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer time_bins, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.temporal_time_split(temp, duration, torigin_new, time_bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspan_in(String str) { - var _result = _meos_a.intspan_in(str); + public static Pointer tfloat_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloat_time_boxes(temp, duration, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String intspan_out(Pointer s) { - var _result = _meos_a.intspan_out(s); + public static Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count) { + var _result = _meos_b.tfloat_value_bins(temp, vsize, vorigin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspanset_in(String str) { - var _result = _meos_a.intspanset_in(str); + public static Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count) { + var _result = _meos_b.tfloat_value_boxes(temp, vsize, vorigin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String intspanset_out(Pointer ss) { - var _result = _meos_a.intspanset_out(ss); + public static Pointer tfloat_value_split(Pointer temp, double size, double origin, Pointer bins, Pointer count) { + var _result = _meos_b.tfloat_value_split(temp, size, origin, bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String set_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.set_as_hexwkb(s, variant, size_out); + public static Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.set_as_wkb(s, variant, size_out); + public static Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloat_value_time_split(temp, vsize, duration, vorigin, torigin_new, value_bins, time_bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_from_hexwkb(String hexwkb) { - var _result = _meos_a.set_from_hexwkb(hexwkb); + public static Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloatbox_time_tiles(box, duration, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.set_from_wkb(wkb, size); + public static Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count) { + var _result = _meos_b.tfloatbox_value_tiles(box, vsize, vorigin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String span_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.span_as_hexwkb(s, variant, size_out); + public static Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.span_as_wkb(s, variant, size_out); + public static Pointer tint_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tint_time_boxes(temp, duration, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_from_hexwkb(String hexwkb) { - var _result = _meos_a.span_from_hexwkb(hexwkb); + public static Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count) { + var _result = _meos_b.tint_value_bins(temp, vsize, vorigin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.span_from_wkb(wkb, size); + public static Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count) { + var _result = _meos_b.tint_value_boxes(temp, vsize, vorigin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String spanset_as_hexwkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.spanset_as_hexwkb(ss, variant, size_out); + public static Pointer tint_value_split(Pointer temp, int vsize, int vorigin, Pointer bins, Pointer count) { + var _result = _meos_b.tint_value_split(temp, vsize, vorigin, bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_as_wkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.spanset_as_wkb(ss, variant, size_out); + public static Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_from_hexwkb(String hexwkb) { - var _result = _meos_a.spanset_from_hexwkb(hexwkb); + public static Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tint_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.spanset_from_wkb(wkb, size); + public static Pointer tintbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tintbox_time_tiles(box, duration, torigin_new, count); MeosErrorHandler.checkError(); return _result; } - @SuppressWarnings("unused") - public static Pointer textset_in(String str) { - var _result = _meos_a.textset_in(str); + @SuppressWarnings("unused") + public static Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count) { + var _result = _meos_b.tintbox_value_tiles(box, xsize, xorigin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String textset_out(Pointer set) { - var _result = _meos_a.textset_out(set); + public static Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_in(String str) { - var _result = _meos_a.tstzset_in(str); + public static void meos_initialize_noexit_error_handler() { + _meos_b.meos_initialize_noexit_error_handler(); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static String tstzset_out(Pointer set) { - var _result = _meos_a.tstzset_out(set); + public static boolean h3_are_neighbor_cells_meos(long origin, long destination) { + var _result = _meos_b.h3_are_neighbor_cells_meos(origin, destination); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_in(String str) { - var _result = _meos_a.tstzspan_in(str); + public static long h3_cells_to_directed_edge_meos(long origin, long destination) { + var _result = _meos_b.h3_cells_to_directed_edge_meos(origin, destination); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tstzspan_out(Pointer s) { - var _result = _meos_a.tstzspan_out(s); + public static boolean h3_is_valid_directed_edge_meos(long edge) { + var _result = _meos_b.h3_is_valid_directed_edge_meos(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_in(String str) { - var _result = _meos_a.tstzspanset_in(str); + public static long h3_get_directed_edge_origin_meos(long edge) { + var _result = _meos_b.h3_get_directed_edge_origin_meos(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tstzspanset_out(Pointer ss) { - var _result = _meos_a.tstzspanset_out(ss); + public static long h3_get_directed_edge_destination_meos(long edge) { + var _result = _meos_b.h3_get_directed_edge_destination_meos(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintset_make(Pointer values, int count) { - var _result = _meos_a.bigintset_make(values, count); + public static long h3_cell_to_parent_meos(long origin, int resolution) { + var _result = _meos_b.h3_cell_to_parent_meos(origin, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.bigintspan_make(lower, upper, lower_inc, upper_inc); + public static long h3_cell_to_center_child_meos(long origin, int resolution) { + var _result = _meos_b.h3_cell_to_center_child_meos(origin, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer dateset_make(Pointer values, int count) { - var _result = _meos_a.dateset_make(values, count); + public static long h3_cell_to_child_pos_meos(long child, int parentRes) { + var _result = _meos_b.h3_cell_to_child_pos_meos(child, parentRes); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.datespan_make(lower, upper, lower_inc, upper_inc); + public static long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes) { + var _result = _meos_b.h3_child_pos_to_cell_meos(childPos, parent, childRes); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_make(Pointer values, int count) { - var _result = _meos_a.floatset_make(values, count); + public static int h3_get_resolution_meos(long hex) { + var _result = _meos_b.h3_get_resolution_meos(hex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.floatspan_make(lower, upper, lower_inc, upper_inc); + public static int h3_get_base_cell_number_meos(long hex) { + var _result = _meos_b.h3_get_base_cell_number_meos(hex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intset_make(Pointer values, int count) { - var _result = _meos_a.intset_make(values, count); + public static boolean h3_is_valid_cell_meos(long hex) { + var _result = _meos_b.h3_is_valid_cell_meos(hex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.intspan_make(lower, upper, lower_inc, upper_inc); + public static boolean h3_is_res_class_iii_meos(long hex) { + var _result = _meos_b.h3_is_res_class_iii_meos(hex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_copy(Pointer s) { - var _result = _meos_a.set_copy(s); + public static boolean h3_is_pentagon_meos(long hex) { + var _result = _meos_b.h3_is_pentagon_meos(hex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_copy(Pointer s) { - var _result = _meos_a.span_copy(s); + public static long h3_get_num_cells_meos(int resolution) { + var _result = _meos_b.h3_get_num_cells_meos(resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_copy(Pointer ss) { - var _result = _meos_a.spanset_copy(ss); + public static long h3_grid_distance_meos(long originIndex, long h3Index) { + var _result = _meos_b.h3_grid_distance_meos(originIndex, h3Index); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_make(Pointer spans, int count) { - var _result = _meos_a.spanset_make(spans, count); + public static long h3_cell_to_vertex_meos(long cell, int vertexNum) { + var _result = _meos_b.h3_cell_to_vertex_meos(cell, vertexNum); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_make(Pointer values, int count) { - var _result = _meos_a.textset_make(values, count); + public static boolean h3_is_valid_vertex_meos(long vertex) { + var _result = _meos_b.h3_is_valid_vertex_meos(vertex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_make(Pointer values, int count) { - var _result = _meos_a.tstzset_make(values, count); + public static long h3index_parse(String str) { + var _result = _meos_b.h3index_parse(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_make(OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_a.tstzspan_make(lower_new, upper_new, lower_inc, upper_inc); + public static String h3index_to_string(long cell) { + var _result = _meos_b.h3index_to_string(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigint_to_set(long i) { - var _result = _meos_a.bigint_to_set(i); + public static boolean h3index_eq(long a, long b) { + var _result = _meos_b.h3index_eq(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigint_to_span(int i) { - var _result = _meos_a.bigint_to_span(i); + public static boolean h3index_ne(long a, long b) { + var _result = _meos_b.h3index_ne(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigint_to_spanset(int i) { - var _result = _meos_a.bigint_to_spanset(i); + public static boolean h3index_lt(long a, long b) { + var _result = _meos_b.h3index_lt(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer date_to_set(int d) { - var _result = _meos_a.date_to_set(d); + public static boolean h3index_le(long a, long b) { + var _result = _meos_b.h3index_le(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer date_to_span(int d) { - var _result = _meos_a.date_to_span(d); + public static boolean h3index_gt(long a, long b) { + var _result = _meos_b.h3index_gt(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer date_to_spanset(int d) { - var _result = _meos_a.date_to_spanset(d); + public static boolean h3index_ge(long a, long b) { + var _result = _meos_b.h3index_ge(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer dateset_to_tstzset(Pointer s) { - var _result = _meos_a.dateset_to_tstzset(s); + public static int h3index_cmp(long a, long b) { + var _result = _meos_b.h3index_cmp(a, b); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespan_to_tstzspan(Pointer s) { - var _result = _meos_a.datespan_to_tstzspan(s); + public static int h3index_hash(long cell) { + var _result = _meos_b.h3index_hash(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_to_tstzspanset(Pointer ss) { - var _result = _meos_a.datespanset_to_tstzspanset(ss); + public static Pointer h3_grid_disk(long origin, int k) { + var _result = _meos_b.h3_grid_disk(origin, k); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_to_set(double d) { - var _result = _meos_a.float_to_set(d); + public static Pointer h3_grid_ring(long origin, int k) { + var _result = _meos_b.h3_grid_ring(origin, k); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_to_span(double d) { - var _result = _meos_a.float_to_span(d); + public static Pointer h3_grid_path_cells(long start, long end) { + var _result = _meos_b.h3_grid_path_cells(start, end); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_to_spanset(double d) { - var _result = _meos_a.float_to_spanset(d); + public static Pointer h3_cell_to_children(long origin, int childRes) { + var _result = _meos_b.h3_cell_to_children(origin, childRes); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_to_intset(Pointer s) { - var _result = _meos_a.floatset_to_intset(s); + public static Pointer h3_compact_cells(Pointer cells) { + var _result = _meos_b.h3_compact_cells(cells); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_to_intspan(Pointer s) { - var _result = _meos_a.floatspan_to_intspan(s); + public static Pointer h3_uncompact_cells(Pointer cells, int res) { + var _result = _meos_b.h3_uncompact_cells(cells, res); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_to_intspanset(Pointer ss) { - var _result = _meos_a.floatspanset_to_intspanset(ss); + public static Pointer h3_origin_to_directed_edges(long origin) { + var _result = _meos_b.h3_origin_to_directed_edges(origin); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_to_set(int i) { - var _result = _meos_a.int_to_set(i); + public static Pointer h3_cell_to_vertexes(long cell) { + var _result = _meos_b.h3_cell_to_vertexes(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_to_span(int i) { - var _result = _meos_a.int_to_span(i); + public static Pointer h3_get_icosahedron_faces(long cell) { + var _result = _meos_b.h3_get_icosahedron_faces(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_to_spanset(int i) { - var _result = _meos_a.int_to_spanset(i); + public static boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ensure_valid_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intset_to_floatset(Pointer s) { - var _result = _meos_a.intset_to_floatset(s); + public static boolean ensure_valid_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_b.ensure_valid_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspan_to_floatspan(Pointer s) { - var _result = _meos_a.intspan_to_floatspan(s); + public static boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ensure_valid_th3index_tgeogpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspanset_to_floatspanset(Pointer ss) { - var _result = _meos_a.intspanset_to_floatspanset(ss); + public static int datum2_h3index_eq(int d1, int d2, int type) { + var _result = _meos_b.datum2_h3index_eq(d1, d2, type); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_to_span(Pointer s) { - var _result = _meos_a.set_to_span(s); + public static int datum2_h3index_ne(int d1, int d2, int type) { + var _result = _meos_b.datum2_h3index_ne(d1, d2, type); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_to_spanset(Pointer s) { - var _result = _meos_a.set_to_spanset(s); + public static void th3indexinst_set_stbox(Pointer inst, Pointer box) { + _meos_b.th3indexinst_set_stbox(inst, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer span_to_spanset(Pointer s) { - var _result = _meos_a.span_to_spanset(s); + public static void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box) { + _meos_b.th3indexinstarr_set_stbox(instants, count, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer text_to_set(Pointer txt) { - var _result = _meos_a.text_to_set(txt); + public static void th3indexseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_b.th3indexseq_expand_stbox(seq, inst); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_to_set(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_set(t_new); + public static long h3_gs_point_to_cell(Pointer point, int resolution) { + var _result = _meos_b.h3_gs_point_to_cell(point, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_to_span(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_span(t_new); + public static Pointer h3_cell_to_gs_point(long cell) { + var _result = _meos_b.h3_cell_to_gs_point(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_to_spanset(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_spanset(t_new); + public static Pointer h3_cell_to_gs_boundary(long cell) { + var _result = _meos_b.h3_cell_to_gs_boundary(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_to_dateset(Pointer s) { - var _result = _meos_a.tstzset_to_dateset(s); + public static Pointer cell_boundary_to_gs(Pointer bnd) { + var _result = _meos_b.cell_boundary_to_gs(bnd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_to_datespan(Pointer s) { - var _result = _meos_a.tstzspan_to_datespan(s); + public static double h3_sample_step_deg(int resolution) { + var _result = _meos_b.h3_sample_step_deg(resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_to_datespanset(Pointer ss) { - var _result = _meos_a.tstzspanset_to_datespanset(ss); + public static long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution) { + var _result = _meos_b.h3_latlng_deg_to_cell(lat_deg, lng_deg, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintset_end_value(Pointer s) { - var _result = _meos_a.bigintset_end_value(s); + public static long h3_cell_to_parent_next_meos(long cell) { + var _result = _meos_b.h3_cell_to_parent_next_meos(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintset_start_value(Pointer s) { - var _result = _meos_a.bigintset_start_value(s); + public static long h3_cell_to_center_child_next_meos(long cell) { + var _result = _meos_b.h3_cell_to_center_child_next_meos(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.bigintset_value_n(s, n, result); + public static Pointer h3_directed_edge_to_gs_boundary(long edge) { + var _result = _meos_b.h3_directed_edge_to_gs_boundary(edge); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer bigintset_values(Pointer s) { - var _result = _meos_a.bigintset_values(s); + public static Pointer h3_vertex_to_gs_point(long vertex) { + var _result = _meos_b.h3_vertex_to_gs_point(vertex); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintspan_lower(Pointer s) { - var _result = _meos_a.bigintspan_lower(s); + public static Pointer h3_cell_to_local_ij_meos(long origin, long cell) { + var _result = _meos_b.h3_cell_to_local_ij_meos(origin, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintspan_upper(Pointer s) { - var _result = _meos_a.bigintspan_upper(s); + public static long h3_local_ij_to_cell_meos(long origin, Pointer coord) { + var _result = _meos_b.h3_local_ij_to_cell_meos(origin, coord); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintspan_width(Pointer s) { - var _result = _meos_a.bigintspan_width(s); + public static int h3_unit_from_cstring(String unit) { + var _result = _meos_b.h3_unit_from_cstring(unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintspanset_lower(Pointer ss) { - var _result = _meos_a.bigintspanset_lower(ss); + public static double h3_cell_area_meos(long cell, int unit) { + var _result = _meos_b.h3_cell_area_meos(cell, unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintspanset_upper(Pointer ss) { - var _result = _meos_a.bigintspanset_upper(ss); + public static double h3_edge_length_meos(long edge, int unit) { + var _result = _meos_b.h3_edge_length_meos(edge, unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigintspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.bigintspanset_width(ss, boundspan); + public static double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit) { + var _result = _meos_b.h3_gs_great_circle_distance_meos(a, b, unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int dateset_end_value(Pointer s) { - var _result = _meos_a.dateset_end_value(s); + public static int datum_h3_get_resolution(int d) { + var _result = _meos_b.datum_h3_get_resolution(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int dateset_start_value(Pointer s) { - var _result = _meos_a.dateset_start_value(s); + public static int datum_h3_get_base_cell_number(int d) { + var _result = _meos_b.datum_h3_get_base_cell_number(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer dateset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.dateset_value_n(s, n, result); + public static int datum_h3_is_valid_cell(int d) { + var _result = _meos_b.datum_h3_is_valid_cell(d); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer dateset_values(Pointer s) { - var _result = _meos_a.dateset_values(s); + public static int datum_h3_is_res_class_iii(int d) { + var _result = _meos_b.datum_h3_is_res_class_iii(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespan_duration(Pointer s) { - var _result = _meos_a.datespan_duration(s); + public static int datum_h3_is_pentagon(int d) { + var _result = _meos_b.datum_h3_is_pentagon(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int datespan_lower(Pointer s) { - var _result = _meos_a.datespan_lower(s); + public static int datum_h3_cell_to_parent(int cell_d, int res_d) { + var _result = _meos_b.datum_h3_cell_to_parent(cell_d, res_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int datespan_upper(Pointer s) { - var _result = _meos_a.datespan_upper(s); + public static int datum_h3_cell_to_parent_next(int cell_d) { + var _result = _meos_b.datum_h3_cell_to_parent_next(cell_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_date_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.datespanset_date_n(ss, n, result); + public static int datum_h3_cell_to_center_child(int cell_d, int res_d) { + var _result = _meos_b.datum_h3_cell_to_center_child(cell_d, res_d); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_dates(Pointer ss) { - var _result = _meos_a.datespanset_dates(ss); + public static int datum_h3_cell_to_center_child_next(int cell_d) { + var _result = _meos_b.datum_h3_cell_to_center_child_next(cell_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_a.datespanset_duration(ss, boundspan); + public static int datum_h3_cell_to_child_pos(int cell_d, int parent_res_d) { + var _result = _meos_b.datum_h3_cell_to_child_pos(cell_d, parent_res_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int datespanset_end_date(Pointer ss) { - var _result = _meos_a.datespanset_end_date(ss); + public static int datum_h3_child_pos_to_cell(int pos_d, int parent_d, int child_res_d) { + var _result = _meos_b.datum_h3_child_pos_to_cell(pos_d, parent_d, child_res_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int datespanset_num_dates(Pointer ss) { - var _result = _meos_a.datespanset_num_dates(ss); + public static int datum_h3_are_neighbor_cells(int origin_d, int dest_d) { + var _result = _meos_b.datum_h3_are_neighbor_cells(origin_d, dest_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int datespanset_start_date(Pointer ss) { - var _result = _meos_a.datespanset_start_date(ss); + public static int datum_h3_cells_to_directed_edge(int origin_d, int dest_d) { + var _result = _meos_b.datum_h3_cells_to_directed_edge(origin_d, dest_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatset_end_value(Pointer s) { - var _result = _meos_a.floatset_end_value(s); + public static int datum_h3_is_valid_directed_edge(int d) { + var _result = _meos_b.datum_h3_is_valid_directed_edge(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatset_start_value(Pointer s) { - var _result = _meos_a.floatset_start_value(s); + public static int datum_h3_get_directed_edge_origin(int d) { + var _result = _meos_b.datum_h3_get_directed_edge_origin(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.floatset_value_n(s, n, result); + public static int datum_h3_get_directed_edge_destination(int d) { + var _result = _meos_b.datum_h3_get_directed_edge_destination(d); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer floatset_values(Pointer s) { - var _result = _meos_a.floatset_values(s); + public static int datum_h3_directed_edge_to_boundary(int d) { + var _result = _meos_b.datum_h3_directed_edge_to_boundary(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatspan_lower(Pointer s) { - var _result = _meos_a.floatspan_lower(s); + public static int datum_h3_cell_to_vertex(int cell_d, int vnum_d) { + var _result = _meos_b.datum_h3_cell_to_vertex(cell_d, vnum_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatspan_upper(Pointer s) { - var _result = _meos_a.floatspan_upper(s); + public static int datum_h3_vertex_to_latlng(int d) { + var _result = _meos_b.datum_h3_vertex_to_latlng(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatspan_width(Pointer s) { - var _result = _meos_a.floatspan_width(s); + public static int datum_h3_is_valid_vertex(int d) { + var _result = _meos_b.datum_h3_is_valid_vertex(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatspanset_lower(Pointer ss) { - var _result = _meos_a.floatspanset_lower(ss); + public static int datum_h3_grid_distance(int origin_d, int dest_d) { + var _result = _meos_b.datum_h3_grid_distance(origin_d, dest_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatspanset_upper(Pointer ss) { - var _result = _meos_a.floatspanset_upper(ss); + public static int datum_h3_cell_to_local_ij(int origin_d, int cell_d) { + var _result = _meos_b.datum_h3_cell_to_local_ij(origin_d, cell_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double floatspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.floatspanset_width(ss, boundspan); + public static int datum_h3_local_ij_to_cell(int origin_d, int coord_d) { + var _result = _meos_b.datum_h3_local_ij_to_cell(origin_d, coord_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intset_end_value(Pointer s) { - var _result = _meos_a.intset_end_value(s); + public static int datum_h3_latlng_to_cell(int point_d, int res_d) { + var _result = _meos_b.datum_h3_latlng_to_cell(point_d, res_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intset_start_value(Pointer s) { - var _result = _meos_a.intset_start_value(s); + public static int datum_h3_cell_to_latlng(int d) { + var _result = _meos_b.datum_h3_cell_to_latlng(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.intset_value_n(s, n, result); + public static int datum_h3_cell_to_boundary(int d) { + var _result = _meos_b.datum_h3_cell_to_boundary(d); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer intset_values(Pointer s) { - var _result = _meos_a.intset_values(s); + public static int datum_h3_cell_area(int cell_d, int unit_d) { + var _result = _meos_b.datum_h3_cell_area(cell_d, unit_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intspan_lower(Pointer s) { - var _result = _meos_a.intspan_lower(s); + public static int datum_h3_edge_length(int edge_d, int unit_d) { + var _result = _meos_b.datum_h3_edge_length(edge_d, unit_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intspan_upper(Pointer s) { - var _result = _meos_a.intspan_upper(s); + public static int datum_h3_great_circle_distance(int a_d, int b_d, int unit_d) { + var _result = _meos_b.datum_h3_great_circle_distance(a_d, b_d, unit_d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intspan_width(Pointer s) { - var _result = _meos_a.intspan_width(s); + public static Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size) { + var _result = _meos_b.geo_as_ewkb(gs, endian, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intspanset_lower(Pointer ss) { - var _result = _meos_a.intspanset_lower(ss); + public static String geo_as_ewkt(Pointer gs, int precision) { + var _result = _meos_b.geo_as_ewkt(gs, precision); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intspanset_upper(Pointer ss) { - var _result = _meos_a.intspanset_upper(ss); + public static String geo_as_geojson(Pointer gs, int option, int precision, String srs) { + var _result = _meos_b.geo_as_geojson(gs, option, precision, srs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int intspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.intspanset_width(ss, boundspan); + public static String geo_as_hexewkb(Pointer gs, String endian) { + var _result = _meos_b.geo_as_hexewkb(gs, endian); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int set_hash(Pointer s) { - var _result = _meos_a.set_hash(s); + public static String geo_as_text(Pointer gs, int precision) { + var _result = _meos_b.geo_as_text(gs, precision); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long set_hash_extended(Pointer s, long seed) { - var _result = _meos_a.set_hash_extended(s, seed); + public static Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid) { + var _result = _meos_b.geo_from_ewkb(wkb, wkb_size, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int set_num_values(Pointer s) { - var _result = _meos_a.set_num_values(s); + public static Pointer geo_from_geojson(String geojson) { + var _result = _meos_b.geo_from_geojson(geojson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int span_hash(Pointer s) { - var _result = _meos_a.span_hash(s); + public static Pointer geo_from_text(String wkt, int srid) { + var _result = _meos_b.geo_from_text(wkt, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long span_hash_extended(Pointer s, long seed) { - var _result = _meos_a.span_hash_extended(s, seed); + public static String geo_out(Pointer gs) { + var _result = _meos_b.geo_out(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_lower_inc(Pointer s) { - var _result = _meos_a.span_lower_inc(s); + public static Pointer geog_from_binary(String wkb_bytea) { + var _result = _meos_b.geog_from_binary(wkb_bytea); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_upper_inc(Pointer s) { - var _result = _meos_a.span_upper_inc(s); + public static Pointer geog_from_hexewkb(String wkt) { + var _result = _meos_b.geog_from_hexewkb(wkt); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_end_span(Pointer ss) { - var _result = _meos_a.spanset_end_span(ss); + public static Pointer geog_in(String str, int typmod) { + var _result = _meos_b.geog_in(str, typmod); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int spanset_hash(Pointer ss) { - var _result = _meos_a.spanset_hash(ss); + public static Pointer geom_from_hexewkb(String wkt) { + var _result = _meos_b.geom_from_hexewkb(wkt); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long spanset_hash_extended(Pointer ss, long seed) { - var _result = _meos_a.spanset_hash_extended(ss, seed); + public static Pointer geom_in(String str, int typmod) { + var _result = _meos_b.geom_in(str, typmod); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_lower_inc(Pointer ss) { - var _result = _meos_a.spanset_lower_inc(ss); + public static Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) { + var _result = _meos_b.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int spanset_num_spans(Pointer ss) { - var _result = _meos_a.spanset_num_spans(ss); + public static String box3d_out(Pointer box, int maxdd) { + var _result = _meos_b.box3d_out(box, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_span(Pointer ss) { - var _result = _meos_a.spanset_span(ss); + public static Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) { + var _result = _meos_b.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_span_n(Pointer ss, int i) { - var _result = _meos_a.spanset_span_n(ss, i); + public static String gbox_out(Pointer box, int maxdd) { + var _result = _meos_b.gbox_out(box, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_spanarr(Pointer ss) { - var _result = _meos_a.spanset_spanarr(ss); + public static Pointer geo_copy(Pointer g) { + var _result = _meos_b.geo_copy(g); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_start_span(Pointer ss) { - var _result = _meos_a.spanset_start_span(ss); + public static Pointer geogpoint_make2d(int srid, double x, double y) { + var _result = _meos_b.geogpoint_make2d(srid, x, y); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_upper_inc(Pointer ss) { - var _result = _meos_a.spanset_upper_inc(ss); + public static Pointer geogpoint_make3dz(int srid, double x, double y, double z) { + var _result = _meos_b.geogpoint_make3dz(srid, x, y, z); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_end_value(Pointer s) { - var _result = _meos_a.textset_end_value(s); + public static Pointer geompoint_make2d(int srid, double x, double y) { + var _result = _meos_b.geompoint_make2d(srid, x, y); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_start_value(Pointer s) { - var _result = _meos_a.textset_start_value(s); + public static Pointer geompoint_make3dz(int srid, double x, double y, double z) { + var _result = _meos_b.geompoint_make3dz(srid, x, y, z); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.textset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); + public static Pointer geom_to_geog(Pointer geom) { + var _result = _meos_b.geom_to_geog(geom); MeosErrorHandler.checkError(); - return out ? new_result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer textset_values(Pointer s) { - var _result = _meos_a.textset_values(s); + public static Pointer geog_to_geom(Pointer geog) { + var _result = _meos_b.geog_to_geom(geog); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzset_end_value(Pointer s) { - var _result = _meos_a.tstzset_end_value(s); + public static boolean geo_is_empty(Pointer g) { + var _result = _meos_c.geo_is_empty(g); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzset_start_value(Pointer s) { - var _result = _meos_a.tstzset_start_value(s); + public static boolean geo_is_unitary(Pointer gs) { + var _result = _meos_c.geo_is_unitary(gs); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tstzset_value_n(s, n, result); + public static String geo_typename(int type) { + var _result = _meos_c.geo_typename(type); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_values(Pointer s) { - var _result = _meos_a.tstzset_values(s); + public static double geog_area(Pointer g, boolean use_spheroid) { + var _result = _meos_c.geog_area(g, use_spheroid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_duration(Pointer s) { - var _result = _meos_a.tstzspan_duration(s); + public static Pointer geog_centroid(Pointer g, boolean use_spheroid) { + var _result = _meos_c.geog_centroid(g, use_spheroid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_lower(Pointer s) { - var _result = _meos_a.tstzspan_lower(s); + public static double geog_length(Pointer g, boolean use_spheroid) { + var _result = _meos_c.geog_length(g, use_spheroid); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_upper(Pointer s) { - var _result = _meos_a.tstzspan_upper(s); + public static double geog_perimeter(Pointer g, boolean use_spheroid) { + var _result = _meos_c.geog_perimeter(g, use_spheroid); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_a.tstzspanset_duration(ss, boundspan); + public static Pointer geom_azimuth(Pointer gs1, Pointer gs2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.geom_azimuth(gs1, gs2, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_end_timestamptz(Pointer ss) { - var _result = _meos_a.tstzspanset_end_timestamptz(ss); + public static double geom_length(Pointer gs) { + var _result = _meos_c.geom_length(gs); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_lower(Pointer ss) { - var _result = _meos_a.tstzspanset_lower(ss); + public static double geom_perimeter(Pointer gs) { + var _result = _meos_c.geom_perimeter(gs); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static int tstzspanset_num_timestamps(Pointer ss) { - var _result = _meos_a.tstzspanset_num_timestamps(ss); + public static int line_numpoints(Pointer gs) { + var _result = _meos_c.line_numpoints(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_start_timestamptz(Pointer ss) { - var _result = _meos_a.tstzspanset_start_timestamptz(ss); + public static Pointer line_point_n(Pointer geom, int n) { + var _result = _meos_c.line_point_n(geom, n); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamps(Pointer ss) { - var _result = _meos_a.tstzspanset_timestamps(ss); + public static Pointer geo_reverse(Pointer gs) { + var _result = _meos_c.geo_reverse(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamptz_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tstzspanset_timestamptz_n(ss, n, result); + public static Pointer geo_round(Pointer gs, int maxdd) { + var _result = _meos_c.geo_round(gs, maxdd); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_upper(Pointer ss) { - var _result = _meos_a.tstzspanset_upper(ss); + public static Pointer geo_set_srid(Pointer gs, int srid) { + var _result = _meos_c.geo_set_srid(gs, srid); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintset_shift_scale(s, shift, width, hasshift, haswidth); + public static int geo_srid(Pointer gs) { + var _result = _meos_c.geo_srid(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspan_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintspan_shift_scale(s, shift, width, hasshift, haswidth); + public static Pointer geo_transform(Pointer geom, int srid_to) { + var _result = _meos_c.geo_transform(geom, srid_to); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth); + public static Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward) { + var _result = _meos_c.geo_transform_pipeline(gs, pipeline, srid_to, is_forward); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.dateset_shift_scale(s, shift, width, hasshift, haswidth); + public static Pointer geo_collect_garray(Pointer gsarr, int count) { + var _result = _meos_c.geo_collect_garray(gsarr, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.datespan_shift_scale(s, shift, width, hasshift, haswidth); + public static Pointer geo_makeline_garray(Pointer gsarr, int count) { + var _result = _meos_c.geo_makeline_garray(gsarr, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.datespanset_shift_scale(ss, shift, width, hasshift, haswidth); + public static int geo_num_points(Pointer gs) { + var _result = _meos_c.geo_num_points(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_ceil(Pointer s) { - var _result = _meos_a.floatset_ceil(s); + public static int geo_num_geos(Pointer gs) { + var _result = _meos_c.geo_num_geos(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_degrees(Pointer s, boolean normalize) { - var _result = _meos_a.floatset_degrees(s, normalize); + public static Pointer geo_geo_n(Pointer geom, int n) { + var _result = _meos_c.geo_geo_n(geom, n); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_floor(Pointer s) { - var _result = _meos_a.floatset_floor(s); + public static Pointer geo_pointarr(Pointer gs, Pointer count) { + var _result = _meos_c.geo_pointarr(gs, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_radians(Pointer s) { - var _result = _meos_a.floatset_radians(s); + public static Pointer geo_points(Pointer gs) { + var _result = _meos_c.geo_points(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatset_shift_scale(s, shift, width, hasshift, haswidth); + public static Pointer geom_array_union(Pointer gsarr, int count) { + var _result = _meos_c.geom_array_union(gsarr, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_ceil(Pointer s) { - var _result = _meos_a.floatspan_ceil(s); + public static Pointer geom_boundary(Pointer gs) { + var _result = _meos_c.geom_boundary(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_degrees(Pointer s, boolean normalize) { - var _result = _meos_a.floatspan_degrees(s, normalize); + public static Pointer geom_buffer(Pointer gs, double size, String params) { + var _result = _meos_c.geom_buffer(gs, size, params); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_floor(Pointer s) { - var _result = _meos_a.floatspan_floor(s); + public static Pointer geom_centroid(Pointer gs) { + var _result = _meos_c.geom_centroid(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_radians(Pointer s) { - var _result = _meos_a.floatspan_radians(s); + public static Pointer geom_convex_hull(Pointer gs) { + var _result = _meos_c.geom_convex_hull(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_round(Pointer s, int maxdd) { - var _result = _meos_a.floatspan_round(s, maxdd); + public static Pointer geom_difference2d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_difference2d(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatspan_shift_scale(s, shift, width, hasshift, haswidth); + public static Pointer geom_intersection2d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_intersection2d(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_ceil(Pointer ss) { - var _result = _meos_a.floatspanset_ceil(ss); + public static Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_intersection2d_coll(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_floor(Pointer ss) { - var _result = _meos_a.floatspanset_floor(ss); + public static Pointer geom_min_bounding_radius(Pointer geom, Pointer radius) { + var _result = _meos_c.geom_min_bounding_radius(geom, radius); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_degrees(Pointer ss, boolean normalize) { - var _result = _meos_a.floatspanset_degrees(ss, normalize); + public static Pointer geom_shortestline2d(Pointer gs1, Pointer s2) { + var _result = _meos_c.geom_shortestline2d(gs1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_radians(Pointer ss) { - var _result = _meos_a.floatspanset_radians(ss); + public static Pointer geom_shortestline3d(Pointer gs1, Pointer s2) { + var _result = _meos_c.geom_shortestline3d(gs1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_round(Pointer ss, int maxdd) { - var _result = _meos_a.floatspanset_round(ss, maxdd); + public static Pointer geom_unary_union(Pointer gs, double prec) { + var _result = _meos_c.geom_unary_union(gs, prec); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatspanset_shift_scale(ss, shift, width, hasshift, haswidth); + public static Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat) { + var _result = _meos_c.line_interpolate_point(gs, distance_fraction, repeat); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intset_shift_scale(s, shift, width, hasshift, haswidth); + public static double line_locate_point(Pointer gs1, Pointer gs2) { + var _result = _meos_c.line_locate_point(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intspan_shift_scale(s, shift, width, hasshift, haswidth); + public static Pointer line_substring(Pointer gs, double from, double to) { + var _result = _meos_c.line_substring(gs, from, to); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intspanset_shift_scale(ss, shift, width, hasshift, haswidth); + public static boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid) { + var _result = _meos_c.geog_dwithin(g1, g2, tolerance, use_spheroid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_expand(Pointer s, Pointer interv) { - var _result = _meos_a.tstzspan_expand(s, interv); + public static boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid) { + var _result = _meos_c.geog_intersects(gs1, gs2, use_spheroid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_round(Pointer s, int maxdd) { - var _result = _meos_a.set_round(s, maxdd); + public static boolean geom_contains(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_contains(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textcat_text_textset(Pointer txt, Pointer s) { - var _result = _meos_a.textcat_text_textset(txt, s); + public static boolean geom_covers(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_covers(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textcat_textset_text(Pointer s, Pointer txt) { - var _result = _meos_a.textcat_textset_text(s, txt); + public static boolean geom_disjoint2d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_disjoint2d(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_initcap(Pointer s) { - var _result = _meos_a.textset_initcap(s); + public static boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance) { + var _result = _meos_c.geom_dwithin2d(gs1, gs2, tolerance); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_lower(Pointer s) { - var _result = _meos_a.textset_lower(s); + public static boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance) { + var _result = _meos_c.geom_dwithin3d(gs1, gs2, tolerance); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textset_upper(Pointer s) { - var _result = _meos_a.textset_upper(s); + public static boolean geom_intersects2d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_intersects2d(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_tprecision(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.timestamptz_tprecision(t_new, duration, torigin_new); + public static boolean geom_intersects3d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_intersects3d(gs1, gs2); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzset_shift_scale(s, shift, duration); + public static boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt) { + var _result = _meos_c.geom_relate_pattern(gs1, gs2, patt); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzset_tprecision(s, duration, torigin_new); + public static boolean geom_touches(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_touches(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzspan_shift_scale(s, shift, duration); + public static Pointer geo_stboxes(Pointer gs, Pointer count) { + var _result = _meos_c.geo_stboxes(gs, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspan_tprecision(s, duration, torigin_new); + public static Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count) { + var _result = _meos_c.geo_split_each_n_stboxes(gs, elem_count, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzspanset_shift_scale(ss, shift, duration); + public static Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count) { + var _result = _meos_c.geo_split_n_stboxes(gs, box_count, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspanset_tprecision(ss, duration, torigin_new); + public static double geog_distance(Pointer g1, Pointer g2) { + var _result = _meos_c.geog_distance(g1, g2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int set_cmp(Pointer s1, Pointer s2) { - var _result = _meos_a.set_cmp(s1, s2); + public static double geom_distance2d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_distance2d(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean set_eq(Pointer s1, Pointer s2) { - var _result = _meos_a.set_eq(s1, s2); + public static double geom_distance3d(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geom_distance3d(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean set_ge(Pointer s1, Pointer s2) { - var _result = _meos_a.set_ge(s1, s2); + public static int geo_equals(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geo_equals(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean set_gt(Pointer s1, Pointer s2) { - var _result = _meos_a.set_gt(s1, s2); + public static boolean geo_same(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geo_same(gs1, gs2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean set_le(Pointer s1, Pointer s2) { - var _result = _meos_a.set_le(s1, s2); + public static Pointer geogset_in(String str) { + var _result = _meos_c.geogset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean set_lt(Pointer s1, Pointer s2) { - var _result = _meos_a.set_lt(s1, s2); + public static Pointer geomset_in(String str) { + var _result = _meos_c.geomset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean set_ne(Pointer s1, Pointer s2) { - var _result = _meos_a.set_ne(s1, s2); + public static String spatialset_as_text(Pointer set, int maxdd) { + var _result = _meos_c.spatialset_as_text(set, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int span_cmp(Pointer s1, Pointer s2) { - var _result = _meos_a.span_cmp(s1, s2); + public static String spatialset_as_ewkt(Pointer set, int maxdd) { + var _result = _meos_c.spatialset_as_ewkt(set, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_eq(Pointer s1, Pointer s2) { - var _result = _meos_a.span_eq(s1, s2); + public static Pointer geoset_make(Pointer values, int count) { + var _result = _meos_c.geoset_make(values, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_ge(Pointer s1, Pointer s2) { - var _result = _meos_a.span_ge(s1, s2); + public static Pointer geo_to_set(Pointer gs) { + var _result = _meos_c.geo_to_set(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_gt(Pointer s1, Pointer s2) { - var _result = _meos_a.span_gt(s1, s2); + public static Pointer geoset_end_value(Pointer s) { + var _result = _meos_c.geoset_end_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_le(Pointer s1, Pointer s2) { - var _result = _meos_a.span_le(s1, s2); + public static Pointer geoset_start_value(Pointer s) { + var _result = _meos_c.geoset_start_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean span_lt(Pointer s1, Pointer s2) { - var _result = _meos_a.span_lt(s1, s2); + public static Pointer geoset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.geoset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean span_ne(Pointer s1, Pointer s2) { - var _result = _meos_a.span_ne(s1, s2); + public static Pointer geoset_values(Pointer s) { + var _result = _meos_c.geoset_values(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int spanset_cmp(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_cmp(ss1, ss2); + public static boolean contained_geo_set(Pointer gs, Pointer s) { + var _result = _meos_c.contained_geo_set(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_eq(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_eq(ss1, ss2); + public static boolean contains_set_geo(Pointer s, Pointer gs) { + var _result = _meos_c.contains_set_geo(s, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_ge(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_ge(ss1, ss2); + public static Pointer geo_union_transfn(Pointer state, Pointer gs) { + var _result = _meos_c.geo_union_transfn(state, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_gt(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_gt(ss1, ss2); + public static Pointer intersection_geo_set(Pointer gs, Pointer s) { + var _result = _meos_c.intersection_geo_set(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_le(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_le(ss1, ss2); + public static Pointer intersection_set_geo(Pointer s, Pointer gs) { + var _result = _meos_c.intersection_set_geo(s, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_lt(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_lt(ss1, ss2); + public static Pointer minus_geo_set(Pointer gs, Pointer s) { + var _result = _meos_c.minus_geo_set(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean spanset_ne(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_ne(ss1, ss2); + public static Pointer minus_set_geo(Pointer s, Pointer gs) { + var _result = _meos_c.minus_set_geo(s, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_spans(Pointer s) { - var _result = _meos_a.set_spans(s); + public static Pointer union_geo_set(Pointer gs, Pointer s) { + var _result = _meos_c.union_geo_set(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count) { - var _result = _meos_a.set_split_each_n_spans(s, elems_per_span, count); + public static Pointer union_set_geo(Pointer s, Pointer gs) { + var _result = _meos_c.union_set_geo(s, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_split_n_spans(Pointer s, int span_count, Pointer count) { - var _result = _meos_a.set_split_n_spans(s, span_count, count); + public static Pointer spatialset_set_srid(Pointer s, int srid) { + var _result = _meos_c.spatialset_set_srid(s, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_spans(Pointer ss) { - var _result = _meos_a.spanset_spans(ss); + public static int spatialset_srid(Pointer s) { + var _result = _meos_c.spatialset_srid(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count) { - var _result = _meos_a.spanset_split_each_n_spans(ss, elems_per_span, count); + public static Pointer spatialset_transform(Pointer s, int srid) { + var _result = _meos_c.spatialset_transform(s, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count) { - var _result = _meos_a.spanset_split_n_spans(ss, span_count, count); + public static Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_c.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_bigint(Pointer s, long i) { - var _result = _meos_a.adjacent_span_bigint(s, i); + public static String stbox_as_hexwkb(Pointer box, byte variant, Pointer size) { + var _result = _meos_c.stbox_as_hexwkb(box, variant, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_date(Pointer s, int d) { - var _result = _meos_a.adjacent_span_date(s, d); + public static Pointer stbox_as_wkb(Pointer box, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_c.stbox_as_wkb(box, variant, size_out); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_float(Pointer s, double d) { - var _result = _meos_a.adjacent_span_float(s, d); + public static Pointer stbox_from_hexwkb(String hexwkb) { + var _result = _meos_c.stbox_from_hexwkb(hexwkb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_int(Pointer s, int i) { - var _result = _meos_a.adjacent_span_int(s, i); + public static Pointer stbox_from_wkb(Pointer wkb, long size) { + var _result = _meos_c.stbox_from_wkb(wkb, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.adjacent_span_span(s1, s2); + public static Pointer stbox_in(String str) { + var _result = _meos_c.stbox_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.adjacent_span_spanset(s, ss); + public static String stbox_out(Pointer box, int maxdd) { + var _result = _meos_c.stbox_out(box, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_span_timestamptz(Pointer s, OffsetDateTime t) { + public static Pointer geo_timestamptz_to_stbox(Pointer gs, OffsetDateTime t) { var t_new = t.toEpochSecond(); - var _result = _meos_a.adjacent_span_timestamptz(s, t_new); + var _result = _meos_c.geo_timestamptz_to_stbox(gs, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.adjacent_spanset_bigint(ss, i); + public static Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s) { + var _result = _meos_c.geo_tstzspan_to_stbox(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_date(Pointer ss, int d) { - var _result = _meos_a.adjacent_spanset_date(ss, d); + public static Pointer stbox_copy(Pointer box) { + var _result = _meos_c.stbox_copy(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_float(Pointer ss, double d) { - var _result = _meos_a.adjacent_spanset_float(ss, d); + public static Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s) { + var _result = _meos_c.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_int(Pointer ss, int i) { - var _result = _meos_a.adjacent_spanset_int(ss, i); + public static Pointer geo_to_stbox(Pointer gs) { + var _result = _meos_c.geo_to_stbox(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.adjacent_spanset_timestamptz(ss, t_new); + public static Pointer spatialset_to_stbox(Pointer s) { + var _result = _meos_c.spatialset_to_stbox(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.adjacent_spanset_span(ss, s); + public static Pointer stbox_to_box3d(Pointer box) { + var _result = _meos_c.stbox_to_box3d(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.adjacent_spanset_spanset(ss1, ss2); + public static Pointer stbox_to_gbox(Pointer box) { + var _result = _meos_c.stbox_to_gbox(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_bigint_set(long i, Pointer s) { - var _result = _meos_a.contained_bigint_set(i, s); + public static Pointer stbox_to_geo(Pointer box) { + var _result = _meos_c.stbox_to_geo(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_bigint_span(long i, Pointer s) { - var _result = _meos_a.contained_bigint_span(i, s); + public static Pointer stbox_to_tstzspan(Pointer box) { + var _result = _meos_c.stbox_to_tstzspan(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.contained_bigint_spanset(i, ss); + public static Pointer timestamptz_to_stbox(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.timestamptz_to_stbox(t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_date_set(int d, Pointer s) { - var _result = _meos_a.contained_date_set(d, s); + public static Pointer tstzset_to_stbox(Pointer s) { + var _result = _meos_c.tstzset_to_stbox(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_date_span(int d, Pointer s) { - var _result = _meos_a.contained_date_span(d, s); + public static Pointer tstzspan_to_stbox(Pointer s) { + var _result = _meos_c.tstzspan_to_stbox(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_date_spanset(int d, Pointer ss) { - var _result = _meos_a.contained_date_spanset(d, ss); + public static Pointer tstzspanset_to_stbox(Pointer ss) { + var _result = _meos_c.tstzspanset_to_stbox(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_float_set(double d, Pointer s) { - var _result = _meos_a.contained_float_set(d, s); + public static double stbox_area(Pointer box, boolean spheroid) { + var _result = _meos_c.stbox_area(box, spheroid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_float_span(double d, Pointer s) { - var _result = _meos_a.contained_float_span(d, s); + public static int stbox_hash(Pointer box) { + var _result = _meos_c.stbox_hash(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_float_spanset(double d, Pointer ss) { - var _result = _meos_a.contained_float_spanset(d, ss); + public static long stbox_hash_extended(Pointer box, long seed) { + var _result = _meos_c.stbox_hash_extended(box, seed); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_int_set(int i, Pointer s) { - var _result = _meos_a.contained_int_set(i, s); + public static boolean stbox_hast(Pointer box) { + var _result = _meos_c.stbox_hast(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_int_span(int i, Pointer s) { - var _result = _meos_a.contained_int_span(i, s); + public static boolean stbox_hasx(Pointer box) { + var _result = _meos_c.stbox_hasx(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_int_spanset(int i, Pointer ss) { - var _result = _meos_a.contained_int_spanset(i, ss); + public static boolean stbox_hasz(Pointer box) { + var _result = _meos_c.stbox_hasz(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.contained_set_set(s1, s2); + public static boolean stbox_isgeodetic(Pointer box) { + var _result = _meos_c.stbox_isgeodetic(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.contained_span_span(s1, s2); + public static double stbox_perimeter(Pointer box, boolean spheroid) { + var _result = _meos_c.stbox_perimeter(box, spheroid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.contained_span_spanset(s, ss); + public static Pointer stbox_tmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.stbox_tmax(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contained_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.contained_spanset_span(ss, s); + public static Pointer stbox_tmax_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_c.stbox_tmax_inc(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contained_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.contained_spanset_spanset(ss1, ss2); + public static Pointer stbox_tmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.stbox_tmin(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contained_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.contained_text_set(txt, s); + public static Pointer stbox_tmin_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_c.stbox_tmin_inc(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contained_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_set(t_new, s); + public static double stbox_volume(Pointer box) { + var _result = _meos_c.stbox_volume(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_span(t_new, s); + public static Pointer stbox_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.stbox_xmax(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contained_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_spanset(t_new, ss); + public static Pointer stbox_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.stbox_xmin(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contains_set_bigint(Pointer s, long i) { - var _result = _meos_a.contains_set_bigint(s, i); + public static Pointer stbox_ymax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.stbox_ymax(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contains_set_date(Pointer s, int d) { - var _result = _meos_a.contains_set_date(s, d); + public static Pointer stbox_ymin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.stbox_ymin(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contains_set_float(Pointer s, double d) { - var _result = _meos_a.contains_set_float(s, d); + public static Pointer stbox_zmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.stbox_zmax(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contains_set_int(Pointer s, int i) { - var _result = _meos_a.contains_set_int(s, i); + public static Pointer stbox_zmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.stbox_zmin(box, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean contains_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.contains_set_set(s1, s2); + public static Pointer stbox_expand_space(Pointer box, double d) { + var _result = _meos_c.stbox_expand_space(box, d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_set_text(Pointer s, Pointer t) { - var _result = _meos_a.contains_set_text(s, t); + public static Pointer stbox_expand_time(Pointer box, Pointer interv) { + var _result = _meos_c.stbox_expand_time(box, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_set_timestamptz(s, t_new); + public static Pointer stbox_get_space(Pointer box) { + var _result = _meos_c.stbox_get_space(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_bigint(Pointer s, long i) { - var _result = _meos_a.contains_span_bigint(s, i); + public static Pointer stbox_quad_split(Pointer box, Pointer count) { + var _result = _meos_c.stbox_quad_split(box, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_date(Pointer s, int d) { - var _result = _meos_a.contains_span_date(s, d); + public static Pointer stbox_round(Pointer box, int maxdd) { + var _result = _meos_c.stbox_round(box, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_float(Pointer s, double d) { - var _result = _meos_a.contains_span_float(s, d); + public static Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { + var _result = _meos_c.stbox_shift_scale_time(box, shift, duration); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_int(Pointer s, int i) { - var _result = _meos_a.contains_span_int(s, i); + public static Pointer stboxarr_round(Pointer boxarr, int count, int maxdd) { + var _result = _meos_c.stboxarr_round(boxarr, count, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.contains_span_span(s1, s2); + public static Pointer stbox_set_srid(Pointer box, int srid) { + var _result = _meos_c.stbox_set_srid(box, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.contains_span_spanset(s, ss); + public static int stbox_srid(Pointer box) { + var _result = _meos_c.stbox_srid(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_span_timestamptz(s, t_new); + public static Pointer stbox_transform(Pointer box, int srid) { + var _result = _meos_c.stbox_transform(box, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.contains_spanset_bigint(ss, i); + public static Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_c.stbox_transform_pipeline(box, pipelinestr, srid, is_forward); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_date(Pointer ss, int d) { - var _result = _meos_a.contains_spanset_date(ss, d); + public static boolean adjacent_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.adjacent_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_float(Pointer ss, double d) { - var _result = _meos_a.contains_spanset_float(ss, d); + public static boolean contained_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.contained_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_int(Pointer ss, int i) { - var _result = _meos_a.contains_spanset_int(ss, i); + public static boolean contains_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.contains_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.contains_spanset_span(ss, s); + public static boolean overlaps_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overlaps_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.contains_spanset_spanset(ss1, ss2); + public static boolean same_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.same_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_spanset_timestamptz(ss, t_new); + public static boolean above_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.above_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overlaps_set_set(s1, s2); + public static boolean after_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.after_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.overlaps_span_span(s1, s2); + public static boolean back_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.back_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.overlaps_span_spanset(s, ss); + public static boolean before_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.before_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.overlaps_spanset_span(ss, s); + public static boolean below_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.below_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overlaps_spanset_spanset(ss1, ss2); + public static boolean front_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.front_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_date_set(int d, Pointer s) { - var _result = _meos_a.after_date_set(d, s); + public static boolean left_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.left_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_date_span(int d, Pointer s) { - var _result = _meos_a.after_date_span(d, s); + public static boolean overabove_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overabove_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_date_spanset(int d, Pointer ss) { - var _result = _meos_a.after_date_spanset(d, ss); + public static boolean overafter_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overafter_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_set_date(Pointer s, int d) { - var _result = _meos_a.after_set_date(s, d); + public static boolean overback_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overback_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_set_timestamptz(s, t_new); + public static boolean overbefore_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overbefore_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_span_date(Pointer s, int d) { - var _result = _meos_a.after_span_date(s, d); + public static boolean overbelow_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overbelow_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_span_timestamptz(s, t_new); + public static boolean overfront_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overfront_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_spanset_date(Pointer ss, int d) { - var _result = _meos_a.after_spanset_date(ss, d); + public static boolean overleft_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overleft_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_spanset_timestamptz(ss, t_new); + public static boolean overright_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.overright_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_set(t_new, s); + public static boolean right_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.right_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_span(t_new, s); + public static Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict) { + var _result = _meos_c.union_stbox_stbox(box1, box2, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_spanset(t_new, ss); + public static Pointer intersection_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.intersection_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_date_set(int d, Pointer s) { - var _result = _meos_a.before_date_set(d, s); + public static int stbox_cmp(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_cmp(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_date_span(int d, Pointer s) { - var _result = _meos_a.before_date_span(d, s); + public static boolean stbox_eq(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_eq(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_date_spanset(int d, Pointer ss) { - var _result = _meos_a.before_date_spanset(d, ss); + public static boolean stbox_ge(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_ge(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_set_date(Pointer s, int d) { - var _result = _meos_a.before_set_date(s, d); + public static boolean stbox_gt(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_gt(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_set_timestamptz(s, t_new); + public static boolean stbox_le(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_le(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_span_date(Pointer s, int d) { - var _result = _meos_a.before_span_date(s, d); + public static boolean stbox_lt(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_lt(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_span_timestamptz(s, t_new); + public static boolean stbox_ne(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_ne(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_spanset_date(Pointer ss, int d) { - var _result = _meos_a.before_spanset_date(ss, d); + public static Pointer tgeogpoint_from_mfjson(String str) { + var _result = _meos_c.tgeogpoint_from_mfjson(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_spanset_timestamptz(ss, t_new); + public static Pointer tgeogpoint_in(String str) { + var _result = _meos_c.tgeogpoint_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_set(t_new, s); + public static Pointer tgeography_from_mfjson(String mfjson) { + var _result = _meos_c.tgeography_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_span(t_new, s); + public static Pointer tgeography_in(String str) { + var _result = _meos_c.tgeography_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_spanset(t_new, ss); + public static Pointer tgeometry_from_mfjson(String str) { + var _result = _meos_c.tgeometry_from_mfjson(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_bigint_set(long i, Pointer s) { - var _result = _meos_a.left_bigint_set(i, s); + public static Pointer tgeometry_in(String str) { + var _result = _meos_c.tgeometry_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_bigint_span(long i, Pointer s) { - var _result = _meos_a.left_bigint_span(i, s); + public static Pointer tgeompoint_from_mfjson(String str) { + var _result = _meos_c.tgeompoint_from_mfjson(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.left_bigint_spanset(i, ss); + public static Pointer tgeompoint_in(String str) { + var _result = _meos_c.tgeompoint_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_float_set(double d, Pointer s) { - var _result = _meos_a.left_float_set(d, s); + public static String tspatial_as_ewkt(Pointer temp, int maxdd) { + var _result = _meos_c.tspatial_as_ewkt(temp, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_float_span(double d, Pointer s) { - var _result = _meos_a.left_float_span(d, s); + public static String tspatial_as_text(Pointer temp, int maxdd) { + var _result = _meos_c.tspatial_as_text(temp, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_float_spanset(double d, Pointer ss) { - var _result = _meos_a.left_float_spanset(d, ss); + public static String tspatial_out(Pointer temp, int maxdd) { + var _result = _meos_c.tspatial_out(temp, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_int_set(int i, Pointer s) { - var _result = _meos_a.left_int_set(i, s); + public static Pointer tgeo_from_base_temp(Pointer gs, Pointer temp) { + var _result = _meos_c.tgeo_from_base_temp(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_int_span(int i, Pointer s) { - var _result = _meos_a.left_int_span(i, s); + public static Pointer tgeoinst_make(Pointer gs, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tgeoinst_make(gs, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_int_spanset(int i, Pointer ss) { - var _result = _meos_a.left_int_spanset(i, ss); + public static Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s) { + var _result = _meos_c.tgeoseq_from_base_tstzset(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_set_bigint(Pointer s, long i) { - var _result = _meos_a.left_set_bigint(s, i); + public static Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { + var _result = _meos_c.tgeoseq_from_base_tstzspan(gs, s, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_set_float(Pointer s, double d) { - var _result = _meos_a.left_set_float(s, d); + public static Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { + var _result = _meos_c.tgeoseqset_from_base_tstzspanset(gs, ss, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_set_int(Pointer s, int i) { - var _result = _meos_a.left_set_int(s, i); + public static Pointer tpoint_from_base_temp(Pointer gs, Pointer temp) { + var _result = _meos_c.tpoint_from_base_temp(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.left_set_set(s1, s2); + public static Pointer tpointinst_make(Pointer gs, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tpointinst_make(gs, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.left_set_text(s, txt); + public static Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s) { + var _result = _meos_c.tpointseq_from_base_tstzset(gs, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_span_bigint(Pointer s, long i) { - var _result = _meos_a.left_span_bigint(s, i); + public static Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { + var _result = _meos_c.tpointseq_from_base_tstzspan(gs, s, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_span_float(Pointer s, double d) { - var _result = _meos_a.left_span_float(s, d); + public static Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_c.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_span_int(Pointer s, int i) { - var _result = _meos_a.left_span_int(s, i); + public static Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { + var _result = _meos_c.tpointseqset_from_base_tstzspanset(gs, ss, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.left_span_span(s1, s2); + public static Pointer box3d_to_stbox(Pointer box) { + var _result = _meos_c.box3d_to_stbox(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.left_span_spanset(s, ss); + public static Pointer gbox_to_stbox(Pointer box) { + var _result = _meos_c.gbox_to_stbox(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.left_spanset_bigint(ss, i); + public static Pointer geomeas_to_tpoint(Pointer gs) { + var _result = _meos_c.geomeas_to_tpoint(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_spanset_float(Pointer ss, double d) { - var _result = _meos_a.left_spanset_float(ss, d); + public static Pointer tgeogpoint_to_tgeography(Pointer temp) { + var _result = _meos_c.tgeogpoint_to_tgeography(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_spanset_int(Pointer ss, int i) { - var _result = _meos_a.left_spanset_int(ss, i); + public static Pointer tgeography_to_tgeogpoint(Pointer temp) { + var _result = _meos_c.tgeography_to_tgeogpoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.left_spanset_span(ss, s); + public static Pointer tgeography_to_tgeometry(Pointer temp) { + var _result = _meos_c.tgeography_to_tgeometry(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.left_spanset_spanset(ss1, ss2); + public static Pointer tgeometry_to_tgeography(Pointer temp) { + var _result = _meos_c.tgeometry_to_tgeography(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.left_text_set(txt, s); + public static Pointer tgeometry_to_tgeompoint(Pointer temp) { + var _result = _meos_c.tgeometry_to_tgeompoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_date_set(int d, Pointer s) { - var _result = _meos_a.overafter_date_set(d, s); + public static Pointer tgeompoint_to_tgeometry(Pointer temp) { + var _result = _meos_c.tgeompoint_to_tgeometry(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_date_span(int d, Pointer s) { - var _result = _meos_a.overafter_date_span(d, s); + public static boolean tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom, Pointer gsarr, Pointer timesarr, Pointer count) { + var _result = _meos_c.tpoint_as_mvtgeom(temp, bounds, extent, buffer, clip_geom, gsarr, timesarr, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_date_spanset(int d, Pointer ss) { - var _result = _meos_b.overafter_date_spanset(d, ss); + public static Pointer tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean overafter_set_date(Pointer s, int d) { - var _result = _meos_b.overafter_set_date(s, d); + public static Pointer tspatial_to_stbox(Pointer temp) { + var _result = _meos_c.tspatial_to_stbox(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overafter_set_timestamptz(s, t_new); + public static Pointer bearing_point_point(Pointer gs1, Pointer gs2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.bearing_point_point(gs1, gs2, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean overafter_span_date(Pointer s, int d) { - var _result = _meos_b.overafter_span_date(s, d); + public static Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert) { + var _result = _meos_c.bearing_tpoint_point(temp, gs, invert); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overafter_span_timestamptz(s, t_new); + public static Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_c.bearing_tpoint_tpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_spanset_date(Pointer ss, int d) { - var _result = _meos_b.overafter_spanset_date(ss, d); + public static Pointer tgeo_centroid(Pointer temp) { + var _result = _meos_c.tgeo_centroid(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overafter_spanset_timestamptz(ss, t_new); + public static Pointer tgeo_convex_hull(Pointer temp) { + var _result = _meos_c.tgeo_convex_hull(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overafter_timestamptz_set(t_new, s); + public static Pointer tgeo_end_value(Pointer temp) { + var _result = _meos_c.tgeo_end_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overafter_timestamptz_span(t_new, s); + public static Pointer tgeo_start_value(Pointer temp) { + var _result = _meos_c.tgeo_start_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overafter_timestamptz_spanset(t_new, ss); + public static Pointer tgeo_traversed_area(Pointer temp, boolean unary_union) { + var _result = _meos_c.tgeo_traversed_area(temp, unary_union); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_date_set(int d, Pointer s) { - var _result = _meos_b.overbefore_date_set(d, s); + public static boolean tgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tgeo_value_at_timestamptz(temp, t_new, strict, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_date_span(int d, Pointer s) { - var _result = _meos_b.overbefore_date_span(d, s); + public static Pointer tgeo_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.tgeo_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean overbefore_date_spanset(int d, Pointer ss) { - var _result = _meos_b.overbefore_date_spanset(d, ss); + public static Pointer tgeo_values(Pointer temp, Pointer count) { + var _result = _meos_c.tgeo_values(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_set_date(Pointer s, int d) { - var _result = _meos_b.overbefore_set_date(s, d); + public static Pointer tpoint_angular_difference(Pointer temp) { + var _result = _meos_c.tpoint_angular_difference(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overbefore_set_timestamptz(s, t_new); + public static Pointer tpoint_azimuth(Pointer temp) { + var _result = _meos_c.tpoint_azimuth(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_span_date(Pointer s, int d) { - var _result = _meos_b.overbefore_span_date(s, d); + public static Pointer tpoint_cumulative_length(Pointer temp) { + var _result = _meos_c.tpoint_cumulative_length(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overbefore_span_timestamptz(s, t_new); + public static Pointer tpoint_direction(Pointer temp) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_c.tpoint_direction(temp, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean overbefore_spanset_date(Pointer ss, int d) { - var _result = _meos_b.overbefore_spanset_date(ss, d); + public static Pointer tpoint_get_x(Pointer temp) { + var _result = _meos_c.tpoint_get_x(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overbefore_spanset_timestamptz(ss, t_new); + public static Pointer tpoint_get_y(Pointer temp) { + var _result = _meos_c.tpoint_get_y(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overbefore_timestamptz_set(t_new, s); + public static Pointer tpoint_get_z(Pointer temp) { + var _result = _meos_c.tpoint_get_z(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overbefore_timestamptz_span(t_new, s); + public static boolean tpoint_is_simple(Pointer temp) { + var _result = _meos_c.tpoint_is_simple(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.overbefore_timestamptz_spanset(t_new, ss); + public static double tpoint_length(Pointer temp) { + var _result = _meos_c.tpoint_length(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_bigint_set(long i, Pointer s) { - var _result = _meos_b.overleft_bigint_set(i, s); + public static Pointer tpoint_speed(Pointer temp) { + var _result = _meos_c.tpoint_speed(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_bigint_span(long i, Pointer s) { - var _result = _meos_b.overleft_bigint_span(i, s); + public static Pointer tpoint_trajectory(Pointer temp, boolean unary_union) { + var _result = _meos_c.tpoint_trajectory(temp, unary_union); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_bigint_spanset(long i, Pointer ss) { - var _result = _meos_b.overleft_bigint_spanset(i, ss); + public static Pointer tpoint_twcentroid(Pointer temp) { + var _result = _meos_c.tpoint_twcentroid(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_float_set(double d, Pointer s) { - var _result = _meos_b.overleft_float_set(d, s); + public static Pointer tgeo_affine(Pointer temp, Pointer a) { + var _result = _meos_c.tgeo_affine(temp, a); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_float_span(double d, Pointer s) { - var _result = _meos_b.overleft_float_span(d, s); + public static Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin) { + var _result = _meos_c.tgeo_scale(temp, scale, sorigin); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_float_spanset(double d, Pointer ss) { - var _result = _meos_b.overleft_float_spanset(d, ss); + public static Pointer tpoint_make_simple(Pointer temp, Pointer count) { + var _result = _meos_c.tpoint_make_simple(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_int_set(int i, Pointer s) { - var _result = _meos_b.overleft_int_set(i, s); + public static int tspatial_srid(Pointer temp) { + var _result = _meos_c.tspatial_srid(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_int_span(int i, Pointer s) { - var _result = _meos_b.overleft_int_span(i, s); + public static Pointer tspatial_set_srid(Pointer temp, int srid) { + var _result = _meos_c.tspatial_set_srid(temp, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_int_spanset(int i, Pointer ss) { - var _result = _meos_b.overleft_int_spanset(i, ss); + public static Pointer tspatial_transform(Pointer temp, int srid) { + var _result = _meos_c.tspatial_transform(temp, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_set_bigint(Pointer s, long i) { - var _result = _meos_b.overleft_set_bigint(s, i); + public static Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_c.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_set_float(Pointer s, double d) { - var _result = _meos_b.overleft_set_float(s, d); + public static Pointer tgeo_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_c.tgeo_at_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_set_int(Pointer s, int i) { - var _result = _meos_b.overleft_set_int(s, i); + public static Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_c.tgeo_at_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.overleft_set_set(s1, s2); + public static Pointer tgeo_at_value(Pointer temp, Pointer gs) { + var _result = _meos_c.tgeo_at_value(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_set_text(Pointer s, Pointer txt) { - var _result = _meos_b.overleft_set_text(s, txt); + public static Pointer tgeo_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_c.tgeo_minus_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_span_bigint(Pointer s, long i) { - var _result = _meos_b.overleft_span_bigint(s, i); + public static Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_c.tgeo_minus_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_span_float(Pointer s, double d) { - var _result = _meos_b.overleft_span_float(s, d); + public static Pointer tgeo_minus_value(Pointer temp, Pointer gs) { + var _result = _meos_c.tgeo_minus_value(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_span_int(Pointer s, int i) { - var _result = _meos_b.overleft_span_int(s, i); + public static Pointer tpoint_at_elevation(Pointer temp, Pointer s) { + var _result = _meos_c.tpoint_at_elevation(temp, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.overleft_span_span(s1, s2); + public static Pointer tpoint_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_c.tpoint_at_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_b.overleft_span_spanset(s, ss); + public static Pointer tpoint_at_value(Pointer temp, Pointer gs) { + var _result = _meos_c.tpoint_at_value(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.overleft_spanset_bigint(ss, i); + public static Pointer tpoint_minus_elevation(Pointer temp, Pointer s) { + var _result = _meos_c.tpoint_minus_elevation(temp, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_spanset_float(Pointer ss, double d) { - var _result = _meos_b.overleft_spanset_float(ss, d); + public static Pointer tpoint_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_c.tpoint_minus_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_spanset_int(Pointer ss, int i) { - var _result = _meos_b.overleft_spanset_int(ss, i); + public static Pointer tpoint_minus_value(Pointer temp, Pointer gs) { + var _result = _meos_c.tpoint_minus_value(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_b.overleft_spanset_span(ss, s); + public static int always_eq_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.always_eq_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.overleft_spanset_spanset(ss1, ss2); + public static int always_eq_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.always_eq_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_text_set(Pointer txt, Pointer s) { - var _result = _meos_b.overleft_text_set(txt, s); + public static int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_eq_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_bigint_set(long i, Pointer s) { - var _result = _meos_b.overright_bigint_set(i, s); + public static int always_ne_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.always_ne_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_bigint_span(long i, Pointer s) { - var _result = _meos_b.overright_bigint_span(i, s); + public static int always_ne_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.always_ne_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_bigint_spanset(long i, Pointer ss) { - var _result = _meos_b.overright_bigint_spanset(i, ss); + public static int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_ne_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_float_set(double d, Pointer s) { - var _result = _meos_b.overright_float_set(d, s); + public static int ever_eq_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.ever_eq_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_float_span(double d, Pointer s) { - var _result = _meos_b.overright_float_span(d, s); + public static int ever_eq_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ever_eq_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_float_spanset(double d, Pointer ss) { - var _result = _meos_b.overright_float_spanset(d, ss); + public static int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_eq_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_int_set(int i, Pointer s) { - var _result = _meos_b.overright_int_set(i, s); + public static int ever_ne_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.ever_ne_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_int_span(int i, Pointer s) { - var _result = _meos_b.overright_int_span(i, s); + public static int ever_ne_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ever_ne_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_int_spanset(int i, Pointer ss) { - var _result = _meos_b.overright_int_spanset(i, ss); + public static int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_ne_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_set_bigint(Pointer s, long i) { - var _result = _meos_b.overright_set_bigint(s, i); + public static Pointer teq_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.teq_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_set_float(Pointer s, double d) { - var _result = _meos_b.overright_set_float(s, d); + public static Pointer teq_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.teq_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_set_int(Pointer s, int i) { - var _result = _meos_b.overright_set_int(s, i); + public static Pointer tne_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.tne_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.overright_set_set(s1, s2); + public static Pointer tne_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tne_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_set_text(Pointer s, Pointer txt) { - var _result = _meos_b.overright_set_text(s, txt); + public static Pointer tgeo_stboxes(Pointer temp, Pointer count) { + var _result = _meos_c.tgeo_stboxes(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_span_bigint(Pointer s, long i) { - var _result = _meos_b.overright_span_bigint(s, i); + public static Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { + var _result = _meos_c.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_span_float(Pointer s, double d) { - var _result = _meos_b.overright_span_float(s, d); + public static Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_span_int(Pointer s, int i) { - var _result = _meos_b.overright_span_int(s, i); + public static Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_c.tgeo_split_each_n_stboxes(temp, elem_count, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.overright_span_span(s1, s2); + public static Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count) { + var _result = _meos_c.tgeo_split_n_stboxes(temp, box_count, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_b.overright_span_spanset(s, ss); + public static boolean adjacent_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.adjacent_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.overright_spanset_bigint(ss, i); + public static boolean adjacent_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.adjacent_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_spanset_float(Pointer ss, double d) { - var _result = _meos_b.overright_spanset_float(ss, d); + public static boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.adjacent_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_spanset_int(Pointer ss, int i) { - var _result = _meos_b.overright_spanset_int(ss, i); + public static boolean contained_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.contained_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_b.overright_spanset_span(ss, s); + public static boolean contained_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.contained_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.overright_spanset_spanset(ss1, ss2); + public static boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.contained_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_text_set(Pointer txt, Pointer s) { - var _result = _meos_b.overright_text_set(txt, s); + public static boolean contains_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.contains_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_bigint_set(long i, Pointer s) { - var _result = _meos_b.right_bigint_set(i, s); + public static boolean contains_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.contains_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_bigint_span(long i, Pointer s) { - var _result = _meos_b.right_bigint_span(i, s); + public static boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.contains_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_bigint_spanset(long i, Pointer ss) { - var _result = _meos_b.right_bigint_spanset(i, ss); + public static boolean overlaps_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overlaps_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_float_set(double d, Pointer s) { - var _result = _meos_b.right_float_set(d, s); + public static boolean overlaps_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overlaps_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_float_span(double d, Pointer s) { - var _result = _meos_b.right_float_span(d, s); + public static boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overlaps_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_float_spanset(double d, Pointer ss) { - var _result = _meos_b.right_float_spanset(d, ss); + public static boolean same_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.same_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_int_set(int i, Pointer s) { - var _result = _meos_b.right_int_set(i, s); + public static boolean same_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.same_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_int_span(int i, Pointer s) { - var _result = _meos_b.right_int_span(i, s); + public static boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.same_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_int_spanset(int i, Pointer ss) { - var _result = _meos_b.right_int_spanset(i, ss); + public static boolean above_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.above_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_set_bigint(Pointer s, long i) { - var _result = _meos_b.right_set_bigint(s, i); + public static boolean above_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.above_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_set_float(Pointer s, double d) { - var _result = _meos_b.right_set_float(s, d); + public static boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.above_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_set_int(Pointer s, int i) { - var _result = _meos_b.right_set_int(s, i); + public static boolean after_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.after_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.right_set_set(s1, s2); + public static boolean after_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.after_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_set_text(Pointer s, Pointer txt) { - var _result = _meos_b.right_set_text(s, txt); + public static boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.after_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_span_bigint(Pointer s, long i) { - var _result = _meos_b.right_span_bigint(s, i); + public static boolean back_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.back_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_span_float(Pointer s, double d) { - var _result = _meos_b.right_span_float(s, d); + public static boolean back_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.back_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_span_int(Pointer s, int i) { - var _result = _meos_b.right_span_int(s, i); + public static boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.back_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.right_span_span(s1, s2); + public static boolean before_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.before_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_b.right_span_spanset(s, ss); + public static boolean before_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.before_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.right_spanset_bigint(ss, i); + public static boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.before_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_spanset_float(Pointer ss, double d) { - var _result = _meos_b.right_spanset_float(ss, d); + public static boolean below_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.below_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_spanset_int(Pointer ss, int i) { - var _result = _meos_b.right_spanset_int(ss, i); + public static boolean below_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.below_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_b.right_spanset_span(ss, s); + public static boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.below_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.right_spanset_spanset(ss1, ss2); + public static boolean front_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.front_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_text_set(Pointer txt, Pointer s) { - var _result = _meos_b.right_text_set(txt, s); + public static boolean front_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.front_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_bigint_set(long i, Pointer s) { - var _result = _meos_b.intersection_bigint_set(i, s); + public static boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.front_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_date_set(int d, Pointer s) { - var _result = _meos_b.intersection_date_set(d, s); + public static boolean left_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.left_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_float_set(double d, Pointer s) { - var _result = _meos_b.intersection_float_set(d, s); + public static boolean left_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.left_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_int_set(int i, Pointer s) { - var _result = _meos_b.intersection_int_set(i, s); + public static boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.left_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_bigint(Pointer s, long i) { - var _result = _meos_b.intersection_set_bigint(s, i); + public static boolean overabove_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overabove_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_date(Pointer s, int d) { - var _result = _meos_b.intersection_set_date(s, d); + public static boolean overabove_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overabove_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_float(Pointer s, double d) { - var _result = _meos_b.intersection_set_float(s, d); + public static boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overabove_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_int(Pointer s, int i) { - var _result = _meos_b.intersection_set_int(s, i); + public static boolean overafter_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overafter_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.intersection_set_set(s1, s2); + public static boolean overafter_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overafter_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_text(Pointer s, Pointer txt) { - var _result = _meos_b.intersection_set_text(s, txt); + public static boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overafter_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.intersection_set_timestamptz(s, t_new); + public static boolean overback_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overback_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_bigint(Pointer s, long i) { - var _result = _meos_b.intersection_span_bigint(s, i); + public static boolean overback_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overback_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_date(Pointer s, int d) { - var _result = _meos_b.intersection_span_date(s, d); + public static boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overback_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_float(Pointer s, double d) { - var _result = _meos_b.intersection_span_float(s, d); + public static boolean overbefore_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overbefore_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_int(Pointer s, int i) { - var _result = _meos_b.intersection_span_int(s, i); + public static boolean overbefore_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overbefore_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.intersection_span_span(s1, s2); + public static boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overbefore_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_b.intersection_span_spanset(s, ss); + public static boolean overbelow_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overbelow_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.intersection_span_timestamptz(s, t_new); + public static boolean overbelow_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overbelow_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.intersection_spanset_bigint(ss, i); + public static boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overbelow_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_date(Pointer ss, int d) { - var _result = _meos_b.intersection_spanset_date(ss, d); + public static boolean overfront_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overfront_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_float(Pointer ss, double d) { - var _result = _meos_b.intersection_spanset_float(ss, d); + public static boolean overfront_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overfront_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_int(Pointer ss, int i) { - var _result = _meos_b.intersection_spanset_int(ss, i); + public static boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overfront_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_b.intersection_spanset_span(ss, s); + public static boolean overleft_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overleft_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.intersection_spanset_spanset(ss1, ss2); + public static boolean overleft_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overleft_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.intersection_spanset_timestamptz(ss, t_new); + public static boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overleft_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_text_set(Pointer txt, Pointer s) { - var _result = _meos_b.intersection_text_set(txt, s); + public static boolean overright_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.overright_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.intersection_timestamptz_set(t_new, s); + public static boolean overright_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.overright_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_bigint_set(long i, Pointer s) { - var _result = _meos_b.minus_bigint_set(i, s); + public static boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.overright_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_bigint_span(long i, Pointer s) { - var _result = _meos_b.minus_bigint_span(i, s); + public static boolean right_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_c.right_stbox_tspatial(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_bigint_spanset(long i, Pointer ss) { - var _result = _meos_b.minus_bigint_spanset(i, ss); + public static boolean right_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.right_tspatial_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_date_set(int d, Pointer s) { - var _result = _meos_b.minus_date_set(d, s); + public static boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.right_tspatial_tspatial(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_date_span(int d, Pointer s) { - var _result = _meos_b.minus_date_span(d, s); + public static int acontains_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.acontains_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_date_spanset(int d, Pointer ss) { - var _result = _meos_b.minus_date_spanset(d, ss); + public static int acontains_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.acontains_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_float_set(double d, Pointer s) { - var _result = _meos_b.minus_float_set(d, s); + public static int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.acontains_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_float_span(double d, Pointer s) { - var _result = _meos_b.minus_float_span(d, s); + public static int adisjoint_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.adisjoint_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_float_spanset(double d, Pointer ss) { - var _result = _meos_b.minus_float_spanset(d, ss); + public static int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.adisjoint_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_int_set(int i, Pointer s) { - var _result = _meos_b.minus_int_set(i, s); + public static int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_c.adwithin_tgeo_geo(temp, gs, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_int_span(int i, Pointer s) { - var _result = _meos_b.minus_int_span(i, s); + public static int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_c.adwithin_tgeo_tgeo(temp1, temp2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_int_spanset(int i, Pointer ss) { - var _result = _meos_b.minus_int_spanset(i, ss); + public static int aintersects_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.aintersects_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_bigint(Pointer s, long i) { - var _result = _meos_b.minus_set_bigint(s, i); + public static int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.aintersects_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_date(Pointer s, int d) { - var _result = _meos_b.minus_set_date(s, d); + public static int atouches_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.atouches_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_float(Pointer s, double d) { - var _result = _meos_b.minus_set_float(s, d); + public static int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.atouches_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_int(Pointer s, int i) { - var _result = _meos_b.minus_set_int(s, i); + public static int atouches_tpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.atouches_tpoint_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.minus_set_set(s1, s2); + public static int econtains_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.econtains_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_text(Pointer s, Pointer txt) { - var _result = _meos_b.minus_set_text(s, txt); + public static int econtains_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.econtains_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.minus_set_timestamptz(s, t_new); + public static int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.econtains_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_bigint(Pointer s, long i) { - var _result = _meos_b.minus_span_bigint(s, i); + public static int ecovers_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.ecovers_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_date(Pointer s, int d) { - var _result = _meos_b.minus_span_date(s, d); + public static int ecovers_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ecovers_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_float(Pointer s, double d) { - var _result = _meos_b.minus_span_float(s, d); + public static int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ecovers_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_int(Pointer s, int i) { - var _result = _meos_b.minus_span_int(s, i); + public static int edisjoint_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.edisjoint_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.minus_span_span(s1, s2); + public static int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.edisjoint_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_b.minus_span_spanset(s, ss); + public static int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_c.edwithin_tgeo_geo(temp, gs, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.minus_span_timestamptz(s, t_new); + public static int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_c.edwithin_tgeo_tgeo(temp1, temp2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.minus_spanset_bigint(ss, i); + public static int eintersects_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.eintersects_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_date(Pointer ss, int d) { - var _result = _meos_b.minus_spanset_date(ss, d); + public static int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.eintersects_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_float(Pointer ss, double d) { - var _result = _meos_b.minus_spanset_float(ss, d); + public static int etouches_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.etouches_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_int(Pointer ss, int i) { - var _result = _meos_b.minus_spanset_int(ss, i); + public static int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.etouches_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_b.minus_spanset_span(ss, s); + public static int etouches_tpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.etouches_tpoint_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.minus_spanset_spanset(ss1, ss2); + public static Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.tcontains_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.minus_spanset_timestamptz(ss, t_new); + public static Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tcontains_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_text_set(Pointer txt, Pointer s) { - var _result = _meos_b.minus_text_set(txt, s); + public static Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tcontains_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.minus_timestamptz_set(t_new, s); + public static Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.tcovers_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.minus_timestamptz_span(t_new, s); + public static Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tcovers_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.minus_timestamptz_spanset(t_new, ss); + public static Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tcovers_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_bigint_set(long i, Pointer s) { - var _result = _meos_b.union_bigint_set(i, s); + public static Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.tdisjoint_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_bigint_span(Pointer s, long i) { - var _result = _meos_b.union_bigint_span(s, i); + public static Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tdisjoint_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_bigint_spanset(long i, Pointer ss) { - var _result = _meos_b.union_bigint_spanset(i, ss); + public static Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tdisjoint_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_date_set(int d, Pointer s) { - var _result = _meos_b.union_date_set(d, s); + public static Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist) { + var _result = _meos_c.tdwithin_geo_tgeo(gs, temp, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_date_span(Pointer s, int d) { - var _result = _meos_b.union_date_span(s, d); + public static Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_c.tdwithin_tgeo_geo(temp, gs, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_date_spanset(int d, Pointer ss) { - var _result = _meos_b.union_date_spanset(d, ss); + public static Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_c.tdwithin_tgeo_tgeo(temp1, temp2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_float_set(double d, Pointer s) { - var _result = _meos_b.union_float_set(d, s); + public static Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.tintersects_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_float_span(Pointer s, double d) { - var _result = _meos_b.union_float_span(s, d); + public static Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tintersects_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_float_spanset(double d, Pointer ss) { - var _result = _meos_b.union_float_spanset(d, ss); + public static Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tintersects_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_int_set(int i, Pointer s) { - var _result = _meos_b.union_int_set(i, s); + public static Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.ttouches_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_int_span(int i, Pointer s) { - var _result = _meos_b.union_int_span(i, s); + public static Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ttouches_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_int_spanset(int i, Pointer ss) { - var _result = _meos_b.union_int_spanset(i, ss); + public static Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ttouches_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_bigint(Pointer s, long i) { - var _result = _meos_b.union_set_bigint(s, i); + public static Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tdistance_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_date(Pointer s, int d) { - var _result = _meos_b.union_set_date(s, d); + public static Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tdistance_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_float(Pointer s, double d) { - var _result = _meos_b.union_set_float(s, d); + public static double nad_stbox_geo(Pointer box, Pointer gs) { + var _result = _meos_c.nad_stbox_geo(box, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_int(Pointer s, int i) { - var _result = _meos_b.union_set_int(s, i); + public static double nad_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.nad_stbox_stbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.union_set_set(s1, s2); + public static double nad_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.nad_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_text(Pointer s, Pointer txt) { - var _result = _meos_b.union_set_text(s, txt); + public static double nad_tgeo_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.nad_tgeo_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.union_set_timestamptz(s, t_new); + public static double nad_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.nad_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_bigint(Pointer s, long i) { - var _result = _meos_b.union_span_bigint(s, i); + public static Pointer nai_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.nai_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_date(Pointer s, int d) { - var _result = _meos_b.union_span_date(s, d); + public static Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.nai_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_float(Pointer s, double d) { - var _result = _meos_b.union_span_float(s, d); + public static Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.shortestline_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_int(Pointer s, int i) { - var _result = _meos_b.union_span_int(s, i); + public static Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.shortestline_tgeo_tgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.union_span_span(s1, s2); + public static double tgeoarr_tgeoarr_mindist(Pointer arr1, int count1, Pointer arr2, int count2) { + var _result = _meos_c.tgeoarr_tgeoarr_mindist(arr1, count1, arr2, count2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_b.union_span_spanset(s, ss); + public static double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold) { + var _result = _meos_c.mindistance_tgeo_tgeo(temp1, temp2, threshold); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.union_span_timestamptz(s, t_new); + public static Pointer tpoint_tcentroid_finalfn(Pointer state) { + var _result = _meos_c.tpoint_tcentroid_finalfn(state); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.union_spanset_bigint(ss, i); + public static Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp) { + var _result = _meos_c.tpoint_tcentroid_transfn(state, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_date(Pointer ss, int d) { - var _result = _meos_b.union_spanset_date(ss, d); + public static Pointer tspatial_extent_transfn(Pointer box, Pointer temp) { + var _result = _meos_c.tspatial_extent_transfn(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_float(Pointer ss, double d) { - var _result = _meos_b.union_spanset_float(ss, d); + public static Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin) { + var _result = _meos_c.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_int(Pointer ss, int i) { - var _result = _meos_b.union_spanset_int(ss, i); + public static Pointer stbox_get_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.stbox_get_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_b.union_spanset_span(ss, s); + public static Pointer stbox_get_time_tile(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.stbox_get_time_tile(t_new, duration, torigin_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.union_spanset_spanset(ss1, ss2); + public static Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count) { + var _result = _meos_c.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.union_spanset_timestamptz(ss, t_new); + public static Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_text_set(Pointer txt, Pointer s) { - var _result = _meos_b.union_text_set(txt, s); + public static Pointer stbox_time_tiles(Pointer bounds, Pointer duration, OffsetDateTime torigin, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.stbox_time_tiles(bounds, duration, torigin_new, border_inc, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.union_timestamptz_set(t_new, s); + public static Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer count) { + var _result = _meos_c.tgeo_space_split(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, space_bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.union_timestamptz_span(t_new, s); + public static Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer time_bins, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.tgeo_space_time_split(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, space_bins, time_bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.union_timestamptz_spanset(t_new, ss); + public static Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k) { + var _result = _meos_c.geo_cluster_kmeans(geoms, ngeoms, k); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long distance_bigintset_bigintset(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_bigintset_bigintset(s1, s2); + public static Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count) { + var _result = _meos_c.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long distance_bigintspan_bigintspan(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_bigintspan_bigintspan(s1, s2); + public static Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count) { + var _result = _meos_c.geo_cluster_intersecting(geoms, ngeoms, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspan(Pointer ss, Pointer s) { - var _result = _meos_b.distance_bigintspanset_bigintspan(ss, s); + public static Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count) { + var _result = _meos_c.geo_cluster_within(geoms, ngeoms, tolerance, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.distance_bigintspanset_bigintspanset(ss1, ss2); + public static int acovers_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_c.acovers_geo_tgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_dateset_dateset(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_dateset_dateset(s1, s2); + public static int acovers_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.acovers_tgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_datespan_datespan(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_datespan_datespan(s1, s2); + public static String cbuffer_as_ewkt(Pointer cb, int maxdd) { + var _result = _meos_c.cbuffer_as_ewkt(cb, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_datespanset_datespan(Pointer ss, Pointer s) { - var _result = _meos_b.distance_datespanset_datespan(ss, s); + public static String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size) { + var _result = _meos_c.cbuffer_as_hexwkb(cb, variant, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_datespanset_datespanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.distance_datespanset_datespanset(ss1, ss2); + public static String cbuffer_as_text(Pointer cb, int maxdd) { + var _result = _meos_c.cbuffer_as_text(cb, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_floatset_floatset(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_floatset_floatset(s1, s2); + public static Pointer cbuffer_as_wkb(Pointer cb, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_c.cbuffer_as_wkb(cb, variant, size_out); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_floatspan_floatspan(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_floatspan_floatspan(s1, s2); + public static Pointer cbuffer_from_hexwkb(String hexwkb) { + var _result = _meos_c.cbuffer_from_hexwkb(hexwkb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_floatspanset_floatspan(Pointer ss, Pointer s) { - var _result = _meos_b.distance_floatspanset_floatspan(ss, s); + public static Pointer cbuffer_from_wkb(Pointer wkb, long size) { + var _result = _meos_c.cbuffer_from_wkb(wkb, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.distance_floatspanset_floatspanset(ss1, ss2); + public static Pointer cbuffer_in(String str) { + var _result = _meos_c.cbuffer_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_intset_intset(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_intset_intset(s1, s2); + public static String cbuffer_out(Pointer cb, int maxdd) { + var _result = _meos_c.cbuffer_out(cb, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_intspan_intspan(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_intspan_intspan(s1, s2); + public static Pointer cbuffer_copy(Pointer cb) { + var _result = _meos_c.cbuffer_copy(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_intspanset_intspan(Pointer ss, Pointer s) { - var _result = _meos_b.distance_intspanset_intspan(ss, s); + public static Pointer cbuffer_make(Pointer point, double radius) { + var _result = _meos_c.cbuffer_make(point, radius); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_intspanset_intspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.distance_intspanset_intspanset(ss1, ss2); + public static Pointer cbuffer_to_geom(Pointer cb) { + var _result = _meos_c.cbuffer_to_geom(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long distance_set_bigint(Pointer s, long i) { - var _result = _meos_b.distance_set_bigint(s, i); + public static Pointer cbuffer_to_stbox(Pointer cb) { + var _result = _meos_c.cbuffer_to_stbox(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_set_date(Pointer s, int d) { - var _result = _meos_b.distance_set_date(s, d); + public static Pointer cbufferarr_to_geom(Pointer cbarr, int count) { + var _result = _meos_c.cbufferarr_to_geom(cbarr, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_set_float(Pointer s, double d) { - var _result = _meos_b.distance_set_float(s, d); + public static Pointer geom_to_cbuffer(Pointer gs) { + var _result = _meos_c.geom_to_cbuffer(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_set_int(Pointer s, int i) { - var _result = _meos_b.distance_set_int(s, i); + public static int cbuffer_hash(Pointer cb) { + var _result = _meos_c.cbuffer_hash(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.distance_set_timestamptz(s, t_new); + public static long cbuffer_hash_extended(Pointer cb, long seed) { + var _result = _meos_c.cbuffer_hash_extended(cb, seed); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long distance_span_bigint(Pointer s, long i) { - var _result = _meos_b.distance_span_bigint(s, i); + public static Pointer cbuffer_point(Pointer cb) { + var _result = _meos_c.cbuffer_point(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_span_date(Pointer s, int d) { - var _result = _meos_b.distance_span_date(s, d); + public static double cbuffer_radius(Pointer cb) { + var _result = _meos_c.cbuffer_radius(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_span_float(Pointer s, double d) { - var _result = _meos_b.distance_span_float(s, d); + public static Pointer cbuffer_round(Pointer cb, int maxdd) { + var _result = _meos_c.cbuffer_round(cb, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_span_int(Pointer s, int i) { - var _result = _meos_b.distance_span_int(s, i); + public static Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd) { + var _result = _meos_c.cbufferarr_round(cbarr, count, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.distance_span_timestamptz(s, t_new); + public static void cbuffer_set_srid(Pointer cb, int srid) { + _meos_c.cbuffer_set_srid(cb, srid); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static long distance_spanset_bigint(Pointer ss, long i) { - var _result = _meos_b.distance_spanset_bigint(ss, i); + public static int cbuffer_srid(Pointer cb) { + var _result = _meos_c.cbuffer_srid(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_spanset_date(Pointer ss, int d) { - var _result = _meos_b.distance_spanset_date(ss, d); + public static Pointer cbuffer_transform(Pointer cb, int srid) { + var _result = _meos_c.cbuffer_transform(cb, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_spanset_float(Pointer ss, double d) { - var _result = _meos_b.distance_spanset_float(ss, d); + public static Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_c.cbuffer_transform_pipeline(cb, pipelinestr, srid, is_forward); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int distance_spanset_int(Pointer ss, int i) { - var _result = _meos_b.distance_spanset_int(ss, i); + public static int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_c.contains_cbuffer_cbuffer(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.distance_spanset_timestamptz(ss, t_new); + public static int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_c.covers_cbuffer_cbuffer(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_tstzset_tstzset(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_tstzset_tstzset(s1, s2); + public static int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_c.disjoint_cbuffer_cbuffer(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_tstzspan_tstzspan(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_tstzspan_tstzspan(s1, s2); + public static int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist) { + var _result = _meos_c.dwithin_cbuffer_cbuffer(cb1, cb2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspan(Pointer ss, Pointer s) { - var _result = _meos_b.distance_tstzspanset_tstzspan(ss, s); + public static int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_c.intersects_cbuffer_cbuffer(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_b.distance_tstzspanset_tstzspanset(ss1, ss2); + public static int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_c.touches_cbuffer_cbuffer(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigint_extent_transfn(Pointer state, long i) { - var _result = _meos_b.bigint_extent_transfn(state, i); + public static Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s) { + var _result = _meos_c.cbuffer_tstzspan_to_stbox(cb, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigint_union_transfn(Pointer state, long i) { - var _result = _meos_b.bigint_union_transfn(state, i); + public static Pointer cbuffer_timestamptz_to_stbox(Pointer cb, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.cbuffer_timestamptz_to_stbox(cb, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer date_extent_transfn(Pointer state, int d) { - var _result = _meos_b.date_extent_transfn(state, d); + public static double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_c.distance_cbuffer_cbuffer(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer date_union_transfn(Pointer state, int d) { - var _result = _meos_b.date_union_transfn(state, d); + public static double distance_cbuffer_geo(Pointer cb, Pointer gs) { + var _result = _meos_c.distance_cbuffer_geo(cb, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_extent_transfn(Pointer state, double d) { - var _result = _meos_b.float_extent_transfn(state, d); + public static double distance_cbuffer_stbox(Pointer cb, Pointer box) { + var _result = _meos_c.distance_cbuffer_stbox(cb, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_union_transfn(Pointer state, double d) { - var _result = _meos_b.float_union_transfn(state, d); + public static double nad_cbuffer_stbox(Pointer cb, Pointer box) { + var _result = _meos_c.nad_cbuffer_stbox(cb, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_extent_transfn(Pointer state, int i) { - var _result = _meos_b.int_extent_transfn(state, i); + public static int cbuffer_cmp(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_cmp(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_union_transfn(Pointer state, int i) { - var _result = _meos_b.int_union_transfn(state, i); + public static boolean cbuffer_eq(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_eq(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_extent_transfn(Pointer state, Pointer s) { - var _result = _meos_b.set_extent_transfn(state, s); + public static boolean cbuffer_ge(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_ge(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_union_finalfn(Pointer state) { - var _result = _meos_b.set_union_finalfn(state); + public static boolean cbuffer_gt(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_gt(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_union_transfn(Pointer state, Pointer s) { - var _result = _meos_b.set_union_transfn(state, s); + public static boolean cbuffer_le(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_le(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_extent_transfn(Pointer state, Pointer s) { - var _result = _meos_b.span_extent_transfn(state, s); + public static boolean cbuffer_lt(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_lt(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_union_transfn(Pointer state, Pointer s) { - var _result = _meos_b.span_union_transfn(state, s); + public static boolean cbuffer_ne(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_ne(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_extent_transfn(Pointer state, Pointer ss) { - var _result = _meos_b.spanset_extent_transfn(state, ss); + public static boolean cbuffer_nsame(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_nsame(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_union_finalfn(Pointer state) { - var _result = _meos_b.spanset_union_finalfn(state); + public static boolean cbuffer_same(Pointer cb1, Pointer cb2) { + var _result = _meos_c.cbuffer_same(cb1, cb2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_union_transfn(Pointer state, Pointer ss) { - var _result = _meos_b.spanset_union_transfn(state, ss); + public static Pointer cbufferset_in(String str) { + var _result = _meos_c.cbufferset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer text_union_transfn(Pointer state, Pointer txt) { - var _result = _meos_b.text_union_transfn(state, txt); + public static String cbufferset_out(Pointer s, int maxdd) { + var _result = _meos_c.cbufferset_out(s, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_extent_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.timestamptz_extent_transfn(state, t_new); + public static Pointer cbufferset_make(Pointer values, int count) { + var _result = _meos_c.cbufferset_make(values, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_union_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.timestamptz_union_transfn(state, t_new); + public static Pointer cbuffer_to_set(Pointer cb) { + var _result = _meos_c.cbuffer_to_set(cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long bigint_get_bin(long value, long vsize, long vorigin) { - var _result = _meos_b.bigint_get_bin(value, vsize, vorigin); + public static Pointer cbufferset_end_value(Pointer s) { + var _result = _meos_c.cbufferset_end_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspan_bins(Pointer s, long vsize, long vorigin, Pointer count) { - var _result = _meos_b.bigintspan_bins(s, vsize, vorigin, count); + public static Pointer cbufferset_start_value(Pointer s) { + var _result = _meos_c.cbufferset_start_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count) { - var _result = _meos_b.bigintspanset_bins(ss, vsize, vorigin, count); + public static Pointer cbufferset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.cbufferset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static int date_get_bin(int d, Pointer duration, int torigin) { - var _result = _meos_b.date_get_bin(d, duration, torigin); + public static Pointer cbufferset_values(Pointer s) { + var _result = _meos_c.cbufferset_values(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespan_bins(Pointer s, Pointer duration, int torigin, Pointer count) { - var _result = _meos_b.datespan_bins(s, duration, torigin, count); + public static Pointer cbuffer_union_transfn(Pointer state, Pointer cb) { + var _result = _meos_c.cbuffer_union_transfn(state, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count) { - var _result = _meos_b.datespanset_bins(ss, duration, torigin, count); + public static boolean contained_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_c.contained_cbuffer_set(cb, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double float_get_bin(double value, double vsize, double vorigin) { - var _result = _meos_b.float_get_bin(value, vsize, vorigin); + public static boolean contains_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_c.contains_set_cbuffer(s, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspan_bins(Pointer s, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.floatspan_bins(s, vsize, vorigin, count); + public static Pointer intersection_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_c.intersection_cbuffer_set(cb, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.floatspanset_bins(ss, vsize, vorigin, count); + public static Pointer intersection_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_c.intersection_set_cbuffer(s, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int int_get_bin(int value, int vsize, int vorigin) { - var _result = _meos_b.int_get_bin(value, vsize, vorigin); + public static Pointer minus_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_c.minus_cbuffer_set(cb, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspan_bins(Pointer s, int vsize, int vorigin, Pointer count) { - var _result = _meos_b.intspan_bins(s, vsize, vorigin, count); + public static Pointer minus_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_c.minus_set_cbuffer(s, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count) { - var _result = _meos_b.intspanset_bins(ss, vsize, vorigin, count); + public static Pointer union_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_c.union_cbuffer_set(cb, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_get_bin(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.timestamptz_get_bin(t_new, duration, torigin_new); + public static Pointer union_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_c.union_set_cbuffer(s, cb); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_bins(Pointer s, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.tstzspan_bins(s, duration, origin_new, count); + public static Pointer tcbuffer_in(String str) { + var _result = _meos_c.tcbuffer_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_bins(Pointer ss, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tstzspanset_bins(ss, duration, torigin_new, count); + public static Pointer tcbuffer_from_mfjson(String mfjson) { + var _result = _meos_c.tcbuffer_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = _meos_b.tbox_as_hexwkb(box, variant, size); + public static Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat) { + var _result = _meos_c.tcbuffer_make(tpoint, tfloat); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.tbox_as_wkb(box, variant, size_out); + public static Pointer tcbuffer_points(Pointer temp) { + var _result = _meos_c.tcbuffer_points(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_from_hexwkb(String hexwkb) { - var _result = _meos_b.tbox_from_hexwkb(hexwkb); + public static Pointer tcbuffer_radius(Pointer temp) { + var _result = _meos_c.tcbuffer_radius(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_from_wkb(Pointer wkb, long size) { - var _result = _meos_b.tbox_from_wkb(wkb, size); + public static Pointer tcbuffer_trav_area(Pointer temp, boolean merge_union) { + var _result = _meos_c.tcbuffer_trav_area(temp, merge_union); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_in(String str) { - var _result = _meos_b.tbox_in(str); + public static Pointer tcbuffer_to_tfloat(Pointer temp) { + var _result = _meos_c.tcbuffer_to_tfloat(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tbox_out(Pointer box, int maxdd) { - var _result = _meos_b.tbox_out(box, maxdd); + public static Pointer tcbuffer_to_tgeompoint(Pointer temp) { + var _result = _meos_c.tcbuffer_to_tgeompoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_timestamptz_to_tbox(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.float_timestamptz_to_tbox(d, t_new); + public static Pointer tgeometry_to_tcbuffer(Pointer temp) { + var _result = _meos_c.tgeometry_to_tcbuffer(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_tstzspan_to_tbox(double d, Pointer s) { - var _result = _meos_b.float_tstzspan_to_tbox(d, s); + public static Pointer tcbuffer_expand(Pointer temp, double dist) { + var _result = _meos_c.tcbuffer_expand(temp, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_timestamptz_to_tbox(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.int_timestamptz_to_tbox(i, t_new); + public static Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tcbuffer_at_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_tstzspan_to_tbox(int i, Pointer s) { - var _result = _meos_b.int_tstzspan_to_tbox(i, s); + public static Pointer tcbuffer_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_c.tcbuffer_at_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer numspan_tstzspan_to_tbox(Pointer span, Pointer s) { - var _result = _meos_b.numspan_tstzspan_to_tbox(span, s); + public static Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_c.tcbuffer_at_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer numspan_timestamptz_to_tbox(Pointer span, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.numspan_timestamptz_to_tbox(span, t_new); + public static Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tcbuffer_minus_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_copy(Pointer box) { - var _result = _meos_b.tbox_copy(box); + public static Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_c.tcbuffer_minus_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_make(Pointer s, Pointer p) { - var _result = _meos_b.tbox_make(s, p); + public static Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_c.tcbuffer_minus_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer float_to_tbox(double d) { - var _result = _meos_b.float_to_tbox(d); + public static Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tdistance_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer int_to_tbox(int i) { - var _result = _meos_b.int_to_tbox(i); + public static Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tdistance_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer set_to_tbox(Pointer s) { - var _result = _meos_b.set_to_tbox(s); + public static Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tdistance_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer span_to_tbox(Pointer s) { - var _result = _meos_b.span_to_tbox(s); + public static double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.nad_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spanset_to_tbox(Pointer ss) { - var _result = _meos_b.spanset_to_tbox(ss); + public static double nad_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.nad_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_to_intspan(Pointer box) { - var _result = _meos_b.tbox_to_intspan(box); + public static double nad_tcbuffer_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.nad_tcbuffer_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_to_floatspan(Pointer box) { - var _result = _meos_b.tbox_to_floatspan(box); + public static double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.nad_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_to_tstzspan(Pointer box) { - var _result = _meos_b.tbox_to_tstzspan(box); + public static Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.nai_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_to_tbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.timestamptz_to_tbox(t_new); + public static Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.nai_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tbox_hash(Pointer box) { - var _result = _meos_b.tbox_hash(box); + public static Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.nai_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long tbox_hash_extended(Pointer box, long seed) { - var _result = _meos_b.tbox_hash_extended(box, seed); + public static Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.shortestline_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_hast(Pointer box) { - var _result = _meos_b.tbox_hast(box); + public static Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.shortestline_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_hasx(Pointer box) { - var _result = _meos_b.tbox_hasx(box); + public static Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.shortestline_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tbox_tmax(box, result); + public static int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.always_eq_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_tmax_inc(box, result); + public static int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.always_eq_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tbox_tmin(box, result); + public static int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_eq_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_tmin_inc(box, result); + public static int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.always_ne_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tbox_xmax(box, result); + public static int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.always_ne_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_xmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_xmax_inc(box, result); + public static int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_ne_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tbox_xmin(box, result); + public static int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.ever_eq_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_xmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_xmin_inc(box, result); + public static int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.ever_eq_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tboxfloat_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tboxfloat_xmax(box, result); + public static int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_eq_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tboxfloat_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tboxfloat_xmin(box, result); + public static int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.ever_ne_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tboxint_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_b.tboxint_xmax(box, result); + public static int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.ever_ne_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tboxint_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_b.tboxint_xmin(box, result); + public static int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_ne_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbox_expand_time(Pointer box, Pointer interv) { - var _result = _meos_b.tbox_expand_time(box, interv); + public static Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.teq_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_round(Pointer box, int maxdd) { - var _result = _meos_b.tbox_round(box, maxdd); + public static Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.teq_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = _meos_b.tbox_shift_scale_time(box, shift, duration); + public static Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.tne_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatbox_expand(Pointer box, double d) { - var _result = _meos_b.tfloatbox_expand(box, d); + public static Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tne_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth); + public static int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.acontains_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintbox_expand(Pointer box, int i) { - var _result = _meos_b.tintbox_expand(box, i); + public static int acontains_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.acontains_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.tintbox_shift_scale(box, shift, width, hasshift, haswidth); + public static int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.acontains_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_b.union_tbox_tbox(box1, box2, strict); + public static int acontains_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.acontains_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.intersection_tbox_tbox(box1, box2); + public static int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.acovers_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.adjacent_tbox_tbox(box1, box2); + public static int acovers_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.acovers_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.contained_tbox_tbox(box1, box2); + public static int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.acovers_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.contains_tbox_tbox(box1, box2); + public static int acovers_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.acovers_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overlaps_tbox_tbox(box1, box2); + public static int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.adisjoint_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.same_tbox_tbox(box1, box2); + public static int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.adisjoint_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.after_tbox_tbox(box1, box2); + public static int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.adisjoint_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.before_tbox_tbox(box1, box2); + public static int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_c.adwithin_tcbuffer_geo(temp, gs, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.left_tbox_tbox(box1, box2); + public static int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { + var _result = _meos_c.adwithin_tcbuffer_cbuffer(temp, cb, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overafter_tbox_tbox(box1, box2); + public static int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_c.adwithin_tcbuffer_tcbuffer(temp1, temp2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overbefore_tbox_tbox(box1, box2); + public static int aintersects_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.aintersects_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overleft_tbox_tbox(box1, box2); + public static int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.aintersects_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overright_tbox_tbox(box1, box2); + public static int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.aintersects_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.right_tbox_tbox(box1, box2); + public static int atouches_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.atouches_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_cmp(box1, box2); + public static int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.atouches_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_eq(box1, box2); + public static int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.atouches_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_ge(box1, box2); + public static int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.econtains_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_gt(box1, box2); + public static int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.econtains_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_le(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_le(box1, box2); + public static int econtains_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.econtains_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_lt(box1, box2); + public static int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.ecovers_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_ne(box1, box2); + public static int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.ecovers_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_from_mfjson(String str) { - var _result = _meos_b.tbool_from_mfjson(str); + public static int ecovers_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ecovers_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_in(String str) { - var _result = _meos_b.tbool_in(str); + public static int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ecovers_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tbool_out(Pointer temp) { - var _result = _meos_b.tbool_out(temp); + public static int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.edisjoint_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String temporal_as_hexwkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.temporal_as_hexwkb(temp, variant, size_out); + public static int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.edisjoint_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs) { - var _result = _meos_b.temporal_as_mfjson(temp, with_bbox, flags, precision, srs); + public static int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_c.edwithin_tcbuffer_geo(temp, gs, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_as_wkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.temporal_as_wkb(temp, variant, size_out); + public static int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { + var _result = _meos_c.edwithin_tcbuffer_cbuffer(temp, cb, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_from_hexwkb(String hexwkb) { - var _result = _meos_b.temporal_from_hexwkb(hexwkb); + public static int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_c.edwithin_tcbuffer_tcbuffer(temp1, temp2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_from_wkb(Pointer wkb, long size) { - var _result = _meos_b.temporal_from_wkb(wkb, size); + public static int eintersects_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.eintersects_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_from_mfjson(String str) { - var _result = _meos_b.tfloat_from_mfjson(str); + public static int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.eintersects_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_in(String str) { - var _result = _meos_b.tfloat_in(str); + public static int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.eintersects_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tfloat_out(Pointer temp, int maxdd) { - var _result = _meos_b.tfloat_out(temp, maxdd); + public static int etouches_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.etouches_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_from_mfjson(String str) { - var _result = _meos_b.tint_from_mfjson(str); + public static int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.etouches_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_in(String str) { - var _result = _meos_b.tint_in(str); + public static int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.etouches_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tint_out(Pointer temp) { - var _result = _meos_b.tint_out(temp); + public static Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.tcontains_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_from_mfjson(String str) { - var _result = _meos_b.ttext_from_mfjson(str); + public static Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.tcontains_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_in(String str) { - var _result = _meos_b.ttext_in(str); + public static Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tcontains_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String ttext_out(Pointer temp) { - var _result = _meos_b.ttext_out(temp); + public static Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tcontains_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_from_base_temp(boolean b, Pointer temp) { - var _result = _meos_b.tbool_from_base_temp(b, temp); + public static Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tcontains_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tboolinst_make(boolean b, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tboolinst_make(b, t_new); + public static Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.tcovers_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzset(boolean b, Pointer s) { - var _result = _meos_b.tboolseq_from_base_tstzset(b, s); + public static Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.tcovers_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzspan(boolean b, Pointer s) { - var _result = _meos_b.tboolseq_from_base_tstzspan(b, s); + public static Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tcovers_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss) { - var _result = _meos_b.tboolseqset_from_base_tstzspanset(b, ss); + public static Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tcovers_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_copy(Pointer temp) { - var _result = _meos_b.temporal_copy(temp); + public static Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tcovers_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_from_base_temp(double d, Pointer temp) { - var _result = _meos_b.tfloat_from_base_temp(d, temp); + public static Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist) { + var _result = _meos_c.tdwithin_geo_tcbuffer(gs, temp, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatinst_make(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tfloatinst_make(d, t_new); + public static Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_c.tdwithin_tcbuffer_geo(temp, gs, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzset(double d, Pointer s) { - var _result = _meos_b.tfloatseq_from_base_tstzset(d, s); + public static Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { + var _result = _meos_c.tdwithin_tcbuffer_cbuffer(temp, cb, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzspan(double d, Pointer s, int interp) { - var _result = _meos_b.tfloatseq_from_base_tstzspan(d, s, interp); + public static Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_c.tdwithin_tcbuffer_tcbuffer(temp1, temp2, dist); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp) { - var _result = _meos_b.tfloatseqset_from_base_tstzspanset(d, ss, interp); + public static Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.tdisjoint_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_from_base_temp(int i, Pointer temp) { - var _result = _meos_b.tint_from_base_temp(i, temp); + public static Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.tdisjoint_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintinst_make(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tintinst_make(i, t_new); + public static Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tdisjoint_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzset(int i, Pointer s) { - var _result = _meos_b.tintseq_from_base_tstzset(i, s); + public static Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tdisjoint_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzspan(int i, Pointer s) { - var _result = _meos_b.tintseq_from_base_tstzspan(i, s); + public static Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tdisjoint_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss) { - var _result = _meos_b.tintseqset_from_base_tstzspanset(i, ss); + public static Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.tintersects_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_b.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize); + public static Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.tintersects_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize) { - var _result = _meos_b.tsequenceset_make(sequences, count, normalize); + public static Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.tintersects_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist) { - var _result = _meos_b.tsequenceset_make_gaps(instants, count, interp, maxt, maxdist); + public static Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.tintersects_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_from_base_temp(Pointer txt, Pointer temp) { - var _result = _meos_b.ttext_from_base_temp(txt, temp); + public static Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tintersects_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttextinst_make(Pointer txt, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.ttextinst_make(txt, t_new); + public static Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_c.ttouches_geo_tcbuffer(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s) { - var _result = _meos_b.ttextseq_from_base_tstzset(txt, s); + public static Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ttouches_tcbuffer_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer s) { - var _result = _meos_b.ttextseq_from_base_tstzspan(txt, s); + public static Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_c.ttouches_cbuffer_tcbuffer(cb, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss) { - var _result = _meos_b.ttextseqset_from_base_tstzspanset(txt, ss); + public static Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.ttouches_tcbuffer_cbuffer(temp, cb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_to_tint(Pointer temp) { - var _result = _meos_b.tbool_to_tint(temp); + public static Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ttouches_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_to_tstzspan(Pointer temp) { - var _result = _meos_b.temporal_to_tstzspan(temp); + public static int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.acovers_tcbuffer_tcbuffer(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_to_tint(Pointer temp) { - var _result = _meos_b.tfloat_to_tint(temp); + public static long h3index_in(String str) { + var _result = _meos_c.h3index_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_to_tfloat(Pointer temp) { - var _result = _meos_b.tint_to_tfloat(temp); + public static String h3index_out(long cell) { + var _result = _meos_c.h3index_out(cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_to_span(Pointer temp) { - var _result = _meos_b.tnumber_to_span(temp); + public static Pointer th3index_in(String str) { + var _result = _meos_c.th3index_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_to_tbox(Pointer temp) { - var _result = _meos_b.tnumber_to_tbox(temp); + public static Pointer th3indexinst_in(String str) { + var _result = _meos_c.th3indexinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbool_end_value(Pointer temp) { - var _result = _meos_b.tbool_end_value(temp); + public static Pointer th3indexseq_in(String str, int interp) { + var _result = _meos_c.th3indexseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbool_start_value(Pointer temp) { - var _result = _meos_b.tbool_start_value(temp); + public static Pointer th3indexseqset_in(String str) { + var _result = _meos_c.th3indexseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tbool_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + public static Pointer th3index_make(long value, OffsetDateTime t) { var t_new = t.toEpochSecond(); - var _result = _meos_b.tbool_value_at_timestamptz(temp, t_new, strict, value); + var _result = _meos_c.th3index_make(value, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbool_value_n(temp, n, result); + public static Pointer th3indexinst_make(long value, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.th3indexinst_make(value, t_new); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tbool_values(Pointer temp, Pointer count) { - var _result = _meos_b.tbool_values(temp, count); + public static Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc) { + var _result = _meos_c.th3indexseq_make(values, times, count, lower_inc, upper_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_duration(Pointer temp, boolean boundspan) { - var _result = _meos_b.temporal_duration(temp, boundspan); + public static Pointer th3indexseqset_make(Pointer sequences, int count) { + var _result = _meos_c.th3indexseqset_make(sequences, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_end_instant(Pointer temp) { - var _result = _meos_b.temporal_end_instant(temp); + public static long th3index_start_value(Pointer temp) { + var _result = _meos_c.th3index_start_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_end_sequence(Pointer temp) { - var _result = _meos_b.temporal_end_sequence(temp); + public static long th3index_end_value(Pointer temp) { + var _result = _meos_c.th3index_end_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime temporal_end_timestamptz(Pointer temp) { - var _result = _meos_b.temporal_end_timestamptz(temp); + public static Pointer th3index_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.th3index_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return out ? new_result : null; } @SuppressWarnings("unused") - public static int temporal_hash(Pointer temp) { - var _result = _meos_b.temporal_hash(temp); + public static Pointer th3index_values(Pointer temp, Pointer count) { + var _result = _meos_c.th3index_values(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_instant_n(Pointer temp, int n) { - var _result = _meos_b.temporal_instant_n(temp, n); + public static Pointer th3index_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_c.th3index_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static Pointer temporal_instants(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_instants(temp, count); + public static Pointer tbigint_to_th3index(Pointer temp) { + var _result = _meos_c.tbigint_to_th3index(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String temporal_interp(Pointer temp) { - var _result = _meos_b.temporal_interp(temp); + public static Pointer th3index_to_tbigint(Pointer temp) { + var _result = _meos_c.th3index_to_tbigint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean temporal_lower_inc(Pointer temp) { - var _result = _meos_b.temporal_lower_inc(temp); + public static int ever_eq_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.ever_eq_h3index_th3index(cell, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_max_instant(Pointer temp) { - var _result = _meos_b.temporal_max_instant(temp); + public static int ever_eq_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.ever_eq_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_min_instant(Pointer temp) { - var _result = _meos_b.temporal_min_instant(temp); + public static int ever_ne_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.ever_ne_h3index_th3index(cell, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int temporal_num_instants(Pointer temp) { - var _result = _meos_b.temporal_num_instants(temp); + public static int ever_ne_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.ever_ne_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int temporal_num_sequences(Pointer temp) { - var _result = _meos_b.temporal_num_sequences(temp); + public static int always_eq_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.always_eq_h3index_th3index(cell, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int temporal_num_timestamps(Pointer temp) { - var _result = _meos_b.temporal_num_timestamps(temp); + public static int always_eq_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.always_eq_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict) { - var _result = _meos_b.temporal_segm_duration(temp, duration, atleast, strict); + public static int always_ne_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.always_ne_h3index_th3index(cell, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_segments(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_segments(temp, count); + public static int always_ne_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.always_ne_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_sequence_n(Pointer temp, int i) { - var _result = _meos_b.temporal_sequence_n(temp, i); + public static int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_eq_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_sequences(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_sequences(temp, count); + public static int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_ne_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_start_instant(Pointer temp) { - var _result = _meos_b.temporal_start_instant(temp); + public static int always_eq_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_eq_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_start_sequence(Pointer temp) { - var _result = _meos_b.temporal_start_sequence(temp); + public static int always_ne_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_ne_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static OffsetDateTime temporal_start_timestamptz(Pointer temp) { - var _result = _meos_b.temporal_start_timestamptz(temp); + public static Pointer teq_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.teq_h3index_th3index(cell, temp); MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + return _result; } @SuppressWarnings("unused") - public static Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration) { - var _result = _meos_b.temporal_stops(temp, maxdist, minduration); + public static Pointer teq_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.teq_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String temporal_subtype(Pointer temp) { - var _result = _meos_b.temporal_subtype(temp); + public static Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.teq_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_time(Pointer temp) { - var _result = _meos_b.temporal_time(temp); + public static Pointer tne_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.tne_h3index_th3index(cell, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_timestamps(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_timestamps(temp, count); + public static Pointer tne_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.tne_th3index_h3index(temp, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_timestamptz_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.temporal_timestamptz_n(temp, n, result); + public static Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tne_th3index_th3index(temp1, temp2); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static boolean temporal_upper_inc(Pointer temp) { - var _result = _meos_b.temporal_upper_inc(temp); + public static Pointer th3index_get_resolution(Pointer temp) { + var _result = _meos_c.th3index_get_resolution(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tfloat_avg_value(Pointer temp) { - var _result = _meos_b.tfloat_avg_value(temp); + public static Pointer th3index_get_base_cell_number(Pointer temp) { + var _result = _meos_c.th3index_get_base_cell_number(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tfloat_end_value(Pointer temp) { - var _result = _meos_b.tfloat_end_value(temp); + public static Pointer th3index_is_valid_cell(Pointer temp) { + var _result = _meos_c.th3index_is_valid_cell(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tfloat_min_value(Pointer temp) { - var _result = _meos_b.tfloat_min_value(temp); + public static Pointer th3index_is_res_class_iii(Pointer temp) { + var _result = _meos_c.th3index_is_res_class_iii(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tfloat_max_value(Pointer temp) { - var _result = _meos_b.tfloat_max_value(temp); + public static Pointer th3index_is_pentagon(Pointer temp) { + var _result = _meos_c.th3index_is_pentagon(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tfloat_start_value(Pointer temp) { - var _result = _meos_b.tfloat_start_value(temp); + public static Pointer th3index_cell_to_parent(Pointer temp, int resolution) { + var _result = _meos_c.th3index_cell_to_parent(temp, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tfloat_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tfloat_value_at_timestamptz(temp, t_new, strict, value); + public static Pointer th3index_cell_to_parent_next(Pointer temp) { + var _result = _meos_c.th3index_cell_to_parent_next(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tfloat_value_n(temp, n, result); + public static Pointer th3index_cell_to_center_child(Pointer temp, int resolution) { + var _result = _meos_c.th3index_cell_to_center_child(temp, resolution); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_values(Pointer temp, Pointer count) { - var _result = _meos_b.tfloat_values(temp, count); + public static Pointer th3index_cell_to_center_child_next(Pointer temp) { + var _result = _meos_c.th3index_cell_to_center_child_next(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tint_end_value(Pointer temp) { - var _result = _meos_c.tint_end_value(temp); + public static Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res) { + var _result = _meos_c.th3index_cell_to_child_pos(temp, parent_res); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tint_max_value(Pointer temp) { - var _result = _meos_c.tint_max_value(temp); + public static Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res) { + var _result = _meos_c.th3index_child_pos_to_cell(child_pos, parent, child_res); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tint_min_value(Pointer temp) { - var _result = _meos_c.tint_min_value(temp); + public static Pointer tgeogpoint_to_th3index(Pointer temp, int resolution) { + var _result = _meos_c.tgeogpoint_to_th3index(temp, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tint_start_value(Pointer temp) { - var _result = _meos_c.tint_start_value(temp); + public static Pointer tgeompoint_to_th3index(Pointer temp, int resolution) { + var _result = _meos_c.tgeompoint_to_th3index(temp, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tint_value_at_timestamptz(temp, t_new, strict, value); + public static Pointer th3index_to_tgeogpoint(Pointer temp) { + var _result = _meos_c.th3index_to_tgeogpoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_c.tint_value_n(temp, n, result); + public static Pointer th3index_to_tgeompoint(Pointer temp) { + var _result = _meos_c.th3index_to_tgeompoint(temp); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tint_values(Pointer temp, Pointer count) { - var _result = _meos_c.tint_values(temp, count); + public static Pointer th3index_cell_to_boundary(Pointer temp) { + var _result = _meos_c.th3index_cell_to_boundary(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tnumber_avg_value(Pointer temp) { - var _result = _meos_c.tnumber_avg_value(temp); + public static Pointer geo_to_h3index_set(Pointer gs, int resolution) { + var _result = _meos_c.geo_to_h3index_set(gs, resolution); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tnumber_integral(Pointer temp) { - var _result = _meos_c.tnumber_integral(temp); + public static int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx) { + var _result = _meos_c.ever_eq_h3indexset_th3index(cells, th3idx); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tnumber_twavg(Pointer temp) { - var _result = _meos_c.tnumber_twavg(temp); + public static Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest) { + var _result = _meos_c.th3index_are_neighbor_cells(origin, dest); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_valuespans(Pointer temp) { - var _result = _meos_c.tnumber_valuespans(temp); + public static Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest) { + var _result = _meos_c.th3index_cells_to_directed_edge(origin, dest); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_end_value(Pointer temp) { - var _result = _meos_c.ttext_end_value(temp); + public static Pointer th3index_is_valid_directed_edge(Pointer edge) { + var _result = _meos_c.th3index_is_valid_directed_edge(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_max_value(Pointer temp) { - var _result = _meos_c.ttext_max_value(temp); + public static Pointer th3index_get_directed_edge_origin(Pointer edge) { + var _result = _meos_c.th3index_get_directed_edge_origin(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_min_value(Pointer temp) { - var _result = _meos_c.ttext_min_value(temp); + public static Pointer th3index_get_directed_edge_destination(Pointer edge) { + var _result = _meos_c.th3index_get_directed_edge_destination(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_start_value(Pointer temp) { - var _result = _meos_c.ttext_start_value(temp); + public static Pointer th3index_directed_edge_to_boundary(Pointer edge) { + var _result = _meos_c.th3index_directed_edge_to_boundary(edge); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean ttext_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.ttext_value_at_timestamptz(temp, t_new, strict, value); + public static Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num) { + var _result = _meos_c.th3index_cell_to_vertex(temp, vertex_num); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.ttext_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); + public static Pointer th3index_vertex_to_latlng(Pointer temp) { + var _result = _meos_c.th3index_vertex_to_latlng(temp); MeosErrorHandler.checkError(); - return out ? new_result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer ttext_values(Pointer temp, Pointer count) { - var _result = _meos_c.ttext_values(temp, count); + public static Pointer th3index_is_valid_vertex(Pointer temp) { + var _result = _meos_c.th3index_is_valid_vertex(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double float_degrees(double value, boolean normalize) { - var _result = _meos_c.float_degrees(value, normalize); + public static Pointer th3index_grid_distance(Pointer origin, Pointer dest) { + var _result = _meos_c.th3index_grid_distance(origin, dest); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temparr_round(Pointer temp, int count, int maxdd) { - var _result = _meos_c.temparr_round(temp, count, maxdd); + public static Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell) { + var _result = _meos_c.th3index_cell_to_local_ij(origin, cell); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_round(Pointer temp, int maxdd) { - var _result = _meos_c.temporal_round(temp, maxdd); + public static Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord) { + var _result = _meos_c.th3index_local_ij_to_cell(origin, coord); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_scale_time(Pointer temp, Pointer duration) { - var _result = _meos_c.temporal_scale_time(temp, duration); + public static Pointer th3index_cell_area(Pointer temp, String unit) { + var _result = _meos_c.th3index_cell_area(temp, unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_set_interp(Pointer temp, int interp) { - var _result = _meos_c.temporal_set_interp(temp, interp); + public static Pointer th3index_edge_length(Pointer temp, String unit) { + var _result = _meos_c.th3index_edge_length(temp, unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration) { - var _result = _meos_c.temporal_shift_scale_time(temp, shift, duration); + public static Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit) { + var _result = _meos_c.tgeogpoint_great_circle_distance(a, b, unit); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_shift_time(Pointer temp, Pointer shift) { - var _result = _meos_c.temporal_shift_time(temp, shift); + public static Pointer gsl_get_generation_rng() { + var _result = _meos_c.gsl_get_generation_rng(); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_to_tinstant(Pointer temp) { - var _result = _meos_c.temporal_to_tinstant(temp); + public static Pointer gsl_get_aggregation_rng() { + var _result = _meos_c.gsl_get_aggregation_rng(); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_to_tsequence(Pointer temp, int interp) { - var _result = _meos_c.temporal_to_tsequence(temp, interp); + public static int datum_ceil(Pointer d) { + var _result = _meos_c.datum_ceil(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_to_tsequenceset(Pointer temp, int interp) { - var _result = _meos_c.temporal_to_tsequenceset(temp, interp); + public static int datum_degrees(Pointer d, Pointer normalize) { + var _result = _meos_c.datum_degrees(d, normalize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_ceil(Pointer temp) { - var _result = _meos_c.tfloat_ceil(temp); + public static int datum_float_round(Pointer value, Pointer size) { + var _result = _meos_c.datum_float_round(value, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_degrees(Pointer temp, boolean normalize) { - var _result = _meos_c.tfloat_degrees(temp, normalize); + public static int datum_floor(Pointer d) { + var _result = _meos_c.datum_floor(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_floor(Pointer temp) { - var _result = _meos_c.tfloat_floor(temp); + public static int datum_hash(Pointer d, int basetype) { + var _result = _meos_c.datum_hash(d, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_radians(Pointer temp) { - var _result = _meos_c.tfloat_radians(temp); + public static long datum_hash_extended(Pointer d, int basetype, long seed) { + var _result = _meos_c.datum_hash_extended(d, basetype, seed); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_scale_value(Pointer temp, double width) { - var _result = _meos_c.tfloat_scale_value(temp, width); + public static int datum_radians(Pointer d) { + var _result = _meos_c.datum_radians(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width) { - var _result = _meos_c.tfloat_shift_scale_value(temp, shift, width); + public static void floatspan_round_set(Pointer s, int maxdd, Pointer result) { + _meos_c.floatspan_round_set(s, maxdd, result); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_shift_value(Pointer temp, double shift) { - var _result = _meos_c.tfloat_shift_value(temp, shift); + public static Pointer set_in(String str, int basetype) { + var _result = _meos_c.set_in(str, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_scale_value(Pointer temp, int width) { - var _result = _meos_c.tint_scale_value(temp, width); + public static String set_out(Pointer s, int maxdd) { + var _result = _meos_c.set_out(s, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_shift_scale_value(Pointer temp, int shift, int width) { - var _result = _meos_c.tint_shift_scale_value(temp, shift, width); + public static Pointer span_in(String str, int spantype) { + var _result = _meos_c.span_in(str, spantype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_shift_value(Pointer temp, int shift) { - var _result = _meos_c.tint_shift_value(temp, shift); + public static String span_out(Pointer s, int maxdd) { + var _result = _meos_c.span_out(s, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_c.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand); + public static Pointer spanset_in(String str, int spantype) { + var _result = _meos_c.spanset_in(str, spantype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand) { - var _result = _meos_c.temporal_append_tsequence(temp, seq, expand); + public static String spanset_out(Pointer ss, int maxdd) { + var _result = _meos_c.spanset_out(ss, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.temporal_delete_timestamptz(temp, t_new, connect); + public static Pointer set_make(Pointer values, int count, int basetype, boolean order) { + var _result = _meos_c.set_make(values, count, basetype, order); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_c.temporal_delete_tstzset(temp, s, connect); + public static Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order) { + var _result = _meos_c.set_make_exp(values, count, maxcount, basetype, order); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_c.temporal_delete_tstzspan(temp, s, connect); + public static Pointer set_make_free(Pointer values, int count, int basetype, boolean order) { + var _result = _meos_c.set_make_free(values, count, basetype, order); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { - var _result = _meos_c.temporal_delete_tstzspanset(temp, ss, connect); + public static Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype) { + var _result = _meos_c.span_make(lower, upper, lower_inc, upper_inc, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect) { - var _result = _meos_c.temporal_insert(temp1, temp2, connect); + public static void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer s) { + _meos_c.span_set(lower, upper, lower_inc, upper_inc, basetype, spantype, s); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer temporal_merge(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_merge(temp1, temp2); + public static Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order) { + var _result = _meos_c.spanset_make_exp(spans, count, maxcount, normalize, order); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_merge_array(Pointer temparr, int count) { - var _result = _meos_c.temporal_merge_array(temparr, count); + public static Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order) { + var _result = _meos_c.spanset_make_free(spans, count, normalize, order); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect) { - var _result = _meos_c.temporal_update(temp1, temp2, connect); + public static Pointer set_span(Pointer s) { + var _result = _meos_c.set_span(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_at_value(Pointer temp, boolean b) { - var _result = _meos_c.tbool_at_value(temp, b); + public static Pointer set_spanset(Pointer s) { + var _result = _meos_c.set_spanset(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_minus_value(Pointer temp, boolean b) { - var _result = _meos_c.tbool_minus_value(temp, b); + public static void value_set_span(Pointer value, int basetype, Pointer s) { + _meos_c.value_set_span(value, basetype, s); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer temporal_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.temporal_after_timestamptz(temp, t_new, strict); + public static Pointer value_set(Pointer d, int basetype) { + var _result = _meos_c.value_set(d, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_max(Pointer temp) { - var _result = _meos_c.temporal_at_max(temp); + public static Pointer value_span(Pointer d, int basetype) { + var _result = _meos_c.value_span(d, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_min(Pointer temp) { - var _result = _meos_c.temporal_at_min(temp); + public static Pointer value_spanset(Pointer d, int basetype) { + var _result = _meos_c.value_spanset(d, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.temporal_at_timestamptz(temp, t_new); + public static int numspan_width(Pointer s) { + var _result = _meos_c.numspan_width(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_tstzset(Pointer temp, Pointer s) { - var _result = _meos_c.temporal_at_tstzset(temp, s); + public static int numspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_c.numspanset_width(ss, boundspan); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.temporal_at_tstzspan(temp, s); + public static int set_end_value(Pointer s) { + var _result = _meos_c.set_end_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss) { - var _result = _meos_c.temporal_at_tstzspanset(temp, ss); + public static int set_mem_size(Pointer s) { + var _result = _meos_c.set_mem_size(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_at_values(Pointer temp, Pointer set) { - var _result = _meos_c.temporal_at_values(temp, set); + public static void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result) { + _meos_c.set_set_subspan(s, minidx, maxidx, result); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer temporal_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.temporal_before_timestamptz(temp, t_new, strict); + public static void set_set_span(Pointer s, Pointer result) { + _meos_c.set_set_span(s, result); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer temporal_minus_max(Pointer temp) { - var _result = _meos_c.temporal_minus_max(temp); + public static int set_start_value(Pointer s) { + var _result = _meos_c.set_start_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_minus_min(Pointer temp) { - var _result = _meos_c.temporal_minus_min(temp); + public static Pointer set_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.set_value_n(s, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static Pointer temporal_minus_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.temporal_minus_timestamptz(temp, t_new); + public static Pointer set_vals(Pointer s) { + var _result = _meos_c.set_vals(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzset(Pointer temp, Pointer s) { - var _result = _meos_c.temporal_minus_tstzset(temp, s); + public static Pointer set_values(Pointer s) { + var _result = _meos_c.set_values(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.temporal_minus_tstzspan(temp, s); + public static int spanset_lower(Pointer ss) { + var _result = _meos_c.spanset_lower(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss) { - var _result = _meos_c.temporal_minus_tstzspanset(temp, ss); + public static int spanset_mem_size(Pointer ss) { + var _result = _meos_c.spanset_mem_size(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_minus_values(Pointer temp, Pointer set) { - var _result = _meos_c.temporal_minus_values(temp, set); + public static Pointer spanset_sps(Pointer ss) { + var _result = _meos_c.spanset_sps(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_at_value(Pointer temp, double d) { - var _result = _meos_c.tfloat_at_value(temp, d); + public static int spanset_upper(Pointer ss) { + var _result = _meos_c.spanset_upper(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_minus_value(Pointer temp, double d) { - var _result = _meos_c.tfloat_minus_value(temp, d); + public static void bigintspan_set_floatspan(Pointer s1, Pointer s2) { + _meos_c.bigintspan_set_floatspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tint_at_value(Pointer temp, int i) { - var _result = _meos_c.tint_at_value(temp, i); + public static void bigintspan_set_intspan(Pointer s1, Pointer s2) { + _meos_c.bigintspan_set_intspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tint_minus_value(Pointer temp, int i) { - var _result = _meos_c.tint_minus_value(temp, i); + public static void datespan_set_tstzspan(Pointer s1, Pointer s2) { + _meos_c.datespan_set_tstzspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_at_span(Pointer temp, Pointer span) { - var _result = _meos_c.tnumber_at_span(temp, span); + public static void floatspan_set_bigintspan(Pointer s1, Pointer s2) { + _meos_c.floatspan_set_bigintspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_at_spanset(Pointer temp, Pointer ss) { - var _result = _meos_c.tnumber_at_spanset(temp, ss); + public static void floatspan_set_intspan(Pointer s1, Pointer s2) { + _meos_c.floatspan_set_intspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_at_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.tnumber_at_tbox(temp, box); + public static void intspan_set_bigintspan(Pointer s1, Pointer s2) { + _meos_c.intspan_set_bigintspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_minus_span(Pointer temp, Pointer span) { - var _result = _meos_c.tnumber_minus_span(temp, span); + public static void intspan_set_floatspan(Pointer s1, Pointer s2) { + _meos_c.intspan_set_floatspan(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_minus_spanset(Pointer temp, Pointer ss) { - var _result = _meos_c.tnumber_minus_spanset(temp, ss); + public static Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.numset_shift_scale(s, shift, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_minus_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.tnumber_minus_tbox(temp, box); + public static Pointer numspan_expand(Pointer s, Pointer value) { + var _result = _meos_c.numspan_expand(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_at_value(Pointer temp, Pointer txt) { - var _result = _meos_c.ttext_at_value(temp, txt); + public static Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.numspan_shift_scale(s, shift, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_minus_value(Pointer temp, Pointer txt) { - var _result = _meos_c.ttext_minus_value(temp, txt); + public static Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.numspanset_shift_scale(ss, shift, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int temporal_cmp(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_cmp(temp1, temp2); + public static Pointer set_compact(Pointer s) { + var _result = _meos_c.set_compact(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean temporal_eq(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_eq(temp1, temp2); + public static void span_expand(Pointer s1, Pointer s2) { + _meos_c.span_expand(s1, s2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean temporal_ge(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_ge(temp1, temp2); + public static Pointer spanset_compact(Pointer ss) { + var _result = _meos_c.spanset_compact(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean temporal_gt(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_gt(temp1, temp2); + public static Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp) { + var _result = _meos_c.tbox_expand_value(box, value, basetyp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean temporal_le(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_le(temp1, temp2); + public static Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert) { + var _result = _meos_c.textcat_textset_text_common(s, txt, invert); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean temporal_lt(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_lt(temp1, temp2); + public static void tstzspan_set_datespan(Pointer s1, Pointer s2) { + _meos_c.tstzspan_set_datespan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_value(Pointer s, Pointer value) { + var _result = _meos_c.adjacent_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean temporal_ne(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_ne(temp1, temp2); + public static boolean adjacent_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_c.adjacent_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.always_eq_bool_tbool(b, temp); + public static boolean adjacent_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_c.adjacent_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.always_eq_float_tfloat(d, temp); + public static boolean contained_value_set(Pointer value, Pointer s) { + var _result = _meos_c.contained_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_int_tint(int i, Pointer temp) { - var _result = _meos_c.always_eq_int_tint(i, temp); + public static boolean contained_value_span(Pointer value, Pointer s) { + var _result = _meos_c.contained_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.always_eq_tbool_bool(temp, b); + public static boolean contained_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_c.contained_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_eq_temporal_temporal(temp1, temp2); + public static boolean contains_set_value(Pointer s, Pointer value) { + var _result = _meos_c.contains_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.always_eq_text_ttext(txt, temp); + public static boolean contains_span_value(Pointer s, Pointer value) { + var _result = _meos_c.contains_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.always_eq_tfloat_float(temp, d); + public static boolean contains_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_c.contains_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_tint_int(Pointer temp, int i) { - var _result = _meos_c.always_eq_tint_int(temp, i); + public static boolean ovadj_span_span(Pointer s1, Pointer s2) { + var _result = _meos_c.ovadj_span_span(s1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.always_eq_ttext_text(temp, txt); + public static boolean left_set_value(Pointer s, Pointer value) { + var _result = _meos_c.left_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.always_ge_float_tfloat(d, temp); + public static boolean left_span_value(Pointer s, Pointer value) { + var _result = _meos_c.left_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_int_tint(int i, Pointer temp) { - var _result = _meos_c.always_ge_int_tint(i, temp); + public static boolean left_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_c.left_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ge_temporal_temporal(temp1, temp2); + public static boolean left_value_set(Pointer value, Pointer s) { + var _result = _meos_c.left_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.always_ge_text_ttext(txt, temp); + public static boolean left_value_span(Pointer value, Pointer s) { + var _result = _meos_c.left_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.always_ge_tfloat_float(temp, d); + public static boolean left_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_c.left_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_tint_int(Pointer temp, int i) { - var _result = _meos_c.always_ge_tint_int(temp, i); + public static boolean lfnadj_span_span(Pointer s1, Pointer s2) { + var _result = _meos_c.lfnadj_span_span(s1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.always_ge_ttext_text(temp, txt); + public static boolean overleft_set_value(Pointer s, Pointer value) { + var _result = _meos_c.overleft_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.always_gt_float_tfloat(d, temp); + public static boolean overleft_span_value(Pointer s, Pointer value) { + var _result = _meos_c.overleft_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_int_tint(int i, Pointer temp) { - var _result = _meos_c.always_gt_int_tint(i, temp); + public static boolean overleft_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_c.overleft_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_gt_temporal_temporal(temp1, temp2); + public static boolean overleft_value_set(Pointer value, Pointer s) { + var _result = _meos_c.overleft_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.always_gt_text_ttext(txt, temp); + public static boolean overleft_value_span(Pointer value, Pointer s) { + var _result = _meos_c.overleft_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.always_gt_tfloat_float(temp, d); + public static boolean overleft_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_c.overleft_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_tint_int(Pointer temp, int i) { - var _result = _meos_c.always_gt_tint_int(temp, i); + public static boolean overright_set_value(Pointer s, Pointer value) { + var _result = _meos_c.overright_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.always_gt_ttext_text(temp, txt); + public static boolean overright_span_value(Pointer s, Pointer value) { + var _result = _meos_c.overright_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.always_le_float_tfloat(d, temp); + public static boolean overright_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_c.overright_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_int_tint(int i, Pointer temp) { - var _result = _meos_c.always_le_int_tint(i, temp); + public static boolean overright_value_set(Pointer value, Pointer s) { + var _result = _meos_c.overright_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_le_temporal_temporal(temp1, temp2); + public static boolean overright_value_span(Pointer value, Pointer s) { + var _result = _meos_c.overright_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.always_le_text_ttext(txt, temp); + public static boolean overright_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_c.overright_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.always_le_tfloat_float(temp, d); + public static boolean right_value_set(Pointer value, Pointer s) { + var _result = _meos_d.right_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_tint_int(Pointer temp, int i) { - var _result = _meos_c.always_le_tint_int(temp, i); + public static boolean right_set_value(Pointer s, Pointer value) { + var _result = _meos_d.right_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_le_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.always_le_ttext_text(temp, txt); + public static boolean right_value_span(Pointer value, Pointer s) { + var _result = _meos_d.right_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.always_lt_float_tfloat(d, temp); + public static boolean right_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_d.right_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_int_tint(int i, Pointer temp) { - var _result = _meos_c.always_lt_int_tint(i, temp); + public static boolean right_span_value(Pointer s, Pointer value) { + var _result = _meos_d.right_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_lt_temporal_temporal(temp1, temp2); + public static boolean right_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_d.right_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.always_lt_text_ttext(txt, temp); + public static boolean bbox_type(int bboxtype) { + var _result = _meos_d.bbox_type(bboxtype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.always_lt_tfloat_float(temp, d); + public static long bbox_get_size(int bboxtype) { + var _result = _meos_d.bbox_get_size(bboxtype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_tint_int(Pointer temp, int i) { - var _result = _meos_c.always_lt_tint_int(temp, i); + public static int bbox_max_dims(int bboxtype) { + var _result = _meos_d.bbox_max_dims(bboxtype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.always_lt_ttext_text(temp, txt); + public static boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype) { + var _result = _meos_d.temporal_bbox_eq(box1, box2, temptype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.always_ne_bool_tbool(b, temp); + public static int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype) { + var _result = _meos_d.temporal_bbox_cmp(box1, box2, temptype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.always_ne_float_tfloat(d, temp); + public static void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result) { + _meos_d.bbox_union_span_span(s1, s2, result); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int always_ne_int_tint(int i, Pointer temp) { - var _result = _meos_c.always_ne_int_tint(i, temp); + public static Pointer inter_span_span(Pointer s1, Pointer s2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.inter_span_span(s1, s2, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static int always_ne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.always_ne_tbool_bool(temp, b); + public static Pointer intersection_set_value(Pointer s, Pointer value) { + var _result = _meos_d.intersection_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ne_temporal_temporal(temp1, temp2); + public static Pointer intersection_span_value(Pointer s, Pointer value) { + var _result = _meos_d.intersection_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.always_ne_text_ttext(txt, temp); + public static Pointer intersection_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_d.intersection_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.always_ne_tfloat_float(temp, d); + public static Pointer intersection_value_set(Pointer value, Pointer s) { + var _result = _meos_d.intersection_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_tint_int(Pointer temp, int i) { - var _result = _meos_c.always_ne_tint_int(temp, i); + public static Pointer intersection_value_span(Pointer value, Pointer s) { + var _result = _meos_d.intersection_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.always_ne_ttext_text(temp, txt); + public static Pointer intersection_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_d.intersection_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.ever_eq_bool_tbool(b, temp); + public static int mi_span_span(Pointer s1, Pointer s2, Pointer result) { + var _result = _meos_d.mi_span_span(s1, s2, result); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.ever_eq_float_tfloat(d, temp); + public static Pointer minus_set_value(Pointer s, Pointer value) { + var _result = _meos_d.minus_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_int_tint(int i, Pointer temp) { - var _result = _meos_c.ever_eq_int_tint(i, temp); + public static Pointer minus_span_value(Pointer s, Pointer value) { + var _result = _meos_d.minus_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.ever_eq_tbool_bool(temp, b); + public static Pointer minus_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_d.minus_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_eq_temporal_temporal(temp1, temp2); + public static Pointer minus_value_set(Pointer value, Pointer s) { + var _result = _meos_d.minus_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.ever_eq_text_ttext(txt, temp); + public static Pointer minus_value_span(Pointer value, Pointer s) { + var _result = _meos_d.minus_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.ever_eq_tfloat_float(temp, d); + public static Pointer minus_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_d.minus_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_tint_int(Pointer temp, int i) { - var _result = _meos_c.ever_eq_tint_int(temp, i); + public static Pointer super_union_span_span(Pointer s1, Pointer s2) { + var _result = _meos_d.super_union_span_span(s1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.ever_eq_ttext_text(temp, txt); + public static Pointer union_set_value(Pointer s, Pointer value) { + var _result = _meos_d.union_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.ever_ge_float_tfloat(d, temp); + public static Pointer union_span_value(Pointer s, Pointer value) { + var _result = _meos_d.union_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_int_tint(int i, Pointer temp) { - var _result = _meos_c.ever_ge_int_tint(i, temp); + public static Pointer union_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_d.union_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ge_temporal_temporal(temp1, temp2); + public static Pointer union_value_set(Pointer value, Pointer s) { + var _result = _meos_d.union_value_set(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.ever_ge_text_ttext(txt, temp); + public static Pointer union_value_span(Pointer value, Pointer s) { + var _result = _meos_d.union_value_span(value, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.ever_ge_tfloat_float(temp, d); + public static Pointer union_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_d.union_value_spanset(value, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_tint_int(Pointer temp, int i) { - var _result = _meos_c.ever_ge_tint_int(temp, i); + public static int distance_set_set(Pointer s1, Pointer s2) { + var _result = _meos_d.distance_set_set(s1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.ever_ge_ttext_text(temp, txt); + public static int distance_set_value(Pointer s, Pointer value) { + var _result = _meos_d.distance_set_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.ever_gt_float_tfloat(d, temp); + public static int distance_span_span(Pointer s1, Pointer s2) { + var _result = _meos_d.distance_span_span(s1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_int_tint(int i, Pointer temp) { - var _result = _meos_c.ever_gt_int_tint(i, temp); + public static int distance_span_value(Pointer s, Pointer value) { + var _result = _meos_d.distance_span_value(s, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_gt_temporal_temporal(temp1, temp2); + public static int distance_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_d.distance_spanset_span(ss, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.ever_gt_text_ttext(txt, temp); + public static int distance_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_d.distance_spanset_spanset(ss1, ss2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.ever_gt_tfloat_float(temp, d); + public static int distance_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_d.distance_spanset_value(ss, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_tint_int(Pointer temp, int i) { - var _result = _meos_c.ever_gt_tint_int(temp, i); + public static int distance_value_value(Pointer l, Pointer r, int basetype) { + var _result = _meos_d.distance_value_value(l, r, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.ever_gt_ttext_text(temp, txt); + public static Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype) { + var _result = _meos_d.spanbase_extent_transfn(state, value, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_le_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.ever_le_float_tfloat(d, temp); + public static Pointer value_union_transfn(Pointer state, Pointer value, int basetype) { + var _result = _meos_d.value_union_transfn(state, value, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_le_int_tint(int i, Pointer temp) { - var _result = _meos_c.ever_le_int_tint(i, temp); + public static Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s) { + var _result = _meos_d.number_tstzspan_to_tbox(d, basetype, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_le_temporal_temporal(temp1, temp2); + public static Pointer number_timestamptz_to_tbox(Pointer d, int basetype, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.number_timestamptz_to_tbox(d, basetype, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_le_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.ever_le_text_ttext(txt, temp); + public static void tbox_set(Pointer s, Pointer p, Pointer box) { + _meos_d.tbox_set(s, p, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_le_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.ever_le_tfloat_float(temp, d); + public static void float_set_tbox(double d, Pointer box) { + _meos_d.float_set_tbox(d, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_le_tint_int(Pointer temp, int i) { - var _result = _meos_c.ever_le_tint_int(temp, i); + public static void int_set_tbox(int i, Pointer box) { + _meos_d.int_set_tbox(i, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_le_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.ever_le_ttext_text(temp, txt); + public static void number_set_tbox(Pointer d, int basetype, Pointer box) { + _meos_d.number_set_tbox(d, basetype, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_lt_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.ever_lt_float_tfloat(d, temp); + public static Pointer number_tbox(Pointer value, int basetype) { + var _result = _meos_d.number_tbox(value, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_lt_int_tint(int i, Pointer temp) { - var _result = _meos_c.ever_lt_int_tint(i, temp); + public static void numset_set_tbox(Pointer s, Pointer box) { + _meos_d.numset_set_tbox(s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_lt_temporal_temporal(temp1, temp2); + public static void numspan_set_tbox(Pointer span, Pointer box) { + _meos_d.numspan_set_tbox(span, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.ever_lt_text_ttext(txt, temp); + public static void timestamptz_set_tbox(OffsetDateTime t, Pointer box) { + var t_new = t.toEpochSecond(); + _meos_d.timestamptz_set_tbox(t_new, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_lt_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.ever_lt_tfloat_float(temp, d); + public static void tstzset_set_tbox(Pointer s, Pointer box) { + _meos_d.tstzset_set_tbox(s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_lt_tint_int(Pointer temp, int i) { - var _result = _meos_c.ever_lt_tint_int(temp, i); + public static void tstzspan_set_tbox(Pointer s, Pointer box) { + _meos_d.tstzspan_set_tbox(s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.ever_lt_ttext_text(temp, txt); + public static Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_d.tbox_shift_scale_value(box, shift, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.ever_ne_bool_tbool(b, temp); + public static void tbox_expand(Pointer box1, Pointer box2) { + _meos_d.tbox_expand(box1, box2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int ever_ne_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.ever_ne_float_tfloat(d, temp); + public static Pointer inter_tbox_tbox(Pointer box1, Pointer box2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.inter_tbox_tbox(box1, box2, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static int ever_ne_int_tint(int i, Pointer temp) { - var _result = _meos_c.ever_ne_int_tint(i, temp); + public static Pointer tboolinst_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tboolinst_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.ever_ne_tbool_bool(temp, b); + public static Pointer tboolinst_in(String str) { + var _result = _meos_d.tboolinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ne_temporal_temporal(temp1, temp2); + public static Pointer tboolseq_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tboolseq_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.ever_ne_text_ttext(txt, temp); + public static Pointer tboolseq_in(String str, int interp) { + var _result = _meos_d.tboolseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.ever_ne_tfloat_float(temp, d); + public static Pointer tboolseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tboolseqset_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_tint_int(Pointer temp, int i) { - var _result = _meos_c.ever_ne_tint_int(temp, i); + public static Pointer tboolseqset_in(String str) { + var _result = _meos_d.tboolseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.ever_ne_ttext_text(temp, txt); + public static Pointer temporal_in(String str, int temptype) { + var _result = _meos_d.temporal_in(str, temptype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.teq_bool_tbool(b, temp); + public static String temporal_out(Pointer temp, int maxdd) { + var _result = _meos_d.temporal_out(temp, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.teq_float_tfloat(d, temp); + public static Pointer temparr_out(Pointer temparr, int count, int maxdd) { + var _result = _meos_d.temparr_out(temparr, count, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_int_tint(int i, Pointer temp) { - var _result = _meos_c.teq_int_tint(i, temp); + public static Pointer tfloatinst_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tfloatinst_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.teq_tbool_bool(temp, b); + public static Pointer tfloatinst_in(String str) { + var _result = _meos_d.tfloatinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.teq_temporal_temporal(temp1, temp2); + public static Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp) { + var _result = _meos_d.tfloatseq_from_mfjson(mfjson, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.teq_text_ttext(txt, temp); + public static Pointer tfloatseq_in(String str, int interp) { + var _result = _meos_d.tfloatseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.teq_tfloat_float(temp, d); + public static Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp) { + var _result = _meos_d.tfloatseqset_from_mfjson(mfjson, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_tint_int(Pointer temp, int i) { - var _result = _meos_c.teq_tint_int(temp, i); + public static Pointer tfloatseqset_in(String str) { + var _result = _meos_d.tfloatseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.teq_ttext_text(temp, txt); + public static Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype) { + var _result = _meos_d.tinstant_from_mfjson(mfjson, spatial, srid, temptype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.tge_float_tfloat(d, temp); + public static Pointer tinstant_in(String str, int temptype) { + var _result = _meos_d.tinstant_in(str, temptype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_int_tint(int i, Pointer temp) { - var _result = _meos_c.tge_int_tint(i, temp); + public static String tinstant_out(Pointer inst, int maxdd) { + var _result = _meos_d.tinstant_out(inst, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tge_temporal_temporal(temp1, temp2); + public static Pointer tintinst_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tintinst_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.tge_text_ttext(txt, temp); + public static Pointer tintinst_in(String str) { + var _result = _meos_d.tintinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.tge_tfloat_float(temp, d); + public static Pointer tintseq_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tintseq_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_tint_int(Pointer temp, int i) { - var _result = _meos_c.tge_tint_int(temp, i); + public static Pointer tintseq_in(String str, int interp) { + var _result = _meos_d.tintseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.tge_ttext_text(temp, txt); + public static Pointer tintseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_d.tintseqset_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.tgt_float_tfloat(d, temp); + public static Pointer tintseqset_in(String str) { + var _result = _meos_d.tintseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_int_tint(int i, Pointer temp) { - var _result = _meos_c.tgt_int_tint(i, temp); + public static Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { + var _result = _meos_d.tsequence_from_mfjson(mfjson, spatial, srid, temptype, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tgt_temporal_temporal(temp1, temp2); + public static Pointer tsequence_in(String str, int temptype, int interp) { + var _result = _meos_d.tsequence_in(str, temptype, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.tgt_text_ttext(txt, temp); + public static String tsequence_out(Pointer seq, int maxdd) { + var _result = _meos_d.tsequence_out(seq, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.tgt_tfloat_float(temp, d); + public static Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { + var _result = _meos_d.tsequenceset_from_mfjson(mfjson, spatial, srid, temptype, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_tint_int(Pointer temp, int i) { - var _result = _meos_c.tgt_tint_int(temp, i); + public static Pointer tsequenceset_in(String str, int temptype, int interp) { + var _result = _meos_d.tsequenceset_in(str, temptype, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.tgt_ttext_text(temp, txt); + public static String tsequenceset_out(Pointer ss, int maxdd) { + var _result = _meos_d.tsequenceset_out(ss, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.tle_float_tfloat(d, temp); + public static Pointer ttextinst_from_mfjson(Pointer mfjson) { + var _result = _meos_d.ttextinst_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_int_tint(int i, Pointer temp) { - var _result = _meos_c.tle_int_tint(i, temp); + public static Pointer ttextinst_in(String str) { + var _result = _meos_d.ttextinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tle_temporal_temporal(temp1, temp2); + public static Pointer ttextseq_from_mfjson(Pointer mfjson) { + var _result = _meos_d.ttextseq_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.tle_text_ttext(txt, temp); + public static Pointer ttextseq_in(String str, int interp) { + var _result = _meos_d.ttextseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.tle_tfloat_float(temp, d); + public static Pointer ttextseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_d.ttextseqset_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_tint_int(Pointer temp, int i) { - var _result = _meos_c.tle_tint_int(temp, i); + public static Pointer ttextseqset_in(String str) { + var _result = _meos_d.ttextseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tle_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.tle_ttext_text(temp, txt); + public static Pointer temporal_from_mfjson(String mfjson, int temptype) { + var _result = _meos_d.temporal_from_mfjson(mfjson, temptype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.tlt_float_tfloat(d, temp); + public static Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp) { + var _result = _meos_d.temporal_from_base_temp(value, temptype, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_int_tint(int i, Pointer temp) { - var _result = _meos_c.tlt_int_tint(i, temp); + public static Pointer tinstant_copy(Pointer inst) { + var _result = _meos_d.tinstant_copy(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tlt_temporal_temporal(temp1, temp2); + public static Pointer tinstant_make(Pointer value, int temptype, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tinstant_make(value, temptype, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.tlt_text_ttext(txt, temp); + public static Pointer tinstant_make_free(Pointer value, int temptype, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tinstant_make_free(value, temptype, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.tlt_tfloat_float(temp, d); + public static Pointer tsequence_copy(Pointer seq) { + var _result = _meos_d.tsequence_copy(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_tint_int(Pointer temp, int i) { - var _result = _meos_c.tlt_tint_int(temp, i); + public static Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq) { + var _result = _meos_d.tsequence_from_base_temp(value, temptype, seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tlt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.tlt_ttext_text(temp, txt); + public static Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s) { + var _result = _meos_d.tsequence_from_base_tstzset(value, temptype, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.tne_bool_tbool(b, temp); + public static Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp) { + var _result = _meos_d.tsequence_from_base_tstzspan(value, temptype, s, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_float_tfloat(double d, Pointer temp) { - var _result = _meos_c.tne_float_tfloat(d, temp); + public static Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.tsequence_make_exp(instants, count, maxcount, lower_inc, upper_inc, interp, normalize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_int_tint(int i, Pointer temp) { - var _result = _meos_c.tne_int_tint(i, temp); + public static Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.tsequence_make_free(instants, count, lower_inc, upper_inc, interp, normalize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.tne_tbool_bool(temp, b); + public static Pointer tsequenceset_copy(Pointer ss) { + var _result = _meos_d.tsequenceset_copy(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tne_temporal_temporal(temp1, temp2); + public static Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs) { + var _result = _meos_d.tseqsetarr_to_tseqset(seqsets, count, totalseqs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.tne_text_ttext(txt, temp); + public static Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss) { + var _result = _meos_d.tsequenceset_from_base_temp(value, temptype, ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.tne_tfloat_float(temp, d); + public static Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp) { + var _result = _meos_d.tsequenceset_from_base_tstzspanset(value, temptype, ss, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_tint_int(Pointer temp, int i) { - var _result = _meos_c.tne_tint_int(temp, i); + public static Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize) { + var _result = _meos_d.tsequenceset_make_exp(sequences, count, maxcount, normalize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.tne_ttext_text(temp, txt); + public static Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize) { + var _result = _meos_d.tsequenceset_make_free(sequences, count, normalize); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_spans(Pointer temp, Pointer count) { - var _result = _meos_c.temporal_spans(temp, count); + public static void temporal_set_tstzspan(Pointer temp, Pointer s) { + _meos_d.temporal_set_tstzspan(temp, s); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_c.temporal_split_each_n_spans(temp, elem_count, count); + public static void tinstant_set_tstzspan(Pointer inst, Pointer s) { + _meos_d.tinstant_set_tstzspan(inst, s); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count) { - var _result = _meos_c.temporal_split_n_spans(temp, span_count, count); + public static void tnumber_set_tbox(Pointer temp, Pointer box) { + _meos_d.tnumber_set_tbox(temp, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_c.tnumber_split_each_n_tboxes(temp, elem_count, count); + public static void tnumberinst_set_tbox(Pointer inst, Pointer box) { + _meos_d.tnumberinst_set_tbox(inst, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_c.tnumber_split_n_tboxes(temp, box_count, count); + public static void tnumberseq_set_tbox(Pointer seq, Pointer box) { + _meos_d.tnumberseq_set_tbox(seq, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_tboxes(Pointer temp, Pointer count) { - var _result = _meos_c.tnumber_tboxes(temp, count); + public static void tnumberseqset_set_tbox(Pointer ss, Pointer box) { + _meos_d.tnumberseqset_set_tbox(ss, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean adjacent_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.adjacent_numspan_tnumber(s, temp); + public static void tsequence_set_tstzspan(Pointer seq, Pointer s) { + _meos_d.tsequence_set_tstzspan(seq, s); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.adjacent_tbox_tnumber(box, temp); + public static void tsequenceset_set_tstzspan(Pointer ss, Pointer s) { + _meos_d.tsequenceset_set_tstzspan(ss, s); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.adjacent_temporal_temporal(temp1, temp2); + public static Pointer temporal_end_inst(Pointer temp) { + var _result = _meos_d.temporal_end_inst(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.adjacent_temporal_tstzspan(temp, s); + public static int temporal_end_value(Pointer temp) { + var _result = _meos_d.temporal_end_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.adjacent_tnumber_numspan(temp, s); + public static Pointer temporal_inst_n(Pointer temp, int n) { + var _result = _meos_d.temporal_inst_n(temp, n); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.adjacent_tnumber_tbox(temp, box); + public static Pointer temporal_insts_p(Pointer temp, Pointer count) { + var _result = _meos_d.temporal_insts_p(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.adjacent_tnumber_tnumber(temp1, temp2); + public static Pointer temporal_max_inst_p(Pointer temp) { + var _result = _meos_d.temporal_max_inst_p(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.adjacent_tstzspan_temporal(s, temp); + public static int temporal_max_value(Pointer temp) { + var _result = _meos_d.temporal_max_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.contained_numspan_tnumber(s, temp); + public static long temporal_mem_size(Pointer temp) { + var _result = _meos_d.temporal_mem_size(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.contained_tbox_tnumber(box, temp); + public static Pointer temporal_min_inst_p(Pointer temp) { + var _result = _meos_d.temporal_min_inst_p(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contained_temporal_temporal(temp1, temp2); + public static int temporal_min_value(Pointer temp) { + var _result = _meos_d.temporal_min_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.contained_temporal_tstzspan(temp, s); + public static Pointer temporal_sequences_p(Pointer temp, Pointer count) { + var _result = _meos_d.temporal_sequences_p(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.contained_tnumber_numspan(temp, s); + public static void temporal_set_bbox(Pointer temp, Pointer box) { + _meos_d.temporal_set_bbox(temp, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean contained_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.contained_tnumber_tbox(temp, box); + public static Pointer temporal_start_inst(Pointer temp) { + var _result = _meos_d.temporal_start_inst(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contained_tnumber_tnumber(temp1, temp2); + public static int temporal_start_value(Pointer temp) { + var _result = _meos_d.temporal_start_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.contained_tstzspan_temporal(s, temp); + public static Pointer temporal_values_p(Pointer temp, Pointer count) { + var _result = _meos_d.temporal_values_p(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.contains_numspan_tnumber(s, temp); + public static Pointer temporal_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.temporal_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean contains_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.contains_tbox_tnumber(box, temp); + public static Pointer temporal_values(Pointer temp, Pointer count) { + var _result = _meos_d.temporal_values(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.contains_temporal_tstzspan(temp, s); + public static int tinstant_hash(Pointer inst) { + var _result = _meos_d.tinstant_hash(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contains_temporal_temporal(temp1, temp2); + public static Pointer tinstant_insts(Pointer inst, Pointer count) { + var _result = _meos_d.tinstant_insts(inst, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.contains_tnumber_numspan(temp, s); + public static void tinstant_set_bbox(Pointer inst, Pointer box) { + _meos_d.tinstant_set_bbox(inst, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean contains_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.contains_tnumber_tbox(temp, box); + public static Pointer tinstant_time(Pointer inst) { + var _result = _meos_d.tinstant_time(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contains_tnumber_tnumber(temp1, temp2); + public static Pointer tinstant_timestamps(Pointer inst, Pointer count) { + var _result = _meos_d.tinstant_timestamps(inst, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.contains_tstzspan_temporal(s, temp); + public static int tinstant_value_p(Pointer inst) { + var _result = _meos_d.tinstant_value_p(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.overlaps_numspan_tnumber(s, temp); + public static int tinstant_value(Pointer inst) { + var _result = _meos_d.tinstant_value(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.overlaps_tbox_tnumber(box, temp); + public static Pointer tinstant_value_at_timestamptz(Pointer inst, OffsetDateTime t) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.tinstant_value_at_timestamptz(inst, t_new, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overlaps_temporal_temporal(temp1, temp2); + public static Pointer tinstant_values_p(Pointer inst, Pointer count) { + var _result = _meos_d.tinstant_values_p(inst, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.overlaps_temporal_tstzspan(temp, s); + public static void tnumber_set_span(Pointer temp, Pointer span) { + _meos_d.tnumber_set_span(temp, span); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.overlaps_tnumber_numspan(temp, s); + public static Pointer tnumberinst_valuespans(Pointer inst) { + var _result = _meos_d.tnumberinst_valuespans(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.overlaps_tnumber_tbox(temp, box); + public static double tnumberseq_avg_val(Pointer seq) { + var _result = _meos_d.tnumberseq_avg_val(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overlaps_tnumber_tnumber(temp1, temp2); + public static Pointer tnumberseq_valuespans(Pointer seq) { + var _result = _meos_d.tnumberseq_valuespans(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.overlaps_tstzspan_temporal(s, temp); + public static double tnumberseqset_avg_val(Pointer ss) { + var _result = _meos_d.tnumberseqset_avg_val(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.same_numspan_tnumber(s, temp); + public static Pointer tnumberseqset_valuespans(Pointer ss) { + var _result = _meos_d.tnumberseqset_valuespans(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.same_tbox_tnumber(box, temp); + public static Pointer tsequence_duration(Pointer seq) { + var _result = _meos_d.tsequence_duration(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.same_temporal_temporal(temp1, temp2); + public static OffsetDateTime tsequence_end_timestamptz(Pointer seq) { + var _result = _meos_d.tsequence_end_timestamptz(seq); MeosErrorHandler.checkError(); - return _result; + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); } @SuppressWarnings("unused") - public static boolean same_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.same_temporal_tstzspan(temp, s); + public static int tsequence_hash(Pointer seq) { + var _result = _meos_d.tsequence_hash(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.same_tnumber_numspan(temp, s); + public static Pointer tsequence_insts_p(Pointer seq) { + var _result = _meos_d.tsequence_insts_p(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.same_tnumber_tbox(temp, box); + public static Pointer tsequence_max_inst_p(Pointer seq) { + var _result = _meos_d.tsequence_max_inst_p(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.same_tnumber_tnumber(temp1, temp2); + public static int tsequence_max_val(Pointer seq) { + var _result = _meos_d.tsequence_max_val(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.same_tstzspan_temporal(s, temp); + public static Pointer tsequence_min_inst_p(Pointer seq) { + var _result = _meos_d.tsequence_min_inst_p(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.after_tbox_tnumber(box, temp); + public static int tsequence_min_val(Pointer seq) { + var _result = _meos_d.tsequence_min_val(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.after_temporal_tstzspan(temp, s); + public static Pointer tsequence_segments(Pointer seq, Pointer count) { + var _result = _meos_d.tsequence_segments(seq, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.after_temporal_temporal(temp1, temp2); + public static Pointer tsequence_seqs(Pointer seq, Pointer count) { + var _result = _meos_d.tsequence_seqs(seq, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.after_tnumber_tbox(temp, box); + public static OffsetDateTime tsequence_start_timestamptz(Pointer seq) { + var _result = _meos_d.tsequence_start_timestamptz(seq); MeosErrorHandler.checkError(); - return _result; + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); } @SuppressWarnings("unused") - public static boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.after_tnumber_tnumber(temp1, temp2); + public static Pointer tsequence_time(Pointer seq) { + var _result = _meos_d.tsequence_time(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.after_tstzspan_temporal(s, temp); + public static Pointer tsequence_timestamps(Pointer seq, Pointer count) { + var _result = _meos_d.tsequence_timestamps(seq, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.before_tbox_tnumber(box, temp); + public static Pointer tsequence_value_at_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.tsequence_value_at_timestamptz(seq, t_new, strict, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean before_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.before_temporal_tstzspan(temp, s); + public static Pointer tsequence_values_p(Pointer seq, Pointer count) { + var _result = _meos_d.tsequence_values_p(seq, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.before_temporal_temporal(temp1, temp2); + public static Pointer tsequenceset_duration(Pointer ss, boolean boundspan) { + var _result = _meos_d.tsequenceset_duration(ss, boundspan); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.before_tnumber_tbox(temp, box); + public static OffsetDateTime tsequenceset_end_timestamptz(Pointer ss) { + var _result = _meos_d.tsequenceset_end_timestamptz(ss); MeosErrorHandler.checkError(); - return _result; + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); } @SuppressWarnings("unused") - public static boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.before_tnumber_tnumber(temp1, temp2); + public static int tsequenceset_hash(Pointer ss) { + var _result = _meos_d.tsequenceset_hash(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.before_tstzspan_temporal(s, temp); + public static Pointer tsequenceset_inst_n(Pointer ss, int n) { + var _result = _meos_d.tsequenceset_inst_n(ss, n); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.left_tbox_tnumber(box, temp); + public static Pointer tsequenceset_insts_p(Pointer ss) { + var _result = _meos_d.tsequenceset_insts_p(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.left_numspan_tnumber(s, temp); + public static Pointer tsequenceset_max_inst_p(Pointer ss) { + var _result = _meos_d.tsequenceset_max_inst_p(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.left_tnumber_numspan(temp, s); + public static int tsequenceset_max_val(Pointer ss) { + var _result = _meos_d.tsequenceset_max_val(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.left_tnumber_tbox(temp, box); + public static Pointer tsequenceset_min_inst_p(Pointer ss) { + var _result = _meos_d.tsequenceset_min_inst_p(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.left_tnumber_tnumber(temp1, temp2); + public static int tsequenceset_min_val(Pointer ss) { + var _result = _meos_d.tsequenceset_min_val(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.overafter_tbox_tnumber(box, temp); + public static int tsequenceset_num_instants(Pointer ss) { + var _result = _meos_d.tsequenceset_num_instants(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.overafter_temporal_tstzspan(temp, s); + public static int tsequenceset_num_timestamps(Pointer ss) { + var _result = _meos_d.tsequenceset_num_timestamps(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overafter_temporal_temporal(temp1, temp2); + public static Pointer tsequenceset_segments(Pointer ss, Pointer count) { + var _result = _meos_d.tsequenceset_segments(ss, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.overafter_tnumber_tbox(temp, box); + public static Pointer tsequenceset_sequences_p(Pointer ss) { + var _result = _meos_d.tsequenceset_sequences_p(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overafter_tnumber_tnumber(temp1, temp2); + public static OffsetDateTime tsequenceset_start_timestamptz(Pointer ss) { + var _result = _meos_d.tsequenceset_start_timestamptz(ss); MeosErrorHandler.checkError(); - return _result; + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); } @SuppressWarnings("unused") - public static boolean overafter_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.overafter_tstzspan_temporal(s, temp); + public static Pointer tsequenceset_time(Pointer ss) { + var _result = _meos_d.tsequenceset_time(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.overbefore_tbox_tnumber(box, temp); + public static Pointer tsequenceset_timestamptz_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tsequenceset_timestamptz_n(ss, n, result); MeosErrorHandler.checkError(); - return _result; + return out ? result : null; } @SuppressWarnings("unused") - public static boolean overbefore_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_c.overbefore_temporal_tstzspan(temp, s); + public static Pointer tsequenceset_timestamps(Pointer ss, Pointer count) { + var _result = _meos_d.tsequenceset_timestamps(ss, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overbefore_temporal_temporal(temp1, temp2); + public static Pointer tsequenceset_value_at_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.tsequenceset_value_at_timestamptz(ss, t_new, strict, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.overbefore_tnumber_tbox(temp, box); + public static Pointer tsequenceset_value_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tsequenceset_value_n(ss, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overbefore_tnumber_tnumber(temp1, temp2); + public static Pointer tsequenceset_values_p(Pointer ss, Pointer count) { + var _result = _meos_d.tsequenceset_values_p(ss, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_c.overbefore_tstzspan_temporal(s, temp); + public static void temporal_restart(Pointer temp, int count) { + _meos_d.temporal_restart(temp, count); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean overleft_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.overleft_numspan_tnumber(s, temp); + public static Pointer temporal_tsequence(Pointer temp, int interp) { + var _result = _meos_d.temporal_tsequence(temp, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.overleft_tbox_tnumber(box, temp); + public static Pointer temporal_tsequenceset(Pointer temp, int interp) { + var _result = _meos_d.temporal_tsequenceset(temp, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.overleft_tnumber_numspan(temp, s); + public static Pointer tinstant_shift_time(Pointer inst, Pointer interv) { + var _result = _meos_d.tinstant_shift_time(inst, interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.overleft_tnumber_tbox(temp, box); + public static Pointer tinstant_to_tsequence(Pointer inst, int interp) { + var _result = _meos_d.tinstant_to_tsequence(inst, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overleft_tnumber_tnumber(temp1, temp2); + public static Pointer tinstant_to_tsequence_free(Pointer inst, int interp) { + var _result = _meos_d.tinstant_to_tsequence_free(inst, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.overright_numspan_tnumber(s, temp); + public static Pointer tinstant_to_tsequenceset(Pointer inst, int interp) { + var _result = _meos_d.tinstant_to_tsequenceset(inst, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.overright_tbox_tnumber(box, temp); + public static Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_d.tnumber_shift_scale_value(temp, shift, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.overright_tnumber_numspan(temp, s); + public static Pointer tnumberinst_shift_value(Pointer inst, Pointer shift) { + var _result = _meos_d.tnumberinst_shift_value(inst, shift); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.overright_tnumber_tbox(temp, box); + public static Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_d.tnumberseq_shift_scale_value(seq, shift, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overright_tnumber_tnumber(temp1, temp2); + public static Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_d.tnumberseqset_shift_scale_value(ss, start, width, hasshift, haswidth); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_c.right_numspan_tnumber(s, temp); + public static void tsequence_restart(Pointer seq, int count) { + _meos_d.tsequence_restart(seq, count); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean right_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_c.right_tbox_tnumber(box, temp); + public static Pointer tsequence_set_interp(Pointer seq, int interp) { + var _result = _meos_d.tsequence_set_interp(seq, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.right_tnumber_numspan(temp, s); + public static Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration) { + var _result = _meos_d.tsequence_shift_scale_time(seq, shift, duration); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.right_tnumber_tbox(temp, box); + public static Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc) { + var _result = _meos_d.tsequence_subseq(seq, from, to, lower_inc, upper_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.right_tnumber_tnumber(temp1, temp2); + public static Pointer tsequence_to_tinstant(Pointer seq) { + var _result = _meos_d.tsequence_to_tinstant(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tand_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.tand_bool_tbool(b, temp); + public static Pointer tsequence_to_tsequenceset(Pointer seq) { + var _result = _meos_d.tsequence_to_tsequenceset(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tand_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.tand_tbool_bool(temp, b); + public static Pointer tsequence_to_tsequenceset_free(Pointer seq) { + var _result = _meos_d.tsequence_to_tsequenceset_free(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tand_tbool_tbool(temp1, temp2); + public static Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp) { + var _result = _meos_d.tsequence_to_tsequenceset_interp(seq, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_when_true(Pointer temp) { - var _result = _meos_c.tbool_when_true(temp); + public static void tsequenceset_restart(Pointer ss, int count) { + _meos_d.tsequenceset_restart(ss, count); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnot_tbool(Pointer temp) { - var _result = _meos_c.tnot_tbool(temp); + public static Pointer tsequenceset_set_interp(Pointer ss, int interp) { + var _result = _meos_d.tsequenceset_set_interp(ss, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tor_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_c.tor_bool_tbool(b, temp); + public static Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration) { + var _result = _meos_d.tsequenceset_shift_scale_time(ss, start, duration); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tor_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_c.tor_tbool_bool(temp, b); + public static Pointer tsequenceset_to_discrete(Pointer ss) { + var _result = _meos_d.tsequenceset_to_discrete(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tor_tbool_tbool(temp1, temp2); + public static Pointer tsequenceset_to_linear(Pointer ss) { + var _result = _meos_d.tsequenceset_to_linear(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer add_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_c.add_float_tfloat(d, tnumber); + public static Pointer tsequenceset_to_step(Pointer ss) { + var _result = _meos_d.tsequenceset_to_step(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer add_int_tint(int i, Pointer tnumber) { - var _result = _meos_c.add_int_tint(i, tnumber); + public static Pointer tsequenceset_to_tinstant(Pointer ss) { + var _result = _meos_d.tsequenceset_to_tinstant(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer add_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_c.add_tfloat_float(tnumber, d); + public static Pointer tsequenceset_to_tsequence(Pointer ss) { + var _result = _meos_d.tsequenceset_to_tsequence(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer add_tint_int(Pointer tnumber, int i) { - var _result = _meos_c.add_tint_int(tnumber, i); + public static Pointer tinstant_merge(Pointer inst1, Pointer inst2) { + var _result = _meos_d.tinstant_merge(inst1, inst2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_c.add_tnumber_tnumber(tnumber1, tnumber2); + public static Pointer tinstant_merge_array(Pointer instants, int count) { + var _result = _meos_d.tinstant_merge_array(instants, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer div_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_c.div_float_tfloat(d, tnumber); + public static Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_d.tsequence_append_tinstant(seq, inst, maxdist, maxt, expand); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer div_int_tint(int i, Pointer tnumber) { - var _result = _meos_c.div_int_tint(i, tnumber); + public static Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand) { + var _result = _meos_d.tsequence_append_tsequence(seq1, seq2, expand); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer div_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_c.div_tfloat_float(tnumber, d); + public static Pointer tsequence_delete_timestamptz(Pointer seq, OffsetDateTime t, boolean connect) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequence_delete_timestamptz(seq, t_new, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer div_tint_int(Pointer tnumber, int i) { - var _result = _meos_c.div_tint_int(tnumber, i); + public static Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect) { + var _result = _meos_d.tsequence_delete_tstzset(seq, s, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_c.div_tnumber_tnumber(tnumber1, tnumber2); + public static Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect) { + var _result = _meos_d.tsequence_delete_tstzspan(seq, s, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer mult_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_c.mult_float_tfloat(d, tnumber); + public static Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect) { + var _result = _meos_d.tsequence_delete_tstzspanset(seq, ss, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer mult_int_tint(int i, Pointer tnumber) { - var _result = _meos_c.mult_int_tint(i, tnumber); + public static Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect) { + var _result = _meos_d.tsequence_insert(seq1, seq2, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer mult_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_c.mult_tfloat_float(tnumber, d); + public static Pointer tsequence_merge(Pointer seq1, Pointer seq2) { + var _result = _meos_d.tsequence_merge(seq1, seq2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer mult_tint_int(Pointer tnumber, int i) { - var _result = _meos_c.mult_tint_int(tnumber, i); + public static Pointer tsequence_merge_array(Pointer sequences, int count) { + var _result = _meos_d.tsequence_merge_array(sequences, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer mult_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_c.mult_tnumber_tnumber(tnumber1, tnumber2); + public static Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_d.tsequenceset_append_tinstant(ss, inst, maxdist, maxt, expand); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer sub_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_c.sub_float_tfloat(d, tnumber); + public static Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand) { + var _result = _meos_d.tsequenceset_append_tsequence(ss, seq, expand); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer sub_int_tint(int i, Pointer tnumber) { - var _result = _meos_c.sub_int_tint(i, tnumber); + public static Pointer tsequenceset_delete_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequenceset_delete_timestamptz(ss, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer sub_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_c.sub_tfloat_float(tnumber, d); + public static Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s) { + var _result = _meos_d.tsequenceset_delete_tstzset(ss, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer sub_tint_int(Pointer tnumber, int i) { - var _result = _meos_c.sub_tint_int(tnumber, i); + public static Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s) { + var _result = _meos_d.tsequenceset_delete_tstzspan(ss, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_c.sub_tnumber_tnumber(tnumber1, tnumber2); + public static Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps) { + var _result = _meos_d.tsequenceset_delete_tstzspanset(ss, ps); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_derivative(Pointer temp) { - var _result = _meos_c.temporal_derivative(temp); + public static Pointer tsequenceset_insert(Pointer ss1, Pointer ss2) { + var _result = _meos_d.tsequenceset_insert(ss1, ss2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_exp(Pointer temp) { - var _result = _meos_c.tfloat_exp(temp); + public static Pointer tsequenceset_merge(Pointer ss1, Pointer ss2) { + var _result = _meos_d.tsequenceset_merge(ss1, ss2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_ln(Pointer temp) { - var _result = _meos_c.tfloat_ln(temp); + public static Pointer tsequenceset_merge_array(Pointer seqsets, int count) { + var _result = _meos_d.tsequenceset_merge_array(seqsets, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_log10(Pointer temp) { - var _result = _meos_c.tfloat_log10(temp); + public static void tsequence_expand_bbox(Pointer seq, Pointer inst) { + _meos_d.tsequence_expand_bbox(seq, inst); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_abs(Pointer temp) { - var _result = _meos_c.tnumber_abs(temp); + public static void tsequence_set_bbox(Pointer seq, Pointer box) { + _meos_d.tsequence_set_bbox(seq, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_trend(Pointer temp) { - var _result = _meos_c.tnumber_trend(temp); + public static void tsequenceset_expand_bbox(Pointer ss, Pointer seq) { + _meos_d.tsequenceset_expand_bbox(ss, seq); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static double float_angular_difference(double degrees1, double degrees2) { - var _result = _meos_c.float_angular_difference(degrees1, degrees2); + public static void tsequenceset_set_bbox(Pointer ss, Pointer box) { + _meos_d.tsequenceset_set_bbox(ss, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_angular_difference(Pointer temp) { - var _result = _meos_c.tnumber_angular_difference(temp); + public static Pointer tcontseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_after_timestamptz(seq, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_delta_value(Pointer temp) { - var _result = _meos_c.tnumber_delta_value(temp); + public static Pointer tcontseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_before_timestamptz(seq, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textcat_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_c.textcat_text_ttext(txt, temp); + public static Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { + var _result = _meos_d.tcontseq_restrict_minmax(seq, min, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textcat_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_c.textcat_ttext_text(temp, txt); + public static Pointer tdiscseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tdiscseq_after_timestamptz(seq, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2) { - var _result = _meos_c.textcat_ttext_ttext(temp1, temp2); + public static Pointer tdiscseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tdiscseq_before_timestamptz(seq, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_initcap(Pointer temp) { - var _result = _meos_c.ttext_initcap(temp); + public static Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { + var _result = _meos_d.tdiscseq_restrict_minmax(seq, min, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_upper(Pointer temp) { - var _result = _meos_c.ttext_upper(temp); + public static boolean temporal_bbox_restrict_set(Pointer temp, Pointer set) { + var _result = _meos_d.temporal_bbox_restrict_set(temp, set); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_lower(Pointer temp) { - var _result = _meos_c.ttext_lower(temp); + public static Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc) { + var _result = _meos_d.temporal_restrict_minmax(temp, min, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdistance_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.tdistance_tfloat_float(temp, d); + public static Pointer temporal_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.temporal_restrict_timestamptz(temp, t_new, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdistance_tint_int(Pointer temp, int i) { - var _result = _meos_c.tdistance_tint_int(temp, i); + public static Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.temporal_restrict_tstzset(temp, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tdistance_tnumber_tnumber(temp1, temp2); + public static Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.temporal_restrict_tstzspan(temp, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2) { - var _result = _meos_c.nad_tboxfloat_tboxfloat(box1, box2); + public static Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { + var _result = _meos_d.temporal_restrict_tstzspanset(temp, ss, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int nad_tboxint_tboxint(Pointer box1, Pointer box2) { - var _result = _meos_c.nad_tboxint_tboxint(box1, box2); + public static Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc) { + var _result = _meos_d.temporal_restrict_value(temp, value, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_tfloat_float(Pointer temp, double d) { - var _result = _meos_c.nad_tfloat_float(temp, d); + public static Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc) { + var _result = _meos_d.temporal_restrict_values(temp, set, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_tfloat_tfloat(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nad_tfloat_tfloat(temp1, temp2); + public static Pointer temporal_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.temporal_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static double nad_tfloat_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.nad_tfloat_tbox(temp, box); + public static Pointer tinstant_after_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tinstant_after_timestamptz(inst, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int nad_tint_int(Pointer temp, int i) { - var _result = _meos_c.nad_tint_int(temp, i); + public static Pointer tinstant_before_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tinstant_before_timestamptz(inst, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int nad_tint_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.nad_tint_tbox(temp, box); + public static Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_tstzspan(inst, period, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int nad_tint_tint(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nad_tint_tint(temp1, temp2); + public static Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_tstzspanset(inst, ss, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_tand_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tbool_tand_transfn(state, temp); + public static Pointer tinstant_restrict_timestamptz(Pointer inst, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tinstant_restrict_timestamptz(inst, t_new, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tbool_tor_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tbool_tor_transfn(state, temp); + public static Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_tstzset(inst, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_extent_transfn(Pointer s, Pointer temp) { - var _result = _meos_c.temporal_extent_transfn(s, temp); + public static Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_value(inst, value, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_tagg_finalfn(Pointer state) { - var _result = _meos_c.temporal_tagg_finalfn(state); + public static Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_values(inst, set, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_tcount_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.temporal_tcount_transfn(state, temp); + public static Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc) { + var _result = _meos_d.tnumber_restrict_span(temp, span, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tfloat_tmax_transfn(state, temp); + public static Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc) { + var _result = _meos_d.tnumber_restrict_spanset(temp, ss, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tfloat_tmin_transfn(state, temp); + public static Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc) { + var _result = _meos_d.tnumberinst_restrict_span(inst, span, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_tsum_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tfloat_tsum_transfn(state, temp); + public static Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc) { + var _result = _meos_d.tnumberinst_restrict_spanset(inst, ss, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tfloat_wmax_transfn(state, temp, interv); + public static Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc) { + var _result = _meos_d.tnumberseqset_restrict_span(ss, span, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tfloat_wmin_transfn(state, temp, interv); + public static Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc) { + var _result = _meos_d.tnumberseqset_restrict_spanset(ss, spanset, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tfloat_wsum_transfn(state, temp, interv); + public static Pointer tsequence_at_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequence_at_timestamptz(seq, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_tcount_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.timestamptz_tcount_transfn(state, t_new); + public static Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc) { + var _result = _meos_d.tsequence_restrict_tstzspan(seq, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tint_tmax_transfn(state, temp); + public static Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { + var _result = _meos_d.tsequence_restrict_tstzspanset(seq, ss, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tint_tmin_transfn(state, temp); + public static Pointer tsequenceset_after_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequenceset_after_timestamptz(ss, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_tsum_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tint_tsum_transfn(state, temp); + public static Pointer tsequenceset_before_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequenceset_before_timestamptz(ss, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tint_wmax_transfn(state, temp, interv); + public static Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc) { + var _result = _meos_d.tsequenceset_restrict_minmax(ss, min, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tint_wmin_transfn(state, temp, interv); + public static Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc) { + var _result = _meos_d.tsequenceset_restrict_tstzspan(ss, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tint_wsum_transfn(state, temp, interv); + public static Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc) { + var _result = _meos_d.tsequenceset_restrict_tstzspanset(ss, ps, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_extent_transfn(Pointer box, Pointer temp) { - var _result = _meos_c.tnumber_extent_transfn(box, temp); + public static Pointer tsequenceset_restrict_timestamptz(Pointer ss, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequenceset_restrict_timestamptz(ss, t_new, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_tavg_finalfn(Pointer state) { - var _result = _meos_c.tnumber_tavg_finalfn(state); + public static Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc) { + var _result = _meos_d.tsequenceset_restrict_tstzset(ss, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_tavg_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tnumber_tavg_transfn(state, temp); + public static Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc) { + var _result = _meos_d.tsequenceset_restrict_value(ss, value, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_c.tnumber_wavg_transfn(state, temp, interv); + public static Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc) { + var _result = _meos_d.tsequenceset_restrict_values(ss, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_tcount_transfn(Pointer state, Pointer s) { - var _result = _meos_c.tstzset_tcount_transfn(state, s); + public static int tinstant_cmp(Pointer inst1, Pointer inst2) { + var _result = _meos_d.tinstant_cmp(inst1, inst2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_tcount_transfn(Pointer state, Pointer s) { - var _result = _meos_c.tstzspan_tcount_transfn(state, s); + public static boolean tinstant_eq(Pointer inst1, Pointer inst2) { + var _result = _meos_d.tinstant_eq(inst1, inst2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss) { - var _result = _meos_c.tstzspanset_tcount_transfn(state, ss); + public static int tsequence_cmp(Pointer seq1, Pointer seq2) { + var _result = _meos_d.tsequence_cmp(seq1, seq2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.ttext_tmax_transfn(state, temp); + public static boolean tsequence_eq(Pointer seq1, Pointer seq2) { + var _result = _meos_d.tsequence_eq(seq1, seq2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttext_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.ttext_tmin_transfn(state, temp); + public static int tsequenceset_cmp(Pointer ss1, Pointer ss2) { + var _result = _meos_d.tsequenceset_cmp(ss1, ss2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_simplify_dp(Pointer temp, double eps_dist, boolean synchronize) { - var _result = _meos_c.temporal_simplify_dp(temp, eps_dist, synchronize); + public static boolean tsequenceset_eq(Pointer ss1, Pointer ss2) { + var _result = _meos_d.tsequenceset_eq(ss1, ss2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_simplify_max_dist(Pointer temp, double eps_dist, boolean synchronize) { - var _result = _meos_c.temporal_simplify_max_dist(temp, eps_dist, synchronize); + public static int always_eq_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.always_eq_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_dist(Pointer temp, double dist) { - var _result = _meos_c.temporal_simplify_min_dist(temp, dist); + public static int always_eq_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.always_eq_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint) { - var _result = _meos_c.temporal_simplify_min_tdelta(temp, mint); + public static int always_ne_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.always_ne_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_tprecision(Pointer temp, Pointer duration, OffsetDateTime origin) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_c.temporal_tprecision(temp, duration, origin_new); + public static int always_ne_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.always_ne_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_tsample(Pointer temp, Pointer duration, OffsetDateTime origin, int interp) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_c.temporal_tsample(temp, duration, origin_new, interp); + public static int always_ge_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.always_ge_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_dyntimewarp_distance(temp1, temp2); + public static int always_ge_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.always_ge_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_c.temporal_dyntimewarp_path(temp1, temp2, count); + public static int always_gt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.always_gt_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double temporal_frechet_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_frechet_distance(temp1, temp2); + public static int always_gt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.always_gt_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_c.temporal_frechet_path(temp1, temp2, count); + public static int always_le_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.always_le_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double temporal_hausdorff_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_c.temporal_hausdorff_distance(temp1, temp2); + public static int always_le_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.always_le_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_time_bins(Pointer temp, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_c.temporal_time_bins(temp, duration, origin_new, count); + public static int always_lt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.always_lt_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer temporal_time_split(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.temporal_time_split(temp, duration, torigin_new, time_bins, count); + public static int always_lt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.always_lt_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tfloat_time_boxes(temp, duration, torigin_new, count); + public static int ever_eq_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.ever_eq_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = _meos_c.tfloat_value_bins(temp, vsize, vorigin, count); + public static int ever_eq_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.ever_eq_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = _meos_c.tfloat_value_boxes(temp, vsize, vorigin, count); + public static int ever_ne_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.ever_ne_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_value_split(Pointer temp, double size, double origin, Pointer bins, Pointer count) { - var _result = _meos_c.tfloat_value_split(temp, size, origin, bins, count); + public static int ever_ne_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.ever_ne_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); + public static int ever_ge_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.ever_ge_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tfloat_value_time_split(temp, vsize, duration, vorigin, torigin_new, value_bins, time_bins, count); + public static int ever_ge_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.ever_ge_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tfloatbox_time_tiles(box, duration, torigin_new, count); + public static int ever_gt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.ever_gt_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count) { - var _result = _meos_c.tfloatbox_value_tiles(box, vsize, vorigin, count); + public static int ever_gt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.ever_gt_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin_new, count); + public static int ever_le_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.ever_le_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tint_time_boxes(temp, duration, torigin_new, count); + public static int ever_le_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.ever_le_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = _meos_c.tint_value_bins(temp, vsize, vorigin, count); + public static int ever_lt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_d.ever_lt_base_temporal(value, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = _meos_c.tint_value_boxes(temp, vsize, vorigin, count); + public static int ever_lt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_d.ever_lt_temporal_base(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_value_split(Pointer temp, int vsize, int vorigin, Pointer bins, Pointer count) { - var _result = _meos_c.tint_value_split(temp, vsize, vorigin, bins, count); + public static Pointer tnumberinst_abs(Pointer inst) { + var _result = _meos_d.tnumberinst_abs(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); + public static Pointer tnumberseq_abs(Pointer seq) { + var _result = _meos_d.tnumberseq_abs(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tint_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); + public static Pointer tnumberseq_angular_difference(Pointer seq) { + var _result = _meos_d.tnumberseq_angular_difference(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tintbox_time_tiles(box, duration, torigin_new, count); + public static Pointer tnumberseq_delta_value(Pointer seq) { + var _result = _meos_d.tnumberseq_delta_value(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count) { - var _result = _meos_d.tintbox_value_tiles(box, xsize, xorigin, count); + public static Pointer tnumberseqset_abs(Pointer ss) { + var _result = _meos_d.tnumberseqset_abs(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin_new, count); + public static Pointer tnumberseqset_angular_difference(Pointer ss) { + var _result = _meos_d.tnumberseqset_angular_difference(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size) { - var _result = _meos_d.geo_as_ewkb(gs, endian, size); + public static Pointer tnumberseqset_delta_value(Pointer ss) { + var _result = _meos_d.tnumberseqset_delta_value(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String geo_as_ewkt(Pointer gs, int precision) { - var _result = _meos_d.geo_as_ewkt(gs, precision); + public static double distance_span_span_double(Pointer s1, Pointer s2) { + var _result = _meos_d.distance_span_span_double(s1, s2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String geo_as_geojson(Pointer gs, int option, int precision, String srs) { - var _result = _meos_d.geo_as_geojson(gs, option, precision, srs); + public static double nad_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_d.nad_tbox_tbox(box1, box2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String geo_as_hexewkb(Pointer gs, String endian) { - var _result = _meos_d.geo_as_hexewkb(gs, endian); + public static double nad_tnumber_number(Pointer temp, Pointer value) { + var _result = _meos_d.nad_tnumber_number(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String geo_as_text(Pointer gs, int precision) { - var _result = _meos_d.geo_as_text(gs, precision); + public static double nad_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_tnumber_tbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid) { - var _result = _meos_d.geo_from_ewkb(wkb, wkb_size, srid); + public static double nad_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_tnumber_tnumber(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_from_geojson(String geojson) { - var _result = _meos_d.geo_from_geojson(geojson); + public static Pointer tdistance_tnumber_number(Pointer temp, Pointer value) { + var _result = _meos_d.tdistance_tnumber_number(temp, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_from_text(String wkt, int srid) { - var _result = _meos_d.geo_from_text(wkt, srid); + public static double tnumberinst_distance(Pointer inst1, Pointer inst2) { + var _result = _meos_d.tnumberinst_distance(inst1, inst2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String geo_out(Pointer gs) { - var _result = _meos_d.geo_out(gs); + public static double tnumberseq_integral(Pointer seq) { + var _result = _meos_d.tnumberseq_integral(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geog_from_binary(String wkb_bytea) { - var _result = _meos_d.geog_from_binary(wkb_bytea); + public static double tnumberseq_twavg(Pointer seq) { + var _result = _meos_d.tnumberseq_twavg(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geog_from_hexewkb(String wkt) { - var _result = _meos_d.geog_from_hexewkb(wkt); + public static double tnumberseqset_integral(Pointer ss) { + var _result = _meos_d.tnumberseqset_integral(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geog_in(String str, int typmod) { - var _result = _meos_d.geog_in(str, typmod); + public static double tnumberseqset_twavg(Pointer ss) { + var _result = _meos_d.tnumberseqset_twavg(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_from_hexewkb(String wkt) { - var _result = _meos_d.geom_from_hexewkb(wkt); + public static Pointer temporal_compact(Pointer temp) { + var _result = _meos_d.temporal_compact(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_in(String str, int typmod) { - var _result = _meos_d.geom_in(str, typmod); + public static Pointer tsequence_compact(Pointer seq) { + var _result = _meos_d.tsequence_compact(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) { - var _result = _meos_d.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid); + public static Pointer tsequenceset_compact(Pointer ss) { + var _result = _meos_d.tsequenceset_compact(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String box3d_out(Pointer box, int maxdd) { - var _result = _meos_d.box3d_out(box, maxdd); + public static Pointer temporal_skiplist_make() { + var _result = _meos_d.temporal_skiplist_make(); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) { - var _result = _meos_d.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax); + public static Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn) { + var _result = _meos_d.skiplist_make(key_size, value_size, comp_fn, merge_fn); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String gbox_out(Pointer box, int maxdd) { - var _result = _meos_d.gbox_out(box, maxdd); + public static int skiplist_search(Pointer list, Pointer key, Pointer value) { + var _result = _meos_d.skiplist_search(list, key, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_copy(Pointer g) { - var _result = _meos_d.geo_copy(g); + public static void skiplist_free(Pointer list) { + _meos_d.skiplist_free(list); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geogpoint_make2d(int srid, double x, double y) { - var _result = _meos_d.geogpoint_make2d(srid, x, y); + public static void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype) { + _meos_d.skiplist_splice(list, keys, values, count, func, crossings, sktype); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geogpoint_make3dz(int srid, double x, double y, double z) { - var _result = _meos_d.geogpoint_make3dz(srid, x, y, z); + public static void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings) { + _meos_d.temporal_skiplist_splice(list, values, count, func, crossings); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geompoint_make2d(int srid, double x, double y) { - var _result = _meos_d.geompoint_make2d(srid, x, y); + public static Pointer skiplist_values(Pointer list) { + var _result = _meos_d.skiplist_values(list); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geompoint_make3dz(int srid, double x, double y, double z) { - var _result = _meos_d.geompoint_make3dz(srid, x, y, z); + public static Pointer skiplist_keys_values(Pointer list, Pointer values) { + var _result = _meos_d.skiplist_keys_values(list, values); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_to_geog(Pointer geom) { - var _result = _meos_d.geom_to_geog(geom); + public static Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt) { + var _result = _meos_d.temporal_app_tinst_transfn(state, inst, interp, maxdist, maxt); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geog_to_geom(Pointer geog) { - var _result = _meos_d.geog_to_geom(geog); + public static Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq) { + var _result = _meos_d.temporal_app_tseq_transfn(state, seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geo_is_empty(Pointer g) { - var _result = _meos_d.geo_is_empty(g); + public static Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count) { + var _result = _meos_d.span_bins(s, size, origin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geo_is_unitary(Pointer gs) { - var _result = _meos_d.geo_is_unitary(gs); + public static Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count) { + var _result = _meos_d.spanset_bins(ss, size, origin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String geo_typename(int type) { - var _result = _meos_d.geo_typename(type); + public static Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count) { + var _result = _meos_d.tnumber_value_bins(temp, size, origin, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geog_area(Pointer g, boolean use_spheroid) { - var _result = _meos_d.geog_area(g, use_spheroid); + public static Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.tnumber_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geog_centroid(Pointer g, boolean use_spheroid) { - var _result = _meos_d.geog_centroid(g, use_spheroid); + public static Pointer tnumber_value_split(Pointer temp, Pointer vsize, Pointer vorigin, Pointer bins, Pointer count) { + var _result = _meos_d.tnumber_value_split(temp, vsize, vorigin, bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geog_length(Pointer g, boolean use_spheroid) { - var _result = _meos_d.geog_length(g, use_spheroid); + public static Pointer tbox_get_value_time_tile(Pointer value, OffsetDateTime t, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, int basetype, int spantype) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.tbox_get_value_time_tile(value, t_new, vsize, duration, vorigin, torigin_new, basetype, spantype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geog_perimeter(Pointer g, boolean use_spheroid) { - var _result = _meos_d.geog_perimeter(g, use_spheroid); + public static Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.tnumber_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_azimuth(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.geom_azimuth(gs1, gs2, result); + public static Pointer proj_get_context() { + var _result = _meos_d.proj_get_context(); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static double geom_length(Pointer gs) { - var _result = _meos_d.geom_length(gs); + public static int datum_geo_round(Pointer value, Pointer size) { + var _result = _meos_d.datum_geo_round(value, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geom_perimeter(Pointer gs) { - var _result = _meos_d.geom_perimeter(gs); + public static Pointer point_round(Pointer gs, int maxdd) { + var _result = _meos_d.point_round(gs, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int line_numpoints(Pointer gs) { - var _result = _meos_d.line_numpoints(gs); + public static void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer box) { + _meos_d.stbox_set(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer line_point_n(Pointer geom, int n) { - var _result = _meos_d.line_point_n(geom, n); + public static void gbox_set_stbox(Pointer box, int srid, Pointer result) { + _meos_d.gbox_set_stbox(box, srid, result); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_reverse(Pointer gs) { - var _result = _meos_d.geo_reverse(gs); + public static boolean geo_set_stbox(Pointer gs, Pointer box) { + var _result = _meos_d.geo_set_stbox(gs, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_round(Pointer gs, int maxdd) { - var _result = _meos_d.geo_round(gs, maxdd); + public static void geoarr_set_stbox(Pointer values, int count, Pointer box) { + _meos_d.geoarr_set_stbox(values, count, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_set_srid(Pointer gs, int srid) { - var _result = _meos_d.geo_set_srid(gs, srid); + public static boolean spatial_set_stbox(Pointer d, int basetype, Pointer box) { + var _result = _meos_d.spatial_set_stbox(d, basetype, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int geo_srid(Pointer gs) { - var _result = _meos_d.geo_srid(gs); + public static void spatialset_set_stbox(Pointer set, Pointer box) { + _meos_d.spatialset_set_stbox(set, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_transform(Pointer geom, int srid_to) { - var _result = _meos_d.geo_transform(geom, srid_to); + public static void stbox_set_box3d(Pointer box, Pointer box3d) { + _meos_d.stbox_set_box3d(box, box3d); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward) { - var _result = _meos_d.geo_transform_pipeline(gs, pipeline, srid_to, is_forward); + public static void stbox_set_gbox(Pointer box, Pointer gbox) { + _meos_d.stbox_set_gbox(box, gbox); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_collect_garray(Pointer gsarr, int count) { - var _result = _meos_d.geo_collect_garray(gsarr, count); + public static void tstzset_set_stbox(Pointer s, Pointer box) { + _meos_d.tstzset_set_stbox(s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_makeline_garray(Pointer gsarr, int count) { - var _result = _meos_d.geo_makeline_garray(gsarr, count); + public static void tstzspan_set_stbox(Pointer s, Pointer box) { + _meos_d.tstzspan_set_stbox(s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int geo_num_points(Pointer gs) { - var _result = _meos_d.geo_num_points(gs); + public static void tstzspanset_set_stbox(Pointer s, Pointer box) { + _meos_d.tstzspanset_set_stbox(s, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static int geo_num_geos(Pointer gs) { - var _result = _meos_d.geo_num_geos(gs); + public static void stbox_expand(Pointer box1, Pointer box2) { + _meos_d.stbox_expand(box1, box2); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_geo_n(Pointer geom, int n) { - var _result = _meos_d.geo_geo_n(geom, n); + public static Pointer inter_stbox_stbox(Pointer box1, Pointer box2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.inter_stbox_stbox(box1, box2, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static Pointer geo_pointarr(Pointer gs, Pointer count) { - var _result = _meos_d.geo_pointarr(gs, count); + public static Pointer stbox_geo(Pointer box) { + var _result = _meos_d.stbox_geo(box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_points(Pointer gs) { - var _result = _meos_d.geo_points(gs); + public static Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_d.tgeogpointinst_from_mfjson(mfjson, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_array_union(Pointer gsarr, int count) { - var _result = _meos_d.geom_array_union(gsarr, count); + public static Pointer tgeogpointinst_in(String str) { + var _result = _meos_d.tgeogpointinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_boundary(Pointer gs) { - var _result = _meos_d.geom_boundary(gs); + public static Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeogpointseq_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_buffer(Pointer gs, double size, String params) { - var _result = _meos_d.geom_buffer(gs, size, params); + public static Pointer tgeogpointseq_in(String str, int interp) { + var _result = _meos_d.tgeogpointseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_centroid(Pointer gs) { - var _result = _meos_d.geom_centroid(gs); + public static Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeogpointseqset_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_convex_hull(Pointer gs) { - var _result = _meos_d.geom_convex_hull(gs); + public static Pointer tgeogpointseqset_in(String str) { + var _result = _meos_d.tgeogpointseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_difference2d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_difference2d(gs1, gs2); + public static Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_d.tgeompointinst_from_mfjson(mfjson, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_intersection2d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_intersection2d(gs1, gs2); + public static Pointer tgeompointinst_in(String str) { + var _result = _meos_d.tgeompointinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_intersection2d_coll(gs1, gs2); + public static Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeompointseq_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_min_bounding_radius(Pointer geom, Pointer radius) { - var _result = _meos_d.geom_min_bounding_radius(geom, radius); + public static Pointer tgeompointseq_in(String str, int interp) { + var _result = _meos_d.tgeompointseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_shortestline2d(Pointer gs1, Pointer s2) { - var _result = _meos_d.geom_shortestline2d(gs1, s2); + public static Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeompointseqset_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_shortestline3d(Pointer gs1, Pointer s2) { - var _result = _meos_d.geom_shortestline3d(gs1, s2); + public static Pointer tgeompointseqset_in(String str) { + var _result = _meos_d.tgeompointseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geom_unary_union(Pointer gs, double prec) { - var _result = _meos_d.geom_unary_union(gs, prec); + public static Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_d.tgeographyinst_from_mfjson(mfjson, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat) { - var _result = _meos_d.line_interpolate_point(gs, distance_fraction, repeat); + public static Pointer tgeographyinst_in(String str) { + var _result = _meos_d.tgeographyinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double line_locate_point(Pointer gs1, Pointer gs2) { - var _result = _meos_d.line_locate_point(gs1, gs2); + public static Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeographyseq_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer line_substring(Pointer gs, double from, double to) { - var _result = _meos_d.line_substring(gs, from, to); + public static Pointer tgeographyseq_in(String str, int interp) { + var _result = _meos_d.tgeographyseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid) { - var _result = _meos_d.geog_dwithin(g1, g2, tolerance, use_spheroid); + public static Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeographyseqset_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid) { - var _result = _meos_d.geog_intersects(gs1, gs2, use_spheroid); + public static Pointer tgeographyseqset_in(String str) { + var _result = _meos_d.tgeographyseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_contains(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_contains(gs1, gs2); + public static Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_d.tgeometryinst_from_mfjson(mfjson, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_covers(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_covers(gs1, gs2); + public static Pointer tgeometryinst_in(String str) { + var _result = _meos_d.tgeometryinst_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_disjoint2d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_disjoint2d(gs1, gs2); + public static Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeometryseq_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = _meos_d.geom_dwithin2d(gs1, gs2, tolerance); + public static Pointer tgeometryseq_in(String str, int interp) { + var _result = _meos_d.tgeometryseq_in(str, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = _meos_d.geom_dwithin3d(gs1, gs2, tolerance); + public static Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_d.tgeometryseqset_from_mfjson(mfjson, srid, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_intersects2d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_intersects2d(gs1, gs2); + public static Pointer tgeometryseqset_in(String str) { + var _result = _meos_d.tgeometryseqset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geom_intersects3d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_intersects3d(gs1, gs2); + public static void tspatial_set_stbox(Pointer temp, Pointer box) { + _meos_d.tspatial_set_stbox(temp, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt) { - var _result = _meos_d.geom_relate_pattern(gs1, gs2, patt); + public static void tgeoinst_set_stbox(Pointer inst, Pointer box) { + _meos_d.tgeoinst_set_stbox(inst, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static boolean geom_touches(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_touches(gs1, gs2); + public static void tspatialseq_set_stbox(Pointer seq, Pointer box) { + _meos_d.tspatialseq_set_stbox(seq, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_stboxes(Pointer gs, Pointer count) { - var _result = _meos_d.geo_stboxes(gs, count); + public static void tspatialseqset_set_stbox(Pointer ss, Pointer box) { + _meos_d.tspatialseqset_set_stbox(ss, box); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count) { - var _result = _meos_d.geo_split_each_n_stboxes(gs, elem_count, count); + public static Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.tgeo_restrict_elevation(temp, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count) { - var _result = _meos_d.geo_split_n_stboxes(gs, box_count, count); + public static Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { + var _result = _meos_d.tgeo_restrict_geom(temp, gs, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geog_distance(Pointer g1, Pointer g2) { - var _result = _meos_d.geog_distance(g1, g2); + public static Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.tgeo_restrict_stbox(temp, box, border_inc, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geom_distance2d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_distance2d(gs1, gs2); + public static Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc) { + var _result = _meos_d.tgeoinst_restrict_geom(inst, gs, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double geom_distance3d(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geom_distance3d(gs1, gs2); + public static Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.tgeoinst_restrict_stbox(inst, box, border_inc, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int geo_equals(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geo_equals(gs1, gs2); + public static Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc) { + var _result = _meos_d.tgeoseq_restrict_geom(seq, gs, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean geo_same(Pointer gs1, Pointer gs2) { - var _result = _meos_d.geo_same(gs1, gs2); + public static Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.tgeoseq_restrict_stbox(seq, box, border_inc, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geogset_in(String str) { - var _result = _meos_d.geogset_in(str); + public static Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc) { + var _result = _meos_d.tgeoseqset_restrict_geom(ss, gs, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geomset_in(String str) { - var _result = _meos_d.geomset_in(str); + public static Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.tgeoseqset_restrict_stbox(ss, box, border_inc, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String spatialset_as_text(Pointer set, int maxdd) { - var _result = _meos_d.spatialset_as_text(set, maxdd); + public static int spatial_srid(Pointer d, int basetype) { + var _result = _meos_d.spatial_srid(d, basetype); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String spatialset_as_ewkt(Pointer set, int maxdd) { - var _result = _meos_d.spatialset_as_ewkt(set, maxdd); + public static boolean spatial_set_srid(Pointer d, int basetype, int srid) { + var _result = _meos_d.spatial_set_srid(d, basetype, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geoset_make(Pointer values, int count) { - var _result = _meos_d.geoset_make(values, count); + public static int tspatialinst_srid(Pointer inst) { + var _result = _meos_d.tspatialinst_srid(inst); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_to_set(Pointer gs) { - var _result = _meos_d.geo_to_set(gs); + public static Pointer tpointseq_azimuth(Pointer seq) { + var _result = _meos_d.tpointseq_azimuth(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geoset_end_value(Pointer s) { - var _result = _meos_d.geoset_end_value(s); + public static Pointer tpointseq_cumulative_length(Pointer seq, double prevlength) { + var _result = _meos_d.tpointseq_cumulative_length(seq, prevlength); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geoset_start_value(Pointer s) { - var _result = _meos_d.geoset_start_value(s); + public static boolean tpointseq_is_simple(Pointer seq) { + var _result = _meos_d.tpointseq_is_simple(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geoset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.geoset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); + public static double tpointseq_length(Pointer seq) { + var _result = _meos_d.tpointseq_length(seq); MeosErrorHandler.checkError(); - return out ? new_result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer geoset_values(Pointer s) { - var _result = _meos_d.geoset_values(s); + public static Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union) { + var _result = _meos_d.tpointseq_linear_trajectory(seq, unary_union); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_geo_set(Pointer gs, Pointer s) { - var _result = _meos_d.contained_geo_set(gs, s); + public static Pointer tgeoseq_stboxes(Pointer seq, Pointer count) { + var _result = _meos_d.tgeoseq_stboxes(seq, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_set_geo(Pointer s, Pointer gs) { - var _result = _meos_d.contains_set_geo(s, gs); + public static Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count) { + var _result = _meos_d.tgeoseq_split_n_stboxes(seq, max_count, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_union_transfn(Pointer state, Pointer gs) { - var _result = _meos_d.geo_union_transfn(state, gs); + public static Pointer tpointseqset_azimuth(Pointer ss) { + var _result = _meos_d.tpointseqset_azimuth(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_geo_set(Pointer gs, Pointer s) { - var _result = _meos_d.intersection_geo_set(gs, s); + public static Pointer tpointseqset_cumulative_length(Pointer ss) { + var _result = _meos_d.tpointseqset_cumulative_length(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_set_geo(Pointer s, Pointer gs) { - var _result = _meos_d.intersection_set_geo(s, gs); + public static boolean tpointseqset_is_simple(Pointer ss) { + var _result = _meos_d.tpointseqset_is_simple(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_geo_set(Pointer gs, Pointer s) { - var _result = _meos_d.minus_geo_set(gs, s); + public static double tpointseqset_length(Pointer ss) { + var _result = _meos_d.tpointseqset_length(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer minus_set_geo(Pointer s, Pointer gs) { - var _result = _meos_d.minus_set_geo(s, gs); + public static Pointer tgeoseqset_stboxes(Pointer ss, Pointer count) { + var _result = _meos_d.tgeoseqset_stboxes(ss, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_geo_set(Pointer gs, Pointer s) { - var _result = _meos_d.union_geo_set(gs, s); + public static Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count) { + var _result = _meos_d.tgeoseqset_split_n_stboxes(ss, max_count, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_set_geo(Pointer s, Pointer gs) { - var _result = _meos_d.union_set_geo(s, gs); + public static Pointer tpoint_get_coord(Pointer temp, int coord) { + var _result = _meos_d.tpoint_get_coord(temp, coord); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spatialset_set_srid(Pointer s, int srid) { - var _result = _meos_d.spatialset_set_srid(s, srid); + public static Pointer tgeominst_tgeoginst(Pointer inst, boolean oper) { + var _result = _meos_d.tgeominst_tgeoginst(inst, oper); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int spatialset_srid(Pointer s) { - var _result = _meos_d.spatialset_srid(s); + public static Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper) { + var _result = _meos_d.tgeomseq_tgeogseq(seq, oper); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spatialset_transform(Pointer s, int srid) { - var _result = _meos_d.spatialset_transform(s, srid); + public static Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper) { + var _result = _meos_d.tgeomseqset_tgeogseqset(ss, oper); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_d.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward); + public static Pointer tgeom_tgeog(Pointer temp, boolean oper) { + var _result = _meos_d.tgeom_tgeog(temp, oper); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String stbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = _meos_d.stbox_as_hexwkb(box, variant, size); + public static Pointer tgeo_tpoint(Pointer temp, boolean oper) { + var _result = _meos_d.tgeo_tpoint(temp, oper); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.stbox_as_wkb(box, variant, size_out); + public static void tspatialinst_set_srid(Pointer inst, int srid) { + _meos_d.tspatialinst_set_srid(inst, srid); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer stbox_from_hexwkb(String hexwkb) { - var _result = _meos_d.stbox_from_hexwkb(hexwkb); + public static Pointer tpointseq_make_simple(Pointer seq, Pointer count) { + var _result = _meos_d.tpointseq_make_simple(seq, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_from_wkb(Pointer wkb, long size) { - var _result = _meos_d.stbox_from_wkb(wkb, size); + public static void tspatialseq_set_srid(Pointer seq, int srid) { + _meos_d.tspatialseq_set_srid(seq, srid); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer stbox_in(String str) { - var _result = _meos_d.stbox_in(str); + public static Pointer tpointseqset_make_simple(Pointer ss, Pointer count) { + var _result = _meos_d.tpointseqset_make_simple(ss, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String stbox_out(Pointer box, int maxdd) { - var _result = _meos_d.stbox_out(box, maxdd); + public static void tspatialseqset_set_srid(Pointer ss, int srid) { + _meos_d.tspatialseqset_set_srid(ss, srid); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer geo_timestamptz_to_stbox(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.geo_timestamptz_to_stbox(gs, t_new); + public static Pointer tpointseq_twcentroid(Pointer seq) { + var _result = _meos_d.tpointseq_twcentroid(seq); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s) { - var _result = _meos_d.geo_tstzspan_to_stbox(gs, s); + public static Pointer tpointseqset_twcentroid(Pointer ss) { + var _result = _meos_d.tpointseqset_twcentroid(ss); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_copy(Pointer box) { - var _result = _meos_d.stbox_copy(box); + public static String npoint_as_ewkt(Pointer np, int maxdd) { + var _result = _meos_d.npoint_as_ewkt(np, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s) { - var _result = _meos_d.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s); + public static String npoint_as_hexwkb(Pointer np, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.npoint_as_hexwkb(np, variant, size_out); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_to_stbox(Pointer gs) { - var _result = _meos_d.geo_to_stbox(gs); + public static String npoint_as_text(Pointer np, int maxdd) { + var _result = _meos_d.npoint_as_text(np, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer spatialset_to_stbox(Pointer s) { - var _result = _meos_d.spatialset_to_stbox(s); + public static Pointer npoint_as_wkb(Pointer np, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.npoint_as_wkb(np, variant, size_out); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_to_box3d(Pointer box) { - var _result = _meos_d.stbox_to_box3d(box); + public static Pointer npoint_from_hexwkb(String hexwkb) { + var _result = _meos_d.npoint_from_hexwkb(hexwkb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_to_gbox(Pointer box) { - var _result = _meos_d.stbox_to_gbox(box); + public static Pointer npoint_from_wkb(Pointer wkb, long size) { + var _result = _meos_d.npoint_from_wkb(wkb, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_to_geo(Pointer box) { - var _result = _meos_d.stbox_to_geo(box); + public static Pointer npoint_in(String str) { + var _result = _meos_d.npoint_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_to_tstzspan(Pointer box) { - var _result = _meos_d.stbox_to_tstzspan(box); + public static String npoint_out(Pointer np, int maxdd) { + var _result = _meos_d.npoint_out(np, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer timestamptz_to_stbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.timestamptz_to_stbox(t_new); + public static Pointer nsegment_in(String str) { + var _result = _meos_d.nsegment_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzset_to_stbox(Pointer s) { - var _result = _meos_d.tstzset_to_stbox(s); + public static String nsegment_out(Pointer ns, int maxdd) { + var _result = _meos_d.nsegment_out(ns, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspan_to_stbox(Pointer s) { - var _result = _meos_d.tstzspan_to_stbox(s); + public static Pointer npoint_make(long rid, double pos) { + var _result = _meos_d.npoint_make(rid, pos); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tstzspanset_to_stbox(Pointer ss) { - var _result = _meos_d.tstzspanset_to_stbox(ss); + public static Pointer nsegment_make(long rid, double pos1, double pos2) { + var _result = _meos_d.nsegment_make(rid, pos1, pos2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double stbox_area(Pointer box, boolean spheroid) { - var _result = _meos_d.stbox_area(box, spheroid); + public static Pointer geompoint_to_npoint(Pointer gs) { + var _result = _meos_d.geompoint_to_npoint(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int stbox_hash(Pointer box) { - var _result = _meos_d.stbox_hash(box); + public static Pointer geom_to_nsegment(Pointer gs) { + var _result = _meos_d.geom_to_nsegment(gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static long stbox_hash_extended(Pointer box, long seed) { - var _result = _meos_d.stbox_hash_extended(box, seed); + public static Pointer npoint_to_geompoint(Pointer np) { + var _result = _meos_d.npoint_to_geompoint(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_hast(Pointer box) { - var _result = _meos_d.stbox_hast(box); + public static Pointer npoint_to_nsegment(Pointer np) { + var _result = _meos_d.npoint_to_nsegment(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_hasx(Pointer box) { - var _result = _meos_d.stbox_hasx(box); + public static Pointer npoint_to_stbox(Pointer np) { + var _result = _meos_d.npoint_to_stbox(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_hasz(Pointer box) { - var _result = _meos_d.stbox_hasz(box); + public static Pointer nsegment_to_geom(Pointer ns) { + var _result = _meos_d.nsegment_to_geom(ns); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_isgeodetic(Pointer box) { - var _result = _meos_d.stbox_isgeodetic(box); + public static Pointer nsegment_to_stbox(Pointer np) { + var _result = _meos_d.nsegment_to_stbox(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double stbox_perimeter(Pointer box, boolean spheroid) { - var _result = _meos_d.stbox_perimeter(box, spheroid); + public static int npoint_hash(Pointer np) { + var _result = _meos_d.npoint_hash(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.stbox_tmax(box, result); + public static long npoint_hash_extended(Pointer np, long seed) { + var _result = _meos_d.npoint_hash_extended(np, seed); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_d.stbox_tmax_inc(box, result); + public static double npoint_position(Pointer np) { + var _result = _meos_d.npoint_position(np); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.stbox_tmin(box, result); + public static long npoint_route(Pointer np) { + var _result = _meos_d.npoint_route(np); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_d.stbox_tmin_inc(box, result); + public static double nsegment_end_position(Pointer ns) { + var _result = _meos_d.nsegment_end_position(ns); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static double stbox_volume(Pointer box) { - var _result = _meos_d.stbox_volume(box); + public static long nsegment_route(Pointer ns) { + var _result = _meos_d.nsegment_route(ns); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.stbox_xmax(box, result); + public static double nsegment_start_position(Pointer ns) { + var _result = _meos_d.nsegment_start_position(ns); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.stbox_xmin(box, result); + public static boolean route_exists(long rid) { + var _result = _meos_d.route_exists(rid); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_ymax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.stbox_ymax(box, result); + public static Pointer route_geom(long rid) { + var _result = _meos_d.route_geom(rid); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_ymin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.stbox_ymin(box, result); + public static double route_length(long rid) { + var _result = _meos_d.route_length(rid); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_zmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.stbox_zmax(box, result); + public static Pointer npoint_round(Pointer np, int maxdd) { + var _result = _meos_d.npoint_round(np, maxdd); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_zmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.stbox_zmin(box, result); + public static Pointer nsegment_round(Pointer ns, int maxdd) { + var _result = _meos_d.nsegment_round(ns, maxdd); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer stbox_expand_space(Pointer box, double d) { - var _result = _meos_d.stbox_expand_space(box, d); + public static int get_srid_ways() { + var _result = _meos_d.get_srid_ways(); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_expand_time(Pointer box, Pointer interv) { - var _result = _meos_d.stbox_expand_time(box, interv); + public static int npoint_srid(Pointer np) { + var _result = _meos_d.npoint_srid(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_get_space(Pointer box) { - var _result = _meos_d.stbox_get_space(box); + public static int nsegment_srid(Pointer ns) { + var _result = _meos_d.nsegment_srid(ns); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_quad_split(Pointer box, Pointer count) { - var _result = _meos_d.stbox_quad_split(box, count); + public static Pointer npoint_timestamptz_to_stbox(Pointer np, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.npoint_timestamptz_to_stbox(np, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_round(Pointer box, int maxdd) { - var _result = _meos_d.stbox_round(box, maxdd); + public static Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s) { + var _result = _meos_d.npoint_tstzspan_to_stbox(np, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = _meos_d.stbox_shift_scale_time(box, shift, duration); + public static int npoint_cmp(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_cmp(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stboxarr_round(Pointer boxarr, int count, int maxdd) { - var _result = _meos_d.stboxarr_round(boxarr, count, maxdd); + public static boolean npoint_eq(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_eq(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_set_srid(Pointer box, int srid) { - var _result = _meos_d.stbox_set_srid(box, srid); + public static boolean npoint_ge(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_ge(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int stbox_srid(Pointer box) { - var _result = _meos_d.stbox_srid(box); + public static boolean npoint_gt(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_gt(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_transform(Pointer box, int srid) { - var _result = _meos_d.stbox_transform(box, srid); + public static boolean npoint_le(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_le(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_d.stbox_transform_pipeline(box, pipelinestr, srid, is_forward); + public static boolean npoint_lt(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_lt(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.adjacent_stbox_stbox(box1, box2); + public static boolean npoint_ne(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_ne(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.contained_stbox_stbox(box1, box2); + public static boolean npoint_same(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_same(np1, np2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.contains_stbox_stbox(box1, box2); + public static int nsegment_cmp(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_cmp(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overlaps_stbox_stbox(box1, box2); + public static boolean nsegment_eq(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_eq(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.same_stbox_stbox(box1, box2); + public static boolean nsegment_ge(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_ge(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean above_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.above_stbox_stbox(box1, box2); + public static boolean nsegment_gt(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_gt(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.after_stbox_stbox(box1, box2); + public static boolean nsegment_le(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_le(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean back_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.back_stbox_stbox(box1, box2); + public static boolean nsegment_lt(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_lt(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.before_stbox_stbox(box1, box2); + public static boolean nsegment_ne(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_ne(ns1, ns2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean below_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.below_stbox_stbox(box1, box2); + public static Pointer npointset_in(String str) { + var _result = _meos_d.npointset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean front_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.front_stbox_stbox(box1, box2); + public static String npointset_out(Pointer s, int maxdd) { + var _result = _meos_d.npointset_out(s, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.left_stbox_stbox(box1, box2); + public static Pointer npointset_make(Pointer values, int count) { + var _result = _meos_d.npointset_make(values, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overabove_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overabove_stbox_stbox(box1, box2); + public static Pointer npoint_to_set(Pointer np) { + var _result = _meos_d.npoint_to_set(np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overafter_stbox_stbox(box1, box2); + public static Pointer npointset_end_value(Pointer s) { + var _result = _meos_d.npointset_end_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overback_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overback_stbox_stbox(box1, box2); + public static Pointer npointset_routes(Pointer s) { + var _result = _meos_d.npointset_routes(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overbefore_stbox_stbox(box1, box2); + public static Pointer npointset_start_value(Pointer s) { + var _result = _meos_d.npointset_start_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbelow_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overbelow_stbox_stbox(box1, box2); + public static Pointer npointset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.npointset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean overfront_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overfront_stbox_stbox(box1, box2); + public static Pointer npointset_values(Pointer s) { + var _result = _meos_d.npointset_values(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overleft_stbox_stbox(box1, box2); + public static boolean contained_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.contained_npoint_set(np, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overright_stbox_stbox(box1, box2); + public static boolean contains_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.contains_set_npoint(s, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.right_stbox_stbox(box1, box2); + public static Pointer intersection_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.intersection_npoint_set(np, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_d.union_stbox_stbox(box1, box2, strict); + public static Pointer intersection_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.intersection_set_npoint(s, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer intersection_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.intersection_stbox_stbox(box1, box2); + public static Pointer minus_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.minus_npoint_set(np, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int stbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_cmp(box1, box2); + public static Pointer minus_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.minus_set_npoint(s, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_eq(box1, box2); + public static Pointer npoint_union_transfn(Pointer state, Pointer np) { + var _result = _meos_d.npoint_union_transfn(state, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_ge(box1, box2); + public static Pointer union_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.union_npoint_set(np, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_gt(box1, box2); + public static Pointer union_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.union_set_npoint(s, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_le(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_le(box1, box2); + public static Pointer tnpoint_in(String str) { + var _result = _meos_d.tnpoint_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_lt(box1, box2); + public static Pointer tnpoint_from_mfjson(String mfjson) { + var _result = _meos_d.tnpoint_from_mfjson(mfjson); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean stbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_d.stbox_ne(box1, box2); + public static String tnpoint_out(Pointer temp, int maxdd) { + var _result = _meos_d.tnpoint_out(temp, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeogpoint_from_mfjson(String str) { - var _result = _meos_d.tgeogpoint_from_mfjson(str); + public static Pointer tnpointinst_make(Pointer np, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tnpointinst_make(np, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeogpoint_in(String str) { - var _result = _meos_d.tgeogpoint_in(str); + public static Pointer tgeompoint_to_tnpoint(Pointer temp) { + var _result = _meos_d.tgeompoint_to_tnpoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeography_from_mfjson(String mfjson) { - var _result = _meos_d.tgeography_from_mfjson(mfjson); + public static Pointer tnpoint_to_tgeompoint(Pointer temp) { + var _result = _meos_d.tnpoint_to_tgeompoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeography_in(String str) { - var _result = _meos_d.tgeography_in(str); + public static Pointer tnpoint_cumulative_length(Pointer temp) { + var _result = _meos_d.tnpoint_cumulative_length(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeometry_from_mfjson(String str) { - var _result = _meos_d.tgeometry_from_mfjson(str); + public static double tnpoint_length(Pointer temp) { + var _result = _meos_d.tnpoint_length(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeometry_in(String str) { - var _result = _meos_d.tgeometry_in(str); + public static Pointer tnpoint_positions(Pointer temp, Pointer count) { + var _result = _meos_d.tnpoint_positions(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeompoint_from_mfjson(String str) { - var _result = _meos_d.tgeompoint_from_mfjson(str); + public static long tnpoint_route(Pointer temp) { + var _result = _meos_d.tnpoint_route(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeompoint_in(String str) { - var _result = _meos_d.tgeompoint_in(str); + public static Pointer tnpoint_routes(Pointer temp) { + var _result = _meos_d.tnpoint_routes(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tspatial_as_ewkt(Pointer temp, int maxdd) { - var _result = _meos_d.tspatial_as_ewkt(temp, maxdd); + public static Pointer tnpoint_speed(Pointer temp) { + var _result = _meos_d.tnpoint_speed(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tspatial_as_text(Pointer temp, int maxdd) { - var _result = _meos_d.tspatial_as_text(temp, maxdd); + public static Pointer tnpoint_trajectory(Pointer temp) { + var _result = _meos_d.tnpoint_trajectory(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static String tspatial_out(Pointer temp, int maxdd) { - var _result = _meos_d.tspatial_out(temp, maxdd); + public static Pointer tnpoint_twcentroid(Pointer temp) { + var _result = _meos_d.tnpoint_twcentroid(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_from_base_temp(Pointer gs, Pointer temp) { - var _result = _meos_d.tgeo_from_base_temp(gs, temp); + public static Pointer tnpoint_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tnpoint_at_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeoinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tgeoinst_make(gs, t_new); + public static Pointer tnpoint_at_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tnpoint_at_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = _meos_d.tgeoseq_from_base_tstzset(gs, s); + public static Pointer tnpoint_at_npointset(Pointer temp, Pointer s) { + var _result = _meos_d.tnpoint_at_npointset(temp, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = _meos_d.tgeoseq_from_base_tstzspan(gs, s, interp); + public static Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tnpoint_at_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = _meos_d.tgeoseqset_from_base_tstzspanset(gs, ss, interp); + public static Pointer tnpoint_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tnpoint_minus_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_from_base_temp(Pointer gs, Pointer temp) { - var _result = _meos_d.tpoint_from_base_temp(gs, temp); + public static Pointer tnpoint_minus_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tnpoint_minus_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpointinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tpointinst_make(gs, t_new); + public static Pointer tnpoint_minus_npointset(Pointer temp, Pointer s) { + var _result = _meos_d.tnpoint_minus_npointset(temp, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = _meos_d.tpointseq_from_base_tstzset(gs, s); + public static Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tnpoint_minus_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = _meos_d.tpointseq_from_base_tstzspan(gs, s, interp); + public static Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tdistance_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize); + public static Pointer tdistance_tnpoint_point(Pointer temp, Pointer gs) { + var _result = _meos_d.tdistance_tnpoint_point(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = _meos_d.tpointseqset_from_base_tstzspanset(gs, ss, interp); + public static Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer box3d_to_stbox(Pointer box) { - var _result = _meos_d.box3d_to_stbox(box); + public static double nad_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nad_tnpoint_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer gbox_to_stbox(Pointer box) { - var _result = _meos_d.gbox_to_stbox(box); + public static double nad_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.nad_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geomeas_to_tpoint(Pointer gs) { - var _result = _meos_d.geomeas_to_tpoint(gs); + public static double nad_tnpoint_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_tnpoint_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeogpoint_to_tgeography(Pointer temp) { - var _result = _meos_d.tgeogpoint_to_tgeography(temp); + public static double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeogpoint(Pointer temp) { - var _result = _meos_d.tgeography_to_tgeogpoint(temp); + public static Pointer nai_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nai_tnpoint_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeometry(Pointer temp) { - var _result = _meos_d.tgeography_to_tgeometry(temp); + public static Pointer nai_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.nai_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeography(Pointer temp) { - var _result = _meos_d.tgeometry_to_tgeography(temp); + public static Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeompoint(Pointer temp) { - var _result = _meos_d.tgeometry_to_tgeompoint(temp); + public static Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.shortestline_tnpoint_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeompoint_to_tgeometry(Pointer temp) { - var _result = _meos_d.tgeompoint_to_tgeometry(temp); + public static Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.shortestline_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom, Pointer gsarr, Pointer timesarr, Pointer count) { - var _result = _meos_d.tpoint_as_mvtgeom(temp, bounds, extent, buffer, clip_geom, gsarr, timesarr, count); + public static Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result); - Pointer new_result = result.getPointer(0); + public static Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp) { + var _result = _meos_d.tnpoint_tcentroid_transfn(state, temp); MeosErrorHandler.checkError(); - return out ? new_result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tspatial_to_stbox(Pointer temp) { - var _result = _meos_d.tspatial_to_stbox(temp); + public static int always_eq_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.always_eq_npoint_tnpoint(np, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bearing_point_point(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.bearing_point_point(gs1, gs2, result); + public static int always_eq_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.always_eq_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert) { - var _result = _meos_d.bearing_tpoint_point(temp, gs, invert); + public static int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_eq_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.bearing_tpoint_tpoint(temp1, temp2); + public static int always_ne_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.always_ne_npoint_tnpoint(np, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_centroid(Pointer temp) { - var _result = _meos_d.tgeo_centroid(temp); + public static int always_ne_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.always_ne_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_convex_hull(Pointer temp) { - var _result = _meos_d.tgeo_convex_hull(temp); + public static int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_ne_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_end_value(Pointer temp) { - var _result = _meos_d.tgeo_end_value(temp); + public static int ever_eq_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.ever_eq_npoint_tnpoint(np, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_start_value(Pointer temp) { - var _result = _meos_d.tgeo_start_value(temp); + public static int ever_eq_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.ever_eq_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_traversed_area(Pointer temp, boolean unary_union) { - var _result = _meos_d.tgeo_traversed_area(temp, unary_union); + public static int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_eq_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tgeo_value_at_timestamptz(temp, t_new, strict, value); + public static int ever_ne_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.ever_ne_npoint_tnpoint(np, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tgeo_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); + public static int ever_ne_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.ever_ne_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); - return out ? new_result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_values(Pointer temp, Pointer count) { - var _result = _meos_d.tgeo_values(temp, count); + public static int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_ne_tnpoint_tnpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_angular_difference(Pointer temp) { - var _result = _meos_d.tpoint_angular_difference(temp); + public static Pointer teq_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.teq_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_azimuth(Pointer temp) { - var _result = _meos_d.tpoint_azimuth(temp); + public static Pointer tne_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tne_tnpoint_npoint(temp, np); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_cumulative_length(Pointer temp) { - var _result = _meos_d.tpoint_cumulative_length(temp); + public static String pose_as_ewkt(Pointer pose, int maxdd) { + var _result = _meos_d.pose_as_ewkt(pose, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_direction(Pointer temp) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpoint_direction(temp, result); + public static String pose_as_hexwkb(Pointer pose, byte variant, Pointer size) { + var _result = _meos_d.pose_as_hexwkb(pose, variant, size); MeosErrorHandler.checkError(); - return out ? result : null; + return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_get_x(Pointer temp) { - var _result = _meos_d.tpoint_get_x(temp); + public static String pose_as_text(Pointer pose, int maxdd) { + var _result = _meos_d.pose_as_text(pose, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_get_y(Pointer temp) { - var _result = _meos_d.tpoint_get_y(temp); + public static Pointer pose_as_wkb(Pointer pose, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.pose_as_wkb(pose, variant, size_out); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_get_z(Pointer temp) { - var _result = _meos_d.tpoint_get_z(temp); + public static Pointer pose_from_wkb(Pointer wkb, long size) { + var _result = _meos_d.pose_from_wkb(wkb, size); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean tpoint_is_simple(Pointer temp) { - var _result = _meos_d.tpoint_is_simple(temp); + public static Pointer pose_from_hexwkb(String hexwkb) { + var _result = _meos_d.pose_from_hexwkb(hexwkb); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double tpoint_length(Pointer temp) { - var _result = _meos_d.tpoint_length(temp); + public static Pointer pose_in(String str) { + var _result = _meos_d.pose_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_speed(Pointer temp) { - var _result = _meos_d.tpoint_speed(temp); + public static String pose_out(Pointer pose, int maxdd) { + var _result = _meos_d.pose_out(pose, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_trajectory(Pointer temp, boolean unary_union) { - var _result = _meos_d.tpoint_trajectory(temp, unary_union); + public static Pointer pose_copy(Pointer pose) { + var _result = _meos_d.pose_copy(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_twcentroid(Pointer temp) { - var _result = _meos_d.tpoint_twcentroid(temp); + public static Pointer pose_make_2d(double x, double y, double theta, int srid) { + var _result = _meos_d.pose_make_2d(x, y, theta, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_affine(Pointer temp, Pointer a) { - var _result = _meos_d.tgeo_affine(temp, a); + public static Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid) { + var _result = _meos_d.pose_make_3d(x, y, z, W, X, Y, Z, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin) { - var _result = _meos_d.tgeo_scale(temp, scale, sorigin); + public static Pointer pose_make_point2d(Pointer gs, double theta) { + var _result = _meos_d.pose_make_point2d(gs, theta); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_make_simple(Pointer temp, Pointer count) { - var _result = _meos_d.tpoint_make_simple(temp, count); + public static Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z) { + var _result = _meos_d.pose_make_point3d(gs, W, X, Y, Z); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int tspatial_srid(Pointer temp) { - var _result = _meos_d.tspatial_srid(temp); + public static Pointer pose_to_point(Pointer pose) { + var _result = _meos_d.pose_to_point(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tspatial_set_srid(Pointer temp, int srid) { - var _result = _meos_d.tspatial_set_srid(temp, srid); + public static Pointer pose_to_stbox(Pointer pose) { + var _result = _meos_d.pose_to_stbox(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tspatial_transform(Pointer temp, int srid) { - var _result = _meos_d.tspatial_transform(temp, srid); + public static int pose_hash(Pointer pose) { + var _result = _meos_d.pose_hash(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_d.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward); + public static long pose_hash_extended(Pointer pose, long seed) { + var _result = _meos_d.pose_hash_extended(pose, seed); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tgeo_at_geom(temp, gs); + public static Pointer pose_orientation(Pointer pose) { + var _result = _meos_d.pose_orientation(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tgeo_at_stbox(temp, box, border_inc); + public static double pose_rotation(Pointer pose) { + var _result = _meos_d.pose_rotation(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_at_value(Pointer temp, Pointer gs) { - var _result = _meos_d.tgeo_at_value(temp, gs); + public static Pointer pose_round(Pointer pose, int maxdd) { + var _result = _meos_d.pose_round(pose, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tgeo_minus_geom(temp, gs); + public static Pointer posearr_round(Pointer posearr, int count, int maxdd) { + var _result = _meos_d.posearr_round(posearr, count, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tgeo_minus_stbox(temp, box, border_inc); + public static void pose_set_srid(Pointer pose, int srid) { + _meos_d.pose_set_srid(pose, srid); MeosErrorHandler.checkError(); - return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_minus_value(Pointer temp, Pointer gs) { - var _result = _meos_d.tgeo_minus_value(temp, gs); + public static int pose_srid(Pointer pose) { + var _result = _meos_d.pose_srid(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_at_geom(Pointer temp, Pointer gs, Pointer zspan) { - var _result = _meos_d.tpoint_at_geom(temp, gs, zspan); + public static Pointer pose_transform(Pointer pose, int srid) { + var _result = _meos_d.pose_transform(pose, srid); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_at_value(Pointer temp, Pointer gs) { - var _result = _meos_d.tpoint_at_value(temp, gs); + public static Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_d.pose_transform_pipeline(pose, pipelinestr, srid, is_forward); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_minus_geom(Pointer temp, Pointer gs, Pointer zspan) { - var _result = _meos_d.tpoint_minus_geom(temp, gs, zspan); + public static Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s) { + var _result = _meos_d.pose_tstzspan_to_stbox(pose, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_minus_value(Pointer temp, Pointer gs) { - var _result = _meos_d.tpoint_minus_value(temp, gs); + public static Pointer pose_timestamptz_to_stbox(Pointer pose, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.pose_timestamptz_to_stbox(pose, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.always_eq_geo_tgeo(gs, temp); + public static double distance_pose_geo(Pointer pose, Pointer gs) { + var _result = _meos_d.distance_pose_geo(pose, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.always_eq_tgeo_geo(temp, gs); + public static double distance_pose_pose(Pointer pose1, Pointer pose2) { + var _result = _meos_d.distance_pose_pose(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_tgeo_tgeo(temp1, temp2); + public static double distance_pose_stbox(Pointer pose, Pointer box) { + var _result = _meos_d.distance_pose_stbox(pose, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.always_ne_geo_tgeo(gs, temp); + public static int pose_cmp(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_cmp(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.always_ne_tgeo_geo(temp, gs); + public static boolean pose_eq(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_eq(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_tgeo_tgeo(temp1, temp2); + public static boolean pose_ge(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_ge(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.ever_eq_geo_tgeo(gs, temp); + public static boolean pose_gt(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_gt(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ever_eq_tgeo_geo(temp, gs); + public static boolean pose_le(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_le(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_tgeo_tgeo(temp1, temp2); + public static boolean pose_lt(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_lt(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.ever_ne_geo_tgeo(gs, temp); + public static boolean pose_ne(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_ne(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ever_ne_tgeo_geo(temp, gs); + public static boolean pose_nsame(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_nsame(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_tgeo_tgeo(temp1, temp2); + public static boolean pose_same(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_same(pose1, pose2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.teq_geo_tgeo(gs, temp); + public static Pointer poseset_in(String str) { + var _result = _meos_d.poseset_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer teq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.teq_tgeo_geo(temp, gs); + public static String poseset_out(Pointer s, int maxdd) { + var _result = _meos_d.poseset_out(s, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.tne_geo_tgeo(gs, temp); + public static Pointer poseset_make(Pointer values, int count) { + var _result = _meos_d.poseset_make(values, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tne_tgeo_geo(temp, gs); + public static Pointer pose_to_set(Pointer pose) { + var _result = _meos_d.pose_to_set(pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_stboxes(Pointer temp, Pointer count) { - var _result = _meos_d.tgeo_stboxes(temp, count); + public static Pointer poseset_end_value(Pointer s) { + var _result = _meos_d.poseset_end_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var _result = _meos_d.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); + public static Pointer poseset_start_value(Pointer s) { + var _result = _meos_d.poseset_start_value(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); + public static Pointer poseset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.poseset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_d.tgeo_split_each_n_stboxes(temp, elem_count, count); + public static Pointer poseset_values(Pointer s) { + var _result = _meos_d.poseset_values(s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_d.tgeo_split_n_stboxes(temp, box_count, count); + public static boolean contained_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.contained_pose_set(pose, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.adjacent_stbox_tspatial(box, temp); + public static boolean contains_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.contains_set_pose(s, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.adjacent_tspatial_stbox(temp, box); + public static Pointer intersection_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.intersection_pose_set(pose, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.adjacent_tspatial_tspatial(temp1, temp2); + public static Pointer intersection_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.intersection_set_pose(s, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.contained_stbox_tspatial(box, temp); + public static Pointer minus_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.minus_pose_set(pose, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.contained_tspatial_stbox(temp, box); + public static Pointer minus_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.minus_set_pose(s, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.contained_tspatial_tspatial(temp1, temp2); + public static Pointer pose_union_transfn(Pointer state, Pointer pose) { + var _result = _meos_d.pose_union_transfn(state, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.contains_stbox_tspatial(box, temp); + public static Pointer union_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.union_pose_set(pose, s); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.contains_tspatial_stbox(temp, box); + public static Pointer union_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.union_set_pose(s, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.contains_tspatial_tspatial(temp1, temp2); + public static Pointer tpose_in(String str) { + var _result = _meos_d.tpose_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overlaps_stbox_tspatial(box, temp); + public static Pointer tpose_make(Pointer tpoint, Pointer tradius) { + var _result = _meos_d.tpose_make(tpoint, tradius); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overlaps_tspatial_stbox(temp, box); + public static Pointer tpose_to_tpoint(Pointer temp) { + var _result = _meos_d.tpose_to_tpoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overlaps_tspatial_tspatial(temp1, temp2); + public static Pointer tpose_end_value(Pointer temp) { + var _result = _meos_d.tpose_end_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.same_stbox_tspatial(box, temp); + public static Pointer tpose_points(Pointer temp) { + var _result = _meos_d.tpose_points(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.same_tspatial_stbox(temp, box); + public static Pointer tpose_rotation(Pointer temp) { + var _result = _meos_d.tpose_rotation(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.same_tspatial_tspatial(temp1, temp2); + public static Pointer tpose_start_value(Pointer temp) { + var _result = _meos_d.tpose_start_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean above_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.above_stbox_tspatial(box, temp); + public static Pointer tpose_trajectory(Pointer temp) { + var _result = _meos_d.tpose_trajectory(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean above_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.above_tspatial_stbox(temp, box); + public static boolean tpose_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tpose_value_at_timestamptz(temp, t_new, strict, value); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.above_tspatial_tspatial(temp1, temp2); + public static Pointer tpose_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tpose_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static boolean after_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.after_stbox_tspatial(box, temp); + public static Pointer tpose_values(Pointer temp, Pointer count) { + var _result = _meos_d.tpose_values(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.after_tspatial_stbox(temp, box); + public static Pointer tpose_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tpose_at_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.after_tspatial_tspatial(temp1, temp2); + public static Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tpose_at_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean back_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.back_stbox_tspatial(box, temp); + public static Pointer tpose_at_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tpose_at_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean back_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.back_tspatial_stbox(temp, box); + public static Pointer tpose_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tpose_minus_geom(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.back_tspatial_tspatial(temp1, temp2); + public static Pointer tpose_minus_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tpose_minus_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.before_stbox_tspatial(box, temp); + public static Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tpose_minus_stbox(temp, box, border_inc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.before_tspatial_stbox(temp, box); + public static Pointer tdistance_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tdistance_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.before_tspatial_tspatial(temp1, temp2); + public static Pointer tdistance_tpose_point(Pointer temp, Pointer gs) { + var _result = _meos_d.tdistance_tpose_point(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean below_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.below_stbox_tspatial(box, temp); + public static Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean below_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.below_tspatial_stbox(temp, box); + public static double nad_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nad_tpose_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.below_tspatial_tspatial(temp1, temp2); + public static double nad_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.nad_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean front_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.front_stbox_tspatial(box, temp); + public static double nad_tpose_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_tpose_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean front_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.front_tspatial_stbox(temp, box); + public static double nad_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.front_tspatial_tspatial(temp1, temp2); + public static Pointer nai_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nai_tpose_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.left_stbox_tspatial(box, temp); + public static Pointer nai_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.nai_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.left_tspatial_stbox(temp, box); + public static Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.left_tspatial_tspatial(temp1, temp2); + public static Pointer shortestline_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.shortestline_tpose_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overabove_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overabove_stbox_tspatial(box, temp); + public static Pointer shortestline_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.shortestline_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overabove_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overabove_tspatial_stbox(temp, box); + public static Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overabove_tspatial_tspatial(temp1, temp2); + public static int always_eq_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.always_eq_pose_tpose(pose, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overafter_stbox_tspatial(box, temp); + public static int always_eq_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.always_eq_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overafter_tspatial_stbox(temp, box); + public static int always_eq_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_eq_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overafter_tspatial_tspatial(temp1, temp2); + public static int always_ne_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.always_ne_pose_tpose(pose, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overback_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overback_stbox_tspatial(box, temp); + public static int always_ne_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.always_ne_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overback_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overback_tspatial_stbox(temp, box); + public static int always_ne_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_ne_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overback_tspatial_tspatial(temp1, temp2); + public static int ever_eq_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.ever_eq_pose_tpose(pose, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overbefore_stbox_tspatial(box, temp); + public static int ever_eq_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.ever_eq_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overbefore_tspatial_stbox(temp, box); + public static int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_eq_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overbefore_tspatial_tspatial(temp1, temp2); + public static int ever_ne_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.ever_ne_pose_tpose(pose, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbelow_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overbelow_stbox_tspatial(box, temp); + public static int ever_ne_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.ever_ne_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbelow_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overbelow_tspatial_stbox(temp, box); + public static int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_ne_tpose_tpose(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overbelow_tspatial_tspatial(temp1, temp2); + public static Pointer teq_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.teq_pose_tpose(pose, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overfront_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overfront_stbox_tspatial(box, temp); + public static Pointer teq_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.teq_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overfront_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overfront_tspatial_stbox(temp, box); + public static Pointer tne_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.tne_pose_tpose(pose, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overfront_tspatial_tspatial(temp1, temp2); + public static Pointer tne_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tne_tpose_pose(temp, pose); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overleft_stbox_tspatial(box, temp); + public static String trgeo_out(Pointer temp) { + var _result = _meos_d.trgeo_out(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overleft_tspatial_stbox(temp, box); + public static Pointer trgeoinst_make(Pointer geom, Pointer pose, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeoinst_make(geom, pose, t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overleft_tspatial_tspatial(temp1, temp2); + public static Pointer geo_tpose_to_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.geo_tpose_to_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.overright_stbox_tspatial(box, temp); + public static Pointer trgeo_to_tpose(Pointer temp) { + var _result = _meos_d.trgeo_to_tpose(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.overright_tspatial_stbox(temp, box); + public static Pointer trgeo_to_tpoint(Pointer temp) { + var _result = _meos_d.trgeo_to_tpoint(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overright_tspatial_tspatial(temp1, temp2); + public static Pointer trgeo_end_instant(Pointer temp) { + var _result = _meos_d.trgeo_end_instant(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_d.right_stbox_tspatial(box, temp); + public static Pointer trgeo_end_sequence(Pointer temp) { + var _result = _meos_d.trgeo_end_sequence(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.right_tspatial_stbox(temp, box); + public static Pointer trgeo_end_value(Pointer temp) { + var _result = _meos_d.trgeo_end_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_d.right_tspatial_tspatial(temp1, temp2); + public static Pointer trgeo_geom(Pointer temp) { + var _result = _meos_d.trgeo_geom(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int acontains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.acontains_geo_tgeo(gs, temp); + public static Pointer trgeo_instant_n(Pointer temp, int n) { + var _result = _meos_d.trgeo_instant_n(temp, n); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int acontains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.acontains_tgeo_geo(temp, gs); + public static Pointer trgeo_instants(Pointer temp, Pointer count) { + var _result = _meos_d.trgeo_instants(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.acontains_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_points(Pointer temp) { + var _result = _meos_d.trgeo_points(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int adisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.adisjoint_tgeo_geo(temp, gs); + public static Pointer trgeo_rotation(Pointer temp) { + var _result = _meos_d.trgeo_rotation(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.adisjoint_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_segments(Pointer temp, Pointer count) { + var _result = _meos_d.trgeo_segments(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_d.adwithin_tgeo_geo(temp, gs, dist); + public static Pointer trgeo_sequence_n(Pointer temp, int i) { + var _result = _meos_d.trgeo_sequence_n(temp, i); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_d.adwithin_tgeo_tgeo(temp1, temp2, dist); + public static Pointer trgeo_sequences(Pointer temp, Pointer count) { + var _result = _meos_d.trgeo_sequences(temp, count); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int aintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.aintersects_tgeo_geo(temp, gs); + public static Pointer trgeo_start_instant(Pointer temp) { + var _result = _meos_d.trgeo_start_instant(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.aintersects_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_start_sequence(Pointer temp) { + var _result = _meos_d.trgeo_start_sequence(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int atouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.atouches_tgeo_geo(temp, gs); + public static Pointer trgeo_start_value(Pointer temp) { + var _result = _meos_d.trgeo_start_value(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.atouches_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.trgeo_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); MeosErrorHandler.checkError(); - return _result; + return out ? new_result : null; } @SuppressWarnings("unused") - public static int atouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.atouches_tpoint_geo(temp, gs); + public static Pointer trgeo_traversed_area(Pointer temp, boolean unary_union) { + var _result = _meos_d.trgeo_traversed_area(temp, unary_union); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int econtains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.econtains_geo_tgeo(gs, temp); + public static Pointer trgeo_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_d.trgeo_append_tinstant(temp, inst, interp, maxdist, maxt, expand); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int econtains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.econtains_tgeo_geo(temp, gs); + public static Pointer trgeo_append_tsequence(Pointer temp, Pointer seq, boolean expand) { + var _result = _meos_d.trgeo_append_tsequence(temp, seq, expand); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.econtains_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeo_delete_timestamptz(temp, t_new, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ecovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.ecovers_geo_tgeo(gs, temp); + public static Pointer trgeo_delete_tstzset(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_d.trgeo_delete_tstzset(temp, s, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ecovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ecovers_tgeo_geo(temp, gs); + public static Pointer trgeo_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_d.trgeo_delete_tstzspan(temp, s, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ecovers_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { + var _result = _meos_d.trgeo_delete_tstzspanset(temp, ss, connect); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int edisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.edisjoint_tgeo_geo(temp, gs); + public static Pointer trgeo_round(Pointer temp, int maxdd) { + var _result = _meos_d.trgeo_round(temp, maxdd); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.edisjoint_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_set_interp(Pointer temp, int interp) { + var _result = _meos_d.trgeo_set_interp(temp, interp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_d.edwithin_tgeo_geo(temp, gs, dist); + public static Pointer trgeo_to_tinstant(Pointer temp) { + var _result = _meos_d.trgeo_to_tinstant(temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_d.edwithin_tgeo_tgeo(temp1, temp2, dist); + public static Pointer trgeo_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeo_after_timestamptz(temp, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int eintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.eintersects_tgeo_geo(temp, gs); + public static Pointer trgeo_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeo_before_timestamptz(temp, t_new, strict); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.eintersects_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_restrict_value(Pointer temp, Pointer value, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_value(temp, value, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int etouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.etouches_tgeo_geo(temp, gs); + public static Pointer trgeo_restrict_values(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_values(temp, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.etouches_tgeo_tgeo(temp1, temp2); + public static Pointer trgeo_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeo_restrict_timestamptz(temp, t_new, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static int etouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.etouches_tpoint_geo(temp, gs); + public static Pointer trgeo_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_tstzset(temp, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = _meos_d.tcontains_geo_tgeo(gs, temp, restr, atvalue); + public static Pointer trgeo_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_tstzspan(temp, s, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = _meos_d.tcontains_tgeo_geo(temp, gs, restr, atvalue); + public static Pointer trgeo_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_tstzspanset(temp, ss, atfunc); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = _meos_d.tcontains_tgeo_tgeo(temp1, temp2, restr, atvalue); + public static Pointer tdistance_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.tdistance_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = _meos_d.tcovers_geo_tgeo(gs, temp, restr, atvalue); + public static Pointer tdistance_trgeo_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_trgeo_tpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = _meos_d.tcovers_tgeo_geo(temp, gs, restr, atvalue); + public static Pointer tdistance_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = _meos_d.tcovers_tgeo_tgeo(temp1, temp2, restr, atvalue); + public static double nad_stbox_trgeo(Pointer box, Pointer temp) { + var _result = _meos_d.nad_stbox_trgeo(box, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = _meos_d.tdisjoint_geo_tgeo(gs, temp, restr, atvalue); + public static double nad_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nad_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = _meos_d.tdisjoint_tgeo_geo(temp, gs, restr, atvalue); + public static double nad_trgeo_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_trgeo_stbox(temp, box); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = _meos_d.tdisjoint_tgeo_tgeo(temp1, temp2, restr, atvalue); + public static double nad_trgeo_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_trgeo_tpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist, boolean restr, boolean atvalue) { - var _result = _meos_d.tdwithin_geo_tgeo(gs, temp, dist, restr, atvalue); + public static double nad_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean restr, boolean atvalue) { - var _result = _meos_d.tdwithin_tgeo_geo(temp, gs, dist, restr, atvalue); + public static Pointer nai_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nai_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean restr, boolean atvalue) { - var _result = _meos_d.tdwithin_tgeo_tgeo(temp1, temp2, dist, restr, atvalue); + public static Pointer nai_trgeo_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_trgeo_tpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = _meos_d.tintersects_geo_tgeo(gs, temp, restr, atvalue); + public static Pointer nai_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = _meos_d.tintersects_tgeo_geo(temp, gs, restr, atvalue); + public static Pointer shortestline_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.shortestline_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = _meos_d.tintersects_tgeo_tgeo(temp1, temp2, restr, atvalue); + public static Pointer shortestline_trgeo_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_trgeo_tpoint(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = _meos_d.ttouches_geo_tgeo(gs, temp, restr, atvalue); + public static Pointer shortestline_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = _meos_d.ttouches_tgeo_geo(temp, gs, restr, atvalue); + public static int always_eq_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.always_eq_geo_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = _meos_d.ttouches_tgeo_tgeo(temp1, temp2, restr, atvalue); + public static int always_eq_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.always_eq_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_tgeo_geo(temp, gs); + public static int always_eq_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_eq_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_tgeo_tgeo(temp1, temp2); + public static int always_ne_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.always_ne_geo_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_stbox_geo(Pointer box, Pointer gs) { - var _result = _meos_d.nad_stbox_geo(box, gs); + public static int always_ne_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.always_ne_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_d.nad_stbox_stbox(box1, box2); + public static int always_ne_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_ne_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_tgeo_geo(temp, gs); + public static int ever_eq_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.ever_eq_geo_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_tgeo_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tgeo_stbox(temp, box); + public static int ever_eq_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ever_eq_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static double nad_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tgeo_tgeo(temp1, temp2); + public static int ever_eq_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_eq_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer nai_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_tgeo_geo(temp, gs); + public static int ever_ne_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.ever_ne_geo_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_tgeo_tgeo(temp1, temp2); + public static int ever_ne_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ever_ne_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_tgeo_geo(temp, gs); + public static int ever_ne_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_ne_trgeo_trgeo(temp1, temp2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_tgeo_tgeo(temp1, temp2); + public static Pointer teq_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.teq_geo_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_finalfn(Pointer state) { - var _result = _meos_d.tpoint_tcentroid_finalfn(state); + public static Pointer teq_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.teq_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp) { - var _result = _meos_d.tpoint_tcentroid_transfn(state, temp); + public static Pointer tne_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.tne_geo_trgeo(gs, temp); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tspatial_extent_transfn(Pointer box, Pointer temp) { - var _result = _meos_d.tspatial_extent_transfn(box, temp); + public static Pointer tne_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.tne_trgeo_geo(temp, gs); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin) { - var _result = _meos_d.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin); + public static int geo_get_srid(Pointer g) { + var _result = _meos_d.geo_get_srid(g); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_get_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.stbox_get_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new); + public static int date_in(String str) { + var _result = _meos_d.date_in(str); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_get_time_tile(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.stbox_get_time_tile(t_new, duration, torigin_new); + public static String date_out(int d) { + var _result = _meos_d.date_out(d); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count) { - var _result = _meos_d.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count); + public static int interval_cmp(Pointer interv1, Pointer interv2) { + var _result = _meos_d.interval_cmp(interv1, interv2); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc, count); + public static Pointer interval_in(String str, int typmod) { + var _result = _meos_d.interval_in(str, typmod); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer stbox_time_tiles(Pointer bounds, Pointer duration, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.stbox_time_tiles(bounds, duration, torigin_new, border_inc, count); + public static String interval_out(Pointer interv) { + var _result = _meos_d.interval_out(interv); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer count) { - var _result = _meos_d.tgeo_space_split(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, space_bins, count); + public static Pointer time_in(String str, int typmod) { + var _result = _meos_d.time_in(str, typmod); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tgeo_space_time_split(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, space_bins, time_bins, count); + public static String time_out(Pointer t) { + var _result = _meos_d.time_out(t); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k) { - var _result = _meos_d.geo_cluster_kmeans(geoms, ngeoms, k); + public static LocalDateTime timestamp_in(String str, int typmod) { + var _result = _meos_d.timestamp_in(str, typmod); MeosErrorHandler.checkError(); - return _result; + return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); } @SuppressWarnings("unused") - public static Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count) { - var _result = _meos_d.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count); + public static String timestamp_out(LocalDateTime t) { + var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); + var _result = _meos_d.timestamp_out(t_new); MeosErrorHandler.checkError(); return _result; } @SuppressWarnings("unused") - public static Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count) { - var _result = _meos_d.geo_cluster_intersecting(geoms, ngeoms, count); + public static OffsetDateTime timestamptz_in(String str, int typmod) { + var _result = _meos_d.timestamptz_in(str, typmod); MeosErrorHandler.checkError(); - return _result; + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); } @SuppressWarnings("unused") - public static Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count) { - var _result = _meos_d.geo_cluster_within(geoms, ngeoms, tolerance, count); + public static String timestamptz_out(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.timestamptz_out(t_new); MeosErrorHandler.checkError(); return _result; } From 008f5a09ee14a5b68c32731f7e973671620e6815 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Thu, 2 Jul 2026 12:48:47 +0200 Subject: [PATCH 02/23] Generate the functions binding from the IDL at build time Add the codegen exec step to jmeos-core so functions/GeneratedFunctions.java is produced from codegen/input/meos-idl.json during the build, and drop the committed copy. --- jmeos-core/pom.xml | 51 + .../java/functions/GeneratedFunctions.java | 26610 ---------------- 2 files changed, 51 insertions(+), 26610 deletions(-) delete mode 100644 jmeos-core/src/main/java/functions/GeneratedFunctions.java diff --git a/jmeos-core/pom.xml b/jmeos-core/pom.xml index dd37ac3ac..50255343f 100644 --- a/jmeos-core/pom.xml +++ b/jmeos-core/pom.xml @@ -240,6 +240,57 @@ + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + generate-meos-facade + generate-sources + + java + + + FunctionsGenerator + + ${project.basedir}/../codegen/target/classes + + + ${project.basedir}/../codegen/input/meos-idl.json + ${project.build.directory}/generated-sources/jmeos/functions/GeneratedFunctions.java + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.5.0 + + + add-generated-facade + generate-sources + + add-source + + + + ${project.build.directory}/generated-sources/jmeos + + + + + + org.apache.maven.plugins maven-compiler-plugin diff --git a/jmeos-core/src/main/java/functions/GeneratedFunctions.java b/jmeos-core/src/main/java/functions/GeneratedFunctions.java deleted file mode 100644 index 3dc0aae9e..000000000 --- a/jmeos-core/src/main/java/functions/GeneratedFunctions.java +++ /dev/null @@ -1,26610 +0,0 @@ -package functions; - -import jnr.ffi.Pointer; -import jnr.ffi.Memory; -import jnr.ffi.Runtime; -import jnr.ffi.byref.PointerByReference; -import jnr.ffi.Struct; -import utils.JarLibraryLoader; -import utils.meosCatalog.MeosEnums.meosType; -import utils.meosCatalog.MeosEnums.meosOper; -import functions.MeosErrorHandler; - -import java.time.*; - -public class GeneratedFunctions { - public interface MeosLibraryPartA { - - Pointer meos_array_create(int elem_size); - - void meos_array_add(Pointer array, Pointer value); - - Pointer meos_array_get(Pointer array, int n); - - int meos_array_count(Pointer array); - - void meos_array_reset(Pointer array); - - void meos_array_reset_free(Pointer array); - - void meos_array_destroy(Pointer array); - - void meos_array_destroy_free(Pointer array); - - Pointer rtree_create_intspan(); - - Pointer rtree_create_bigintspan(); - - Pointer rtree_create_floatspan(); - - Pointer rtree_create_datespan(); - - Pointer rtree_create_tstzspan(); - - Pointer rtree_create_tbox(); - - Pointer rtree_create_stbox(); - - void rtree_free(Pointer rtree); - - void rtree_insert(Pointer rtree, Pointer box, int id); - - void rtree_insert_temporal(Pointer rtree, Pointer temp, int id); - - int rtree_search(Pointer rtree, int op, Pointer query, Pointer result); - - int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result); - - void meos_error(int errlevel, int errcode, String format); - - int meos_errno(); - - int meos_errno_set(int err); - - int meos_errno_restore(int err); - - int meos_errno_reset(); - - void meos_initialize_timezone(String name); - - void meos_initialize_error_handler(error_handler_fn err_handler); - - void meos_finalize_timezone(); - - void meos_finalize_projsrs(); - - void meos_finalize_ways(); - - boolean meos_set_datestyle(String newval, Pointer extra); - - boolean meos_set_intervalstyle(String newval, int extra); - - String meos_get_datestyle(); - - String meos_get_intervalstyle(); - - void meos_set_spatial_ref_sys_csv(String path); - - void meos_initialize(); - - void meos_finalize(); - - int add_date_int(int d, int days); - - Pointer add_interval_interval(Pointer interv1, Pointer interv2); - - long add_timestamptz_interval(long t, Pointer interv); - - boolean bool_in(String str); - - String bool_out(boolean b); - - Pointer cstring2text(String str); - - long date_to_timestamp(int dateVal); - - long date_to_timestamptz(int d); - - double float_exp(double d); - - double float_ln(double d); - - double float_log10(double d); - - String float8_out(double d, int maxdd); - - double float_round(double d, int maxdd); - - int int32_cmp(int l, int r); - - int int64_cmp(long l, long r); - - Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs); - - int minus_date_date(int d1, int d2); - - int minus_date_int(int d, int days); - - long minus_timestamptz_interval(long t, Pointer interv); - - Pointer minus_timestamptz_timestamptz(long t1, long t2); - - Pointer mul_interval_double(Pointer interv, double factor); - - int pg_date_in(String str); - - String pg_date_out(int d); - - int pg_interval_cmp(Pointer interv1, Pointer interv2); - - Pointer pg_interval_in(String str, int typmod); - - String pg_interval_out(Pointer interv); - - long pg_timestamp_in(String str, int typmod); - - String pg_timestamp_out(long t); - - long pg_timestamptz_in(String str, int typmod); - - String pg_timestamptz_out(long t); - - String text2cstring(Pointer txt); - - int text_cmp(Pointer txt1, Pointer txt2); - - Pointer text_copy(Pointer txt); - - Pointer text_in(String str); - - Pointer text_initcap(Pointer txt); - - Pointer text_lower(Pointer txt); - - String text_out(Pointer txt); - - Pointer text_upper(Pointer txt); - - Pointer textcat_text_text(Pointer txt1, Pointer txt2); - - long timestamptz_shift(long t, Pointer interv); - - int timestamp_to_date(long t); - - int timestamptz_to_date(long t); - - Pointer bigintset_in(String str); - - String bigintset_out(Pointer set); - - Pointer bigintspan_expand(Pointer s, long value); - - Pointer bigintspan_in(String str); - - String bigintspan_out(Pointer s); - - Pointer bigintspanset_in(String str); - - String bigintspanset_out(Pointer ss); - - Pointer dateset_in(String str); - - String dateset_out(Pointer s); - - Pointer datespan_in(String str); - - String datespan_out(Pointer s); - - Pointer datespanset_in(String str); - - String datespanset_out(Pointer ss); - - Pointer floatset_in(String str); - - String floatset_out(Pointer set, int maxdd); - - Pointer floatspan_expand(Pointer s, double value); - - Pointer floatspan_in(String str); - - String floatspan_out(Pointer s, int maxdd); - - Pointer floatspanset_in(String str); - - String floatspanset_out(Pointer ss, int maxdd); - - Pointer intset_in(String str); - - String intset_out(Pointer set); - - Pointer intspan_expand(Pointer s, int value); - - Pointer intspan_in(String str); - - String intspan_out(Pointer s); - - Pointer intspanset_in(String str); - - String intspanset_out(Pointer ss); - - String set_as_hexwkb(Pointer s, byte variant, Pointer size_out); - - Pointer set_as_wkb(Pointer s, byte variant, Pointer size_out); - - Pointer set_from_hexwkb(String hexwkb); - - Pointer set_from_wkb(Pointer wkb, long size); - - String span_as_hexwkb(Pointer s, byte variant, Pointer size_out); - - Pointer span_as_wkb(Pointer s, byte variant, Pointer size_out); - - Pointer span_from_hexwkb(String hexwkb); - - Pointer span_from_wkb(Pointer wkb, long size); - - String spanset_as_hexwkb(Pointer ss, byte variant, Pointer size_out); - - Pointer spanset_as_wkb(Pointer ss, byte variant, Pointer size_out); - - Pointer spanset_from_hexwkb(String hexwkb); - - Pointer spanset_from_wkb(Pointer wkb, long size); - - Pointer textset_in(String str); - - String textset_out(Pointer set); - - Pointer tstzset_in(String str); - - String tstzset_out(Pointer set); - - Pointer tstzspan_in(String str); - - String tstzspan_out(Pointer s); - - Pointer tstzspanset_in(String str); - - String tstzspanset_out(Pointer ss); - - Pointer bigintset_make(Pointer values, int count); - - Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); - - Pointer dateset_make(Pointer values, int count); - - Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); - - Pointer floatset_make(Pointer values, int count); - - Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc); - - Pointer intset_make(Pointer values, int count); - - Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); - - Pointer set_copy(Pointer s); - - Pointer span_copy(Pointer s); - - Pointer spanset_copy(Pointer ss); - - Pointer spanset_make(Pointer spans, int count); - - Pointer textset_make(Pointer values, int count); - - Pointer tstzset_make(Pointer values, int count); - - Pointer tstzspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); - - Pointer bigint_to_set(long i); - - Pointer bigint_to_span(long i); - - Pointer bigint_to_spanset(long i); - - Pointer bigintspan_to_intspan(Pointer s); - - Pointer bigintspan_to_floatspan(Pointer s); - - Pointer date_to_set(int d); - - Pointer date_to_span(int d); - - Pointer date_to_spanset(int d); - - Pointer dateset_to_tstzset(Pointer s); - - Pointer datespan_to_tstzspan(Pointer s); - - Pointer datespanset_to_tstzspanset(Pointer ss); - - Pointer float_to_set(double d); - - Pointer float_to_span(double d); - - Pointer float_to_spanset(double d); - - Pointer floatset_to_intset(Pointer s); - - Pointer floatspan_to_bigintspan(Pointer s); - - Pointer floatspan_to_intspan(Pointer s); - - Pointer floatspanset_to_intspanset(Pointer ss); - - Pointer int_to_set(int i); - - Pointer int_to_span(int i); - - Pointer int_to_spanset(int i); - - Pointer intset_to_floatset(Pointer s); - - Pointer intspan_to_bigintspan(Pointer s); - - Pointer intspan_to_floatspan(Pointer s); - - Pointer intspanset_to_floatspanset(Pointer ss); - - Pointer set_to_span(Pointer s); - - Pointer set_to_spanset(Pointer s); - - Pointer span_to_spanset(Pointer s); - - Pointer text_to_set(Pointer txt); - - Pointer timestamptz_to_set(long t); - - Pointer timestamptz_to_span(long t); - - Pointer timestamptz_to_spanset(long t); - - Pointer tstzset_to_dateset(Pointer s); - - Pointer tstzspan_to_datespan(Pointer s); - - Pointer tstzspanset_to_datespanset(Pointer ss); - - long bigintset_end_value(Pointer s); - - long bigintset_start_value(Pointer s); - - boolean bigintset_value_n(Pointer s, int n, Pointer result); - - Pointer bigintset_values(Pointer s); - - long bigintspan_lower(Pointer s); - - long bigintspan_upper(Pointer s); - - long bigintspan_width(Pointer s); - - long bigintspanset_lower(Pointer ss); - - long bigintspanset_upper(Pointer ss); - - long bigintspanset_width(Pointer ss, boolean boundspan); - - int dateset_end_value(Pointer s); - - int dateset_start_value(Pointer s); - - boolean dateset_value_n(Pointer s, int n, Pointer result); - - Pointer dateset_values(Pointer s); - - Pointer datespan_duration(Pointer s); - - int datespan_lower(Pointer s); - - int datespan_upper(Pointer s); - - boolean datespanset_date_n(Pointer ss, int n, Pointer result); - - Pointer datespanset_dates(Pointer ss); - - Pointer datespanset_duration(Pointer ss, boolean boundspan); - - int datespanset_end_date(Pointer ss); - - int datespanset_num_dates(Pointer ss); - - int datespanset_start_date(Pointer ss); - - double floatset_end_value(Pointer s); - - double floatset_start_value(Pointer s); - - boolean floatset_value_n(Pointer s, int n, Pointer result); - - Pointer floatset_values(Pointer s); - - double floatspan_lower(Pointer s); - - double floatspan_upper(Pointer s); - - double floatspan_width(Pointer s); - - double floatspanset_lower(Pointer ss); - - double floatspanset_upper(Pointer ss); - - double floatspanset_width(Pointer ss, boolean boundspan); - - int intset_end_value(Pointer s); - - int intset_start_value(Pointer s); - - boolean intset_value_n(Pointer s, int n, Pointer result); - - Pointer intset_values(Pointer s); - - int intspan_lower(Pointer s); - - int intspan_upper(Pointer s); - - int intspan_width(Pointer s); - - int intspanset_lower(Pointer ss); - - int intspanset_upper(Pointer ss); - - int intspanset_width(Pointer ss, boolean boundspan); - - int set_hash(Pointer s); - - long set_hash_extended(Pointer s, long seed); - - int set_num_values(Pointer s); - - int span_hash(Pointer s); - - long span_hash_extended(Pointer s, long seed); - - boolean span_lower_inc(Pointer s); - - boolean span_upper_inc(Pointer s); - - Pointer spanset_end_span(Pointer ss); - - int spanset_hash(Pointer ss); - - long spanset_hash_extended(Pointer ss, long seed); - - boolean spanset_lower_inc(Pointer ss); - - int spanset_num_spans(Pointer ss); - - Pointer spanset_span(Pointer ss); - - Pointer spanset_span_n(Pointer ss, int i); - - Pointer spanset_spanarr(Pointer ss); - - Pointer spanset_start_span(Pointer ss); - - boolean spanset_upper_inc(Pointer ss); - - Pointer textset_end_value(Pointer s); - - Pointer textset_start_value(Pointer s); - - boolean textset_value_n(Pointer s, int n, Pointer result); - - Pointer textset_values(Pointer s); - - long tstzset_end_value(Pointer s); - - long tstzset_start_value(Pointer s); - - boolean tstzset_value_n(Pointer s, int n, Pointer result); - - Pointer tstzset_values(Pointer s); - - Pointer tstzspan_duration(Pointer s); - - long tstzspan_lower(Pointer s); - - long tstzspan_upper(Pointer s); - - Pointer tstzspanset_duration(Pointer ss, boolean boundspan); - - long tstzspanset_end_timestamptz(Pointer ss); - - long tstzspanset_lower(Pointer ss); - - int tstzspanset_num_timestamps(Pointer ss); - - long tstzspanset_start_timestamptz(Pointer ss); - - Pointer tstzspanset_timestamps(Pointer ss); - - boolean tstzspanset_timestamptz_n(Pointer ss, int n, Pointer result); - - long tstzspanset_upper(Pointer ss); - - Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer bigintspan_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer datespan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer floatset_ceil(Pointer s); - - Pointer floatset_degrees(Pointer s, boolean normalize); - - Pointer floatset_floor(Pointer s); - - Pointer floatset_radians(Pointer s); - - Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer floatspan_ceil(Pointer s); - - Pointer floatspan_degrees(Pointer s, boolean normalize); - - Pointer floatspan_floor(Pointer s); - - Pointer floatspan_radians(Pointer s); - - Pointer floatspan_round(Pointer s, int maxdd); - - Pointer floatspan_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer floatspanset_ceil(Pointer ss); - - Pointer floatspanset_floor(Pointer ss); - - Pointer floatspanset_degrees(Pointer ss, boolean normalize); - - Pointer floatspanset_radians(Pointer ss); - - Pointer floatspanset_round(Pointer ss, int maxdd); - - Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer intspan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer tstzspan_expand(Pointer s, Pointer interv); - - Pointer set_round(Pointer s, int maxdd); - - Pointer textcat_text_textset(Pointer txt, Pointer s); - - Pointer textcat_textset_text(Pointer s, Pointer txt); - - Pointer textset_initcap(Pointer s); - - Pointer textset_lower(Pointer s); - - Pointer textset_upper(Pointer s); - - long timestamptz_tprecision(long t, Pointer duration, long torigin); - - Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration); - - Pointer tstzset_tprecision(Pointer s, Pointer duration, long torigin); - - Pointer tstzspan_shift_scale(Pointer s, Pointer shift, Pointer duration); - - Pointer tstzspan_tprecision(Pointer s, Pointer duration, long torigin); - - Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration); - - Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, long torigin); - - int set_cmp(Pointer s1, Pointer s2); - - boolean set_eq(Pointer s1, Pointer s2); - - boolean set_ge(Pointer s1, Pointer s2); - - boolean set_gt(Pointer s1, Pointer s2); - - boolean set_le(Pointer s1, Pointer s2); - - boolean set_lt(Pointer s1, Pointer s2); - - boolean set_ne(Pointer s1, Pointer s2); - - int span_cmp(Pointer s1, Pointer s2); - - boolean span_eq(Pointer s1, Pointer s2); - - boolean span_ge(Pointer s1, Pointer s2); - - boolean span_gt(Pointer s1, Pointer s2); - - boolean span_le(Pointer s1, Pointer s2); - - boolean span_lt(Pointer s1, Pointer s2); - - boolean span_ne(Pointer s1, Pointer s2); - - int spanset_cmp(Pointer ss1, Pointer ss2); - - boolean spanset_eq(Pointer ss1, Pointer ss2); - - boolean spanset_ge(Pointer ss1, Pointer ss2); - - boolean spanset_gt(Pointer ss1, Pointer ss2); - - boolean spanset_le(Pointer ss1, Pointer ss2); - - boolean spanset_lt(Pointer ss1, Pointer ss2); - - boolean spanset_ne(Pointer ss1, Pointer ss2); - - Pointer set_spans(Pointer s); - - Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count); - - Pointer set_split_n_spans(Pointer s, int span_count, Pointer count); - - Pointer spanset_spans(Pointer ss); - - Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count); - - Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count); - - boolean adjacent_span_bigint(Pointer s, long i); - - boolean adjacent_span_date(Pointer s, int d); - - boolean adjacent_span_float(Pointer s, double d); - - boolean adjacent_span_int(Pointer s, int i); - - boolean adjacent_span_span(Pointer s1, Pointer s2); - - boolean adjacent_span_spanset(Pointer s, Pointer ss); - - boolean adjacent_span_timestamptz(Pointer s, long t); - - boolean adjacent_spanset_bigint(Pointer ss, long i); - - boolean adjacent_spanset_date(Pointer ss, int d); - - boolean adjacent_spanset_float(Pointer ss, double d); - - boolean adjacent_spanset_int(Pointer ss, int i); - - boolean adjacent_spanset_timestamptz(Pointer ss, long t); - - boolean adjacent_spanset_span(Pointer ss, Pointer s); - - boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contained_bigint_set(long i, Pointer s); - - boolean contained_bigint_span(long i, Pointer s); - - boolean contained_bigint_spanset(long i, Pointer ss); - - boolean contained_date_set(int d, Pointer s); - - boolean contained_date_span(int d, Pointer s); - - boolean contained_date_spanset(int d, Pointer ss); - - boolean contained_float_set(double d, Pointer s); - - boolean contained_float_span(double d, Pointer s); - - boolean contained_float_spanset(double d, Pointer ss); - - boolean contained_int_set(int i, Pointer s); - - boolean contained_int_span(int i, Pointer s); - - boolean contained_int_spanset(int i, Pointer ss); - - boolean contained_set_set(Pointer s1, Pointer s2); - - boolean contained_span_span(Pointer s1, Pointer s2); - - boolean contained_span_spanset(Pointer s, Pointer ss); - - boolean contained_spanset_span(Pointer ss, Pointer s); - - boolean contained_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contained_text_set(Pointer txt, Pointer s); - - boolean contained_timestamptz_set(long t, Pointer s); - - boolean contained_timestamptz_span(long t, Pointer s); - - boolean contained_timestamptz_spanset(long t, Pointer ss); - - boolean contains_set_bigint(Pointer s, long i); - - boolean contains_set_date(Pointer s, int d); - - boolean contains_set_float(Pointer s, double d); - - boolean contains_set_int(Pointer s, int i); - - boolean contains_set_set(Pointer s1, Pointer s2); - - boolean contains_set_text(Pointer s, Pointer t); - - boolean contains_set_timestamptz(Pointer s, long t); - - boolean contains_span_bigint(Pointer s, long i); - - boolean contains_span_date(Pointer s, int d); - - boolean contains_span_float(Pointer s, double d); - - boolean contains_span_int(Pointer s, int i); - - boolean contains_span_span(Pointer s1, Pointer s2); - - boolean contains_span_spanset(Pointer s, Pointer ss); - - boolean contains_span_timestamptz(Pointer s, long t); - - boolean contains_spanset_bigint(Pointer ss, long i); - - boolean contains_spanset_date(Pointer ss, int d); - - boolean contains_spanset_float(Pointer ss, double d); - - boolean contains_spanset_int(Pointer ss, int i); - - boolean contains_spanset_span(Pointer ss, Pointer s); - - boolean contains_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contains_spanset_timestamptz(Pointer ss, long t); - - boolean overlaps_set_set(Pointer s1, Pointer s2); - - boolean overlaps_span_span(Pointer s1, Pointer s2); - - boolean overlaps_span_spanset(Pointer s, Pointer ss); - - boolean overlaps_spanset_span(Pointer ss, Pointer s); - - boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean after_date_set(int d, Pointer s); - - boolean after_date_span(int d, Pointer s); - - boolean after_date_spanset(int d, Pointer ss); - - boolean after_set_date(Pointer s, int d); - - boolean after_set_timestamptz(Pointer s, long t); - - boolean after_span_date(Pointer s, int d); - - boolean after_span_timestamptz(Pointer s, long t); - - boolean after_spanset_date(Pointer ss, int d); - - boolean after_spanset_timestamptz(Pointer ss, long t); - - boolean after_timestamptz_set(long t, Pointer s); - - boolean after_timestamptz_span(long t, Pointer s); - - boolean after_timestamptz_spanset(long t, Pointer ss); - - boolean before_date_set(int d, Pointer s); - - boolean before_date_span(int d, Pointer s); - - boolean before_date_spanset(int d, Pointer ss); - - boolean before_set_date(Pointer s, int d); - - boolean before_set_timestamptz(Pointer s, long t); - - boolean before_span_date(Pointer s, int d); - - boolean before_span_timestamptz(Pointer s, long t); - - boolean before_spanset_date(Pointer ss, int d); - - boolean before_spanset_timestamptz(Pointer ss, long t); - - boolean before_timestamptz_set(long t, Pointer s); - - boolean before_timestamptz_span(long t, Pointer s); - - boolean before_timestamptz_spanset(long t, Pointer ss); - - boolean left_bigint_set(long i, Pointer s); - - boolean left_bigint_span(long i, Pointer s); - - boolean left_bigint_spanset(long i, Pointer ss); - - boolean left_float_set(double d, Pointer s); - - boolean left_float_span(double d, Pointer s); - - boolean left_float_spanset(double d, Pointer ss); - - boolean left_int_set(int i, Pointer s); - - boolean left_int_span(int i, Pointer s); - - boolean left_int_spanset(int i, Pointer ss); - - boolean left_set_bigint(Pointer s, long i); - - boolean left_set_float(Pointer s, double d); - - boolean left_set_int(Pointer s, int i); - - boolean left_set_set(Pointer s1, Pointer s2); - - boolean left_set_text(Pointer s, Pointer txt); - - boolean left_span_bigint(Pointer s, long i); - - boolean left_span_float(Pointer s, double d); - - boolean left_span_int(Pointer s, int i); - - boolean left_span_span(Pointer s1, Pointer s2); - - boolean left_span_spanset(Pointer s, Pointer ss); - - boolean left_spanset_bigint(Pointer ss, long i); - - boolean left_spanset_float(Pointer ss, double d); - - boolean left_spanset_int(Pointer ss, int i); - - boolean left_spanset_span(Pointer ss, Pointer s); - - boolean left_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean left_text_set(Pointer txt, Pointer s); - - boolean overafter_date_set(int d, Pointer s); - - boolean overafter_date_span(int d, Pointer s); - - boolean overafter_date_spanset(int d, Pointer ss); - - boolean overafter_set_date(Pointer s, int d); - - boolean overafter_set_timestamptz(Pointer s, long t); - - boolean overafter_span_date(Pointer s, int d); - - boolean overafter_span_timestamptz(Pointer s, long t); - - boolean overafter_spanset_date(Pointer ss, int d); - - boolean overafter_spanset_timestamptz(Pointer ss, long t); - - boolean overafter_timestamptz_set(long t, Pointer s); - - boolean overafter_timestamptz_span(long t, Pointer s); - - boolean overafter_timestamptz_spanset(long t, Pointer ss); - - boolean overbefore_date_set(int d, Pointer s); - - boolean overbefore_date_span(int d, Pointer s); - - boolean overbefore_date_spanset(int d, Pointer ss); - - boolean overbefore_set_date(Pointer s, int d); - - boolean overbefore_set_timestamptz(Pointer s, long t); - - boolean overbefore_span_date(Pointer s, int d); - - boolean overbefore_span_timestamptz(Pointer s, long t); - - boolean overbefore_spanset_date(Pointer ss, int d); - - boolean overbefore_spanset_timestamptz(Pointer ss, long t); - - boolean overbefore_timestamptz_set(long t, Pointer s); - - boolean overbefore_timestamptz_span(long t, Pointer s); - - boolean overbefore_timestamptz_spanset(long t, Pointer ss); - - boolean overleft_bigint_set(long i, Pointer s); - - boolean overleft_bigint_span(long i, Pointer s); - - boolean overleft_bigint_spanset(long i, Pointer ss); - - boolean overleft_float_set(double d, Pointer s); - - boolean overleft_float_span(double d, Pointer s); - - boolean overleft_float_spanset(double d, Pointer ss); - - boolean overleft_int_set(int i, Pointer s); - - boolean overleft_int_span(int i, Pointer s); - - boolean overleft_int_spanset(int i, Pointer ss); - - boolean overleft_set_bigint(Pointer s, long i); - - boolean overleft_set_float(Pointer s, double d); - - boolean overleft_set_int(Pointer s, int i); - - boolean overleft_set_set(Pointer s1, Pointer s2); - - boolean overleft_set_text(Pointer s, Pointer txt); - - boolean overleft_span_bigint(Pointer s, long i); - - boolean overleft_span_float(Pointer s, double d); - - boolean overleft_span_int(Pointer s, int i); - - boolean overleft_span_span(Pointer s1, Pointer s2); - - boolean overleft_span_spanset(Pointer s, Pointer ss); - - boolean overleft_spanset_bigint(Pointer ss, long i); - - boolean overleft_spanset_float(Pointer ss, double d); - - boolean overleft_spanset_int(Pointer ss, int i); - - boolean overleft_spanset_span(Pointer ss, Pointer s); - - boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean overleft_text_set(Pointer txt, Pointer s); - - boolean overright_bigint_set(long i, Pointer s); - - boolean overright_bigint_span(long i, Pointer s); - - boolean overright_bigint_spanset(long i, Pointer ss); - - boolean overright_float_set(double d, Pointer s); - - boolean overright_float_span(double d, Pointer s); - - boolean overright_float_spanset(double d, Pointer ss); - - boolean overright_int_set(int i, Pointer s); - - boolean overright_int_span(int i, Pointer s); - - boolean overright_int_spanset(int i, Pointer ss); - - boolean overright_set_bigint(Pointer s, long i); - - boolean overright_set_float(Pointer s, double d); - - boolean overright_set_int(Pointer s, int i); - - boolean overright_set_set(Pointer s1, Pointer s2); - - boolean overright_set_text(Pointer s, Pointer txt); - - boolean overright_span_bigint(Pointer s, long i); - - boolean overright_span_float(Pointer s, double d); - - boolean overright_span_int(Pointer s, int i); - - boolean overright_span_span(Pointer s1, Pointer s2); - - boolean overright_span_spanset(Pointer s, Pointer ss); - - boolean overright_spanset_bigint(Pointer ss, long i); - - boolean overright_spanset_float(Pointer ss, double d); - - boolean overright_spanset_int(Pointer ss, int i); - - boolean overright_spanset_span(Pointer ss, Pointer s); - - boolean overright_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean overright_text_set(Pointer txt, Pointer s); - - boolean right_bigint_set(long i, Pointer s); - - boolean right_bigint_span(long i, Pointer s); - - boolean right_bigint_spanset(long i, Pointer ss); - - boolean right_float_set(double d, Pointer s); - - boolean right_float_span(double d, Pointer s); - - boolean right_float_spanset(double d, Pointer ss); - - boolean right_int_set(int i, Pointer s); - - boolean right_int_span(int i, Pointer s); - - boolean right_int_spanset(int i, Pointer ss); - - boolean right_set_bigint(Pointer s, long i); - - boolean right_set_float(Pointer s, double d); - - boolean right_set_int(Pointer s, int i); - - boolean right_set_set(Pointer s1, Pointer s2); - - boolean right_set_text(Pointer s, Pointer txt); - - boolean right_span_bigint(Pointer s, long i); - - boolean right_span_float(Pointer s, double d); - - boolean right_span_int(Pointer s, int i); - - boolean right_span_span(Pointer s1, Pointer s2); - - boolean right_span_spanset(Pointer s, Pointer ss); - - boolean right_spanset_bigint(Pointer ss, long i); - - boolean right_spanset_float(Pointer ss, double d); - - boolean right_spanset_int(Pointer ss, int i); - - boolean right_spanset_span(Pointer ss, Pointer s); - - boolean right_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean right_text_set(Pointer txt, Pointer s); - - Pointer intersection_bigint_set(long i, Pointer s); - - Pointer intersection_date_set(int d, Pointer s); - - Pointer intersection_float_set(double d, Pointer s); - - Pointer intersection_int_set(int i, Pointer s); - - Pointer intersection_set_bigint(Pointer s, long i); - - Pointer intersection_set_date(Pointer s, int d); - - Pointer intersection_set_float(Pointer s, double d); - - Pointer intersection_set_int(Pointer s, int i); - - Pointer intersection_set_set(Pointer s1, Pointer s2); - - Pointer intersection_set_text(Pointer s, Pointer txt); - - Pointer intersection_set_timestamptz(Pointer s, long t); - - Pointer intersection_span_bigint(Pointer s, long i); - - Pointer intersection_span_date(Pointer s, int d); - - Pointer intersection_span_float(Pointer s, double d); - - Pointer intersection_span_int(Pointer s, int i); - - Pointer intersection_span_span(Pointer s1, Pointer s2); - - Pointer intersection_span_spanset(Pointer s, Pointer ss); - - Pointer intersection_span_timestamptz(Pointer s, long t); - - Pointer intersection_spanset_bigint(Pointer ss, long i); - - Pointer intersection_spanset_date(Pointer ss, int d); - - Pointer intersection_spanset_float(Pointer ss, double d); - - Pointer intersection_spanset_int(Pointer ss, int i); - - Pointer intersection_spanset_span(Pointer ss, Pointer s); - - Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer intersection_spanset_timestamptz(Pointer ss, long t); - - Pointer intersection_text_set(Pointer txt, Pointer s); - - Pointer intersection_timestamptz_set(long t, Pointer s); - - Pointer minus_bigint_set(long i, Pointer s); - - Pointer minus_bigint_span(long i, Pointer s); - - Pointer minus_bigint_spanset(long i, Pointer ss); - - Pointer minus_date_set(int d, Pointer s); - - Pointer minus_date_span(int d, Pointer s); - - Pointer minus_date_spanset(int d, Pointer ss); - - Pointer minus_float_set(double d, Pointer s); - - Pointer minus_float_span(double d, Pointer s); - - Pointer minus_float_spanset(double d, Pointer ss); - - Pointer minus_int_set(int i, Pointer s); - - Pointer minus_int_span(int i, Pointer s); - - Pointer minus_int_spanset(int i, Pointer ss); - - Pointer minus_set_bigint(Pointer s, long i); - - Pointer minus_set_date(Pointer s, int d); - - Pointer minus_set_float(Pointer s, double d); - - Pointer minus_set_int(Pointer s, int i); - - Pointer minus_set_set(Pointer s1, Pointer s2); - - Pointer minus_set_text(Pointer s, Pointer txt); - - Pointer minus_set_timestamptz(Pointer s, long t); - - Pointer minus_span_bigint(Pointer s, long i); - - Pointer minus_span_date(Pointer s, int d); - - Pointer minus_span_float(Pointer s, double d); - - Pointer minus_span_int(Pointer s, int i); - - Pointer minus_span_span(Pointer s1, Pointer s2); - - Pointer minus_span_spanset(Pointer s, Pointer ss); - - Pointer minus_span_timestamptz(Pointer s, long t); - - Pointer minus_spanset_bigint(Pointer ss, long i); - - Pointer minus_spanset_date(Pointer ss, int d); - - Pointer minus_spanset_float(Pointer ss, double d); - - Pointer minus_spanset_int(Pointer ss, int i); - - Pointer minus_spanset_span(Pointer ss, Pointer s); - - Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer minus_spanset_timestamptz(Pointer ss, long t); - - Pointer minus_text_set(Pointer txt, Pointer s); - - Pointer minus_timestamptz_set(long t, Pointer s); - - Pointer minus_timestamptz_span(long t, Pointer s); - - Pointer minus_timestamptz_spanset(long t, Pointer ss); - - Pointer union_bigint_set(long i, Pointer s); - - Pointer union_bigint_span(Pointer s, long i); - - Pointer union_bigint_spanset(long i, Pointer ss); - - Pointer union_date_set(int d, Pointer s); - - Pointer union_date_span(Pointer s, int d); - - Pointer union_date_spanset(int d, Pointer ss); - - Pointer union_float_set(double d, Pointer s); - - Pointer union_float_span(Pointer s, double d); - - Pointer union_float_spanset(double d, Pointer ss); - - Pointer union_int_set(int i, Pointer s); - - Pointer union_int_span(int i, Pointer s); - - Pointer union_int_spanset(int i, Pointer ss); - - Pointer union_set_bigint(Pointer s, long i); - - Pointer union_set_date(Pointer s, int d); - - Pointer union_set_float(Pointer s, double d); - - Pointer union_set_int(Pointer s, int i); - - Pointer union_set_set(Pointer s1, Pointer s2); - - Pointer union_set_text(Pointer s, Pointer txt); - - Pointer union_set_timestamptz(Pointer s, long t); - - Pointer union_span_bigint(Pointer s, long i); - - Pointer union_span_date(Pointer s, int d); - - Pointer union_span_float(Pointer s, double d); - - Pointer union_span_int(Pointer s, int i); - - Pointer union_span_span(Pointer s1, Pointer s2); - - Pointer union_span_spanset(Pointer s, Pointer ss); - - Pointer union_span_timestamptz(Pointer s, long t); - - Pointer union_spanset_bigint(Pointer ss, long i); - - Pointer union_spanset_date(Pointer ss, int d); - - Pointer union_spanset_float(Pointer ss, double d); - - Pointer union_spanset_int(Pointer ss, int i); - - Pointer union_spanset_span(Pointer ss, Pointer s); - - Pointer union_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer union_spanset_timestamptz(Pointer ss, long t); - - Pointer union_text_set(Pointer txt, Pointer s); - - Pointer union_timestamptz_set(long t, Pointer s); - - Pointer union_timestamptz_span(long t, Pointer s); - - Pointer union_timestamptz_spanset(long t, Pointer ss); - - long distance_bigintset_bigintset(Pointer s1, Pointer s2); - - long distance_bigintspan_bigintspan(Pointer s1, Pointer s2); - - long distance_bigintspanset_bigintspan(Pointer ss, Pointer s); - - long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2); - - int distance_dateset_dateset(Pointer s1, Pointer s2); - - int distance_datespan_datespan(Pointer s1, Pointer s2); - - int distance_datespanset_datespan(Pointer ss, Pointer s); - - int distance_datespanset_datespanset(Pointer ss1, Pointer ss2); - - double distance_floatset_floatset(Pointer s1, Pointer s2); - - double distance_floatspan_floatspan(Pointer s1, Pointer s2); - - double distance_floatspanset_floatspan(Pointer ss, Pointer s); - - double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2); - - int distance_intset_intset(Pointer s1, Pointer s2); - - int distance_intspan_intspan(Pointer s1, Pointer s2); - - int distance_intspanset_intspan(Pointer ss, Pointer s); - - int distance_intspanset_intspanset(Pointer ss1, Pointer ss2); - - long distance_set_bigint(Pointer s, long i); - - int distance_set_date(Pointer s, int d); - - double distance_set_float(Pointer s, double d); - - int distance_set_int(Pointer s, int i); - - double distance_set_timestamptz(Pointer s, long t); - - long distance_span_bigint(Pointer s, long i); - - int distance_span_date(Pointer s, int d); - - double distance_span_float(Pointer s, double d); - - int distance_span_int(Pointer s, int i); - - double distance_span_timestamptz(Pointer s, long t); - - long distance_spanset_bigint(Pointer ss, long i); - - int distance_spanset_date(Pointer ss, int d); - - double distance_spanset_float(Pointer ss, double d); - - int distance_spanset_int(Pointer ss, int i); - - double distance_spanset_timestamptz(Pointer ss, long t); - - double distance_tstzset_tstzset(Pointer s1, Pointer s2); - - double distance_tstzspan_tstzspan(Pointer s1, Pointer s2); - - double distance_tstzspanset_tstzspan(Pointer ss, Pointer s); - - double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2); - - Pointer bigint_extent_transfn(Pointer state, long i); - - Pointer bigint_union_transfn(Pointer state, long i); - - Pointer date_extent_transfn(Pointer state, int d); - - Pointer date_union_transfn(Pointer state, int d); - - Pointer float_extent_transfn(Pointer state, double d); - - Pointer float_union_transfn(Pointer state, double d); - - Pointer int_extent_transfn(Pointer state, int i); - - Pointer int_union_transfn(Pointer state, int i); - - Pointer set_extent_transfn(Pointer state, Pointer s); - - Pointer set_union_finalfn(Pointer state); - - Pointer set_union_transfn(Pointer state, Pointer s); - - Pointer span_extent_transfn(Pointer state, Pointer s); - - Pointer span_union_transfn(Pointer state, Pointer s); - - Pointer spanset_extent_transfn(Pointer state, Pointer ss); - - Pointer spanset_union_finalfn(Pointer state); - - Pointer spanset_union_transfn(Pointer state, Pointer ss); - - Pointer text_union_transfn(Pointer state, Pointer txt); - - Pointer timestamptz_extent_transfn(Pointer state, long t); - - Pointer timestamptz_union_transfn(Pointer state, long t); - - long bigint_get_bin(long value, long vsize, long vorigin); - - Pointer bigintspan_bins(Pointer s, long vsize, long vorigin, Pointer count); - - Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count); - - int date_get_bin(int d, Pointer duration, int torigin); - - Pointer datespan_bins(Pointer s, Pointer duration, int torigin, Pointer count); - - Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count); - - double float_get_bin(double value, double vsize, double vorigin); - - Pointer floatspan_bins(Pointer s, double vsize, double vorigin, Pointer count); - - Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count); - - int int_get_bin(int value, int vsize, int vorigin); - - Pointer intspan_bins(Pointer s, int vsize, int vorigin, Pointer count); - - Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count); - - long timestamptz_get_bin(long t, Pointer duration, long torigin); - - Pointer tstzspan_bins(Pointer s, Pointer duration, long origin, Pointer count); - - Pointer tstzspanset_bins(Pointer ss, Pointer duration, long torigin, Pointer count); - - String tbox_as_hexwkb(Pointer box, byte variant, Pointer size); - - Pointer tbox_as_wkb(Pointer box, byte variant, Pointer size_out); - - Pointer tbox_from_hexwkb(String hexwkb); - - Pointer tbox_from_wkb(Pointer wkb, long size); - - Pointer tbox_in(String str); - - String tbox_out(Pointer box, int maxdd); - - Pointer float_timestamptz_to_tbox(double d, long t); - - Pointer float_tstzspan_to_tbox(double d, Pointer s); - - Pointer int_timestamptz_to_tbox(int i, long t); - - Pointer int_tstzspan_to_tbox(int i, Pointer s); - - Pointer numspan_tstzspan_to_tbox(Pointer span, Pointer s); - - Pointer numspan_timestamptz_to_tbox(Pointer span, long t); - - Pointer tbox_copy(Pointer box); - - Pointer tbox_make(Pointer s, Pointer p); - - Pointer float_to_tbox(double d); - - Pointer int_to_tbox(int i); - - Pointer set_to_tbox(Pointer s); - - Pointer span_to_tbox(Pointer s); - - Pointer spanset_to_tbox(Pointer ss); - - Pointer tbox_to_bigintspan(Pointer box); - - Pointer tbox_to_intspan(Pointer box); - - Pointer tbox_to_floatspan(Pointer box); - - Pointer tbox_to_tstzspan(Pointer box); - - Pointer timestamptz_to_tbox(long t); - - int tbox_hash(Pointer box); - - long tbox_hash_extended(Pointer box, long seed); - - boolean tbox_hast(Pointer box); - - boolean tbox_hasx(Pointer box); - - } - - public interface MeosLibraryPartB { - - boolean tbox_tmax(Pointer box, Pointer result); - - boolean tbox_tmax_inc(Pointer box, Pointer result); - - boolean tbox_tmin(Pointer box, Pointer result); - - boolean tbox_tmin_inc(Pointer box, Pointer result); - - boolean tbox_xmax(Pointer box, Pointer result); - - boolean tbox_xmax_inc(Pointer box, Pointer result); - - boolean tbox_xmin(Pointer box, Pointer result); - - boolean tbox_xmin_inc(Pointer box, Pointer result); - - boolean tboxfloat_xmax(Pointer box, Pointer result); - - boolean tboxfloat_xmin(Pointer box, Pointer result); - - boolean tboxint_xmax(Pointer box, Pointer result); - - boolean tboxint_xmin(Pointer box, Pointer result); - - Pointer tbigintbox_expand(Pointer box, long i); - - Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer tbox_expand_time(Pointer box, Pointer interv); - - Pointer tbox_round(Pointer box, int maxdd); - - Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); - - Pointer tfloatbox_expand(Pointer box, double d); - - Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer tintbox_expand(Pointer box, int i); - - Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict); - - Pointer intersection_tbox_tbox(Pointer box1, Pointer box2); - - boolean adjacent_tbox_tbox(Pointer box1, Pointer box2); - - boolean contained_tbox_tbox(Pointer box1, Pointer box2); - - boolean contains_tbox_tbox(Pointer box1, Pointer box2); - - boolean overlaps_tbox_tbox(Pointer box1, Pointer box2); - - boolean same_tbox_tbox(Pointer box1, Pointer box2); - - boolean after_tbox_tbox(Pointer box1, Pointer box2); - - boolean before_tbox_tbox(Pointer box1, Pointer box2); - - boolean left_tbox_tbox(Pointer box1, Pointer box2); - - boolean overafter_tbox_tbox(Pointer box1, Pointer box2); - - boolean overbefore_tbox_tbox(Pointer box1, Pointer box2); - - boolean overleft_tbox_tbox(Pointer box1, Pointer box2); - - boolean overright_tbox_tbox(Pointer box1, Pointer box2); - - boolean right_tbox_tbox(Pointer box1, Pointer box2); - - int tbox_cmp(Pointer box1, Pointer box2); - - boolean tbox_eq(Pointer box1, Pointer box2); - - boolean tbox_ge(Pointer box1, Pointer box2); - - boolean tbox_gt(Pointer box1, Pointer box2); - - boolean tbox_le(Pointer box1, Pointer box2); - - boolean tbox_lt(Pointer box1, Pointer box2); - - boolean tbox_ne(Pointer box1, Pointer box2); - - Pointer tbigint_from_mfjson(String str); - - Pointer tbigint_in(String str); - - String tbigint_out(Pointer temp); - - Pointer tbool_from_mfjson(String str); - - Pointer tbool_in(String str); - - String tbool_out(Pointer temp); - - String temporal_as_hexwkb(Pointer temp, byte variant, Pointer size_out); - - String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs); - - Pointer temporal_as_wkb(Pointer temp, byte variant, Pointer size_out); - - Pointer temporal_from_hexwkb(String hexwkb); - - Pointer temporal_from_wkb(Pointer wkb, long size); - - Pointer tfloat_from_mfjson(String str); - - Pointer tfloat_in(String str); - - String tfloat_out(Pointer temp, int maxdd); - - Pointer tint_from_mfjson(String str); - - Pointer tint_in(String str); - - String tint_out(Pointer temp); - - Pointer ttext_from_mfjson(String str); - - Pointer ttext_in(String str); - - String ttext_out(Pointer temp); - - Pointer tbigint_from_base_temp(long i, Pointer temp); - - Pointer tbigintinst_make(long i, long t); - - Pointer tbigintseq_from_base_tstzset(long i, Pointer s); - - Pointer tbigintseq_from_base_tstzspan(long i, Pointer s); - - Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss); - - Pointer tbool_from_base_temp(boolean b, Pointer temp); - - Pointer tboolinst_make(boolean b, long t); - - Pointer tboolseq_from_base_tstzset(boolean b, Pointer s); - - Pointer tboolseq_from_base_tstzspan(boolean b, Pointer s); - - Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss); - - Pointer temporal_copy(Pointer temp); - - Pointer tfloat_from_base_temp(double d, Pointer temp); - - Pointer tfloatinst_make(double d, long t); - - Pointer tfloatseq_from_base_tstzset(double d, Pointer s); - - Pointer tfloatseq_from_base_tstzspan(double d, Pointer s, int interp); - - Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp); - - Pointer tint_from_base_temp(int i, Pointer temp); - - Pointer tintinst_make(int i, long t); - - Pointer tintseq_from_base_tstzset(int i, Pointer s); - - Pointer tintseq_from_base_tstzspan(int i, Pointer s); - - Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss); - - Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize); - - Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist); - - Pointer ttext_from_base_temp(Pointer txt, Pointer temp); - - Pointer ttextinst_make(Pointer txt, long t); - - Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s); - - Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer s); - - Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss); - - Pointer tbigint_to_tfloat(Pointer temp); - - Pointer tbigint_to_tint(Pointer temp); - - Pointer tbool_to_tint(Pointer temp); - - Pointer temporal_to_tstzspan(Pointer temp); - - Pointer tfloat_to_tbigint(Pointer temp); - - Pointer tfloat_to_tint(Pointer temp); - - Pointer tint_to_tbigint(Pointer temp); - - Pointer tint_to_tfloat(Pointer temp); - - Pointer tnumber_to_span(Pointer temp); - - Pointer tnumber_to_tbox(Pointer temp); - - long tbigint_end_value(Pointer temp); - - long tbigint_max_value(Pointer temp); - - long tbigint_min_value(Pointer temp); - - long tbigint_start_value(Pointer temp); - - boolean tbigint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tbigint_value_n(Pointer temp, long n, Pointer result); - - Pointer tbigint_values(Pointer temp, Pointer count); - - boolean tbool_end_value(Pointer temp); - - boolean tbool_start_value(Pointer temp); - - boolean tbool_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tbool_value_n(Pointer temp, int n, Pointer result); - - Pointer tbool_values(Pointer temp, Pointer count); - - Pointer temporal_duration(Pointer temp, boolean boundspan); - - Pointer temporal_end_instant(Pointer temp); - - Pointer temporal_end_sequence(Pointer temp); - - long temporal_end_timestamptz(Pointer temp); - - int temporal_hash(Pointer temp); - - Pointer temporal_instant_n(Pointer temp, int n); - - Pointer temporal_instants(Pointer temp, Pointer count); - - String temporal_interp(Pointer temp); - - boolean temporal_lower_inc(Pointer temp); - - Pointer temporal_max_instant(Pointer temp); - - Pointer temporal_min_instant(Pointer temp); - - int temporal_num_instants(Pointer temp); - - int temporal_num_sequences(Pointer temp); - - int temporal_num_timestamps(Pointer temp); - - Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict); - - Pointer temporal_segments(Pointer temp, Pointer count); - - Pointer temporal_sequence_n(Pointer temp, int i); - - Pointer temporal_sequences(Pointer temp, Pointer count); - - Pointer temporal_start_instant(Pointer temp); - - Pointer temporal_start_sequence(Pointer temp); - - long temporal_start_timestamptz(Pointer temp); - - Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration); - - String temporal_subtype(Pointer temp); - - Pointer temporal_time(Pointer temp); - - Pointer temporal_timestamps(Pointer temp, Pointer count); - - boolean temporal_timestamptz_n(Pointer temp, int n, Pointer result); - - boolean temporal_upper_inc(Pointer temp); - - double tfloat_avg_value(Pointer temp); - - double tfloat_end_value(Pointer temp); - - double tfloat_min_value(Pointer temp); - - double tfloat_max_value(Pointer temp); - - double tfloat_start_value(Pointer temp); - - boolean tfloat_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tfloat_value_n(Pointer temp, int n, Pointer result); - - Pointer tfloat_values(Pointer temp, Pointer count); - - int tint_end_value(Pointer temp); - - int tint_max_value(Pointer temp); - - int tint_min_value(Pointer temp); - - int tint_start_value(Pointer temp); - - boolean tint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tint_value_n(Pointer temp, int n, Pointer result); - - Pointer tint_values(Pointer temp, Pointer count); - - double tnumber_avg_value(Pointer temp); - - double tnumber_integral(Pointer temp); - - double tnumber_twavg(Pointer temp); - - Pointer tnumber_valuespans(Pointer temp); - - Pointer ttext_end_value(Pointer temp); - - Pointer ttext_max_value(Pointer temp); - - Pointer ttext_min_value(Pointer temp); - - Pointer ttext_start_value(Pointer temp); - - boolean ttext_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean ttext_value_n(Pointer temp, int n, Pointer result); - - Pointer ttext_values(Pointer temp, Pointer count); - - double float_degrees(double value, boolean normalize); - - Pointer tbigint_scale_value(Pointer temp, long width); - - Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width); - - Pointer tbigint_shift_value(Pointer temp, long shift); - - Pointer temparr_round(Pointer temp, int count, int maxdd); - - Pointer temporal_round(Pointer temp, int maxdd); - - Pointer temporal_scale_time(Pointer temp, Pointer duration); - - Pointer temporal_set_interp(Pointer temp, int interp); - - Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration); - - Pointer temporal_shift_time(Pointer temp, Pointer shift); - - Pointer temporal_to_tinstant(Pointer temp); - - Pointer temporal_to_tsequence(Pointer temp, int interp); - - Pointer temporal_to_tsequenceset(Pointer temp, int interp); - - Pointer tfloat_ceil(Pointer temp); - - Pointer tfloat_degrees(Pointer temp, boolean normalize); - - Pointer tfloat_floor(Pointer temp); - - Pointer tfloat_radians(Pointer temp); - - Pointer tfloat_scale_value(Pointer temp, double width); - - Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width); - - Pointer tfloat_shift_value(Pointer temp, double shift); - - Pointer tint_scale_value(Pointer temp, int width); - - Pointer tint_shift_scale_value(Pointer temp, int shift, int width); - - Pointer tint_shift_value(Pointer temp, int shift); - - Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); - - Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand); - - Pointer temporal_delete_timestamptz(Pointer temp, long t, boolean connect); - - Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect); - - Pointer temporal_delete_tstzspan(Pointer temp, Pointer s, boolean connect); - - Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); - - Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect); - - Pointer temporal_merge(Pointer temp1, Pointer temp2); - - Pointer temporal_merge_array(Pointer temparr, int count); - - Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect); - - Pointer tbigint_at_value(Pointer temp, long i); - - Pointer tbigint_minus_value(Pointer temp, long i); - - Pointer tbool_at_value(Pointer temp, boolean b); - - Pointer tbool_minus_value(Pointer temp, boolean b); - - Pointer temporal_after_timestamptz(Pointer temp, long t, boolean strict); - - Pointer temporal_at_max(Pointer temp); - - Pointer temporal_at_min(Pointer temp); - - Pointer temporal_at_timestamptz(Pointer temp, long t); - - Pointer temporal_at_tstzset(Pointer temp, Pointer s); - - Pointer temporal_at_tstzspan(Pointer temp, Pointer s); - - Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss); - - Pointer temporal_at_values(Pointer temp, Pointer set); - - Pointer temporal_before_timestamptz(Pointer temp, long t, boolean strict); - - Pointer temporal_minus_max(Pointer temp); - - Pointer temporal_minus_min(Pointer temp); - - Pointer temporal_minus_timestamptz(Pointer temp, long t); - - Pointer temporal_minus_tstzset(Pointer temp, Pointer s); - - Pointer temporal_minus_tstzspan(Pointer temp, Pointer s); - - Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss); - - Pointer temporal_minus_values(Pointer temp, Pointer set); - - Pointer tfloat_at_value(Pointer temp, double d); - - Pointer tfloat_minus_value(Pointer temp, double d); - - Pointer tint_at_value(Pointer temp, int i); - - Pointer tint_minus_value(Pointer temp, int i); - - Pointer tnumber_at_span(Pointer temp, Pointer span); - - Pointer tnumber_at_spanset(Pointer temp, Pointer ss); - - Pointer tnumber_at_tbox(Pointer temp, Pointer box); - - Pointer tnumber_minus_span(Pointer temp, Pointer span); - - Pointer tnumber_minus_spanset(Pointer temp, Pointer ss); - - Pointer tnumber_minus_tbox(Pointer temp, Pointer box); - - Pointer ttext_at_value(Pointer temp, Pointer txt); - - Pointer ttext_minus_value(Pointer temp, Pointer txt); - - int temporal_cmp(Pointer temp1, Pointer temp2); - - boolean temporal_eq(Pointer temp1, Pointer temp2); - - boolean temporal_ge(Pointer temp1, Pointer temp2); - - boolean temporal_gt(Pointer temp1, Pointer temp2); - - boolean temporal_le(Pointer temp1, Pointer temp2); - - boolean temporal_lt(Pointer temp1, Pointer temp2); - - boolean temporal_ne(Pointer temp1, Pointer temp2); - - int always_eq_bigint_tbigint(long i, Pointer temp); - - int always_eq_bool_tbool(boolean b, Pointer temp); - - int always_eq_float_tfloat(double d, Pointer temp); - - int always_eq_int_tint(int i, Pointer temp); - - int always_eq_tbool_bool(Pointer temp, boolean b); - - int always_eq_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_eq_text_ttext(Pointer txt, Pointer temp); - - int always_eq_tbigint_bigint(Pointer temp, long i); - - int always_eq_tfloat_float(Pointer temp, double d); - - int always_eq_tint_int(Pointer temp, int i); - - int always_eq_ttext_text(Pointer temp, Pointer txt); - - int always_ge_bigint_tbigint(long i, Pointer temp); - - int always_ge_float_tfloat(double d, Pointer temp); - - int always_ge_int_tint(int i, Pointer temp); - - int always_ge_tbigint_bigint(Pointer temp, long i); - - int always_ge_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_ge_text_ttext(Pointer txt, Pointer temp); - - int always_ge_tfloat_float(Pointer temp, double d); - - int always_ge_tint_int(Pointer temp, int i); - - int always_ge_ttext_text(Pointer temp, Pointer txt); - - int always_gt_bigint_tbigint(long i, Pointer temp); - - int always_gt_float_tfloat(double d, Pointer temp); - - int always_gt_int_tint(int i, Pointer temp); - - int always_gt_tbigint_bigint(Pointer temp, long i); - - int always_gt_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_gt_text_ttext(Pointer txt, Pointer temp); - - int always_gt_tfloat_float(Pointer temp, double d); - - int always_gt_tint_int(Pointer temp, int i); - - int always_gt_ttext_text(Pointer temp, Pointer txt); - - int always_le_bigint_tbigint(long i, Pointer temp); - - int always_le_float_tfloat(double d, Pointer temp); - - int always_le_int_tint(int i, Pointer temp); - - int always_le_tbigint_bigint(Pointer temp, long i); - - int always_le_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_le_text_ttext(Pointer txt, Pointer temp); - - int always_le_tfloat_float(Pointer temp, double d); - - int always_le_tint_int(Pointer temp, int i); - - int always_le_ttext_text(Pointer temp, Pointer txt); - - int always_lt_bigint_tbigint(long i, Pointer temp); - - int always_lt_float_tfloat(double d, Pointer temp); - - int always_lt_int_tint(int i, Pointer temp); - - int always_lt_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_lt_text_ttext(Pointer txt, Pointer temp); - - int always_lt_tfloat_float(Pointer temp, double d); - - int always_lt_tint_int(Pointer temp, int i); - - int always_lt_ttext_text(Pointer temp, Pointer txt); - - int always_ne_bool_tbool(boolean b, Pointer temp); - - int always_ne_float_tfloat(double d, Pointer temp); - - int always_ne_int_tint(int i, Pointer temp); - - int always_lt_tbigint_bigint(Pointer temp, long i); - - int always_ne_bigint_tbigint(long i, Pointer temp); - - int always_ne_tbool_bool(Pointer temp, boolean b); - - int always_ne_tbigint_bigint(Pointer temp, long i); - - int always_ne_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_ne_text_ttext(Pointer txt, Pointer temp); - - int always_ne_tfloat_float(Pointer temp, double d); - - int always_ne_tint_int(Pointer temp, int i); - - int always_ne_ttext_text(Pointer temp, Pointer txt); - - int ever_eq_bigint_tbigint(long i, Pointer temp); - - int ever_eq_bool_tbool(boolean b, Pointer temp); - - int ever_eq_float_tfloat(double d, Pointer temp); - - int ever_eq_int_tint(int i, Pointer temp); - - int ever_eq_tbigint_bigint(Pointer temp, long i); - - int ever_eq_tbool_bool(Pointer temp, boolean b); - - int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_eq_text_ttext(Pointer txt, Pointer temp); - - int ever_eq_tfloat_float(Pointer temp, double d); - - int ever_eq_tint_int(Pointer temp, int i); - - int ever_eq_ttext_text(Pointer temp, Pointer txt); - - int ever_ge_bigint_tbigint(long i, Pointer temp); - - int ever_ge_float_tfloat(double d, Pointer temp); - - int ever_ge_int_tint(int i, Pointer temp); - - int ever_ge_tbigint_bigint(Pointer temp, long i); - - int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_ge_text_ttext(Pointer txt, Pointer temp); - - int ever_ge_tfloat_float(Pointer temp, double d); - - int ever_ge_tint_int(Pointer temp, int i); - - int ever_ge_ttext_text(Pointer temp, Pointer txt); - - int ever_gt_bigint_tbigint(long i, Pointer temp); - - int ever_gt_float_tfloat(double d, Pointer temp); - - int ever_gt_int_tint(int i, Pointer temp); - - int ever_gt_tbigint_bigint(Pointer temp, long i); - - int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_gt_text_ttext(Pointer txt, Pointer temp); - - int ever_gt_tfloat_float(Pointer temp, double d); - - int ever_gt_tint_int(Pointer temp, int i); - - int ever_gt_ttext_text(Pointer temp, Pointer txt); - - int ever_le_bigint_tbigint(long i, Pointer temp); - - int ever_le_float_tfloat(double d, Pointer temp); - - int ever_le_int_tint(int i, Pointer temp); - - int ever_le_tbigint_bigint(Pointer temp, long i); - - int ever_le_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_le_text_ttext(Pointer txt, Pointer temp); - - int ever_le_tfloat_float(Pointer temp, double d); - - int ever_le_tint_int(Pointer temp, int i); - - int ever_le_ttext_text(Pointer temp, Pointer txt); - - int ever_lt_bigint_tbigint(long i, Pointer temp); - - int ever_lt_float_tfloat(double d, Pointer temp); - - int ever_lt_int_tint(int i, Pointer temp); - - int ever_lt_tbigint_bigint(Pointer temp, long i); - - int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_lt_text_ttext(Pointer txt, Pointer temp); - - int ever_lt_tfloat_float(Pointer temp, double d); - - int ever_lt_tint_int(Pointer temp, int i); - - int ever_lt_ttext_text(Pointer temp, Pointer txt); - - int ever_ne_bigint_tbigint(long i, Pointer temp); - - int ever_ne_bool_tbool(boolean b, Pointer temp); - - int ever_ne_float_tfloat(double d, Pointer temp); - - int ever_ne_int_tint(int i, Pointer temp); - - int ever_ne_tbigint_bigint(Pointer temp, long i); - - int ever_ne_tbool_bool(Pointer temp, boolean b); - - int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_ne_text_ttext(Pointer txt, Pointer temp); - - int ever_ne_tfloat_float(Pointer temp, double d); - - int ever_ne_tint_int(Pointer temp, int i); - - int ever_ne_ttext_text(Pointer temp, Pointer txt); - - Pointer teq_bool_tbool(boolean b, Pointer temp); - - Pointer teq_float_tfloat(double d, Pointer temp); - - Pointer teq_int_tint(int i, Pointer temp); - - Pointer teq_tbool_bool(Pointer temp, boolean b); - - Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer teq_text_ttext(Pointer txt, Pointer temp); - - Pointer teq_tfloat_float(Pointer temp, double d); - - Pointer teq_tint_int(Pointer temp, int i); - - Pointer teq_ttext_text(Pointer temp, Pointer txt); - - Pointer tge_float_tfloat(double d, Pointer temp); - - Pointer tge_int_tint(int i, Pointer temp); - - Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tge_text_ttext(Pointer txt, Pointer temp); - - Pointer tge_tfloat_float(Pointer temp, double d); - - Pointer tge_tint_int(Pointer temp, int i); - - Pointer tge_ttext_text(Pointer temp, Pointer txt); - - Pointer tgt_float_tfloat(double d, Pointer temp); - - Pointer tgt_int_tint(int i, Pointer temp); - - Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tgt_text_ttext(Pointer txt, Pointer temp); - - Pointer tgt_tfloat_float(Pointer temp, double d); - - Pointer tgt_tint_int(Pointer temp, int i); - - Pointer tgt_ttext_text(Pointer temp, Pointer txt); - - Pointer tle_float_tfloat(double d, Pointer temp); - - Pointer tle_int_tint(int i, Pointer temp); - - Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tle_text_ttext(Pointer txt, Pointer temp); - - Pointer tle_tfloat_float(Pointer temp, double d); - - Pointer tle_tint_int(Pointer temp, int i); - - Pointer tle_ttext_text(Pointer temp, Pointer txt); - - Pointer tlt_float_tfloat(double d, Pointer temp); - - Pointer tlt_int_tint(int i, Pointer temp); - - Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tlt_text_ttext(Pointer txt, Pointer temp); - - Pointer tlt_tfloat_float(Pointer temp, double d); - - Pointer tlt_tint_int(Pointer temp, int i); - - Pointer tlt_ttext_text(Pointer temp, Pointer txt); - - Pointer tne_bool_tbool(boolean b, Pointer temp); - - Pointer tne_float_tfloat(double d, Pointer temp); - - Pointer tne_int_tint(int i, Pointer temp); - - Pointer tne_tbool_bool(Pointer temp, boolean b); - - Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tne_text_ttext(Pointer txt, Pointer temp); - - Pointer tne_tfloat_float(Pointer temp, double d); - - Pointer tne_tint_int(Pointer temp, int i); - - Pointer tne_ttext_text(Pointer temp, Pointer txt); - - Pointer temporal_spans(Pointer temp, Pointer count); - - Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count); - - Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count); - - Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count); - - Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count); - - Pointer tnumber_tboxes(Pointer temp, Pointer count); - - boolean adjacent_numspan_tnumber(Pointer s, Pointer temp); - - boolean adjacent_tbox_tnumber(Pointer box, Pointer temp); - - boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean adjacent_temporal_tstzspan(Pointer temp, Pointer s); - - boolean adjacent_tnumber_numspan(Pointer temp, Pointer s); - - boolean adjacent_tnumber_tbox(Pointer temp, Pointer box); - - boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean adjacent_tstzspan_temporal(Pointer s, Pointer temp); - - boolean contained_numspan_tnumber(Pointer s, Pointer temp); - - boolean contained_tbox_tnumber(Pointer box, Pointer temp); - - boolean contained_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean contained_temporal_tstzspan(Pointer temp, Pointer s); - - boolean contained_tnumber_numspan(Pointer temp, Pointer s); - - boolean contained_tnumber_tbox(Pointer temp, Pointer box); - - boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean contained_tstzspan_temporal(Pointer s, Pointer temp); - - boolean contains_numspan_tnumber(Pointer s, Pointer temp); - - boolean contains_tbox_tnumber(Pointer box, Pointer temp); - - boolean contains_temporal_tstzspan(Pointer temp, Pointer s); - - boolean contains_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean contains_tnumber_numspan(Pointer temp, Pointer s); - - boolean contains_tnumber_tbox(Pointer temp, Pointer box); - - boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean contains_tstzspan_temporal(Pointer s, Pointer temp); - - boolean overlaps_numspan_tnumber(Pointer s, Pointer temp); - - boolean overlaps_tbox_tnumber(Pointer box, Pointer temp); - - boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overlaps_temporal_tstzspan(Pointer temp, Pointer s); - - boolean overlaps_tnumber_numspan(Pointer temp, Pointer s); - - boolean overlaps_tnumber_tbox(Pointer temp, Pointer box); - - boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overlaps_tstzspan_temporal(Pointer s, Pointer temp); - - boolean same_numspan_tnumber(Pointer s, Pointer temp); - - boolean same_tbox_tnumber(Pointer box, Pointer temp); - - boolean same_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean same_temporal_tstzspan(Pointer temp, Pointer s); - - boolean same_tnumber_numspan(Pointer temp, Pointer s); - - boolean same_tnumber_tbox(Pointer temp, Pointer box); - - boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean same_tstzspan_temporal(Pointer s, Pointer temp); - - boolean after_tbox_tnumber(Pointer box, Pointer temp); - - boolean after_temporal_tstzspan(Pointer temp, Pointer s); - - boolean after_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean after_tnumber_tbox(Pointer temp, Pointer box); - - boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean after_tstzspan_temporal(Pointer s, Pointer temp); - - boolean before_tbox_tnumber(Pointer box, Pointer temp); - - boolean before_temporal_tstzspan(Pointer temp, Pointer s); - - boolean before_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean before_tnumber_tbox(Pointer temp, Pointer box); - - boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean before_tstzspan_temporal(Pointer s, Pointer temp); - - boolean left_tbox_tnumber(Pointer box, Pointer temp); - - boolean left_numspan_tnumber(Pointer s, Pointer temp); - - boolean left_tnumber_numspan(Pointer temp, Pointer s); - - boolean left_tnumber_tbox(Pointer temp, Pointer box); - - boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overafter_tbox_tnumber(Pointer box, Pointer temp); - - boolean overafter_temporal_tstzspan(Pointer temp, Pointer s); - - boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overafter_tnumber_tbox(Pointer temp, Pointer box); - - boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overafter_tstzspan_temporal(Pointer s, Pointer temp); - - boolean overbefore_tbox_tnumber(Pointer box, Pointer temp); - - boolean overbefore_temporal_tstzspan(Pointer temp, Pointer s); - - boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overbefore_tnumber_tbox(Pointer temp, Pointer box); - - boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overbefore_tstzspan_temporal(Pointer s, Pointer temp); - - boolean overleft_numspan_tnumber(Pointer s, Pointer temp); - - boolean overleft_tbox_tnumber(Pointer box, Pointer temp); - - boolean overleft_tnumber_numspan(Pointer temp, Pointer s); - - boolean overleft_tnumber_tbox(Pointer temp, Pointer box); - - boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overright_numspan_tnumber(Pointer s, Pointer temp); - - boolean overright_tbox_tnumber(Pointer box, Pointer temp); - - boolean overright_tnumber_numspan(Pointer temp, Pointer s); - - boolean overright_tnumber_tbox(Pointer temp, Pointer box); - - boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean right_numspan_tnumber(Pointer s, Pointer temp); - - boolean right_tbox_tnumber(Pointer box, Pointer temp); - - boolean right_tnumber_numspan(Pointer temp, Pointer s); - - boolean right_tnumber_tbox(Pointer temp, Pointer box); - - boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2); - - Pointer tand_bool_tbool(boolean b, Pointer temp); - - Pointer tand_tbool_bool(Pointer temp, boolean b); - - Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2); - - Pointer tbool_when_true(Pointer temp); - - Pointer tnot_tbool(Pointer temp); - - Pointer tor_bool_tbool(boolean b, Pointer temp); - - Pointer tor_tbool_bool(Pointer temp, boolean b); - - Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2); - - Pointer add_bigint_tbigint(long i, Pointer tnumber); - - Pointer add_float_tfloat(double d, Pointer tnumber); - - Pointer add_int_tint(int i, Pointer tnumber); - - Pointer add_tbigint_bigint(Pointer tnumber, long i); - - Pointer add_tfloat_float(Pointer tnumber, double d); - - Pointer add_tint_int(Pointer tnumber, int i); - - Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer div_bigint_tbigint(long i, Pointer tnumber); - - Pointer div_float_tfloat(double d, Pointer tnumber); - - Pointer div_int_tint(int i, Pointer tnumber); - - Pointer div_tbigint_bigint(Pointer tnumber, long i); - - Pointer div_tfloat_float(Pointer tnumber, double d); - - Pointer div_tint_int(Pointer tnumber, int i); - - Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer mul_bigint_tbigint(long i, Pointer tnumber); - - Pointer mul_float_tfloat(double d, Pointer tnumber); - - Pointer mul_int_tint(int i, Pointer tnumber); - - Pointer mul_tbigint_bigint(Pointer tnumber, long i); - - Pointer mul_tfloat_float(Pointer tnumber, double d); - - Pointer mul_tint_int(Pointer tnumber, int i); - - Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer sub_bigint_tbigint(long i, Pointer tnumber); - - Pointer sub_float_tfloat(double d, Pointer tnumber); - - Pointer sub_int_tint(int i, Pointer tnumber); - - Pointer sub_tbigint_bigint(Pointer tnumber, long i); - - Pointer sub_tfloat_float(Pointer tnumber, double d); - - Pointer sub_tint_int(Pointer tnumber, int i); - - Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer temporal_derivative(Pointer temp); - - Pointer tfloat_exp(Pointer temp); - - Pointer tfloat_ln(Pointer temp); - - Pointer tfloat_log10(Pointer temp); - - Pointer tnumber_abs(Pointer temp); - - Pointer tnumber_trend(Pointer temp); - - double float_angular_difference(double degrees1, double degrees2); - - Pointer tnumber_angular_difference(Pointer temp); - - Pointer tnumber_delta_value(Pointer temp); - - Pointer textcat_text_ttext(Pointer txt, Pointer temp); - - Pointer textcat_ttext_text(Pointer temp, Pointer txt); - - Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2); - - Pointer ttext_initcap(Pointer temp); - - Pointer ttext_upper(Pointer temp); - - Pointer ttext_lower(Pointer temp); - - Pointer tdistance_tfloat_float(Pointer temp, double d); - - Pointer tdistance_tint_int(Pointer temp, int i); - - Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2); - - double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2); - - int nad_tboxint_tboxint(Pointer box1, Pointer box2); - - double nad_tfloat_float(Pointer temp, double d); - - double nad_tfloat_tfloat(Pointer temp1, Pointer temp2); - - double nad_tfloat_tbox(Pointer temp, Pointer box); - - int nad_tint_int(Pointer temp, int i); - - int nad_tint_tbox(Pointer temp, Pointer box); - - int nad_tint_tint(Pointer temp1, Pointer temp2); - - Pointer tbool_tand_transfn(Pointer state, Pointer temp); - - Pointer tbool_tor_transfn(Pointer state, Pointer temp); - - Pointer temporal_extent_transfn(Pointer s, Pointer temp); - - Pointer temporal_merge_transfn(Pointer state, Pointer temp); - - Pointer temporal_merge_combinefn(Pointer state1, Pointer state2); - - Pointer temporal_tagg_finalfn(Pointer state); - - Pointer temporal_tcount_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tmax_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tmin_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tsum_transfn(Pointer state, Pointer temp); - - Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer timestamptz_tcount_transfn(Pointer state, long t); - - Pointer tint_tmax_transfn(Pointer state, Pointer temp); - - Pointer tint_tmin_transfn(Pointer state, Pointer temp); - - Pointer tint_tsum_transfn(Pointer state, Pointer temp); - - Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tnumber_extent_transfn(Pointer box, Pointer temp); - - Pointer tnumber_tavg_finalfn(Pointer state); - - Pointer tnumber_tavg_transfn(Pointer state, Pointer temp); - - Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tstzset_tcount_transfn(Pointer state, Pointer s); - - Pointer tstzspan_tcount_transfn(Pointer state, Pointer s); - - Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss); - - Pointer ttext_tmax_transfn(Pointer state, Pointer temp); - - Pointer ttext_tmin_transfn(Pointer state, Pointer temp); - - Pointer temporal_simplify_dp(Pointer temp, double eps_dist, boolean synchronize); - - Pointer temporal_simplify_max_dist(Pointer temp, double eps_dist, boolean synchronize); - - Pointer temporal_simplify_min_dist(Pointer temp, double dist); - - Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint); - - Pointer temporal_tprecision(Pointer temp, Pointer duration, long origin); - - Pointer temporal_tsample(Pointer temp, Pointer duration, long origin, int interp); - - double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count); - - double temporal_frechet_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count); - - double temporal_hausdorff_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_time_bins(Pointer temp, Pointer duration, long origin, Pointer count); - - Pointer temporal_time_split(Pointer temp, Pointer duration, long torigin, Pointer time_bins, Pointer count); - - Pointer tfloat_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); - - Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count); - - Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count); - - Pointer tfloat_value_split(Pointer temp, double size, double origin, Pointer bins, Pointer count); - - Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); - - Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - - Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); - - Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count); - - Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); - - Pointer tint_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); - - Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count); - - Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count); - - Pointer tint_value_split(Pointer temp, int vsize, int vorigin, Pointer bins, Pointer count); - - Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, long torigin, Pointer count); - - Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - - Pointer tintbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); - - Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count); - - Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, long torigin, Pointer count); - - void meos_initialize_noexit_error_handler(); - - boolean h3_are_neighbor_cells_meos(long origin, long destination); - - long h3_cells_to_directed_edge_meos(long origin, long destination); - - boolean h3_is_valid_directed_edge_meos(long edge); - - long h3_get_directed_edge_origin_meos(long edge); - - long h3_get_directed_edge_destination_meos(long edge); - - long h3_cell_to_parent_meos(long origin, int resolution); - - long h3_cell_to_center_child_meos(long origin, int resolution); - - long h3_cell_to_child_pos_meos(long child, int parentRes); - - long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes); - - int h3_get_resolution_meos(long hex); - - int h3_get_base_cell_number_meos(long hex); - - boolean h3_is_valid_cell_meos(long hex); - - boolean h3_is_res_class_iii_meos(long hex); - - boolean h3_is_pentagon_meos(long hex); - - long h3_get_num_cells_meos(int resolution); - - long h3_grid_distance_meos(long originIndex, long h3Index); - - long h3_cell_to_vertex_meos(long cell, int vertexNum); - - boolean h3_is_valid_vertex_meos(long vertex); - - long h3index_parse(String str); - - String h3index_to_string(long cell); - - boolean h3index_eq(long a, long b); - - boolean h3index_ne(long a, long b); - - boolean h3index_lt(long a, long b); - - boolean h3index_le(long a, long b); - - boolean h3index_gt(long a, long b); - - boolean h3index_ge(long a, long b); - - int h3index_cmp(long a, long b); - - int h3index_hash(long cell); - - Pointer h3_grid_disk(long origin, int k); - - Pointer h3_grid_ring(long origin, int k); - - Pointer h3_grid_path_cells(long start, long end); - - Pointer h3_cell_to_children(long origin, int childRes); - - Pointer h3_compact_cells(Pointer cells); - - Pointer h3_uncompact_cells(Pointer cells, int res); - - Pointer h3_origin_to_directed_edges(long origin); - - Pointer h3_cell_to_vertexes(long cell); - - Pointer h3_get_icosahedron_faces(long cell); - - boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2); - - boolean ensure_valid_th3index_h3index(Pointer temp, long cell); - - boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2); - - int datum2_h3index_eq(int d1, int d2, int type); - - int datum2_h3index_ne(int d1, int d2, int type); - - void th3indexinst_set_stbox(Pointer inst, Pointer box); - - void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box); - - void th3indexseq_expand_stbox(Pointer seq, Pointer inst); - - long h3_gs_point_to_cell(Pointer point, int resolution); - - Pointer h3_cell_to_gs_point(long cell); - - Pointer h3_cell_to_gs_boundary(long cell); - - Pointer cell_boundary_to_gs(Pointer bnd); - - double h3_sample_step_deg(int resolution); - - long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution); - - long h3_cell_to_parent_next_meos(long cell); - - long h3_cell_to_center_child_next_meos(long cell); - - Pointer h3_directed_edge_to_gs_boundary(long edge); - - Pointer h3_vertex_to_gs_point(long vertex); - - Pointer h3_cell_to_local_ij_meos(long origin, long cell); - - long h3_local_ij_to_cell_meos(long origin, Pointer coord); - - int h3_unit_from_cstring(String unit); - - double h3_cell_area_meos(long cell, int unit); - - double h3_edge_length_meos(long edge, int unit); - - double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit); - - int datum_h3_get_resolution(int d); - - int datum_h3_get_base_cell_number(int d); - - int datum_h3_is_valid_cell(int d); - - int datum_h3_is_res_class_iii(int d); - - int datum_h3_is_pentagon(int d); - - int datum_h3_cell_to_parent(int cell_d, int res_d); - - int datum_h3_cell_to_parent_next(int cell_d); - - int datum_h3_cell_to_center_child(int cell_d, int res_d); - - int datum_h3_cell_to_center_child_next(int cell_d); - - int datum_h3_cell_to_child_pos(int cell_d, int parent_res_d); - - int datum_h3_child_pos_to_cell(int pos_d, int parent_d, int child_res_d); - - int datum_h3_are_neighbor_cells(int origin_d, int dest_d); - - int datum_h3_cells_to_directed_edge(int origin_d, int dest_d); - - int datum_h3_is_valid_directed_edge(int d); - - int datum_h3_get_directed_edge_origin(int d); - - int datum_h3_get_directed_edge_destination(int d); - - int datum_h3_directed_edge_to_boundary(int d); - - int datum_h3_cell_to_vertex(int cell_d, int vnum_d); - - int datum_h3_vertex_to_latlng(int d); - - int datum_h3_is_valid_vertex(int d); - - int datum_h3_grid_distance(int origin_d, int dest_d); - - int datum_h3_cell_to_local_ij(int origin_d, int cell_d); - - int datum_h3_local_ij_to_cell(int origin_d, int coord_d); - - int datum_h3_latlng_to_cell(int point_d, int res_d); - - int datum_h3_cell_to_latlng(int d); - - int datum_h3_cell_to_boundary(int d); - - int datum_h3_cell_area(int cell_d, int unit_d); - - int datum_h3_edge_length(int edge_d, int unit_d); - - int datum_h3_great_circle_distance(int a_d, int b_d, int unit_d); - - Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size); - - String geo_as_ewkt(Pointer gs, int precision); - - String geo_as_geojson(Pointer gs, int option, int precision, String srs); - - String geo_as_hexewkb(Pointer gs, String endian); - - String geo_as_text(Pointer gs, int precision); - - Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid); - - Pointer geo_from_geojson(String geojson); - - Pointer geo_from_text(String wkt, int srid); - - String geo_out(Pointer gs); - - Pointer geog_from_binary(String wkb_bytea); - - Pointer geog_from_hexewkb(String wkt); - - Pointer geog_in(String str, int typmod); - - Pointer geom_from_hexewkb(String wkt); - - Pointer geom_in(String str, int typmod); - - Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid); - - String box3d_out(Pointer box, int maxdd); - - Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax); - - String gbox_out(Pointer box, int maxdd); - - Pointer geo_copy(Pointer g); - - Pointer geogpoint_make2d(int srid, double x, double y); - - Pointer geogpoint_make3dz(int srid, double x, double y, double z); - - Pointer geompoint_make2d(int srid, double x, double y); - - Pointer geompoint_make3dz(int srid, double x, double y, double z); - - Pointer geom_to_geog(Pointer geom); - - Pointer geog_to_geom(Pointer geog); - - } - - public interface MeosLibraryPartC { - - boolean geo_is_empty(Pointer g); - - boolean geo_is_unitary(Pointer gs); - - String geo_typename(int type); - - double geog_area(Pointer g, boolean use_spheroid); - - Pointer geog_centroid(Pointer g, boolean use_spheroid); - - double geog_length(Pointer g, boolean use_spheroid); - - double geog_perimeter(Pointer g, boolean use_spheroid); - - boolean geom_azimuth(Pointer gs1, Pointer gs2, Pointer result); - - double geom_length(Pointer gs); - - double geom_perimeter(Pointer gs); - - int line_numpoints(Pointer gs); - - Pointer line_point_n(Pointer geom, int n); - - Pointer geo_reverse(Pointer gs); - - Pointer geo_round(Pointer gs, int maxdd); - - Pointer geo_set_srid(Pointer gs, int srid); - - int geo_srid(Pointer gs); - - Pointer geo_transform(Pointer geom, int srid_to); - - Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward); - - Pointer geo_collect_garray(Pointer gsarr, int count); - - Pointer geo_makeline_garray(Pointer gsarr, int count); - - int geo_num_points(Pointer gs); - - int geo_num_geos(Pointer gs); - - Pointer geo_geo_n(Pointer geom, int n); - - Pointer geo_pointarr(Pointer gs, Pointer count); - - Pointer geo_points(Pointer gs); - - Pointer geom_array_union(Pointer gsarr, int count); - - Pointer geom_boundary(Pointer gs); - - Pointer geom_buffer(Pointer gs, double size, String params); - - Pointer geom_centroid(Pointer gs); - - Pointer geom_convex_hull(Pointer gs); - - Pointer geom_difference2d(Pointer gs1, Pointer gs2); - - Pointer geom_intersection2d(Pointer gs1, Pointer gs2); - - Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2); - - Pointer geom_min_bounding_radius(Pointer geom, Pointer radius); - - Pointer geom_shortestline2d(Pointer gs1, Pointer s2); - - Pointer geom_shortestline3d(Pointer gs1, Pointer s2); - - Pointer geom_unary_union(Pointer gs, double prec); - - Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat); - - double line_locate_point(Pointer gs1, Pointer gs2); - - Pointer line_substring(Pointer gs, double from, double to); - - boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid); - - boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid); - - boolean geom_contains(Pointer gs1, Pointer gs2); - - boolean geom_covers(Pointer gs1, Pointer gs2); - - boolean geom_disjoint2d(Pointer gs1, Pointer gs2); - - boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance); - - boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance); - - boolean geom_intersects2d(Pointer gs1, Pointer gs2); - - boolean geom_intersects3d(Pointer gs1, Pointer gs2); - - boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt); - - boolean geom_touches(Pointer gs1, Pointer gs2); - - Pointer geo_stboxes(Pointer gs, Pointer count); - - Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count); - - Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count); - - double geog_distance(Pointer g1, Pointer g2); - - double geom_distance2d(Pointer gs1, Pointer gs2); - - double geom_distance3d(Pointer gs1, Pointer gs2); - - int geo_equals(Pointer gs1, Pointer gs2); - - boolean geo_same(Pointer gs1, Pointer gs2); - - Pointer geogset_in(String str); - - Pointer geomset_in(String str); - - String spatialset_as_text(Pointer set, int maxdd); - - String spatialset_as_ewkt(Pointer set, int maxdd); - - Pointer geoset_make(Pointer values, int count); - - Pointer geo_to_set(Pointer gs); - - Pointer geoset_end_value(Pointer s); - - Pointer geoset_start_value(Pointer s); - - boolean geoset_value_n(Pointer s, int n, Pointer result); - - Pointer geoset_values(Pointer s); - - boolean contained_geo_set(Pointer gs, Pointer s); - - boolean contains_set_geo(Pointer s, Pointer gs); - - Pointer geo_union_transfn(Pointer state, Pointer gs); - - Pointer intersection_geo_set(Pointer gs, Pointer s); - - Pointer intersection_set_geo(Pointer s, Pointer gs); - - Pointer minus_geo_set(Pointer gs, Pointer s); - - Pointer minus_set_geo(Pointer s, Pointer gs); - - Pointer union_geo_set(Pointer gs, Pointer s); - - Pointer union_set_geo(Pointer s, Pointer gs); - - Pointer spatialset_set_srid(Pointer s, int srid); - - int spatialset_srid(Pointer s); - - Pointer spatialset_transform(Pointer s, int srid); - - Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward); - - String stbox_as_hexwkb(Pointer box, byte variant, Pointer size); - - Pointer stbox_as_wkb(Pointer box, byte variant, Pointer size_out); - - Pointer stbox_from_hexwkb(String hexwkb); - - Pointer stbox_from_wkb(Pointer wkb, long size); - - Pointer stbox_in(String str); - - String stbox_out(Pointer box, int maxdd); - - Pointer geo_timestamptz_to_stbox(Pointer gs, long t); - - Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s); - - Pointer stbox_copy(Pointer box); - - Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s); - - Pointer geo_to_stbox(Pointer gs); - - Pointer spatialset_to_stbox(Pointer s); - - Pointer stbox_to_box3d(Pointer box); - - Pointer stbox_to_gbox(Pointer box); - - Pointer stbox_to_geo(Pointer box); - - Pointer stbox_to_tstzspan(Pointer box); - - Pointer timestamptz_to_stbox(long t); - - Pointer tstzset_to_stbox(Pointer s); - - Pointer tstzspan_to_stbox(Pointer s); - - Pointer tstzspanset_to_stbox(Pointer ss); - - double stbox_area(Pointer box, boolean spheroid); - - int stbox_hash(Pointer box); - - long stbox_hash_extended(Pointer box, long seed); - - boolean stbox_hast(Pointer box); - - boolean stbox_hasx(Pointer box); - - boolean stbox_hasz(Pointer box); - - boolean stbox_isgeodetic(Pointer box); - - double stbox_perimeter(Pointer box, boolean spheroid); - - boolean stbox_tmax(Pointer box, Pointer result); - - boolean stbox_tmax_inc(Pointer box, Pointer result); - - boolean stbox_tmin(Pointer box, Pointer result); - - boolean stbox_tmin_inc(Pointer box, Pointer result); - - double stbox_volume(Pointer box); - - boolean stbox_xmax(Pointer box, Pointer result); - - boolean stbox_xmin(Pointer box, Pointer result); - - boolean stbox_ymax(Pointer box, Pointer result); - - boolean stbox_ymin(Pointer box, Pointer result); - - boolean stbox_zmax(Pointer box, Pointer result); - - boolean stbox_zmin(Pointer box, Pointer result); - - Pointer stbox_expand_space(Pointer box, double d); - - Pointer stbox_expand_time(Pointer box, Pointer interv); - - Pointer stbox_get_space(Pointer box); - - Pointer stbox_quad_split(Pointer box, Pointer count); - - Pointer stbox_round(Pointer box, int maxdd); - - Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); - - Pointer stboxarr_round(Pointer boxarr, int count, int maxdd); - - Pointer stbox_set_srid(Pointer box, int srid); - - int stbox_srid(Pointer box); - - Pointer stbox_transform(Pointer box, int srid); - - Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward); - - boolean adjacent_stbox_stbox(Pointer box1, Pointer box2); - - boolean contained_stbox_stbox(Pointer box1, Pointer box2); - - boolean contains_stbox_stbox(Pointer box1, Pointer box2); - - boolean overlaps_stbox_stbox(Pointer box1, Pointer box2); - - boolean same_stbox_stbox(Pointer box1, Pointer box2); - - boolean above_stbox_stbox(Pointer box1, Pointer box2); - - boolean after_stbox_stbox(Pointer box1, Pointer box2); - - boolean back_stbox_stbox(Pointer box1, Pointer box2); - - boolean before_stbox_stbox(Pointer box1, Pointer box2); - - boolean below_stbox_stbox(Pointer box1, Pointer box2); - - boolean front_stbox_stbox(Pointer box1, Pointer box2); - - boolean left_stbox_stbox(Pointer box1, Pointer box2); - - boolean overabove_stbox_stbox(Pointer box1, Pointer box2); - - boolean overafter_stbox_stbox(Pointer box1, Pointer box2); - - boolean overback_stbox_stbox(Pointer box1, Pointer box2); - - boolean overbefore_stbox_stbox(Pointer box1, Pointer box2); - - boolean overbelow_stbox_stbox(Pointer box1, Pointer box2); - - boolean overfront_stbox_stbox(Pointer box1, Pointer box2); - - boolean overleft_stbox_stbox(Pointer box1, Pointer box2); - - boolean overright_stbox_stbox(Pointer box1, Pointer box2); - - boolean right_stbox_stbox(Pointer box1, Pointer box2); - - Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict); - - Pointer intersection_stbox_stbox(Pointer box1, Pointer box2); - - int stbox_cmp(Pointer box1, Pointer box2); - - boolean stbox_eq(Pointer box1, Pointer box2); - - boolean stbox_ge(Pointer box1, Pointer box2); - - boolean stbox_gt(Pointer box1, Pointer box2); - - boolean stbox_le(Pointer box1, Pointer box2); - - boolean stbox_lt(Pointer box1, Pointer box2); - - boolean stbox_ne(Pointer box1, Pointer box2); - - Pointer tgeogpoint_from_mfjson(String str); - - Pointer tgeogpoint_in(String str); - - Pointer tgeography_from_mfjson(String mfjson); - - Pointer tgeography_in(String str); - - Pointer tgeometry_from_mfjson(String str); - - Pointer tgeometry_in(String str); - - Pointer tgeompoint_from_mfjson(String str); - - Pointer tgeompoint_in(String str); - - String tspatial_as_ewkt(Pointer temp, int maxdd); - - String tspatial_as_text(Pointer temp, int maxdd); - - String tspatial_out(Pointer temp, int maxdd); - - Pointer tgeo_from_base_temp(Pointer gs, Pointer temp); - - Pointer tgeoinst_make(Pointer gs, long t); - - Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s); - - Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); - - Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); - - Pointer tpoint_from_base_temp(Pointer gs, Pointer temp); - - Pointer tpointinst_make(Pointer gs, long t); - - Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s); - - Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); - - Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); - - Pointer box3d_to_stbox(Pointer box); - - Pointer gbox_to_stbox(Pointer box); - - Pointer geomeas_to_tpoint(Pointer gs); - - Pointer tgeogpoint_to_tgeography(Pointer temp); - - Pointer tgeography_to_tgeogpoint(Pointer temp); - - Pointer tgeography_to_tgeometry(Pointer temp); - - Pointer tgeometry_to_tgeography(Pointer temp); - - Pointer tgeometry_to_tgeompoint(Pointer temp); - - Pointer tgeompoint_to_tgeometry(Pointer temp); - - boolean tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom, Pointer gsarr, Pointer timesarr, Pointer count); - - boolean tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize, Pointer result); - - Pointer tspatial_to_stbox(Pointer temp); - - boolean bearing_point_point(Pointer gs1, Pointer gs2, Pointer result); - - Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert); - - Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2); - - Pointer tgeo_centroid(Pointer temp); - - Pointer tgeo_convex_hull(Pointer temp); - - Pointer tgeo_end_value(Pointer temp); - - Pointer tgeo_start_value(Pointer temp); - - Pointer tgeo_traversed_area(Pointer temp, boolean unary_union); - - boolean tgeo_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tgeo_value_n(Pointer temp, int n, Pointer result); - - Pointer tgeo_values(Pointer temp, Pointer count); - - Pointer tpoint_angular_difference(Pointer temp); - - Pointer tpoint_azimuth(Pointer temp); - - Pointer tpoint_cumulative_length(Pointer temp); - - boolean tpoint_direction(Pointer temp, Pointer result); - - Pointer tpoint_get_x(Pointer temp); - - Pointer tpoint_get_y(Pointer temp); - - Pointer tpoint_get_z(Pointer temp); - - boolean tpoint_is_simple(Pointer temp); - - double tpoint_length(Pointer temp); - - Pointer tpoint_speed(Pointer temp); - - Pointer tpoint_trajectory(Pointer temp, boolean unary_union); - - Pointer tpoint_twcentroid(Pointer temp); - - Pointer tgeo_affine(Pointer temp, Pointer a); - - Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin); - - Pointer tpoint_make_simple(Pointer temp, Pointer count); - - int tspatial_srid(Pointer temp); - - Pointer tspatial_set_srid(Pointer temp, int srid); - - Pointer tspatial_transform(Pointer temp, int srid); - - Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward); - - Pointer tgeo_at_geom(Pointer temp, Pointer gs); - - Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tgeo_at_value(Pointer temp, Pointer gs); - - Pointer tgeo_minus_geom(Pointer temp, Pointer gs); - - Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tgeo_minus_value(Pointer temp, Pointer gs); - - Pointer tpoint_at_elevation(Pointer temp, Pointer s); - - Pointer tpoint_at_geom(Pointer temp, Pointer gs); - - Pointer tpoint_at_value(Pointer temp, Pointer gs); - - Pointer tpoint_minus_elevation(Pointer temp, Pointer s); - - Pointer tpoint_minus_geom(Pointer temp, Pointer gs); - - Pointer tpoint_minus_value(Pointer temp, Pointer gs); - - int always_eq_geo_tgeo(Pointer gs, Pointer temp); - - int always_eq_tgeo_geo(Pointer temp, Pointer gs); - - int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int always_ne_geo_tgeo(Pointer gs, Pointer temp); - - int always_ne_tgeo_geo(Pointer temp, Pointer gs); - - int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ever_eq_geo_tgeo(Pointer gs, Pointer temp); - - int ever_eq_tgeo_geo(Pointer temp, Pointer gs); - - int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ever_ne_geo_tgeo(Pointer gs, Pointer temp); - - int ever_ne_tgeo_geo(Pointer temp, Pointer gs); - - int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer teq_geo_tgeo(Pointer gs, Pointer temp); - - Pointer teq_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tne_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tne_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tgeo_stboxes(Pointer temp, Pointer count); - - Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count); - - Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count); - - boolean adjacent_stbox_tspatial(Pointer box, Pointer temp); - - boolean adjacent_tspatial_stbox(Pointer temp, Pointer box); - - boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean contained_stbox_tspatial(Pointer box, Pointer temp); - - boolean contained_tspatial_stbox(Pointer temp, Pointer box); - - boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean contains_stbox_tspatial(Pointer box, Pointer temp); - - boolean contains_tspatial_stbox(Pointer temp, Pointer box); - - boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overlaps_stbox_tspatial(Pointer box, Pointer temp); - - boolean overlaps_tspatial_stbox(Pointer temp, Pointer box); - - boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean same_stbox_tspatial(Pointer box, Pointer temp); - - boolean same_tspatial_stbox(Pointer temp, Pointer box); - - boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean above_stbox_tspatial(Pointer box, Pointer temp); - - boolean above_tspatial_stbox(Pointer temp, Pointer box); - - boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean after_stbox_tspatial(Pointer box, Pointer temp); - - boolean after_tspatial_stbox(Pointer temp, Pointer box); - - boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean back_stbox_tspatial(Pointer box, Pointer temp); - - boolean back_tspatial_stbox(Pointer temp, Pointer box); - - boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean before_stbox_tspatial(Pointer box, Pointer temp); - - boolean before_tspatial_stbox(Pointer temp, Pointer box); - - boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean below_stbox_tspatial(Pointer box, Pointer temp); - - boolean below_tspatial_stbox(Pointer temp, Pointer box); - - boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean front_stbox_tspatial(Pointer box, Pointer temp); - - boolean front_tspatial_stbox(Pointer temp, Pointer box); - - boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean left_stbox_tspatial(Pointer box, Pointer temp); - - boolean left_tspatial_stbox(Pointer temp, Pointer box); - - boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overabove_stbox_tspatial(Pointer box, Pointer temp); - - boolean overabove_tspatial_stbox(Pointer temp, Pointer box); - - boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overafter_stbox_tspatial(Pointer box, Pointer temp); - - boolean overafter_tspatial_stbox(Pointer temp, Pointer box); - - boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overback_stbox_tspatial(Pointer box, Pointer temp); - - boolean overback_tspatial_stbox(Pointer temp, Pointer box); - - boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overbefore_stbox_tspatial(Pointer box, Pointer temp); - - boolean overbefore_tspatial_stbox(Pointer temp, Pointer box); - - boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overbelow_stbox_tspatial(Pointer box, Pointer temp); - - boolean overbelow_tspatial_stbox(Pointer temp, Pointer box); - - boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overfront_stbox_tspatial(Pointer box, Pointer temp); - - boolean overfront_tspatial_stbox(Pointer temp, Pointer box); - - boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overleft_stbox_tspatial(Pointer box, Pointer temp); - - boolean overleft_tspatial_stbox(Pointer temp, Pointer box); - - boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overright_stbox_tspatial(Pointer box, Pointer temp); - - boolean overright_tspatial_stbox(Pointer temp, Pointer box); - - boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean right_stbox_tspatial(Pointer box, Pointer temp); - - boolean right_tspatial_stbox(Pointer temp, Pointer box); - - boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2); - - int acontains_geo_tgeo(Pointer gs, Pointer temp); - - int acontains_tgeo_geo(Pointer temp, Pointer gs); - - int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int adisjoint_tgeo_geo(Pointer temp, Pointer gs); - - int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - int aintersects_tgeo_geo(Pointer temp, Pointer gs); - - int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int atouches_tgeo_geo(Pointer temp, Pointer gs); - - int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int atouches_tpoint_geo(Pointer temp, Pointer gs); - - int econtains_geo_tgeo(Pointer gs, Pointer temp); - - int econtains_tgeo_geo(Pointer temp, Pointer gs); - - int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ecovers_geo_tgeo(Pointer gs, Pointer temp); - - int ecovers_tgeo_geo(Pointer temp, Pointer gs); - - int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int edisjoint_tgeo_geo(Pointer temp, Pointer gs); - - int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - int eintersects_tgeo_geo(Pointer temp, Pointer gs); - - int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int etouches_tgeo_geo(Pointer temp, Pointer gs); - - int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int etouches_tpoint_geo(Pointer temp, Pointer gs); - - Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist); - - Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp); - - Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs); - - Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2); - - double nad_stbox_geo(Pointer box, Pointer gs); - - double nad_stbox_stbox(Pointer box1, Pointer box2); - - double nad_tgeo_geo(Pointer temp, Pointer gs); - - double nad_tgeo_stbox(Pointer temp, Pointer box); - - double nad_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer nai_tgeo_geo(Pointer temp, Pointer gs); - - Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2); - - double tgeoarr_tgeoarr_mindist(Pointer arr1, int count1, Pointer arr2, int count2); - - double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold); - - Pointer tpoint_tcentroid_finalfn(Pointer state); - - Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp); - - Pointer tspatial_extent_transfn(Pointer box, Pointer temp); - - Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin); - - Pointer stbox_get_space_time_tile(Pointer point, long t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin); - - Pointer stbox_get_time_tile(long t, Pointer duration, long torigin); - - Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count); - - Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean border_inc, Pointer count); - - Pointer stbox_time_tiles(Pointer bounds, Pointer duration, long torigin, boolean border_inc, Pointer count); - - Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer count); - - Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer time_bins, Pointer count); - - Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k); - - Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count); - - Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count); - - Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count); - - int acovers_geo_tgeo(Pointer gs, Pointer temp); - - int acovers_tgeo_geo(Pointer temp, Pointer gs); - - String cbuffer_as_ewkt(Pointer cb, int maxdd); - - String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size); - - String cbuffer_as_text(Pointer cb, int maxdd); - - Pointer cbuffer_as_wkb(Pointer cb, byte variant, Pointer size_out); - - Pointer cbuffer_from_hexwkb(String hexwkb); - - Pointer cbuffer_from_wkb(Pointer wkb, long size); - - Pointer cbuffer_in(String str); - - String cbuffer_out(Pointer cb, int maxdd); - - Pointer cbuffer_copy(Pointer cb); - - Pointer cbuffer_make(Pointer point, double radius); - - Pointer cbuffer_to_geom(Pointer cb); - - Pointer cbuffer_to_stbox(Pointer cb); - - Pointer cbufferarr_to_geom(Pointer cbarr, int count); - - Pointer geom_to_cbuffer(Pointer gs); - - int cbuffer_hash(Pointer cb); - - long cbuffer_hash_extended(Pointer cb, long seed); - - Pointer cbuffer_point(Pointer cb); - - double cbuffer_radius(Pointer cb); - - Pointer cbuffer_round(Pointer cb, int maxdd); - - Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd); - - void cbuffer_set_srid(Pointer cb, int srid); - - int cbuffer_srid(Pointer cb); - - Pointer cbuffer_transform(Pointer cb, int srid); - - Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward); - - int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist); - - int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s); - - Pointer cbuffer_timestamptz_to_stbox(Pointer cb, long t); - - double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - double distance_cbuffer_geo(Pointer cb, Pointer gs); - - double distance_cbuffer_stbox(Pointer cb, Pointer box); - - double nad_cbuffer_stbox(Pointer cb, Pointer box); - - int cbuffer_cmp(Pointer cb1, Pointer cb2); - - boolean cbuffer_eq(Pointer cb1, Pointer cb2); - - boolean cbuffer_ge(Pointer cb1, Pointer cb2); - - boolean cbuffer_gt(Pointer cb1, Pointer cb2); - - boolean cbuffer_le(Pointer cb1, Pointer cb2); - - boolean cbuffer_lt(Pointer cb1, Pointer cb2); - - boolean cbuffer_ne(Pointer cb1, Pointer cb2); - - boolean cbuffer_nsame(Pointer cb1, Pointer cb2); - - boolean cbuffer_same(Pointer cb1, Pointer cb2); - - Pointer cbufferset_in(String str); - - String cbufferset_out(Pointer s, int maxdd); - - Pointer cbufferset_make(Pointer values, int count); - - Pointer cbuffer_to_set(Pointer cb); - - Pointer cbufferset_end_value(Pointer s); - - Pointer cbufferset_start_value(Pointer s); - - boolean cbufferset_value_n(Pointer s, int n, Pointer result); - - Pointer cbufferset_values(Pointer s); - - Pointer cbuffer_union_transfn(Pointer state, Pointer cb); - - boolean contained_cbuffer_set(Pointer cb, Pointer s); - - boolean contains_set_cbuffer(Pointer s, Pointer cb); - - Pointer intersection_cbuffer_set(Pointer cb, Pointer s); - - Pointer intersection_set_cbuffer(Pointer s, Pointer cb); - - Pointer minus_cbuffer_set(Pointer cb, Pointer s); - - Pointer minus_set_cbuffer(Pointer s, Pointer cb); - - Pointer union_cbuffer_set(Pointer cb, Pointer s); - - Pointer union_set_cbuffer(Pointer s, Pointer cb); - - Pointer tcbuffer_in(String str); - - Pointer tcbuffer_from_mfjson(String mfjson); - - Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat); - - Pointer tcbuffer_points(Pointer temp); - - Pointer tcbuffer_radius(Pointer temp); - - Pointer tcbuffer_trav_area(Pointer temp, boolean merge_union); - - Pointer tcbuffer_to_tfloat(Pointer temp); - - Pointer tcbuffer_to_tgeompoint(Pointer temp); - - Pointer tgeometry_to_tcbuffer(Pointer temp); - - Pointer tcbuffer_expand(Pointer temp, double dist); - - Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb); - - Pointer tcbuffer_at_geom(Pointer temp, Pointer gs); - - Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb); - - Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs); - - Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - double nad_tcbuffer_geo(Pointer temp, Pointer gs); - - double nad_tcbuffer_stbox(Pointer temp, Pointer box); - - double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int acontains_geo_tcbuffer(Pointer gs, Pointer temp); - - int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int acontains_tcbuffer_geo(Pointer temp, Pointer gs); - - int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int acovers_geo_tcbuffer(Pointer gs, Pointer temp); - - int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int acovers_tcbuffer_geo(Pointer temp, Pointer gs); - - int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs); - - int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); - - int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); - - int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); - - int aintersects_tcbuffer_geo(Pointer temp, Pointer gs); - - int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int atouches_tcbuffer_geo(Pointer temp, Pointer gs); - - int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int econtains_tcbuffer_geo(Pointer temp, Pointer gs); - - int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int ecovers_tcbuffer_geo(Pointer temp, Pointer gs); - - int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs); - - int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); - - int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); - - int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); - - int eintersects_tcbuffer_geo(Pointer temp, Pointer gs); - - int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int etouches_tcbuffer_geo(Pointer temp, Pointer gs); - - int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist); - - Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); - - Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); - - Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); - - Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - long h3index_in(String str); - - String h3index_out(long cell); - - Pointer th3index_in(String str); - - Pointer th3indexinst_in(String str); - - Pointer th3indexseq_in(String str, int interp); - - Pointer th3indexseqset_in(String str); - - Pointer th3index_make(long value, long t); - - Pointer th3indexinst_make(long value, long t); - - Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc); - - Pointer th3indexseqset_make(Pointer sequences, int count); - - long th3index_start_value(Pointer temp); - - long th3index_end_value(Pointer temp); - - boolean th3index_value_n(Pointer temp, int n, Pointer result); - - Pointer th3index_values(Pointer temp, Pointer count); - - boolean th3index_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - Pointer tbigint_to_th3index(Pointer temp); - - Pointer th3index_to_tbigint(Pointer temp); - - int ever_eq_h3index_th3index(long cell, Pointer temp); - - int ever_eq_th3index_h3index(Pointer temp, long cell); - - int ever_ne_h3index_th3index(long cell, Pointer temp); - - int ever_ne_th3index_h3index(Pointer temp, long cell); - - int always_eq_h3index_th3index(long cell, Pointer temp); - - int always_eq_th3index_h3index(Pointer temp, long cell); - - int always_ne_h3index_th3index(long cell, Pointer temp); - - int always_ne_th3index_h3index(Pointer temp, long cell); - - int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2); - - int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2); - - int always_eq_th3index_th3index(Pointer temp1, Pointer temp2); - - int always_ne_th3index_th3index(Pointer temp1, Pointer temp2); - - Pointer teq_h3index_th3index(long cell, Pointer temp); - - Pointer teq_th3index_h3index(Pointer temp, long cell); - - Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2); - - Pointer tne_h3index_th3index(long cell, Pointer temp); - - Pointer tne_th3index_h3index(Pointer temp, long cell); - - Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2); - - Pointer th3index_get_resolution(Pointer temp); - - Pointer th3index_get_base_cell_number(Pointer temp); - - Pointer th3index_is_valid_cell(Pointer temp); - - Pointer th3index_is_res_class_iii(Pointer temp); - - Pointer th3index_is_pentagon(Pointer temp); - - Pointer th3index_cell_to_parent(Pointer temp, int resolution); - - Pointer th3index_cell_to_parent_next(Pointer temp); - - Pointer th3index_cell_to_center_child(Pointer temp, int resolution); - - Pointer th3index_cell_to_center_child_next(Pointer temp); - - Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res); - - Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res); - - Pointer tgeogpoint_to_th3index(Pointer temp, int resolution); - - Pointer tgeompoint_to_th3index(Pointer temp, int resolution); - - Pointer th3index_to_tgeogpoint(Pointer temp); - - Pointer th3index_to_tgeompoint(Pointer temp); - - Pointer th3index_cell_to_boundary(Pointer temp); - - Pointer geo_to_h3index_set(Pointer gs, int resolution); - - int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx); - - Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest); - - Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest); - - Pointer th3index_is_valid_directed_edge(Pointer edge); - - Pointer th3index_get_directed_edge_origin(Pointer edge); - - Pointer th3index_get_directed_edge_destination(Pointer edge); - - Pointer th3index_directed_edge_to_boundary(Pointer edge); - - Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num); - - Pointer th3index_vertex_to_latlng(Pointer temp); - - Pointer th3index_is_valid_vertex(Pointer temp); - - Pointer th3index_grid_distance(Pointer origin, Pointer dest); - - Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell); - - Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord); - - Pointer th3index_cell_area(Pointer temp, String unit); - - Pointer th3index_edge_length(Pointer temp, String unit); - - Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit); - - Pointer gsl_get_generation_rng(); - - Pointer gsl_get_aggregation_rng(); - - int datum_ceil(Pointer d); - - int datum_degrees(Pointer d, Pointer normalize); - - int datum_float_round(Pointer value, Pointer size); - - int datum_floor(Pointer d); - - int datum_hash(Pointer d, int basetype); - - long datum_hash_extended(Pointer d, int basetype, long seed); - - int datum_radians(Pointer d); - - void floatspan_round_set(Pointer s, int maxdd, Pointer result); - - Pointer set_in(String str, int basetype); - - String set_out(Pointer s, int maxdd); - - Pointer span_in(String str, int spantype); - - String span_out(Pointer s, int maxdd); - - Pointer spanset_in(String str, int spantype); - - String spanset_out(Pointer ss, int maxdd); - - Pointer set_make(Pointer values, int count, int basetype, boolean order); - - Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order); - - Pointer set_make_free(Pointer values, int count, int basetype, boolean order); - - Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype); - - void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer s); - - Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order); - - Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order); - - Pointer set_span(Pointer s); - - Pointer set_spanset(Pointer s); - - void value_set_span(Pointer value, int basetype, Pointer s); - - Pointer value_set(Pointer d, int basetype); - - Pointer value_span(Pointer d, int basetype); - - Pointer value_spanset(Pointer d, int basetype); - - int numspan_width(Pointer s); - - int numspanset_width(Pointer ss, boolean boundspan); - - int set_end_value(Pointer s); - - int set_mem_size(Pointer s); - - void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result); - - void set_set_span(Pointer s, Pointer result); - - int set_start_value(Pointer s); - - boolean set_value_n(Pointer s, int n, Pointer result); - - Pointer set_vals(Pointer s); - - Pointer set_values(Pointer s); - - int spanset_lower(Pointer ss); - - int spanset_mem_size(Pointer ss); - - Pointer spanset_sps(Pointer ss); - - int spanset_upper(Pointer ss); - - void bigintspan_set_floatspan(Pointer s1, Pointer s2); - - void bigintspan_set_intspan(Pointer s1, Pointer s2); - - void datespan_set_tstzspan(Pointer s1, Pointer s2); - - void floatspan_set_bigintspan(Pointer s1, Pointer s2); - - void floatspan_set_intspan(Pointer s1, Pointer s2); - - void intspan_set_bigintspan(Pointer s1, Pointer s2); - - void intspan_set_floatspan(Pointer s1, Pointer s2); - - Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer numspan_expand(Pointer s, Pointer value); - - Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer set_compact(Pointer s); - - void span_expand(Pointer s1, Pointer s2); - - Pointer spanset_compact(Pointer ss); - - Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp); - - Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert); - - void tstzspan_set_datespan(Pointer s1, Pointer s2); - - boolean adjacent_span_value(Pointer s, Pointer value); - - boolean adjacent_spanset_value(Pointer ss, Pointer value); - - boolean adjacent_value_spanset(Pointer value, Pointer ss); - - boolean contained_value_set(Pointer value, Pointer s); - - boolean contained_value_span(Pointer value, Pointer s); - - boolean contained_value_spanset(Pointer value, Pointer ss); - - boolean contains_set_value(Pointer s, Pointer value); - - boolean contains_span_value(Pointer s, Pointer value); - - boolean contains_spanset_value(Pointer ss, Pointer value); - - boolean ovadj_span_span(Pointer s1, Pointer s2); - - boolean left_set_value(Pointer s, Pointer value); - - boolean left_span_value(Pointer s, Pointer value); - - boolean left_spanset_value(Pointer ss, Pointer value); - - boolean left_value_set(Pointer value, Pointer s); - - boolean left_value_span(Pointer value, Pointer s); - - boolean left_value_spanset(Pointer value, Pointer ss); - - boolean lfnadj_span_span(Pointer s1, Pointer s2); - - boolean overleft_set_value(Pointer s, Pointer value); - - boolean overleft_span_value(Pointer s, Pointer value); - - boolean overleft_spanset_value(Pointer ss, Pointer value); - - boolean overleft_value_set(Pointer value, Pointer s); - - boolean overleft_value_span(Pointer value, Pointer s); - - boolean overleft_value_spanset(Pointer value, Pointer ss); - - boolean overright_set_value(Pointer s, Pointer value); - - boolean overright_span_value(Pointer s, Pointer value); - - boolean overright_spanset_value(Pointer ss, Pointer value); - - boolean overright_value_set(Pointer value, Pointer s); - - boolean overright_value_span(Pointer value, Pointer s); - - boolean overright_value_spanset(Pointer value, Pointer ss); - - } - - public interface MeosLibraryPartD { - - boolean right_value_set(Pointer value, Pointer s); - - boolean right_set_value(Pointer s, Pointer value); - - boolean right_value_span(Pointer value, Pointer s); - - boolean right_value_spanset(Pointer value, Pointer ss); - - boolean right_span_value(Pointer s, Pointer value); - - boolean right_spanset_value(Pointer ss, Pointer value); - - boolean bbox_type(int bboxtype); - - long bbox_get_size(int bboxtype); - - int bbox_max_dims(int bboxtype); - - boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype); - - int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype); - - void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result); - - boolean inter_span_span(Pointer s1, Pointer s2, Pointer result); - - Pointer intersection_set_value(Pointer s, Pointer value); - - Pointer intersection_span_value(Pointer s, Pointer value); - - Pointer intersection_spanset_value(Pointer ss, Pointer value); - - Pointer intersection_value_set(Pointer value, Pointer s); - - Pointer intersection_value_span(Pointer value, Pointer s); - - Pointer intersection_value_spanset(Pointer value, Pointer ss); - - int mi_span_span(Pointer s1, Pointer s2, Pointer result); - - Pointer minus_set_value(Pointer s, Pointer value); - - Pointer minus_span_value(Pointer s, Pointer value); - - Pointer minus_spanset_value(Pointer ss, Pointer value); - - Pointer minus_value_set(Pointer value, Pointer s); - - Pointer minus_value_span(Pointer value, Pointer s); - - Pointer minus_value_spanset(Pointer value, Pointer ss); - - Pointer super_union_span_span(Pointer s1, Pointer s2); - - Pointer union_set_value(Pointer s, Pointer value); - - Pointer union_span_value(Pointer s, Pointer value); - - Pointer union_spanset_value(Pointer ss, Pointer value); - - Pointer union_value_set(Pointer value, Pointer s); - - Pointer union_value_span(Pointer value, Pointer s); - - Pointer union_value_spanset(Pointer value, Pointer ss); - - int distance_set_set(Pointer s1, Pointer s2); - - int distance_set_value(Pointer s, Pointer value); - - int distance_span_span(Pointer s1, Pointer s2); - - int distance_span_value(Pointer s, Pointer value); - - int distance_spanset_span(Pointer ss, Pointer s); - - int distance_spanset_spanset(Pointer ss1, Pointer ss2); - - int distance_spanset_value(Pointer ss, Pointer value); - - int distance_value_value(Pointer l, Pointer r, int basetype); - - Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype); - - Pointer value_union_transfn(Pointer state, Pointer value, int basetype); - - Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s); - - Pointer number_timestamptz_to_tbox(Pointer d, int basetype, long t); - - void tbox_set(Pointer s, Pointer p, Pointer box); - - void float_set_tbox(double d, Pointer box); - - void int_set_tbox(int i, Pointer box); - - void number_set_tbox(Pointer d, int basetype, Pointer box); - - Pointer number_tbox(Pointer value, int basetype); - - void numset_set_tbox(Pointer s, Pointer box); - - void numspan_set_tbox(Pointer span, Pointer box); - - void timestamptz_set_tbox(long t, Pointer box); - - void tstzset_set_tbox(Pointer s, Pointer box); - - void tstzspan_set_tbox(Pointer s, Pointer box); - - Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - void tbox_expand(Pointer box1, Pointer box2); - - boolean inter_tbox_tbox(Pointer box1, Pointer box2, Pointer result); - - Pointer tboolinst_from_mfjson(Pointer mfjson); - - Pointer tboolinst_in(String str); - - Pointer tboolseq_from_mfjson(Pointer mfjson); - - Pointer tboolseq_in(String str, int interp); - - Pointer tboolseqset_from_mfjson(Pointer mfjson); - - Pointer tboolseqset_in(String str); - - Pointer temporal_in(String str, int temptype); - - String temporal_out(Pointer temp, int maxdd); - - Pointer temparr_out(Pointer temparr, int count, int maxdd); - - Pointer tfloatinst_from_mfjson(Pointer mfjson); - - Pointer tfloatinst_in(String str); - - Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp); - - Pointer tfloatseq_in(String str, int interp); - - Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp); - - Pointer tfloatseqset_in(String str); - - Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype); - - Pointer tinstant_in(String str, int temptype); - - String tinstant_out(Pointer inst, int maxdd); - - Pointer tintinst_from_mfjson(Pointer mfjson); - - Pointer tintinst_in(String str); - - Pointer tintseq_from_mfjson(Pointer mfjson); - - Pointer tintseq_in(String str, int interp); - - Pointer tintseqset_from_mfjson(Pointer mfjson); - - Pointer tintseqset_in(String str); - - Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); - - Pointer tsequence_in(String str, int temptype, int interp); - - String tsequence_out(Pointer seq, int maxdd); - - Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); - - Pointer tsequenceset_in(String str, int temptype, int interp); - - String tsequenceset_out(Pointer ss, int maxdd); - - Pointer ttextinst_from_mfjson(Pointer mfjson); - - Pointer ttextinst_in(String str); - - Pointer ttextseq_from_mfjson(Pointer mfjson); - - Pointer ttextseq_in(String str, int interp); - - Pointer ttextseqset_from_mfjson(Pointer mfjson); - - Pointer ttextseqset_in(String str); - - Pointer temporal_from_mfjson(String mfjson, int temptype); - - Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp); - - Pointer tinstant_copy(Pointer inst); - - Pointer tinstant_make(Pointer value, int temptype, long t); - - Pointer tinstant_make_free(Pointer value, int temptype, long t); - - Pointer tsequence_copy(Pointer seq); - - Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq); - - Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s); - - Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp); - - Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequenceset_copy(Pointer ss); - - Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs); - - Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss); - - Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp); - - Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize); - - Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize); - - void temporal_set_tstzspan(Pointer temp, Pointer s); - - void tinstant_set_tstzspan(Pointer inst, Pointer s); - - void tnumber_set_tbox(Pointer temp, Pointer box); - - void tnumberinst_set_tbox(Pointer inst, Pointer box); - - void tnumberseq_set_tbox(Pointer seq, Pointer box); - - void tnumberseqset_set_tbox(Pointer ss, Pointer box); - - void tsequence_set_tstzspan(Pointer seq, Pointer s); - - void tsequenceset_set_tstzspan(Pointer ss, Pointer s); - - Pointer temporal_end_inst(Pointer temp); - - int temporal_end_value(Pointer temp); - - Pointer temporal_inst_n(Pointer temp, int n); - - Pointer temporal_insts_p(Pointer temp, Pointer count); - - Pointer temporal_max_inst_p(Pointer temp); - - int temporal_max_value(Pointer temp); - - long temporal_mem_size(Pointer temp); - - Pointer temporal_min_inst_p(Pointer temp); - - int temporal_min_value(Pointer temp); - - Pointer temporal_sequences_p(Pointer temp, Pointer count); - - void temporal_set_bbox(Pointer temp, Pointer box); - - Pointer temporal_start_inst(Pointer temp); - - int temporal_start_value(Pointer temp); - - Pointer temporal_values_p(Pointer temp, Pointer count); - - boolean temporal_value_n(Pointer temp, int n, Pointer result); - - Pointer temporal_values(Pointer temp, Pointer count); - - int tinstant_hash(Pointer inst); - - Pointer tinstant_insts(Pointer inst, Pointer count); - - void tinstant_set_bbox(Pointer inst, Pointer box); - - Pointer tinstant_time(Pointer inst); - - Pointer tinstant_timestamps(Pointer inst, Pointer count); - - int tinstant_value_p(Pointer inst); - - int tinstant_value(Pointer inst); - - boolean tinstant_value_at_timestamptz(Pointer inst, long t, Pointer result); - - Pointer tinstant_values_p(Pointer inst, Pointer count); - - void tnumber_set_span(Pointer temp, Pointer span); - - Pointer tnumberinst_valuespans(Pointer inst); - - double tnumberseq_avg_val(Pointer seq); - - Pointer tnumberseq_valuespans(Pointer seq); - - double tnumberseqset_avg_val(Pointer ss); - - Pointer tnumberseqset_valuespans(Pointer ss); - - Pointer tsequence_duration(Pointer seq); - - long tsequence_end_timestamptz(Pointer seq); - - int tsequence_hash(Pointer seq); - - Pointer tsequence_insts_p(Pointer seq); - - Pointer tsequence_max_inst_p(Pointer seq); - - int tsequence_max_val(Pointer seq); - - Pointer tsequence_min_inst_p(Pointer seq); - - int tsequence_min_val(Pointer seq); - - Pointer tsequence_segments(Pointer seq, Pointer count); - - Pointer tsequence_seqs(Pointer seq, Pointer count); - - long tsequence_start_timestamptz(Pointer seq); - - Pointer tsequence_time(Pointer seq); - - Pointer tsequence_timestamps(Pointer seq, Pointer count); - - boolean tsequence_value_at_timestamptz(Pointer seq, long t, boolean strict, Pointer result); - - Pointer tsequence_values_p(Pointer seq, Pointer count); - - Pointer tsequenceset_duration(Pointer ss, boolean boundspan); - - long tsequenceset_end_timestamptz(Pointer ss); - - int tsequenceset_hash(Pointer ss); - - Pointer tsequenceset_inst_n(Pointer ss, int n); - - Pointer tsequenceset_insts_p(Pointer ss); - - Pointer tsequenceset_max_inst_p(Pointer ss); - - int tsequenceset_max_val(Pointer ss); - - Pointer tsequenceset_min_inst_p(Pointer ss); - - int tsequenceset_min_val(Pointer ss); - - int tsequenceset_num_instants(Pointer ss); - - int tsequenceset_num_timestamps(Pointer ss); - - Pointer tsequenceset_segments(Pointer ss, Pointer count); - - Pointer tsequenceset_sequences_p(Pointer ss); - - long tsequenceset_start_timestamptz(Pointer ss); - - Pointer tsequenceset_time(Pointer ss); - - boolean tsequenceset_timestamptz_n(Pointer ss, int n, Pointer result); - - Pointer tsequenceset_timestamps(Pointer ss, Pointer count); - - boolean tsequenceset_value_at_timestamptz(Pointer ss, long t, boolean strict, Pointer result); - - boolean tsequenceset_value_n(Pointer ss, int n, Pointer result); - - Pointer tsequenceset_values_p(Pointer ss, Pointer count); - - void temporal_restart(Pointer temp, int count); - - Pointer temporal_tsequence(Pointer temp, int interp); - - Pointer temporal_tsequenceset(Pointer temp, int interp); - - Pointer tinstant_shift_time(Pointer inst, Pointer interv); - - Pointer tinstant_to_tsequence(Pointer inst, int interp); - - Pointer tinstant_to_tsequence_free(Pointer inst, int interp); - - Pointer tinstant_to_tsequenceset(Pointer inst, int interp); - - Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer tnumberinst_shift_value(Pointer inst, Pointer shift); - - Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth); - - void tsequence_restart(Pointer seq, int count); - - Pointer tsequence_set_interp(Pointer seq, int interp); - - Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration); - - Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc); - - Pointer tsequence_to_tinstant(Pointer seq); - - Pointer tsequence_to_tsequenceset(Pointer seq); - - Pointer tsequence_to_tsequenceset_free(Pointer seq); - - Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp); - - void tsequenceset_restart(Pointer ss, int count); - - Pointer tsequenceset_set_interp(Pointer ss, int interp); - - Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration); - - Pointer tsequenceset_to_discrete(Pointer ss); - - Pointer tsequenceset_to_linear(Pointer ss); - - Pointer tsequenceset_to_step(Pointer ss); - - Pointer tsequenceset_to_tinstant(Pointer ss); - - Pointer tsequenceset_to_tsequence(Pointer ss); - - Pointer tinstant_merge(Pointer inst1, Pointer inst2); - - Pointer tinstant_merge_array(Pointer instants, int count); - - Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand); - - Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand); - - Pointer tsequence_delete_timestamptz(Pointer seq, long t, boolean connect); - - Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect); - - Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect); - - Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect); - - Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect); - - Pointer tsequence_merge(Pointer seq1, Pointer seq2); - - Pointer tsequence_merge_array(Pointer sequences, int count); - - Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand); - - Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand); - - Pointer tsequenceset_delete_timestamptz(Pointer ss, long t); - - Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s); - - Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s); - - Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps); - - Pointer tsequenceset_insert(Pointer ss1, Pointer ss2); - - Pointer tsequenceset_merge(Pointer ss1, Pointer ss2); - - Pointer tsequenceset_merge_array(Pointer seqsets, int count); - - void tsequence_expand_bbox(Pointer seq, Pointer inst); - - void tsequence_set_bbox(Pointer seq, Pointer box); - - void tsequenceset_expand_bbox(Pointer ss, Pointer seq); - - void tsequenceset_set_bbox(Pointer ss, Pointer box); - - Pointer tcontseq_after_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tcontseq_before_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); - - Pointer tdiscseq_after_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tdiscseq_before_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); - - boolean temporal_bbox_restrict_set(Pointer temp, Pointer set); - - Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc); - - Pointer temporal_restrict_timestamptz(Pointer temp, long t, boolean atfunc); - - Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); - - Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); - - Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); - - Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc); - - Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc); - - boolean temporal_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - Pointer tinstant_after_timestamptz(Pointer inst, long t, boolean strict); - - Pointer tinstant_before_timestamptz(Pointer inst, long t, boolean strict); - - Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc); - - Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc); - - Pointer tinstant_restrict_timestamptz(Pointer inst, long t, boolean atfunc); - - Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc); - - Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc); - - Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc); - - Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc); - - Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc); - - Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc); - - Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc); - - Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc); - - Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc); - - Pointer tsequence_at_timestamptz(Pointer seq, long t); - - Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc); - - Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); - - Pointer tsequenceset_after_timestamptz(Pointer ss, long t, boolean strict); - - Pointer tsequenceset_before_timestamptz(Pointer ss, long t, boolean strict); - - Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc); - - Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc); - - Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc); - - Pointer tsequenceset_restrict_timestamptz(Pointer ss, long t, boolean atfunc); - - Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc); - - Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc); - - Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc); - - int tinstant_cmp(Pointer inst1, Pointer inst2); - - boolean tinstant_eq(Pointer inst1, Pointer inst2); - - int tsequence_cmp(Pointer seq1, Pointer seq2); - - boolean tsequence_eq(Pointer seq1, Pointer seq2); - - int tsequenceset_cmp(Pointer ss1, Pointer ss2); - - boolean tsequenceset_eq(Pointer ss1, Pointer ss2); - - int always_eq_base_temporal(Pointer value, Pointer temp); - - int always_eq_temporal_base(Pointer temp, Pointer value); - - int always_ne_base_temporal(Pointer value, Pointer temp); - - int always_ne_temporal_base(Pointer temp, Pointer value); - - int always_ge_base_temporal(Pointer value, Pointer temp); - - int always_ge_temporal_base(Pointer temp, Pointer value); - - int always_gt_base_temporal(Pointer value, Pointer temp); - - int always_gt_temporal_base(Pointer temp, Pointer value); - - int always_le_base_temporal(Pointer value, Pointer temp); - - int always_le_temporal_base(Pointer temp, Pointer value); - - int always_lt_base_temporal(Pointer value, Pointer temp); - - int always_lt_temporal_base(Pointer temp, Pointer value); - - int ever_eq_base_temporal(Pointer value, Pointer temp); - - int ever_eq_temporal_base(Pointer temp, Pointer value); - - int ever_ne_base_temporal(Pointer value, Pointer temp); - - int ever_ne_temporal_base(Pointer temp, Pointer value); - - int ever_ge_base_temporal(Pointer value, Pointer temp); - - int ever_ge_temporal_base(Pointer temp, Pointer value); - - int ever_gt_base_temporal(Pointer value, Pointer temp); - - int ever_gt_temporal_base(Pointer temp, Pointer value); - - int ever_le_base_temporal(Pointer value, Pointer temp); - - int ever_le_temporal_base(Pointer temp, Pointer value); - - int ever_lt_base_temporal(Pointer value, Pointer temp); - - int ever_lt_temporal_base(Pointer temp, Pointer value); - - Pointer tnumberinst_abs(Pointer inst); - - Pointer tnumberseq_abs(Pointer seq); - - Pointer tnumberseq_angular_difference(Pointer seq); - - Pointer tnumberseq_delta_value(Pointer seq); - - Pointer tnumberseqset_abs(Pointer ss); - - Pointer tnumberseqset_angular_difference(Pointer ss); - - Pointer tnumberseqset_delta_value(Pointer ss); - - double distance_span_span_double(Pointer s1, Pointer s2); - - double nad_tbox_tbox(Pointer box1, Pointer box2); - - double nad_tnumber_number(Pointer temp, Pointer value); - - double nad_tnumber_tbox(Pointer temp, Pointer box); - - double nad_tnumber_tnumber(Pointer temp1, Pointer temp2); - - Pointer tdistance_tnumber_number(Pointer temp, Pointer value); - - double tnumberinst_distance(Pointer inst1, Pointer inst2); - - double tnumberseq_integral(Pointer seq); - - double tnumberseq_twavg(Pointer seq); - - double tnumberseqset_integral(Pointer ss); - - double tnumberseqset_twavg(Pointer ss); - - Pointer temporal_compact(Pointer temp); - - Pointer tsequence_compact(Pointer seq); - - Pointer tsequenceset_compact(Pointer ss); - - Pointer temporal_skiplist_make(); - - Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn); - - int skiplist_search(Pointer list, Pointer key, Pointer value); - - void skiplist_free(Pointer list); - - void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype); - - void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings); - - Pointer skiplist_values(Pointer list); - - Pointer skiplist_keys_values(Pointer list, Pointer values); - - Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt); - - Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq); - - Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count); - - Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count); - - Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count); - - Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, Pointer count); - - Pointer tnumber_value_split(Pointer temp, Pointer vsize, Pointer vorigin, Pointer bins, Pointer count); - - Pointer tbox_get_value_time_tile(Pointer value, long t, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, int basetype, int spantype); - - Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - - Pointer proj_get_context(); - - int datum_geo_round(Pointer value, Pointer size); - - Pointer point_round(Pointer gs, int maxdd); - - void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer box); - - void gbox_set_stbox(Pointer box, int srid, Pointer result); - - boolean geo_set_stbox(Pointer gs, Pointer box); - - void geoarr_set_stbox(Pointer values, int count, Pointer box); - - boolean spatial_set_stbox(Pointer d, int basetype, Pointer box); - - void spatialset_set_stbox(Pointer set, Pointer box); - - void stbox_set_box3d(Pointer box, Pointer box3d); - - void stbox_set_gbox(Pointer box, Pointer gbox); - - void tstzset_set_stbox(Pointer s, Pointer box); - - void tstzspan_set_stbox(Pointer s, Pointer box); - - void tstzspanset_set_stbox(Pointer s, Pointer box); - - void stbox_expand(Pointer box1, Pointer box2); - - boolean inter_stbox_stbox(Pointer box1, Pointer box2, Pointer result); - - Pointer stbox_geo(Pointer box); - - Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeogpointinst_in(String str); - - Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeogpointseq_in(String str, int interp); - - Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeogpointseqset_in(String str); - - Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeompointinst_in(String str); - - Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeompointseq_in(String str, int interp); - - Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeompointseqset_in(String str); - - Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeographyinst_in(String str); - - Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeographyseq_in(String str, int interp); - - Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeographyseqset_in(String str); - - Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeometryinst_in(String str); - - Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeometryseq_in(String str, int interp); - - Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeometryseqset_in(String str); - - void tspatial_set_stbox(Pointer temp, Pointer box); - - void tgeoinst_set_stbox(Pointer inst, Pointer box); - - void tspatialseq_set_stbox(Pointer seq, Pointer box); - - void tspatialseqset_set_stbox(Pointer ss, Pointer box); - - Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc); - - Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); - - Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc); - - Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc); - - Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc); - - Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc); - - int spatial_srid(Pointer d, int basetype); - - boolean spatial_set_srid(Pointer d, int basetype, int srid); - - int tspatialinst_srid(Pointer inst); - - Pointer tpointseq_azimuth(Pointer seq); - - Pointer tpointseq_cumulative_length(Pointer seq, double prevlength); - - boolean tpointseq_is_simple(Pointer seq); - - double tpointseq_length(Pointer seq); - - Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union); - - Pointer tgeoseq_stboxes(Pointer seq, Pointer count); - - Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count); - - Pointer tpointseqset_azimuth(Pointer ss); - - Pointer tpointseqset_cumulative_length(Pointer ss); - - boolean tpointseqset_is_simple(Pointer ss); - - double tpointseqset_length(Pointer ss); - - Pointer tgeoseqset_stboxes(Pointer ss, Pointer count); - - Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count); - - Pointer tpoint_get_coord(Pointer temp, int coord); - - Pointer tgeominst_tgeoginst(Pointer inst, boolean oper); - - Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper); - - Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper); - - Pointer tgeom_tgeog(Pointer temp, boolean oper); - - Pointer tgeo_tpoint(Pointer temp, boolean oper); - - void tspatialinst_set_srid(Pointer inst, int srid); - - Pointer tpointseq_make_simple(Pointer seq, Pointer count); - - void tspatialseq_set_srid(Pointer seq, int srid); - - Pointer tpointseqset_make_simple(Pointer ss, Pointer count); - - void tspatialseqset_set_srid(Pointer ss, int srid); - - Pointer tpointseq_twcentroid(Pointer seq); - - Pointer tpointseqset_twcentroid(Pointer ss); - - String npoint_as_ewkt(Pointer np, int maxdd); - - String npoint_as_hexwkb(Pointer np, byte variant, Pointer size_out); - - String npoint_as_text(Pointer np, int maxdd); - - Pointer npoint_as_wkb(Pointer np, byte variant, Pointer size_out); - - Pointer npoint_from_hexwkb(String hexwkb); - - Pointer npoint_from_wkb(Pointer wkb, long size); - - Pointer npoint_in(String str); - - String npoint_out(Pointer np, int maxdd); - - Pointer nsegment_in(String str); - - String nsegment_out(Pointer ns, int maxdd); - - Pointer npoint_make(long rid, double pos); - - Pointer nsegment_make(long rid, double pos1, double pos2); - - Pointer geompoint_to_npoint(Pointer gs); - - Pointer geom_to_nsegment(Pointer gs); - - Pointer npoint_to_geompoint(Pointer np); - - Pointer npoint_to_nsegment(Pointer np); - - Pointer npoint_to_stbox(Pointer np); - - Pointer nsegment_to_geom(Pointer ns); - - Pointer nsegment_to_stbox(Pointer np); - - int npoint_hash(Pointer np); - - long npoint_hash_extended(Pointer np, long seed); - - double npoint_position(Pointer np); - - long npoint_route(Pointer np); - - double nsegment_end_position(Pointer ns); - - long nsegment_route(Pointer ns); - - double nsegment_start_position(Pointer ns); - - boolean route_exists(long rid); - - Pointer route_geom(long rid); - - double route_length(long rid); - - Pointer npoint_round(Pointer np, int maxdd); - - Pointer nsegment_round(Pointer ns, int maxdd); - - int get_srid_ways(); - - int npoint_srid(Pointer np); - - int nsegment_srid(Pointer ns); - - Pointer npoint_timestamptz_to_stbox(Pointer np, long t); - - Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s); - - int npoint_cmp(Pointer np1, Pointer np2); - - boolean npoint_eq(Pointer np1, Pointer np2); - - boolean npoint_ge(Pointer np1, Pointer np2); - - boolean npoint_gt(Pointer np1, Pointer np2); - - boolean npoint_le(Pointer np1, Pointer np2); - - boolean npoint_lt(Pointer np1, Pointer np2); - - boolean npoint_ne(Pointer np1, Pointer np2); - - boolean npoint_same(Pointer np1, Pointer np2); - - int nsegment_cmp(Pointer ns1, Pointer ns2); - - boolean nsegment_eq(Pointer ns1, Pointer ns2); - - boolean nsegment_ge(Pointer ns1, Pointer ns2); - - boolean nsegment_gt(Pointer ns1, Pointer ns2); - - boolean nsegment_le(Pointer ns1, Pointer ns2); - - boolean nsegment_lt(Pointer ns1, Pointer ns2); - - boolean nsegment_ne(Pointer ns1, Pointer ns2); - - Pointer npointset_in(String str); - - String npointset_out(Pointer s, int maxdd); - - Pointer npointset_make(Pointer values, int count); - - Pointer npoint_to_set(Pointer np); - - Pointer npointset_end_value(Pointer s); - - Pointer npointset_routes(Pointer s); - - Pointer npointset_start_value(Pointer s); - - boolean npointset_value_n(Pointer s, int n, Pointer result); - - Pointer npointset_values(Pointer s); - - boolean contained_npoint_set(Pointer np, Pointer s); - - boolean contains_set_npoint(Pointer s, Pointer np); - - Pointer intersection_npoint_set(Pointer np, Pointer s); - - Pointer intersection_set_npoint(Pointer s, Pointer np); - - Pointer minus_npoint_set(Pointer np, Pointer s); - - Pointer minus_set_npoint(Pointer s, Pointer np); - - Pointer npoint_union_transfn(Pointer state, Pointer np); - - Pointer union_npoint_set(Pointer np, Pointer s); - - Pointer union_set_npoint(Pointer s, Pointer np); - - Pointer tnpoint_in(String str); - - Pointer tnpoint_from_mfjson(String mfjson); - - String tnpoint_out(Pointer temp, int maxdd); - - Pointer tnpointinst_make(Pointer np, long t); - - Pointer tgeompoint_to_tnpoint(Pointer temp); - - Pointer tnpoint_to_tgeompoint(Pointer temp); - - Pointer tnpoint_cumulative_length(Pointer temp); - - double tnpoint_length(Pointer temp); - - Pointer tnpoint_positions(Pointer temp, Pointer count); - - long tnpoint_route(Pointer temp); - - Pointer tnpoint_routes(Pointer temp); - - Pointer tnpoint_speed(Pointer temp); - - Pointer tnpoint_trajectory(Pointer temp); - - Pointer tnpoint_twcentroid(Pointer temp); - - Pointer tnpoint_at_geom(Pointer temp, Pointer gs); - - Pointer tnpoint_at_npoint(Pointer temp, Pointer np); - - Pointer tnpoint_at_npointset(Pointer temp, Pointer s); - - Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tnpoint_minus_geom(Pointer temp, Pointer gs); - - Pointer tnpoint_minus_npoint(Pointer temp, Pointer np); - - Pointer tnpoint_minus_npointset(Pointer temp, Pointer s); - - Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer tdistance_tnpoint_point(Pointer temp, Pointer gs); - - Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - double nad_tnpoint_geo(Pointer temp, Pointer gs); - - double nad_tnpoint_npoint(Pointer temp, Pointer np); - - double nad_tnpoint_stbox(Pointer temp, Pointer box); - - double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer nai_tnpoint_geo(Pointer temp, Pointer gs); - - Pointer nai_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp); - - int always_eq_npoint_tnpoint(Pointer np, Pointer temp); - - int always_eq_tnpoint_npoint(Pointer temp, Pointer np); - - int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int always_ne_npoint_tnpoint(Pointer np, Pointer temp); - - int always_ne_tnpoint_npoint(Pointer temp, Pointer np); - - int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int ever_eq_npoint_tnpoint(Pointer np, Pointer temp); - - int ever_eq_tnpoint_npoint(Pointer temp, Pointer np); - - int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int ever_ne_npoint_tnpoint(Pointer np, Pointer temp); - - int ever_ne_tnpoint_npoint(Pointer temp, Pointer np); - - int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer teq_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer tne_tnpoint_npoint(Pointer temp, Pointer np); - - String pose_as_ewkt(Pointer pose, int maxdd); - - String pose_as_hexwkb(Pointer pose, byte variant, Pointer size); - - String pose_as_text(Pointer pose, int maxdd); - - Pointer pose_as_wkb(Pointer pose, byte variant, Pointer size_out); - - Pointer pose_from_wkb(Pointer wkb, long size); - - Pointer pose_from_hexwkb(String hexwkb); - - Pointer pose_in(String str); - - String pose_out(Pointer pose, int maxdd); - - Pointer pose_copy(Pointer pose); - - Pointer pose_make_2d(double x, double y, double theta, int srid); - - Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid); - - Pointer pose_make_point2d(Pointer gs, double theta); - - Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z); - - Pointer pose_to_point(Pointer pose); - - Pointer pose_to_stbox(Pointer pose); - - int pose_hash(Pointer pose); - - long pose_hash_extended(Pointer pose, long seed); - - Pointer pose_orientation(Pointer pose); - - double pose_rotation(Pointer pose); - - Pointer pose_round(Pointer pose, int maxdd); - - Pointer posearr_round(Pointer posearr, int count, int maxdd); - - void pose_set_srid(Pointer pose, int srid); - - int pose_srid(Pointer pose); - - Pointer pose_transform(Pointer pose, int srid); - - Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward); - - Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s); - - Pointer pose_timestamptz_to_stbox(Pointer pose, long t); - - double distance_pose_geo(Pointer pose, Pointer gs); - - double distance_pose_pose(Pointer pose1, Pointer pose2); - - double distance_pose_stbox(Pointer pose, Pointer box); - - int pose_cmp(Pointer pose1, Pointer pose2); - - boolean pose_eq(Pointer pose1, Pointer pose2); - - boolean pose_ge(Pointer pose1, Pointer pose2); - - boolean pose_gt(Pointer pose1, Pointer pose2); - - boolean pose_le(Pointer pose1, Pointer pose2); - - boolean pose_lt(Pointer pose1, Pointer pose2); - - boolean pose_ne(Pointer pose1, Pointer pose2); - - boolean pose_nsame(Pointer pose1, Pointer pose2); - - boolean pose_same(Pointer pose1, Pointer pose2); - - Pointer poseset_in(String str); - - String poseset_out(Pointer s, int maxdd); - - Pointer poseset_make(Pointer values, int count); - - Pointer pose_to_set(Pointer pose); - - Pointer poseset_end_value(Pointer s); - - Pointer poseset_start_value(Pointer s); - - boolean poseset_value_n(Pointer s, int n, Pointer result); - - Pointer poseset_values(Pointer s); - - boolean contained_pose_set(Pointer pose, Pointer s); - - boolean contains_set_pose(Pointer s, Pointer pose); - - Pointer intersection_pose_set(Pointer pose, Pointer s); - - Pointer intersection_set_pose(Pointer s, Pointer pose); - - Pointer minus_pose_set(Pointer pose, Pointer s); - - Pointer minus_set_pose(Pointer s, Pointer pose); - - Pointer pose_union_transfn(Pointer state, Pointer pose); - - Pointer union_pose_set(Pointer pose, Pointer s); - - Pointer union_set_pose(Pointer s, Pointer pose); - - Pointer tpose_in(String str); - - Pointer tpose_make(Pointer tpoint, Pointer tradius); - - Pointer tpose_to_tpoint(Pointer temp); - - Pointer tpose_end_value(Pointer temp); - - Pointer tpose_points(Pointer temp); - - Pointer tpose_rotation(Pointer temp); - - Pointer tpose_start_value(Pointer temp); - - Pointer tpose_trajectory(Pointer temp); - - boolean tpose_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tpose_value_n(Pointer temp, int n, Pointer result); - - Pointer tpose_values(Pointer temp, Pointer count); - - Pointer tpose_at_geom(Pointer temp, Pointer gs); - - Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tpose_at_pose(Pointer temp, Pointer pose); - - Pointer tpose_minus_geom(Pointer temp, Pointer gs); - - Pointer tpose_minus_pose(Pointer temp, Pointer pose); - - Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_tpose_pose(Pointer temp, Pointer pose); - - Pointer tdistance_tpose_point(Pointer temp, Pointer gs); - - Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2); - - double nad_tpose_geo(Pointer temp, Pointer gs); - - double nad_tpose_pose(Pointer temp, Pointer pose); - - double nad_tpose_stbox(Pointer temp, Pointer box); - - double nad_tpose_tpose(Pointer temp1, Pointer temp2); - - Pointer nai_tpose_geo(Pointer temp, Pointer gs); - - Pointer nai_tpose_pose(Pointer temp, Pointer pose); - - Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2); - - Pointer shortestline_tpose_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tpose_pose(Pointer temp, Pointer pose); - - Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2); - - int always_eq_pose_tpose(Pointer pose, Pointer temp); - - int always_eq_tpose_pose(Pointer temp, Pointer pose); - - int always_eq_tpose_tpose(Pointer temp1, Pointer temp2); - - int always_ne_pose_tpose(Pointer pose, Pointer temp); - - int always_ne_tpose_pose(Pointer temp, Pointer pose); - - int always_ne_tpose_tpose(Pointer temp1, Pointer temp2); - - int ever_eq_pose_tpose(Pointer pose, Pointer temp); - - int ever_eq_tpose_pose(Pointer temp, Pointer pose); - - int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2); - - int ever_ne_pose_tpose(Pointer pose, Pointer temp); - - int ever_ne_tpose_pose(Pointer temp, Pointer pose); - - int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2); - - Pointer teq_pose_tpose(Pointer pose, Pointer temp); - - Pointer teq_tpose_pose(Pointer temp, Pointer pose); - - Pointer tne_pose_tpose(Pointer pose, Pointer temp); - - Pointer tne_tpose_pose(Pointer temp, Pointer pose); - - String trgeo_out(Pointer temp); - - Pointer trgeoinst_make(Pointer geom, Pointer pose, long t); - - Pointer geo_tpose_to_trgeo(Pointer gs, Pointer temp); - - Pointer trgeo_to_tpose(Pointer temp); - - Pointer trgeo_to_tpoint(Pointer temp); - - Pointer trgeo_end_instant(Pointer temp); - - Pointer trgeo_end_sequence(Pointer temp); - - Pointer trgeo_end_value(Pointer temp); - - Pointer trgeo_geom(Pointer temp); - - Pointer trgeo_instant_n(Pointer temp, int n); - - Pointer trgeo_instants(Pointer temp, Pointer count); - - Pointer trgeo_points(Pointer temp); - - Pointer trgeo_rotation(Pointer temp); - - Pointer trgeo_segments(Pointer temp, Pointer count); - - Pointer trgeo_sequence_n(Pointer temp, int i); - - Pointer trgeo_sequences(Pointer temp, Pointer count); - - Pointer trgeo_start_instant(Pointer temp); - - Pointer trgeo_start_sequence(Pointer temp); - - Pointer trgeo_start_value(Pointer temp); - - boolean trgeo_value_n(Pointer temp, int n, Pointer result); - - Pointer trgeo_traversed_area(Pointer temp, boolean unary_union); - - Pointer trgeo_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); - - Pointer trgeo_append_tsequence(Pointer temp, Pointer seq, boolean expand); - - Pointer trgeo_delete_timestamptz(Pointer temp, long t, boolean connect); - - Pointer trgeo_delete_tstzset(Pointer temp, Pointer s, boolean connect); - - Pointer trgeo_delete_tstzspan(Pointer temp, Pointer s, boolean connect); - - Pointer trgeo_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); - - Pointer trgeo_round(Pointer temp, int maxdd); - - Pointer trgeo_set_interp(Pointer temp, int interp); - - Pointer trgeo_to_tinstant(Pointer temp); - - Pointer trgeo_after_timestamptz(Pointer temp, long t, boolean strict); - - Pointer trgeo_before_timestamptz(Pointer temp, long t, boolean strict); - - Pointer trgeo_restrict_value(Pointer temp, Pointer value, boolean atfunc); - - Pointer trgeo_restrict_values(Pointer temp, Pointer s, boolean atfunc); - - Pointer trgeo_restrict_timestamptz(Pointer temp, long t, boolean atfunc); - - Pointer trgeo_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); - - Pointer trgeo_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); - - Pointer trgeo_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); - - Pointer tdistance_trgeo_geo(Pointer temp, Pointer gs); - - Pointer tdistance_trgeo_tpoint(Pointer temp1, Pointer temp2); - - Pointer tdistance_trgeo_trgeo(Pointer temp1, Pointer temp2); - - double nad_stbox_trgeo(Pointer box, Pointer temp); - - double nad_trgeo_geo(Pointer temp, Pointer gs); - - double nad_trgeo_stbox(Pointer temp, Pointer box); - - double nad_trgeo_tpoint(Pointer temp1, Pointer temp2); - - double nad_trgeo_trgeo(Pointer temp1, Pointer temp2); - - Pointer nai_trgeo_geo(Pointer temp, Pointer gs); - - Pointer nai_trgeo_tpoint(Pointer temp1, Pointer temp2); - - Pointer nai_trgeo_trgeo(Pointer temp1, Pointer temp2); - - Pointer shortestline_trgeo_geo(Pointer temp, Pointer gs); - - Pointer shortestline_trgeo_tpoint(Pointer temp1, Pointer temp2); - - Pointer shortestline_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int always_eq_geo_trgeo(Pointer gs, Pointer temp); - - int always_eq_trgeo_geo(Pointer temp, Pointer gs); - - int always_eq_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int always_ne_geo_trgeo(Pointer gs, Pointer temp); - - int always_ne_trgeo_geo(Pointer temp, Pointer gs); - - int always_ne_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int ever_eq_geo_trgeo(Pointer gs, Pointer temp); - - int ever_eq_trgeo_geo(Pointer temp, Pointer gs); - - int ever_eq_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int ever_ne_geo_trgeo(Pointer gs, Pointer temp); - - int ever_ne_trgeo_geo(Pointer temp, Pointer gs); - - int ever_ne_trgeo_trgeo(Pointer temp1, Pointer temp2); - - Pointer teq_geo_trgeo(Pointer gs, Pointer temp); - - Pointer teq_trgeo_geo(Pointer temp, Pointer gs); - - Pointer tne_geo_trgeo(Pointer gs, Pointer temp); - - Pointer tne_trgeo_geo(Pointer temp, Pointer gs); - - int geo_get_srid(Pointer g); - - int date_in(String str); - - String date_out(int d); - - int interval_cmp(Pointer interv1, Pointer interv2); - - Pointer interval_in(String str, int typmod); - - String interval_out(Pointer interv); - - Pointer time_in(String str, int typmod); - - String time_out(Pointer t); - - long timestamp_in(String str, int typmod); - - String timestamp_out(long t); - - long timestamptz_in(String str, int typmod); - - String timestamptz_out(long t); - - } - - private static final String _LIB = "libmeos.so"; - - static final MeosLibraryPartA _meos_a = - JarLibraryLoader.create(MeosLibraryPartA.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartB _meos_b = - JarLibraryLoader.create(MeosLibraryPartB.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartC _meos_c = - JarLibraryLoader.create(MeosLibraryPartC.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartD _meos_d = - JarLibraryLoader.create(MeosLibraryPartD.class, _LIB).getLibraryInstance(); - - private static final java.util.Map _dispatch; - static { - _dispatch = new java.util.HashMap<>(4096); - for (java.lang.reflect.Method _m : MeosLibraryPartA.class.getMethods()) - _dispatch.put(_m.getName(), _meos_a); - for (java.lang.reflect.Method _m : MeosLibraryPartB.class.getMethods()) - _dispatch.put(_m.getName(), _meos_b); - for (java.lang.reflect.Method _m : MeosLibraryPartC.class.getMethods()) - _dispatch.put(_m.getName(), _meos_c); - for (java.lang.reflect.Method _m : MeosLibraryPartD.class.getMethods()) - _dispatch.put(_m.getName(), _meos_d); - } - - - - @SuppressWarnings("unused") - public static Pointer meos_array_create(int elem_size) { - var _result = _meos_a.meos_array_create(elem_size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_array_add(Pointer array, Pointer value) { - _meos_a.meos_array_add(array, value); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer meos_array_get(Pointer array, int n) { - var _result = _meos_a.meos_array_get(array, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_array_count(Pointer array) { - var _result = _meos_a.meos_array_count(array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_array_reset(Pointer array) { - _meos_a.meos_array_reset(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_array_reset_free(Pointer array) { - _meos_a.meos_array_reset_free(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_array_destroy(Pointer array) { - _meos_a.meos_array_destroy(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_array_destroy_free(Pointer array) { - _meos_a.meos_array_destroy_free(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_intspan() { - var _result = _meos_a.rtree_create_intspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_bigintspan() { - var _result = _meos_a.rtree_create_bigintspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_floatspan() { - var _result = _meos_a.rtree_create_floatspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_datespan() { - var _result = _meos_a.rtree_create_datespan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_tstzspan() { - var _result = _meos_a.rtree_create_tstzspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_tbox() { - var _result = _meos_a.rtree_create_tbox(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_stbox() { - var _result = _meos_a.rtree_create_stbox(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void rtree_free(Pointer rtree) { - _meos_a.rtree_free(rtree); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert(Pointer rtree, Pointer box, int id) { - _meos_a.rtree_insert(rtree, box, id); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert_temporal(Pointer rtree, Pointer temp, int id) { - _meos_a.rtree_insert_temporal(rtree, temp, id); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int rtree_search(Pointer rtree, int op, Pointer query, Pointer result) { - var _result = _meos_a.rtree_search(rtree, op, query, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result) { - var _result = _meos_a.rtree_search_temporal(rtree, op, temp, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_error(int errlevel, int errcode, String format) { - _meos_a.meos_error(errlevel, errcode, format); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int meos_errno() { - var _result = _meos_a.meos_errno(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_set(int err) { - var _result = _meos_a.meos_errno_set(err); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_restore(int err) { - var _result = _meos_a.meos_errno_restore(err); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_reset() { - var _result = _meos_a.meos_errno_reset(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_initialize_timezone(String name) { - _meos_a.meos_initialize_timezone(name); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize_error_handler(error_handler_fn err_handler) { - _meos_a.meos_initialize_error_handler(err_handler); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_timezone() { - _meos_a.meos_finalize_timezone(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_projsrs() { - _meos_a.meos_finalize_projsrs(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_ways() { - _meos_a.meos_finalize_ways(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean meos_set_datestyle(String newval, Pointer extra) { - var _result = _meos_a.meos_set_datestyle(newval, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_set_intervalstyle(String newval, int extra) { - var _result = _meos_a.meos_set_intervalstyle(newval, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meos_get_datestyle() { - var _result = _meos_a.meos_get_datestyle(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meos_get_intervalstyle() { - var _result = _meos_a.meos_get_intervalstyle(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_set_spatial_ref_sys_csv(String path) { - _meos_a.meos_set_spatial_ref_sys_csv(path); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize() { - _meos_a.meos_initialize(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize() { - _meos_a.meos_finalize(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int add_date_int(int d, int days) { - var _result = _meos_a.add_date_int(d, days); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_interval_interval(Pointer interv1, Pointer interv2) { - var _result = _meos_a.add_interval_interval(interv1, interv2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime add_timestamptz_interval(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.add_timestamptz_interval(t_new, interv); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static boolean bool_in(String str) { - var _result = _meos_a.bool_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bool_out(boolean b) { - var _result = _meos_a.bool_out(b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cstring2text(String str) { - var _result = _meos_a.cstring2text(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static LocalDateTime date_to_timestamp(int dateVal) { - var _result = _meos_a.date_to_timestamp(dateVal); - MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime date_to_timestamptz(int d) { - var _result = _meos_a.date_to_timestamptz(d); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static double float_exp(double d) { - var _result = _meos_a.float_exp(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_ln(double d) { - var _result = _meos_a.float_ln(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_log10(double d) { - var _result = _meos_a.float_log10(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String float8_out(double d, int maxdd) { - var _result = _meos_a.float8_out(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_round(double d, int maxdd) { - var _result = _meos_a.float_round(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int32_cmp(int l, int r) { - var _result = _meos_a.int32_cmp(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int64_cmp(long l, long r) { - var _result = _meos_a.int64_cmp(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) { - var _result = _meos_a.interval_make(years, months, weeks, days, hours, mins, secs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int minus_date_date(int d1, int d2) { - var _result = _meos_a.minus_date_date(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int minus_date_int(int d, int days) { - var _result = _meos_a.minus_date_int(d, days); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime minus_timestamptz_interval(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_interval(t_new, interv); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_timestamptz(OffsetDateTime t1, OffsetDateTime t2) { - var t1_new = t1.toEpochSecond(); - var t2_new = t2.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_timestamptz(t1_new, t2_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_interval_double(Pointer interv, double factor) { - var _result = _meos_a.mul_interval_double(interv, factor); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pg_date_in(String str) { - var _result = _meos_a.pg_date_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pg_date_out(int d) { - var _result = _meos_a.pg_date_out(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pg_interval_cmp(Pointer interv1, Pointer interv2) { - var _result = _meos_a.pg_interval_cmp(interv1, interv2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pg_interval_in(String str, int typmod) { - var _result = _meos_a.pg_interval_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pg_interval_out(Pointer interv) { - var _result = _meos_a.pg_interval_out(interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static LocalDateTime pg_timestamp_in(String str, int typmod) { - var _result = _meos_a.pg_timestamp_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String pg_timestamp_out(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = _meos_a.pg_timestamp_out(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime pg_timestamptz_in(String str, int typmod) { - var _result = _meos_a.pg_timestamptz_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String pg_timestamptz_out(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.pg_timestamptz_out(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String text2cstring(Pointer txt) { - var _result = _meos_a.text2cstring(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int text_cmp(Pointer txt1, Pointer txt2) { - var _result = _meos_a.text_cmp(txt1, txt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_copy(Pointer txt) { - var _result = _meos_a.text_copy(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_in(String str) { - var _result = _meos_a.text_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_initcap(Pointer txt) { - var _result = _meos_a.text_initcap(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_lower(Pointer txt) { - var _result = _meos_a.text_lower(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String text_out(Pointer txt) { - var _result = _meos_a.text_out(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_upper(Pointer txt) { - var _result = _meos_a.text_upper(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_text(Pointer txt1, Pointer txt2) { - var _result = _meos_a.textcat_text_text(txt1, txt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_shift(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_shift(t_new, interv); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int timestamp_to_date(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = _meos_a.timestamp_to_date(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int timestamptz_to_date(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_date(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_in(String str) { - var _result = _meos_a.bigintset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintset_out(Pointer set) { - var _result = _meos_a.bigintset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_expand(Pointer s, long value) { - var _result = _meos_a.bigintspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_in(String str) { - var _result = _meos_a.bigintspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintspan_out(Pointer s) { - var _result = _meos_a.bigintspan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_in(String str) { - var _result = _meos_a.bigintspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintspanset_out(Pointer ss) { - var _result = _meos_a.bigintspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_in(String str) { - var _result = _meos_a.dateset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String dateset_out(Pointer s) { - var _result = _meos_a.dateset_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_in(String str) { - var _result = _meos_a.datespan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datespan_out(Pointer s) { - var _result = _meos_a.datespan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_in(String str) { - var _result = _meos_a.datespanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datespanset_out(Pointer ss) { - var _result = _meos_a.datespanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_in(String str) { - var _result = _meos_a.floatset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatset_out(Pointer set, int maxdd) { - var _result = _meos_a.floatset_out(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_expand(Pointer s, double value) { - var _result = _meos_a.floatspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_in(String str) { - var _result = _meos_a.floatspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatspan_out(Pointer s, int maxdd) { - var _result = _meos_a.floatspan_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_in(String str) { - var _result = _meos_a.floatspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatspanset_out(Pointer ss, int maxdd) { - var _result = _meos_a.floatspanset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_in(String str) { - var _result = _meos_a.intset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intset_out(Pointer set) { - var _result = _meos_a.intset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_expand(Pointer s, int value) { - var _result = _meos_a.intspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_in(String str) { - var _result = _meos_a.intspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intspan_out(Pointer s) { - var _result = _meos_a.intspan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_in(String str) { - var _result = _meos_a.intspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intspanset_out(Pointer ss) { - var _result = _meos_a.intspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String set_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.set_as_hexwkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.set_as_wkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_from_hexwkb(String hexwkb) { - var _result = _meos_a.set_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.set_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String span_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.span_as_hexwkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.span_as_wkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_from_hexwkb(String hexwkb) { - var _result = _meos_a.span_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.span_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spanset_as_hexwkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.spanset_as_hexwkb(ss, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_as_wkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.spanset_as_wkb(ss, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_from_hexwkb(String hexwkb) { - var _result = _meos_a.spanset_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.spanset_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_in(String str) { - var _result = _meos_a.textset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String textset_out(Pointer set) { - var _result = _meos_a.textset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_in(String str) { - var _result = _meos_a.tstzset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzset_out(Pointer set) { - var _result = _meos_a.tstzset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_in(String str) { - var _result = _meos_a.tstzspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzspan_out(Pointer s) { - var _result = _meos_a.tstzspan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_in(String str) { - var _result = _meos_a.tstzspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzspanset_out(Pointer ss) { - var _result = _meos_a.tstzspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_make(Pointer values, int count) { - var _result = _meos_a.bigintset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.bigintspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_make(Pointer values, int count) { - var _result = _meos_a.dateset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.datespan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_make(Pointer values, int count) { - var _result = _meos_a.floatset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.floatspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_make(Pointer values, int count) { - var _result = _meos_a.intset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.intspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_copy(Pointer s) { - var _result = _meos_a.set_copy(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_copy(Pointer s) { - var _result = _meos_a.span_copy(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_copy(Pointer ss) { - var _result = _meos_a.spanset_copy(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_make(Pointer spans, int count) { - var _result = _meos_a.spanset_make(spans, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_make(Pointer values, int count) { - var _result = _meos_a.textset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_make(Pointer values, int count) { - var _result = _meos_a.tstzset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_make(OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_a.tstzspan_make(lower_new, upper_new, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_set(long i) { - var _result = _meos_a.bigint_to_set(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_span(long i) { - var _result = _meos_a.bigint_to_span(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_spanset(long i) { - var _result = _meos_a.bigint_to_spanset(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_to_intspan(Pointer s) { - var _result = _meos_a.bigintspan_to_intspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_to_floatspan(Pointer s) { - var _result = _meos_a.bigintspan_to_floatspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_set(int d) { - var _result = _meos_a.date_to_set(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_span(int d) { - var _result = _meos_a.date_to_span(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_spanset(int d) { - var _result = _meos_a.date_to_spanset(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_to_tstzset(Pointer s) { - var _result = _meos_a.dateset_to_tstzset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_to_tstzspan(Pointer s) { - var _result = _meos_a.datespan_to_tstzspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_to_tstzspanset(Pointer ss) { - var _result = _meos_a.datespanset_to_tstzspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_set(double d) { - var _result = _meos_a.float_to_set(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_span(double d) { - var _result = _meos_a.float_to_span(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_spanset(double d) { - var _result = _meos_a.float_to_spanset(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_to_intset(Pointer s) { - var _result = _meos_a.floatset_to_intset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_to_bigintspan(Pointer s) { - var _result = _meos_a.floatspan_to_bigintspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_to_intspan(Pointer s) { - var _result = _meos_a.floatspan_to_intspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_to_intspanset(Pointer ss) { - var _result = _meos_a.floatspanset_to_intspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_set(int i) { - var _result = _meos_a.int_to_set(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_span(int i) { - var _result = _meos_a.int_to_span(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_spanset(int i) { - var _result = _meos_a.int_to_spanset(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_to_floatset(Pointer s) { - var _result = _meos_a.intset_to_floatset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_to_bigintspan(Pointer s) { - var _result = _meos_a.intspan_to_bigintspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_to_floatspan(Pointer s) { - var _result = _meos_a.intspan_to_floatspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_to_floatspanset(Pointer ss) { - var _result = _meos_a.intspanset_to_floatspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_span(Pointer s) { - var _result = _meos_a.set_to_span(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_spanset(Pointer s) { - var _result = _meos_a.set_to_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_to_spanset(Pointer s) { - var _result = _meos_a.span_to_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_to_set(Pointer txt) { - var _result = _meos_a.text_to_set(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_set(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_set(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_span(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_span(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_spanset(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_spanset(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_to_dateset(Pointer s) { - var _result = _meos_a.tstzset_to_dateset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_to_datespan(Pointer s) { - var _result = _meos_a.tstzspan_to_datespan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_to_datespanset(Pointer ss) { - var _result = _meos_a.tstzspanset_to_datespanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintset_end_value(Pointer s) { - var _result = _meos_a.bigintset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintset_start_value(Pointer s) { - var _result = _meos_a.bigintset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.bigintset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_values(Pointer s) { - var _result = _meos_a.bigintset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_lower(Pointer s) { - var _result = _meos_a.bigintspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_upper(Pointer s) { - var _result = _meos_a.bigintspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_width(Pointer s) { - var _result = _meos_a.bigintspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_lower(Pointer ss) { - var _result = _meos_a.bigintspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_upper(Pointer ss) { - var _result = _meos_a.bigintspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.bigintspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dateset_end_value(Pointer s) { - var _result = _meos_a.dateset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dateset_start_value(Pointer s) { - var _result = _meos_a.dateset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.dateset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer dateset_values(Pointer s) { - var _result = _meos_a.dateset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_duration(Pointer s) { - var _result = _meos_a.datespan_duration(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespan_lower(Pointer s) { - var _result = _meos_a.datespan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespan_upper(Pointer s) { - var _result = _meos_a.datespan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_date_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.datespanset_date_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_dates(Pointer ss) { - var _result = _meos_a.datespanset_dates(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_a.datespanset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_end_date(Pointer ss) { - var _result = _meos_a.datespanset_end_date(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_num_dates(Pointer ss) { - var _result = _meos_a.datespanset_num_dates(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_start_date(Pointer ss) { - var _result = _meos_a.datespanset_start_date(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatset_end_value(Pointer s) { - var _result = _meos_a.floatset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatset_start_value(Pointer s) { - var _result = _meos_a.floatset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.floatset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer floatset_values(Pointer s) { - var _result = _meos_a.floatset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_lower(Pointer s) { - var _result = _meos_a.floatspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_upper(Pointer s) { - var _result = _meos_a.floatspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_width(Pointer s) { - var _result = _meos_a.floatspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_lower(Pointer ss) { - var _result = _meos_a.floatspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_upper(Pointer ss) { - var _result = _meos_a.floatspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.floatspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intset_end_value(Pointer s) { - var _result = _meos_a.intset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intset_start_value(Pointer s) { - var _result = _meos_a.intset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.intset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer intset_values(Pointer s) { - var _result = _meos_a.intset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_lower(Pointer s) { - var _result = _meos_a.intspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_upper(Pointer s) { - var _result = _meos_a.intspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_width(Pointer s) { - var _result = _meos_a.intspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_lower(Pointer ss) { - var _result = _meos_a.intspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_upper(Pointer ss) { - var _result = _meos_a.intspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.intspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_hash(Pointer s) { - var _result = _meos_a.set_hash(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long set_hash_extended(Pointer s, long seed) { - var _result = _meos_a.set_hash_extended(s, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_num_values(Pointer s) { - var _result = _meos_a.set_num_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_hash(Pointer s) { - var _result = _meos_a.span_hash(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long span_hash_extended(Pointer s, long seed) { - var _result = _meos_a.span_hash_extended(s, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_lower_inc(Pointer s) { - var _result = _meos_a.span_lower_inc(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_upper_inc(Pointer s) { - var _result = _meos_a.span_upper_inc(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_end_span(Pointer ss) { - var _result = _meos_a.spanset_end_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_hash(Pointer ss) { - var _result = _meos_a.spanset_hash(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long spanset_hash_extended(Pointer ss, long seed) { - var _result = _meos_a.spanset_hash_extended(ss, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_lower_inc(Pointer ss) { - var _result = _meos_a.spanset_lower_inc(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_num_spans(Pointer ss) { - var _result = _meos_a.spanset_num_spans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_span(Pointer ss) { - var _result = _meos_a.spanset_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_span_n(Pointer ss, int i) { - var _result = _meos_a.spanset_span_n(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_spanarr(Pointer ss) { - var _result = _meos_a.spanset_spanarr(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_start_span(Pointer ss) { - var _result = _meos_a.spanset_start_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_upper_inc(Pointer ss) { - var _result = _meos_a.spanset_upper_inc(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_end_value(Pointer s) { - var _result = _meos_a.textset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_start_value(Pointer s) { - var _result = _meos_a.textset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.textset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer textset_values(Pointer s) { - var _result = _meos_a.textset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzset_end_value(Pointer s) { - var _result = _meos_a.tstzset_end_value(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzset_start_value(Pointer s) { - var _result = _meos_a.tstzset_start_value(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tstzset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_values(Pointer s) { - var _result = _meos_a.tstzset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_duration(Pointer s) { - var _result = _meos_a.tstzspan_duration(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_lower(Pointer s) { - var _result = _meos_a.tstzspan_lower(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_upper(Pointer s) { - var _result = _meos_a.tstzspan_upper(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_a.tstzspanset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_end_timestamptz(Pointer ss) { - var _result = _meos_a.tstzspanset_end_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_lower(Pointer ss) { - var _result = _meos_a.tstzspanset_lower(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tstzspanset_num_timestamps(Pointer ss) { - var _result = _meos_a.tstzspanset_num_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_start_timestamptz(Pointer ss) { - var _result = _meos_a.tstzspanset_start_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamps(Pointer ss) { - var _result = _meos_a.tstzspanset_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamptz_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tstzspanset_timestamptz_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_upper(Pointer ss) { - var _result = _meos_a.tstzspanset_upper(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.dateset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.datespan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.datespanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_ceil(Pointer s) { - var _result = _meos_a.floatset_ceil(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_degrees(Pointer s, boolean normalize) { - var _result = _meos_a.floatset_degrees(s, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_floor(Pointer s) { - var _result = _meos_a.floatset_floor(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_radians(Pointer s) { - var _result = _meos_a.floatset_radians(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_ceil(Pointer s) { - var _result = _meos_a.floatspan_ceil(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_degrees(Pointer s, boolean normalize) { - var _result = _meos_a.floatspan_degrees(s, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_floor(Pointer s) { - var _result = _meos_a.floatspan_floor(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_radians(Pointer s) { - var _result = _meos_a.floatspan_radians(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_round(Pointer s, int maxdd) { - var _result = _meos_a.floatspan_round(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_ceil(Pointer ss) { - var _result = _meos_a.floatspanset_ceil(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_floor(Pointer ss) { - var _result = _meos_a.floatspanset_floor(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_degrees(Pointer ss, boolean normalize) { - var _result = _meos_a.floatspanset_degrees(ss, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_radians(Pointer ss) { - var _result = _meos_a.floatspanset_radians(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_round(Pointer ss, int maxdd) { - var _result = _meos_a.floatspanset_round(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_expand(Pointer s, Pointer interv) { - var _result = _meos_a.tstzspan_expand(s, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_round(Pointer s, int maxdd) { - var _result = _meos_a.set_round(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_textset(Pointer txt, Pointer s) { - var _result = _meos_a.textcat_text_textset(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_textset_text(Pointer s, Pointer txt) { - var _result = _meos_a.textcat_textset_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_initcap(Pointer s) { - var _result = _meos_a.textset_initcap(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_lower(Pointer s) { - var _result = _meos_a.textset_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_upper(Pointer s) { - var _result = _meos_a.textset_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_tprecision(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.timestamptz_tprecision(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzset_shift_scale(s, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzset_tprecision(s, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzspan_shift_scale(s, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspan_tprecision(s, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzspanset_shift_scale(ss, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspanset_tprecision(ss, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_cmp(Pointer s1, Pointer s2) { - var _result = _meos_a.set_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_eq(Pointer s1, Pointer s2) { - var _result = _meos_a.set_eq(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_ge(Pointer s1, Pointer s2) { - var _result = _meos_a.set_ge(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_gt(Pointer s1, Pointer s2) { - var _result = _meos_a.set_gt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_le(Pointer s1, Pointer s2) { - var _result = _meos_a.set_le(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_lt(Pointer s1, Pointer s2) { - var _result = _meos_a.set_lt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_ne(Pointer s1, Pointer s2) { - var _result = _meos_a.set_ne(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_cmp(Pointer s1, Pointer s2) { - var _result = _meos_a.span_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_eq(Pointer s1, Pointer s2) { - var _result = _meos_a.span_eq(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_ge(Pointer s1, Pointer s2) { - var _result = _meos_a.span_ge(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_gt(Pointer s1, Pointer s2) { - var _result = _meos_a.span_gt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_le(Pointer s1, Pointer s2) { - var _result = _meos_a.span_le(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_lt(Pointer s1, Pointer s2) { - var _result = _meos_a.span_lt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_ne(Pointer s1, Pointer s2) { - var _result = _meos_a.span_ne(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_cmp(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_cmp(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_eq(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_eq(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_ge(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_ge(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_gt(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_gt(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_le(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_le(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_lt(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_lt(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_ne(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_ne(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_spans(Pointer s) { - var _result = _meos_a.set_spans(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count) { - var _result = _meos_a.set_split_each_n_spans(s, elems_per_span, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_split_n_spans(Pointer s, int span_count, Pointer count) { - var _result = _meos_a.set_split_n_spans(s, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_spans(Pointer ss) { - var _result = _meos_a.spanset_spans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count) { - var _result = _meos_a.spanset_split_each_n_spans(ss, elems_per_span, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count) { - var _result = _meos_a.spanset_split_n_spans(ss, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_bigint(Pointer s, long i) { - var _result = _meos_a.adjacent_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_date(Pointer s, int d) { - var _result = _meos_a.adjacent_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_float(Pointer s, double d) { - var _result = _meos_a.adjacent_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_int(Pointer s, int i) { - var _result = _meos_a.adjacent_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.adjacent_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.adjacent_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.adjacent_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.adjacent_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_date(Pointer ss, int d) { - var _result = _meos_a.adjacent_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_float(Pointer ss, double d) { - var _result = _meos_a.adjacent_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_int(Pointer ss, int i) { - var _result = _meos_a.adjacent_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.adjacent_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.adjacent_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.adjacent_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_set(long i, Pointer s) { - var _result = _meos_a.contained_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_span(long i, Pointer s) { - var _result = _meos_a.contained_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.contained_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_set(int d, Pointer s) { - var _result = _meos_a.contained_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_span(int d, Pointer s) { - var _result = _meos_a.contained_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_spanset(int d, Pointer ss) { - var _result = _meos_a.contained_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_set(double d, Pointer s) { - var _result = _meos_a.contained_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_span(double d, Pointer s) { - var _result = _meos_a.contained_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_spanset(double d, Pointer ss) { - var _result = _meos_a.contained_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_set(int i, Pointer s) { - var _result = _meos_a.contained_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_span(int i, Pointer s) { - var _result = _meos_a.contained_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_spanset(int i, Pointer ss) { - var _result = _meos_a.contained_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.contained_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.contained_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.contained_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.contained_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.contained_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.contained_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_bigint(Pointer s, long i) { - var _result = _meos_a.contains_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_date(Pointer s, int d) { - var _result = _meos_a.contains_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_float(Pointer s, double d) { - var _result = _meos_a.contains_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_int(Pointer s, int i) { - var _result = _meos_a.contains_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.contains_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_text(Pointer s, Pointer t) { - var _result = _meos_a.contains_set_text(s, t); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_bigint(Pointer s, long i) { - var _result = _meos_a.contains_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_date(Pointer s, int d) { - var _result = _meos_a.contains_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_float(Pointer s, double d) { - var _result = _meos_a.contains_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_int(Pointer s, int i) { - var _result = _meos_a.contains_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.contains_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.contains_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.contains_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_date(Pointer ss, int d) { - var _result = _meos_a.contains_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_float(Pointer ss, double d) { - var _result = _meos_a.contains_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_int(Pointer ss, int i) { - var _result = _meos_a.contains_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.contains_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.contains_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overlaps_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.overlaps_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.overlaps_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.overlaps_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overlaps_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_set(int d, Pointer s) { - var _result = _meos_a.after_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_span(int d, Pointer s) { - var _result = _meos_a.after_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_spanset(int d, Pointer ss) { - var _result = _meos_a.after_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_set_date(Pointer s, int d) { - var _result = _meos_a.after_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_span_date(Pointer s, int d) { - var _result = _meos_a.after_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_spanset_date(Pointer ss, int d) { - var _result = _meos_a.after_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_set(int d, Pointer s) { - var _result = _meos_a.before_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_span(int d, Pointer s) { - var _result = _meos_a.before_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_spanset(int d, Pointer ss) { - var _result = _meos_a.before_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_set_date(Pointer s, int d) { - var _result = _meos_a.before_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_span_date(Pointer s, int d) { - var _result = _meos_a.before_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_spanset_date(Pointer ss, int d) { - var _result = _meos_a.before_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_set(long i, Pointer s) { - var _result = _meos_a.left_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_span(long i, Pointer s) { - var _result = _meos_a.left_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.left_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_set(double d, Pointer s) { - var _result = _meos_a.left_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_span(double d, Pointer s) { - var _result = _meos_a.left_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_spanset(double d, Pointer ss) { - var _result = _meos_a.left_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_set(int i, Pointer s) { - var _result = _meos_a.left_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_span(int i, Pointer s) { - var _result = _meos_a.left_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_spanset(int i, Pointer ss) { - var _result = _meos_a.left_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_bigint(Pointer s, long i) { - var _result = _meos_a.left_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_float(Pointer s, double d) { - var _result = _meos_a.left_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_int(Pointer s, int i) { - var _result = _meos_a.left_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.left_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.left_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_bigint(Pointer s, long i) { - var _result = _meos_a.left_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_float(Pointer s, double d) { - var _result = _meos_a.left_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_int(Pointer s, int i) { - var _result = _meos_a.left_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.left_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.left_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.left_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_float(Pointer ss, double d) { - var _result = _meos_a.left_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_int(Pointer ss, int i) { - var _result = _meos_a.left_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.left_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.left_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.left_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_set(int d, Pointer s) { - var _result = _meos_a.overafter_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_span(int d, Pointer s) { - var _result = _meos_a.overafter_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_spanset(int d, Pointer ss) { - var _result = _meos_a.overafter_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_set_date(Pointer s, int d) { - var _result = _meos_a.overafter_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_span_date(Pointer s, int d) { - var _result = _meos_a.overafter_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_spanset_date(Pointer ss, int d) { - var _result = _meos_a.overafter_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_set(int d, Pointer s) { - var _result = _meos_a.overbefore_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_span(int d, Pointer s) { - var _result = _meos_a.overbefore_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_spanset(int d, Pointer ss) { - var _result = _meos_a.overbefore_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_set_date(Pointer s, int d) { - var _result = _meos_a.overbefore_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_span_date(Pointer s, int d) { - var _result = _meos_a.overbefore_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_spanset_date(Pointer ss, int d) { - var _result = _meos_a.overbefore_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_set(long i, Pointer s) { - var _result = _meos_a.overleft_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_span(long i, Pointer s) { - var _result = _meos_a.overleft_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.overleft_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_set(double d, Pointer s) { - var _result = _meos_a.overleft_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_span(double d, Pointer s) { - var _result = _meos_a.overleft_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_spanset(double d, Pointer ss) { - var _result = _meos_a.overleft_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_set(int i, Pointer s) { - var _result = _meos_a.overleft_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_span(int i, Pointer s) { - var _result = _meos_a.overleft_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_spanset(int i, Pointer ss) { - var _result = _meos_a.overleft_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_bigint(Pointer s, long i) { - var _result = _meos_a.overleft_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_float(Pointer s, double d) { - var _result = _meos_a.overleft_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_int(Pointer s, int i) { - var _result = _meos_a.overleft_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overleft_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.overleft_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_bigint(Pointer s, long i) { - var _result = _meos_a.overleft_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_float(Pointer s, double d) { - var _result = _meos_a.overleft_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_int(Pointer s, int i) { - var _result = _meos_a.overleft_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.overleft_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.overleft_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.overleft_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_float(Pointer ss, double d) { - var _result = _meos_a.overleft_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_int(Pointer ss, int i) { - var _result = _meos_a.overleft_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.overleft_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overleft_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.overleft_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_set(long i, Pointer s) { - var _result = _meos_a.overright_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_span(long i, Pointer s) { - var _result = _meos_a.overright_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.overright_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_set(double d, Pointer s) { - var _result = _meos_a.overright_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_span(double d, Pointer s) { - var _result = _meos_a.overright_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_spanset(double d, Pointer ss) { - var _result = _meos_a.overright_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_set(int i, Pointer s) { - var _result = _meos_a.overright_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_span(int i, Pointer s) { - var _result = _meos_a.overright_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_spanset(int i, Pointer ss) { - var _result = _meos_a.overright_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_bigint(Pointer s, long i) { - var _result = _meos_a.overright_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_float(Pointer s, double d) { - var _result = _meos_a.overright_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_int(Pointer s, int i) { - var _result = _meos_a.overright_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overright_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.overright_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_bigint(Pointer s, long i) { - var _result = _meos_a.overright_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_float(Pointer s, double d) { - var _result = _meos_a.overright_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_int(Pointer s, int i) { - var _result = _meos_a.overright_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.overright_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.overright_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.overright_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_float(Pointer ss, double d) { - var _result = _meos_a.overright_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_int(Pointer ss, int i) { - var _result = _meos_a.overright_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.overright_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overright_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.overright_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_set(long i, Pointer s) { - var _result = _meos_a.right_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_span(long i, Pointer s) { - var _result = _meos_a.right_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.right_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_set(double d, Pointer s) { - var _result = _meos_a.right_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_span(double d, Pointer s) { - var _result = _meos_a.right_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_spanset(double d, Pointer ss) { - var _result = _meos_a.right_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_set(int i, Pointer s) { - var _result = _meos_a.right_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_span(int i, Pointer s) { - var _result = _meos_a.right_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_spanset(int i, Pointer ss) { - var _result = _meos_a.right_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_bigint(Pointer s, long i) { - var _result = _meos_a.right_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_float(Pointer s, double d) { - var _result = _meos_a.right_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_int(Pointer s, int i) { - var _result = _meos_a.right_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.right_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.right_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_bigint(Pointer s, long i) { - var _result = _meos_a.right_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_float(Pointer s, double d) { - var _result = _meos_a.right_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_int(Pointer s, int i) { - var _result = _meos_a.right_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.right_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.right_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.right_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_float(Pointer ss, double d) { - var _result = _meos_a.right_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_int(Pointer ss, int i) { - var _result = _meos_a.right_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.right_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.right_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.right_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_bigint_set(long i, Pointer s) { - var _result = _meos_a.intersection_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_date_set(int d, Pointer s) { - var _result = _meos_a.intersection_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_float_set(double d, Pointer s) { - var _result = _meos_a.intersection_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_int_set(int i, Pointer s) { - var _result = _meos_a.intersection_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_bigint(Pointer s, long i) { - var _result = _meos_a.intersection_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_date(Pointer s, int d) { - var _result = _meos_a.intersection_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_float(Pointer s, double d) { - var _result = _meos_a.intersection_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_int(Pointer s, int i) { - var _result = _meos_a.intersection_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.intersection_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.intersection_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_bigint(Pointer s, long i) { - var _result = _meos_a.intersection_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_date(Pointer s, int d) { - var _result = _meos_a.intersection_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_float(Pointer s, double d) { - var _result = _meos_a.intersection_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_int(Pointer s, int i) { - var _result = _meos_a.intersection_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.intersection_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.intersection_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.intersection_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_date(Pointer ss, int d) { - var _result = _meos_a.intersection_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_float(Pointer ss, double d) { - var _result = _meos_a.intersection_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_int(Pointer ss, int i) { - var _result = _meos_a.intersection_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.intersection_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.intersection_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.intersection_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_set(long i, Pointer s) { - var _result = _meos_a.minus_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_span(long i, Pointer s) { - var _result = _meos_a.minus_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.minus_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_set(int d, Pointer s) { - var _result = _meos_a.minus_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_span(int d, Pointer s) { - var _result = _meos_a.minus_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_spanset(int d, Pointer ss) { - var _result = _meos_a.minus_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_set(double d, Pointer s) { - var _result = _meos_a.minus_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_span(double d, Pointer s) { - var _result = _meos_a.minus_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_spanset(double d, Pointer ss) { - var _result = _meos_a.minus_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_set(int i, Pointer s) { - var _result = _meos_a.minus_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_span(int i, Pointer s) { - var _result = _meos_a.minus_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_spanset(int i, Pointer ss) { - var _result = _meos_a.minus_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_bigint(Pointer s, long i) { - var _result = _meos_a.minus_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_date(Pointer s, int d) { - var _result = _meos_a.minus_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_float(Pointer s, double d) { - var _result = _meos_a.minus_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_int(Pointer s, int i) { - var _result = _meos_a.minus_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.minus_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.minus_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_bigint(Pointer s, long i) { - var _result = _meos_a.minus_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_date(Pointer s, int d) { - var _result = _meos_a.minus_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_float(Pointer s, double d) { - var _result = _meos_a.minus_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_int(Pointer s, int i) { - var _result = _meos_a.minus_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.minus_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.minus_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.minus_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_date(Pointer ss, int d) { - var _result = _meos_a.minus_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_float(Pointer ss, double d) { - var _result = _meos_a.minus_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_int(Pointer ss, int i) { - var _result = _meos_a.minus_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.minus_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.minus_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.minus_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_set(long i, Pointer s) { - var _result = _meos_a.union_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_span(Pointer s, long i) { - var _result = _meos_a.union_bigint_span(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.union_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_set(int d, Pointer s) { - var _result = _meos_a.union_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_span(Pointer s, int d) { - var _result = _meos_a.union_date_span(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_spanset(int d, Pointer ss) { - var _result = _meos_a.union_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_set(double d, Pointer s) { - var _result = _meos_a.union_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_span(Pointer s, double d) { - var _result = _meos_a.union_float_span(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_spanset(double d, Pointer ss) { - var _result = _meos_a.union_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_set(int i, Pointer s) { - var _result = _meos_a.union_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_span(int i, Pointer s) { - var _result = _meos_a.union_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_spanset(int i, Pointer ss) { - var _result = _meos_a.union_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_bigint(Pointer s, long i) { - var _result = _meos_a.union_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_date(Pointer s, int d) { - var _result = _meos_a.union_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_float(Pointer s, double d) { - var _result = _meos_a.union_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_int(Pointer s, int i) { - var _result = _meos_a.union_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.union_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.union_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_bigint(Pointer s, long i) { - var _result = _meos_a.union_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_date(Pointer s, int d) { - var _result = _meos_a.union_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_float(Pointer s, double d) { - var _result = _meos_a.union_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_int(Pointer s, int i) { - var _result = _meos_a.union_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.union_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.union_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.union_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_date(Pointer ss, int d) { - var _result = _meos_a.union_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_float(Pointer ss, double d) { - var _result = _meos_a.union_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_int(Pointer ss, int i) { - var _result = _meos_a.union_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_a.union_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.union_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.union_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintset_bigintset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_bigintset_bigintset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspan_bigintspan(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_bigintspan_bigintspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspan(Pointer ss, Pointer s) { - var _result = _meos_a.distance_bigintspanset_bigintspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_bigintspanset_bigintspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_dateset_dateset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_dateset_dateset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespan_datespan(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_datespan_datespan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespanset_datespan(Pointer ss, Pointer s) { - var _result = _meos_a.distance_datespanset_datespan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespanset_datespanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_datespanset_datespanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatset_floatset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_floatset_floatset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspan_floatspan(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_floatspan_floatspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspanset_floatspan(Pointer ss, Pointer s) { - var _result = _meos_a.distance_floatspanset_floatspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_floatspanset_floatspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intset_intset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_intset_intset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspan_intspan(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_intspan_intspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspanset_intspan(Pointer ss, Pointer s) { - var _result = _meos_a.distance_intspanset_intspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspanset_intspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_intspanset_intspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_set_bigint(Pointer s, long i) { - var _result = _meos_a.distance_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_date(Pointer s, int d) { - var _result = _meos_a.distance_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_set_float(Pointer s, double d) { - var _result = _meos_a.distance_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_int(Pointer s, int i) { - var _result = _meos_a.distance_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.distance_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_span_bigint(Pointer s, long i) { - var _result = _meos_a.distance_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_date(Pointer s, int d) { - var _result = _meos_a.distance_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_float(Pointer s, double d) { - var _result = _meos_a.distance_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_int(Pointer s, int i) { - var _result = _meos_a.distance_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.distance_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.distance_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_date(Pointer ss, int d) { - var _result = _meos_a.distance_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_spanset_float(Pointer ss, double d) { - var _result = _meos_a.distance_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_int(Pointer ss, int i) { - var _result = _meos_a.distance_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.distance_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzset_tstzset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_tstzset_tstzset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspan_tstzspan(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_tstzspan_tstzspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspan(Pointer ss, Pointer s) { - var _result = _meos_a.distance_tstzspanset_tstzspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_tstzspanset_tstzspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_extent_transfn(Pointer state, long i) { - var _result = _meos_a.bigint_extent_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_union_transfn(Pointer state, long i) { - var _result = _meos_a.bigint_union_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_extent_transfn(Pointer state, int d) { - var _result = _meos_a.date_extent_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_union_transfn(Pointer state, int d) { - var _result = _meos_a.date_union_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_extent_transfn(Pointer state, double d) { - var _result = _meos_a.float_extent_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_union_transfn(Pointer state, double d) { - var _result = _meos_a.float_union_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_extent_transfn(Pointer state, int i) { - var _result = _meos_a.int_extent_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_union_transfn(Pointer state, int i) { - var _result = _meos_a.int_union_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_extent_transfn(Pointer state, Pointer s) { - var _result = _meos_a.set_extent_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_union_finalfn(Pointer state) { - var _result = _meos_a.set_union_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_union_transfn(Pointer state, Pointer s) { - var _result = _meos_a.set_union_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_extent_transfn(Pointer state, Pointer s) { - var _result = _meos_a.span_extent_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_union_transfn(Pointer state, Pointer s) { - var _result = _meos_a.span_union_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_extent_transfn(Pointer state, Pointer ss) { - var _result = _meos_a.spanset_extent_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_union_finalfn(Pointer state) { - var _result = _meos_a.spanset_union_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_union_transfn(Pointer state, Pointer ss) { - var _result = _meos_a.spanset_union_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_union_transfn(Pointer state, Pointer txt) { - var _result = _meos_a.text_union_transfn(state, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_extent_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_extent_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_union_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_union_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigint_get_bin(long value, long vsize, long vorigin) { - var _result = _meos_a.bigint_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_bins(Pointer s, long vsize, long vorigin, Pointer count) { - var _result = _meos_a.bigintspan_bins(s, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count) { - var _result = _meos_a.bigintspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int date_get_bin(int d, Pointer duration, int torigin) { - var _result = _meos_a.date_get_bin(d, duration, torigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_bins(Pointer s, Pointer duration, int torigin, Pointer count) { - var _result = _meos_a.datespan_bins(s, duration, torigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count) { - var _result = _meos_a.datespanset_bins(ss, duration, torigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_get_bin(double value, double vsize, double vorigin) { - var _result = _meos_a.float_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_bins(Pointer s, double vsize, double vorigin, Pointer count) { - var _result = _meos_a.floatspan_bins(s, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count) { - var _result = _meos_a.floatspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int_get_bin(int value, int vsize, int vorigin) { - var _result = _meos_a.int_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_bins(Pointer s, int vsize, int vorigin, Pointer count) { - var _result = _meos_a.intspan_bins(s, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count) { - var _result = _meos_a.intspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_get_bin(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.timestamptz_get_bin(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_bins(Pointer s, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_a.tstzspan_bins(s, duration, origin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_bins(Pointer ss, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspanset_bins(ss, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = _meos_a.tbox_as_hexwkb(box, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.tbox_as_wkb(box, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_from_hexwkb(String hexwkb) { - var _result = _meos_a.tbox_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.tbox_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_in(String str) { - var _result = _meos_a.tbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbox_out(Pointer box, int maxdd) { - var _result = _meos_a.tbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_timestamptz_to_tbox(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.float_timestamptz_to_tbox(d, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_tstzspan_to_tbox(double d, Pointer s) { - var _result = _meos_a.float_tstzspan_to_tbox(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_timestamptz_to_tbox(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.int_timestamptz_to_tbox(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_tstzspan_to_tbox(int i, Pointer s) { - var _result = _meos_a.int_tstzspan_to_tbox(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_tstzspan_to_tbox(Pointer span, Pointer s) { - var _result = _meos_a.numspan_tstzspan_to_tbox(span, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_timestamptz_to_tbox(Pointer span, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.numspan_timestamptz_to_tbox(span, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_copy(Pointer box) { - var _result = _meos_a.tbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_make(Pointer s, Pointer p) { - var _result = _meos_a.tbox_make(s, p); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_tbox(double d) { - var _result = _meos_a.float_to_tbox(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_tbox(int i) { - var _result = _meos_a.int_to_tbox(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_tbox(Pointer s) { - var _result = _meos_a.set_to_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_to_tbox(Pointer s) { - var _result = _meos_a.span_to_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_to_tbox(Pointer ss) { - var _result = _meos_a.spanset_to_tbox(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_bigintspan(Pointer box) { - var _result = _meos_a.tbox_to_bigintspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_intspan(Pointer box) { - var _result = _meos_a.tbox_to_intspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_floatspan(Pointer box) { - var _result = _meos_a.tbox_to_floatspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_tstzspan(Pointer box) { - var _result = _meos_a.tbox_to_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_tbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_tbox(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_hash(Pointer box) { - var _result = _meos_a.tbox_hash(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbox_hash_extended(Pointer box, long seed) { - var _result = _meos_a.tbox_hash_extended(box, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_hast(Pointer box) { - var _result = _meos_a.tbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_hasx(Pointer box) { - var _result = _meos_a.tbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_tmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_tmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_xmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbox_xmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxfloat_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tboxfloat_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxfloat_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tboxfloat_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxint_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_b.tboxint_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxint_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_b.tboxint_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbigintbox_expand(Pointer box, long i) { - var _result = _meos_b.tbigintbox_expand(box, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.tbigintbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_expand_time(Pointer box, Pointer interv) { - var _result = _meos_b.tbox_expand_time(box, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_round(Pointer box, int maxdd) { - var _result = _meos_b.tbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = _meos_b.tbox_shift_scale_time(box, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_expand(Pointer box, double d) { - var _result = _meos_b.tfloatbox_expand(box, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_expand(Pointer box, int i) { - var _result = _meos_b.tintbox_expand(box, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.tintbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_b.union_tbox_tbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.intersection_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.adjacent_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.contained_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.contains_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overlaps_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.same_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.after_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.before_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.left_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overafter_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overbefore_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overleft_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overright_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_b.right_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_le(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_b.tbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_from_mfjson(String str) { - var _result = _meos_b.tbigint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_in(String str) { - var _result = _meos_b.tbigint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbigint_out(Pointer temp) { - var _result = _meos_b.tbigint_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_from_mfjson(String str) { - var _result = _meos_b.tbool_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_in(String str) { - var _result = _meos_b.tbool_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbool_out(Pointer temp) { - var _result = _meos_b.tbool_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_as_hexwkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.temporal_as_hexwkb(temp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs) { - var _result = _meos_b.temporal_as_mfjson(temp, with_bbox, flags, precision, srs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_as_wkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.temporal_as_wkb(temp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_hexwkb(String hexwkb) { - var _result = _meos_b.temporal_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_wkb(Pointer wkb, long size) { - var _result = _meos_b.temporal_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_from_mfjson(String str) { - var _result = _meos_b.tfloat_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_in(String str) { - var _result = _meos_b.tfloat_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tfloat_out(Pointer temp, int maxdd) { - var _result = _meos_b.tfloat_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_from_mfjson(String str) { - var _result = _meos_b.tint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_in(String str) { - var _result = _meos_b.tint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tint_out(Pointer temp) { - var _result = _meos_b.tint_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_from_mfjson(String str) { - var _result = _meos_b.ttext_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_in(String str) { - var _result = _meos_b.ttext_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String ttext_out(Pointer temp) { - var _result = _meos_b.ttext_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_from_base_temp(long i, Pointer temp) { - var _result = _meos_b.tbigint_from_base_temp(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintinst_make(long i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tbigintinst_make(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseq_from_base_tstzset(long i, Pointer s) { - var _result = _meos_b.tbigintseq_from_base_tstzset(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseq_from_base_tstzspan(long i, Pointer s) { - var _result = _meos_b.tbigintseq_from_base_tstzspan(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss) { - var _result = _meos_b.tbigintseqset_from_base_tstzspanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_from_base_temp(boolean b, Pointer temp) { - var _result = _meos_b.tbool_from_base_temp(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_make(boolean b, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tboolinst_make(b, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzset(boolean b, Pointer s) { - var _result = _meos_b.tboolseq_from_base_tstzset(b, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzspan(boolean b, Pointer s) { - var _result = _meos_b.tboolseq_from_base_tstzspan(b, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss) { - var _result = _meos_b.tboolseqset_from_base_tstzspanset(b, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_copy(Pointer temp) { - var _result = _meos_b.temporal_copy(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_from_base_temp(double d, Pointer temp) { - var _result = _meos_b.tfloat_from_base_temp(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_make(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tfloatinst_make(d, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzset(double d, Pointer s) { - var _result = _meos_b.tfloatseq_from_base_tstzset(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzspan(double d, Pointer s, int interp) { - var _result = _meos_b.tfloatseq_from_base_tstzspan(d, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp) { - var _result = _meos_b.tfloatseqset_from_base_tstzspanset(d, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_from_base_temp(int i, Pointer temp) { - var _result = _meos_b.tint_from_base_temp(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_make(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tintinst_make(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzset(int i, Pointer s) { - var _result = _meos_b.tintseq_from_base_tstzset(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzspan(int i, Pointer s) { - var _result = _meos_b.tintseq_from_base_tstzspan(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss) { - var _result = _meos_b.tintseqset_from_base_tstzspanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_b.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize) { - var _result = _meos_b.tsequenceset_make(sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist) { - var _result = _meos_b.tsequenceset_make_gaps(instants, count, interp, maxt, maxdist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_from_base_temp(Pointer txt, Pointer temp) { - var _result = _meos_b.ttext_from_base_temp(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_make(Pointer txt, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.ttextinst_make(txt, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s) { - var _result = _meos_b.ttextseq_from_base_tstzset(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer s) { - var _result = _meos_b.ttextseq_from_base_tstzspan(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss) { - var _result = _meos_b.ttextseqset_from_base_tstzspanset(txt, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_to_tfloat(Pointer temp) { - var _result = _meos_b.tbigint_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_to_tint(Pointer temp) { - var _result = _meos_b.tbigint_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_to_tint(Pointer temp) { - var _result = _meos_b.tbool_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tstzspan(Pointer temp) { - var _result = _meos_b.temporal_to_tstzspan(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_to_tbigint(Pointer temp) { - var _result = _meos_b.tfloat_to_tbigint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_to_tint(Pointer temp) { - var _result = _meos_b.tfloat_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_to_tbigint(Pointer temp) { - var _result = _meos_b.tint_to_tbigint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_to_tfloat(Pointer temp) { - var _result = _meos_b.tint_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_to_span(Pointer temp) { - var _result = _meos_b.tnumber_to_span(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_to_tbox(Pointer temp) { - var _result = _meos_b.tnumber_to_tbox(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_end_value(Pointer temp) { - var _result = _meos_b.tbigint_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_max_value(Pointer temp) { - var _result = _meos_b.tbigint_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_min_value(Pointer temp) { - var _result = _meos_b.tbigint_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_start_value(Pointer temp) { - var _result = _meos_b.tbigint_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbigint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tbigint_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_value_n(Pointer temp, long n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tbigint_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_values(Pointer temp, Pointer count) { - var _result = _meos_b.tbigint_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_end_value(Pointer temp) { - var _result = _meos_b.tbool_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_start_value(Pointer temp) { - var _result = _meos_b.tbool_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tbool_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.tbool_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbool_values(Pointer temp, Pointer count) { - var _result = _meos_b.tbool_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_duration(Pointer temp, boolean boundspan) { - var _result = _meos_b.temporal_duration(temp, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_instant(Pointer temp) { - var _result = _meos_b.temporal_end_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_sequence(Pointer temp) { - var _result = _meos_b.temporal_end_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime temporal_end_timestamptz(Pointer temp) { - var _result = _meos_b.temporal_end_timestamptz(temp); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int temporal_hash(Pointer temp) { - var _result = _meos_b.temporal_hash(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instant_n(Pointer temp, int n) { - var _result = _meos_b.temporal_instant_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instants(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_instants(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_interp(Pointer temp) { - var _result = _meos_b.temporal_interp(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_lower_inc(Pointer temp) { - var _result = _meos_b.temporal_lower_inc(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_max_instant(Pointer temp) { - var _result = _meos_b.temporal_max_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_min_instant(Pointer temp) { - var _result = _meos_b.temporal_min_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_instants(Pointer temp) { - var _result = _meos_b.temporal_num_instants(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_sequences(Pointer temp) { - var _result = _meos_b.temporal_num_sequences(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_timestamps(Pointer temp) { - var _result = _meos_b.temporal_num_timestamps(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict) { - var _result = _meos_b.temporal_segm_duration(temp, duration, atleast, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_segments(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_segments(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequence_n(Pointer temp, int i) { - var _result = _meos_b.temporal_sequence_n(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequences(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_sequences(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_instant(Pointer temp) { - var _result = _meos_b.temporal_start_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_sequence(Pointer temp) { - var _result = _meos_b.temporal_start_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime temporal_start_timestamptz(Pointer temp) { - var _result = _meos_b.temporal_start_timestamptz(temp); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration) { - var _result = _meos_b.temporal_stops(temp, maxdist, minduration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_subtype(Pointer temp) { - var _result = _meos_b.temporal_subtype(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time(Pointer temp) { - var _result = _meos_b.temporal_time(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_timestamps(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_timestamps(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_timestamptz_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.temporal_timestamptz_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static boolean temporal_upper_inc(Pointer temp) { - var _result = _meos_b.temporal_upper_inc(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_avg_value(Pointer temp) { - var _result = _meos_b.tfloat_avg_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_end_value(Pointer temp) { - var _result = _meos_b.tfloat_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_min_value(Pointer temp) { - var _result = _meos_b.tfloat_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_max_value(Pointer temp) { - var _result = _meos_b.tfloat_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_start_value(Pointer temp) { - var _result = _meos_b.tfloat_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tfloat_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tfloat_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tfloat_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_values(Pointer temp, Pointer count) { - var _result = _meos_b.tfloat_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_end_value(Pointer temp) { - var _result = _meos_b.tint_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_max_value(Pointer temp) { - var _result = _meos_b.tint_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_min_value(Pointer temp) { - var _result = _meos_b.tint_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_start_value(Pointer temp) { - var _result = _meos_b.tint_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tint_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_b.tint_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tint_values(Pointer temp, Pointer count) { - var _result = _meos_b.tint_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_avg_value(Pointer temp) { - var _result = _meos_b.tnumber_avg_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_integral(Pointer temp) { - var _result = _meos_b.tnumber_integral(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_twavg(Pointer temp) { - var _result = _meos_b.tnumber_twavg(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_valuespans(Pointer temp) { - var _result = _meos_b.tnumber_valuespans(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_end_value(Pointer temp) { - var _result = _meos_b.ttext_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_max_value(Pointer temp) { - var _result = _meos_b.ttext_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_min_value(Pointer temp) { - var _result = _meos_b.ttext_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_start_value(Pointer temp) { - var _result = _meos_b.ttext_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ttext_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.ttext_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.ttext_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer ttext_values(Pointer temp, Pointer count) { - var _result = _meos_b.ttext_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_degrees(double value, boolean normalize) { - var _result = _meos_b.float_degrees(value, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_scale_value(Pointer temp, long width) { - var _result = _meos_b.tbigint_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width) { - var _result = _meos_b.tbigint_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_shift_value(Pointer temp, long shift) { - var _result = _meos_b.tbigint_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temparr_round(Pointer temp, int count, int maxdd) { - var _result = _meos_b.temparr_round(temp, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_round(Pointer temp, int maxdd) { - var _result = _meos_b.temporal_round(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_scale_time(Pointer temp, Pointer duration) { - var _result = _meos_b.temporal_scale_time(temp, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_set_interp(Pointer temp, int interp) { - var _result = _meos_b.temporal_set_interp(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration) { - var _result = _meos_b.temporal_shift_scale_time(temp, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_shift_time(Pointer temp, Pointer shift) { - var _result = _meos_b.temporal_shift_time(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tinstant(Pointer temp) { - var _result = _meos_b.temporal_to_tinstant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tsequence(Pointer temp, int interp) { - var _result = _meos_b.temporal_to_tsequence(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tsequenceset(Pointer temp, int interp) { - var _result = _meos_b.temporal_to_tsequenceset(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_ceil(Pointer temp) { - var _result = _meos_b.tfloat_ceil(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_degrees(Pointer temp, boolean normalize) { - var _result = _meos_b.tfloat_degrees(temp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_floor(Pointer temp) { - var _result = _meos_b.tfloat_floor(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_radians(Pointer temp) { - var _result = _meos_b.tfloat_radians(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_scale_value(Pointer temp, double width) { - var _result = _meos_b.tfloat_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width) { - var _result = _meos_b.tfloat_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_shift_value(Pointer temp, double shift) { - var _result = _meos_b.tfloat_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_scale_value(Pointer temp, int width) { - var _result = _meos_b.tint_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_shift_scale_value(Pointer temp, int shift, int width) { - var _result = _meos_b.tint_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_shift_value(Pointer temp, int shift) { - var _result = _meos_b.tint_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_b.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand) { - var _result = _meos_b.temporal_append_tsequence(temp, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.temporal_delete_timestamptz(temp, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_b.temporal_delete_tstzset(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_b.temporal_delete_tstzspan(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { - var _result = _meos_b.temporal_delete_tstzspanset(temp, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect) { - var _result = _meos_b.temporal_insert(temp1, temp2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_merge(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_array(Pointer temparr, int count) { - var _result = _meos_b.temporal_merge_array(temparr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect) { - var _result = _meos_b.temporal_update(temp1, temp2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_at_value(Pointer temp, long i) { - var _result = _meos_b.tbigint_at_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_minus_value(Pointer temp, long i) { - var _result = _meos_b.tbigint_minus_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_at_value(Pointer temp, boolean b) { - var _result = _meos_b.tbool_at_value(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_minus_value(Pointer temp, boolean b) { - var _result = _meos_b.tbool_minus_value(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.temporal_after_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_max(Pointer temp) { - var _result = _meos_b.temporal_at_max(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_min(Pointer temp) { - var _result = _meos_b.temporal_at_min(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.temporal_at_timestamptz(temp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzset(Pointer temp, Pointer s) { - var _result = _meos_b.temporal_at_tstzset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.temporal_at_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss) { - var _result = _meos_b.temporal_at_tstzspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_values(Pointer temp, Pointer set) { - var _result = _meos_b.temporal_at_values(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.temporal_before_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_max(Pointer temp) { - var _result = _meos_b.temporal_minus_max(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_min(Pointer temp) { - var _result = _meos_b.temporal_minus_min(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.temporal_minus_timestamptz(temp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzset(Pointer temp, Pointer s) { - var _result = _meos_b.temporal_minus_tstzset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.temporal_minus_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss) { - var _result = _meos_b.temporal_minus_tstzspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_values(Pointer temp, Pointer set) { - var _result = _meos_b.temporal_minus_values(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_at_value(Pointer temp, double d) { - var _result = _meos_b.tfloat_at_value(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_minus_value(Pointer temp, double d) { - var _result = _meos_b.tfloat_minus_value(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_at_value(Pointer temp, int i) { - var _result = _meos_b.tint_at_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_minus_value(Pointer temp, int i) { - var _result = _meos_b.tint_minus_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_span(Pointer temp, Pointer span) { - var _result = _meos_b.tnumber_at_span(temp, span); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_spanset(Pointer temp, Pointer ss) { - var _result = _meos_b.tnumber_at_spanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.tnumber_at_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_span(Pointer temp, Pointer span) { - var _result = _meos_b.tnumber_minus_span(temp, span); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_spanset(Pointer temp, Pointer ss) { - var _result = _meos_b.tnumber_minus_spanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.tnumber_minus_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_at_value(Pointer temp, Pointer txt) { - var _result = _meos_b.ttext_at_value(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_minus_value(Pointer temp, Pointer txt) { - var _result = _meos_b.ttext_minus_value(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_cmp(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_cmp(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_eq(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_eq(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_ge(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_ge(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_gt(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_gt(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_le(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_le(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_lt(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_lt(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_ne(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_ne(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.always_eq_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.always_eq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.always_eq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_int_tint(int i, Pointer temp) { - var _result = _meos_b.always_eq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.always_eq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_eq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.always_eq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.always_eq_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.always_eq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tint_int(Pointer temp, int i) { - var _result = _meos_b.always_eq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.always_eq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.always_ge_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.always_ge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_int_tint(int i, Pointer temp) { - var _result = _meos_b.always_ge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.always_ge_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_ge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.always_ge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.always_ge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tint_int(Pointer temp, int i) { - var _result = _meos_b.always_ge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.always_ge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.always_gt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.always_gt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_int_tint(int i, Pointer temp) { - var _result = _meos_b.always_gt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.always_gt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_gt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.always_gt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.always_gt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tint_int(Pointer temp, int i) { - var _result = _meos_b.always_gt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.always_gt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.always_le_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.always_le_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_int_tint(int i, Pointer temp) { - var _result = _meos_b.always_le_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.always_le_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_le_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.always_le_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.always_le_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tint_int(Pointer temp, int i) { - var _result = _meos_b.always_le_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.always_le_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.always_lt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.always_lt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_int_tint(int i, Pointer temp) { - var _result = _meos_b.always_lt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_lt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.always_lt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.always_lt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tint_int(Pointer temp, int i) { - var _result = _meos_b.always_lt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.always_lt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.always_ne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.always_ne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_int_tint(int i, Pointer temp) { - var _result = _meos_b.always_ne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.always_lt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.always_ne_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.always_ne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.always_ne_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_ne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.always_ne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.always_ne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tint_int(Pointer temp, int i) { - var _result = _meos_b.always_ne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.always_ne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.ever_eq_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.ever_eq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.ever_eq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_int_tint(int i, Pointer temp) { - var _result = _meos_b.ever_eq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.ever_eq_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.ever_eq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_eq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.ever_eq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.ever_eq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tint_int(Pointer temp, int i) { - var _result = _meos_b.ever_eq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.ever_eq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.ever_ge_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.ever_ge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_int_tint(int i, Pointer temp) { - var _result = _meos_b.ever_ge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.ever_ge_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_ge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.ever_ge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.ever_ge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tint_int(Pointer temp, int i) { - var _result = _meos_b.ever_ge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.ever_ge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.ever_gt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.ever_gt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_int_tint(int i, Pointer temp) { - var _result = _meos_b.ever_gt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.ever_gt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_gt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.ever_gt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.ever_gt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tint_int(Pointer temp, int i) { - var _result = _meos_b.ever_gt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.ever_gt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.ever_le_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.ever_le_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_int_tint(int i, Pointer temp) { - var _result = _meos_b.ever_le_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.ever_le_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_le_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.ever_le_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.ever_le_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tint_int(Pointer temp, int i) { - var _result = _meos_b.ever_le_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.ever_le_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.ever_lt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.ever_lt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_int_tint(int i, Pointer temp) { - var _result = _meos_b.ever_lt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.ever_lt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_lt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.ever_lt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.ever_lt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tint_int(Pointer temp, int i) { - var _result = _meos_b.ever_lt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.ever_lt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_b.ever_ne_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.ever_ne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.ever_ne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_int_tint(int i, Pointer temp) { - var _result = _meos_b.ever_ne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_b.ever_ne_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.ever_ne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_ne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.ever_ne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.ever_ne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tint_int(Pointer temp, int i) { - var _result = _meos_b.ever_ne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.ever_ne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.teq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.teq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_int_tint(int i, Pointer temp) { - var _result = _meos_b.teq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.teq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.teq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.teq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.teq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tint_int(Pointer temp, int i) { - var _result = _meos_b.teq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.teq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_int_tint(int i, Pointer temp) { - var _result = _meos_b.tge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_tint_int(Pointer temp, int i) { - var _result = _meos_b.tge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tgt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_int_tint(int i, Pointer temp) { - var _result = _meos_b.tgt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tgt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tgt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tgt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_tint_int(Pointer temp, int i) { - var _result = _meos_b.tgt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tgt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tle_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_int_tint(int i, Pointer temp) { - var _result = _meos_b.tle_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tle_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tle_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tle_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_tint_int(Pointer temp, int i) { - var _result = _meos_b.tle_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tle_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tlt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_int_tint(int i, Pointer temp) { - var _result = _meos_b.tlt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tlt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tlt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tlt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_tint_int(Pointer temp, int i) { - var _result = _meos_b.tlt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tlt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.tne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_int_tint(int i, Pointer temp) { - var _result = _meos_b.tne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.tne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tint_int(Pointer temp, int i) { - var _result = _meos_b.tne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_spans(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_spans(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_b.temporal_split_each_n_spans(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count) { - var _result = _meos_b.temporal_split_n_spans(temp, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_b.tnumber_split_each_n_tboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_b.tnumber_split_n_tboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tboxes(Pointer temp, Pointer count) { - var _result = _meos_b.tnumber_tboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.adjacent_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.adjacent_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adjacent_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.adjacent_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.adjacent_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.adjacent_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adjacent_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.adjacent_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.contained_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.contained_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contained_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.contained_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.contained_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.contained_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contained_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.contained_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.contains_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.contains_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.contains_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contains_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.contains_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.contains_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contains_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.contains_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.overlaps_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overlaps_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overlaps_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.overlaps_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.overlaps_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overlaps_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overlaps_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.overlaps_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.same_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.same_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.same_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.same_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.same_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.same_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.same_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.same_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.after_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.after_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.after_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.after_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.after_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.after_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.before_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.before_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.before_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.before_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.before_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.before_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.left_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.left_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.left_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.left_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.left_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overafter_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.overafter_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overafter_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overafter_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overafter_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.overafter_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overbefore_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = _meos_b.overbefore_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overbefore_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overbefore_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overbefore_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = _meos_b.overbefore_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.overleft_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overleft_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.overleft_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overleft_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overleft_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.overright_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overright_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.overright_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overright_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overright_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_numspan_tnumber(Pointer s, Pointer temp) { - var _result = _meos_b.right_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.right_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_b.right_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.right_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.right_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.tand_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.tand_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tand_tbool_tbool(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_when_true(Pointer temp) { - var _result = _meos_b.tbool_when_true(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnot_tbool(Pointer temp) { - var _result = _meos_b.tnot_tbool(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.tor_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.tor_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tor_tbool_tbool(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.add_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.add_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.add_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.add_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.add_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.add_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.add_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.div_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.div_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.div_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.div_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.div_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.div_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.div_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.mul_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.mul_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.mul_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.mul_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.mul_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.mul_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.mul_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.sub_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.sub_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.sub_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.sub_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.sub_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.sub_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.sub_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_derivative(Pointer temp) { - var _result = _meos_b.temporal_derivative(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_exp(Pointer temp) { - var _result = _meos_b.tfloat_exp(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_ln(Pointer temp) { - var _result = _meos_b.tfloat_ln(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_log10(Pointer temp) { - var _result = _meos_b.tfloat_log10(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_abs(Pointer temp) { - var _result = _meos_b.tnumber_abs(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_trend(Pointer temp) { - var _result = _meos_b.tnumber_trend(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_angular_difference(double degrees1, double degrees2) { - var _result = _meos_b.float_angular_difference(degrees1, degrees2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_angular_difference(Pointer temp) { - var _result = _meos_b.tnumber_angular_difference(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_delta_value(Pointer temp) { - var _result = _meos_b.tnumber_delta_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.textcat_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.textcat_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2) { - var _result = _meos_b.textcat_ttext_ttext(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_initcap(Pointer temp) { - var _result = _meos_b.ttext_initcap(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_upper(Pointer temp) { - var _result = _meos_b.ttext_upper(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_lower(Pointer temp) { - var _result = _meos_b.ttext_lower(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tdistance_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tint_int(Pointer temp, int i) { - var _result = _meos_b.tdistance_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tdistance_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2) { - var _result = _meos_b.nad_tboxfloat_tboxfloat(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tboxint_tboxint(Pointer box1, Pointer box2) { - var _result = _meos_b.nad_tboxint_tboxint(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.nad_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_tfloat(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nad_tfloat_tfloat(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.nad_tfloat_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_int(Pointer temp, int i) { - var _result = _meos_b.nad_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.nad_tint_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_tint(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nad_tint_tint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tand_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tbool_tand_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tor_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tbool_tor_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_extent_transfn(Pointer s, Pointer temp) { - var _result = _meos_b.temporal_extent_transfn(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.temporal_merge_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.temporal_merge_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tagg_finalfn(Pointer state) { - var _result = _meos_b.temporal_tagg_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tcount_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.temporal_tcount_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tfloat_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tfloat_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tsum_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tfloat_tsum_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tfloat_wmax_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tfloat_wmin_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tfloat_wsum_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_tcount_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.timestamptz_tcount_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tint_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tint_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tsum_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tint_tsum_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tint_wmax_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tint_wmin_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tint_wsum_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_extent_transfn(Pointer box, Pointer temp) { - var _result = _meos_b.tnumber_extent_transfn(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_finalfn(Pointer state) { - var _result = _meos_b.tnumber_tavg_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tnumber_tavg_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tnumber_wavg_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_tcount_transfn(Pointer state, Pointer s) { - var _result = _meos_b.tstzset_tcount_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_tcount_transfn(Pointer state, Pointer s) { - var _result = _meos_b.tstzspan_tcount_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss) { - var _result = _meos_b.tstzspanset_tcount_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.ttext_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.ttext_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_dp(Pointer temp, double eps_dist, boolean synchronize) { - var _result = _meos_b.temporal_simplify_dp(temp, eps_dist, synchronize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_max_dist(Pointer temp, double eps_dist, boolean synchronize) { - var _result = _meos_b.temporal_simplify_max_dist(temp, eps_dist, synchronize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_dist(Pointer temp, double dist) { - var _result = _meos_b.temporal_simplify_min_dist(temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint) { - var _result = _meos_b.temporal_simplify_min_tdelta(temp, mint); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tprecision(Pointer temp, Pointer duration, OffsetDateTime origin) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.temporal_tprecision(temp, duration, origin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsample(Pointer temp, Pointer duration, OffsetDateTime origin, int interp) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.temporal_tsample(temp, duration, origin_new, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_dyntimewarp_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_b.temporal_dyntimewarp_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_frechet_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_frechet_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_b.temporal_frechet_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_hausdorff_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_hausdorff_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_bins(Pointer temp, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.temporal_time_bins(temp, duration, origin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_split(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.temporal_time_split(temp, duration, torigin_new, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloat_time_boxes(temp, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.tfloat_value_bins(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.tfloat_value_boxes(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_split(Pointer temp, double size, double origin, Pointer bins, Pointer count) { - var _result = _meos_b.tfloat_value_split(temp, size, origin, bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloat_value_time_split(temp, vsize, duration, vorigin, torigin_new, value_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloatbox_time_tiles(box, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.tfloatbox_value_tiles(box, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tint_time_boxes(temp, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = _meos_b.tint_value_bins(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = _meos_b.tint_value_boxes(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_split(Pointer temp, int vsize, int vorigin, Pointer bins, Pointer count) { - var _result = _meos_b.tint_value_split(temp, vsize, vorigin, bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tint_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tintbox_time_tiles(box, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count) { - var _result = _meos_b.tintbox_value_tiles(box, xsize, xorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_initialize_noexit_error_handler() { - _meos_b.meos_initialize_noexit_error_handler(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean h3_are_neighbor_cells_meos(long origin, long destination) { - var _result = _meos_b.h3_are_neighbor_cells_meos(origin, destination); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cells_to_directed_edge_meos(long origin, long destination) { - var _result = _meos_b.h3_cells_to_directed_edge_meos(origin, destination); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_valid_directed_edge_meos(long edge) { - var _result = _meos_b.h3_is_valid_directed_edge_meos(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_get_directed_edge_origin_meos(long edge) { - var _result = _meos_b.h3_get_directed_edge_origin_meos(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_get_directed_edge_destination_meos(long edge) { - var _result = _meos_b.h3_get_directed_edge_destination_meos(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_parent_meos(long origin, int resolution) { - var _result = _meos_b.h3_cell_to_parent_meos(origin, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_center_child_meos(long origin, int resolution) { - var _result = _meos_b.h3_cell_to_center_child_meos(origin, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_child_pos_meos(long child, int parentRes) { - var _result = _meos_b.h3_cell_to_child_pos_meos(child, parentRes); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes) { - var _result = _meos_b.h3_child_pos_to_cell_meos(childPos, parent, childRes); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3_get_resolution_meos(long hex) { - var _result = _meos_b.h3_get_resolution_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3_get_base_cell_number_meos(long hex) { - var _result = _meos_b.h3_get_base_cell_number_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_valid_cell_meos(long hex) { - var _result = _meos_b.h3_is_valid_cell_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_res_class_iii_meos(long hex) { - var _result = _meos_b.h3_is_res_class_iii_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_pentagon_meos(long hex) { - var _result = _meos_b.h3_is_pentagon_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_get_num_cells_meos(int resolution) { - var _result = _meos_b.h3_get_num_cells_meos(resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_grid_distance_meos(long originIndex, long h3Index) { - var _result = _meos_b.h3_grid_distance_meos(originIndex, h3Index); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_vertex_meos(long cell, int vertexNum) { - var _result = _meos_b.h3_cell_to_vertex_meos(cell, vertexNum); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_valid_vertex_meos(long vertex) { - var _result = _meos_b.h3_is_valid_vertex_meos(vertex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3index_parse(String str) { - var _result = _meos_b.h3index_parse(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String h3index_to_string(long cell) { - var _result = _meos_b.h3index_to_string(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_eq(long a, long b) { - var _result = _meos_b.h3index_eq(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_ne(long a, long b) { - var _result = _meos_b.h3index_ne(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_lt(long a, long b) { - var _result = _meos_b.h3index_lt(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_le(long a, long b) { - var _result = _meos_b.h3index_le(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_gt(long a, long b) { - var _result = _meos_b.h3index_gt(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_ge(long a, long b) { - var _result = _meos_b.h3index_ge(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3index_cmp(long a, long b) { - var _result = _meos_b.h3index_cmp(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3index_hash(long cell) { - var _result = _meos_b.h3index_hash(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_grid_disk(long origin, int k) { - var _result = _meos_b.h3_grid_disk(origin, k); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_grid_ring(long origin, int k) { - var _result = _meos_b.h3_grid_ring(origin, k); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_grid_path_cells(long start, long end) { - var _result = _meos_b.h3_grid_path_cells(start, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_children(long origin, int childRes) { - var _result = _meos_b.h3_cell_to_children(origin, childRes); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_compact_cells(Pointer cells) { - var _result = _meos_b.h3_compact_cells(cells); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_uncompact_cells(Pointer cells, int res) { - var _result = _meos_b.h3_uncompact_cells(cells, res); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_origin_to_directed_edges(long origin) { - var _result = _meos_b.h3_origin_to_directed_edges(origin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_vertexes(long cell) { - var _result = _meos_b.h3_cell_to_vertexes(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_get_icosahedron_faces(long cell) { - var _result = _meos_b.h3_get_icosahedron_faces(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ensure_valid_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_b.ensure_valid_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ensure_valid_th3index_tgeogpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum2_h3index_eq(int d1, int d2, int type) { - var _result = _meos_b.datum2_h3index_eq(d1, d2, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum2_h3index_ne(int d1, int d2, int type) { - var _result = _meos_b.datum2_h3index_ne(d1, d2, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void th3indexinst_set_stbox(Pointer inst, Pointer box) { - _meos_b.th3indexinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box) { - _meos_b.th3indexinstarr_set_stbox(instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void th3indexseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_b.th3indexseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static long h3_gs_point_to_cell(Pointer point, int resolution) { - var _result = _meos_b.h3_gs_point_to_cell(point, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_gs_point(long cell) { - var _result = _meos_b.h3_cell_to_gs_point(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_gs_boundary(long cell) { - var _result = _meos_b.h3_cell_to_gs_boundary(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cell_boundary_to_gs(Pointer bnd) { - var _result = _meos_b.cell_boundary_to_gs(bnd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_sample_step_deg(int resolution) { - var _result = _meos_b.h3_sample_step_deg(resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution) { - var _result = _meos_b.h3_latlng_deg_to_cell(lat_deg, lng_deg, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_parent_next_meos(long cell) { - var _result = _meos_b.h3_cell_to_parent_next_meos(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_center_child_next_meos(long cell) { - var _result = _meos_b.h3_cell_to_center_child_next_meos(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_directed_edge_to_gs_boundary(long edge) { - var _result = _meos_b.h3_directed_edge_to_gs_boundary(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_vertex_to_gs_point(long vertex) { - var _result = _meos_b.h3_vertex_to_gs_point(vertex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_local_ij_meos(long origin, long cell) { - var _result = _meos_b.h3_cell_to_local_ij_meos(origin, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_local_ij_to_cell_meos(long origin, Pointer coord) { - var _result = _meos_b.h3_local_ij_to_cell_meos(origin, coord); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3_unit_from_cstring(String unit) { - var _result = _meos_b.h3_unit_from_cstring(unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_cell_area_meos(long cell, int unit) { - var _result = _meos_b.h3_cell_area_meos(cell, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_edge_length_meos(long edge, int unit) { - var _result = _meos_b.h3_edge_length_meos(edge, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit) { - var _result = _meos_b.h3_gs_great_circle_distance_meos(a, b, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_get_resolution(int d) { - var _result = _meos_b.datum_h3_get_resolution(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_get_base_cell_number(int d) { - var _result = _meos_b.datum_h3_get_base_cell_number(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_is_valid_cell(int d) { - var _result = _meos_b.datum_h3_is_valid_cell(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_is_res_class_iii(int d) { - var _result = _meos_b.datum_h3_is_res_class_iii(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_is_pentagon(int d) { - var _result = _meos_b.datum_h3_is_pentagon(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_parent(int cell_d, int res_d) { - var _result = _meos_b.datum_h3_cell_to_parent(cell_d, res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_parent_next(int cell_d) { - var _result = _meos_b.datum_h3_cell_to_parent_next(cell_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_center_child(int cell_d, int res_d) { - var _result = _meos_b.datum_h3_cell_to_center_child(cell_d, res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_center_child_next(int cell_d) { - var _result = _meos_b.datum_h3_cell_to_center_child_next(cell_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_child_pos(int cell_d, int parent_res_d) { - var _result = _meos_b.datum_h3_cell_to_child_pos(cell_d, parent_res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_child_pos_to_cell(int pos_d, int parent_d, int child_res_d) { - var _result = _meos_b.datum_h3_child_pos_to_cell(pos_d, parent_d, child_res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_are_neighbor_cells(int origin_d, int dest_d) { - var _result = _meos_b.datum_h3_are_neighbor_cells(origin_d, dest_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cells_to_directed_edge(int origin_d, int dest_d) { - var _result = _meos_b.datum_h3_cells_to_directed_edge(origin_d, dest_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_is_valid_directed_edge(int d) { - var _result = _meos_b.datum_h3_is_valid_directed_edge(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_get_directed_edge_origin(int d) { - var _result = _meos_b.datum_h3_get_directed_edge_origin(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_get_directed_edge_destination(int d) { - var _result = _meos_b.datum_h3_get_directed_edge_destination(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_directed_edge_to_boundary(int d) { - var _result = _meos_b.datum_h3_directed_edge_to_boundary(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_vertex(int cell_d, int vnum_d) { - var _result = _meos_b.datum_h3_cell_to_vertex(cell_d, vnum_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_vertex_to_latlng(int d) { - var _result = _meos_b.datum_h3_vertex_to_latlng(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_is_valid_vertex(int d) { - var _result = _meos_b.datum_h3_is_valid_vertex(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_grid_distance(int origin_d, int dest_d) { - var _result = _meos_b.datum_h3_grid_distance(origin_d, dest_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_local_ij(int origin_d, int cell_d) { - var _result = _meos_b.datum_h3_cell_to_local_ij(origin_d, cell_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_local_ij_to_cell(int origin_d, int coord_d) { - var _result = _meos_b.datum_h3_local_ij_to_cell(origin_d, coord_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_latlng_to_cell(int point_d, int res_d) { - var _result = _meos_b.datum_h3_latlng_to_cell(point_d, res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_latlng(int d) { - var _result = _meos_b.datum_h3_cell_to_latlng(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_to_boundary(int d) { - var _result = _meos_b.datum_h3_cell_to_boundary(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_cell_area(int cell_d, int unit_d) { - var _result = _meos_b.datum_h3_cell_area(cell_d, unit_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_edge_length(int edge_d, int unit_d) { - var _result = _meos_b.datum_h3_edge_length(edge_d, unit_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_h3_great_circle_distance(int a_d, int b_d, int unit_d) { - var _result = _meos_b.datum_h3_great_circle_distance(a_d, b_d, unit_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size) { - var _result = _meos_b.geo_as_ewkb(gs, endian, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_ewkt(Pointer gs, int precision) { - var _result = _meos_b.geo_as_ewkt(gs, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_geojson(Pointer gs, int option, int precision, String srs) { - var _result = _meos_b.geo_as_geojson(gs, option, precision, srs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_hexewkb(Pointer gs, String endian) { - var _result = _meos_b.geo_as_hexewkb(gs, endian); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_text(Pointer gs, int precision) { - var _result = _meos_b.geo_as_text(gs, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid) { - var _result = _meos_b.geo_from_ewkb(wkb, wkb_size, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_geojson(String geojson) { - var _result = _meos_b.geo_from_geojson(geojson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_text(String wkt, int srid) { - var _result = _meos_b.geo_from_text(wkt, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_out(Pointer gs) { - var _result = _meos_b.geo_out(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_from_binary(String wkb_bytea) { - var _result = _meos_b.geog_from_binary(wkb_bytea); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_from_hexewkb(String wkt) { - var _result = _meos_b.geog_from_hexewkb(wkt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_in(String str, int typmod) { - var _result = _meos_b.geog_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_from_hexewkb(String wkt) { - var _result = _meos_b.geom_from_hexewkb(wkt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_in(String str, int typmod) { - var _result = _meos_b.geom_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) { - var _result = _meos_b.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String box3d_out(Pointer box, int maxdd) { - var _result = _meos_b.box3d_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) { - var _result = _meos_b.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String gbox_out(Pointer box, int maxdd) { - var _result = _meos_b.gbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_copy(Pointer g) { - var _result = _meos_b.geo_copy(g); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogpoint_make2d(int srid, double x, double y) { - var _result = _meos_b.geogpoint_make2d(srid, x, y); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogpoint_make3dz(int srid, double x, double y, double z) { - var _result = _meos_b.geogpoint_make3dz(srid, x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_make2d(int srid, double x, double y) { - var _result = _meos_b.geompoint_make2d(srid, x, y); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_make3dz(int srid, double x, double y, double z) { - var _result = _meos_b.geompoint_make3dz(srid, x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_geog(Pointer geom) { - var _result = _meos_b.geom_to_geog(geom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_to_geom(Pointer geog) { - var _result = _meos_b.geog_to_geom(geog); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_is_empty(Pointer g) { - var _result = _meos_c.geo_is_empty(g); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_is_unitary(Pointer gs) { - var _result = _meos_c.geo_is_unitary(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_typename(int type) { - var _result = _meos_c.geo_typename(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_area(Pointer g, boolean use_spheroid) { - var _result = _meos_c.geog_area(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_centroid(Pointer g, boolean use_spheroid) { - var _result = _meos_c.geog_centroid(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_length(Pointer g, boolean use_spheroid) { - var _result = _meos_c.geog_length(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_perimeter(Pointer g, boolean use_spheroid) { - var _result = _meos_c.geog_perimeter(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_azimuth(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.geom_azimuth(gs1, gs2, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static double geom_length(Pointer gs) { - var _result = _meos_c.geom_length(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_perimeter(Pointer gs) { - var _result = _meos_c.geom_perimeter(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int line_numpoints(Pointer gs) { - var _result = _meos_c.line_numpoints(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_point_n(Pointer geom, int n) { - var _result = _meos_c.line_point_n(geom, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_reverse(Pointer gs) { - var _result = _meos_c.geo_reverse(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_round(Pointer gs, int maxdd) { - var _result = _meos_c.geo_round(gs, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_set_srid(Pointer gs, int srid) { - var _result = _meos_c.geo_set_srid(gs, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_srid(Pointer gs) { - var _result = _meos_c.geo_srid(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_transform(Pointer geom, int srid_to) { - var _result = _meos_c.geo_transform(geom, srid_to); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward) { - var _result = _meos_c.geo_transform_pipeline(gs, pipeline, srid_to, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_collect_garray(Pointer gsarr, int count) { - var _result = _meos_c.geo_collect_garray(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_makeline_garray(Pointer gsarr, int count) { - var _result = _meos_c.geo_makeline_garray(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_num_points(Pointer gs) { - var _result = _meos_c.geo_num_points(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_num_geos(Pointer gs) { - var _result = _meos_c.geo_num_geos(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_geo_n(Pointer geom, int n) { - var _result = _meos_c.geo_geo_n(geom, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_pointarr(Pointer gs, Pointer count) { - var _result = _meos_c.geo_pointarr(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_points(Pointer gs) { - var _result = _meos_c.geo_points(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_array_union(Pointer gsarr, int count) { - var _result = _meos_c.geom_array_union(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_boundary(Pointer gs) { - var _result = _meos_c.geom_boundary(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_buffer(Pointer gs, double size, String params) { - var _result = _meos_c.geom_buffer(gs, size, params); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_centroid(Pointer gs) { - var _result = _meos_c.geom_centroid(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_convex_hull(Pointer gs) { - var _result = _meos_c.geom_convex_hull(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_difference2d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_difference2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_intersection2d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_intersection2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_intersection2d_coll(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_min_bounding_radius(Pointer geom, Pointer radius) { - var _result = _meos_c.geom_min_bounding_radius(geom, radius); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_shortestline2d(Pointer gs1, Pointer s2) { - var _result = _meos_c.geom_shortestline2d(gs1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_shortestline3d(Pointer gs1, Pointer s2) { - var _result = _meos_c.geom_shortestline3d(gs1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_unary_union(Pointer gs, double prec) { - var _result = _meos_c.geom_unary_union(gs, prec); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat) { - var _result = _meos_c.line_interpolate_point(gs, distance_fraction, repeat); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double line_locate_point(Pointer gs1, Pointer gs2) { - var _result = _meos_c.line_locate_point(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_substring(Pointer gs, double from, double to) { - var _result = _meos_c.line_substring(gs, from, to); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid) { - var _result = _meos_c.geog_dwithin(g1, g2, tolerance, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid) { - var _result = _meos_c.geog_intersects(gs1, gs2, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_contains(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_contains(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_covers(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_covers(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_disjoint2d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_disjoint2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = _meos_c.geom_dwithin2d(gs1, gs2, tolerance); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = _meos_c.geom_dwithin3d(gs1, gs2, tolerance); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_intersects2d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_intersects2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_intersects3d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_intersects3d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt) { - var _result = _meos_c.geom_relate_pattern(gs1, gs2, patt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_touches(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_touches(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_stboxes(Pointer gs, Pointer count) { - var _result = _meos_c.geo_stboxes(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count) { - var _result = _meos_c.geo_split_each_n_stboxes(gs, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count) { - var _result = _meos_c.geo_split_n_stboxes(gs, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_distance(Pointer g1, Pointer g2) { - var _result = _meos_c.geog_distance(g1, g2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_distance2d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_distance2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_distance3d(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geom_distance3d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_equals(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geo_equals(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_same(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geo_same(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogset_in(String str) { - var _result = _meos_c.geogset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geomset_in(String str) { - var _result = _meos_c.geomset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_as_text(Pointer set, int maxdd) { - var _result = _meos_c.spatialset_as_text(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_as_ewkt(Pointer set, int maxdd) { - var _result = _meos_c.spatialset_as_ewkt(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_make(Pointer values, int count) { - var _result = _meos_c.geoset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_set(Pointer gs) { - var _result = _meos_c.geo_to_set(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_end_value(Pointer s) { - var _result = _meos_c.geoset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_start_value(Pointer s) { - var _result = _meos_c.geoset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.geoset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer geoset_values(Pointer s) { - var _result = _meos_c.geoset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_geo_set(Pointer gs, Pointer s) { - var _result = _meos_c.contained_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_geo(Pointer s, Pointer gs) { - var _result = _meos_c.contains_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_union_transfn(Pointer state, Pointer gs) { - var _result = _meos_c.geo_union_transfn(state, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_geo_set(Pointer gs, Pointer s) { - var _result = _meos_c.intersection_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_geo(Pointer s, Pointer gs) { - var _result = _meos_c.intersection_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_geo_set(Pointer gs, Pointer s) { - var _result = _meos_c.minus_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_geo(Pointer s, Pointer gs) { - var _result = _meos_c.minus_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_geo_set(Pointer gs, Pointer s) { - var _result = _meos_c.union_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_geo(Pointer s, Pointer gs) { - var _result = _meos_c.union_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_set_srid(Pointer s, int srid) { - var _result = _meos_c.spatialset_set_srid(s, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatialset_srid(Pointer s) { - var _result = _meos_c.spatialset_srid(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_transform(Pointer s, int srid) { - var _result = _meos_c.spatialset_transform(s, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_c.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = _meos_c.stbox_as_hexwkb(box, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_c.stbox_as_wkb(box, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_from_hexwkb(String hexwkb) { - var _result = _meos_c.stbox_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_from_wkb(Pointer wkb, long size) { - var _result = _meos_c.stbox_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_in(String str) { - var _result = _meos_c.stbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stbox_out(Pointer box, int maxdd) { - var _result = _meos_c.stbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_timestamptz_to_stbox(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.geo_timestamptz_to_stbox(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s) { - var _result = _meos_c.geo_tstzspan_to_stbox(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_copy(Pointer box) { - var _result = _meos_c.stbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s) { - var _result = _meos_c.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_stbox(Pointer gs) { - var _result = _meos_c.geo_to_stbox(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_to_stbox(Pointer s) { - var _result = _meos_c.spatialset_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_box3d(Pointer box) { - var _result = _meos_c.stbox_to_box3d(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_gbox(Pointer box) { - var _result = _meos_c.stbox_to_gbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_geo(Pointer box) { - var _result = _meos_c.stbox_to_geo(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_tstzspan(Pointer box) { - var _result = _meos_c.stbox_to_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_stbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.timestamptz_to_stbox(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_to_stbox(Pointer s) { - var _result = _meos_c.tstzset_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_to_stbox(Pointer s) { - var _result = _meos_c.tstzspan_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_to_stbox(Pointer ss) { - var _result = _meos_c.tstzspanset_to_stbox(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_area(Pointer box, boolean spheroid) { - var _result = _meos_c.stbox_area(box, spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_hash(Pointer box) { - var _result = _meos_c.stbox_hash(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long stbox_hash_extended(Pointer box, long seed) { - var _result = _meos_c.stbox_hash_extended(box, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hast(Pointer box) { - var _result = _meos_c.stbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hasx(Pointer box) { - var _result = _meos_c.stbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hasz(Pointer box) { - var _result = _meos_c.stbox_hasz(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_isgeodetic(Pointer box) { - var _result = _meos_c.stbox_isgeodetic(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_perimeter(Pointer box, boolean spheroid) { - var _result = _meos_c.stbox_perimeter(box, spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.stbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_c.stbox_tmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.stbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_c.stbox_tmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static double stbox_volume(Pointer box) { - var _result = _meos_c.stbox_volume(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.stbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.stbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_ymax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.stbox_ymax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_ymin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.stbox_ymin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_zmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.stbox_zmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_zmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.stbox_zmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_expand_space(Pointer box, double d) { - var _result = _meos_c.stbox_expand_space(box, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_expand_time(Pointer box, Pointer interv) { - var _result = _meos_c.stbox_expand_time(box, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space(Pointer box) { - var _result = _meos_c.stbox_get_space(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_quad_split(Pointer box, Pointer count) { - var _result = _meos_c.stbox_quad_split(box, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_round(Pointer box, int maxdd) { - var _result = _meos_c.stbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = _meos_c.stbox_shift_scale_time(box, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stboxarr_round(Pointer boxarr, int count, int maxdd) { - var _result = _meos_c.stboxarr_round(boxarr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_set_srid(Pointer box, int srid) { - var _result = _meos_c.stbox_set_srid(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_srid(Pointer box) { - var _result = _meos_c.stbox_srid(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_transform(Pointer box, int srid) { - var _result = _meos_c.stbox_transform(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_c.stbox_transform_pipeline(box, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.adjacent_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.contained_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.contains_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overlaps_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.same_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.above_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.after_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.back_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.before_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.below_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.front_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.left_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overabove_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overafter_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overback_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overbefore_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overbelow_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overfront_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overleft_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.overright_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.right_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_c.union_stbox_stbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.intersection_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_le(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_from_mfjson(String str) { - var _result = _meos_c.tgeogpoint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_in(String str) { - var _result = _meos_c.tgeogpoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_from_mfjson(String mfjson) { - var _result = _meos_c.tgeography_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_in(String str) { - var _result = _meos_c.tgeography_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_from_mfjson(String str) { - var _result = _meos_c.tgeometry_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_in(String str) { - var _result = _meos_c.tgeometry_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_from_mfjson(String str) { - var _result = _meos_c.tgeompoint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_in(String str) { - var _result = _meos_c.tgeompoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_as_ewkt(Pointer temp, int maxdd) { - var _result = _meos_c.tspatial_as_ewkt(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_as_text(Pointer temp, int maxdd) { - var _result = _meos_c.tspatial_as_text(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_out(Pointer temp, int maxdd) { - var _result = _meos_c.tspatial_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_from_base_temp(Pointer gs, Pointer temp) { - var _result = _meos_c.tgeo_from_base_temp(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tgeoinst_make(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = _meos_c.tgeoseq_from_base_tstzset(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = _meos_c.tgeoseq_from_base_tstzspan(gs, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = _meos_c.tgeoseqset_from_base_tstzspanset(gs, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_from_base_temp(Pointer gs, Pointer temp) { - var _result = _meos_c.tpoint_from_base_temp(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tpointinst_make(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = _meos_c.tpointseq_from_base_tstzset(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = _meos_c.tpointseq_from_base_tstzspan(gs, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_c.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = _meos_c.tpointseqset_from_base_tstzspanset(gs, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_to_stbox(Pointer box) { - var _result = _meos_c.box3d_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_to_stbox(Pointer box) { - var _result = _meos_c.gbox_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geomeas_to_tpoint(Pointer gs) { - var _result = _meos_c.geomeas_to_tpoint(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_to_tgeography(Pointer temp) { - var _result = _meos_c.tgeogpoint_to_tgeography(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeogpoint(Pointer temp) { - var _result = _meos_c.tgeography_to_tgeogpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeometry(Pointer temp) { - var _result = _meos_c.tgeography_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeography(Pointer temp) { - var _result = _meos_c.tgeometry_to_tgeography(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeompoint(Pointer temp) { - var _result = _meos_c.tgeometry_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_tgeometry(Pointer temp) { - var _result = _meos_c.tgeompoint_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom, Pointer gsarr, Pointer timesarr, Pointer count) { - var _result = _meos_c.tpoint_as_mvtgeom(temp, bounds, extent, buffer, clip_geom, gsarr, timesarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_to_stbox(Pointer temp) { - var _result = _meos_c.tspatial_to_stbox(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bearing_point_point(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.bearing_point_point(gs1, gs2, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert) { - var _result = _meos_c.bearing_tpoint_point(temp, gs, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_c.bearing_tpoint_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_centroid(Pointer temp) { - var _result = _meos_c.tgeo_centroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_convex_hull(Pointer temp) { - var _result = _meos_c.tgeo_convex_hull(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_end_value(Pointer temp) { - var _result = _meos_c.tgeo_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_start_value(Pointer temp) { - var _result = _meos_c.tgeo_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_traversed_area(Pointer temp, boolean unary_union) { - var _result = _meos_c.tgeo_traversed_area(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tgeo_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.tgeo_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_values(Pointer temp, Pointer count) { - var _result = _meos_c.tgeo_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_angular_difference(Pointer temp) { - var _result = _meos_c.tpoint_angular_difference(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_azimuth(Pointer temp) { - var _result = _meos_c.tpoint_azimuth(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_cumulative_length(Pointer temp) { - var _result = _meos_c.tpoint_cumulative_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_direction(Pointer temp) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_c.tpoint_direction(temp, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_x(Pointer temp) { - var _result = _meos_c.tpoint_get_x(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_y(Pointer temp) { - var _result = _meos_c.tpoint_get_y(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_z(Pointer temp) { - var _result = _meos_c.tpoint_get_z(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpoint_is_simple(Pointer temp) { - var _result = _meos_c.tpoint_is_simple(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpoint_length(Pointer temp) { - var _result = _meos_c.tpoint_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_speed(Pointer temp) { - var _result = _meos_c.tpoint_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_trajectory(Pointer temp, boolean unary_union) { - var _result = _meos_c.tpoint_trajectory(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_twcentroid(Pointer temp) { - var _result = _meos_c.tpoint_twcentroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_affine(Pointer temp, Pointer a) { - var _result = _meos_c.tgeo_affine(temp, a); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin) { - var _result = _meos_c.tgeo_scale(temp, scale, sorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_make_simple(Pointer temp, Pointer count) { - var _result = _meos_c.tpoint_make_simple(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tspatial_srid(Pointer temp) { - var _result = _meos_c.tspatial_srid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_set_srid(Pointer temp, int srid) { - var _result = _meos_c.tspatial_set_srid(temp, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_transform(Pointer temp, int srid) { - var _result = _meos_c.tspatial_transform(temp, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_c.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_c.tgeo_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_c.tgeo_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_value(Pointer temp, Pointer gs) { - var _result = _meos_c.tgeo_at_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_c.tgeo_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_c.tgeo_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_value(Pointer temp, Pointer gs) { - var _result = _meos_c.tgeo_minus_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_elevation(Pointer temp, Pointer s) { - var _result = _meos_c.tpoint_at_elevation(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_c.tpoint_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_value(Pointer temp, Pointer gs) { - var _result = _meos_c.tpoint_at_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_elevation(Pointer temp, Pointer s) { - var _result = _meos_c.tpoint_minus_elevation(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_c.tpoint_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_value(Pointer temp, Pointer gs) { - var _result = _meos_c.tpoint_minus_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.always_eq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.always_eq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_eq_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.always_ne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.always_ne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ne_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.ever_eq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ever_eq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_eq_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.ever_ne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ever_ne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ne_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.teq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.teq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.tne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_stboxes(Pointer temp, Pointer count) { - var _result = _meos_c.tgeo_stboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var _result = _meos_c.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_c.tgeo_split_each_n_stboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_c.tgeo_split_n_stboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.adjacent_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.adjacent_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.adjacent_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.contained_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.contained_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contained_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.contains_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.contains_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contains_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overlaps_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overlaps_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overlaps_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.same_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.same_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.same_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.above_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.above_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.above_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.after_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.after_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.after_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.back_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.back_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.back_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.before_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.before_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.before_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.below_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.below_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.below_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.front_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.front_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.front_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.left_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.left_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.left_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overabove_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overabove_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overabove_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overafter_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overafter_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overafter_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overback_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overback_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overback_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overbefore_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overbefore_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overbefore_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overbelow_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overbelow_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overbelow_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overfront_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overfront_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overfront_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overleft_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overleft_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overleft_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.overright_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.overright_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.overright_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_c.right_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.right_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.right_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.acontains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.acontains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.acontains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.adisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.adisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_c.adwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_c.adwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.aintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.aintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.atouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.atouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.atouches_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.econtains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.econtains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.econtains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.ecovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ecovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ecovers_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.edisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.edisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_c.edwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_c.edwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.eintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.eintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.etouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.etouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.etouches_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.tcontains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tcontains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tcontains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.tcovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tcovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tcovers_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.tdisjoint_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tdisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tdisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist) { - var _result = _meos_c.tdwithin_geo_tgeo(gs, temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_c.tdwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_c.tdwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.tintersects_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.ttouches_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ttouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ttouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tdistance_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tdistance_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_geo(Pointer box, Pointer gs) { - var _result = _meos_c.nad_stbox_geo(box, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.nad_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.nad_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.nad_tgeo_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nad_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.nai_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nai_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.shortestline_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.shortestline_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tgeoarr_tgeoarr_mindist(Pointer arr1, int count1, Pointer arr2, int count2) { - var _result = _meos_c.tgeoarr_tgeoarr_mindist(arr1, count1, arr2, count2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold) { - var _result = _meos_c.mindistance_tgeo_tgeo(temp1, temp2, threshold); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_finalfn(Pointer state) { - var _result = _meos_c.tpoint_tcentroid_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp) { - var _result = _meos_c.tpoint_tcentroid_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_extent_transfn(Pointer box, Pointer temp) { - var _result = _meos_c.tspatial_extent_transfn(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin) { - var _result = _meos_c.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.stbox_get_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_time_tile(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.stbox_get_time_tile(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count) { - var _result = _meos_c.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_time_tiles(Pointer bounds, Pointer duration, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.stbox_time_tiles(bounds, duration, torigin_new, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer count) { - var _result = _meos_c.tgeo_space_split(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, space_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tgeo_space_time_split(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, space_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k) { - var _result = _meos_c.geo_cluster_kmeans(geoms, ngeoms, k); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count) { - var _result = _meos_c.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count) { - var _result = _meos_c.geo_cluster_intersecting(geoms, ngeoms, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count) { - var _result = _meos_c.geo_cluster_within(geoms, ngeoms, tolerance, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_c.acovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.acovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_as_ewkt(Pointer cb, int maxdd) { - var _result = _meos_c.cbuffer_as_ewkt(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size) { - var _result = _meos_c.cbuffer_as_hexwkb(cb, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_as_text(Pointer cb, int maxdd) { - var _result = _meos_c.cbuffer_as_text(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_as_wkb(Pointer cb, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_c.cbuffer_as_wkb(cb, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_from_hexwkb(String hexwkb) { - var _result = _meos_c.cbuffer_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_from_wkb(Pointer wkb, long size) { - var _result = _meos_c.cbuffer_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_in(String str) { - var _result = _meos_c.cbuffer_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_out(Pointer cb, int maxdd) { - var _result = _meos_c.cbuffer_out(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_copy(Pointer cb) { - var _result = _meos_c.cbuffer_copy(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_make(Pointer point, double radius) { - var _result = _meos_c.cbuffer_make(point, radius); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_to_geom(Pointer cb) { - var _result = _meos_c.cbuffer_to_geom(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_to_stbox(Pointer cb) { - var _result = _meos_c.cbuffer_to_stbox(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferarr_to_geom(Pointer cbarr, int count) { - var _result = _meos_c.cbufferarr_to_geom(cbarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_cbuffer(Pointer gs) { - var _result = _meos_c.geom_to_cbuffer(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_hash(Pointer cb) { - var _result = _meos_c.cbuffer_hash(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long cbuffer_hash_extended(Pointer cb, long seed) { - var _result = _meos_c.cbuffer_hash_extended(cb, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_point(Pointer cb) { - var _result = _meos_c.cbuffer_point(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double cbuffer_radius(Pointer cb) { - var _result = _meos_c.cbuffer_radius(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_round(Pointer cb, int maxdd) { - var _result = _meos_c.cbuffer_round(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd) { - var _result = _meos_c.cbufferarr_round(cbarr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void cbuffer_set_srid(Pointer cb, int srid) { - _meos_c.cbuffer_set_srid(cb, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int cbuffer_srid(Pointer cb) { - var _result = _meos_c.cbuffer_srid(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_transform(Pointer cb, int srid) { - var _result = _meos_c.cbuffer_transform(cb, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_c.cbuffer_transform_pipeline(cb, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_c.contains_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_c.covers_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_c.disjoint_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist) { - var _result = _meos_c.dwithin_cbuffer_cbuffer(cb1, cb2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_c.intersects_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_c.touches_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s) { - var _result = _meos_c.cbuffer_tstzspan_to_stbox(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_timestamptz_to_stbox(Pointer cb, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.cbuffer_timestamptz_to_stbox(cb, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_c.distance_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_cbuffer_geo(Pointer cb, Pointer gs) { - var _result = _meos_c.distance_cbuffer_geo(cb, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_cbuffer_stbox(Pointer cb, Pointer box) { - var _result = _meos_c.distance_cbuffer_stbox(cb, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_cbuffer_stbox(Pointer cb, Pointer box) { - var _result = _meos_c.nad_cbuffer_stbox(cb, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_cmp(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_cmp(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_eq(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_eq(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_ge(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_ge(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_gt(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_gt(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_le(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_le(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_lt(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_lt(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_ne(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_ne(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_nsame(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_nsame(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_same(Pointer cb1, Pointer cb2) { - var _result = _meos_c.cbuffer_same(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_in(String str) { - var _result = _meos_c.cbufferset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbufferset_out(Pointer s, int maxdd) { - var _result = _meos_c.cbufferset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_make(Pointer values, int count) { - var _result = _meos_c.cbufferset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_to_set(Pointer cb) { - var _result = _meos_c.cbuffer_to_set(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_end_value(Pointer s) { - var _result = _meos_c.cbufferset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_start_value(Pointer s) { - var _result = _meos_c.cbufferset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.cbufferset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_values(Pointer s) { - var _result = _meos_c.cbufferset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_union_transfn(Pointer state, Pointer cb) { - var _result = _meos_c.cbuffer_union_transfn(state, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_c.contained_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_c.contains_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_c.intersection_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_c.intersection_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_c.minus_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_c.minus_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_c.union_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_c.union_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_in(String str) { - var _result = _meos_c.tcbuffer_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_from_mfjson(String mfjson) { - var _result = _meos_c.tcbuffer_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat) { - var _result = _meos_c.tcbuffer_make(tpoint, tfloat); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_points(Pointer temp) { - var _result = _meos_c.tcbuffer_points(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_radius(Pointer temp) { - var _result = _meos_c.tcbuffer_radius(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_trav_area(Pointer temp, boolean merge_union) { - var _result = _meos_c.tcbuffer_trav_area(temp, merge_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_to_tfloat(Pointer temp) { - var _result = _meos_c.tcbuffer_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_to_tgeompoint(Pointer temp) { - var _result = _meos_c.tcbuffer_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tcbuffer(Pointer temp) { - var _result = _meos_c.tgeometry_to_tcbuffer(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_expand(Pointer temp, double dist) { - var _result = _meos_c.tcbuffer_expand(temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tcbuffer_at_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_c.tcbuffer_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_c.tcbuffer_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tcbuffer_minus_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_c.tcbuffer_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_c.tcbuffer_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tdistance_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tdistance_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tdistance_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.nad_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.nad_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.nad_tcbuffer_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nad_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.nai_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.nai_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nai_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.shortestline_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.shortestline_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.shortestline_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.always_eq_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.always_eq_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_eq_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.always_ne_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.always_ne_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ne_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.ever_eq_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.ever_eq_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_eq_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.ever_ne_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.ever_ne_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ne_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.teq_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.teq_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.tne_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tne_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.acontains_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.acontains_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.acontains_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.acontains_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.acovers_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.acovers_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.acovers_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.acovers_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.adisjoint_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.adisjoint_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.adisjoint_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_c.adwithin_tcbuffer_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { - var _result = _meos_c.adwithin_tcbuffer_cbuffer(temp, cb, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_c.adwithin_tcbuffer_tcbuffer(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.aintersects_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.aintersects_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.aintersects_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.atouches_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.atouches_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.atouches_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.econtains_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.econtains_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.econtains_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.ecovers_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.ecovers_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ecovers_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ecovers_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.edisjoint_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.edisjoint_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_c.edwithin_tcbuffer_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { - var _result = _meos_c.edwithin_tcbuffer_cbuffer(temp, cb, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_c.edwithin_tcbuffer_tcbuffer(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.eintersects_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.eintersects_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.eintersects_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.etouches_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.etouches_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.etouches_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.tcontains_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.tcontains_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tcontains_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tcontains_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tcontains_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.tcovers_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.tcovers_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tcovers_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tcovers_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tcovers_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist) { - var _result = _meos_c.tdwithin_geo_tcbuffer(gs, temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_c.tdwithin_tcbuffer_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { - var _result = _meos_c.tdwithin_tcbuffer_cbuffer(temp, cb, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_c.tdwithin_tcbuffer_tcbuffer(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.tdisjoint_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.tdisjoint_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tdisjoint_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tdisjoint_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tdisjoint_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.tintersects_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.tintersects_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.tintersects_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.tintersects_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tintersects_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_c.ttouches_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ttouches_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_c.ttouches_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.ttouches_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ttouches_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.acovers_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3index_in(String str) { - var _result = _meos_c.h3index_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String h3index_out(long cell) { - var _result = _meos_c.h3index_out(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_in(String str) { - var _result = _meos_c.th3index_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexinst_in(String str) { - var _result = _meos_c.th3indexinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseq_in(String str, int interp) { - var _result = _meos_c.th3indexseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseqset_in(String str) { - var _result = _meos_c.th3indexseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_make(long value, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.th3index_make(value, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexinst_make(long value, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.th3indexinst_make(value, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc) { - var _result = _meos_c.th3indexseq_make(values, times, count, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseqset_make(Pointer sequences, int count) { - var _result = _meos_c.th3indexseqset_make(sequences, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long th3index_start_value(Pointer temp) { - var _result = _meos_c.th3index_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long th3index_end_value(Pointer temp) { - var _result = _meos_c.th3index_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.th3index_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer th3index_values(Pointer temp, Pointer count) { - var _result = _meos_c.th3index_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_c.th3index_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_to_th3index(Pointer temp) { - var _result = _meos_c.tbigint_to_th3index(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_to_tbigint(Pointer temp) { - var _result = _meos_c.th3index_to_tbigint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.ever_eq_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.ever_eq_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.ever_ne_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.ever_ne_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.always_eq_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.always_eq_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.always_ne_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.always_ne_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_eq_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ne_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_eq_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ne_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.teq_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.teq_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.teq_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.tne_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.tne_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tne_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_resolution(Pointer temp) { - var _result = _meos_c.th3index_get_resolution(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_base_cell_number(Pointer temp) { - var _result = _meos_c.th3index_get_base_cell_number(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_valid_cell(Pointer temp) { - var _result = _meos_c.th3index_is_valid_cell(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_res_class_iii(Pointer temp) { - var _result = _meos_c.th3index_is_res_class_iii(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_pentagon(Pointer temp) { - var _result = _meos_c.th3index_is_pentagon(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_parent(Pointer temp, int resolution) { - var _result = _meos_c.th3index_cell_to_parent(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_parent_next(Pointer temp) { - var _result = _meos_c.th3index_cell_to_parent_next(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_center_child(Pointer temp, int resolution) { - var _result = _meos_c.th3index_cell_to_center_child(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_center_child_next(Pointer temp) { - var _result = _meos_c.th3index_cell_to_center_child_next(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res) { - var _result = _meos_c.th3index_cell_to_child_pos(temp, parent_res); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res) { - var _result = _meos_c.th3index_child_pos_to_cell(child_pos, parent, child_res); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_to_th3index(Pointer temp, int resolution) { - var _result = _meos_c.tgeogpoint_to_th3index(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_th3index(Pointer temp, int resolution) { - var _result = _meos_c.tgeompoint_to_th3index(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_to_tgeogpoint(Pointer temp) { - var _result = _meos_c.th3index_to_tgeogpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_to_tgeompoint(Pointer temp) { - var _result = _meos_c.th3index_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_boundary(Pointer temp) { - var _result = _meos_c.th3index_cell_to_boundary(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_h3index_set(Pointer gs, int resolution) { - var _result = _meos_c.geo_to_h3index_set(gs, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx) { - var _result = _meos_c.ever_eq_h3indexset_th3index(cells, th3idx); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest) { - var _result = _meos_c.th3index_are_neighbor_cells(origin, dest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest) { - var _result = _meos_c.th3index_cells_to_directed_edge(origin, dest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_valid_directed_edge(Pointer edge) { - var _result = _meos_c.th3index_is_valid_directed_edge(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_directed_edge_origin(Pointer edge) { - var _result = _meos_c.th3index_get_directed_edge_origin(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_directed_edge_destination(Pointer edge) { - var _result = _meos_c.th3index_get_directed_edge_destination(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_directed_edge_to_boundary(Pointer edge) { - var _result = _meos_c.th3index_directed_edge_to_boundary(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num) { - var _result = _meos_c.th3index_cell_to_vertex(temp, vertex_num); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_vertex_to_latlng(Pointer temp) { - var _result = _meos_c.th3index_vertex_to_latlng(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_valid_vertex(Pointer temp) { - var _result = _meos_c.th3index_is_valid_vertex(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_grid_distance(Pointer origin, Pointer dest) { - var _result = _meos_c.th3index_grid_distance(origin, dest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell) { - var _result = _meos_c.th3index_cell_to_local_ij(origin, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord) { - var _result = _meos_c.th3index_local_ij_to_cell(origin, coord); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_area(Pointer temp, String unit) { - var _result = _meos_c.th3index_cell_area(temp, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_edge_length(Pointer temp, String unit) { - var _result = _meos_c.th3index_edge_length(temp, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit) { - var _result = _meos_c.tgeogpoint_great_circle_distance(a, b, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gsl_get_generation_rng() { - var _result = _meos_c.gsl_get_generation_rng(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gsl_get_aggregation_rng() { - var _result = _meos_c.gsl_get_aggregation_rng(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_ceil(Pointer d) { - var _result = _meos_c.datum_ceil(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_degrees(Pointer d, Pointer normalize) { - var _result = _meos_c.datum_degrees(d, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_float_round(Pointer value, Pointer size) { - var _result = _meos_c.datum_float_round(value, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_floor(Pointer d) { - var _result = _meos_c.datum_floor(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_hash(Pointer d, int basetype) { - var _result = _meos_c.datum_hash(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long datum_hash_extended(Pointer d, int basetype, long seed) { - var _result = _meos_c.datum_hash_extended(d, basetype, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_radians(Pointer d) { - var _result = _meos_c.datum_radians(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void floatspan_round_set(Pointer s, int maxdd, Pointer result) { - _meos_c.floatspan_round_set(s, maxdd, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer set_in(String str, int basetype) { - var _result = _meos_c.set_in(str, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String set_out(Pointer s, int maxdd) { - var _result = _meos_c.set_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_in(String str, int spantype) { - var _result = _meos_c.span_in(str, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String span_out(Pointer s, int maxdd) { - var _result = _meos_c.span_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_in(String str, int spantype) { - var _result = _meos_c.spanset_in(str, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spanset_out(Pointer ss, int maxdd) { - var _result = _meos_c.spanset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_make(Pointer values, int count, int basetype, boolean order) { - var _result = _meos_c.set_make(values, count, basetype, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order) { - var _result = _meos_c.set_make_exp(values, count, maxcount, basetype, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_make_free(Pointer values, int count, int basetype, boolean order) { - var _result = _meos_c.set_make_free(values, count, basetype, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype) { - var _result = _meos_c.span_make(lower, upper, lower_inc, upper_inc, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer s) { - _meos_c.span_set(lower, upper, lower_inc, upper_inc, basetype, spantype, s); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order) { - var _result = _meos_c.spanset_make_exp(spans, count, maxcount, normalize, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order) { - var _result = _meos_c.spanset_make_free(spans, count, normalize, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_span(Pointer s) { - var _result = _meos_c.set_span(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_spanset(Pointer s) { - var _result = _meos_c.set_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void value_set_span(Pointer value, int basetype, Pointer s) { - _meos_c.value_set_span(value, basetype, s); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer value_set(Pointer d, int basetype) { - var _result = _meos_c.value_set(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer value_span(Pointer d, int basetype) { - var _result = _meos_c.value_span(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer value_spanset(Pointer d, int basetype) { - var _result = _meos_c.value_spanset(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int numspan_width(Pointer s) { - var _result = _meos_c.numspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int numspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_c.numspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_end_value(Pointer s) { - var _result = _meos_c.set_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_mem_size(Pointer s) { - var _result = _meos_c.set_mem_size(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result) { - _meos_c.set_set_subspan(s, minidx, maxidx, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void set_set_span(Pointer s, Pointer result) { - _meos_c.set_set_span(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int set_start_value(Pointer s) { - var _result = _meos_c.set_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.set_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer set_vals(Pointer s) { - var _result = _meos_c.set_vals(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_values(Pointer s) { - var _result = _meos_c.set_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_lower(Pointer ss) { - var _result = _meos_c.spanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_mem_size(Pointer ss) { - var _result = _meos_c.spanset_mem_size(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_sps(Pointer ss) { - var _result = _meos_c.spanset_sps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_upper(Pointer ss) { - var _result = _meos_c.spanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void bigintspan_set_floatspan(Pointer s1, Pointer s2) { - _meos_c.bigintspan_set_floatspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void bigintspan_set_intspan(Pointer s1, Pointer s2) { - _meos_c.bigintspan_set_intspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void datespan_set_tstzspan(Pointer s1, Pointer s2) { - _meos_c.datespan_set_tstzspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void floatspan_set_bigintspan(Pointer s1, Pointer s2) { - _meos_c.floatspan_set_bigintspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void floatspan_set_intspan(Pointer s1, Pointer s2) { - _meos_c.floatspan_set_intspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void intspan_set_bigintspan(Pointer s1, Pointer s2) { - _meos_c.intspan_set_bigintspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void intspan_set_floatspan(Pointer s1, Pointer s2) { - _meos_c.intspan_set_floatspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.numset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_expand(Pointer s, Pointer value) { - var _result = _meos_c.numspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.numspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.numspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_compact(Pointer s) { - var _result = _meos_c.set_compact(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void span_expand(Pointer s1, Pointer s2) { - _meos_c.span_expand(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer spanset_compact(Pointer ss) { - var _result = _meos_c.spanset_compact(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp) { - var _result = _meos_c.tbox_expand_value(box, value, basetyp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert) { - var _result = _meos_c.textcat_textset_text_common(s, txt, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tstzspan_set_datespan(Pointer s1, Pointer s2) { - _meos_c.tstzspan_set_datespan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_value(Pointer s, Pointer value) { - var _result = _meos_c.adjacent_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_c.adjacent_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_c.adjacent_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_value_set(Pointer value, Pointer s) { - var _result = _meos_c.contained_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_value_span(Pointer value, Pointer s) { - var _result = _meos_c.contained_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_c.contained_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_value(Pointer s, Pointer value) { - var _result = _meos_c.contains_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_value(Pointer s, Pointer value) { - var _result = _meos_c.contains_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_c.contains_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ovadj_span_span(Pointer s1, Pointer s2) { - var _result = _meos_c.ovadj_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_value(Pointer s, Pointer value) { - var _result = _meos_c.left_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_value(Pointer s, Pointer value) { - var _result = _meos_c.left_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_c.left_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_value_set(Pointer value, Pointer s) { - var _result = _meos_c.left_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_value_span(Pointer value, Pointer s) { - var _result = _meos_c.left_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_c.left_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean lfnadj_span_span(Pointer s1, Pointer s2) { - var _result = _meos_c.lfnadj_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_value(Pointer s, Pointer value) { - var _result = _meos_c.overleft_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_value(Pointer s, Pointer value) { - var _result = _meos_c.overleft_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_c.overleft_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_value_set(Pointer value, Pointer s) { - var _result = _meos_c.overleft_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_value_span(Pointer value, Pointer s) { - var _result = _meos_c.overleft_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_c.overleft_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_value(Pointer s, Pointer value) { - var _result = _meos_c.overright_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_value(Pointer s, Pointer value) { - var _result = _meos_c.overright_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_c.overright_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_value_set(Pointer value, Pointer s) { - var _result = _meos_c.overright_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_value_span(Pointer value, Pointer s) { - var _result = _meos_c.overright_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_c.overright_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_value_set(Pointer value, Pointer s) { - var _result = _meos_d.right_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_value(Pointer s, Pointer value) { - var _result = _meos_d.right_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_value_span(Pointer value, Pointer s) { - var _result = _meos_d.right_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_d.right_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_value(Pointer s, Pointer value) { - var _result = _meos_d.right_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_d.right_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean bbox_type(int bboxtype) { - var _result = _meos_d.bbox_type(bboxtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bbox_get_size(int bboxtype) { - var _result = _meos_d.bbox_get_size(bboxtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int bbox_max_dims(int bboxtype) { - var _result = _meos_d.bbox_max_dims(bboxtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype) { - var _result = _meos_d.temporal_bbox_eq(box1, box2, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype) { - var _result = _meos_d.temporal_bbox_cmp(box1, box2, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result) { - _meos_d.bbox_union_span_span(s1, s2, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer inter_span_span(Pointer s1, Pointer s2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.inter_span_span(s1, s2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_value(Pointer s, Pointer value) { - var _result = _meos_d.intersection_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_value(Pointer s, Pointer value) { - var _result = _meos_d.intersection_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_d.intersection_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_value_set(Pointer value, Pointer s) { - var _result = _meos_d.intersection_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_value_span(Pointer value, Pointer s) { - var _result = _meos_d.intersection_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_d.intersection_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int mi_span_span(Pointer s1, Pointer s2, Pointer result) { - var _result = _meos_d.mi_span_span(s1, s2, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_value(Pointer s, Pointer value) { - var _result = _meos_d.minus_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_value(Pointer s, Pointer value) { - var _result = _meos_d.minus_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_d.minus_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_value_set(Pointer value, Pointer s) { - var _result = _meos_d.minus_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_value_span(Pointer value, Pointer s) { - var _result = _meos_d.minus_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_d.minus_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer super_union_span_span(Pointer s1, Pointer s2) { - var _result = _meos_d.super_union_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_value(Pointer s, Pointer value) { - var _result = _meos_d.union_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_value(Pointer s, Pointer value) { - var _result = _meos_d.union_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_d.union_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_value_set(Pointer value, Pointer s) { - var _result = _meos_d.union_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_value_span(Pointer value, Pointer s) { - var _result = _meos_d.union_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_d.union_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_set(Pointer s1, Pointer s2) { - var _result = _meos_d.distance_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_value(Pointer s, Pointer value) { - var _result = _meos_d.distance_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_span(Pointer s1, Pointer s2) { - var _result = _meos_d.distance_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_value(Pointer s, Pointer value) { - var _result = _meos_d.distance_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_d.distance_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_d.distance_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_d.distance_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_value_value(Pointer l, Pointer r, int basetype) { - var _result = _meos_d.distance_value_value(l, r, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype) { - var _result = _meos_d.spanbase_extent_transfn(state, value, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer value_union_transfn(Pointer state, Pointer value, int basetype) { - var _result = _meos_d.value_union_transfn(state, value, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s) { - var _result = _meos_d.number_tstzspan_to_tbox(d, basetype, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer number_timestamptz_to_tbox(Pointer d, int basetype, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.number_timestamptz_to_tbox(d, basetype, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tbox_set(Pointer s, Pointer p, Pointer box) { - _meos_d.tbox_set(s, p, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void float_set_tbox(double d, Pointer box) { - _meos_d.float_set_tbox(d, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void int_set_tbox(int i, Pointer box) { - _meos_d.int_set_tbox(i, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void number_set_tbox(Pointer d, int basetype, Pointer box) { - _meos_d.number_set_tbox(d, basetype, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer number_tbox(Pointer value, int basetype) { - var _result = _meos_d.number_tbox(value, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void numset_set_tbox(Pointer s, Pointer box) { - _meos_d.numset_set_tbox(s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void numspan_set_tbox(Pointer span, Pointer box) { - _meos_d.numspan_set_tbox(span, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void timestamptz_set_tbox(OffsetDateTime t, Pointer box) { - var t_new = t.toEpochSecond(); - _meos_d.timestamptz_set_tbox(t_new, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzset_set_tbox(Pointer s, Pointer box) { - _meos_d.tstzset_set_tbox(s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspan_set_tbox(Pointer s, Pointer box) { - _meos_d.tstzspan_set_tbox(s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_d.tbox_shift_scale_value(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tbox_expand(Pointer box1, Pointer box2) { - _meos_d.tbox_expand(box1, box2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer inter_tbox_tbox(Pointer box1, Pointer box2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.inter_tbox_tbox(box1, box2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tboolinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_in(String str) { - var _result = _meos_d.tboolinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tboolseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_in(String str, int interp) { - var _result = _meos_d.tboolseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tboolseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_in(String str) { - var _result = _meos_d.tboolseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_in(String str, int temptype) { - var _result = _meos_d.temporal_in(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_out(Pointer temp, int maxdd) { - var _result = _meos_d.temporal_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temparr_out(Pointer temparr, int count, int maxdd) { - var _result = _meos_d.temparr_out(temparr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tfloatinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_in(String str) { - var _result = _meos_d.tfloatinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp) { - var _result = _meos_d.tfloatseq_from_mfjson(mfjson, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_in(String str, int interp) { - var _result = _meos_d.tfloatseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp) { - var _result = _meos_d.tfloatseqset_from_mfjson(mfjson, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_in(String str) { - var _result = _meos_d.tfloatseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype) { - var _result = _meos_d.tinstant_from_mfjson(mfjson, spatial, srid, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_in(String str, int temptype) { - var _result = _meos_d.tinstant_in(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tinstant_out(Pointer inst, int maxdd) { - var _result = _meos_d.tinstant_out(inst, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tintinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_in(String str) { - var _result = _meos_d.tintinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tintseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_in(String str, int interp) { - var _result = _meos_d.tintseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_d.tintseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_in(String str) { - var _result = _meos_d.tintseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { - var _result = _meos_d.tsequence_from_mfjson(mfjson, spatial, srid, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_in(String str, int temptype, int interp) { - var _result = _meos_d.tsequence_in(str, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tsequence_out(Pointer seq, int maxdd) { - var _result = _meos_d.tsequence_out(seq, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { - var _result = _meos_d.tsequenceset_from_mfjson(mfjson, spatial, srid, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_in(String str, int temptype, int interp) { - var _result = _meos_d.tsequenceset_in(str, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tsequenceset_out(Pointer ss, int maxdd) { - var _result = _meos_d.tsequenceset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_from_mfjson(Pointer mfjson) { - var _result = _meos_d.ttextinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_in(String str) { - var _result = _meos_d.ttextinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_mfjson(Pointer mfjson) { - var _result = _meos_d.ttextseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_in(String str, int interp) { - var _result = _meos_d.ttextseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_d.ttextseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_in(String str) { - var _result = _meos_d.ttextseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_mfjson(String mfjson, int temptype) { - var _result = _meos_d.temporal_from_mfjson(mfjson, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp) { - var _result = _meos_d.temporal_from_base_temp(value, temptype, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_copy(Pointer inst) { - var _result = _meos_d.tinstant_copy(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_make(Pointer value, int temptype, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tinstant_make(value, temptype, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_make_free(Pointer value, int temptype, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tinstant_make_free(value, temptype, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_copy(Pointer seq) { - var _result = _meos_d.tsequence_copy(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq) { - var _result = _meos_d.tsequence_from_base_temp(value, temptype, seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s) { - var _result = _meos_d.tsequence_from_base_tstzset(value, temptype, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp) { - var _result = _meos_d.tsequence_from_base_tstzspan(value, temptype, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.tsequence_make_exp(instants, count, maxcount, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.tsequence_make_free(instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_copy(Pointer ss) { - var _result = _meos_d.tsequenceset_copy(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs) { - var _result = _meos_d.tseqsetarr_to_tseqset(seqsets, count, totalseqs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss) { - var _result = _meos_d.tsequenceset_from_base_temp(value, temptype, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp) { - var _result = _meos_d.tsequenceset_from_base_tstzspanset(value, temptype, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize) { - var _result = _meos_d.tsequenceset_make_exp(sequences, count, maxcount, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize) { - var _result = _meos_d.tsequenceset_make_free(sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void temporal_set_tstzspan(Pointer temp, Pointer s) { - _meos_d.temporal_set_tstzspan(temp, s); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tinstant_set_tstzspan(Pointer inst, Pointer s) { - _meos_d.tinstant_set_tstzspan(inst, s); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumber_set_tbox(Pointer temp, Pointer box) { - _meos_d.tnumber_set_tbox(temp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumberinst_set_tbox(Pointer inst, Pointer box) { - _meos_d.tnumberinst_set_tbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumberseq_set_tbox(Pointer seq, Pointer box) { - _meos_d.tnumberseq_set_tbox(seq, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumberseqset_set_tbox(Pointer ss, Pointer box) { - _meos_d.tnumberseqset_set_tbox(ss, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequence_set_tstzspan(Pointer seq, Pointer s) { - _meos_d.tsequence_set_tstzspan(seq, s); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_set_tstzspan(Pointer ss, Pointer s) { - _meos_d.tsequenceset_set_tstzspan(ss, s); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_inst(Pointer temp) { - var _result = _meos_d.temporal_end_inst(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_end_value(Pointer temp) { - var _result = _meos_d.temporal_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_inst_n(Pointer temp, int n) { - var _result = _meos_d.temporal_inst_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_insts_p(Pointer temp, Pointer count) { - var _result = _meos_d.temporal_insts_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_max_inst_p(Pointer temp) { - var _result = _meos_d.temporal_max_inst_p(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_max_value(Pointer temp) { - var _result = _meos_d.temporal_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long temporal_mem_size(Pointer temp) { - var _result = _meos_d.temporal_mem_size(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_min_inst_p(Pointer temp) { - var _result = _meos_d.temporal_min_inst_p(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_min_value(Pointer temp) { - var _result = _meos_d.temporal_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequences_p(Pointer temp, Pointer count) { - var _result = _meos_d.temporal_sequences_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void temporal_set_bbox(Pointer temp, Pointer box) { - _meos_d.temporal_set_bbox(temp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_inst(Pointer temp) { - var _result = _meos_d.temporal_start_inst(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_start_value(Pointer temp) { - var _result = _meos_d.temporal_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_values_p(Pointer temp, Pointer count) { - var _result = _meos_d.temporal_values_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.temporal_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer temporal_values(Pointer temp, Pointer count) { - var _result = _meos_d.temporal_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstant_hash(Pointer inst) { - var _result = _meos_d.tinstant_hash(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_insts(Pointer inst, Pointer count) { - var _result = _meos_d.tinstant_insts(inst, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tinstant_set_bbox(Pointer inst, Pointer box) { - _meos_d.tinstant_set_bbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tinstant_time(Pointer inst) { - var _result = _meos_d.tinstant_time(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_timestamps(Pointer inst, Pointer count) { - var _result = _meos_d.tinstant_timestamps(inst, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstant_value_p(Pointer inst) { - var _result = _meos_d.tinstant_value_p(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstant_value(Pointer inst) { - var _result = _meos_d.tinstant_value(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_value_at_timestamptz(Pointer inst, OffsetDateTime t) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.tinstant_value_at_timestamptz(inst, t_new, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_values_p(Pointer inst, Pointer count) { - var _result = _meos_d.tinstant_values_p(inst, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tnumber_set_span(Pointer temp, Pointer span) { - _meos_d.tnumber_set_span(temp, span); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_valuespans(Pointer inst) { - var _result = _meos_d.tnumberinst_valuespans(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_avg_val(Pointer seq) { - var _result = _meos_d.tnumberseq_avg_val(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_valuespans(Pointer seq) { - var _result = _meos_d.tnumberseq_valuespans(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseqset_avg_val(Pointer ss) { - var _result = _meos_d.tnumberseqset_avg_val(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_valuespans(Pointer ss) { - var _result = _meos_d.tnumberseqset_valuespans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_duration(Pointer seq) { - var _result = _meos_d.tsequence_duration(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequence_end_timestamptz(Pointer seq) { - var _result = _meos_d.tsequence_end_timestamptz(seq); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tsequence_hash(Pointer seq) { - var _result = _meos_d.tsequence_hash(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_insts_p(Pointer seq) { - var _result = _meos_d.tsequence_insts_p(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_max_inst_p(Pointer seq) { - var _result = _meos_d.tsequence_max_inst_p(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_max_val(Pointer seq) { - var _result = _meos_d.tsequence_max_val(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_min_inst_p(Pointer seq) { - var _result = _meos_d.tsequence_min_inst_p(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_min_val(Pointer seq) { - var _result = _meos_d.tsequence_min_val(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_segments(Pointer seq, Pointer count) { - var _result = _meos_d.tsequence_segments(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_seqs(Pointer seq, Pointer count) { - var _result = _meos_d.tsequence_seqs(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequence_start_timestamptz(Pointer seq) { - var _result = _meos_d.tsequence_start_timestamptz(seq); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tsequence_time(Pointer seq) { - var _result = _meos_d.tsequence_time(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_timestamps(Pointer seq, Pointer count) { - var _result = _meos_d.tsequence_timestamps(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_value_at_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.tsequence_value_at_timestamptz(seq, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_values_p(Pointer seq, Pointer count) { - var _result = _meos_d.tsequence_values_p(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_d.tsequenceset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequenceset_end_timestamptz(Pointer ss) { - var _result = _meos_d.tsequenceset_end_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tsequenceset_hash(Pointer ss) { - var _result = _meos_d.tsequenceset_hash(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_inst_n(Pointer ss, int n) { - var _result = _meos_d.tsequenceset_inst_n(ss, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_insts_p(Pointer ss) { - var _result = _meos_d.tsequenceset_insts_p(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_max_inst_p(Pointer ss) { - var _result = _meos_d.tsequenceset_max_inst_p(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_max_val(Pointer ss) { - var _result = _meos_d.tsequenceset_max_val(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_min_inst_p(Pointer ss) { - var _result = _meos_d.tsequenceset_min_inst_p(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_min_val(Pointer ss) { - var _result = _meos_d.tsequenceset_min_val(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_num_instants(Pointer ss) { - var _result = _meos_d.tsequenceset_num_instants(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_num_timestamps(Pointer ss) { - var _result = _meos_d.tsequenceset_num_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_segments(Pointer ss, Pointer count) { - var _result = _meos_d.tsequenceset_segments(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_sequences_p(Pointer ss) { - var _result = _meos_d.tsequenceset_sequences_p(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequenceset_start_timestamptz(Pointer ss) { - var _result = _meos_d.tsequenceset_start_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_time(Pointer ss) { - var _result = _meos_d.tsequenceset_time(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_timestamptz_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tsequenceset_timestamptz_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_timestamps(Pointer ss, Pointer count) { - var _result = _meos_d.tsequenceset_timestamps(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_value_at_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.tsequenceset_value_at_timestamptz(ss, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_value_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tsequenceset_value_n(ss, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_values_p(Pointer ss, Pointer count) { - var _result = _meos_d.tsequenceset_values_p(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void temporal_restart(Pointer temp, int count) { - _meos_d.temporal_restart(temp, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsequence(Pointer temp, int interp) { - var _result = _meos_d.temporal_tsequence(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsequenceset(Pointer temp, int interp) { - var _result = _meos_d.temporal_tsequenceset(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_shift_time(Pointer inst, Pointer interv) { - var _result = _meos_d.tinstant_shift_time(inst, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_to_tsequence(Pointer inst, int interp) { - var _result = _meos_d.tinstant_to_tsequence(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_to_tsequence_free(Pointer inst, int interp) { - var _result = _meos_d.tinstant_to_tsequence_free(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_to_tsequenceset(Pointer inst, int interp) { - var _result = _meos_d.tinstant_to_tsequenceset(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_d.tnumber_shift_scale_value(temp, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_shift_value(Pointer inst, Pointer shift) { - var _result = _meos_d.tnumberinst_shift_value(inst, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_d.tnumberseq_shift_scale_value(seq, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_d.tnumberseqset_shift_scale_value(ss, start, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tsequence_restart(Pointer seq, int count) { - _meos_d.tsequence_restart(seq, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tsequence_set_interp(Pointer seq, int interp) { - var _result = _meos_d.tsequence_set_interp(seq, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration) { - var _result = _meos_d.tsequence_shift_scale_time(seq, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc) { - var _result = _meos_d.tsequence_subseq(seq, from, to, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tinstant(Pointer seq) { - var _result = _meos_d.tsequence_to_tinstant(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tsequenceset(Pointer seq) { - var _result = _meos_d.tsequence_to_tsequenceset(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tsequenceset_free(Pointer seq) { - var _result = _meos_d.tsequence_to_tsequenceset_free(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp) { - var _result = _meos_d.tsequence_to_tsequenceset_interp(seq, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tsequenceset_restart(Pointer ss, int count) { - _meos_d.tsequenceset_restart(ss, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_set_interp(Pointer ss, int interp) { - var _result = _meos_d.tsequenceset_set_interp(ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration) { - var _result = _meos_d.tsequenceset_shift_scale_time(ss, start, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_discrete(Pointer ss) { - var _result = _meos_d.tsequenceset_to_discrete(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_linear(Pointer ss) { - var _result = _meos_d.tsequenceset_to_linear(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_step(Pointer ss) { - var _result = _meos_d.tsequenceset_to_step(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_tinstant(Pointer ss) { - var _result = _meos_d.tsequenceset_to_tinstant(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_tsequence(Pointer ss) { - var _result = _meos_d.tsequenceset_to_tsequence(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_merge(Pointer inst1, Pointer inst2) { - var _result = _meos_d.tinstant_merge(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_merge_array(Pointer instants, int count) { - var _result = _meos_d.tinstant_merge_array(instants, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_d.tsequence_append_tinstant(seq, inst, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand) { - var _result = _meos_d.tsequence_append_tsequence(seq1, seq2, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_timestamptz(Pointer seq, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequence_delete_timestamptz(seq, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect) { - var _result = _meos_d.tsequence_delete_tstzset(seq, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect) { - var _result = _meos_d.tsequence_delete_tstzspan(seq, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect) { - var _result = _meos_d.tsequence_delete_tstzspanset(seq, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect) { - var _result = _meos_d.tsequence_insert(seq1, seq2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_merge(Pointer seq1, Pointer seq2) { - var _result = _meos_d.tsequence_merge(seq1, seq2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_merge_array(Pointer sequences, int count) { - var _result = _meos_d.tsequence_merge_array(sequences, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_d.tsequenceset_append_tinstant(ss, inst, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand) { - var _result = _meos_d.tsequenceset_append_tsequence(ss, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequenceset_delete_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s) { - var _result = _meos_d.tsequenceset_delete_tstzset(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s) { - var _result = _meos_d.tsequenceset_delete_tstzspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps) { - var _result = _meos_d.tsequenceset_delete_tstzspanset(ss, ps); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_insert(Pointer ss1, Pointer ss2) { - var _result = _meos_d.tsequenceset_insert(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_merge(Pointer ss1, Pointer ss2) { - var _result = _meos_d.tsequenceset_merge(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_merge_array(Pointer seqsets, int count) { - var _result = _meos_d.tsequenceset_merge_array(seqsets, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tsequence_expand_bbox(Pointer seq, Pointer inst) { - _meos_d.tsequence_expand_bbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequence_set_bbox(Pointer seq, Pointer box) { - _meos_d.tsequence_set_bbox(seq, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_expand_bbox(Pointer ss, Pointer seq) { - _meos_d.tsequenceset_expand_bbox(ss, seq); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_set_bbox(Pointer ss, Pointer box) { - _meos_d.tsequenceset_set_bbox(ss, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_after_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_before_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { - var _result = _meos_d.tcontseq_restrict_minmax(seq, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tdiscseq_after_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tdiscseq_before_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { - var _result = _meos_d.tdiscseq_restrict_minmax(seq, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_bbox_restrict_set(Pointer temp, Pointer set) { - var _result = _meos_d.temporal_bbox_restrict_set(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc) { - var _result = _meos_d.temporal_restrict_minmax(temp, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.temporal_restrict_timestamptz(temp, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.temporal_restrict_tstzset(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.temporal_restrict_tstzspan(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { - var _result = _meos_d.temporal_restrict_tstzspanset(temp, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc) { - var _result = _meos_d.temporal_restrict_value(temp, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc) { - var _result = _meos_d.temporal_restrict_values(temp, set, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.temporal_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_after_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tinstant_after_timestamptz(inst, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_before_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tinstant_before_timestamptz(inst, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_tstzspan(inst, period, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_tstzspanset(inst, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_timestamptz(Pointer inst, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tinstant_restrict_timestamptz(inst, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_tstzset(inst, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_value(inst, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_values(inst, set, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc) { - var _result = _meos_d.tnumber_restrict_span(temp, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc) { - var _result = _meos_d.tnumber_restrict_spanset(temp, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc) { - var _result = _meos_d.tnumberinst_restrict_span(inst, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc) { - var _result = _meos_d.tnumberinst_restrict_spanset(inst, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc) { - var _result = _meos_d.tnumberseqset_restrict_span(ss, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc) { - var _result = _meos_d.tnumberseqset_restrict_spanset(ss, spanset, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_at_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequence_at_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc) { - var _result = _meos_d.tsequence_restrict_tstzspan(seq, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { - var _result = _meos_d.tsequence_restrict_tstzspanset(seq, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_after_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequenceset_after_timestamptz(ss, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_before_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequenceset_before_timestamptz(ss, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc) { - var _result = _meos_d.tsequenceset_restrict_minmax(ss, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc) { - var _result = _meos_d.tsequenceset_restrict_tstzspan(ss, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc) { - var _result = _meos_d.tsequenceset_restrict_tstzspanset(ss, ps, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_timestamptz(Pointer ss, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequenceset_restrict_timestamptz(ss, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc) { - var _result = _meos_d.tsequenceset_restrict_tstzset(ss, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc) { - var _result = _meos_d.tsequenceset_restrict_value(ss, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc) { - var _result = _meos_d.tsequenceset_restrict_values(ss, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstant_cmp(Pointer inst1, Pointer inst2) { - var _result = _meos_d.tinstant_cmp(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tinstant_eq(Pointer inst1, Pointer inst2) { - var _result = _meos_d.tinstant_eq(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_cmp(Pointer seq1, Pointer seq2) { - var _result = _meos_d.tsequence_cmp(seq1, seq2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequence_eq(Pointer seq1, Pointer seq2) { - var _result = _meos_d.tsequence_eq(seq1, seq2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_cmp(Pointer ss1, Pointer ss2) { - var _result = _meos_d.tsequenceset_cmp(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequenceset_eq(Pointer ss1, Pointer ss2) { - var _result = _meos_d.tsequenceset_eq(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.always_eq_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.always_eq_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.always_ne_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.always_ne_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.always_ge_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.always_ge_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.always_gt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.always_gt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.always_le_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.always_le_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.always_lt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.always_lt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.ever_eq_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.ever_eq_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.ever_ne_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.ever_ne_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.ever_ge_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.ever_ge_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.ever_gt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.ever_gt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.ever_le_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.ever_le_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_d.ever_lt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_d.ever_lt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_abs(Pointer inst) { - var _result = _meos_d.tnumberinst_abs(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_abs(Pointer seq) { - var _result = _meos_d.tnumberseq_abs(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_angular_difference(Pointer seq) { - var _result = _meos_d.tnumberseq_angular_difference(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_delta_value(Pointer seq) { - var _result = _meos_d.tnumberseq_delta_value(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_abs(Pointer ss) { - var _result = _meos_d.tnumberseqset_abs(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_angular_difference(Pointer ss) { - var _result = _meos_d.tnumberseqset_angular_difference(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_delta_value(Pointer ss) { - var _result = _meos_d.tnumberseqset_delta_value(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_span_double(Pointer s1, Pointer s2) { - var _result = _meos_d.distance_span_span_double(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_d.nad_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnumber_number(Pointer temp, Pointer value) { - var _result = _meos_d.nad_tnumber_number(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnumber_number(Pointer temp, Pointer value) { - var _result = _meos_d.tdistance_tnumber_number(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberinst_distance(Pointer inst1, Pointer inst2) { - var _result = _meos_d.tnumberinst_distance(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_integral(Pointer seq) { - var _result = _meos_d.tnumberseq_integral(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_twavg(Pointer seq) { - var _result = _meos_d.tnumberseq_twavg(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseqset_integral(Pointer ss) { - var _result = _meos_d.tnumberseqset_integral(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseqset_twavg(Pointer ss) { - var _result = _meos_d.tnumberseqset_twavg(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_compact(Pointer temp) { - var _result = _meos_d.temporal_compact(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_compact(Pointer seq) { - var _result = _meos_d.tsequence_compact(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_compact(Pointer ss) { - var _result = _meos_d.tsequenceset_compact(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_skiplist_make() { - var _result = _meos_d.temporal_skiplist_make(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn) { - var _result = _meos_d.skiplist_make(key_size, value_size, comp_fn, merge_fn); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int skiplist_search(Pointer list, Pointer key, Pointer value) { - var _result = _meos_d.skiplist_search(list, key, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void skiplist_free(Pointer list) { - _meos_d.skiplist_free(list); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype) { - _meos_d.skiplist_splice(list, keys, values, count, func, crossings, sktype); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings) { - _meos_d.temporal_skiplist_splice(list, values, count, func, crossings); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer skiplist_values(Pointer list) { - var _result = _meos_d.skiplist_values(list); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer skiplist_keys_values(Pointer list, Pointer values) { - var _result = _meos_d.skiplist_keys_values(list, values); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt) { - var _result = _meos_d.temporal_app_tinst_transfn(state, inst, interp, maxdist, maxt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq) { - var _result = _meos_d.temporal_app_tseq_transfn(state, seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count) { - var _result = _meos_d.span_bins(s, size, origin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count) { - var _result = _meos_d.spanset_bins(ss, size, origin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count) { - var _result = _meos_d.tnumber_value_bins(temp, size, origin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tnumber_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_split(Pointer temp, Pointer vsize, Pointer vorigin, Pointer bins, Pointer count) { - var _result = _meos_d.tnumber_value_split(temp, vsize, vorigin, bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_get_value_time_tile(Pointer value, OffsetDateTime t, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, int basetype, int spantype) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tbox_get_value_time_tile(value, t_new, vsize, duration, vorigin, torigin_new, basetype, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tnumber_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer proj_get_context() { - var _result = _meos_d.proj_get_context(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_geo_round(Pointer value, Pointer size) { - var _result = _meos_d.datum_geo_round(value, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer point_round(Pointer gs, int maxdd) { - var _result = _meos_d.point_round(gs, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer box) { - _meos_d.stbox_set(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void gbox_set_stbox(Pointer box, int srid, Pointer result) { - _meos_d.gbox_set_stbox(box, srid, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean geo_set_stbox(Pointer gs, Pointer box) { - var _result = _meos_d.geo_set_stbox(gs, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void geoarr_set_stbox(Pointer values, int count, Pointer box) { - _meos_d.geoarr_set_stbox(values, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean spatial_set_stbox(Pointer d, int basetype, Pointer box) { - var _result = _meos_d.spatial_set_stbox(d, basetype, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void spatialset_set_stbox(Pointer set, Pointer box) { - _meos_d.spatialset_set_stbox(set, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stbox_set_box3d(Pointer box, Pointer box3d) { - _meos_d.stbox_set_box3d(box, box3d); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stbox_set_gbox(Pointer box, Pointer gbox) { - _meos_d.stbox_set_gbox(box, gbox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzset_set_stbox(Pointer s, Pointer box) { - _meos_d.tstzset_set_stbox(s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspan_set_stbox(Pointer s, Pointer box) { - _meos_d.tstzspan_set_stbox(s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspanset_set_stbox(Pointer s, Pointer box) { - _meos_d.tstzspanset_set_stbox(s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stbox_expand(Pointer box1, Pointer box2) { - _meos_d.stbox_expand(box1, box2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer inter_stbox_stbox(Pointer box1, Pointer box2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.inter_stbox_stbox(box1, box2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_geo(Pointer box) { - var _result = _meos_d.stbox_geo(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_d.tgeogpointinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointinst_in(String str) { - var _result = _meos_d.tgeogpointinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeogpointseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseq_in(String str, int interp) { - var _result = _meos_d.tgeogpointseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeogpointseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseqset_in(String str) { - var _result = _meos_d.tgeogpointseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_d.tgeompointinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointinst_in(String str) { - var _result = _meos_d.tgeompointinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeompointseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseq_in(String str, int interp) { - var _result = _meos_d.tgeompointseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeompointseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseqset_in(String str) { - var _result = _meos_d.tgeompointseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_d.tgeographyinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyinst_in(String str) { - var _result = _meos_d.tgeographyinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeographyseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseq_in(String str, int interp) { - var _result = _meos_d.tgeographyseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeographyseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseqset_in(String str) { - var _result = _meos_d.tgeographyseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_d.tgeometryinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryinst_in(String str) { - var _result = _meos_d.tgeometryinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeometryseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseq_in(String str, int interp) { - var _result = _meos_d.tgeometryseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_d.tgeometryseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseqset_in(String str) { - var _result = _meos_d.tgeometryseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatial_set_stbox(Pointer temp, Pointer box) { - _meos_d.tspatial_set_stbox(temp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tgeoinst_set_stbox(Pointer inst, Pointer box) { - _meos_d.tgeoinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialseq_set_stbox(Pointer seq, Pointer box) { - _meos_d.tspatialseq_set_stbox(seq, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialseqset_set_stbox(Pointer ss, Pointer box) { - _meos_d.tspatialseqset_set_stbox(ss, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.tgeo_restrict_elevation(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { - var _result = _meos_d.tgeo_restrict_geom(temp, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.tgeo_restrict_stbox(temp, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc) { - var _result = _meos_d.tgeoinst_restrict_geom(inst, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.tgeoinst_restrict_stbox(inst, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc) { - var _result = _meos_d.tgeoseq_restrict_geom(seq, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.tgeoseq_restrict_stbox(seq, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc) { - var _result = _meos_d.tgeoseqset_restrict_geom(ss, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.tgeoseqset_restrict_stbox(ss, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatial_srid(Pointer d, int basetype) { - var _result = _meos_d.spatial_srid(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spatial_set_srid(Pointer d, int basetype, int srid) { - var _result = _meos_d.spatial_set_srid(d, basetype, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tspatialinst_srid(Pointer inst) { - var _result = _meos_d.tspatialinst_srid(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_azimuth(Pointer seq) { - var _result = _meos_d.tpointseq_azimuth(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_cumulative_length(Pointer seq, double prevlength) { - var _result = _meos_d.tpointseq_cumulative_length(seq, prevlength); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpointseq_is_simple(Pointer seq) { - var _result = _meos_d.tpointseq_is_simple(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpointseq_length(Pointer seq) { - var _result = _meos_d.tpointseq_length(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union) { - var _result = _meos_d.tpointseq_linear_trajectory(seq, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_stboxes(Pointer seq, Pointer count) { - var _result = _meos_d.tgeoseq_stboxes(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count) { - var _result = _meos_d.tgeoseq_split_n_stboxes(seq, max_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_azimuth(Pointer ss) { - var _result = _meos_d.tpointseqset_azimuth(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_cumulative_length(Pointer ss) { - var _result = _meos_d.tpointseqset_cumulative_length(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpointseqset_is_simple(Pointer ss) { - var _result = _meos_d.tpointseqset_is_simple(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpointseqset_length(Pointer ss) { - var _result = _meos_d.tpointseqset_length(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_stboxes(Pointer ss, Pointer count) { - var _result = _meos_d.tgeoseqset_stboxes(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count) { - var _result = _meos_d.tgeoseqset_split_n_stboxes(ss, max_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_coord(Pointer temp, int coord) { - var _result = _meos_d.tpoint_get_coord(temp, coord); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeominst_tgeoginst(Pointer inst, boolean oper) { - var _result = _meos_d.tgeominst_tgeoginst(inst, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper) { - var _result = _meos_d.tgeomseq_tgeogseq(seq, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper) { - var _result = _meos_d.tgeomseqset_tgeogseqset(ss, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeom_tgeog(Pointer temp, boolean oper) { - var _result = _meos_d.tgeom_tgeog(temp, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_tpoint(Pointer temp, boolean oper) { - var _result = _meos_d.tgeo_tpoint(temp, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatialinst_set_srid(Pointer inst, int srid) { - _meos_d.tspatialinst_set_srid(inst, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_make_simple(Pointer seq, Pointer count) { - var _result = _meos_d.tpointseq_make_simple(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatialseq_set_srid(Pointer seq, int srid) { - _meos_d.tspatialseq_set_srid(seq, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_make_simple(Pointer ss, Pointer count) { - var _result = _meos_d.tpointseqset_make_simple(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatialseqset_set_srid(Pointer ss, int srid) { - _meos_d.tspatialseqset_set_srid(ss, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_twcentroid(Pointer seq) { - var _result = _meos_d.tpointseq_twcentroid(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_twcentroid(Pointer ss) { - var _result = _meos_d.tpointseqset_twcentroid(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_as_ewkt(Pointer np, int maxdd) { - var _result = _meos_d.npoint_as_ewkt(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_as_hexwkb(Pointer np, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.npoint_as_hexwkb(np, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_as_text(Pointer np, int maxdd) { - var _result = _meos_d.npoint_as_text(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_as_wkb(Pointer np, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.npoint_as_wkb(np, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_from_hexwkb(String hexwkb) { - var _result = _meos_d.npoint_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_from_wkb(Pointer wkb, long size) { - var _result = _meos_d.npoint_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_in(String str) { - var _result = _meos_d.npoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_out(Pointer np, int maxdd) { - var _result = _meos_d.npoint_out(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_in(String str) { - var _result = _meos_d.nsegment_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String nsegment_out(Pointer ns, int maxdd) { - var _result = _meos_d.nsegment_out(ns, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_make(long rid, double pos) { - var _result = _meos_d.npoint_make(rid, pos); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_make(long rid, double pos1, double pos2) { - var _result = _meos_d.nsegment_make(rid, pos1, pos2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_to_npoint(Pointer gs) { - var _result = _meos_d.geompoint_to_npoint(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_nsegment(Pointer gs) { - var _result = _meos_d.geom_to_nsegment(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_geompoint(Pointer np) { - var _result = _meos_d.npoint_to_geompoint(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_nsegment(Pointer np) { - var _result = _meos_d.npoint_to_nsegment(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_stbox(Pointer np) { - var _result = _meos_d.npoint_to_stbox(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_to_geom(Pointer ns) { - var _result = _meos_d.nsegment_to_geom(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_to_stbox(Pointer np) { - var _result = _meos_d.nsegment_to_stbox(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_hash(Pointer np) { - var _result = _meos_d.npoint_hash(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long npoint_hash_extended(Pointer np, long seed) { - var _result = _meos_d.npoint_hash_extended(np, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double npoint_position(Pointer np) { - var _result = _meos_d.npoint_position(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long npoint_route(Pointer np) { - var _result = _meos_d.npoint_route(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nsegment_end_position(Pointer ns) { - var _result = _meos_d.nsegment_end_position(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long nsegment_route(Pointer ns) { - var _result = _meos_d.nsegment_route(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nsegment_start_position(Pointer ns) { - var _result = _meos_d.nsegment_start_position(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean route_exists(long rid) { - var _result = _meos_d.route_exists(rid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer route_geom(long rid) { - var _result = _meos_d.route_geom(rid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double route_length(long rid) { - var _result = _meos_d.route_length(rid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_round(Pointer np, int maxdd) { - var _result = _meos_d.npoint_round(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_round(Pointer ns, int maxdd) { - var _result = _meos_d.nsegment_round(ns, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int get_srid_ways() { - var _result = _meos_d.get_srid_ways(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_srid(Pointer np) { - var _result = _meos_d.npoint_srid(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nsegment_srid(Pointer ns) { - var _result = _meos_d.nsegment_srid(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_timestamptz_to_stbox(Pointer np, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.npoint_timestamptz_to_stbox(np, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s) { - var _result = _meos_d.npoint_tstzspan_to_stbox(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_cmp(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_cmp(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_eq(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_eq(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_ge(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_ge(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_gt(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_gt(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_le(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_le(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_lt(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_lt(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_ne(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_ne(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_same(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_same(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nsegment_cmp(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_cmp(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_eq(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_eq(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_ge(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_ge(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_gt(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_gt(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_le(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_le(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_lt(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_lt(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_ne(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_ne(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_in(String str) { - var _result = _meos_d.npointset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npointset_out(Pointer s, int maxdd) { - var _result = _meos_d.npointset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_make(Pointer values, int count) { - var _result = _meos_d.npointset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_set(Pointer np) { - var _result = _meos_d.npoint_to_set(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_end_value(Pointer s) { - var _result = _meos_d.npointset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_routes(Pointer s) { - var _result = _meos_d.npointset_routes(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_start_value(Pointer s) { - var _result = _meos_d.npointset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.npointset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer npointset_values(Pointer s) { - var _result = _meos_d.npointset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.contained_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.contains_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.intersection_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.intersection_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.minus_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.minus_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_union_transfn(Pointer state, Pointer np) { - var _result = _meos_d.npoint_union_transfn(state, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.union_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.union_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_in(String str) { - var _result = _meos_d.tnpoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_from_mfjson(String mfjson) { - var _result = _meos_d.tnpoint_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tnpoint_out(Pointer temp, int maxdd) { - var _result = _meos_d.tnpoint_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointinst_make(Pointer np, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tnpointinst_make(np, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_tnpoint(Pointer temp) { - var _result = _meos_d.tgeompoint_to_tnpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_to_tgeompoint(Pointer temp) { - var _result = _meos_d.tnpoint_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_cumulative_length(Pointer temp) { - var _result = _meos_d.tnpoint_cumulative_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnpoint_length(Pointer temp) { - var _result = _meos_d.tnpoint_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_positions(Pointer temp, Pointer count) { - var _result = _meos_d.tnpoint_positions(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tnpoint_route(Pointer temp) { - var _result = _meos_d.tnpoint_route(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_routes(Pointer temp) { - var _result = _meos_d.tnpoint_routes(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_speed(Pointer temp) { - var _result = _meos_d.tnpoint_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_trajectory(Pointer temp) { - var _result = _meos_d.tnpoint_trajectory(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_twcentroid(Pointer temp) { - var _result = _meos_d.tnpoint_twcentroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tnpoint_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tnpoint_at_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_npointset(Pointer temp, Pointer s) { - var _result = _meos_d.tnpoint_at_npointset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tnpoint_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tnpoint_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tnpoint_minus_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_npointset(Pointer temp, Pointer s) { - var _result = _meos_d.tnpoint_minus_npointset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tnpoint_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tdistance_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnpoint_point(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_tnpoint_point(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.nad_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tnpoint_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.nai_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.shortestline_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp) { - var _result = _meos_d.tnpoint_tcentroid_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.always_eq_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.always_eq_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.always_ne_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.always_ne_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.ever_eq_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.ever_eq_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.ever_ne_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.ever_ne_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.teq_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tne_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_ewkt(Pointer pose, int maxdd) { - var _result = _meos_d.pose_as_ewkt(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_hexwkb(Pointer pose, byte variant, Pointer size) { - var _result = _meos_d.pose_as_hexwkb(pose, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_text(Pointer pose, int maxdd) { - var _result = _meos_d.pose_as_text(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_as_wkb(Pointer pose, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.pose_as_wkb(pose, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_from_wkb(Pointer wkb, long size) { - var _result = _meos_d.pose_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_from_hexwkb(String hexwkb) { - var _result = _meos_d.pose_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_in(String str) { - var _result = _meos_d.pose_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_out(Pointer pose, int maxdd) { - var _result = _meos_d.pose_out(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_copy(Pointer pose) { - var _result = _meos_d.pose_copy(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_2d(double x, double y, double theta, int srid) { - var _result = _meos_d.pose_make_2d(x, y, theta, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid) { - var _result = _meos_d.pose_make_3d(x, y, z, W, X, Y, Z, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_point2d(Pointer gs, double theta) { - var _result = _meos_d.pose_make_point2d(gs, theta); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z) { - var _result = _meos_d.pose_make_point3d(gs, W, X, Y, Z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_to_point(Pointer pose) { - var _result = _meos_d.pose_to_point(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_to_stbox(Pointer pose) { - var _result = _meos_d.pose_to_stbox(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pose_hash(Pointer pose) { - var _result = _meos_d.pose_hash(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long pose_hash_extended(Pointer pose, long seed) { - var _result = _meos_d.pose_hash_extended(pose, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_orientation(Pointer pose) { - var _result = _meos_d.pose_orientation(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double pose_rotation(Pointer pose) { - var _result = _meos_d.pose_rotation(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_round(Pointer pose, int maxdd) { - var _result = _meos_d.pose_round(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer posearr_round(Pointer posearr, int count, int maxdd) { - var _result = _meos_d.posearr_round(posearr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void pose_set_srid(Pointer pose, int srid) { - _meos_d.pose_set_srid(pose, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int pose_srid(Pointer pose) { - var _result = _meos_d.pose_srid(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_transform(Pointer pose, int srid) { - var _result = _meos_d.pose_transform(pose, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_d.pose_transform_pipeline(pose, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s) { - var _result = _meos_d.pose_tstzspan_to_stbox(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_timestamptz_to_stbox(Pointer pose, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.pose_timestamptz_to_stbox(pose, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_pose_geo(Pointer pose, Pointer gs) { - var _result = _meos_d.distance_pose_geo(pose, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_pose_pose(Pointer pose1, Pointer pose2) { - var _result = _meos_d.distance_pose_pose(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_pose_stbox(Pointer pose, Pointer box) { - var _result = _meos_d.distance_pose_stbox(pose, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pose_cmp(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_cmp(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_eq(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_eq(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_ge(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_ge(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_gt(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_gt(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_le(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_le(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_lt(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_lt(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_ne(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_ne(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_nsame(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_nsame(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_same(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_same(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_in(String str) { - var _result = _meos_d.poseset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String poseset_out(Pointer s, int maxdd) { - var _result = _meos_d.poseset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_make(Pointer values, int count) { - var _result = _meos_d.poseset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_to_set(Pointer pose) { - var _result = _meos_d.pose_to_set(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_end_value(Pointer s) { - var _result = _meos_d.poseset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_start_value(Pointer s) { - var _result = _meos_d.poseset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.poseset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer poseset_values(Pointer s) { - var _result = _meos_d.poseset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.contained_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.contains_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.intersection_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.intersection_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.minus_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.minus_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_union_transfn(Pointer state, Pointer pose) { - var _result = _meos_d.pose_union_transfn(state, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.union_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.union_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_in(String str) { - var _result = _meos_d.tpose_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_make(Pointer tpoint, Pointer tradius) { - var _result = _meos_d.tpose_make(tpoint, tradius); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_to_tpoint(Pointer temp) { - var _result = _meos_d.tpose_to_tpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_end_value(Pointer temp) { - var _result = _meos_d.tpose_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_points(Pointer temp) { - var _result = _meos_d.tpose_points(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_rotation(Pointer temp) { - var _result = _meos_d.tpose_rotation(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_start_value(Pointer temp) { - var _result = _meos_d.tpose_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_trajectory(Pointer temp) { - var _result = _meos_d.tpose_trajectory(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpose_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tpose_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tpose_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpose_values(Pointer temp, Pointer count) { - var _result = _meos_d.tpose_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tpose_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tpose_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_at_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tpose_at_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tpose_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_minus_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tpose_minus_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tpose_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tdistance_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tpose_point(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_tpose_point(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.nad_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tpose_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.nai_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.shortestline_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.always_eq_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.always_eq_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.always_ne_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.always_ne_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.ever_eq_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.ever_eq_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.ever_ne_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.ever_ne_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.teq_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.teq_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.tne_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tne_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String trgeo_out(Pointer temp) { - var _result = _meos_d.trgeo_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoinst_make(Pointer geom, Pointer pose, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeoinst_make(geom, pose, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tpose_to_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.geo_tpose_to_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_to_tpose(Pointer temp) { - var _result = _meos_d.trgeo_to_tpose(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_to_tpoint(Pointer temp) { - var _result = _meos_d.trgeo_to_tpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_end_instant(Pointer temp) { - var _result = _meos_d.trgeo_end_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_end_sequence(Pointer temp) { - var _result = _meos_d.trgeo_end_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_end_value(Pointer temp) { - var _result = _meos_d.trgeo_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_geom(Pointer temp) { - var _result = _meos_d.trgeo_geom(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_instant_n(Pointer temp, int n) { - var _result = _meos_d.trgeo_instant_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_instants(Pointer temp, Pointer count) { - var _result = _meos_d.trgeo_instants(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_points(Pointer temp) { - var _result = _meos_d.trgeo_points(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_rotation(Pointer temp) { - var _result = _meos_d.trgeo_rotation(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_segments(Pointer temp, Pointer count) { - var _result = _meos_d.trgeo_segments(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_sequence_n(Pointer temp, int i) { - var _result = _meos_d.trgeo_sequence_n(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_sequences(Pointer temp, Pointer count) { - var _result = _meos_d.trgeo_sequences(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_start_instant(Pointer temp) { - var _result = _meos_d.trgeo_start_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_start_sequence(Pointer temp) { - var _result = _meos_d.trgeo_start_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_start_value(Pointer temp) { - var _result = _meos_d.trgeo_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.trgeo_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_traversed_area(Pointer temp, boolean unary_union) { - var _result = _meos_d.trgeo_traversed_area(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_d.trgeo_append_tinstant(temp, inst, interp, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_append_tsequence(Pointer temp, Pointer seq, boolean expand) { - var _result = _meos_d.trgeo_append_tsequence(temp, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeo_delete_timestamptz(temp, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_delete_tstzset(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_d.trgeo_delete_tstzset(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_d.trgeo_delete_tstzspan(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { - var _result = _meos_d.trgeo_delete_tstzspanset(temp, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_round(Pointer temp, int maxdd) { - var _result = _meos_d.trgeo_round(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_set_interp(Pointer temp, int interp) { - var _result = _meos_d.trgeo_set_interp(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_to_tinstant(Pointer temp) { - var _result = _meos_d.trgeo_to_tinstant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeo_after_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeo_before_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_value(Pointer temp, Pointer value, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_value(temp, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_values(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_values(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeo_restrict_timestamptz(temp, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_tstzset(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_tstzspan(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_tstzspanset(temp, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_trgeo_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_trgeo_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_trgeo(Pointer box, Pointer temp) { - var _result = _meos_d.nad_stbox_trgeo(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeo_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_trgeo_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeo_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_trgeo_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_trgeo_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_trgeo_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_trgeo_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_trgeo_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.always_eq_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.always_eq_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.always_ne_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.always_ne_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.ever_eq_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ever_eq_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.ever_ne_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ever_ne_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.teq_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.teq_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.tne_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tne_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_get_srid(Pointer g) { - var _result = _meos_d.geo_get_srid(g); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int date_in(String str) { - var _result = _meos_d.date_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String date_out(int d) { - var _result = _meos_d.date_out(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int interval_cmp(Pointer interv1, Pointer interv2) { - var _result = _meos_d.interval_cmp(interv1, interv2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer interval_in(String str, int typmod) { - var _result = _meos_d.interval_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String interval_out(Pointer interv) { - var _result = _meos_d.interval_out(interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer time_in(String str, int typmod) { - var _result = _meos_d.time_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String time_out(Pointer t) { - var _result = _meos_d.time_out(t); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static LocalDateTime timestamp_in(String str, int typmod) { - var _result = _meos_d.timestamp_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String timestamp_out(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = _meos_d.timestamp_out(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_in(String str, int typmod) { - var _result = _meos_d.timestamptz_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String timestamptz_out(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.timestamptz_out(t_new); - MeosErrorHandler.checkError(); - return _result; - } - -} From 4a79753f74a709c99652703ddd3dbe73c4f4bb1e Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Thu, 2 Jul 2026 12:21:56 +0200 Subject: [PATCH 03/23] Regenerate the IDL against the current MobilityDB master surface --- codegen/input/meos-idl.json | 81795 ++++++++++++++++++++++++++-------- 1 file changed, 62233 insertions(+), 19562 deletions(-) diff --git a/codegen/input/meos-idl.json b/codegen/input/meos-idl.json index dbdd46a60..adf19d3eb 100644 --- a/codegen/input/meos-idl.json +++ b/codegen/input/meos-idl.json @@ -1,8 +1,87 @@ { "functions": [ + { + "name": "meos_error", + "file": "meos_error.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "errlevel", + "cType": "int", + "canonical": "int" + }, + { + "name": "errcode", + "cType": "int", + "canonical": "int" + }, + { + "name": "format", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meos_errno", + "file": "meos_error.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [] + }, + { + "name": "meos_errno_set", + "file": "meos_error.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "err", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_errno_restore", + "file": "meos_error.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "err", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_errno_reset", + "file": "meos_error.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [] + }, { "name": "meos_array_create", "file": "meos.h", + "family": "CORE", "returnType": { "c": "MeosArray *", "canonical": "struct MeosArray *" @@ -18,6 +97,7 @@ { "name": "meos_array_add", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -38,6 +118,7 @@ { "name": "meos_array_get", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void *", "canonical": "void *" @@ -58,6 +139,7 @@ { "name": "meos_array_count", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -73,6 +155,7 @@ { "name": "meos_array_reset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -88,6 +171,7 @@ { "name": "meos_array_reset_free", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -103,6 +187,7 @@ { "name": "meos_array_destroy", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -118,6 +203,7 @@ { "name": "meos_array_destroy_free", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -133,6 +219,7 @@ { "name": "rtree_create_intspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -142,6 +229,7 @@ { "name": "rtree_create_bigintspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -151,6 +239,7 @@ { "name": "rtree_create_floatspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -160,6 +249,7 @@ { "name": "rtree_create_datespan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -169,6 +259,7 @@ { "name": "rtree_create_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -178,6 +269,7 @@ { "name": "rtree_create_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -187,6 +279,7 @@ { "name": "rtree_create_stbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "RTree *", "canonical": "struct RTree *" @@ -196,6 +289,7 @@ { "name": "rtree_free", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -211,6 +305,7 @@ { "name": "rtree_insert", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -236,6 +331,33 @@ { "name": "rtree_insert_temporal", "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "rtree", + "cType": "RTree *", + "canonical": "struct RTree *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "id", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "rtree_insert_temporal_split", + "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -249,18 +371,24 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "id", "cType": "int", "canonical": "int" + }, + { + "name": "maxboxes", + "cType": "int", + "canonical": "int" } ] }, { "name": "rtree_search", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -291,6 +419,7 @@ { "name": "rtree_search_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -309,7 +438,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "result", @@ -319,81 +448,97 @@ ] }, { - "name": "meos_error", + "name": "rtree_search_temporal_dedup", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "errlevel", - "cType": "int", - "canonical": "int" + "name": "rtree", + "cType": "const RTree *", + "canonical": "const struct RTree *" }, { - "name": "errcode", + "name": "op", + "cType": "RTreeSearchOp", + "canonical": "RTreeSearchOp" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "maxboxes", "cType": "int", "canonical": "int" }, { - "name": "format", - "cType": "const char *", - "canonical": "const char *" + "name": "result", + "cType": "MeosArray *", + "canonical": "struct MeosArray *" } ] }, { - "name": "meos_errno", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [] - }, - { - "name": "meos_errno_set", + "name": "meos_initialize_error_handler", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "err", - "cType": "int", - "canonical": "int" + "name": "err_handler", + "cType": "error_handler_fn", + "canonical": "void (*)(int, int, const char *)" } ] }, { - "name": "meos_errno_restore", + "name": "meos_initialize_allocator", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "err", - "cType": "int", - "canonical": "int" + "name": "malloc_fn", + "cType": "meos_malloc_fn", + "canonical": "void *(*)(int)" + }, + { + "name": "realloc_fn", + "cType": "meos_realloc_fn", + "canonical": "void *(*)(void *, int)" + }, + { + "name": "free_fn", + "cType": "meos_free_fn", + "canonical": "void (*)(void *)" } ] }, { - "name": "meos_errno_reset", + "name": "meos_initialize_noexit_error_handler", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [] }, { "name": "meos_initialize_timezone", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -407,23 +552,29 @@ ] }, { - "name": "meos_initialize_error_handler", + "name": "meos_initialize_collation", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" }, - "params": [ - { - "name": "err_handler", - "cType": "error_handler_fn", - "canonical": "void (*)(int, int, const char *)" - } - ] + "params": [] }, { "name": "meos_finalize_timezone", "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "meos_finalize_collation", + "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -433,6 +584,7 @@ { "name": "meos_finalize_projsrs", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -442,6 +594,7 @@ { "name": "meos_finalize_ways", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -451,6 +604,7 @@ { "name": "meos_set_datestyle", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -471,6 +625,7 @@ { "name": "meos_set_intervalstyle", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -491,6 +646,7 @@ { "name": "meos_get_datestyle", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -500,6 +656,7 @@ { "name": "meos_get_intervalstyle", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -509,6 +666,23 @@ { "name": "meos_set_spatial_ref_sys_csv", "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "path", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meos_set_ways_csv", + "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -524,6 +698,7 @@ { "name": "meos_initialize", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -533,6 +708,7 @@ { "name": "meos_finalize", "file": "meos.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -540,71 +716,65 @@ "params": [] }, { - "name": "add_date_int", + "name": "bigintset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" - }, - { - "name": "days", - "cType": "int32", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "add_interval_interval", + "name": "bigintset_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "interv1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "interv2", - "cType": "const int *", - "canonical": "const int *" + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "add_timestamptz_interval", + "name": "bigintspan_expand", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "value", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "bool_in", + "name": "bigintspan_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -615,26 +785,28 @@ ] }, { - "name": "bool_out", + "name": "bigintspan_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "b", - "cType": "bool", - "canonical": "bool" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "cstring2text", + "name": "bigintspanset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -645,112 +817,146 @@ ] }, { - "name": "date_to_timestamp", + "name": "bigintspanset_out", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "dateset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Timestamp", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "dateVal", - "cType": "DateADT", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "date_to_timestamptz", + "name": "dateset_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "float_exp", + "name": "datespan_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "float_ln", + "name": "datespan_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "float_log10", + "name": "datespanset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "float8_out", + "name": "datespanset_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" - }, + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "floatset_in", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "float_round", + "name": "floatset_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" }, { "name": "maxdd", @@ -760,196 +966,160 @@ ] }, { - "name": "int32_cmp", + "name": "floatspan_expand", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "l", - "cType": "int32", - "canonical": "int" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "r", - "cType": "int32", - "canonical": "int" + "name": "value", + "cType": "double", + "canonical": "double" } ] }, { - "name": "int64_cmp", + "name": "floatspan_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "l", - "cType": "int64", - "canonical": "long" - }, - { - "name": "r", - "cType": "int64", - "canonical": "long" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "interval_make", + "name": "floatspan_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "years", - "cType": "int32", - "canonical": "int" - }, - { - "name": "months", - "cType": "int32", - "canonical": "int" - }, - { - "name": "weeks", - "cType": "int32", - "canonical": "int" - }, - { - "name": "days", - "cType": "int32", - "canonical": "int" - }, - { - "name": "hours", - "cType": "int32", - "canonical": "int" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "mins", - "cType": "int32", + "name": "maxdd", + "cType": "int", "canonical": "int" - }, - { - "name": "secs", - "cType": "double", - "canonical": "double" } ] }, { - "name": "minus_date_date", + "name": "floatspanset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "d1", - "cType": "DateADT", - "canonical": "int" - }, - { - "name": "d2", - "cType": "DateADT", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "minus_date_int", + "name": "floatspanset_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "days", - "cType": "int32", + "name": "maxdd", + "cType": "int", "canonical": "int" } ] }, { - "name": "minus_timestamptz_interval", + "name": "intset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "minus_timestamptz_timestamptz", + "name": "intset_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "t1", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "t2", - "cType": "TimestampTz", - "canonical": "long" + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "mul_interval_double", + "name": "intspan_expand", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "factor", - "cType": "double", - "canonical": "double" + "name": "value", + "cType": "int", + "canonical": "int" } ] }, { - "name": "pg_date_in", + "name": "intspan_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -960,346 +1130,359 @@ ] }, { - "name": "pg_date_out", + "name": "intspan_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "pg_interval_cmp", + "name": "intspanset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "interv1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "interv2", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "pg_interval_in", - "file": "meos.h", - "returnType": { - "c": "int *", - "canonical": "int *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { "name": "str", "cType": "const char *", "canonical": "const char *" - }, - { - "name": "typmod", - "cType": "int32", - "canonical": "int" } ] }, { - "name": "pg_interval_out", + "name": "intspanset_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "pg_timestamp_in", + "name": "set_as_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Timestamp", - "canonical": "long" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "typmod", - "cType": "int32", - "canonical": "int" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "pg_timestamp_out", + "name": "set_as_wkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "t", - "cType": "Timestamp", - "canonical": "long" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "pg_timestamptz_in", + "name": "set_from_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", + "name": "hexwkb", "cType": "const char *", "canonical": "const char *" - }, - { - "name": "typmod", - "cType": "int32", - "canonical": "int" } ] }, { - "name": "pg_timestamptz_out", + "name": "set_from_wkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "size_t" } ] }, { - "name": "text2cstring", + "name": "span_as_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "text_cmp", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, { - "name": "txt1", - "cType": "const int *", - "canonical": "const int *" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" }, { - "name": "txt2", - "cType": "const int *", - "canonical": "const int *" + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "text_copy", + "name": "span_as_wkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "text_in", + "name": "span_from_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "str", + "name": "hexwkb", "cType": "const char *", "canonical": "const char *" } ] }, { - "name": "text_initcap", + "name": "span_from_wkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "text_lower", - "file": "meos.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "size", + "cType": "size_t", + "canonical": "size_t" } ] }, { - "name": "text_out", + "name": "spanset_as_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "text_upper", + "name": "spanset_as_wkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "textcat_text_text", + "name": "spanset_from_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "txt1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "txt2", - "cType": "const int *", - "canonical": "const int *" + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "timestamptz_shift", + "name": "spanset_from_wkb", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" }, { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "size", + "cType": "size_t", + "canonical": "size_t" } ] }, { - "name": "timestamp_to_date", + "name": "textset_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "t", - "cType": "Timestamp", - "canonical": "long" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "timestamptz_to_date", + "name": "textset_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "bigintset_in", + "name": "tstzset_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -1310,8 +1493,9 @@ ] }, { - "name": "bigintset_out", + "name": "tstzset_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -1320,33 +1504,14 @@ { "name": "set", "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "bigintspan_expand", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "value", - "cType": "int64", - "canonical": "long" + "canonical": "const struct Set *" } ] }, { - "name": "bigintspan_in", + "name": "tstzspan_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -1360,8 +1525,9 @@ ] }, { - "name": "bigintspan_out", + "name": "tstzspan_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -1375,8 +1541,9 @@ ] }, { - "name": "bigintspanset_in", + "name": "tstzspanset_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -1390,8 +1557,9 @@ ] }, { - "name": "bigintspanset_out", + "name": "tstzspanset_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -1405,666 +1573,698 @@ ] }, { - "name": "dateset_in", + "name": "bigintset_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "dateset_out", - "file": "meos.h", - "returnType": { - "c": "char *", - "canonical": "char *" - }, - "params": [ + "name": "values", + "cType": "const int64_t *", + "canonical": "const int64_t *" + }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "datespan_in", + "name": "bigintspan_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "lower", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "upper", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "datespan_out", + "name": "dateset_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "values", + "cType": "const DateADT *", + "canonical": "const DateADT *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "datespanset_in", + "name": "datespan_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "lower", + "cType": "DateADT", + "canonical": "DateADT" + }, + { + "name": "upper", + "cType": "DateADT", + "canonical": "DateADT" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "datespanset_out", + "name": "floatset_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "values", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "floatset_in", + "name": "floatspan_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "lower", + "cType": "double", + "canonical": "double" + }, + { + "name": "upper", + "cType": "double", + "canonical": "double" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "floatset_out", + "name": "intset_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" + "name": "values", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "maxdd", + "name": "count", "cType": "int", "canonical": "int" } ] }, { - "name": "floatspan_expand", + "name": "intspan_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "lower", + "cType": "int", + "canonical": "int" }, { - "name": "value", - "cType": "double", - "canonical": "double" + "name": "upper", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "floatspan_in", + "name": "set_copy", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "floatspan_out", + "name": "span_copy", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", "canonical": "const struct Span *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" } ] }, { - "name": "floatspanset_in", + "name": "spanset_copy", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "floatspanset_out", + "name": "spanset_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" }, { - "name": "maxdd", + "name": "count", "cType": "int", "canonical": "int" } ] }, { - "name": "intset_in", + "name": "textset_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "values", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "intset_out", + "name": "tstzset_make", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" + "name": "values", + "cType": "const TimestampTz *", + "canonical": "const TimestampTz *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "intspan_expand", + "name": "tstzspan_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" }, { - "name": "value", - "cType": "int32", - "canonical": "int" + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "intspan_in", + "name": "bigint_to_set", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "intspan_out", + "name": "bigint_to_span", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "intspanset_in", + "name": "bigint_to_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "intspanset_out", + "name": "date_to_set", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "d", + "cType": "DateADT", + "canonical": "DateADT" } ] }, { - "name": "set_as_hexwkb", + "name": "date_to_span", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "d", + "cType": "DateADT", + "canonical": "DateADT" } ] }, { - "name": "set_as_wkb", + "name": "date_to_spanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "d", + "cType": "DateADT", + "canonical": "DateADT" } ] }, { - "name": "set_from_hexwkb", + "name": "dateset_to_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "set_from_wkb", + "name": "datespan_to_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" - }, - { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "span_as_hexwkb", + "name": "datespanset_to_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "span_as_wkb", + "name": "float_to_set", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "span_from_hexwkb", + "name": "float_to_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "span_from_wkb", + "name": "float_to_spanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" - }, - { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "spanset_as_hexwkb", + "name": "floatset_to_intset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "spanset_as_wkb", + "name": "floatspan_to_intspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "spanset_from_hexwkb", + "name": "floatspan_to_bigintspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "spanset_from_wkb", + "name": "floatspanset_to_intspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" - }, - { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "textset_in", + "name": "int_to_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "textset_out", + "name": "int_to_span", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tstzset_in", + "name": "int_to_spanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tstzset_out", + "name": "intset_to_floatset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "set", + "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "tstzspan_in", + "name": "intspan_to_floatspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tstzspan_out", + "name": "intspan_to_bigintspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -2075,253 +2275,185 @@ ] }, { - "name": "tstzspanset_in", + "name": "bigintspan_to_intspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tstzspanset_out", + "name": "bigintspan_to_floatspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "bigintset_make", + "name": "intspanset_to_floatspanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "values", - "cType": "const int64 *", - "canonical": "const long *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "bigintspan_make", + "name": "set_to_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "lower", - "cType": "int64", - "canonical": "long" - }, - { - "name": "upper", - "cType": "int64", - "canonical": "long" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "dateset_make", + "name": "set_to_spanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "values", - "cType": "const DateADT *", - "canonical": "const int *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "datespan_make", + "name": "span_to_spanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "lower", - "cType": "DateADT", - "canonical": "int" - }, - { - "name": "upper", - "cType": "DateADT", - "canonical": "int" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "floatset_make", + "name": "text_to_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "values", - "cType": "const double *", - "canonical": "const double *" - }, + "name": "txt", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "timestamptz_to_set", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "floatspan_make", + "name": "timestamptz_to_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "lower", - "cType": "double", - "canonical": "double" - }, - { - "name": "upper", - "cType": "double", - "canonical": "double" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "timestamptz_to_spanset", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "intset_make", + "name": "tstzset_to_dateset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "values", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "intspan_make", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "lower", - "cType": "int", - "canonical": "int" - }, - { - "name": "upper", - "cType": "int", - "canonical": "int" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "set_copy", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "span_copy", + "name": "tstzspan_to_datespan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -2335,8 +2467,9 @@ ] }, { - "name": "spanset_copy", + "name": "tstzspanset_to_datespanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -2350,146 +2483,107 @@ ] }, { - "name": "spanset_make", + "name": "bigintset_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "spans", - "cType": "Span *", - "canonical": "struct Span *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "textset_make", + "name": "bigintset_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "values", - "cType": "int **", - "canonical": "int **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "tstzset_make", + "name": "bigintset_value_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "values", - "cType": "const TimestampTz *", - "canonical": "const long *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "count", + "name": "n", "cType": "int", "canonical": "int" - } - ] - }, - { - "name": "tstzspan_make", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "lower", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "upper", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" }, { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" + "name": "result", + "cType": "int64_t *", + "canonical": "int64_t *" } ] }, { - "name": "bigint_to_set", + "name": "bigintset_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int64_t *", + "canonical": "int64_t *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" - } - ] - }, - { - "name": "bigint_to_span", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "bigint_to_spanset", + "name": "bigintspan_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "bigintspan_to_intspan", + "name": "bigintspan_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -2500,11 +2594,12 @@ ] }, { - "name": "bigintspan_to_floatspan", + "name": "bigintspan_width", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -2515,161 +2610,160 @@ ] }, { - "name": "date_to_set", + "name": "bigintspanset_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "date_to_span", + "name": "bigintspanset_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "date_to_spanset", + "name": "bigintspanset_width", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "dateset_to_tstzset", + "name": "dateset_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "DateADT", + "canonical": "DateADT" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "datespan_to_tstzspan", + "name": "dateset_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "DateADT", + "canonical": "DateADT" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "datespanset_to_tstzspanset", + "name": "dateset_value_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "float_to_set", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, { - "name": "d", - "cType": "double", - "canonical": "double" - } - ] - }, - { - "name": "float_to_span", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ + "name": "n", + "cType": "int", + "canonical": "int" + }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "result", + "cType": "DateADT *", + "canonical": "DateADT *" } ] }, { - "name": "float_to_spanset", + "name": "dateset_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "DateADT *", + "canonical": "DateADT *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "floatset_to_intset", + "name": "datespan_duration", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "floatspan_to_bigintspan", + "name": "datespan_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "DateADT", + "canonical": "DateADT" }, "params": [ { @@ -2680,11 +2774,12 @@ ] }, { - "name": "floatspan_to_intspan", + "name": "datespan_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "DateADT", + "canonical": "DateADT" }, "params": [ { @@ -2695,116 +2790,107 @@ ] }, { - "name": "floatspanset_to_intspanset", + "name": "datespanset_date_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "int_to_set", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ + }, { - "name": "i", + "name": "n", "cType": "int", "canonical": "int" - } - ] - }, - { - "name": "int_to_span", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ + }, { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "result", + "cType": "DateADT *", + "canonical": "DateADT *" } ] }, { - "name": "int_to_spanset", + "name": "datespanset_dates", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "intset_to_floatset", + "name": "datespanset_duration", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "intspan_to_bigintspan", + "name": "datespanset_end_date", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "DateADT", + "canonical": "DateADT" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "intspan_to_floatspan", + "name": "datespanset_num_dates", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "intspanset_to_floatspanset", + "name": "datespanset_start_date", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "DateADT", + "canonical": "DateADT" }, "params": [ { @@ -2815,188 +2901,221 @@ ] }, { - "name": "set_to_span", + "name": "floatset_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "double", + "canonical": "double" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "set_to_spanset", + "name": "floatset_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "double", + "canonical": "double" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "span_to_spanset", + "name": "floatset_value_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "text_to_set", + "name": "floatset_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double *", + "canonical": "double *" }, "params": [ { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "timestamptz_to_set", + "name": "floatspan_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "timestamptz_to_span", + "name": "floatspan_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "timestamptz_to_spanset", + "name": "floatspan_width", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tstzset_to_dateset", + "name": "floatspanset_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "tstzspan_to_datespan", + "name": "floatspanset_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "tstzspanset_to_datespanset", + "name": "floatspanset_width", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "double", + "canonical": "double" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "bigintset_end_value", + "name": "intset_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "bigintset_start_value", + "name": "intset_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "bigintset_value_n", + "name": "intset_value_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -3005,7 +3124,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "n", @@ -3014,32 +3133,39 @@ }, { "name": "result", - "cType": "int64 *", - "canonical": "long *" + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "bigintset_values", + "name": "intset_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64 *", - "canonical": "long *" + "c": "int *", + "canonical": "int *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "bigintspan_lower", + "name": "intspan_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3050,11 +3176,12 @@ ] }, { - "name": "bigintspan_upper", + "name": "intspan_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3065,11 +3192,12 @@ ] }, { - "name": "bigintspan_width", + "name": "intspan_width", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3080,11 +3208,12 @@ ] }, { - "name": "bigintspanset_lower", + "name": "intspanset_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3095,11 +3224,12 @@ ] }, { - "name": "bigintspanset_upper", + "name": "intspanset_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3110,11 +3240,12 @@ ] }, { - "name": "bigintspanset_width", + "name": "intspanset_width", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3130,81 +3261,65 @@ ] }, { - "name": "dateset_end_value", + "name": "set_hash", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", + "c": "int", "canonical": "int" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "dateset_start_value", + "name": "set_hash_extended", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", + "c": "int", "canonical": "int" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "dateset_value_n", - "file": "meos.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { - "name": "n", + "name": "seed", "cType": "int", "canonical": "int" - }, - { - "name": "result", - "cType": "DateADT *", - "canonical": "int *" } ] }, { - "name": "dateset_values", + "name": "set_num_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "datespan_duration", + "name": "span_hash", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { @@ -3215,10 +3330,11 @@ ] }, { - "name": "datespan_lower", + "name": "span_hash_extended", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", + "c": "int", "canonical": "int" }, "params": [ @@ -3226,15 +3342,21 @@ "name": "s", "cType": "const Span *", "canonical": "const struct Span *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" } ] }, { - "name": "datespan_upper", + "name": "span_lower_inc", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -3245,36 +3367,28 @@ ] }, { - "name": "datespanset_date_n", + "name": "span_upper_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" - }, - { - "name": "result", - "cType": "DateADT *", - "canonical": "int *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "datespanset_dates", + "name": "spanset_end_span", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -3285,30 +3399,27 @@ ] }, { - "name": "datespanset_duration", + "name": "spanset_hash", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" - }, - { - "name": "boundspan", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "datespanset_end_date", + "name": "spanset_hash_extended", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", + "c": "int", "canonical": "int" }, "params": [ @@ -3316,15 +3427,21 @@ "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" } ] }, { - "name": "datespanset_num_dates", + "name": "spanset_lower_inc", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -3335,10 +3452,11 @@ ] }, { - "name": "datespanset_start_date", + "name": "spanset_num_spans", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "DateADT", + "c": "int", "canonical": "int" }, "params": [ @@ -3350,203 +3468,205 @@ ] }, { - "name": "floatset_end_value", - "file": "meos.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "floatset_start_value", + "name": "spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "floatset_value_n", + "name": "spanset_span_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "n", + "name": "i", "cType": "int", "canonical": "int" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" } ] }, { - "name": "floatset_values", + "name": "spanset_spanarr", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double *", - "canonical": "double *" + "c": "Span **", + "canonical": "struct Span **" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "floatspan_lower", + "name": "spanset_start_span", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "floatspan_upper", + "name": "spanset_upper_inc", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "floatspan_width", + "name": "textset_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "text *", + "canonical": "text *" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "floatspanset_lower", + "name": "textset_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "text *", + "canonical": "text *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "floatspanset_upper", + "name": "textset_value_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "text **", + "canonical": "text **" } ] }, { - "name": "floatspanset_width", + "name": "textset_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "text **", + "canonical": "text **" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "boundspan", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "intset_end_value", + "name": "tstzset_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "intset_start_value", + "name": "tstzset_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "intset_value_n", + "name": "tstzset_value_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -3555,7 +3675,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "n", @@ -3564,32 +3684,39 @@ }, { "name": "result", - "cType": "int *", - "canonical": "int *" + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "intset_values", + "name": "tstzset_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "TimestampTz *", + "canonical": "TimestampTz *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "intspan_lower", + "name": "tstzspan_duration", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { @@ -3600,11 +3727,12 @@ ] }, { - "name": "intspan_upper", + "name": "tstzspan_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { @@ -3615,11 +3743,12 @@ ] }, { - "name": "intspan_width", + "name": "tstzspan_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { @@ -3630,26 +3759,33 @@ ] }, { - "name": "intspanset_lower", + "name": "tstzspanset_duration", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "intspanset_upper", + "name": "tstzspanset_end_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { @@ -3660,241 +3796,298 @@ ] }, { - "name": "intspanset_width", + "name": "tstzspanset_lower", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" - }, - { - "name": "boundspan", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "set_hash", + "name": "tstzspanset_num_timestamps", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "set_hash_extended", + "name": "tstzspanset_start_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "set_num_values", + "name": "tstzspanset_timestamps", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "span_hash", + "name": "tstzspanset_timestamptz_n", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "span_hash_extended", + "name": "tstzspanset_upper", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "span_lower_inc", + "name": "bigintset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "shift", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "width", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "span_upper_inc", + "name": "bigintspan_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", "canonical": "const struct Span *" + }, + { + "name": "shift", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "width", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "spanset_end_span", + "name": "bigintspanset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "shift", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "width", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "spanset_hash", + "name": "dateset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "spanset_hash_extended", + "name": "datespan_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" - } - ] - }, - { - "name": "spanset_lower_inc", - "file": "meos.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "shift", + "cType": "int", + "canonical": "int" + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "spanset_num_spans", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ + "name": "width", + "cType": "int", + "canonical": "int" + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "spanset_span", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "spanset_span_n", + "name": "datespanset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -3903,203 +4096,192 @@ "canonical": "const struct SpanSet *" }, { - "name": "i", + "name": "shift", "cType": "int", "canonical": "int" - } - ] - }, - { - "name": "spanset_spanarr", - "file": "meos.h", - "returnType": { - "c": "Span **", - "canonical": "struct Span **" - }, - "params": [ + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "spanset_start_span", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ + "name": "width", + "cType": "int", + "canonical": "int" + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "spanset_upper_inc", - "file": "meos.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "textset_end_value", + "name": "floatset_ceil", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "textset_start_value", + "name": "floatset_degrees", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "textset_value_n", + "name": "floatset_floor", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" - }, - { - "name": "result", - "cType": "int **", - "canonical": "int **" + "canonical": "const struct Set *" } ] }, { - "name": "textset_values", + "name": "floatset_radians", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "tstzset_end_value", + "name": "floatset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tstzset_start_value", + "name": "floatspan_ceil", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tstzset_value_n", + "name": "floatspan_degrees", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "result", - "cType": "TimestampTz *", - "canonical": "long *" + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tstzset_values", + "name": "floatspan_floor", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz *", - "canonical": "long *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tstzspan_duration", + "name": "floatspan_radians", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -4110,76 +4292,69 @@ ] }, { - "name": "tstzspan_lower", + "name": "floatspan_round", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", "canonical": "const struct Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tstzspan_upper", + "name": "floatspan_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "s", "cType": "const Span *", "canonical": "const struct Span *" - } - ] - }, - { - "name": "tstzspanset_duration", - "file": "meos.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "shift", + "cType": "double", + "canonical": "double" }, { - "name": "boundspan", + "name": "width", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasshift", "cType": "bool", "canonical": "bool" - } - ] - }, - { - "name": "tstzspanset_end_timestamptz", - "file": "meos.h", - "returnType": { - "c": "TimestampTz", - "canonical": "long" - }, - "params": [ + }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tstzspanset_lower", + "name": "floatspanset_ceil", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -4190,11 +4365,12 @@ ] }, { - "name": "tstzspanset_num_timestamps", + "name": "floatspanset_floor", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -4205,26 +4381,33 @@ ] }, { - "name": "tstzspanset_start_timestamptz", + "name": "floatspanset_degrees", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tstzspanset_timestamps", + "name": "floatspanset_radians", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -4235,11 +4418,12 @@ ] }, { - "name": "tstzspanset_timestamptz_n", + "name": "floatspanset_round", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -4248,54 +4432,35 @@ "canonical": "const struct SpanSet *" }, { - "name": "n", + "name": "maxdd", "cType": "int", "canonical": "int" - }, - { - "name": "result", - "cType": "TimestampTz *", - "canonical": "long *" } ] }, { - "name": "tstzspanset_upper", + "name": "floatspanset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "bigintset_shift_scale", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" }, { "name": "shift", - "cType": "int64", - "canonical": "long" + "cType": "double", + "canonical": "double" }, { "name": "width", - "cType": "int64", - "canonical": "long" + "cType": "double", + "canonical": "double" }, { "name": "hasshift", @@ -4310,27 +4475,28 @@ ] }, { - "name": "bigintspan_shift_scale", + "name": "intset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" }, { "name": "shift", - "cType": "int64", - "canonical": "long" + "cType": "int", + "canonical": "int" }, { "name": "width", - "cType": "int64", - "canonical": "long" + "cType": "int", + "canonical": "int" }, { "name": "hasshift", @@ -4345,27 +4511,28 @@ ] }, { - "name": "bigintspanset_shift_scale", + "name": "intspan_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { "name": "shift", - "cType": "int64", - "canonical": "long" + "cType": "int", + "canonical": "int" }, { "name": "width", - "cType": "int64", - "canonical": "long" + "cType": "int", + "canonical": "int" }, { "name": "hasshift", @@ -4380,17 +4547,18 @@ ] }, { - "name": "dateset_shift_scale", + "name": "intspanset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { "name": "shift", @@ -4415,8 +4583,9 @@ ] }, { - "name": "datespan_shift_scale", + "name": "tstzspan_expand", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -4428,710 +4597,205 @@ "canonical": "const struct Span *" }, { - "name": "shift", - "cType": "int", - "canonical": "int" - }, - { - "name": "width", - "cType": "int", - "canonical": "int" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "datespanset_shift_scale", + "name": "set_round", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "shift", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "width", + "name": "maxdd", "cType": "int", "canonical": "int" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "floatset_ceil", + "name": "textcat_text_textset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" + }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "floatset_degrees", + "name": "textcat_textset_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "floatset_floor", + "name": "textset_initcap", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "floatset_radians", + "name": "textset_lower", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "floatset_shift_scale", + "name": "textset_upper", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "shift", - "cType": "double", - "canonical": "double" - }, - { - "name": "width", - "cType": "double", - "canonical": "double" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" + "canonical": "const struct Set *" } ] }, { - "name": "floatspan_ceil", + "name": "timestamptz_tprecision", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "floatspan_degrees", + "name": "tstzset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "normalize", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "floatspan_floor", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - } - ] - }, - { - "name": "floatspan_radians", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - } - ] - }, - { - "name": "floatspan_round", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" - } - ] - }, - { - "name": "floatspan_shift_scale", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "shift", - "cType": "double", - "canonical": "double" - }, - { - "name": "width", - "cType": "double", - "canonical": "double" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "floatspanset_ceil", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "floatspanset_floor", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "floatspanset_degrees", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "normalize", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "floatspanset_radians", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - } - ] - }, - { - "name": "floatspanset_round", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" - } - ] - }, - { - "name": "floatspanset_shift_scale", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "shift", - "cType": "double", - "canonical": "double" - }, - { - "name": "width", - "cType": "double", - "canonical": "double" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "intset_shift_scale", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "shift", - "cType": "int", - "canonical": "int" - }, - { - "name": "width", - "cType": "int", - "canonical": "int" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "intspan_shift_scale", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "shift", - "cType": "int", - "canonical": "int" - }, - { - "name": "width", - "cType": "int", - "canonical": "int" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "intspanset_shift_scale", - "file": "meos.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "shift", - "cType": "int", - "canonical": "int" - }, - { - "name": "width", - "cType": "int", - "canonical": "int" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "tstzspan_expand", - "file": "meos.h", - "returnType": { - "c": "Span *", - "canonical": "struct Span *" - }, - "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "set_round", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" - } - ] - }, - { - "name": "textcat_text_textset", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "textcat_textset_text", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "textset_initcap", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "textset_lower", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "textset_upper", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "timestamptz_tprecision", - "file": "meos.h", - "returnType": { - "c": "TimestampTz", - "canonical": "long" - }, - "params": [ - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" - } - ] - }, - { - "name": "tstzset_shift_scale", - "file": "meos.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Set *", + "canonical": "const struct Set *" }, { "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tstzset_tprecision", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tstzspan_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5144,19 +4808,20 @@ }, { "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tstzspan_tprecision", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5169,19 +4834,20 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tstzspanset_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -5194,19 +4860,20 @@ }, { "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tstzspanset_tprecision", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -5219,19 +4886,20 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "set_cmp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -5240,18 +4908,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_eq", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5260,18 +4929,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_ge", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5280,18 +4950,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_gt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5300,18 +4971,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_le", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5320,18 +4992,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_lt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5340,18 +5013,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_ne", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5360,18 +5034,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "span_cmp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -5392,6 +5067,7 @@ { "name": "span_eq", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5412,6 +5088,7 @@ { "name": "span_ge", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5432,6 +5109,7 @@ { "name": "span_gt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5452,6 +5130,7 @@ { "name": "span_le", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5472,6 +5151,7 @@ { "name": "span_lt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5492,6 +5172,7 @@ { "name": "span_ne", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5512,6 +5193,7 @@ { "name": "spanset_cmp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -5532,6 +5214,7 @@ { "name": "spanset_eq", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5552,6 +5235,7 @@ { "name": "spanset_ge", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5572,6 +5256,7 @@ { "name": "spanset_gt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5592,6 +5277,7 @@ { "name": "spanset_le", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5612,6 +5298,7 @@ { "name": "spanset_lt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5632,6 +5319,7 @@ { "name": "spanset_ne", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5652,6 +5340,7 @@ { "name": "set_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5660,13 +5349,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_split_each_n_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5675,7 +5365,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "elems_per_span", @@ -5692,6 +5382,7 @@ { "name": "set_split_n_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5700,7 +5391,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "span_count", @@ -5717,6 +5408,7 @@ { "name": "spanset_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5732,6 +5424,7 @@ { "name": "spanset_split_each_n_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5757,6 +5450,7 @@ { "name": "spanset_split_n_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -5782,6 +5476,7 @@ { "name": "adjacent_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5794,14 +5489,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "adjacent_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5815,13 +5511,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "adjacent_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5842,6 +5539,7 @@ { "name": "adjacent_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5862,6 +5560,7 @@ { "name": "adjacent_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5882,6 +5581,7 @@ { "name": "adjacent_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5902,6 +5602,7 @@ { "name": "adjacent_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5915,13 +5616,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "adjacent_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5934,14 +5636,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "adjacent_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5955,13 +5658,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "adjacent_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -5982,6 +5686,7 @@ { "name": "adjacent_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6002,6 +5707,7 @@ { "name": "adjacent_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6015,13 +5721,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "adjacent_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6042,6 +5749,7 @@ { "name": "adjacent_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6062,6 +5770,7 @@ { "name": "contained_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6069,19 +5778,20 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6089,8 +5799,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", @@ -6102,6 +5812,7 @@ { "name": "contained_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6109,8 +5820,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -6122,6 +5833,7 @@ { "name": "contained_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6130,18 +5842,19 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6150,7 +5863,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", @@ -6162,6 +5875,7 @@ { "name": "contained_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6170,7 +5884,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -6182,6 +5896,7 @@ { "name": "contained_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6195,13 +5910,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6222,6 +5938,7 @@ { "name": "contained_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6242,6 +5959,7 @@ { "name": "contained_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6255,13 +5973,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6282,6 +6001,7 @@ { "name": "contained_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6302,6 +6022,7 @@ { "name": "contained_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6310,18 +6031,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6342,6 +6064,7 @@ { "name": "contained_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6362,6 +6085,7 @@ { "name": "contained_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6382,6 +6106,7 @@ { "name": "contained_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6402,6 +6127,7 @@ { "name": "contained_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6409,19 +6135,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6430,18 +6157,19 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contained_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6450,7 +6178,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -6462,6 +6190,7 @@ { "name": "contained_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6470,7 +6199,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -6482,6 +6211,7 @@ { "name": "contains_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6490,18 +6220,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "contains_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6510,18 +6241,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "contains_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6530,7 +6262,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -6542,6 +6274,7 @@ { "name": "contains_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6550,7 +6283,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -6562,6 +6295,7 @@ { "name": "contains_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6570,18 +6304,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "contains_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6590,18 +6325,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "contains_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6610,18 +6346,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "contains_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6634,14 +6371,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "contains_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6655,13 +6393,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "contains_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6682,6 +6421,7 @@ { "name": "contains_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6702,6 +6442,7 @@ { "name": "contains_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6722,6 +6463,7 @@ { "name": "contains_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6742,6 +6484,7 @@ { "name": "contains_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6755,13 +6498,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "contains_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6774,14 +6518,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "contains_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6795,13 +6540,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "contains_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6822,6 +6568,7 @@ { "name": "contains_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6842,6 +6589,7 @@ { "name": "contains_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6862,6 +6610,7 @@ { "name": "contains_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6882,6 +6631,7 @@ { "name": "contains_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6895,13 +6645,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overlaps_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6910,18 +6661,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overlaps_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6942,6 +6694,7 @@ { "name": "overlaps_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6962,6 +6715,7 @@ { "name": "overlaps_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -6982,6 +6736,7 @@ { "name": "overlaps_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7002,6 +6757,7 @@ { "name": "after_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7010,18 +6766,19 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "after_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7030,7 +6787,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", @@ -7042,6 +6799,7 @@ { "name": "after_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7050,7 +6808,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -7062,6 +6820,7 @@ { "name": "after_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7070,18 +6829,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "after_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7090,18 +6850,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "after_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7115,13 +6876,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "after_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7135,13 +6897,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "after_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7155,13 +6918,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "after_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7175,13 +6939,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "after_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7190,18 +6955,19 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "after_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7210,7 +6976,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -7222,6 +6988,7 @@ { "name": "after_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7230,7 +6997,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -7242,6 +7009,7 @@ { "name": "before_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7250,18 +7018,19 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "before_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7270,7 +7039,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", @@ -7282,6 +7051,7 @@ { "name": "before_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7290,7 +7060,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -7302,6 +7072,7 @@ { "name": "before_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7310,18 +7081,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "before_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7330,18 +7102,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "before_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7355,13 +7128,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "before_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7375,13 +7149,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "before_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7395,13 +7170,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "before_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7415,13 +7191,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "before_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7430,18 +7207,19 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "before_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7450,7 +7228,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -7462,6 +7240,7 @@ { "name": "before_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7470,7 +7249,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -7482,6 +7261,7 @@ { "name": "left_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7489,19 +7269,20 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "left_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7509,8 +7290,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", @@ -7522,6 +7303,7 @@ { "name": "left_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7529,8 +7311,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -7542,6 +7324,7 @@ { "name": "left_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7555,13 +7338,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "left_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7582,6 +7366,7 @@ { "name": "left_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7602,6 +7387,7 @@ { "name": "left_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7615,13 +7401,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "left_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7642,6 +7429,7 @@ { "name": "left_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7662,6 +7450,7 @@ { "name": "left_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7670,18 +7459,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "left_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7690,7 +7480,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -7702,6 +7492,7 @@ { "name": "left_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7710,7 +7501,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -7722,6 +7513,7 @@ { "name": "left_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7730,18 +7522,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "left_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7750,18 +7543,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "left_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7774,14 +7568,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "left_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7802,6 +7597,7 @@ { "name": "left_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7822,6 +7618,7 @@ { "name": "left_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7842,6 +7639,7 @@ { "name": "left_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7862,6 +7660,7 @@ { "name": "left_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7874,14 +7673,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "left_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7902,6 +7702,7 @@ { "name": "left_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7922,6 +7723,7 @@ { "name": "left_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7942,6 +7744,7 @@ { "name": "left_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7962,6 +7765,7 @@ { "name": "left_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7969,19 +7773,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overafter_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -7990,18 +7795,19 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overafter_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8010,7 +7816,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", @@ -8022,6 +7828,7 @@ { "name": "overafter_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8030,7 +7837,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -8042,6 +7849,7 @@ { "name": "overafter_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8050,18 +7858,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "overafter_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8070,18 +7879,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overafter_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8095,13 +7905,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "overafter_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8115,13 +7926,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overafter_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8135,13 +7947,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "overafter_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8155,13 +7968,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overafter_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8170,18 +7984,19 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overafter_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8190,7 +8005,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -8202,6 +8017,7 @@ { "name": "overafter_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8210,7 +8026,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -8222,6 +8038,7 @@ { "name": "overbefore_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8230,18 +8047,19 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overbefore_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8250,7 +8068,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", @@ -8262,6 +8080,7 @@ { "name": "overbefore_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8270,7 +8089,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -8282,6 +8101,7 @@ { "name": "overbefore_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8290,18 +8110,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "overbefore_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8310,18 +8131,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overbefore_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8335,13 +8157,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "overbefore_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8355,13 +8178,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overbefore_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8375,13 +8199,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "overbefore_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8395,13 +8220,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "overbefore_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8410,18 +8236,19 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overbefore_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8430,7 +8257,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -8442,6 +8269,7 @@ { "name": "overbefore_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8450,7 +8278,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -8462,6 +8290,7 @@ { "name": "overleft_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8469,19 +8298,20 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overleft_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8489,8 +8319,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", @@ -8502,6 +8332,7 @@ { "name": "overleft_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8509,8 +8340,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -8522,6 +8353,7 @@ { "name": "overleft_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8535,13 +8367,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overleft_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8562,6 +8395,7 @@ { "name": "overleft_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8582,6 +8416,7 @@ { "name": "overleft_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8595,13 +8430,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overleft_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8622,6 +8458,7 @@ { "name": "overleft_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8642,6 +8479,7 @@ { "name": "overleft_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8650,18 +8488,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "overleft_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8670,7 +8509,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -8682,6 +8521,7 @@ { "name": "overleft_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8690,7 +8530,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -8702,6 +8542,7 @@ { "name": "overleft_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8710,18 +8551,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overleft_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8730,18 +8572,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "overleft_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8754,14 +8597,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "overleft_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8782,6 +8626,7 @@ { "name": "overleft_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8802,6 +8647,7 @@ { "name": "overleft_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8822,6 +8668,7 @@ { "name": "overleft_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8842,6 +8689,7 @@ { "name": "overleft_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8854,14 +8702,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "overleft_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8882,6 +8731,7 @@ { "name": "overleft_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8902,6 +8752,7 @@ { "name": "overleft_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8922,6 +8773,7 @@ { "name": "overleft_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8942,6 +8794,7 @@ { "name": "overleft_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8949,19 +8802,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overright_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8969,19 +8823,20 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overright_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -8989,8 +8844,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", @@ -9002,6 +8857,7 @@ { "name": "overright_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9009,8 +8865,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -9022,6 +8878,7 @@ { "name": "overright_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9035,13 +8892,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overright_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9062,6 +8920,7 @@ { "name": "overright_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9082,6 +8941,7 @@ { "name": "overright_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9095,13 +8955,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overright_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9122,6 +8983,7 @@ { "name": "overright_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9142,6 +9004,7 @@ { "name": "overright_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9150,18 +9013,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "overright_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9170,7 +9034,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -9182,6 +9046,7 @@ { "name": "overright_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9190,7 +9055,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -9202,6 +9067,7 @@ { "name": "overright_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9210,18 +9076,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "overright_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9230,18 +9097,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "overright_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9254,14 +9122,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "overright_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9282,6 +9151,7 @@ { "name": "overright_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9302,6 +9172,7 @@ { "name": "overright_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9322,6 +9193,7 @@ { "name": "overright_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9342,6 +9214,7 @@ { "name": "overright_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9354,14 +9227,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "overright_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9382,6 +9256,7 @@ { "name": "overright_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9402,6 +9277,7 @@ { "name": "overright_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9422,6 +9298,7 @@ { "name": "overright_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9442,6 +9319,7 @@ { "name": "overright_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9449,19 +9327,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "right_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9469,19 +9348,20 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "right_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9489,8 +9369,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", @@ -9502,6 +9382,7 @@ { "name": "right_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9509,8 +9390,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -9522,6 +9403,7 @@ { "name": "right_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9535,13 +9417,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "right_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9562,6 +9445,7 @@ { "name": "right_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9582,6 +9466,7 @@ { "name": "right_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9595,13 +9480,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "right_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9622,6 +9508,7 @@ { "name": "right_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9642,6 +9529,7 @@ { "name": "right_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9650,18 +9538,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "right_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9670,7 +9559,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -9682,6 +9571,7 @@ { "name": "right_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9690,7 +9580,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -9702,6 +9592,7 @@ { "name": "right_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9710,18 +9601,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "right_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9730,18 +9622,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "right_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9754,14 +9647,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "right_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9782,6 +9676,7 @@ { "name": "right_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9802,6 +9697,7 @@ { "name": "right_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9822,6 +9718,7 @@ { "name": "right_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9842,6 +9739,7 @@ { "name": "right_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9854,14 +9752,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "right_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9882,6 +9781,7 @@ { "name": "right_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9902,6 +9802,7 @@ { "name": "right_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9922,6 +9823,7 @@ { "name": "right_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9942,6 +9844,7 @@ { "name": "right_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -9949,62 +9852,65 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -10015,16 +9921,17 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -10035,62 +9942,65 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "intersection_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "intersection_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -10102,15 +10012,16 @@ { "name": "intersection_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -10122,66 +10033,70 @@ { "name": "intersection_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "intersection_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "intersection_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -10194,14 +10109,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "intersection_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -10215,13 +10131,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "intersection_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -10242,6 +10159,7 @@ { "name": "intersection_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -10262,6 +10180,7 @@ { "name": "intersection_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -10282,6 +10201,7 @@ { "name": "intersection_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10302,6 +10222,7 @@ { "name": "intersection_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -10315,13 +10236,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "intersection_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10334,14 +10256,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "intersection_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10355,13 +10278,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "intersection_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10382,6 +10306,7 @@ { "name": "intersection_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10402,6 +10327,7 @@ { "name": "intersection_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10422,6 +10348,7 @@ { "name": "intersection_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10442,6 +10369,7 @@ { "name": "intersection_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10455,73 +10383,77 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "intersection_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "intersection_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10529,8 +10461,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", @@ -10542,6 +10474,7 @@ { "name": "minus_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10549,8 +10482,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -10562,26 +10495,28 @@ { "name": "minus_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10590,7 +10525,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", @@ -10602,6 +10537,7 @@ { "name": "minus_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10610,7 +10546,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -10622,9 +10558,10 @@ { "name": "minus_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -10635,13 +10572,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10662,6 +10600,7 @@ { "name": "minus_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10682,9 +10621,10 @@ { "name": "minus_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -10695,13 +10635,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10722,6 +10663,7 @@ { "name": "minus_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10742,55 +10684,58 @@ { "name": "minus_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "minus_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "minus_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -10802,15 +10747,16 @@ { "name": "minus_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -10822,66 +10768,70 @@ { "name": "minus_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "minus_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "minus_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10894,14 +10844,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "minus_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10915,13 +10866,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "minus_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10942,6 +10894,7 @@ { "name": "minus_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10962,6 +10915,7 @@ { "name": "minus_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -10982,6 +10936,7 @@ { "name": "minus_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11002,6 +10957,7 @@ { "name": "minus_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11015,13 +10971,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "minus_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11034,14 +10991,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "minus_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11055,13 +11013,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "minus_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11082,6 +11041,7 @@ { "name": "minus_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11102,6 +11062,7 @@ { "name": "minus_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11122,6 +11083,7 @@ { "name": "minus_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11142,6 +11104,7 @@ { "name": "minus_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11155,53 +11118,56 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "minus_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "minus_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11210,7 +11176,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -11222,6 +11188,7 @@ { "name": "minus_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11230,7 +11197,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -11242,26 +11209,28 @@ { "name": "union_bigint_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_bigint_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11274,14 +11243,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "union_bigint_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11289,8 +11259,8 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "ss", @@ -11302,26 +11272,28 @@ { "name": "union_date_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_date_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11335,13 +11307,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "union_date_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11350,7 +11323,7 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "ss", @@ -11362,9 +11335,10 @@ { "name": "union_float_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -11375,13 +11349,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_float_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11402,6 +11377,7 @@ { "name": "union_float_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11422,9 +11398,10 @@ { "name": "union_int_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { @@ -11435,13 +11412,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_int_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11462,6 +11440,7 @@ { "name": "union_int_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11482,55 +11461,58 @@ { "name": "union_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "union_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "union_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -11542,15 +11524,16 @@ { "name": "union_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -11562,66 +11545,70 @@ { "name": "union_set_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_set_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "union_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "union_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11634,14 +11621,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "union_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11655,13 +11643,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "union_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11682,6 +11671,7 @@ { "name": "union_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11702,6 +11692,7 @@ { "name": "union_span_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11719,9 +11710,31 @@ } ] }, + { + "name": "super_union_span_span", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, { "name": "union_span_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11742,6 +11755,7 @@ { "name": "union_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11755,13 +11769,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "union_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11774,14 +11789,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "union_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11795,13 +11811,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "union_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11822,6 +11839,7 @@ { "name": "union_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11842,6 +11860,7 @@ { "name": "union_spanset_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11862,6 +11881,7 @@ { "name": "union_spanset_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11882,6 +11902,7 @@ { "name": "union_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11895,53 +11916,56 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "union_text_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_timestamptz_set", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "union_timestamptz_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11950,7 +11974,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "s", @@ -11962,6 +11986,7 @@ { "name": "union_timestamptz_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -11970,7 +11995,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "ss", @@ -11982,29 +12007,31 @@ { "name": "distance_bigintset_bigintset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "distance_bigintspan_bigintspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -12022,9 +12049,10 @@ { "name": "distance_bigintspanset_bigintspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -12042,9 +12070,10 @@ { "name": "distance_bigintspanset_bigintspanset", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -12062,6 +12091,7 @@ { "name": "distance_dateset_dateset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12070,18 +12100,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "distance_datespan_datespan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12102,6 +12133,7 @@ { "name": "distance_datespanset_datespan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12122,6 +12154,7 @@ { "name": "distance_datespanset_datespanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12142,6 +12175,7 @@ { "name": "distance_floatset_floatset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12150,18 +12184,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "distance_floatspan_floatspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12182,6 +12217,7 @@ { "name": "distance_floatspanset_floatspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12202,6 +12238,7 @@ { "name": "distance_floatspanset_floatspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12222,6 +12259,7 @@ { "name": "distance_intset_intset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12230,18 +12268,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "distance_intspan_intspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12262,6 +12301,7 @@ { "name": "distance_intspanset_intspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12282,6 +12322,7 @@ { "name": "distance_intspanset_intspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12302,26 +12343,28 @@ { "name": "distance_set_bigint", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "distance_set_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12330,18 +12373,19 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "distance_set_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12350,7 +12394,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "d", @@ -12362,6 +12406,7 @@ { "name": "distance_set_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12370,7 +12415,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "i", @@ -12382,6 +12427,7 @@ { "name": "distance_set_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12390,21 +12436,22 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "distance_span_bigint", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -12414,14 +12461,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "distance_span_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12435,13 +12483,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "distance_span_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12462,6 +12511,7 @@ { "name": "distance_span_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12482,6 +12532,7 @@ { "name": "distance_span_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12495,16 +12546,17 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "distance_spanset_bigint", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { @@ -12514,14 +12566,15 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "distance_spanset_date", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12535,13 +12588,14 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "distance_spanset_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12562,6 +12616,7 @@ { "name": "distance_spanset_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -12582,6 +12637,7 @@ { "name": "distance_spanset_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12595,13 +12651,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "distance_tstzset_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12610,18 +12667,19 @@ { "name": "s1", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "distance_tstzspan_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12642,6 +12700,7 @@ { "name": "distance_tstzspanset_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12662,6 +12721,7 @@ { "name": "distance_tstzspanset_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -12682,6 +12742,7 @@ { "name": "bigint_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12694,34 +12755,36 @@ }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "bigint_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "date_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12735,33 +12798,35 @@ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "date_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "float_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12782,15 +12847,16 @@ { "name": "float_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "d", @@ -12802,6 +12868,7 @@ { "name": "int_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12822,19 +12889,20 @@ { "name": "int_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "i", - "cType": "int32", + "cType": "int", "canonical": "int" } ] @@ -12842,6 +12910,7 @@ { "name": "set_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12855,48 +12924,51 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "set_union_finalfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" } ] }, { "name": "set_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "s", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" } ] }, { "name": "span_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12917,6 +12989,7 @@ { "name": "span_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -12937,6 +13010,7 @@ { "name": "spanset_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -12957,6 +13031,7 @@ { "name": "spanset_union_finalfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -12972,6 +13047,7 @@ { "name": "spanset_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -12992,26 +13068,28 @@ { "name": "text_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "timestamptz_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13025,58 +13103,61 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "timestamptz_union_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { "name": "state", "cType": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "bigint_get_bin", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { "name": "value", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "vsize", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "vorigin", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "bigintspan_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13089,13 +13170,13 @@ }, { "name": "vsize", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "vorigin", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "count", @@ -13107,6 +13188,7 @@ { "name": "bigintspanset_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13119,13 +13201,13 @@ }, { "name": "vsize", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "vorigin", - "cType": "int64", - "canonical": "long" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "count", @@ -13137,31 +13219,33 @@ { "name": "date_get_bin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, "params": [ { "name": "d", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" } ] }, { "name": "datespan_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13174,13 +13258,13 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "count", @@ -13192,6 +13276,7 @@ { "name": "datespanset_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13204,13 +13289,13 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "DateADT", - "canonical": "int" + "canonical": "DateADT" }, { "name": "count", @@ -13222,6 +13307,7 @@ { "name": "float_get_bin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -13247,6 +13333,7 @@ { "name": "floatspan_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13277,6 +13364,7 @@ { "name": "floatspanset_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13307,6 +13395,7 @@ { "name": "int_get_bin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -13332,6 +13421,7 @@ { "name": "intspan_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13362,6 +13452,7 @@ { "name": "intspanset_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13392,31 +13483,33 @@ { "name": "timestamptz_get_bin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, "params": [ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tstzspan_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13429,13 +13522,13 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "origin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -13447,6 +13540,7 @@ { "name": "tstzspanset_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13459,13 +13553,13 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -13477,6 +13571,7 @@ { "name": "tbox_as_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -13495,13 +13590,14 @@ { "name": "size", "cType": "size_t *", - "canonical": "unsigned long *" + "canonical": "size_t *" } ] }, { "name": "tbox_as_wkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "uint8_t *", "canonical": "unsigned char *" @@ -13520,13 +13616,14 @@ { "name": "size_out", "cType": "size_t *", - "canonical": "unsigned long *" + "canonical": "size_t *" } ] }, { "name": "tbox_from_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13542,6 +13639,7 @@ { "name": "tbox_from_wkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13555,13 +13653,14 @@ { "name": "size", "cType": "size_t", - "canonical": "unsigned long" + "canonical": "size_t" } ] }, { "name": "tbox_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13577,6 +13676,7 @@ { "name": "tbox_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -13597,6 +13697,7 @@ { "name": "float_timestamptz_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13610,13 +13711,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "float_tstzspan_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13637,6 +13739,7 @@ { "name": "int_timestamptz_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13650,13 +13753,35 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" + } + ] + }, + { + "name": "bigint_timestamptz_to_tbox", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { "name": "int_tstzspan_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13674,9 +13799,31 @@ } ] }, + { + "name": "bigint_tstzspan_to_tbox", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, { "name": "numspan_tstzspan_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13697,6 +13844,7 @@ { "name": "numspan_timestamptz_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13710,13 +13858,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tbox_copy", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13732,6 +13881,7 @@ { "name": "tbox_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13752,6 +13902,7 @@ { "name": "float_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13767,6 +13918,7 @@ { "name": "int_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13779,9 +13931,26 @@ } ] }, + { + "name": "bigint_to_tbox", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, { "name": "set_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13790,13 +13959,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "span_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13812,6 +13982,7 @@ { "name": "spanset_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13825,8 +13996,9 @@ ] }, { - "name": "tbox_to_bigintspan", + "name": "tbox_to_intspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13840,8 +14012,9 @@ ] }, { - "name": "tbox_to_intspan", + "name": "tbox_to_bigintspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13857,6 +14030,7 @@ { "name": "tbox_to_floatspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13872,6 +14046,7 @@ { "name": "tbox_to_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -13887,6 +14062,7 @@ { "name": "timestamptz_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -13895,16 +14071,17 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tbox_hash", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "int", + "canonical": "int" }, "params": [ { @@ -13917,9 +14094,10 @@ { "name": "tbox_hash_extended", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "int", + "canonical": "int" }, "params": [ { @@ -13929,14 +14107,15 @@ }, { "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "cType": "int", + "canonical": "int" } ] }, { "name": "tbox_hast", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -13952,6 +14131,7 @@ { "name": "tbox_hasx", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -13967,6 +14147,7 @@ { "name": "tbox_tmax", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -13980,13 +14161,14 @@ { "name": "result", "cType": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" } ] }, { "name": "tbox_tmax_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14000,13 +14182,14 @@ { "name": "result", "cType": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" } ] }, { "name": "tbox_tmin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14020,13 +14203,14 @@ { "name": "result", "cType": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" } ] }, { "name": "tbox_tmin_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14040,13 +14224,14 @@ { "name": "result", "cType": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" } ] }, { "name": "tbox_xmax", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14067,6 +14252,7 @@ { "name": "tbox_xmax_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14080,13 +14266,14 @@ { "name": "result", "cType": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" } ] }, { "name": "tbox_xmin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14107,6 +14294,7 @@ { "name": "tbox_xmin_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14120,13 +14308,14 @@ { "name": "result", "cType": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" } ] }, { "name": "tboxfloat_xmax", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14147,6 +14336,7 @@ { "name": "tboxfloat_xmin", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14167,6 +14357,7 @@ { "name": "tboxint_xmax", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14185,8 +14376,9 @@ ] }, { - "name": "tboxint_xmin", + "name": "tboxbigint_xmax", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14199,17 +14391,18 @@ }, { "name": "result", - "cType": "int *", - "canonical": "int *" + "cType": "int64_t *", + "canonical": "int64_t *" } ] }, { - "name": "tbigintbox_expand", + "name": "tboxint_xmin", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -14218,18 +14411,19 @@ "canonical": "const struct TBox *" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "result", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tbigintbox_shift_scale", + "name": "tboxbigint_xmin", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -14238,30 +14432,16 @@ "canonical": "const struct TBox *" }, { - "name": "shift", - "cType": "int64", - "canonical": "long" - }, - { - "name": "width", - "cType": "int64", - "canonical": "long" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" + "name": "result", + "cType": "int64_t *", + "canonical": "int64_t *" } ] }, { - "name": "tbox_expand_time", + "name": "tfloatbox_expand", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14273,15 +14453,16 @@ "canonical": "const struct TBox *" }, { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tbox_round", + "name": "tintbox_expand", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14293,15 +14474,16 @@ "canonical": "const struct TBox *" }, { - "name": "maxdd", + "name": "i", "cType": "int", "canonical": "int" } ] }, { - "name": "tbox_shift_scale_time", + "name": "tbox_expand_time", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14313,20 +14495,16 @@ "canonical": "const struct TBox *" }, { - "name": "shift", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "tfloatbox_expand", + "name": "tbox_round", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14338,15 +14516,16 @@ "canonical": "const struct TBox *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { "name": "tfloatbox_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14380,8 +14559,9 @@ ] }, { - "name": "tintbox_expand", + "name": "tintbox_shift_scale", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14393,15 +14573,31 @@ "canonical": "const struct TBox *" }, { - "name": "i", + "name": "shift", "cType": "int", "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tintbox_shift_scale", + "name": "tbox_shift_scale_time", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14414,13 +14610,60 @@ }, { "name": "shift", - "cType": "int", - "canonical": "int" + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tbigintbox_expand", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "tbigintbox_shift_scale", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "shift", + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "width", - "cType": "int", - "canonical": "int" + "cType": "int64_t", + "canonical": "int64_t" }, { "name": "hasshift", @@ -14437,6 +14680,7 @@ { "name": "union_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14462,6 +14706,7 @@ { "name": "intersection_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -14482,6 +14727,7 @@ { "name": "adjacent_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14502,6 +14748,7 @@ { "name": "contained_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14522,6 +14769,7 @@ { "name": "contains_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14542,6 +14790,7 @@ { "name": "overlaps_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14562,6 +14811,7 @@ { "name": "same_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14582,6 +14832,7 @@ { "name": "after_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14602,6 +14853,7 @@ { "name": "before_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14622,6 +14874,7 @@ { "name": "left_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14642,6 +14895,7 @@ { "name": "overafter_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14662,6 +14916,7 @@ { "name": "overbefore_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14682,6 +14937,7 @@ { "name": "overleft_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14702,6 +14958,7 @@ { "name": "overright_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14722,6 +14979,7 @@ { "name": "right_tbox_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14742,6 +15000,7 @@ { "name": "tbox_cmp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -14762,6 +15021,7 @@ { "name": "tbox_eq", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14782,6 +15042,7 @@ { "name": "tbox_ge", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14802,6 +15063,7 @@ { "name": "tbox_gt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14822,6 +15084,7 @@ { "name": "tbox_le", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14842,6 +15105,7 @@ { "name": "tbox_lt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14862,6 +15126,7 @@ { "name": "tbox_ne", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -14879,57 +15144,13 @@ } ] }, - { - "name": "tbigint_from_mfjson", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tbigint_in", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tbigint_out", - "file": "meos.h", - "returnType": { - "c": "char *", - "canonical": "char *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, { "name": "tbool_from_mfjson", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -14942,9 +15163,10 @@ { "name": "tbool_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -14957,6 +15179,7 @@ { "name": "tbool_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -14965,13 +15188,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_as_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -14980,7 +15204,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "variant", @@ -14990,13 +15214,14 @@ { "name": "size_out", "cType": "size_t *", - "canonical": "unsigned long *" + "canonical": "size_t *" } ] }, { "name": "temporal_as_mfjson", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -15005,7 +15230,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "with_bbox", @@ -15032,6 +15257,7 @@ { "name": "temporal_as_wkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "uint8_t *", "canonical": "unsigned char *" @@ -15040,7 +15266,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "variant", @@ -15050,16 +15276,17 @@ { "name": "size_out", "cType": "size_t *", - "canonical": "unsigned long *" + "canonical": "size_t *" } ] }, { "name": "temporal_from_hexwkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15072,9 +15299,10 @@ { "name": "temporal_from_wkb", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15085,16 +15313,17 @@ { "name": "size", "cType": "size_t", - "canonical": "unsigned long" + "canonical": "size_t" } ] }, { "name": "tfloat_from_mfjson", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15107,9 +15336,10 @@ { "name": "tfloat_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15122,6 +15352,7 @@ { "name": "tfloat_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -15130,7 +15361,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "maxdd", @@ -15142,9 +15373,10 @@ { "name": "tint_from_mfjson", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15155,11 +15387,12 @@ ] }, { - "name": "tint_in", + "name": "tbigint_from_mfjson", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15170,26 +15403,12 @@ ] }, { - "name": "tint_out", - "file": "meos.h", - "returnType": { - "c": "char *", - "canonical": "char *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "ttext_from_mfjson", + "name": "tint_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15200,11 +15419,12 @@ ] }, { - "name": "ttext_in", + "name": "tbigint_in", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15215,8 +15435,9 @@ ] }, { - "name": "ttext_out", + "name": "tint_out", "file": "meos.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" @@ -15225,116 +15446,81 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tbigint_from_base_temp", + "name": "tbigint_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tbigintinst_make", - "file": "meos.h", - "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" - }, - "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "canonical": "const struct Temporal *" } ] }, { - "name": "tbigintseq_from_base_tstzset", + "name": "ttext_from_mfjson", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" - }, - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "tbigintseq_from_base_tstzspan", + "name": "ttext_in", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "tbigintseqset_from_base_tstzspanset", + "name": "ttext_out", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" - }, - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "tbool_from_base_temp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15345,13 +15531,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tboolinst_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -15365,13 +15552,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tboolseq_from_base_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15385,13 +15573,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "tboolseq_from_base_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15412,6 +15601,7 @@ { "name": "tboolseqset_from_base_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -15432,24 +15622,26 @@ { "name": "temporal_copy", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_from_base_temp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15460,13 +15652,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloatinst_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -15480,13 +15673,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tfloatseq_from_base_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15500,13 +15694,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "tfloatseq_from_base_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15532,6 +15727,7 @@ { "name": "tfloatseqset_from_base_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -15557,9 +15753,10 @@ { "name": "tint_from_base_temp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -15570,13 +15767,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbigint_from_base_temp", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "tintinst_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -15590,13 +15809,35 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" + } + ] + }, + { + "name": "tbigintinst_make", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { "name": "tintseq_from_base_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15610,13 +15851,35 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tbigintseq_from_base_tstzset", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { "name": "tintseq_from_base_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15634,9 +15897,31 @@ } ] }, + { + "name": "tbigintseq_from_base_tstzspan", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, { "name": "tintseqset_from_base_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -15654,9 +15939,31 @@ } ] }, + { + "name": "tbigintseqset_from_base_tstzspanset", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, { "name": "tsequence_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15697,6 +16004,7 @@ { "name": "tsequenceset_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -15722,6 +16030,7 @@ { "name": "tsequenceset_make_gaps", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -15744,8 +16053,8 @@ }, { "name": "maxt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "maxdist", @@ -15757,26 +16066,28 @@ { "name": "ttext_from_base_temp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttextinst_make", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -15784,19 +16095,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "ttextseq_from_base_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15804,19 +16116,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "ttextseq_from_base_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -15824,8 +16137,8 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "s", @@ -15837,6 +16150,7 @@ { "name": "ttextseqset_from_base_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -15844,8 +16158,8 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "ss", @@ -15855,128 +16169,137 @@ ] }, { - "name": "tbigint_to_tfloat", + "name": "tbool_to_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tbigint_to_tint", + "name": "temporal_to_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tbool_to_tint", + "name": "tfloat_to_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "temporal_to_tstzspan", + "name": "tfloat_to_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tfloat_to_tbigint", + "name": "tint_to_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tfloat_to_tint", + "name": "tint_to_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tint_to_tbigint", + "name": "tbigint_to_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tint_to_tfloat", + "name": "tbigint_to_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_to_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -15985,13 +16308,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_to_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -16000,148 +16324,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tbigint_end_value", - "file": "meos.h", - "returnType": { - "c": "int64", - "canonical": "long" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tbigint_max_value", - "file": "meos.h", - "returnType": { - "c": "int64", - "canonical": "long" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tbigint_min_value", - "file": "meos.h", - "returnType": { - "c": "int64", - "canonical": "long" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tbigint_start_value", - "file": "meos.h", - "returnType": { - "c": "int64", - "canonical": "long" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tbigint_value_at_timestamptz", - "file": "meos.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "strict", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "value", - "cType": "int64 *", - "canonical": "long *" - } - ] - }, - { - "name": "tbigint_value_n", - "file": "meos.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "n", - "cType": "int64", - "canonical": "long" - }, - { - "name": "result", - "cType": "int64 *", - "canonical": "long *" - } - ] - }, - { - "name": "tbigint_values", - "file": "meos.h", - "returnType": { - "c": "int64 *", - "canonical": "long *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "count", - "cType": "int32 *", - "canonical": "int *" + "canonical": "const struct Temporal *" } ] }, { "name": "tbool_end_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16150,13 +16340,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tbool_start_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16165,13 +16356,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tbool_value_at_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16180,12 +16372,12 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -16195,13 +16387,14 @@ { "name": "value", "cType": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" } ] }, { "name": "tbool_value_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16210,7 +16403,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "n", @@ -16220,22 +16413,23 @@ { "name": "result", "cType": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" } ] }, { "name": "tbool_values", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool *", - "canonical": "_Bool *" + "canonical": "bool *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -16247,15 +16441,16 @@ { "name": "temporal_duration", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "boundspan", @@ -16267,6 +16462,7 @@ { "name": "temporal_end_instant", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -16275,13 +16471,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_end_sequence", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -16290,43 +16487,46 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_end_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_hash", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_instant_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -16335,7 +16535,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "n", @@ -16347,6 +16547,7 @@ { "name": "temporal_instants", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant **", "canonical": "struct TInstant **" @@ -16355,7 +16556,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -16367,6 +16568,7 @@ { "name": "temporal_interp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "const char *", "canonical": "const char *" @@ -16375,13 +16577,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_lower_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16390,13 +16593,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_max_instant", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -16405,13 +16609,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_min_instant", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -16420,13 +16625,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_num_instants", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16435,13 +16641,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_num_sequences", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16450,13 +16657,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_num_timestamps", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16465,13 +16673,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_segm_duration", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -16480,12 +16689,12 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "atleast", @@ -16502,6 +16711,7 @@ { "name": "temporal_segments", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence **", "canonical": "struct TSequence **" @@ -16510,7 +16720,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -16522,6 +16732,7 @@ { "name": "temporal_sequence_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -16530,7 +16741,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -16542,6 +16753,7 @@ { "name": "temporal_sequences", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence **", "canonical": "struct TSequence **" @@ -16550,7 +16762,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -16562,6 +16774,7 @@ { "name": "temporal_start_instant", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -16570,13 +16783,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_start_sequence", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -16585,28 +16799,30 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_start_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_stops", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -16615,7 +16831,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "maxdist", @@ -16624,14 +16840,15 @@ }, { "name": "minduration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "temporal_subtype", "file": "meos.h", + "family": "CORE", "returnType": { "c": "const char *", "canonical": "const char *" @@ -16640,13 +16857,30 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "temporal_basetype_name", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_time", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -16655,22 +16889,23 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_timestamps", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -16682,6 +16917,7 @@ { "name": "temporal_timestamptz_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16690,7 +16926,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "n", @@ -16700,13 +16936,14 @@ { "name": "result", "cType": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" } ] }, { "name": "temporal_upper_inc", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16715,28 +16952,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tfloat_avg_value", - "file": "meos.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_end_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -16745,13 +16968,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_min_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -16760,13 +16984,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_max_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -16775,13 +17000,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_start_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -16790,13 +17016,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_value_at_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16805,12 +17032,12 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -16827,6 +17054,7 @@ { "name": "tfloat_value_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16835,7 +17063,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "n", @@ -16852,6 +17080,7 @@ { "name": "tfloat_values", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double *", "canonical": "double *" @@ -16860,7 +17089,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -16872,6 +17101,7 @@ { "name": "tint_end_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16880,13 +17110,30 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbigint_end_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "tint_max_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16895,13 +17142,30 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbigint_max_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "tint_min_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16910,13 +17174,30 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbigint_min_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "tint_start_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -16925,13 +17206,61 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbigint_start_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbigint_value_at_timestamptz", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "int64_t *", + "canonical": "int64_t *" } ] }, { "name": "tint_value_at_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16940,12 +17269,12 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -16962,6 +17291,7 @@ { "name": "tint_value_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -16970,7 +17300,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "n", @@ -16984,9 +17314,36 @@ } ] }, + { + "name": "tbigint_value_n", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "result", + "cType": "int64_t *", + "canonical": "int64_t *" + } + ] + }, { "name": "tint_values", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int *", "canonical": "int *" @@ -16995,7 +17352,28 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbigint_values", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int64_t *", + "canonical": "int64_t *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "count", @@ -17007,6 +17385,7 @@ { "name": "tnumber_avg_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -17015,13 +17394,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_integral", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -17030,13 +17410,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_twavg", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -17045,13 +17426,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_valuespans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -17060,73 +17442,78 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_end_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "text *", + "canonical": "text *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_max_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "text *", + "canonical": "text *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_min_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "text *", + "canonical": "text *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_start_value", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "text *", + "canonical": "text *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_value_at_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -17135,12 +17522,12 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -17149,14 +17536,15 @@ }, { "name": "value", - "cType": "int **", - "canonical": "int **" + "cType": "text **", + "canonical": "text **" } ] }, { "name": "ttext_value_n", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -17165,7 +17553,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "n", @@ -17174,23 +17562,24 @@ }, { "name": "result", - "cType": "int **", - "canonical": "int **" + "cType": "text **", + "canonical": "text **" } ] }, { "name": "ttext_values", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "text **", + "canonical": "text **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -17202,6 +17591,7 @@ { "name": "float_degrees", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -17219,83 +17609,19 @@ } ] }, - { - "name": "tbigint_scale_value", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "width", - "cType": "int64", - "canonical": "long" - } - ] - }, - { - "name": "tbigint_shift_scale_value", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "shift", - "cType": "int64", - "canonical": "long" - }, - { - "name": "width", - "cType": "int64", - "canonical": "long" - } - ] - }, - { - "name": "tbigint_shift_value", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "shift", - "cType": "int64", - "canonical": "long" - } - ] - }, { "name": "temparr_round", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, { "name": "count", @@ -17312,15 +17638,16 @@ { "name": "temporal_round", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "maxdd", @@ -17332,35 +17659,37 @@ { "name": "temporal_scale_time", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "temporal_set_interp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interp", @@ -17372,51 +17701,54 @@ { "name": "temporal_shift_scale_time", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "temporal_shift_time", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "temporal_to_tinstant", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -17425,13 +17757,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_to_tsequence", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -17440,7 +17773,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interp", @@ -17452,6 +17785,7 @@ { "name": "temporal_to_tsequenceset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -17460,7 +17794,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interp", @@ -17472,30 +17806,32 @@ { "name": "tfloat_ceil", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_degrees", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "normalize", @@ -17507,45 +17843,48 @@ { "name": "tfloat_floor", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_radians", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_scale_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "width", @@ -17557,15 +17896,16 @@ { "name": "tfloat_shift_scale_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", @@ -17582,15 +17922,16 @@ { "name": "tfloat_shift_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", @@ -17602,15 +17943,16 @@ { "name": "tint_scale_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "width", @@ -17619,18 +17961,40 @@ } ] }, + { + "name": "tbigint_scale_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "width", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, { "name": "tint_shift_scale_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", @@ -17644,18 +18008,45 @@ } ] }, + { + "name": "tbigint_shift_scale_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "shift", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "width", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, { "name": "tint_shift_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", @@ -17664,18 +18055,40 @@ } ] }, + { + "name": "tbigint_shift_value", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "shift", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, { "name": "temporal_append_tinstant", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, { "name": "inst", @@ -17694,8 +18107,8 @@ }, { "name": "maxt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "expand", @@ -17707,15 +18120,16 @@ { "name": "temporal_append_tsequence", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, { "name": "seq", @@ -17732,20 +18146,21 @@ { "name": "temporal_delete_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "connect", @@ -17757,20 +18172,21 @@ { "name": "temporal_delete_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "connect", @@ -17782,15 +18198,16 @@ { "name": "temporal_delete_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -17807,15 +18224,16 @@ { "name": "temporal_delete_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -17832,20 +18250,21 @@ { "name": "temporal_insert", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "connect", @@ -17857,35 +18276,37 @@ { "name": "temporal_merge", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_merge_array", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temparr", "cType": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, { "name": "count", @@ -17897,20 +18318,21 @@ { "name": "temporal_update", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "connect", @@ -17919,58 +18341,19 @@ } ] }, - { - "name": "tbigint_at_value", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "i", - "cType": "int64", - "canonical": "long" - } - ] - }, - { - "name": "tbigint_minus_value", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "i", - "cType": "int64", - "canonical": "long" - } - ] - }, { "name": "tbool_at_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -17982,15 +18365,16 @@ { "name": "tbool_minus_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -18002,20 +18386,21 @@ { "name": "temporal_after_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -18027,85 +18412,90 @@ { "name": "temporal_at_max", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_at_min", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_at_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "temporal_at_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "temporal_at_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -18117,15 +18507,16 @@ { "name": "temporal_at_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -18137,40 +18528,42 @@ { "name": "temporal_at_values", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "set", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "temporal_before_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -18182,85 +18575,90 @@ { "name": "temporal_minus_max", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_minus_min", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_minus_timestamptz", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "temporal_minus_tstzset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "temporal_minus_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -18272,15 +18670,16 @@ { "name": "temporal_minus_tstzspanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -18292,35 +18691,37 @@ { "name": "temporal_minus_values", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "set", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "tfloat_at_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -18332,15 +18733,16 @@ { "name": "tfloat_minus_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -18352,15 +18754,16 @@ { "name": "tint_at_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -18372,15 +18775,16 @@ { "name": "tint_minus_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -18392,15 +18796,16 @@ { "name": "tnumber_at_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "span", @@ -18412,15 +18817,16 @@ { "name": "tnumber_at_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -18432,15 +18838,16 @@ { "name": "tnumber_at_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -18452,15 +18859,16 @@ { "name": "tnumber_minus_span", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "span", @@ -18472,15 +18880,16 @@ { "name": "tnumber_minus_spanset", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -18492,15 +18901,16 @@ { "name": "tnumber_minus_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -18512,46 +18922,49 @@ { "name": "ttext_at_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "ttext_minus_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "int *", - "canonical": "int *" + "cType": "text *", + "canonical": "text *" } ] }, { "name": "temporal_cmp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18560,18 +18973,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_eq", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -18580,12 +18994,12 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ], "ownership": "caller", @@ -18601,6 +19015,7 @@ { "name": "temporal_ge", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -18609,18 +19024,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_gt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -18629,18 +19045,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_le", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -18649,18 +19066,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_lt", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -18669,18 +19087,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_ne", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -18689,38 +19108,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "always_eq_bigint_tbigint", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_eq_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18734,13 +19134,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_eq_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18754,13 +19155,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_eq_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18774,13 +19176,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_eq_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18789,7 +19192,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -18801,6 +19204,7 @@ { "name": "always_eq_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18809,18 +19213,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_eq_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18828,19 +19233,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "always_eq_tbigint_bigint", + "name": "always_eq_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18849,18 +19255,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_eq_tfloat_float", + "name": "always_eq_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18869,38 +19276,40 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "always_eq_tint_int", + "name": "always_eq_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_eq_ttext_text", + "name": "always_eq_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18909,38 +19318,40 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "always_ge_bigint_tbigint", + "name": "always_eq_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "always_ge_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18954,13 +19365,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ge_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -18974,33 +19386,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "always_ge_tbigint_bigint", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "i", - "cType": "int64", - "canonical": "long" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ge_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19009,18 +19402,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ge_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19028,19 +19422,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ge_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19049,7 +19444,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -19061,6 +19456,7 @@ { "name": "always_ge_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19069,7 +19465,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -19079,108 +19475,114 @@ ] }, { - "name": "always_ge_ttext_text", + "name": "always_ge_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_gt_bigint_tbigint", + "name": "always_ge_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "always_gt_float_tfloat", + "name": "always_ge_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "always_gt_int_tint", + "name": "always_gt_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "always_gt_tbigint_bigint", + "name": "always_gt_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "always_gt_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19189,18 +19591,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_gt_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19208,19 +19611,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_gt_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19229,7 +19633,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -19241,6 +19645,7 @@ { "name": "always_gt_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19249,7 +19654,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -19259,108 +19664,114 @@ ] }, { - "name": "always_gt_ttext_text", + "name": "always_gt_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_le_bigint_tbigint", + "name": "always_gt_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "always_le_float_tfloat", + "name": "always_gt_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "always_le_int_tint", + "name": "always_le_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "always_le_tbigint_bigint", + "name": "always_le_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "always_le_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19369,18 +19780,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_le_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19388,19 +19800,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_le_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19409,7 +19822,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -19421,6 +19834,7 @@ { "name": "always_le_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19429,7 +19843,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -19439,48 +19853,72 @@ ] }, { - "name": "always_le_ttext_text", + "name": "always_le_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_lt_bigint_tbigint", + "name": "always_le_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "always_le_ttext_text", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "always_lt_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19494,13 +19932,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_lt_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19514,13 +19953,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_lt_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19529,18 +19969,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_lt_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19548,19 +19989,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_lt_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19569,7 +20011,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -19581,6 +20023,7 @@ { "name": "always_lt_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19589,7 +20032,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -19599,108 +20042,114 @@ ] }, { - "name": "always_lt_ttext_text", + "name": "always_lt_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_ne_bool_tbool", + "name": "always_lt_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "b", - "cType": "bool", - "canonical": "bool" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "always_ne_float_tfloat", + "name": "always_lt_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "always_ne_int_tint", + "name": "always_ne_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "b", + "cType": "bool", + "canonical": "bool" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "always_lt_tbigint_bigint", + "name": "always_ne_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "double", + "canonical": "double" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_ne_bigint_tbigint", + "name": "always_ne_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19708,19 +20157,20 @@ "params": [ { "name": "i", - "cType": "int64", - "canonical": "long" + "cType": "int", + "canonical": "int" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ne_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19729,7 +20179,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -19738,29 +20188,10 @@ } ] }, - { - "name": "always_ne_tbigint_bigint", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "i", - "cType": "int64", - "canonical": "long" - } - ] - }, { "name": "always_ne_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19769,18 +20200,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ne_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19788,19 +20220,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ne_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19809,7 +20242,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -19821,6 +20254,7 @@ { "name": "always_ne_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19829,7 +20263,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -19839,48 +20273,72 @@ ] }, { - "name": "always_ne_ttext_text", + "name": "always_ne_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_eq_bigint_tbigint", + "name": "always_ne_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "always_ne_ttext_text", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "ever_eq_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19894,13 +20352,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_eq_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19914,13 +20373,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_eq_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19934,33 +20394,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "ever_eq_tbigint_bigint", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "i", - "cType": "int64", - "canonical": "long" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_eq_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19969,7 +20410,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -19981,6 +20422,7 @@ { "name": "ever_eq_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -19989,18 +20431,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_eq_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20008,19 +20451,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_eq_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20029,7 +20473,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -20041,6 +20485,7 @@ { "name": "ever_eq_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20049,7 +20494,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -20059,108 +20504,114 @@ ] }, { - "name": "ever_eq_ttext_text", + "name": "ever_eq_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ge_bigint_tbigint", + "name": "ever_eq_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "ever_ge_float_tfloat", + "name": "ever_eq_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "ever_ge_int_tint", + "name": "ever_ge_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ge_tbigint_bigint", + "name": "ever_ge_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ge_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20169,18 +20620,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ge_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20188,19 +20640,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ge_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20209,7 +20662,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -20221,6 +20674,7 @@ { "name": "ever_ge_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20229,7 +20683,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -20239,108 +20693,114 @@ ] }, { - "name": "ever_ge_ttext_text", + "name": "ever_ge_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_gt_bigint_tbigint", + "name": "ever_ge_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "ever_gt_float_tfloat", + "name": "ever_ge_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "ever_gt_int_tint", + "name": "ever_gt_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_gt_tbigint_bigint", + "name": "ever_gt_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "ever_gt_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20349,18 +20809,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_gt_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20368,19 +20829,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_gt_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20389,7 +20851,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -20401,6 +20863,7 @@ { "name": "ever_gt_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20409,7 +20872,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -20419,108 +20882,114 @@ ] }, { - "name": "ever_gt_ttext_text", + "name": "ever_gt_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_le_bigint_tbigint", + "name": "ever_gt_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "ever_le_float_tfloat", + "name": "ever_gt_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "ever_le_int_tint", + "name": "ever_le_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_le_tbigint_bigint", + "name": "ever_le_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "ever_le_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20529,18 +20998,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_le_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20548,19 +21018,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_le_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20569,7 +21040,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -20581,6 +21052,7 @@ { "name": "ever_le_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20589,7 +21061,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -20599,108 +21071,114 @@ ] }, { - "name": "ever_le_ttext_text", + "name": "ever_le_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_lt_bigint_tbigint", + "name": "ever_le_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "ever_lt_float_tfloat", + "name": "ever_le_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "d", - "cType": "double", - "canonical": "double" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { - "name": "ever_lt_int_tint", + "name": "ever_lt_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "d", + "cType": "double", + "canonical": "double" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_lt_tbigint_bigint", + "name": "ever_lt_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { "name": "ever_lt_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20709,18 +21187,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_lt_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20728,19 +21207,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_lt_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20749,7 +21229,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -20761,6 +21241,7 @@ { "name": "ever_lt_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20769,7 +21250,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -20779,48 +21260,72 @@ ] }, { - "name": "ever_lt_ttext_text", + "name": "ever_lt_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ne_bigint_tbigint", + "name": "ever_lt_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "ever_lt_ttext_text", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "ever_ne_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20834,13 +21339,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ne_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20854,13 +21360,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ne_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20874,33 +21381,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "ever_ne_tbigint_bigint", - "file": "meos.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "i", - "cType": "int64", - "canonical": "long" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ne_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20909,7 +21397,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -20921,6 +21409,7 @@ { "name": "ever_ne_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20929,18 +21418,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ne_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20948,19 +21438,20 @@ "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ne_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20969,7 +21460,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -20981,6 +21472,7 @@ { "name": "ever_ne_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -20989,7 +21481,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -20998,9 +21490,52 @@ } ] }, + { + "name": "ever_ne_bigint_tbigint", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_tbigint_bigint", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, { "name": "ever_ne_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -21009,21 +21544,22 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "teq_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21034,16 +21570,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "teq_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21054,16 +21591,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "teq_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21074,22 +21612,23 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "teq_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -21101,55 +21640,58 @@ { "name": "teq_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "teq_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "teq_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -21161,15 +21703,16 @@ { "name": "teq_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -21181,29 +21724,31 @@ { "name": "teq_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "tge_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21214,16 +21759,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tge_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21234,62 +21780,65 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tge_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tge_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tge_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -21301,15 +21850,16 @@ { "name": "tge_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -21321,29 +21871,31 @@ { "name": "tge_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "tgt_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21354,16 +21906,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tgt_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21374,62 +21927,65 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tgt_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tgt_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tgt_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -21441,15 +21997,16 @@ { "name": "tgt_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -21461,29 +22018,31 @@ { "name": "tgt_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "tle_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21494,16 +22053,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tle_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21514,62 +22074,65 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tle_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tle_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tle_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -21581,15 +22144,16 @@ { "name": "tle_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -21601,29 +22165,31 @@ { "name": "tle_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "tlt_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21634,16 +22200,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tlt_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21654,62 +22221,65 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tlt_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tlt_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tlt_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -21721,15 +22291,16 @@ { "name": "tlt_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -21741,29 +22312,31 @@ { "name": "tlt_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "tne_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21774,16 +22347,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tne_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21794,16 +22368,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tne_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -21814,22 +22389,23 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tne_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -21841,55 +22417,58 @@ { "name": "tne_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tne_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tne_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -21901,15 +22480,16 @@ { "name": "tne_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -21921,26 +22501,28 @@ { "name": "tne_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "temporal_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -21949,7 +22531,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -21961,6 +22543,7 @@ { "name": "temporal_split_each_n_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -21969,7 +22552,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "elem_count", @@ -21986,6 +22569,7 @@ { "name": "temporal_split_n_spans", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -21994,7 +22578,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "span_count", @@ -22011,6 +22595,7 @@ { "name": "tnumber_split_each_n_tboxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -22019,7 +22604,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "elem_count", @@ -22036,6 +22621,7 @@ { "name": "tnumber_split_n_tboxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -22044,7 +22630,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box_count", @@ -22061,6 +22647,7 @@ { "name": "tnumber_tboxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -22069,7 +22656,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -22081,6 +22668,7 @@ { "name": "adjacent_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22094,13 +22682,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "adjacent_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22114,13 +22703,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "adjacent_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22129,18 +22719,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "adjacent_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22149,7 +22740,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22161,6 +22752,7 @@ { "name": "adjacent_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22169,7 +22761,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22181,6 +22773,7 @@ { "name": "adjacent_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22189,7 +22782,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -22201,6 +22794,7 @@ { "name": "adjacent_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22209,18 +22803,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "adjacent_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22234,13 +22829,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contained_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22254,13 +22850,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contained_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22274,13 +22871,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contained_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22289,18 +22887,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contained_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22309,7 +22908,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22321,6 +22920,7 @@ { "name": "contained_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22329,7 +22929,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22341,6 +22941,7 @@ { "name": "contained_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22349,7 +22950,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -22361,6 +22962,7 @@ { "name": "contained_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22369,18 +22971,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contained_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22394,13 +22997,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contains_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22414,13 +23018,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contains_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22434,13 +23039,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contains_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22449,7 +23055,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22461,6 +23067,7 @@ { "name": "contains_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22469,18 +23076,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contains_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22489,7 +23097,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22501,6 +23109,7 @@ { "name": "contains_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22509,7 +23118,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -22521,6 +23130,7 @@ { "name": "contains_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22529,18 +23139,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "contains_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22554,13 +23165,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overlaps_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22574,13 +23186,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overlaps_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22594,13 +23207,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overlaps_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22609,18 +23223,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overlaps_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22629,7 +23244,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22641,6 +23256,7 @@ { "name": "overlaps_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22649,7 +23265,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22661,6 +23277,7 @@ { "name": "overlaps_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22669,7 +23286,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -22681,6 +23298,7 @@ { "name": "overlaps_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22689,18 +23307,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overlaps_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22714,13 +23333,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "same_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22734,13 +23354,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "same_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22754,13 +23375,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "same_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22769,18 +23391,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "same_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22789,7 +23412,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22801,6 +23424,7 @@ { "name": "same_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22809,7 +23433,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22821,6 +23445,7 @@ { "name": "same_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22829,7 +23454,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -22841,6 +23466,7 @@ { "name": "same_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22849,18 +23475,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "same_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22874,13 +23501,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "after_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22894,13 +23522,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "after_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22909,7 +23538,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -22921,6 +23550,7 @@ { "name": "after_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22929,18 +23559,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "after_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22949,7 +23580,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -22961,6 +23592,7 @@ { "name": "after_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22969,18 +23601,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "after_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -22994,13 +23627,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "before_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23014,13 +23648,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "before_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23029,7 +23664,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23041,6 +23676,7 @@ { "name": "before_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23049,18 +23685,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "before_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23069,7 +23706,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23081,6 +23718,7 @@ { "name": "before_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23089,18 +23727,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "before_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23114,13 +23753,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "left_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23134,13 +23774,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "left_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23154,13 +23795,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "left_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23169,7 +23811,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23181,6 +23823,7 @@ { "name": "left_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23189,7 +23832,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23201,6 +23844,7 @@ { "name": "left_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23209,18 +23853,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overafter_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23234,13 +23879,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overafter_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23249,7 +23895,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23261,6 +23907,7 @@ { "name": "overafter_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23269,18 +23916,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overafter_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23289,7 +23937,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23301,6 +23949,7 @@ { "name": "overafter_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23309,18 +23958,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overafter_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23334,13 +23984,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overbefore_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23354,13 +24005,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overbefore_temporal_tstzspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23369,7 +24021,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23381,6 +24033,7 @@ { "name": "overbefore_temporal_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23389,18 +24042,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overbefore_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23409,7 +24063,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23421,6 +24075,7 @@ { "name": "overbefore_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23429,18 +24084,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overbefore_tstzspan_temporal", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23454,13 +24110,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overleft_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23474,13 +24131,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overleft_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23494,13 +24152,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overleft_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23509,7 +24168,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23521,6 +24180,7 @@ { "name": "overleft_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23529,7 +24189,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23541,6 +24201,7 @@ { "name": "overleft_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23549,18 +24210,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overright_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23574,13 +24236,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overright_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23594,13 +24257,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "overright_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23609,7 +24273,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23621,6 +24285,7 @@ { "name": "overright_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23629,7 +24294,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23641,6 +24306,7 @@ { "name": "overright_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23649,18 +24315,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "right_numspan_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23674,13 +24341,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "right_tbox_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23694,13 +24362,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "right_tnumber_numspan", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23709,7 +24378,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -23721,6 +24390,7 @@ { "name": "right_tnumber_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23729,7 +24399,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -23741,6 +24411,7 @@ { "name": "right_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -23749,21 +24420,22 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tand_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -23774,22 +24446,23 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tand_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -23801,26 +24474,28 @@ { "name": "tand_tbool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tbool_when_true", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -23829,31 +24504,33 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnot_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tor_bool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -23864,22 +24541,23 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tor_tbool_bool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "b", @@ -23891,49 +24569,31 @@ { "name": "tor_tbool_tbool", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "add_bigint_tbigint", - "file": "meos.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "i", - "cType": "int64", - "canonical": "long" - }, - { - "name": "tnumber", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "add_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -23944,16 +24604,17 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "add_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -23964,116 +24625,122 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "add_tbigint_bigint", + "name": "add_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "add_tfloat_float", + "name": "add_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "add_tint_int", + "name": "add_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "tnumber", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "add_tnumber_tnumber", + "name": "add_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "tnumber1", + "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "tnumber2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "div_bigint_tbigint", + "name": "add_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "tnumber", + "name": "tnumber2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "div_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -24084,16 +24751,17 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "div_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -24104,116 +24772,122 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "div_tbigint_bigint", + "name": "div_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "div_tfloat_float", + "name": "div_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "div_tint_int", + "name": "div_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "tnumber", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "div_tnumber_tnumber", + "name": "div_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "tnumber1", + "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "tnumber2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "mul_bigint_tbigint", + "name": "div_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "tnumber", + "name": "tnumber2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "mul_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -24224,16 +24898,17 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "mul_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -24244,116 +24919,122 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "mul_tbigint_bigint", + "name": "mul_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "mul_tfloat_float", + "name": "mul_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "mul_tint_int", + "name": "mul_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "tnumber", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "i", - "cType": "int", - "canonical": "int" + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "mul_tnumber_tnumber", + "name": "mul_tbigint_bigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "tnumber1", + "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "tnumber2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" } ] }, { - "name": "sub_bigint_tbigint", + "name": "mul_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "tnumber", + "name": "tnumber2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "sub_float_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -24364,16 +25045,17 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "sub_int_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -24384,183 +25066,263 @@ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "sub_tbigint_bigint", + "name": "sub_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "i", - "cType": "int64", - "canonical": "long" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "sub_tfloat_float", + "name": "sub_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "sub_tint_int", + "name": "sub_bigint_tbigint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ + { + "name": "i", + "cType": "int64_t", + "canonical": "int64_t" + }, { "name": "tnumber", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "sub_tbigint_bigint", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "i", - "cType": "int", - "canonical": "int" + "cType": "int64_t", + "canonical": "int64_t" } ] }, { "name": "sub_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "tnumber1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "tnumber2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_derivative", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_exp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_ln", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tfloat_log10", "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tfloat_sin", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tfloat_cos", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tfloat_tan", + "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_abs", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_trend", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "float_angular_difference", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -24581,150 +25343,159 @@ { "name": "tnumber_angular_difference", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_delta_value", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "textcat_text_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "textcat_ttext_text", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "txt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const text *", + "canonical": "const text *" } ] }, { "name": "textcat_ttext_ttext", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_initcap", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_upper", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ttext_lower", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tdistance_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -24736,15 +25507,16 @@ { "name": "tdistance_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -24756,26 +25528,28 @@ { "name": "tdistance_tnumber_tnumber", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "nad_tboxfloat_tboxfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -24796,6 +25570,7 @@ { "name": "nad_tboxint_tboxint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -24816,6 +25591,7 @@ { "name": "nad_tfloat_float", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -24824,7 +25600,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "d", @@ -24836,6 +25612,7 @@ { "name": "nad_tfloat_tfloat", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -24844,18 +25621,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "nad_tfloat_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -24864,7 +25642,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -24876,6 +25654,7 @@ { "name": "nad_tint_int", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -24884,7 +25663,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "i", @@ -24896,6 +25675,7 @@ { "name": "nad_tint_tbox", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -24904,7 +25684,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -24916,6 +25696,7 @@ { "name": "nad_tint_tint", "file": "meos.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -24924,18 +25705,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tbool_tand_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -24949,13 +25731,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbool_tand_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tbool_tor_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -24969,13 +25773,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tbool_tor_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "temporal_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -24989,13 +25815,30 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "temporal_merge_transfn", + "name": "temporal_tagg_finalfn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "temporal_tcount_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25009,13 +25852,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "temporal_merge_combinefn", + "name": "temporal_tcount_combinefn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25034,43 +25878,51 @@ ] }, { - "name": "temporal_tagg_finalfn", + "name": "tfloat_tmax_transfn", "file": "meos.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "SkipList *", + "canonical": "struct SkipList *" }, "params": [ { "name": "state", "cType": "SkipList *", "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "temporal_tcount_transfn", + "name": "tfloat_tmax_combinefn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" }, "params": [ { - "name": "state", + "name": "state1", "cType": "SkipList *", "canonical": "struct SkipList *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { - "name": "tfloat_tmax_transfn", + "name": "tfloat_tmin_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25084,33 +25936,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tfloat_tmin_transfn", + "name": "tfloat_tmin_combinefn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" }, "params": [ { - "name": "state", + "name": "state1", "cType": "SkipList *", "canonical": "struct SkipList *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tfloat_tsum_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25124,13 +25978,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tfloat_tsum_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tfloat_wmax_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25144,18 +26020,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tfloat_wmin_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25169,18 +26046,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tfloat_wsum_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25194,18 +26072,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "timestamptz_tcount_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25219,13 +26098,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tint_tmax_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25239,13 +26119,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tint_tmax_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tint_tmin_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25259,13 +26161,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tint_tmin_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tint_tsum_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25279,13 +26203,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tint_tsum_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tint_wmax_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25299,18 +26245,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tint_wmin_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25324,18 +26271,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tint_wsum_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25349,18 +26297,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tnumber_extent_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -25374,16 +26323,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumber_tavg_finalfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -25396,6 +26346,7 @@ { "name": "tnumber_tavg_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25409,13 +26360,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnumber_tavg_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "tnumber_wavg_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25429,18 +26402,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tstzset_tcount_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25454,13 +26428,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "tstzspan_tcount_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25481,6 +26456,7 @@ { "name": "tstzspanset_tcount_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25498,9 +26474,52 @@ } ] }, + { + "name": "temporal_merge_transfn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "temporal_merge_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, { "name": "ttext_tmax_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25514,13 +26533,35 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ttext_tmax_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "ttext_tmin_transfn", "file": "meos.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -25534,25 +26575,47 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ttext_tmin_combinefn", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { "name": "temporal_simplify_dp", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "eps_dist", + "name": "dist", "cType": "double", "canonical": "double" }, @@ -25566,18 +26629,19 @@ { "name": "temporal_simplify_max_dist", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "eps_dist", + "name": "dist", "cType": "double", "canonical": "double" }, @@ -25591,15 +26655,16 @@ { "name": "temporal_simplify_min_dist", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "dist", @@ -25611,70 +26676,73 @@ { "name": "temporal_simplify_min_tdelta", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "mint", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "temporal_tprecision", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "origin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "temporal_tsample", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "origin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "interp", @@ -25686,6 +26754,7 @@ { "name": "temporal_dyntimewarp_distance", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -25694,18 +26763,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_dyntimewarp_path", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Match *", "canonical": "Match *" @@ -25714,12 +26784,12 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -25731,6 +26801,7 @@ { "name": "temporal_frechet_distance", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -25739,18 +26810,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "temporal_frechet_path", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Match *", "canonical": "Match *" @@ -25759,12 +26831,12 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "count", @@ -25776,6 +26848,7 @@ { "name": "temporal_hausdorff_distance", "file": "meos.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -25784,18 +26857,55 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "temporal_ext_kalman_filter", + "file": "meos.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gate", + "cType": "double", + "canonical": "double" + }, + { + "name": "q", + "cType": "double", + "canonical": "double" + }, + { + "name": "variance", + "cType": "double", + "canonical": "double" + }, + { + "name": "to_drop", + "cType": "bool", + "canonical": "bool" } ] }, { "name": "temporal_time_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -25804,17 +26914,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "origin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -25826,30 +26936,31 @@ { "name": "temporal_time_split", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "time_bins", "cType": "TimestampTz **", - "canonical": "long **" + "canonical": "TimestampTz **" }, { "name": "count", @@ -25861,6 +26972,7 @@ { "name": "tfloat_time_boxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -25869,17 +26981,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -25891,6 +27003,7 @@ { "name": "tfloat_value_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -25899,7 +27012,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -25921,6 +27034,7 @@ { "name": "tfloat_value_boxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -25929,7 +27043,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -25951,15 +27065,16 @@ { "name": "tfloat_value_split", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "size", @@ -25986,6 +27101,7 @@ { "name": "tfloat_value_time_boxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -25994,7 +27110,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -26003,8 +27119,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -26014,7 +27130,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26026,15 +27142,16 @@ { "name": "tfloat_value_time_split", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -26043,8 +27160,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -26054,7 +27171,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "value_bins", @@ -26064,7 +27181,7 @@ { "name": "time_bins", "cType": "TimestampTz **", - "canonical": "long **" + "canonical": "TimestampTz **" }, { "name": "count", @@ -26076,6 +27193,7 @@ { "name": "tfloatbox_time_tiles", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26088,13 +27206,13 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26106,6 +27224,7 @@ { "name": "tfloatbox_value_tiles", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26136,6 +27255,7 @@ { "name": "tfloatbox_value_time_tiles", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26153,8 +27273,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -26164,7 +27284,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26176,6 +27296,7 @@ { "name": "tint_time_boxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26184,17 +27305,17 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26206,6 +27327,7 @@ { "name": "tint_value_bins", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -26214,7 +27336,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -26236,6 +27358,7 @@ { "name": "tint_value_boxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26244,7 +27367,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -26266,15 +27389,16 @@ { "name": "tint_value_split", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -26301,6 +27425,7 @@ { "name": "tint_value_time_boxes", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26309,7 +27434,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -26318,8 +27443,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -26329,7 +27454,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26341,15 +27466,16 @@ { "name": "tint_value_time_split", "file": "meos.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "size", @@ -26358,8 +27484,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -26369,7 +27495,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "value_bins", @@ -26379,7 +27505,7 @@ { "name": "time_bins", "cType": "TimestampTz **", - "canonical": "long **" + "canonical": "TimestampTz **" }, { "name": "count", @@ -26391,6 +27517,7 @@ { "name": "tintbox_time_tiles", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26403,13 +27530,13 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26421,6 +27548,7 @@ { "name": "tintbox_value_tiles", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26451,6 +27579,7 @@ { "name": "tintbox_value_time_tiles", "file": "meos.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -26468,8 +27597,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "xorigin", @@ -26479,7 +27608,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -26489,4501 +27618,5083 @@ ] }, { - "name": "meos_initialize_noexit_error_handler", - "file": "meos.h", + "name": "box3d_from_gbox", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "BOX3D *", + "canonical": "BOX3D *" }, - "params": [] + "params": [ + { + "name": "box", + "cType": "const GBOX *", + "canonical": "const GBOX *" + } + ] }, { - "name": "h3_are_neighbor_cells_meos", - "file": "h3_generated.h", + "name": "box3d_make", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "BOX3D *", + "canonical": "BOX3D *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "xmin", + "cType": "double", + "canonical": "double" }, { - "name": "destination", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "h3_cells_to_directed_edge_meos", - "file": "h3_generated.h", + "name": "box3d_in", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "BOX3D *", + "canonical": "BOX3D *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "destination", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_is_valid_directed_edge_meos", - "file": "h3_generated.h", + "name": "box3d_out", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "edge", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "box", + "cType": "const BOX3D *", + "canonical": "const BOX3D *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "h3_get_directed_edge_origin_meos", - "file": "h3_generated.h", + "name": "gbox_make", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GBOX *", + "canonical": "GBOX *" }, "params": [ { - "name": "edge", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasm", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "mmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "mmax", + "cType": "double", + "canonical": "double" } ] }, { - "name": "h3_get_directed_edge_destination_meos", - "file": "h3_generated.h", + "name": "gbox_in", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GBOX *", + "canonical": "GBOX *" }, "params": [ { - "name": "edge", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_cell_to_parent_meos", - "file": "h3_generated.h", + "name": "gbox_out", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "box", + "cType": "const GBOX *", + "canonical": "const GBOX *" }, { - "name": "resolution", - "cType": "int32", + "name": "maxdd", + "cType": "int", "canonical": "int" } ] }, { - "name": "h3_cell_to_center_child_meos", - "file": "h3_generated.h", + "name": "geo_as_ewkb", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "resolution", - "cType": "int32", - "canonical": "int" + "name": "endian", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "h3_cell_to_child_pos_meos", - "file": "h3_generated.h", + "name": "geo_as_ewkt", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "child", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "parentRes", - "cType": "int32", + "name": "precision", + "cType": "int", "canonical": "int" } ] }, { - "name": "h3_child_pos_to_cell_meos", - "file": "h3_generated.h", + "name": "geo_as_geojson", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "childPos", - "cType": "int64", - "canonical": "long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "parent", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "option", + "cType": "int", + "canonical": "int" }, { - "name": "childRes", - "cType": "int32", + "name": "precision", + "cType": "int", "canonical": "int" + }, + { + "name": "srs", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_get_resolution_meos", - "file": "h3_generated.h", + "name": "geo_as_hexewkb", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int32", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "hex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "endian", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_get_base_cell_number_meos", - "file": "h3_generated.h", + "name": "geo_as_text", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int32", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "hex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" } ] }, { - "name": "h3_is_valid_cell_meos", - "file": "h3_generated.h", + "name": "geo_from_ewkb", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "hex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "wkb_size", + "cType": "size_t", + "canonical": "size_t" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "h3_is_res_class_iii_meos", - "file": "h3_generated.h", + "name": "geo_from_geojson", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "hex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "geojson", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_is_pentagon_meos", - "file": "h3_generated.h", + "name": "geo_from_text", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "hex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "wkt", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "h3_get_num_cells_meos", - "file": "h3_generated.h", + "name": "geo_out", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "resolution", - "cType": "int32", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_grid_distance_meos", - "file": "h3_generated.h", + "name": "geog_from_hexewkb", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "originIndex", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "h3Index", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "wkt", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_cell_to_vertex_meos", - "file": "h3_generated.h", + "name": "geog_in", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "vertexNum", - "cType": "int32", + "name": "typmod", + "cType": "int", "canonical": "int" } ] }, { - "name": "h3_is_valid_vertex_meos", - "file": "h3_generated.h", + "name": "geom_from_hexewkb", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "vertex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "wkt", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3index_parse", - "file": "h3index.h", + "name": "geom_in", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { "name": "str", "cType": "const char *", "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int", + "canonical": "int" } ] }, { - "name": "h3index_to_string", - "file": "h3index.h", + "name": "geo_copy", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3index_eq", - "file": "h3index.h", + "name": "geogpoint_make2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" } ] }, { - "name": "h3index_ne", - "file": "h3index.h", + "name": "geogpoint_make3dz", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" } ] }, { - "name": "h3index_lt", - "file": "h3index.h", + "name": "geompoint_make2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" } ] }, { - "name": "h3index_le", - "file": "h3index.h", + "name": "geompoint_make3dz", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" } ] }, { - "name": "h3index_gt", - "file": "h3index.h", + "name": "geom_to_geog", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3index_ge", - "file": "h3index.h", + "name": "geog_to_geom", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "geog", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3index_cmp", - "file": "h3index.h", + "name": "geo_is_empty", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "a", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "b", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3index_hash", - "file": "h3index.h", + "name": "geo_is_unitary", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_grid_disk", - "file": "h3index_sets.h", + "name": "geo_typename", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "const char *", + "canonical": "const char *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "k", + "name": "type", "cType": "int", "canonical": "int" } ] }, { - "name": "h3_grid_ring", - "file": "h3index_sets.h", + "name": "geog_area", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "k", - "cType": "int", - "canonical": "int" + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "h3_grid_path_cells", - "file": "h3index_sets.h", + "name": "geog_centroid", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "start", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "end", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "h3_cell_to_children", - "file": "h3index_sets.h", + "name": "geog_length", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "childRes", - "cType": "int", - "canonical": "int" + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "h3_compact_cells", - "file": "h3index_sets.h", + "name": "geog_perimeter", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "cells", - "cType": "const Set *", - "canonical": "const Set *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "h3_uncompact_cells", - "file": "h3index_sets.h", + "name": "geom_azimuth", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cells", - "cType": "const Set *", - "canonical": "const Set *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "res", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "h3_origin_to_directed_edges", - "file": "h3index_sets.h", + "name": "geom_length", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_cell_to_vertexes", - "file": "h3index_sets.h", + "name": "geom_perimeter", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_get_icosahedron_faces", - "file": "h3index_sets.h", + "name": "line_numpoints", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ensure_valid_th3index_th3index", - "file": "th3index.h", + "name": "line_point_n", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "n", + "cType": "int", + "canonical": "int" } ] }, { - "name": "ensure_valid_th3index_h3index", - "file": "th3index.h", + "name": "geo_reverse", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ensure_valid_th3index_tgeogpoint", - "file": "th3index.h", + "name": "geo_round", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "datum2_h3index_eq", - "file": "th3index.h", + "name": "geo_set_srid", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "d1", - "cType": "int", - "canonical": "int" - }, - { - "name": "d2", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "type", - "cType": "int", + "name": "srid", + "cType": "int32_t", "canonical": "int" } ] }, { - "name": "datum2_h3index_ne", - "file": "th3index.h", + "name": "geo_srid", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", + "c": "int32_t", "canonical": "int" }, "params": [ { - "name": "d1", - "cType": "int", - "canonical": "int" - }, - { - "name": "d2", - "cType": "int", - "canonical": "int" - }, - { - "name": "type", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "th3indexinst_set_stbox", - "file": "th3index_boxops.h", + "name": "geo_transform", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "th3indexinstarr_set_stbox", - "file": "th3index_boxops.h", + "name": "geo_transform_pipeline", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "instants", - "cType": "TInstant **", - "canonical": "struct TInstant **" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "count", - "cType": "int", + "name": "pipeline", + "cType": "char *", + "canonical": "char *" + }, + { + "name": "srid_to", + "cType": "int32_t", "canonical": "int" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "th3indexseq_expand_stbox", - "file": "th3index_boxops.h", + "name": "geo_collect_garray", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "h3_gs_point_to_cell", - "file": "th3index_internal.h", + "name": "geo_makeline_garray", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "point", - "cType": "const int *", - "canonical": "const int *" + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, { - "name": "resolution", - "cType": "int32", + "name": "count", + "cType": "int", "canonical": "int" } ] }, { - "name": "h3_cell_to_gs_point", - "file": "th3index_internal.h", + "name": "geo_num_points", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_cell_to_gs_boundary", - "file": "th3index_internal.h", + "name": "geo_num_geos", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - } - ] + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] }, { - "name": "cell_boundary_to_gs", - "file": "th3index_internal.h", + "name": "geo_geo_n", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "bnd", - "cType": "const CellBoundary *", - "canonical": "const CellBoundary *" + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" } ] }, { - "name": "h3_sample_step_deg", - "file": "th3index_internal.h", + "name": "geo_pointarr", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, "params": [ { - "name": "resolution", - "cType": "int32", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "h3_latlng_deg_to_cell", - "file": "th3index_internal.h", + "name": "geo_points", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "lat_deg", - "cType": "double", - "canonical": "double" - }, + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_array_union", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ { - "name": "lng_deg", - "cType": "double", - "canonical": "double" + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, { - "name": "resolution", - "cType": "int32", + "name": "count", + "cType": "int", "canonical": "int" } ] }, { - "name": "h3_cell_to_parent_next_meos", - "file": "th3index_internal.h", + "name": "geom_boundary", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_cell_to_center_child_next_meos", - "file": "th3index_internal.h", + "name": "geom_buffer", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "size", + "cType": "double", + "canonical": "double" + }, + { + "name": "params", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "h3_directed_edge_to_gs_boundary", - "file": "th3index_internal.h", + "name": "geom_centroid", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "edge", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_vertex_to_gs_point", - "file": "th3index_internal.h", + "name": "geom_convex_hull", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "vertex", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_cell_to_local_ij_meos", - "file": "th3index_internal.h", + "name": "geom_difference2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_local_ij_to_cell_meos", - "file": "th3index_internal.h", + "name": "geom_intersection2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "origin", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "coord", - "cType": "const int *", - "canonical": "const int *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_unit_from_cstring", - "file": "th3index_internal.h", + "name": "geom_intersection2d_coll", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "H3Unit", - "canonical": "H3Unit" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "unit", - "cType": "const char *", - "canonical": "const char *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_cell_area_meos", - "file": "th3index_internal.h", + "name": "geom_min_bounding_radius", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "unit", - "cType": "H3Unit", - "canonical": "H3Unit" + "name": "radius", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "h3_edge_length_meos", - "file": "th3index_internal.h", + "name": "geom_shortestline2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "edge", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "unit", - "cType": "H3Unit", - "canonical": "H3Unit" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "h3_gs_great_circle_distance_meos", - "file": "th3index_internal.h", + "name": "geom_shortestline3d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "a", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "b", - "cType": "const int *", - "canonical": "const int *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "unit", - "cType": "H3Unit", - "canonical": "H3Unit" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_get_resolution", - "file": "th3index_internal.h", + "name": "geom_unary_union", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "prec", + "cType": "double", + "canonical": "double" } ] }, { - "name": "datum_h3_get_base_cell_number", - "file": "th3index_internal.h", + "name": "line_interpolate_point", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "distance_fraction", + "cType": "double", + "canonical": "double" + }, + { + "name": "repeat", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "datum_h3_is_valid_cell", - "file": "th3index_internal.h", + "name": "line_locate_point", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_is_res_class_iii", - "file": "th3index_internal.h", + "name": "line_substring", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "from", + "cType": "double", + "canonical": "double" + }, + { + "name": "to", + "cType": "double", + "canonical": "double" } ] }, { - "name": "datum_h3_is_pentagon", - "file": "th3index_internal.h", + "name": "geog_dwithin", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "g1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "g2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "datum_h3_cell_to_parent", - "file": "th3index_internal.h", + "name": "geog_intersects", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "res_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "datum_h3_cell_to_parent_next", - "file": "th3index_internal.h", + "name": "geom_contains", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_center_child", - "file": "th3index_internal.h", + "name": "geom_covers", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "res_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_center_child_next", - "file": "th3index_internal.h", + "name": "geom_disjoint2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_child_pos", - "file": "th3index_internal.h", + "name": "geom_dwithin", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "parent_res_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" } ] }, { - "name": "datum_h3_child_pos_to_cell", - "file": "th3index_internal.h", + "name": "geom_dwithin2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pos_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "parent_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "child_res_d", - "cType": "int", - "canonical": "int" + "name": "tolerance", + "cType": "double", + "canonical": "double" } ] }, { - "name": "datum_h3_are_neighbor_cells", - "file": "th3index_internal.h", + "name": "geom_dwithin3d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "origin_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "dest_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" } ] }, { - "name": "datum_h3_cells_to_directed_edge", - "file": "th3index_internal.h", + "name": "geom_intersects", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" - }, + "c": "bool", + "canonical": "bool" + }, "params": [ { - "name": "origin_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "dest_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_is_valid_directed_edge", - "file": "th3index_internal.h", + "name": "geom_intersects2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_get_directed_edge_origin", - "file": "th3index_internal.h", + "name": "geom_intersects3d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_get_directed_edge_destination", - "file": "th3index_internal.h", + "name": "geom_relate_pattern", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "patt", + "cType": "char *", + "canonical": "char *" } ] }, { - "name": "datum_h3_directed_edge_to_boundary", - "file": "th3index_internal.h", + "name": "geom_touches", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_vertex", - "file": "th3index_internal.h", + "name": "geo_stboxes", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "vnum_d", - "cType": "int", - "canonical": "int" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "datum_h3_vertex_to_latlng", - "file": "th3index_internal.h", + "name": "geo_split_each_n_stboxes", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "d", + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "elem_count", "cType": "int", "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "datum_h3_is_valid_vertex", - "file": "th3index_internal.h", + "name": "geo_split_n_stboxes", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "d", + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "box_count", "cType": "int", "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "datum_h3_grid_distance", - "file": "th3index_internal.h", + "name": "geog_distance", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "origin_d", - "cType": "int", - "canonical": "int" + "name": "g1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "dest_d", - "cType": "int", - "canonical": "int" + "name": "g2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_local_ij", - "file": "th3index_internal.h", + "name": "geom_distance2d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "origin_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cell_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_local_ij_to_cell", - "file": "th3index_internal.h", + "name": "geom_distance3d", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "origin_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "coord_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_latlng_to_cell", - "file": "th3index_internal.h", + "name": "geo_equals", + "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "point_d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "res_d", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_latlng", - "file": "th3index_internal.h", + "name": "geo_same", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "datum_h3_cell_to_boundary", - "file": "th3index_internal.h", + "name": "geogset_in", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "d", - "cType": "int", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "datum_h3_cell_area", - "file": "th3index_internal.h", + "name": "geomset_in", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "cell_d", - "cType": "int", - "canonical": "int" - }, - { - "name": "unit_d", - "cType": "int", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "datum_h3_edge_length", - "file": "th3index_internal.h", + "name": "spatialset_out", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "edge_d", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "unit_d", + "name": "maxdd", "cType": "int", "canonical": "int" } ] }, { - "name": "datum_h3_great_circle_distance", - "file": "th3index_internal.h", + "name": "spatialset_as_text", + "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "a_d", - "cType": "int", - "canonical": "int" - }, - { - "name": "b_d", - "cType": "int", - "canonical": "int" + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "unit_d", + "name": "maxdd", "cType": "int", "canonical": "int" } ] }, { - "name": "geo_as_ewkb", + "name": "spatialset_as_ewkt", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "endian", - "cType": "const char *", - "canonical": "const char *" + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "size", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_as_ewkt", + "name": "geoset_make", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "values", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, { - "name": "precision", + "name": "count", "cType": "int", "canonical": "int" } ] }, { - "name": "geo_as_geojson", + "name": "geo_to_set", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "option", - "cType": "int", - "canonical": "int" - }, - { - "name": "precision", - "cType": "int", - "canonical": "int" - }, - { - "name": "srs", - "cType": "const char *", - "canonical": "const char *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "geo_as_hexewkb", + "name": "geoset_end_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "endian", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geo_as_text", + "name": "geoset_start_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "precision", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geo_from_ewkb", + "name": "geoset_value_n", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "wkb_size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "n", + "cType": "int", + "canonical": "int" }, { - "name": "srid", - "cType": "int32", - "canonical": "int" + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" } ] }, { - "name": "geo_from_geojson", + "name": "geoset_values", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, "params": [ { - "name": "geojson", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "geo_from_text", + "name": "contained_geo_set", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "wkt", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geo_out", + "name": "contains_set_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" } ] }, { - "name": "geog_from_binary", + "name": "geo_union_transfn", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "wkb_bytea", - "cType": "const char *", - "canonical": "const char *" + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "geog_from_hexewkb", + "name": "intersection_geo_set", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "wkt", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geog_in", + "name": "intersection_set_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "typmod", - "cType": "int32", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "geom_from_hexewkb", + "name": "minus_geo_set", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ - { - "name": "wkt", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "geom_in", - "file": "meos_geo.h", - "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "typmod", - "cType": "int32", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "box3d_make", + "name": "minus_set_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "xmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "xmax", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymin", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymax", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmax", - "cType": "double", - "canonical": "double" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "box3d_out", + "name": "union_geo_set", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "gbox_make", + "name": "union_set_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "hasz", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "xmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "xmax", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymin", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymax", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmin", - "cType": "double", - "canonical": "double" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "zmax", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "gbox_out", + "name": "spatialset_set_srid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "maxdd", - "cType": "int", + "name": "srid", + "cType": "int32_t", "canonical": "int" } ] }, { - "name": "geo_copy", + "name": "spatialset_srid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int32_t", + "canonical": "int" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geogpoint_make2d", + "name": "spatialset_transform", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, { "name": "srid", "cType": "int32_t", "canonical": "int" - }, - { - "name": "x", - "cType": "double", - "canonical": "double" - }, - { - "name": "y", - "cType": "double", - "canonical": "double" } ] }, { - "name": "geogpoint_make3dz", + "name": "spatialset_transform_pipeline", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "x", - "cType": "double", - "canonical": "double" + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "y", - "cType": "double", - "canonical": "double" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "z", - "cType": "double", - "canonical": "double" + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geompoint_make2d", + "name": "stbox_as_hexwkb", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "x", - "cType": "double", - "canonical": "double" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" }, { - "name": "y", - "cType": "double", - "canonical": "double" + "name": "size", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "geompoint_make3dz", + "name": "stbox_as_wkb", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "x", - "cType": "double", - "canonical": "double" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "y", - "cType": "double", - "canonical": "double" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" }, { - "name": "z", - "cType": "double", - "canonical": "double" + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "geom_to_geog", + "name": "stbox_from_hexwkb", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "geog_to_geom", + "name": "stbox_from_wkb", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "geog", - "cType": "const int *", - "canonical": "const int *" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "size_t" } ] }, { - "name": "geo_is_empty", + "name": "stbox_in", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "geo_is_unitary", + "name": "stbox_out", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_typename", + "name": "geo_timestamptz_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "const char *", - "canonical": "const char *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "type", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "geog_area", + "name": "geo_tstzspan_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "geog_centroid", + "name": "stbox_copy", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geog_length", + "name": "stbox_make", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" + "name": "hasx", + "cType": "bool", + "canonical": "bool" }, { - "name": "use_spheroid", + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", "cType": "bool", "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "geog_perimeter", + "name": "geo_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "g", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "geom_azimuth", + "name": "spatialset_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geom_length", + "name": "stbox_to_box3d", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "BOX3D *", + "canonical": "BOX3D *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_perimeter", + "name": "stbox_to_gbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "GBOX *", + "canonical": "GBOX *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "line_numpoints", + "name": "stbox_to_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "line_point_n", + "name": "stbox_to_tstzspan", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_reverse", + "name": "timestamptz_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "geo_round", + "name": "tstzset_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "geo_set_srid", + "name": "tstzspan_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "geo_srid", + "name": "tstzspanset_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "geo_transform", + "name": "stbox_area", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "srid_to", - "cType": "int32_t", - "canonical": "int" + "name": "spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geo_transform_pipeline", + "name": "stbox_hash", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "pipeline", - "cType": "char *", - "canonical": "char *" - }, - { - "name": "srid_to", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_collect_garray", + "name": "stbox_hash_extended", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", + "name": "seed", "cType": "int", "canonical": "int" } ] }, { - "name": "geo_makeline_garray", + "name": "stbox_hast", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_num_points", + "name": "stbox_hasx", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_num_geos", + "name": "stbox_hasz", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_geo_n", + "name": "stbox_isgeodetic", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_pointarr", + "name": "stbox_perimeter", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "spheroid", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geo_points", + "name": "stbox_tmax", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "geom_array_union", + "name": "stbox_tmax_inc", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "result", + "cType": "bool *", + "canonical": "bool *" } ] }, { - "name": "geom_boundary", + "name": "stbox_tmin", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "geom_buffer", + "name": "stbox_tmin_inc", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "size", - "cType": "double", - "canonical": "double" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "params", - "cType": "const char *", - "canonical": "const char *" + "name": "result", + "cType": "bool *", + "canonical": "bool *" } ] }, { - "name": "geom_centroid", + "name": "stbox_volume", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_convex_hull", + "name": "stbox_xmax", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "geom_difference2d", + "name": "stbox_xmin", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "geom_intersection2d", + "name": "stbox_ymax", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "geom_intersection2d_coll", + "name": "stbox_ymin", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "geom_min_bounding_radius", + "name": "stbox_zmax", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "radius", + "name": "result", "cType": "double *", "canonical": "double *" } ] }, { - "name": "geom_shortestline2d", + "name": "stbox_zmin", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "s2", - "cType": "const int *", - "canonical": "const int *" + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "geom_shortestline3d", + "name": "stbox_expand_space", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "s2", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "double", + "canonical": "double" } ] }, { - "name": "geom_unary_union", + "name": "stbox_expand_time", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "prec", - "cType": "double", - "canonical": "double" + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "line_interpolate_point", + "name": "stbox_get_space", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "distance_fraction", - "cType": "double", - "canonical": "double" - }, - { - "name": "repeat", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "line_locate_point", + "name": "stbox_quad_split", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "line_substring", + "name": "stbox_round", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "from", - "cType": "double", - "canonical": "double" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "to", - "cType": "double", - "canonical": "double" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geog_dwithin", + "name": "stbox_shift_scale_time", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "g1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "g2", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "geog_intersects", + "name": "stboxarr_round", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "boxarr", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "use_spheroid", - "cType": "bool", - "canonical": "bool" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geom_contains", + "name": "stbox_set_srid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "geom_covers", + "name": "stbox_srid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int32_t", + "canonical": "int" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_disjoint2d", + "name": "stbox_transform", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "geom_dwithin2d", + "name": "stbox_transform_pipeline", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geom_dwithin3d", + "name": "adjacent_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_intersects2d", + "name": "contained_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_intersects3d", + "name": "contains_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_relate_pattern", + "name": "overlaps_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "patt", - "cType": "char *", - "canonical": "char *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_touches", + "name": "same_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_stboxes", + "name": "above_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_split_each_n_stboxes", + "name": "after_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "elem_count", - "cType": "int", - "canonical": "int" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_split_n_stboxes", + "name": "back_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "box_count", - "cType": "int", - "canonical": "int" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geog_distance", + "name": "before_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "g1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "g2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_distance2d", + "name": "below_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geom_distance3d", + "name": "front_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_equals", + "name": "left_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_same", + "name": "overabove_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geogset_in", + "name": "overafter_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geomset_in", + "name": "overback_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "spatialset_as_text", + "name": "overbefore_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "spatialset_as_ewkt", + "name": "overbelow_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geoset_make", + "name": "overfront_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "values", - "cType": "int **", - "canonical": "int **" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_to_set", + "name": "overleft_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geoset_end_value", + "name": "overright_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geoset_start_value", + "name": "right_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geoset_value_n", + "name": "union_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "result", - "cType": "int **", - "canonical": "int **" + "name": "strict", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geoset_values", + "name": "intersection_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contained_geo_set", + "name": "stbox_cmp", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contains_set_geo", + "name": "stbox_eq", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geo_union_transfn", + "name": "stbox_ge", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "state", - "cType": "Set *", - "canonical": "Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "intersection_geo_set", + "name": "stbox_gt", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "intersection_set_geo", + "name": "stbox_le", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "minus_geo_set", + "name": "stbox_lt", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "minus_set_geo", + "name": "stbox_ne", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "union_geo_set", + "name": "tspatial_out", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "union_set_geo", + "name": "tgeogpoint_from_mfjson", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "spatialset_set_srid", + "name": "tgeogpoint_in", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeography_from_mfjson", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "spatialset_srid", + "name": "tgeography_in", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "spatialset_transform", + "name": "tgeometry_from_mfjson", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometry_in", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "spatialset_transform_pipeline", + "name": "tgeompoint_from_mfjson", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompoint_in", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ { - "name": "pipelinestr", + "name": "str", "cType": "const char *", "canonical": "const char *" - }, + } + ] + }, + { + "name": "tspatial_as_ewkt", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_as_hexwkb", + "name": "tspatial_as_text", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "size", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "stbox_as_wkb", + "name": "tgeo_from_base_temp", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tgeoinst_make", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "stbox_from_hexwkb", + "name": "tgeoseq_from_base_tstzset", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "stbox_from_wkb", + "name": "tgeoseq_from_base_tstzspan", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "stbox_in", + "name": "tgeoseqset_from_base_tstzspanset", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "stbox_out", + "name": "tpoint_from_base_temp", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "geo_timestamptz_to_stbox", + "name": "tpointinst_make", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { - "name": "geo_tstzspan_to_stbox", + "name": "tpointseq_from_base_tstzset", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "stbox_copy", + "name": "tpointseq_from_base_tstzspan", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "stbox_make", + "name": "tpointseq_make_coords", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "hasx", - "cType": "bool", - "canonical": "bool" + "name": "xcoords", + "cType": "const double *", + "canonical": "const double *" }, { - "name": "hasz", - "cType": "bool", - "canonical": "bool" + "name": "ycoords", + "cType": "const double *", + "canonical": "const double *" }, { - "name": "geodetic", - "cType": "bool", - "canonical": "bool" + "name": "zcoords", + "cType": "const double *", + "canonical": "const double *" }, { - "name": "srid", - "cType": "int32", - "canonical": "int" + "name": "times", + "cType": "const TimestampTz *", + "canonical": "const TimestampTz *" }, { - "name": "xmin", - "cType": "double", - "canonical": "double" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "xmax", - "cType": "double", - "canonical": "double" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "ymin", - "cType": "double", - "canonical": "double" + "name": "geodetic", + "cType": "bool", + "canonical": "bool" }, { - "name": "ymax", - "cType": "double", - "canonical": "double" + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" }, { - "name": "zmin", - "cType": "double", - "canonical": "double" + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" }, { - "name": "zmax", - "cType": "double", - "canonical": "double" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geo_to_stbox", + "name": "tpointseqset_from_base_tstzspanset", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "spatialset_to_stbox", + "name": "box3d_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "STBox *", "canonical": "struct STBox *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box", + "cType": "const BOX3D *", + "canonical": "const BOX3D *" } ] }, { - "name": "stbox_to_box3d", + "name": "gbox_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "cType": "const GBOX *", + "canonical": "const GBOX *" } ] }, { - "name": "stbox_to_gbox", + "name": "geomeas_to_tpoint", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "stbox_to_geo", + "name": "tgeogpoint_to_tgeography", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_to_tstzspan", + "name": "tgeography_to_tgeogpoint", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "timestamptz_to_stbox", + "name": "tgeography_to_tgeometry", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tstzset_to_stbox", + "name": "tgeometry_to_tgeography", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tstzspan_to_stbox", + "name": "tgeometry_to_tgeompoint", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tstzspanset_to_stbox", + "name": "tgeompoint_to_tgeometry", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_area", + "name": "tpoint_as_mvtgeom", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "MvtGeom", + "canonical": "struct MvtGeom" }, "params": [ { - "name": "box", + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "bounds", "cType": "const STBox *", "canonical": "const struct STBox *" }, { - "name": "spheroid", + "name": "extent", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "buffer", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "clip_geom", "cType": "bool", "canonical": "bool" } ] }, { - "name": "stbox_hash", + "name": "tpoint_tfloat_to_geomeas", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "tpoint", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "measure", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "segmentize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" } ] }, { - "name": "stbox_hash_extended", + "name": "tspatial_to_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_hast", + "name": "bearing_point_point", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "stbox_hasx", + "name": "bearing_tpoint_point", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_hasz", + "name": "bearing_tpoint_tpoint", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_isgeodetic", + "name": "tgeo_centroid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_perimeter", + "name": "tgeo_convex_hull", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tgeo_end_value", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ { - "name": "spheroid", - "cType": "bool", - "canonical": "bool" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_tmax", + "name": "tgeo_start_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tgeo_traversed_area", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "result", - "cType": "TimestampTz *", - "canonical": "long *" + "name": "unary_union", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_tmax_inc", + "name": "tgeo_value_at_timestamptz", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" }, { "name": "result", - "cType": "bool *", - "canonical": "_Bool *" + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" } ] }, { - "name": "stbox_tmin", + "name": "tgeo_value_n", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" }, { "name": "result", - "cType": "TimestampTz *", - "canonical": "long *" + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" } ] }, { - "name": "stbox_tmin_inc", + "name": "tgeo_values", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "result", - "cType": "bool *", - "canonical": "_Bool *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "stbox_volume", + "name": "tpoint_angular_difference", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_xmax", + "name": "tpoint_azimuth", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_xmin", + "name": "tpoint_cumulative_length", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_ymax", + "name": "tpoint_direction", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "result", @@ -30993,257 +32704,244 @@ ] }, { - "name": "stbox_ymin", + "name": "tpoint_get_x", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_zmax", + "name": "tpoint_get_y", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_zmin", + "name": "tpoint_get_z", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_expand_space", + "name": "tpoint_is_simple", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "d", - "cType": "double", - "canonical": "double" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_expand_time", + "name": "tpoint_length", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_get_space", + "name": "tpoint_speed", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } - ] + ], + "ownership": "caller", + "nullable": true, + "doc": "Computes the instantaneous speed of a temporal point.", + "meos": { + "temporalDim": "sequence", + "spatialDim": null, + "interpolation": true, + "subtype": "TPoint" + } }, { - "name": "stbox_quad_split", + "name": "tpoint_trajectory", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "unary_union", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "stbox_round", + "name": "tpoint_twcentroid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_shift_scale_time", + "name": "tgeo_affine", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "name": "a", + "cType": "const AFFINE *", + "canonical": "const AFFINE *" } ] }, { - "name": "stboxarr_round", + "name": "tgeo_scale", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "boxarr", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "scale", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "stbox_set_srid", + "name": "tpoint_make_simple", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal **", + "canonical": "struct Temporal **" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "stbox_srid", + "name": "tspatial_srid", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int32_t", "canonical": "int" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_transform", + "name": "tspatial_set_srid", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "srid", @@ -31253,17 +32951,39 @@ ] }, { - "name": "stbox_transform_pipeline", + "name": "tspatial_transform", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatial_transform_pipeline", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "pipelinestr", @@ -31283,1488 +33003,1632 @@ ] }, { - "name": "adjacent_stbox_stbox", + "name": "tgeo_at_geom", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "contained_stbox_stbox", + "name": "tgeo_at_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", + "name": "box", "cType": "const STBox *", "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "contains_stbox_stbox", + "name": "tgeo_at_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" } ] }, { - "name": "overlaps_stbox_stbox", + "name": "tgeo_minus_geom", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "same_stbox_stbox", + "name": "tgeo_minus_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", + "name": "box", "cType": "const STBox *", "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "above_stbox_stbox", + "name": "tgeo_minus_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" } ] }, { - "name": "after_stbox_stbox", + "name": "tpoint_at_elevation", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "back_stbox_stbox", + "name": "tpoint_at_geom", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "before_stbox_stbox", + "name": "tpoint_at_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" } ] }, { - "name": "below_stbox_stbox", + "name": "tpoint_minus_elevation", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "front_stbox_stbox", + "name": "tpoint_minus_geom", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "left_stbox_stbox", + "name": "tpoint_minus_value", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" } ] }, { - "name": "overabove_stbox_stbox", + "name": "always_eq_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "overafter_stbox_stbox", + "name": "always_eq_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "overback_stbox_stbox", + "name": "always_eq_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "overbefore_stbox_stbox", + "name": "always_ne_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "overbelow_stbox_stbox", + "name": "always_ne_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "overfront_stbox_stbox", + "name": "always_ne_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "overleft_stbox_stbox", + "name": "ever_eq_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "overright_stbox_stbox", + "name": "ever_eq_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "right_stbox_stbox", + "name": "ever_eq_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "union_stbox_stbox", + "name": "ever_ne_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "strict", - "cType": "bool", - "canonical": "bool" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "intersection_stbox_stbox", + "name": "ever_ne_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "stbox_cmp", + "name": "ever_ne_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_eq", + "name": "teq_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_ge", + "name": "teq_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "stbox_gt", + "name": "tne_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_le", + "name": "tne_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "stbox_lt", + "name": "tgeo_stboxes", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "stbox_ne", + "name": "tgeo_space_boxes", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" - } - ] - }, - { - "name": "tgeogpoint_from_mfjson", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "xsize", + "cType": "double", + "canonical": "double" + }, { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tgeogpoint_in", + "name": "tgeo_space_time_boxes", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tgeography_from_mfjson", + "name": "tgeo_split_each_n_stboxes", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "mfjson", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tgeography_in", + "name": "tgeo_split_n_stboxes", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tgeometry_from_mfjson", + "name": "adjacent_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeometry_in", + "name": "adjacent_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeompoint_from_mfjson", + "name": "adjacent_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeompoint_in", + "name": "contained_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatial_as_ewkt", + "name": "contained_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tspatial_as_text", + "name": "contained_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatial_out", + "name": "contains_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_from_base_temp", + "name": "contains_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeoinst_make", + "name": "contains_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeoseq_from_base_tstzset", + "name": "overlaps_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeoseq_from_base_tstzspan", + "name": "overlaps_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeoseqset_from_base_tstzspanset", + "name": "overlaps_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_from_base_temp", + "name": "same_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tpointinst_make", + "name": "same_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpointseq_from_base_tstzset", + "name": "same_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpointseq_from_base_tstzspan", + "name": "above_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpointseq_make_coords", + "name": "above_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "xcoords", - "cType": "const double *", - "canonical": "const double *" - }, - { - "name": "ycoords", - "cType": "const double *", - "canonical": "const double *" - }, - { - "name": "zcoords", - "cType": "const double *", - "canonical": "const double *" - }, - { - "name": "times", - "cType": "const TimestampTz *", - "canonical": "const long *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "srid", - "cType": "int32", - "canonical": "int" - }, - { - "name": "geodetic", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpointseqset_from_base_tstzspanset", + "name": "above_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "box3d_to_stbox", + "name": "after_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "box", - "cType": "const int *", - "canonical": "const int *" + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "gbox_to_stbox", + "name": "after_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "box", - "cType": "const int *", - "canonical": "const int *" + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "geomeas_to_tpoint", + "name": "after_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeogpoint_to_tgeography", + "name": "back_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeography_to_tgeogpoint", + "name": "back_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeography_to_tgeometry", + "name": "back_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeometry_to_tgeography", + "name": "before_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeometry_to_tgeompoint", + "name": "before_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeompoint_to_tgeometry", + "name": "before_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_as_mvtgeom", + "name": "below_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "bounds", + "name": "box", "cType": "const STBox *", "canonical": "const struct STBox *" }, { - "name": "extent", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "buffer", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "clip_geom", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "gsarr", - "cType": "int **", - "canonical": "int **" - }, - { - "name": "timesarr", - "cType": "int64 **", - "canonical": "long **" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_tfloat_to_geomeas", + "name": "below_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "tpoint", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "measure", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "segmentize", - "cType": "bool", - "canonical": "bool" + "canonical": "const struct Temporal *" }, { - "name": "result", - "cType": "int **", - "canonical": "int **" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tspatial_to_stbox", + "name": "below_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "bearing_point_point", + "name": "front_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs1", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "gs2", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "bearing_tpoint_point", + "name": "front_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "canonical": "const struct Temporal *" }, { - "name": "invert", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "bearing_tpoint_tpoint", + "name": "front_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_centroid", + "name": "left_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_convex_hull", + "name": "left_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_end_value", + "name": "left_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_start_value", + "name": "overabove_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_traversed_area", + "name": "overabove_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "unary_union", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_value_at_timestamptz", + "name": "overabove_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "overafter_stbox_tspatial", + "file": "meos_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ { - "name": "strict", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "value", - "cType": "int **", - "canonical": "int **" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_value_n", + "name": "overafter_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -32773,153 +34637,187 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "canonical": "const struct Temporal *" }, { - "name": "result", - "cType": "int **", - "canonical": "int **" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeo_values", + "name": "overafter_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_angular_difference", + "name": "overback_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_azimuth", + "name": "overback_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_cumulative_length", + "name": "overback_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_direction", + "name": "overbefore_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "result", - "cType": "double *", - "canonical": "double *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_get_x", + "name": "overbefore_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_get_y", + "name": "overbefore_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_get_z", + "name": "overbelow_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_is_simple", + "name": "overbelow_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -32928,507 +34826,512 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_length", + "name": "overbelow_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_speed", + "name": "overfront_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } - ], - "ownership": "caller", - "nullable": true, - "doc": "Computes the instantaneous speed of a temporal point.", - "meos": { - "temporalDim": "sequence", - "spatialDim": null, - "interpolation": true, - "subtype": "TPoint" - } + ] }, { - "name": "tpoint_trajectory", + "name": "overfront_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "unary_union", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_twcentroid", + "name": "overfront_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_affine", + "name": "overleft_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "a", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_scale", + "name": "overleft_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "scale", - "cType": "const int *", - "canonical": "const int *" + "canonical": "const struct Temporal *" }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpoint_make_simple", + "name": "overleft_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal **", - "canonical": "Temporal **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatial_srid", + "name": "overright_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatial_set_srid", + "name": "overright_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tspatial_transform", + "name": "overright_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatial_transform_pipeline", + "name": "right_stbox_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "pipelinestr", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, - { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "tgeo_at_geom", - "file": "meos_geo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_at_stbox", + "name": "right_tspatial_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", "cType": "const STBox *", "canonical": "const struct STBox *" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "tgeo_at_value", + "name": "right_tspatial_tspatial", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_minus_geom", + "name": "acontains_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_minus_stbox", + "name": "acontains_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "canonical": "const struct Temporal *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tgeo_minus_value", + "name": "acontains_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_at_elevation", + "name": "acovers_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_at_geom", + "name": "acovers_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tpoint_at_value", + "name": "acovers_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_minus_elevation", + "name": "adisjoint_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tpoint_minus_geom", + "name": "adisjoint_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpoint_minus_value", + "name": "adwithin_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "gs", - "cType": "int *", - "canonical": "int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_eq_geo_tgeo", + "name": "adwithin_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "temp", + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_eq_tgeo_geo", + "name": "aintersects_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33437,18 +35340,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "always_eq_tgeo_tgeo", + "name": "aintersects_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33457,78 +35361,82 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "always_ne_geo_tgeo", + "name": "atouches_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "always_ne_tgeo_geo", + "name": "atouches_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_ne_tgeo_tgeo", + "name": "atouches_tpoint_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ever_eq_geo_tgeo", + "name": "econtains_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33536,19 +35444,20 @@ "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_eq_tgeo_geo", + "name": "econtains_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33557,18 +35466,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ever_eq_tgeo_tgeo", + "name": "econtains_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33577,18 +35487,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ne_geo_tgeo", + "name": "ecovers_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33596,19 +35507,20 @@ "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ne_tgeo_geo", + "name": "ecovers_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33617,18 +35529,19 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ever_ne_tgeo_tgeo", + "name": "ecovers_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -33637,941 +35550,1123 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "teq_geo_tgeo", + "name": "edisjoint_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "teq_tgeo_geo", + "name": "edisjoint_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tne_geo_tgeo", + "name": "edwithin_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tne_tgeo_geo", + "name": "edwithin_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tgeo_stboxes", + "name": "eintersects_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tgeo_space_boxes", + "name": "eintersects_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_space_time_boxes", + "name": "etouches_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" + "canonical": "const struct Temporal *" }, { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tgeo_split_each_n_stboxes", + "name": "etouches_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "elem_count", - "cType": "int", - "canonical": "int" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_split_n_stboxes", + "name": "etouches_tpoint_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box_count", - "cType": "int", - "canonical": "int" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "adjacent_stbox_tspatial", + "name": "tcontains_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "adjacent_tspatial_stbox", + "name": "tcontains_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "adjacent_tspatial_tspatial", + "name": "tcontains_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "contained_stbox_tspatial", + "name": "tcovers_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "contained_tspatial_stbox", + "name": "tcovers_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "contained_tspatial_tspatial", + "name": "tcovers_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "contains_stbox_tspatial", + "name": "tdisjoint_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "contains_tspatial_stbox", + "name": "tdisjoint_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "contains_tspatial_tspatial", + "name": "tdisjoint_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "overlaps_stbox_tspatial", + "name": "tdwithin_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "overlaps_tspatial_stbox", + "name": "tdwithin_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "overlaps_tspatial_tspatial", + "name": "tdwithin_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "same_stbox_tspatial", + "name": "tintersects_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "same_tspatial_stbox", + "name": "tintersects_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "same_tspatial_tspatial", + "name": "tintersects_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "above_stbox_tspatial", + "name": "ttouches_geo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "above_tspatial_stbox", + "name": "ttouches_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "above_tspatial_tspatial", + "name": "ttouches_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "after_stbox_tspatial", + "name": "edwithin_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "after_tspatial_stbox", + "name": "adwithin_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "after_tspatial_tspatial", + "name": "eintersects_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "back_stbox_tspatial", + "name": "aintersects_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "back_tspatial_stbox", + "name": "etouches_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "back_tspatial_tspatial", + "name": "atouches_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "before_stbox_tspatial", + "name": "edisjoint_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "before_tspatial_stbox", + "name": "adisjoint_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "before_tspatial_tspatial", + "name": "tdwithin_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "periods", + "cType": "SpanSet ***", + "canonical": "struct SpanSet ***" } ] }, { - "name": "below_stbox_tspatial", + "name": "tintersects_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "periods", + "cType": "SpanSet ***", + "canonical": "struct SpanSet ***" } ] }, { - "name": "below_tspatial_stbox", + "name": "ttouches_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "periods", + "cType": "SpanSet ***", + "canonical": "struct SpanSet ***" } ] }, { - "name": "below_tspatial_tspatial", + "name": "tdisjoint_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "periods", + "cType": "SpanSet ***", + "canonical": "struct SpanSet ***" } ] }, { - "name": "front_stbox_tspatial", + "name": "tdistance_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "front_tspatial_stbox", + "name": "tdistance_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - } - ] - }, - { - "name": "front_tspatial_tspatial", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "left_stbox_tspatial", + "name": "nad_stbox_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { @@ -34580,84 +36675,67 @@ "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "left_tspatial_stbox", + "name": "nad_stbox_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "box", + "name": "box2", "cType": "const STBox *", "canonical": "const struct STBox *" } ] }, { - "name": "left_tspatial_tspatial", + "name": "nad_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "overabove_stbox_tspatial", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "canonical": "const struct Temporal *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "overabove_tspatial_stbox", + "name": "nad_tgeo_stbox", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -34667,2247 +36745,2308 @@ ] }, { - "name": "overabove_tspatial_tspatial", + "name": "nad_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "overafter_stbox_tspatial", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "overafter_tspatial_stbox", + "name": "nai_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "overafter_tspatial_tspatial", + "name": "nai_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "overback_stbox_tspatial", + "name": "shortestline_tgeo_geo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "overback_tspatial_stbox", + "name": "shortestline_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "overback_tspatial_tspatial", + "name": "mindistance_tgeo_tgeo", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "threshold", + "cType": "double", + "canonical": "double" } ] }, { - "name": "overbefore_stbox_tspatial", + "name": "mindistance_tgeoarr_tgeoarr", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "arr1", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "arr2", + "cType": "const Temporal **", + "canonical": "const struct Temporal **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" } ] }, { - "name": "overbefore_tspatial_stbox", + "name": "tpoint_tcentroid_finalfn", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" } ] }, { - "name": "overbefore_tspatial_tspatial", + "name": "tpoint_tcentroid_transfn", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SkipList *", + "canonical": "struct SkipList *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "temp", + "cType": "Temporal *", + "canonical": "struct Temporal *" } ] }, { - "name": "overbelow_stbox_tspatial", + "name": "tspatial_extent_transfn", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "cType": "STBox *", + "canonical": "struct STBox *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "overbelow_tspatial_stbox", + "name": "stbox_get_space_tile", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - } - ] - }, - { - "name": "overbelow_tspatial_tspatial", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "xsize", + "cType": "double", + "canonical": "double" + }, { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ysize", + "cType": "double", + "canonical": "double" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "overfront_stbox_tspatial", + "name": "stbox_get_space_time_tile", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "overfront_tspatial_stbox", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "xsize", + "cType": "double", + "canonical": "double" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "overfront_tspatial_tspatial", + "name": "stbox_get_time_tile", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "overleft_stbox_tspatial", + "name": "stbox_space_tiles", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box", + "name": "bounds", "cType": "const STBox *", "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "overleft_tspatial_stbox", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "xsize", + "cType": "double", + "canonical": "double" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ysize", + "cType": "double", + "canonical": "double" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "overleft_tspatial_tspatial", + "name": "stbox_space_time_tiles", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "bounds", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "overright_stbox_tspatial", + "name": "stbox_time_tiles", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "box", + "name": "bounds", "cType": "const STBox *", "canonical": "const struct STBox *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "overright_tspatial_stbox", + "name": "tgeo_space_split", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpaceSplit", + "canonical": "struct SpaceSplit" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "overright_tspatial_tspatial", + "name": "tgeo_space_time_split", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpaceTimeSplit", + "canonical": "struct SpaceTimeSplit" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "right_stbox_tspatial", - "file": "meos_geo.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ + "name": "xsize", + "cType": "double", + "canonical": "double" + }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "ysize", + "cType": "double", + "canonical": "double" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "right_tspatial_stbox", + "name": "geo_cluster_kmeans", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "k", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "right_tspatial_tspatial", + "name": "geo_cluster_dbscan", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "uint32_t *", + "canonical": "unsigned int *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "minpoints", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "acontains_geo_tgeo", + "name": "geo_cluster_intersecting", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "acontains_tgeo_geo", + "name": "geo_cluster_within", "file": "meos_geo.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "acontains_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_as_ewkt", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "adisjoint_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_as_hexwkb", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "adisjoint_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_as_text", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "adwithin_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_as_wkb", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "uint8_t *", + "canonical": "unsigned char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "size_out", + "cType": "size_t *", + "canonical": "size_t *" } ] }, { - "name": "adwithin_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_from_hexwkb", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "aintersects_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_from_wkb", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "size", + "cType": "size_t", + "canonical": "size_t" } ] }, { - "name": "aintersects_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_in", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "atouches_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_out", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "atouches_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_copy", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "atouches_tpoint_geo", - "file": "meos_geo.h", + "name": "cbuffer_make", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "radius", + "cType": "double", + "canonical": "double" } ] }, { - "name": "econtains_geo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_to_geom", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "econtains_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_to_stbox", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "econtains_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbufferarr_to_geom", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cbarr", + "cType": "const Cbuffer **", + "canonical": "const struct Cbuffer **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "ecovers_geo_tgeo", - "file": "meos_geo.h", + "name": "geom_to_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ecovers_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_hash", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "ecovers_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_hash_extended", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seed", + "cType": "int", + "canonical": "int" } ] }, { - "name": "edisjoint_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_point", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "edisjoint_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_radius", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "edwithin_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_round", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "edwithin_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbufferarr_round", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer **", + "canonical": "struct Cbuffer **" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cbarr", + "cType": "const Cbuffer **", + "canonical": "const struct Cbuffer **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "eintersects_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_set_srid", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "Cbuffer *", + "canonical": "struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "eintersects_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_srid", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", + "c": "int32_t", "canonical": "int" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "cbuffer_transform", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" + }, + "params": [ + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "etouches_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_transform_pipeline", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "etouches_tgeo_tgeo", - "file": "meos_geo.h", + "name": "contains_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "etouches_tpoint_geo", - "file": "meos_geo.h", + "name": "covers_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tcontains_geo_tgeo", - "file": "meos_geo.h", + "name": "disjoint_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tcontains_tgeo_geo", - "file": "meos_geo.h", + "name": "dwithin_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tcontains_tgeo_tgeo", - "file": "meos_geo.h", + "name": "intersects_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tcovers_geo_tgeo", - "file": "meos_geo.h", + "name": "touches_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tcovers_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_tstzspan_to_stbox", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tcovers_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_timestamptz_to_stbox", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "tdisjoint_geo_tgeo", - "file": "meos_geo.h", + "name": "distance_cbuffer_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tdisjoint_tgeo_geo", - "file": "meos_geo.h", + "name": "distance_cbuffer_geo", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tdisjoint_tgeo_tgeo", - "file": "meos_geo.h", + "name": "distance_cbuffer_stbox", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tdwithin_geo_tgeo", - "file": "meos_geo.h", + "name": "nad_cbuffer_stbox", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tdwithin_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_cmp", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tdwithin_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_eq", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tintersects_geo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_ge", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tintersects_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_gt", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tintersects_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_le", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "ttouches_geo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_lt", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "ttouches_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_ne", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "ttouches_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbuffer_nsame", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tdistance_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_same", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tdistance_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbufferset_in", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "nad_stbox_geo", - "file": "meos_geo.h", + "name": "cbufferset_out", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "nad_stbox_stbox", - "file": "meos_geo.h", + "name": "cbufferset_make", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "values", + "cType": "Cbuffer **", + "canonical": "struct Cbuffer **" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count", + "cType": "int", + "canonical": "int" } ] }, { - "name": "nad_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_to_set", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "nad_tgeo_stbox", - "file": "meos_geo.h", + "name": "cbufferset_end_value", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "nad_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbufferset_start_value", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "nai_tgeo_geo", - "file": "meos_geo.h", + "name": "cbufferset_value_n", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Cbuffer **", + "canonical": "struct Cbuffer **" } ] }, { - "name": "nai_tgeo_tgeo", - "file": "meos_geo.h", + "name": "cbufferset_values", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Cbuffer **", + "canonical": "struct Cbuffer **" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "shortestline_tgeo_geo", - "file": "meos_geo.h", + "name": "cbuffer_union_transfn", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "shortestline_tgeo_tgeo", - "file": "meos_geo.h", + "name": "contained_cbuffer_set", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "tgeoarr_tgeoarr_mindist", - "file": "meos_geo.h", + "name": "contains_set_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "arr1", - "cType": "const Temporal **", - "canonical": "const Temporal **" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "count1", - "cType": "int", - "canonical": "int" - }, + "name": "cb", + "cType": "Cbuffer *", + "canonical": "struct Cbuffer *" + } + ] + }, + { + "name": "intersection_cbuffer_set", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ { - "name": "arr2", - "cType": "const Temporal **", - "canonical": "const Temporal **" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "count2", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "mindistance_tgeo_tgeo", - "file": "meos_geo.h", + "name": "intersection_set_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "threshold", - "cType": "double", - "canonical": "double" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tpoint_tcentroid_finalfn", - "file": "meos_geo.h", + "name": "minus_cbuffer_set", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "state", - "cType": "SkipList *", - "canonical": "struct SkipList *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "tpoint_tcentroid_transfn", - "file": "meos_geo.h", + "name": "minus_set_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "SkipList *", - "canonical": "struct SkipList *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "state", - "cType": "SkipList *", - "canonical": "struct SkipList *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "temp", - "cType": "Temporal *", - "canonical": "Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tspatial_extent_transfn", - "file": "meos_geo.h", + "name": "union_cbuffer_set", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "stbox_get_space_tile", - "file": "meos_geo.h", + "name": "union_set_cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "point", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + } + ] + }, + { + "name": "tcbuffer_in", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tcbuffer_from_mfjson", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "stbox_get_space_time_tile", - "file": "meos_geo.h", + "name": "tcbufferinst_make", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "point", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { - "name": "stbox_get_time_tile", - "file": "meos_geo.h", + "name": "tcbuffer_make", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "name": "tpoint", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "tfloat", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_space_tiles", - "file": "meos_geo.h", + "name": "tcbuffer_from_base_temp", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "stbox_space_time_tiles", - "file": "meos_geo.h", + "name": "tcbufferseq_from_base_tstzset", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tcbufferseq_from_base_tstzspan", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "stbox_time_tiles", - "file": "meos_geo.h", + "name": "tcbufferseqset_from_base_tstzspanset", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "bounds", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "tgeo_space_split", - "file": "meos_geo.h", + "name": "tcbuffer_end_value", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal **", - "canonical": "Temporal **" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "space_bins", - "cType": "int ***", - "canonical": "int ***" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeo_space_time_split", - "file": "meos_geo.h", + "name": "tcbuffer_points", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal **", - "canonical": "Temporal **" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "xsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "ysize", - "cType": "double", - "canonical": "double" - }, - { - "name": "zsize", - "cType": "double", - "canonical": "double" - }, - { - "name": "duration", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "sorigin", - "cType": "const int *", - "canonical": "const int *" - }, + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcbuffer_radius", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ { - "name": "torigin", - "cType": "TimestampTz", - "canonical": "long" - }, + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcbuffer_traversed_area", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ { - "name": "bitmatrix", - "cType": "bool", - "canonical": "bool" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "border_inc", + "name": "unary_union", "cType": "bool", "canonical": "bool" - }, - { - "name": "space_bins", - "cType": "int ***", - "canonical": "int ***" - }, - { - "name": "time_bins", - "cType": "TimestampTz **", - "canonical": "long **" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" } ] }, { - "name": "geo_cluster_kmeans", - "file": "meos_geo.h", + "name": "tcbuffer_convex_hull", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" - }, - { - "name": "ngeoms", - "cType": "uint32_t", - "canonical": "unsigned int" - }, - { - "name": "k", - "cType": "uint32_t", - "canonical": "unsigned int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "geo_cluster_dbscan", - "file": "meos_geo.h", + "name": "tcbuffer_start_value", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "uint32_t *", - "canonical": "unsigned int *" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" - }, + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcbuffer_value_at_timestamptz", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ { - "name": "ngeoms", - "cType": "uint32_t", - "canonical": "unsigned int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" }, { - "name": "minpoints", - "cType": "int", - "canonical": "int" + "name": "strict", + "cType": "bool", + "canonical": "bool" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "value", + "cType": "Cbuffer **", + "canonical": "struct Cbuffer **" } ] }, { - "name": "geo_cluster_intersecting", - "file": "meos_geo.h", + "name": "tcbuffer_value_n", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "ngeoms", - "cType": "uint32_t", - "canonical": "unsigned int" + "name": "n", + "cType": "int", + "canonical": "int" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "result", + "cType": "Cbuffer **", + "canonical": "struct Cbuffer **" } ] }, { - "name": "geo_cluster_within", - "file": "meos_geo.h", + "name": "tcbuffer_values", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int **", - "canonical": "int **" + "c": "Cbuffer **", + "canonical": "struct Cbuffer **" }, "params": [ { - "name": "geoms", - "cType": "const int **", - "canonical": "const int **" - }, - { - "name": "ngeoms", - "cType": "uint32_t", - "canonical": "unsigned int" - }, - { - "name": "tolerance", - "cType": "double", - "canonical": "double" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "count", @@ -36917,213 +39056,224 @@ ] }, { - "name": "acovers_geo_tgeo", - "file": "meos_geo.h", + "name": "tcbuffer_to_tfloat", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "acovers_tgeo_geo", - "file": "meos_geo.h", + "name": "tcbuffer_to_tgeompoint", + "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_as_ewkt", + "name": "tgeometry_to_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_as_hexwkb", + "name": "tcbuffer_expand", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "size", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "cbuffer_as_text", + "name": "tcbuffer_at_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" } ] }, { - "name": "cbuffer_as_wkb", + "name": "tcbuffer_at_geom", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_from_hexwkb", + "name": "tcbuffer_at_stbox", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "cbuffer_from_wkb", + "name": "tcbuffer_minus_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbuffer_in", + "name": "tcbuffer_minus_geom", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_out", + "name": "tcbuffer_minus_stbox", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "cbuffer_copy", + "name": "tdistance_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", @@ -37132,48 +39282,61 @@ ] }, { - "name": "cbuffer_make", + "name": "tdistance_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "point", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "radius", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_to_geom", + "name": "tdistance_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_to_stbox", + "name": "nad_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "double", + "canonical": "double" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", @@ -37182,191 +39345,227 @@ ] }, { - "name": "cbufferarr_to_geom", + "name": "nad_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "cbarr", - "cType": "const Cbuffer **", - "canonical": "const struct Cbuffer **" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "geom_to_cbuffer", + "name": "nad_tcbuffer_stbox", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "cbuffer_hash", + "name": "nad_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_hash_extended", + "name": "mindistance_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "threshold", + "cType": "double", + "canonical": "double" } ] }, { - "name": "cbuffer_point", + "name": "nai_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "cb", + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbuffer_radius", + "name": "nai_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_round", + "name": "nai_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbufferarr_round", + "name": "shortestline_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer **", - "canonical": "struct Cbuffer **" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cbarr", - "cType": "const Cbuffer **", - "canonical": "const struct Cbuffer **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbuffer_set_srid", + "name": "shortestline_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "void", - "canonical": "void" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cb", - "cType": "Cbuffer *", - "canonical": "struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_srid", + "name": "shortestline_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_transform", + "name": "always_eq_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "int", + "canonical": "int" }, "params": [ { @@ -37375,193 +39574,187 @@ "canonical": "const struct Cbuffer *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_transform_pipeline", + "name": "always_eq_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" - }, - { - "name": "pipelinestr", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "contains_cbuffer_cbuffer", + "name": "always_eq_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "covers_cbuffer_cbuffer", + "name": "always_ne_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb1", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "disjoint_cbuffer_cbuffer", + "name": "always_ne_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "dwithin_cbuffer_cbuffer", + "name": "always_ne_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "intersects_cbuffer_cbuffer", + "name": "ever_eq_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb1", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "touches_cbuffer_cbuffer", + "name": "ever_eq_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbuffer_tstzspan_to_stbox", + "name": "ever_eq_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_timestamptz_to_stbox", + "name": "ever_ne_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { @@ -37570,58 +39763,61 @@ "canonical": "const struct Cbuffer *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "distance_cbuffer_cbuffer", + "name": "ever_ne_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "distance_cbuffer_geo", + "name": "ever_ne_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "distance_cbuffer_stbox", + "name": "teq_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { @@ -37630,275 +39826,299 @@ "canonical": "const struct Cbuffer *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "nad_cbuffer_stbox", + "name": "teq_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" } ] }, { - "name": "cbuffer_cmp", + "name": "tne_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb1", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_eq", + "name": "tne_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbuffer_ge", + "name": "acontains_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_gt", + "name": "acontains_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_le", + "name": "acontains_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbuffer_lt", + "name": "acontains_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_ne", + "name": "acovers_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_nsame", + "name": "acovers_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cb2", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbuffer_same", + "name": "acovers_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb1", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb2", + "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "cbufferset_in", + "name": "acovers_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbufferset_out", + "name": "acovers_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbufferset_make", + "name": "adisjoint_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "values", - "cType": "Cbuffer **", - "canonical": "struct Cbuffer **" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "cbuffer_to_set", + "name": "adisjoint_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", @@ -37907,221 +40127,237 @@ ] }, { - "name": "cbufferset_end_value", + "name": "adisjoint_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "cbufferset_start_value", + "name": "adwithin_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer *", - "canonical": "struct Cbuffer *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "cbufferset_value_n", + "name": "adwithin_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "result", - "cType": "Cbuffer **", - "canonical": "struct Cbuffer **" + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "cbufferset_values", + "name": "adwithin_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Cbuffer **", - "canonical": "struct Cbuffer **" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - } - ] - }, - { - "name": "cbuffer_union_transfn", - "file": "meos_cbuffer.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { - "name": "state", - "cType": "Set *", - "canonical": "Set *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "contained_cbuffer_set", + "name": "aintersects_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "contains_set_cbuffer", + "name": "aintersects_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "cb", - "cType": "Cbuffer *", - "canonical": "struct Cbuffer *" + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "intersection_cbuffer_set", + "name": "aintersects_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "intersection_set_cbuffer", + "name": "atouches_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "minus_cbuffer_set", + "name": "atouches_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" - }, - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" } ] }, { - "name": "minus_set_cbuffer", + "name": "atouches_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "union_cbuffer_set", + "name": "econtains_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { @@ -38130,24 +40366,25 @@ "canonical": "const struct Cbuffer *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "union_set_cbuffer", + "name": "econtains_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "cb", @@ -38157,162 +40394,191 @@ ] }, { - "name": "tcbuffer_in", + "name": "econtains_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tcbuffer_from_mfjson", - "file": "meos_cbuffer.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { - "name": "mfjson", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tcbuffer_make", + "name": "ecovers_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "tpoint", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "tfloat", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tcbuffer_points", + "name": "ecovers_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tcbuffer_radius", + "name": "ecovers_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tcbuffer_trav_area", + "name": "ecovers_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "merge_union", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tcbuffer_to_tfloat", + "name": "ecovers_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tcbuffer_to_tgeompoint", + "name": "edisjoint_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tgeometry_to_tcbuffer", + "name": "edisjoint_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tcbuffer_expand", + "name": "edwithin_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "dist", @@ -38322,82 +40588,91 @@ ] }, { - "name": "tcbuffer_at_cbuffer", + "name": "edwithin_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tcbuffer_at_geom", + "name": "edwithin_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tcbuffer_at_stbox", + "name": "eintersects_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "canonical": "const struct Temporal *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tcbuffer_minus_cbuffer", + "name": "eintersects_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "cb", @@ -38407,62 +40682,60 @@ ] }, { - "name": "tcbuffer_minus_geom", + "name": "eintersects_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tcbuffer_minus_stbox", + "name": "etouches_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "canonical": "const struct Temporal *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tdistance_tcbuffer_cbuffer", + "name": "etouches_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "cb", @@ -38472,197 +40745,207 @@ ] }, { - "name": "tdistance_tcbuffer_geo", + "name": "etouches_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tdistance_tcbuffer_tcbuffer", + "name": "tcontains_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "nad_tcbuffer_cbuffer", + "name": "tcontains_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "nad_tcbuffer_geo", + "name": "tcontains_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "nad_tcbuffer_stbox", + "name": "tcontains_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "nad_tcbuffer_tcbuffer", + "name": "tcontains_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "nai_tcbuffer_cbuffer", + "name": "tcovers_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "nai_tcbuffer_geo", + "name": "tcovers_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "nai_tcbuffer_tcbuffer", + "name": "tcovers_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "shortestline_tcbuffer_cbuffer", + "name": "tcovers_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "cb", @@ -38672,111 +40955,137 @@ ] }, { - "name": "shortestline_tcbuffer_geo", + "name": "tcovers_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "shortestline_tcbuffer_tcbuffer", + "name": "tdwithin_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_eq_cbuffer_tcbuffer", + "name": "tdwithin_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_eq_tcbuffer_cbuffer", + "name": "tdwithin_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_eq_tcbuffer_tcbuffer", + "name": "tdwithin_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "always_ne_cbuffer_tcbuffer", + "name": "tdisjoint_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { @@ -38787,82 +41096,65 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "always_ne_tcbuffer_cbuffer", + "name": "tdisjoint_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "always_ne_tcbuffer_tcbuffer", + "name": "tdisjoint_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "ever_eq_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "canonical": "const struct Temporal *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "ever_eq_tcbuffer_cbuffer", + "name": "tdisjoint_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "cb", @@ -38872,31 +41164,33 @@ ] }, { - "name": "ever_eq_tcbuffer_tcbuffer", + "name": "tdisjoint_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ne_cbuffer_tcbuffer", + "name": "tintersects_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { @@ -38907,136 +41201,143 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ne_tcbuffer_cbuffer", + "name": "tintersects_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "ever_ne_tcbuffer_tcbuffer", + "name": "tintersects_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "teq_cbuffer_tcbuffer", + "name": "tintersects_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" } ] }, { - "name": "teq_tcbuffer_cbuffer", + "name": "tintersects_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tne_cbuffer_tcbuffer", + "name": "ttouches_geo_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tne_tcbuffer_cbuffer", + "name": "ttouches_tcbuffer_geo", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "acontains_cbuffer_tcbuffer", + "name": "ttouches_cbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { @@ -39047,76 +41348,80 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "acontains_geo_tcbuffer", + "name": "ttouches_tcbuffer_cbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "acontains_tcbuffer_cbuffer", + "name": "ttouches_tcbuffer_tcbuffer", "file": "meos_cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "acontains_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "ensure_valid_cbuffer_cbuffer", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "acovers_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "ensure_valid_cbuffer_geo", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -39125,44 +41430,46 @@ "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "acovers_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "ensure_valid_cbuffer_stbox", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "acovers_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "ensure_valid_cbufferset_cbuffer", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { "name": "cb", @@ -39172,3469 +41479,3444 @@ ] }, { - "name": "acovers_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "cbuffer_collinear", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "cbuf3", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" } ] }, { - "name": "adisjoint_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "cbuffersegm_interpolate", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "start", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "end", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ratio", + "cType": "long double", + "canonical": "long double" } ] }, { - "name": "adisjoint_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffersegm_locate", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "long double", + "canonical": "long double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "start", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "cb", + "name": "end", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "value", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "adisjoint_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_parse", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "end", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "adwithin_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "cbuffer_wkt_out", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "maxdd", + "cType": "int", + "canonical": "int" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "extended", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "adwithin_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_point_p", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, { "name": "cb", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" } ] }, { - "name": "adwithin_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_round", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "buffer", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "size", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "aintersects_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "cbuffer_transf_pj", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Cbuffer *", + "canonical": "struct Cbuffer *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "pj", "cType": "const int *", "canonical": "const int *" } ] }, { - "name": "aintersects_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_distance", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "cb", + "name": "cb2", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "aintersects_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_distance", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "atouches_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "cbuffersegm_distance_turnpt", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "start1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "end1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "start2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "end2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "atouches_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_contains", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "cb", + "name": "cb2", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "atouches_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_covers", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "econtains_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_disjoint", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb", + "name": "cb1", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "econtains_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_intersects", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "cb", + "name": "cb2", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" } ] }, { - "name": "econtains_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "cbuffer_dwithin", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" } ] }, { - "name": "ecovers_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "cbuffer_touches", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "cb", + "name": "cb1", "cType": "const Cbuffer *", "canonical": "const struct Cbuffer *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "ecovers_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_contains", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "ecovers_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_covers", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "ecovers_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_disjoint", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "edisjoint_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_intersects", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "edisjoint_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_dwithin", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" + }, + { + "name": "dist", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "edwithin_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "datum_cbuffer_touches", + "file": "cbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "cb1", + "cType": "Datum", + "canonical": "Datum" }, { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "cb2", + "cType": "Datum", + "canonical": "Datum" } ] }, { - "name": "edwithin_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "temptype_subtype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "subtype", + "cType": "tempSubtype", + "canonical": "tempSubtype" } ] }, { - "name": "edwithin_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "temptype_subtype_all", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "subtype", + "cType": "tempSubtype", + "canonical": "tempSubtype" } ] }, { - "name": "eintersects_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "tempsubtype_name", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "const char *", + "canonical": "const char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "subtype", + "cType": "tempSubtype", + "canonical": "tempSubtype" } ] }, { - "name": "eintersects_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "tempsubtype_from_string", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "subtype", + "cType": "int16 *", + "canonical": "short *" } ] }, { - "name": "eintersects_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "meosoper_name", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "const char *", + "canonical": "const char *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "oper", + "cType": "MeosOper", + "canonical": "MeosOper" } ] }, { - "name": "etouches_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "meosoper_from_string", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "MeosOper", + "canonical": "MeosOper" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "name", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "etouches_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "interptype_name", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "const char *", + "canonical": "const char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "etouches_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "interptype_from_string", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "interpType", + "canonical": "interpType" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "interp_str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "tcontains_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "meos_typeof_hexwkb", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "tcontains_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "meostype_name", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "const char *", + "canonical": "const char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcontains_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "temptype_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcontains_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "settype_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcontains_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "spantype_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcovers_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "spantype_spansettype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcovers_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "spansettype_spantype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcovers_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "basetype_spantype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcovers_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "basetype_settype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "MeosType", + "canonical": "MeosType" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tcovers_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "tnumber_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdwithin_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "geo_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdwithin_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "meos_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdwithin_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "alphanum_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdwithin_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "alphanum_temptype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "dist", - "cType": "double", - "canonical": "double" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdisjoint_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "time_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdisjoint_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "set_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdisjoint_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "set_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdisjoint_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "numset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tdisjoint_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "ensure_numset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tintersects_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "timeset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tintersects_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "set_spantype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tintersects_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "ensure_set_spantype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tintersects_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "alphanumset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "settype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tintersects_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "geoset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ttouches_geo_tcbuffer", - "file": "meos_cbuffer.h", + "name": "ensure_geoset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ttouches_tcbuffer_geo", - "file": "meos_cbuffer.h", + "name": "spatialset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ttouches_cbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "ensure_spatialset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ttouches_tcbuffer_cbuffer", - "file": "meos_cbuffer.h", + "name": "span_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cb", - "cType": "const Cbuffer *", - "canonical": "const struct Cbuffer *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ttouches_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "span_canon_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "acovers_tcbuffer_tcbuffer", - "file": "meos_cbuffer.h", + "name": "span_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "h3index_in", - "file": "meos_h3.h", + "name": "type_span_bbox", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "h3index_out", - "file": "meos_h3.h", + "name": "span_tbox_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_in", - "file": "meos_h3.h", + "name": "ensure_span_tbox_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3indexinst_in", - "file": "meos_h3.h", + "name": "numspan_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3indexseq_in", - "file": "meos_h3.h", + "name": "numspan_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3indexseqset_in", - "file": "meos_h3.h", + "name": "ensure_numspan_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_make", - "file": "meos_h3.h", + "name": "timespan_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "value", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3indexinst_make", - "file": "meos_h3.h", + "name": "timespan_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "value", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3indexseq_make", - "file": "meos_h3.h", + "name": "spanset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "values", - "cType": "const H3Index *", - "canonical": "const unsigned long *" - }, - { - "name": "times", - "cType": "const TimestampTz *", - "canonical": "const long *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3indexseqset_make", - "file": "meos_h3.h", + "name": "timespanset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "sequences", - "cType": "const TSequence **", - "canonical": "const struct TSequence **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_start_value", - "file": "meos_h3.h", + "name": "ensure_timespanset_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_end_value", - "file": "meos_h3.h", + "name": "temporal_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "H3Index", - "canonical": "unsigned long" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_value_n", - "file": "meos_h3.h", + "name": "temporal_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" - }, - { - "name": "result", - "cType": "H3Index *", - "canonical": "unsigned long *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_values", - "file": "meos_h3.h", + "name": "temptype_supports_linear", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "H3Index *", - "canonical": "unsigned long *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_value_at_timestamptz", - "file": "meos_h3.h", + "name": "basetype_byvalue", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "strict", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "result", - "cType": "H3Index *", - "canonical": "unsigned long *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tbigint_to_th3index", - "file": "meos_h3.h", + "name": "basetype_varlength", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_to_tbigint", - "file": "meos_h3.h", + "name": "meostype_length", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int16", + "canonical": "short" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_eq_h3index_th3index", - "file": "meos_h3.h", + "name": "talphanum_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_eq_th3index_h3index", - "file": "meos_h3.h", + "name": "talpha_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_ne_h3index_th3index", - "file": "meos_h3.h", + "name": "tnumber_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_ne_th3index_h3index", - "file": "meos_h3.h", + "name": "ensure_tnumber_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "always_eq_h3index_th3index", - "file": "meos_h3.h", + "name": "ensure_tnumber_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "always_eq_th3index_h3index", - "file": "meos_h3.h", + "name": "tnumber_spantype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "always_ne_h3index_th3index", - "file": "meos_h3.h", + "name": "spatial_basetype", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "always_ne_th3index_h3index", - "file": "meos_h3.h", + "name": "tspatial_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_eq_th3index_th3index", - "file": "meos_h3.h", + "name": "ensure_tspatial_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_ne_th3index_th3index", - "file": "meos_h3.h", + "name": "tpoint_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "always_eq_th3index_th3index", - "file": "meos_h3.h", + "name": "ensure_tpoint_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "always_ne_th3index_th3index", - "file": "meos_h3.h", + "name": "tgeo_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "teq_h3index_th3index", - "file": "meos_h3.h", + "name": "ensure_tgeo_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "teq_th3index_h3index", - "file": "meos_h3.h", + "name": "tgeo_type_all", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "teq_th3index_th3index", - "file": "meos_h3.h", + "name": "ensure_tgeo_type_all", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tne_h3index_th3index", - "file": "meos_h3.h", + "name": "tgeometry_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tne_th3index_h3index", - "file": "meos_h3.h", + "name": "ensure_tgeometry_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "cell", - "cType": "H3Index", - "canonical": "unsigned long" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tne_th3index_th3index", - "file": "meos_h3.h", + "name": "tgeodetic_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_get_resolution", - "file": "meos_h3.h", + "name": "ensure_tgeodetic_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_get_base_cell_number", - "file": "meos_h3.h", + "name": "ensure_tnumber_tpoint_type", + "file": "meos_catalog.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_is_valid_cell", - "file": "meos_h3.h", + "name": "gsl_get_generation_rng", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "gsl_rng *", + "canonical": "gsl_rng *" }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] + "params": [] }, { - "name": "th3index_is_res_class_iii", - "file": "meos_h3.h", + "name": "gsl_get_aggregation_rng", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "gsl_rng *", + "canonical": "gsl_rng *" + }, + "params": [] + }, + { + "name": "datum_ceil", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "th3index_is_pentagon", - "file": "meos_h3.h", + "name": "datum_degrees", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "normalize", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "th3index_cell_to_parent", - "file": "meos_h3.h", + "name": "datum_float_round", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "resolution", - "cType": "int32", - "canonical": "int" + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "th3index_cell_to_parent_next", - "file": "meos_h3.h", + "name": "datum_floor", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "th3index_cell_to_center_child", - "file": "meos_h3.h", + "name": "datum_hash", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "resolution", - "cType": "int32", - "canonical": "int" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_cell_to_center_child_next", - "file": "meos_h3.h", + "name": "datum_hash_extended", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" } ] }, { - "name": "th3index_cell_to_child_pos", - "file": "meos_h3.h", + "name": "datum_radians", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "parent_res", - "cType": "int32", - "canonical": "int" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "th3index_child_pos_to_cell", - "file": "meos_h3.h", + "name": "floatspan_round_set", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "child_pos", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "parent", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "maxdd", + "cType": "int", + "canonical": "int" }, { - "name": "child_res", - "cType": "int32", - "canonical": "int" + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "tgeogpoint_to_th3index", - "file": "meos_h3.h", + "name": "set_in", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "resolution", - "cType": "int32", - "canonical": "int" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tgeompoint_to_th3index", - "file": "meos_h3.h", + "name": "set_out", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "resolution", - "cType": "int32", + "name": "maxdd", + "cType": "int", "canonical": "int" } ] }, { - "name": "th3index_to_tgeogpoint", - "file": "meos_h3.h", + "name": "span_in", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_to_tgeompoint", - "file": "meos_h3.h", + "name": "span_out", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "th3index_cell_to_boundary", - "file": "meos_h3.h", + "name": "spanset_in", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "geo_to_h3index_set", - "file": "meos_h3.h", + "name": "spanset_out", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "resolution", - "cType": "int32", + "name": "maxdd", + "cType": "int", "canonical": "int" } ] }, { - "name": "ever_eq_h3indexset_th3index", - "file": "meos_h3.h", + "name": "set_make", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "cells", - "cType": "const Set *", - "canonical": "const Set *" + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" }, { - "name": "th3idx", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "th3index_are_neighbor_cells", - "file": "meos_h3.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "count", + "cType": "int", + "canonical": "int" + }, { - "name": "origin", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "dest", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "order", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "th3index_cells_to_directed_edge", - "file": "meos_h3.h", + "name": "set_make_exp", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "origin", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" }, { - "name": "dest", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "th3index_is_valid_directed_edge", - "file": "meos_h3.h", + "name": "set_make_free", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "edge", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "th3index_get_directed_edge_origin", - "file": "meos_h3.h", + "name": "span_make", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "edge", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "lower", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "upper", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_get_directed_edge_destination", - "file": "meos_h3.h", + "name": "span_set", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "edge", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "lower", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "upper", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "th3index_directed_edge_to_boundary", - "file": "meos_h3.h", + "name": "spanset_make_exp", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "edge", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "th3index_cell_to_vertex", - "file": "meos_h3.h", + "name": "spanset_make_free", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" }, { - "name": "vertex_num", - "cType": "int32", + "name": "count", + "cType": "int", "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "th3index_vertex_to_latlng", - "file": "meos_h3.h", + "name": "set_span", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "th3index_is_valid_vertex", - "file": "meos_h3.h", + "name": "set_spanset", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "th3index_grid_distance", - "file": "meos_h3.h", + "name": "value_set_span", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "origin", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "dest", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "th3index_cell_to_local_ij", - "file": "meos_h3.h", + "name": "value_set", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "origin", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "cell", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_local_ij_to_cell", - "file": "meos_h3.h", + "name": "value_span", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "origin", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "coord", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_cell_area", - "file": "meos_h3.h", + "name": "value_spanset", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "unit", - "cType": "const char *", - "canonical": "const char *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "th3index_edge_length", - "file": "meos_h3.h", + "name": "numspan_width", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "unit", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tgeogpoint_great_circle_distance", - "file": "meos_h3.h", + "name": "numspanset_width", + "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "a", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "b", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "unit", - "cType": "const char *", - "canonical": "const char *" + "name": "boundspan", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "gsl_get_generation_rng", - "file": "meos_internal.h", - "returnType": { - "c": "gsl_rng *", - "canonical": "gsl_rng *" - }, - "params": [] - }, - { - "name": "gsl_get_aggregation_rng", + "name": "set_end_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "gsl_rng *", - "canonical": "gsl_rng *" + "c": "Datum", + "canonical": "Datum" }, - "params": [] + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] }, { - "name": "datum_ceil", + "name": "set_mem_size", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "datum_degrees", + "name": "set_set_subspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "normalize", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "minidx", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxidx", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "datum_float_round", + "name": "set_set_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "size", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "datum_floor", + "name": "set_start_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "datum_hash", + "name": "set_value_n", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "basetype", + "name": "n", "cType": "int", "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" } ] }, { - "name": "datum_hash_extended", + "name": "set_vals", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "Datum *", + "canonical": "int ((*)(int *))()" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" - }, + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "set_values", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "Datum *", + "canonical": "int ((*)(int *))()" + }, + "params": [ { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "datum_radians", + "name": "spanset_lower", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "spanset_mem_size", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "floatspan_round_set", + "name": "spanset_sps", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "const Span **", + "canonical": "const struct Span **" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" - }, - { - "name": "result", - "cType": "Span *", - "canonical": "struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "set_in", + "name": "spanset_upper", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "set_out", + "name": "datespan_set_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "span_in", + "name": "bigintspan_set_floatspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "spantype", - "cType": "int", - "canonical": "int" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "span_out", + "name": "bigintspan_set_intspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s", + "name": "s1", "cType": "const Span *", "canonical": "const struct Span *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "spanset_in", + "name": "floatspan_set_bigintspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "spantype", - "cType": "int", - "canonical": "int" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "spanset_out", + "name": "floatspan_set_intspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "set_make", + "name": "intspan_set_bigintspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "values", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "order", - "cType": "bool", - "canonical": "bool" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "set_make_exp", + "name": "intspan_set_floatspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "values", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxcount", - "cType": "int", - "canonical": "int" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "order", - "cType": "bool", - "canonical": "bool" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "set_make_free", + "name": "numset_shift_scale", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "values", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "order", + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", "cType": "bool", "canonical": "bool" } ] }, { - "name": "span_make", + "name": "numspan_expand", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" }, "params": [ { - "name": "lower", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "upper", + "name": "value", "cType": "Datum", "canonical": "int ((int *))()" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" } ] }, { - "name": "span_set", + "name": "numspan_shift_scale", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "lower", + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "shift", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "upper", + "name": "width", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "lower_inc", + "name": "hasshift", "cType": "bool", "canonical": "bool" }, { - "name": "upper_inc", + "name": "haswidth", "cType": "bool", "canonical": "bool" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" - }, - { - "name": "spantype", - "cType": "int", - "canonical": "int" - }, - { - "name": "s", - "cType": "Span *", - "canonical": "struct Span *" } ] }, { - "name": "spanset_make_exp", + "name": "numspanset_shift_scale", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" }, "params": [ { - "name": "spans", - "cType": "Span *", - "canonical": "struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "count", - "cType": "int", - "canonical": "int" + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "maxcount", - "cType": "int", - "canonical": "int" + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "normalize", + "name": "hasshift", "cType": "bool", "canonical": "bool" }, { - "name": "order", + "name": "haswidth", "cType": "bool", "canonical": "bool" } ] }, { - "name": "spanset_make_free", + "name": "set_compact", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "spans", - "cType": "Span *", - "canonical": "struct Span *" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "normalize", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "order", - "cType": "bool", - "canonical": "bool" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "set_span", + "name": "span_expand", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "set_spanset", + "name": "spanset_compact", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "value_set_span", + "name": "tbox_expand_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TBox *", + "canonical": "struct TBox *" }, "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, { "name": "value", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" - }, - { - "name": "s", - "cType": "Span *", - "canonical": "struct Span *" + "name": "basetyp", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "value_set", + "name": "textcat_textset_text_common", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Set *", - "canonical": "Set *" + "canonical": "struct Set *" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "txt", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "value_span", + "name": "tstzspan_set_datespan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "s2", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "value_spanset", + "name": "adjacent_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "numspan_width", + "name": "adjacent_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "numspanset_width", + "name": "adjacent_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" - }, - { - "name": "boundspan", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "set_end_value", + "name": "contained_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "set_mem_size", + "name": "contained_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "set_set_subspan", + "name": "contained_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "minidx", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxidx", - "cType": "int", - "canonical": "int" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "result", - "cType": "Span *", - "canonical": "struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "set_set_span", + "name": "contains_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { - "name": "result", - "cType": "Span *", - "canonical": "struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "set_start_value", + "name": "contains_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "set_value_n", + "name": "contains_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "result", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "set_vals", + "name": "ovadj_span_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Datum *", - "canonical": "int ((*)(int *))()" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "set_values", + "name": "left_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Datum *", - "canonical": "int ((*)(int *))()" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "spanset_lower", + "name": "left_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "spanset_mem_size", + "name": "left_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "spanset_sps", + "name": "left_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "const Span **", - "canonical": "const struct Span **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "spanset_upper", + "name": "left_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "bigintspan_set_floatspan", + "name": "left_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "bigintspan_set_intspan", + "name": "lfnadj_span_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -42644,158 +44926,150 @@ }, { "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "datespan_set_tstzspan", + "name": "overleft_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "floatspan_set_bigintspan", + "name": "overleft_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", + "name": "s", "cType": "const Span *", "canonical": "const struct Span *" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "floatspan_set_intspan", + "name": "overleft_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "intspan_set_bigintspan", + "name": "overleft_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "intspan_set_floatspan", + "name": "overleft_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "numset_shift_scale", + "name": "overleft_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "shift", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "width", + "name": "value", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "numspan_expand", + "name": "overright_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" }, { "name": "value", @@ -42805,11 +45079,12 @@ ] }, { - "name": "numspan_shift_scale", + "name": "overright_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -42818,33 +45093,19 @@ "canonical": "const struct Span *" }, { - "name": "shift", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "width", + "name": "value", "cType": "Datum", "canonical": "int ((int *))()" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "numspanset_shift_scale", + "name": "overright_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { @@ -42853,70 +45114,68 @@ "canonical": "const struct SpanSet *" }, { - "name": "shift", + "name": "value", "cType": "Datum", "canonical": "int ((int *))()" - }, - { - "name": "width", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" } ] }, { - "name": "set_compact", + "name": "overright_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "span_expand", + "name": "overright_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "spanset_compact", + "name": "overright_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, { "name": "ss", "cType": "const SpanSet *", @@ -42925,107 +45184,102 @@ ] }, { - "name": "tbox_expand_value", + "name": "right_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "bool", + "canonical": "bool" }, "params": [ - { - "name": "box", - "cType": "const TBox *", - "canonical": "const struct TBox *" - }, { "name": "value", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "basetyp", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "textcat_textset_text_common", + "name": "right_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { - "name": "txt", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "invert", - "cType": "bool", - "canonical": "bool" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tstzspan_set_datespan", + "name": "right_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "Span *", - "canonical": "struct Span *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "adjacent_span_value", + "name": "right_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, { "name": "value", "cType": "Datum", "canonical": "int ((int *))()" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "adjacent_spanset_value", + "name": "right_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { "name": "value", @@ -43035,148 +45289,156 @@ ] }, { - "name": "adjacent_value_spanset", + "name": "right_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, { "name": "ss", "cType": "const SpanSet *", "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "contained_value_set", + "name": "bbox_type", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "bboxtype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "contained_value_span", + "name": "bbox_get_size", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "size_t", + "canonical": "size_t" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "bboxtype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "contained_value_spanset", + "name": "bbox_max_dims", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "bboxtype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "contains_set_value", + "name": "temporal_bbox_eq", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "box1", + "cType": "const void *", + "canonical": "const void *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box2", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "contains_span_value", + "name": "temporal_bbox_cmp", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "box1", + "cType": "const void *", + "canonical": "const void *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box2", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "contains_spanset_value", + "name": "bbox_union_span_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "ovadj_span_span", + "name": "inter_span_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -43191,21 +45453,27 @@ "name": "s2", "cType": "const Span *", "canonical": "const struct Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "left_set_value", + "name": "intersection_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "value", @@ -43215,11 +45483,12 @@ ] }, { - "name": "left_span_value", + "name": "intersection_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -43235,11 +45504,12 @@ ] }, { - "name": "left_spanset_value", + "name": "intersection_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43255,11 +45525,12 @@ ] }, { - "name": "left_value_set", + "name": "intersection_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { @@ -43270,16 +45541,17 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "left_value_span", + "name": "intersection_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { @@ -43295,11 +45567,12 @@ ] }, { - "name": "left_value_spanset", + "name": "intersection_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43315,11 +45588,12 @@ ] }, { - "name": "lfnadj_span_span", + "name": "mi_span_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { @@ -43331,21 +45605,27 @@ "name": "s2", "cType": "const Span *", "canonical": "const struct Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "overleft_set_value", + "name": "minus_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "value", @@ -43355,11 +45635,12 @@ ] }, { - "name": "overleft_span_value", + "name": "minus_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43375,11 +45656,12 @@ ] }, { - "name": "overleft_spanset_value", + "name": "minus_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43395,11 +45677,12 @@ ] }, { - "name": "overleft_value_set", + "name": "minus_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { @@ -43410,16 +45693,17 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "overleft_value_span", + "name": "minus_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43435,11 +45719,12 @@ ] }, { - "name": "overleft_value_spanset", + "name": "minus_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43455,17 +45740,18 @@ ] }, { - "name": "overright_set_value", + "name": "union_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "value", @@ -43475,11 +45761,12 @@ ] }, { - "name": "overright_span_value", + "name": "union_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43495,11 +45782,12 @@ ] }, { - "name": "overright_spanset_value", + "name": "union_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43515,11 +45803,12 @@ ] }, { - "name": "overright_value_set", + "name": "union_value_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { @@ -43530,16 +45819,17 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "overright_value_span", + "name": "union_value_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43555,11 +45845,12 @@ ] }, { - "name": "overright_value_spanset", + "name": "union_value_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { @@ -43575,37 +45866,39 @@ ] }, { - "name": "right_value_set", + "name": "distance_set_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s1", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "s", + "name": "s2", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { - "name": "right_set_value", + "name": "distance_set_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "value", @@ -43615,51 +45908,33 @@ ] }, { - "name": "right_value_span", + "name": "distance_span_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "s", + "name": "s1", "cType": "const Span *", "canonical": "const struct Span *" - } - ] - }, - { - "name": "right_value_spanset", - "file": "meos_internal.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "right_span_value", + "name": "distance_span_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { @@ -43675,11 +45950,12 @@ ] }, { - "name": "right_spanset_value", + "name": "distance_spanset_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { @@ -43688,243 +45964,285 @@ "canonical": "const struct SpanSet *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "bbox_type", + "name": "distance_spanset_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "bboxtype", - "cType": "int", - "canonical": "int" + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "bbox_get_size", + "name": "distance_spanset_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "size_t", - "canonical": "unsigned long" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "bboxtype", - "cType": "int", - "canonical": "int" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "bbox_max_dims", + "name": "distance_value_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "bboxtype", - "cType": "int", - "canonical": "int" + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "temporal_bbox_eq", + "name": "spanbase_extent_transfn", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "box1", - "cType": "const void *", - "canonical": "const void *" + "name": "state", + "cType": "Span *", + "canonical": "struct Span *" }, { - "name": "box2", - "cType": "const void *", - "canonical": "const void *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temptype", - "cType": "int", - "canonical": "int" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "temporal_bbox_cmp", + "name": "value_union_transfn", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "box1", - "cType": "const void *", - "canonical": "const void *" + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" }, { - "name": "box2", - "cType": "const void *", - "canonical": "const void *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temptype", - "cType": "int", - "canonical": "int" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "bbox_union_span_span", + "name": "number_tstzspan_to_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TBox *", + "canonical": "struct TBox *" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "result", - "cType": "Span *", - "canonical": "struct Span *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "inter_span_span", + "name": "number_timestamptz_to_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "TBox *", + "canonical": "struct TBox *" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s2", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "result", - "cType": "Span *", - "canonical": "struct Span *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "intersection_set_value", + "name": "tbox_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "p", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "intersection_span_value", + "name": "float_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "d", + "cType": "double", + "canonical": "double" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "intersection_spanset_value", + "name": "int_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "i", + "cType": "int", + "canonical": "int" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "intersection_value_set", + "name": "number_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "value", + "name": "d", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "intersection_value_span", + "name": "number_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "TBox *", + "canonical": "struct TBox *" }, "params": [ { @@ -43933,875 +46251,904 @@ "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "intersection_value_spanset", + "name": "numset_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "mi_span_span", + "name": "numspan_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "s2", + "name": "span", "cType": "const Span *", "canonical": "const struct Span *" }, { - "name": "result", - "cType": "Span *", - "canonical": "struct Span *" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "minus_set_value", + "name": "timestamptz_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "minus_span_value", + "name": "tstzset_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "void", + "canonical": "void" }, "params": [ { "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "minus_spanset_value", + "name": "tstzspan_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "minus_value_set", + "name": "tbox_shift_scale_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "TBox *", + "canonical": "struct TBox *" }, "params": [ { - "name": "value", + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "shift", "cType": "Datum", "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "minus_value_span", + "name": "tbox_expand", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "box2", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "minus_value_spanset", + "name": "inter_tbox_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "result", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "super_union_span_span", + "name": "tboolinst_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "s2", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "union_set_value", + "name": "tboolinst_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" - }, - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "union_span_value", + "name": "tboolseq_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "union_spanset_value", + "name": "tboolseq_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "union_value_set", + "name": "tboolseqset_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "union_value_span", + "name": "tboolseqset_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "union_value_spanset", + "name": "temporal_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "distance_set_set", + "name": "temporal_out", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "s1", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s2", - "cType": "const Set *", - "canonical": "const Set *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "distance_set_value", + "name": "temparr_out", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "char **", + "canonical": "char **" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temparr", + "cType": "Temporal **", + "canonical": "struct Temporal **" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "distance_span_span", + "name": "tfloatinst_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "s2", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "distance_span_value", + "name": "tfloatinst_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "distance_spanset_span", + "name": "tfloatseq_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "distance_spanset_spanset", + "name": "tfloatseq_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "ss1", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "ss2", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "distance_spanset_value", + "name": "tfloatseqset_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "distance_value_value", + "name": "tfloatseqset_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "l", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "r", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "spanbase_extent_transfn", + "name": "tinstant_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Span *", - "canonical": "struct Span *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "state", - "cType": "Span *", - "canonical": "struct Span *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "spatial", + "cType": "bool", + "canonical": "bool" }, { - "name": "basetype", - "cType": "int", + "name": "srid", + "cType": "int32_t", "canonical": "int" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "value_union_transfn", + "name": "tinstant_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "state", - "cType": "Set *", - "canonical": "Set *" - }, - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "number_tstzspan_to_tbox", + "name": "tinstant_out", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "basetype", + "name": "maxdd", "cType": "int", "canonical": "int" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" } ] }, { - "name": "number_timestamptz_to_tbox", + "name": "tbigintinst_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "tbox_set", + "name": "tbigintinst_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "p", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "float_set_tbox", + "name": "tbigintseq_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "d", - "cType": "double", - "canonical": "double" - }, - { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "int_set_tbox", + "name": "tbigintseqset_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "i", - "cType": "int", - "canonical": "int" - }, - { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "number_set_tbox", + "name": "tbigintseqset_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" - }, + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tintinst_from_mfjson", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "number_tbox", + "name": "tintinst_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tintseq_from_mfjson", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" } ] }, { - "name": "numset_set_tbox", + "name": "tintseq_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "numspan_set_tbox", + "name": "tintseqset_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "span", - "cType": "const Span *", - "canonical": "const struct Span *" - }, + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintseqset_in", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" } ] }, { - "name": "timestamptz_set_tbox", + "name": "tsequence_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" }, { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "tstzset_set_tbox", + "name": "tsequence_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "tstzspan_set_tbox", + "name": "tsequence_out", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tbox_shift_scale_value", + "name": "tsequenceset_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TBox *", - "canonical": "struct TBox *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "box", - "cType": "const TBox *", - "canonical": "const struct TBox *" + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" }, { - "name": "shift", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "spatial", + "cType": "bool", + "canonical": "bool" }, { - "name": "width", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "hasshift", - "cType": "bool", - "canonical": "bool" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "haswidth", - "cType": "bool", - "canonical": "bool" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "tbox_expand", + "name": "tsequenceset_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "box1", - "cType": "const TBox *", - "canonical": "const struct TBox *" + "name": "str", + "cType": "const char *", + "canonical": "const char *" }, { - "name": "box2", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "inter_tbox_tbox", + "name": "tsequenceset_out", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "box1", - "cType": "const TBox *", - "canonical": "const struct TBox *" - }, - { - "name": "box2", - "cType": "const TBox *", - "canonical": "const struct TBox *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" }, { - "name": "result", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tboolinst_from_mfjson", + "name": "ttextinst_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -44815,8 +47162,9 @@ ] }, { - "name": "tboolinst_in", + "name": "ttextinst_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -44830,8 +47178,9 @@ ] }, { - "name": "tboolseq_from_mfjson", + "name": "ttextseq_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -44845,8 +47194,9 @@ ] }, { - "name": "tboolseq_in", + "name": "ttextseq_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -44865,8 +47215,9 @@ ] }, { - "name": "tboolseqset_from_mfjson", + "name": "ttextseqset_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -44880,8 +47231,9 @@ ] }, { - "name": "tboolseqset_in", + "name": "ttextseqset_in", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -44895,1772 +47247,1241 @@ ] }, { - "name": "temporal_in", + "name": "temporal_from_mfjson", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "str", + "name": "mfjson", "cType": "const char *", "canonical": "const char *" }, { "name": "temptype", - "cType": "int", - "canonical": "int" + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "temporal_out", + "name": "temporal_from_base_temp", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "temparr_out", + "name": "tinstant_copy", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char **", - "canonical": "char **" + "c": "TInstant *", + "canonical": "struct TInstant *" }, "params": [ { - "name": "temparr", - "cType": "Temporal **", - "canonical": "Temporal **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "tfloatinst_from_mfjson", + "name": "tinstant_make", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "tfloatinst_in", + "name": "tinstant_make_free", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" } ] }, { - "name": "tfloatseq_from_mfjson", + "name": "tsequence_copy", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" } ] }, { - "name": "tfloatseq_in", + "name": "tsequence_from_base_temp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" } ] }, { - "name": "tfloatseqset_from_mfjson", + "name": "tsequence_from_base_tstzset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" - } - ] - }, - { - "name": "tfloatseqset_in", - "file": "meos_internal.h", - "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" - }, - "params": [ + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "tinstant_from_mfjson", + "name": "tsequence_from_base_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "spatial", - "cType": "bool", - "canonical": "bool" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" }, { - "name": "temptype", - "cType": "int", - "canonical": "int" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "tinstant_in", + "name": "tsequence_make_exp", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" }, { - "name": "temptype", + "name": "count", "cType": "int", "canonical": "int" - } - ] - }, - { - "name": "tinstant_out", - "file": "meos_internal.h", - "returnType": { - "c": "char *", - "canonical": "char *" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" }, { - "name": "maxdd", + "name": "maxcount", "cType": "int", "canonical": "int" - } - ] - }, - { - "name": "tintinst_from_mfjson", - "file": "meos_internal.h", - "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" - }, - "params": [ + }, { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - } - ] - }, - { - "name": "tintinst_in", - "file": "meos_internal.h", - "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" - }, - "params": [ + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tintseq_from_mfjson", - "file": "meos_internal.h", - "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" - }, - "params": [ + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tintseq_in", + "name": "tsequence_make_free", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" }, { "name": "interp", "cType": "interpType", "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tintseqset_from_mfjson", + "name": "tsequenceset_copy", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" } ] }, { - "name": "tintseqset_in", + "name": "tseqsetarr_to_tseqset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tsequence_from_mfjson", - "file": "meos_internal.h", - "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" - }, - "params": [ - { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "spatial", - "cType": "bool", - "canonical": "bool" + "name": "seqsets", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" }, { - "name": "srid", - "cType": "int32_t", + "name": "count", + "cType": "int", "canonical": "int" }, { - "name": "temptype", + "name": "totalseqs", "cType": "int", "canonical": "int" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" } ] }, { - "name": "tsequence_in", + "name": "tsequenceset_from_base_temp", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { "name": "temptype", - "cType": "int", - "canonical": "int" + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" } ] }, { - "name": "tsequence_out", + "name": "tsequenceset_from_base_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "tsequenceset_from_mfjson", + "name": "tsequenceset_make_exp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "spatial", - "cType": "bool", - "canonical": "bool" + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" }, { - "name": "srid", - "cType": "int32_t", + "name": "count", + "cType": "int", "canonical": "int" }, { - "name": "temptype", + "name": "maxcount", "cType": "int", "canonical": "int" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tsequenceset_in", + "name": "tsequenceset_make_free", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" }, { - "name": "temptype", + "name": "count", "cType": "int", "canonical": "int" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "normalize", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tsequenceset_out", + "name": "temporal_set_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "ttextinst_from_mfjson", + "name": "tinstant_set_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "ttextinst_in", + "name": "tnumber_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "ttextseq_from_mfjson", + "name": "tnumberinst_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "ttextseq_in", + "name": "tnumberseq_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "ttextseqset_from_mfjson", + "name": "tnumberseqset_set_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" } ] }, { - "name": "ttextseqset_in", + "name": "tsequence_set_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "temporal_from_mfjson", + "name": "tsequenceset_set_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "mfjson", - "cType": "const char *", - "canonical": "const char *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" }, { - "name": "temptype", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" } ] }, { - "name": "temporal_from_base_temp", + "name": "temporal_end_inst", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "const TInstant *", + "canonical": "const struct TInstant *" }, "params": [ - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "temptype", - "cType": "int", - "canonical": "int" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "tinstant_copy", + "name": "temporal_end_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tinstant_make", + "name": "temporal_inst_n", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "const TInstant *", + "canonical": "const struct TInstant *" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "temptype", + "name": "n", "cType": "int", "canonical": "int" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" } ] }, { - "name": "tinstant_make_free", + "name": "temporal_insts_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "const TInstant **", + "canonical": "const struct TInstant **" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "temptype", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tsequence_copy", + "name": "temporal_max_inst_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "const TInstant *", + "canonical": "const struct TInstant *" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tsequence_from_base_temp", + "name": "temporal_max_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "temptype", - "cType": "int", - "canonical": "int" - }, - { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tsequence_from_base_tstzset", + "name": "temporal_mem_size", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "size_t", + "canonical": "size_t" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "temptype", - "cType": "int", - "canonical": "int" - }, - { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tsequence_from_base_tstzspan", + "name": "temporal_min_inst_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "const TInstant *", + "canonical": "const struct TInstant *" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "temptype", - "cType": "int", - "canonical": "int" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tsequence_make_exp", + "name": "temporal_min_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "instants", - "cType": "TInstant **", - "canonical": "struct TInstant **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxcount", - "cType": "int", - "canonical": "int" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" - }, - { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tsequence_make_free", + "name": "temporal_sequences_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "const TSequence **", + "canonical": "const struct TSequence **" }, "params": [ { - "name": "instants", - "cType": "TInstant **", - "canonical": "struct TInstant **" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "lower_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "upper_inc", - "cType": "bool", - "canonical": "bool" - }, + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_set_bbox", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "void *", + "canonical": "void *" } ] }, { - "name": "tsequenceset_copy", + "name": "temporal_start_inst", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "const TInstant *", + "canonical": "const struct TInstant *" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tseqsetarr_to_tseqset", + "name": "temporal_start_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "seqsets", - "cType": "TSequenceSet **", - "canonical": "struct TSequenceSet **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "totalseqs", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tsequenceset_from_base_temp", + "name": "temporal_values_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "Datum *", + "canonical": "int ((*)(int *))()" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "temptype", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tsequenceset_from_base_tstzspanset", + "name": "temporal_value_n", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "temptype", + "name": "n", "cType": "int", "canonical": "int" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" } ] }, { - "name": "tsequenceset_make_exp", + "name": "temporal_values", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "Datum *", + "canonical": "int ((*)(int *))()" }, "params": [ { - "name": "sequences", - "cType": "TSequence **", - "canonical": "struct TSequence **" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxcount", - "cType": "int", - "canonical": "int" - }, + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_hash", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "tsequenceset_make_free", + "name": "tinstant_insts", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "const TInstant **", + "canonical": "const struct TInstant **" }, "params": [ { - "name": "sequences", - "cType": "TSequence **", - "canonical": "struct TSequence **" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "normalize", - "cType": "bool", - "canonical": "bool" + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "temporal_set_tstzspan", + "name": "tinstant_set_bbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "s", - "cType": "Span *", - "canonical": "struct Span *" + "name": "box", + "cType": "void *", + "canonical": "void *" } ] }, { - "name": "tinstant_set_tstzspan", + "name": "tinstant_time", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { "name": "inst", "cType": "const TInstant *", "canonical": "const struct TInstant *" - }, - { - "name": "s", - "cType": "Span *", - "canonical": "struct Span *" } ] }, { - "name": "tnumber_set_tbox", + "name": "tinstant_timestamps", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "TimestampTz *", + "canonical": "TimestampTz *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tnumberinst_set_tbox", + "name": "tinstant_value_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "Datum", + "canonical": "Datum" }, "params": [ { "name": "inst", "cType": "const TInstant *", "canonical": "const struct TInstant *" - }, - { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" } ] }, { - "name": "tnumberseq_set_tbox", + "name": "tinstant_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - }, - { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "tnumberseqset_set_tbox", + "name": "tinstant_value_at_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "box", - "cType": "TBox *", - "canonical": "struct TBox *" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" } ] }, { - "name": "tsequence_set_tstzspan", + "name": "tinstant_values_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "Datum *", + "canonical": "int ((*)(int *))()" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "s", - "cType": "Span *", - "canonical": "struct Span *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tsequenceset_set_tstzspan", + "name": "tnumber_set_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", + "name": "span", "cType": "Span *", "canonical": "struct Span *" } ] }, { - "name": "temporal_end_inst", + "name": "tnumberinst_valuespans", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "const TInstant *", - "canonical": "const struct TInstant *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "temporal_end_value", + "name": "tnumberseq_avg_val", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" } ] }, { - "name": "temporal_inst_n", + "name": "tnumberseq_valuespans", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "const TInstant *", - "canonical": "const struct TInstant *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" } ] }, { - "name": "temporal_insts_p", + "name": "tnumberseqset_avg_val", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "const TInstant **", - "canonical": "const struct TInstant **" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" } ] }, { - "name": "temporal_max_inst_p", + "name": "tnumberseqset_valuespans", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "const TInstant *", - "canonical": "const struct TInstant *" + "c": "SpanSet *", + "canonical": "struct SpanSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" } ] }, { - "name": "temporal_max_value", + "name": "tsequence_duration", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" } ] }, { - "name": "temporal_mem_size", + "name": "tsequence_end_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "size_t", - "canonical": "unsigned long" + "c": "TimestampTz", + "canonical": "TimestampTz" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" } ] }, { - "name": "temporal_min_inst_p", - "file": "meos_internal.h", - "returnType": { - "c": "const TInstant *", - "canonical": "const struct TInstant *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "temporal_min_value", - "file": "meos_internal.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "temporal_sequences_p", - "file": "meos_internal.h", - "returnType": { - "c": "const TSequence **", - "canonical": "const struct TSequence **" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "temporal_set_bbox", - "file": "meos_internal.h", - "returnType": { - "c": "void", - "canonical": "void" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "void *", - "canonical": "void *" - } - ] - }, - { - "name": "temporal_start_inst", - "file": "meos_internal.h", - "returnType": { - "c": "const TInstant *", - "canonical": "const struct TInstant *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "temporal_start_value", - "file": "meos_internal.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "temporal_values_p", - "file": "meos_internal.h", - "returnType": { - "c": "Datum *", - "canonical": "int ((*)(int *))()" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "temporal_value_n", - "file": "meos_internal.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "n", - "cType": "int", - "canonical": "int" - }, - { - "name": "result", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" - } - ] - }, - { - "name": "temporal_values", - "file": "meos_internal.h", - "returnType": { - "c": "Datum *", - "canonical": "int ((*)(int *))()" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "tinstant_hash", - "file": "meos_internal.h", - "returnType": { - "c": "uint32", - "canonical": "unsigned int" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - } - ] - }, - { - "name": "tinstant_insts", - "file": "meos_internal.h", - "returnType": { - "c": "const TInstant **", - "canonical": "const struct TInstant **" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "tinstant_set_bbox", - "file": "meos_internal.h", - "returnType": { - "c": "void", - "canonical": "void" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "box", - "cType": "void *", - "canonical": "void *" - } - ] - }, - { - "name": "tinstant_time", - "file": "meos_internal.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - } - ] - }, - { - "name": "tinstant_timestamps", - "file": "meos_internal.h", - "returnType": { - "c": "TimestampTz *", - "canonical": "long *" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "tinstant_value_p", - "file": "meos_internal.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - } - ] - }, - { - "name": "tinstant_value", + "name": "tsequence_hash", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - } - ] - }, - { - "name": "tinstant_value_at_timestamptz", - "file": "meos_internal.h", - "returnType": { - "c": "bool", - "canonical": "bool" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" - }, - { - "name": "result", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" - } - ] - }, - { - "name": "tinstant_values_p", - "file": "meos_internal.h", - "returnType": { - "c": "Datum *", - "canonical": "int ((*)(int *))()" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "tnumber_set_span", - "file": "meos_internal.h", - "returnType": { - "c": "void", - "canonical": "void" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "span", - "cType": "Span *", - "canonical": "struct Span *" - } - ] - }, - { - "name": "tnumberinst_valuespans", - "file": "meos_internal.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - } - ] - }, - { - "name": "tnumberseq_avg_val", - "file": "meos_internal.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ - { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - } - ] - }, - { - "name": "tnumberseq_valuespans", - "file": "meos_internal.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - } - ] - }, - { - "name": "tnumberseqset_avg_val", - "file": "meos_internal.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ - { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" - } - ] - }, - { - "name": "tnumberseqset_valuespans", - "file": "meos_internal.h", - "returnType": { - "c": "SpanSet *", - "canonical": "struct SpanSet *" - }, - "params": [ - { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" - } - ] - }, - { - "name": "tsequence_duration", - "file": "meos_internal.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ - { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - } - ] - }, - { - "name": "tsequence_end_timestamptz", - "file": "meos_internal.h", - "returnType": { - "c": "TimestampTz", - "canonical": "long" - }, - "params": [ - { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - } - ] - }, - { - "name": "tsequence_hash", - "file": "meos_internal.h", - "returnType": { - "c": "uint32", - "canonical": "unsigned int" - }, "params": [ { "name": "seq", @@ -46672,6 +48493,7 @@ { "name": "tsequence_insts_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant **", "canonical": "const struct TInstant **" @@ -46681,12 +48503,18 @@ "name": "seq", "cType": "const TSequence *", "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { "name": "tsequence_max_inst_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant *", "canonical": "const struct TInstant *" @@ -46702,9 +48530,10 @@ { "name": "tsequence_max_val", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { @@ -46717,6 +48546,7 @@ { "name": "tsequence_min_inst_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant *", "canonical": "const struct TInstant *" @@ -46732,9 +48562,10 @@ { "name": "tsequence_min_val", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { @@ -46747,6 +48578,7 @@ { "name": "tsequence_segments", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence **", "canonical": "struct TSequence **" @@ -46767,6 +48599,7 @@ { "name": "tsequence_seqs", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TSequence **", "canonical": "const struct TSequence **" @@ -46787,9 +48620,10 @@ { "name": "tsequence_start_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, "params": [ { @@ -46802,6 +48636,7 @@ { "name": "tsequence_time", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -46817,9 +48652,10 @@ { "name": "tsequence_timestamps", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" }, "params": [ { @@ -46837,6 +48673,7 @@ { "name": "tsequence_value_at_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -46850,7 +48687,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -46867,6 +48704,7 @@ { "name": "tsequence_values_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Datum *", "canonical": "int ((*)(int *))()" @@ -46887,9 +48725,10 @@ { "name": "tsequenceset_duration", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Interval *", + "canonical": "Interval *" }, "params": [ { @@ -46907,9 +48746,10 @@ { "name": "tsequenceset_end_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, "params": [ { @@ -46922,9 +48762,10 @@ { "name": "tsequenceset_hash", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "int", + "canonical": "int" }, "params": [ { @@ -46937,6 +48778,7 @@ { "name": "tsequenceset_inst_n", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant *", "canonical": "const struct TInstant *" @@ -46957,6 +48799,7 @@ { "name": "tsequenceset_insts_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant **", "canonical": "const struct TInstant **" @@ -46966,12 +48809,18 @@ "name": "ss", "cType": "const TSequenceSet *", "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { "name": "tsequenceset_max_inst_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant *", "canonical": "const struct TInstant *" @@ -46987,9 +48836,10 @@ { "name": "tsequenceset_max_val", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { @@ -47002,6 +48852,7 @@ { "name": "tsequenceset_min_inst_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TInstant *", "canonical": "const struct TInstant *" @@ -47017,9 +48868,10 @@ { "name": "tsequenceset_min_val", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { @@ -47032,6 +48884,7 @@ { "name": "tsequenceset_num_instants", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -47047,6 +48900,7 @@ { "name": "tsequenceset_num_timestamps", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -47062,6 +48916,7 @@ { "name": "tsequenceset_segments", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence **", "canonical": "struct TSequence **" @@ -47082,6 +48937,7 @@ { "name": "tsequenceset_sequences_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "const TSequence **", "canonical": "const struct TSequence **" @@ -47097,9 +48953,10 @@ { "name": "tsequenceset_start_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, "params": [ { @@ -47112,6 +48969,7 @@ { "name": "tsequenceset_time", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "SpanSet *", "canonical": "struct SpanSet *" @@ -47127,6 +48985,7 @@ { "name": "tsequenceset_timestamptz_n", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -47145,16 +49004,17 @@ { "name": "result", "cType": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" } ] }, { "name": "tsequenceset_timestamps", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TimestampTz *", - "canonical": "long *" + "canonical": "TimestampTz *" }, "params": [ { @@ -47172,6 +49032,7 @@ { "name": "tsequenceset_value_at_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -47185,7 +49046,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -47202,6 +49063,33 @@ { "name": "tsequenceset_value_n", "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tsequenceset_value_n_p", + "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -47227,6 +49115,7 @@ { "name": "tsequenceset_values_p", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Datum *", "canonical": "int ((*)(int *))()" @@ -47247,6 +49136,7 @@ { "name": "temporal_restart", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -47255,7 +49145,7 @@ { "name": "temp", "cType": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, { "name": "count", @@ -47267,6 +49157,7 @@ { "name": "temporal_tsequence", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47275,7 +49166,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interp", @@ -47287,6 +49178,7 @@ { "name": "temporal_tsequenceset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47295,7 +49187,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "interp", @@ -47307,6 +49199,7 @@ { "name": "tinstant_shift_time", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -47319,14 +49212,15 @@ }, { "name": "interv", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tinstant_to_tsequence", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47347,6 +49241,7 @@ { "name": "tinstant_to_tsequence_free", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47367,6 +49262,7 @@ { "name": "tinstant_to_tsequenceset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47387,15 +49283,16 @@ { "name": "tnumber_shift_scale_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "shift", @@ -47422,6 +49319,7 @@ { "name": "tnumberinst_shift_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -47442,6 +49340,7 @@ { "name": "tnumberseq_shift_scale_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47477,6 +49376,7 @@ { "name": "tnumberseqset_shift_scale_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47512,6 +49412,7 @@ { "name": "tsequence_restart", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -47532,9 +49433,10 @@ { "name": "tsequence_set_interp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47552,6 +49454,7 @@ { "name": "tsequence_shift_scale_time", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47564,19 +49467,20 @@ }, { "name": "shift", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tsequence_subseq", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47612,6 +49516,7 @@ { "name": "tsequence_to_tinstant", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -47627,6 +49532,7 @@ { "name": "tsequence_to_tsequenceset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47642,6 +49548,7 @@ { "name": "tsequence_to_tsequenceset_free", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47657,6 +49564,7 @@ { "name": "tsequence_to_tsequenceset_interp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47677,6 +49585,7 @@ { "name": "tsequenceset_restart", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -47697,9 +49606,10 @@ { "name": "tsequenceset_set_interp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47717,6 +49627,7 @@ { "name": "tsequenceset_shift_scale_time", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47729,19 +49640,20 @@ }, { "name": "start", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "tsequenceset_to_discrete", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47757,6 +49669,7 @@ { "name": "tsequenceset_to_linear", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47772,6 +49685,7 @@ { "name": "tsequenceset_to_step", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -47787,6 +49701,7 @@ { "name": "tsequenceset_to_tinstant", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -47802,6 +49717,7 @@ { "name": "tsequenceset_to_tsequence", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -47817,9 +49733,10 @@ { "name": "tinstant_merge", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47837,9 +49754,10 @@ { "name": "tinstant_merge_array", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47857,9 +49775,10 @@ { "name": "tsequence_append_tinstant", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47879,8 +49798,8 @@ }, { "name": "maxt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "expand", @@ -47892,9 +49811,10 @@ { "name": "tsequence_append_tsequence", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47917,9 +49837,10 @@ { "name": "tsequence_delete_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47930,7 +49851,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "connect", @@ -47942,9 +49863,10 @@ { "name": "tsequence_delete_tstzset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47955,7 +49877,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "connect", @@ -47967,9 +49889,10 @@ { "name": "tsequence_delete_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -47992,9 +49915,10 @@ { "name": "tsequence_delete_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -48017,9 +49941,10 @@ { "name": "tsequence_insert", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -48042,9 +49967,10 @@ { "name": "tsequence_merge", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -48062,9 +49988,10 @@ { "name": "tsequence_merge_array", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -48082,6 +50009,7 @@ { "name": "tsequenceset_append_tinstant", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48104,8 +50032,8 @@ }, { "name": "maxt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "expand", @@ -48117,6 +50045,7 @@ { "name": "tsequenceset_append_tsequence", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48142,6 +50071,7 @@ { "name": "tsequenceset_delete_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48155,13 +50085,14 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tsequenceset_delete_tstzset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48175,13 +50106,14 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "tsequenceset_delete_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48202,6 +50134,7 @@ { "name": "tsequenceset_delete_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48222,6 +50155,7 @@ { "name": "tsequenceset_insert", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48242,6 +50176,7 @@ { "name": "tsequenceset_merge", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48262,6 +50197,7 @@ { "name": "tsequenceset_merge_array", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48282,6 +50218,7 @@ { "name": "tsequence_expand_bbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -48302,6 +50239,7 @@ { "name": "tsequence_set_bbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -48322,6 +50260,7 @@ { "name": "tsequenceset_expand_bbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -48342,6 +50281,7 @@ { "name": "tsequenceset_set_bbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -48362,6 +50302,7 @@ { "name": "tcontseq_after_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -48375,7 +50316,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48387,6 +50328,7 @@ { "name": "tcontseq_before_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -48400,7 +50342,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48412,6 +50354,7 @@ { "name": "tcontseq_restrict_minmax", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -48437,6 +50380,7 @@ { "name": "tdiscseq_after_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -48450,7 +50394,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48462,6 +50406,7 @@ { "name": "tdiscseq_before_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -48475,7 +50420,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48487,6 +50432,7 @@ { "name": "tdiscseq_restrict_minmax", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -48512,6 +50458,7 @@ { "name": "temporal_bbox_restrict_set", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -48520,27 +50467,28 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "set", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" } ] }, { "name": "temporal_restrict_minmax", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "min", @@ -48557,20 +50505,21 @@ { "name": "temporal_restrict_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "atfunc", @@ -48582,20 +50531,21 @@ { "name": "temporal_restrict_tstzset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "atfunc", @@ -48607,15 +50557,16 @@ { "name": "temporal_restrict_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "s", @@ -48632,15 +50583,16 @@ { "name": "temporal_restrict_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -48657,15 +50609,16 @@ { "name": "temporal_restrict_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -48682,20 +50635,21 @@ { "name": "temporal_restrict_values", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "set", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "atfunc", @@ -48707,6 +50661,7 @@ { "name": "temporal_value_at_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -48715,12 +50670,12 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48737,6 +50692,7 @@ { "name": "tinstant_after_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48750,7 +50706,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48762,6 +50718,7 @@ { "name": "tinstant_before_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48775,7 +50732,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -48787,6 +50744,7 @@ { "name": "tinstant_restrict_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48812,6 +50770,7 @@ { "name": "tinstant_restrict_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48837,6 +50796,7 @@ { "name": "tinstant_restrict_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48850,7 +50810,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "atfunc", @@ -48862,6 +50822,7 @@ { "name": "tinstant_restrict_tstzset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48875,7 +50836,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "atfunc", @@ -48887,6 +50848,7 @@ { "name": "tinstant_restrict_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48912,6 +50874,7 @@ { "name": "tinstant_restrict_values", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -48925,7 +50888,7 @@ { "name": "set", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "atfunc", @@ -48937,15 +50900,16 @@ { "name": "tnumber_restrict_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "span", @@ -48962,15 +50926,16 @@ { "name": "tnumber_restrict_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "ss", @@ -48987,6 +50952,7 @@ { "name": "tnumberinst_restrict_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -49012,6 +50978,7 @@ { "name": "tnumberinst_restrict_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -49037,6 +51004,7 @@ { "name": "tnumberseqset_restrict_span", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49062,6 +51030,7 @@ { "name": "tnumberseqset_restrict_spanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49087,6 +51056,7 @@ { "name": "tsequence_at_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -49100,16 +51070,17 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" } ] }, { "name": "tsequence_restrict_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -49132,9 +51103,10 @@ { "name": "tsequence_restrict_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -49157,6 +51129,7 @@ { "name": "tsequenceset_after_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49170,7 +51143,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -49182,6 +51155,7 @@ { "name": "tsequenceset_before_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49195,7 +51169,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "strict", @@ -49207,6 +51181,7 @@ { "name": "tsequenceset_restrict_minmax", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49232,6 +51207,7 @@ { "name": "tsequenceset_restrict_tstzspan", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49257,6 +51233,7 @@ { "name": "tsequenceset_restrict_tstzspanset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49282,9 +51259,10 @@ { "name": "tsequenceset_restrict_timestamptz", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -49295,7 +51273,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "atfunc", @@ -49307,9 +51285,10 @@ { "name": "tsequenceset_restrict_tstzset", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { @@ -49320,7 +51299,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "atfunc", @@ -49332,6 +51311,7 @@ { "name": "tsequenceset_restrict_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49357,6 +51337,7 @@ { "name": "tsequenceset_restrict_values", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -49370,7 +51351,7 @@ { "name": "s", "cType": "const Set *", - "canonical": "const Set *" + "canonical": "const struct Set *" }, { "name": "atfunc", @@ -49382,6 +51363,7 @@ { "name": "tinstant_cmp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49402,6 +51384,7 @@ { "name": "tinstant_eq", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -49422,6 +51405,7 @@ { "name": "tsequence_cmp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49442,6 +51426,7 @@ { "name": "tsequence_eq", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -49462,6 +51447,7 @@ { "name": "tsequenceset_cmp", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49482,6 +51468,7 @@ { "name": "tsequenceset_eq", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" @@ -49502,6 +51489,7 @@ { "name": "always_eq_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49515,13 +51503,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_eq_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49530,7 +51519,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49542,6 +51531,7 @@ { "name": "always_ne_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49555,13 +51545,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ne_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49570,7 +51561,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49582,6 +51573,7 @@ { "name": "always_ge_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49595,13 +51587,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_ge_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49610,7 +51603,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49622,6 +51615,7 @@ { "name": "always_gt_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49635,13 +51629,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_gt_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49650,7 +51645,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49662,6 +51657,7 @@ { "name": "always_le_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49675,13 +51671,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_le_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49690,7 +51687,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49702,6 +51699,7 @@ { "name": "always_lt_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49715,13 +51713,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "always_lt_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49730,7 +51729,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49742,6 +51741,7 @@ { "name": "ever_eq_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49755,13 +51755,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_eq_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49770,7 +51771,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49782,6 +51783,7 @@ { "name": "ever_ne_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49795,13 +51797,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ne_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49810,7 +51813,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49822,6 +51825,7 @@ { "name": "ever_ge_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49835,13 +51839,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_ge_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49850,7 +51855,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49862,6 +51867,7 @@ { "name": "ever_gt_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49875,13 +51881,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_gt_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49890,7 +51897,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49902,6 +51909,7 @@ { "name": "ever_le_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49915,13 +51923,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_le_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49930,7 +51939,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49942,6 +51951,7 @@ { "name": "ever_lt_base_temporal", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49955,13 +51965,14 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "ever_lt_temporal_base", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -49970,7 +51981,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -49982,6 +51993,7 @@ { "name": "tnumberinst_abs", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" @@ -49994,9 +52006,31 @@ } ] }, + { + "name": "tnumberinst_distance", + "file": "meos_internal.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, { "name": "tnumberseq_abs", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -50012,6 +52046,7 @@ { "name": "tnumberseq_angular_difference", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -50027,6 +52062,7 @@ { "name": "tnumberseq_delta_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -50042,6 +52078,7 @@ { "name": "tnumberseqset_abs", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -50057,6 +52094,7 @@ { "name": "tnumberseqset_angular_difference", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -50072,6 +52110,7 @@ { "name": "tnumberseqset_delta_value", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -50085,28 +52124,30 @@ ] }, { - "name": "distance_span_span_double", + "name": "tdistance_tnumber_number", "file": "meos_internal.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "s1", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s2", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { "name": "nad_tbox_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50127,6 +52168,7 @@ { "name": "nad_tnumber_number", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50135,7 +52177,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "value", @@ -50147,6 +52189,7 @@ { "name": "nad_tnumber_tbox", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50155,7 +52198,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "box", @@ -50167,6 +52210,7 @@ { "name": "nad_tnumber_tnumber", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50175,58 +52219,19 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tdistance_tnumber_number", - "file": "meos_internal.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - } - ] - }, - { - "name": "tnumberinst_distance", - "file": "meos_internal.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ - { - "name": "inst1", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "inst2", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" + "canonical": "const struct Temporal *" } ] }, { "name": "tnumberseq_integral", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50242,6 +52247,7 @@ { "name": "tnumberseq_twavg", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50257,6 +52263,7 @@ { "name": "tnumberseqset_integral", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50272,6 +52279,7 @@ { "name": "tnumberseqset_twavg", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" @@ -50287,21 +52295,23 @@ { "name": "temporal_compact", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { "name": "tsequence_compact", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequence *", "canonical": "struct TSequence *" @@ -50317,6 +52327,7 @@ { "name": "tsequenceset_compact", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TSequenceSet *", "canonical": "struct TSequenceSet *" @@ -50332,6 +52343,7 @@ { "name": "temporal_skiplist_make", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -50341,6 +52353,7 @@ { "name": "skiplist_make", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "SkipList *", "canonical": "struct SkipList *" @@ -50349,12 +52362,12 @@ { "name": "key_size", "cType": "size_t", - "canonical": "unsigned long" + "canonical": "int (int *)" }, { "name": "value_size", "cType": "size_t", - "canonical": "unsigned long" + "canonical": "int (int *)" }, { "name": "comp_fn", @@ -50371,6 +52384,7 @@ { "name": "skiplist_search", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -50396,6 +52410,7 @@ { "name": "skiplist_free", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -50411,6 +52426,7 @@ { "name": "skiplist_splice", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -50456,6 +52472,7 @@ { "name": "temporal_skiplist_splice", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" @@ -50491,6 +52508,7 @@ { "name": "skiplist_values", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void **", "canonical": "void **" @@ -50506,6 +52524,7 @@ { "name": "skiplist_keys_values", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "void **", "canonical": "void **" @@ -50526,15 +52545,16 @@ { "name": "temporal_app_tinst_transfn", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "state", "cType": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, { "name": "inst", @@ -50553,23 +52573,24 @@ }, { "name": "maxt", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { "name": "temporal_app_tseq_transfn", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "state", "cType": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, { "name": "seq", @@ -50581,6 +52602,7 @@ { "name": "span_bins", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -50611,6 +52633,7 @@ { "name": "spanset_bins", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -50641,6 +52664,7 @@ { "name": "tnumber_value_bins", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Span *", "canonical": "struct Span *" @@ -50649,7 +52673,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "size", @@ -50671,6 +52695,7 @@ { "name": "tnumber_value_time_boxes", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -50679,7 +52704,7 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -50688,8 +52713,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -50699,7 +52724,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "count", @@ -50711,15 +52736,16 @@ { "name": "tnumber_value_split", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "vsize", @@ -50746,6 +52772,7 @@ { "name": "tbox_get_value_time_tile", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "TBox *", "canonical": "struct TBox *" @@ -50759,7 +52786,7 @@ { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "vsize", @@ -50768,8 +52795,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -50779,32 +52806,33 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "basetype", - "cType": "int", - "canonical": "int" + "cType": "MeosType", + "canonical": "MeosType" }, { "name": "spantype", - "cType": "int", - "canonical": "int" + "cType": "MeosType", + "canonical": "MeosType" } ] }, { "name": "tnumber_value_time_split", "file": "meos_internal.h", + "family": "CORE", "returnType": { "c": "Temporal **", - "canonical": "Temporal **" + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "size", @@ -50813,8 +52841,8 @@ }, { "name": "duration", - "cType": "const int *", - "canonical": "const int *" + "cType": "const Interval *", + "canonical": "const Interval *" }, { "name": "vorigin", @@ -50824,7 +52852,7 @@ { "name": "torigin", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { "name": "value_bins", @@ -50834,7 +52862,7 @@ { "name": "time_bins", "cType": "TimestampTz **", - "canonical": "long **" + "canonical": "TimestampTz **" }, { "name": "count", @@ -50844,46 +52872,18 @@ ] }, { - "name": "proj_get_context", - "file": "meos_internal_geo.h", - "returnType": { - "c": "PJ_CONTEXT *", - "canonical": "struct pj_ctx *" - }, - "params": [] - }, - { - "name": "datum_geo_round", - "file": "meos_internal_geo.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "size", - "cType": "Datum", - "canonical": "int ((int *))()" - } - ] - }, - { - "name": "point_round", - "file": "meos_internal_geo.h", + "name": "double2_out", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "d", + "cType": "const double2 *", + "canonical": "const double2 *" }, { "name": "maxdd", @@ -50893,567 +52893,618 @@ ] }, { - "name": "stbox_set", - "file": "meos_internal_geo.h", + "name": "double2_set", + "file": "doublen.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" }, "params": [ { - "name": "hasx", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "hasz", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "geodetic", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "srid", - "cType": "int32", - "canonical": "int" - }, - { - "name": "xmin", - "cType": "double", - "canonical": "double" - }, - { - "name": "xmax", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymin", - "cType": "double", - "canonical": "double" - }, - { - "name": "ymax", - "cType": "double", - "canonical": "double" - }, - { - "name": "zmin", + "name": "a", "cType": "double", "canonical": "double" }, { - "name": "zmax", + "name": "b", "cType": "double", "canonical": "double" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "result", + "cType": "double2 *", + "canonical": "double2 *" } ] }, { - "name": "gbox_set_stbox", - "file": "meos_internal_geo.h", + "name": "double2_add", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "double2 *", + "canonical": "double2 *" }, "params": [ { - "name": "box", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "d1", + "cType": "const double2 *", + "canonical": "const double2 *" }, { - "name": "result", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "d2", + "cType": "const double2 *", + "canonical": "const double2 *" } ] }, { - "name": "geo_set_stbox", - "file": "meos_internal_geo.h", + "name": "double2_eq", + "file": "doublen.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "d1", + "cType": "const double2 *", + "canonical": "const double2 *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "d2", + "cType": "const double2 *", + "canonical": "const double2 *" } ] }, { - "name": "geoarr_set_stbox", - "file": "meos_internal_geo.h", + "name": "double3_out", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "values", - "cType": "Datum *", - "canonical": "int ((*)(int *))()" + "name": "d", + "cType": "const double3 *", + "canonical": "const double3 *" }, { - "name": "count", + "name": "maxdd", "cType": "int", "canonical": "int" - }, - { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" } ] }, { - "name": "spatial_set_stbox", - "file": "meos_internal_geo.h", + "name": "double3_set", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "a", + "cType": "double", + "canonical": "double" }, { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "b", + "cType": "double", + "canonical": "double" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "c", + "cType": "double", + "canonical": "double" + }, + { + "name": "result", + "cType": "double3 *", + "canonical": "double3 *" } ] }, { - "name": "spatialset_set_stbox", - "file": "meos_internal_geo.h", + "name": "double3_add", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "double3 *", + "canonical": "double3 *" }, "params": [ { - "name": "set", - "cType": "const Set *", - "canonical": "const Set *" + "name": "d1", + "cType": "const double3 *", + "canonical": "const double3 *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "d2", + "cType": "const double3 *", + "canonical": "const double3 *" } ] }, { - "name": "stbox_set_box3d", - "file": "meos_internal_geo.h", + "name": "double3_eq", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "d1", + "cType": "const double3 *", + "canonical": "const double3 *" }, { - "name": "box3d", - "cType": "int *", - "canonical": "int *" + "name": "d2", + "cType": "const double3 *", + "canonical": "const double3 *" } ] }, { - "name": "stbox_set_gbox", - "file": "meos_internal_geo.h", + "name": "double4_out", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "d", + "cType": "const double4 *", + "canonical": "const double4 *" }, { - "name": "gbox", - "cType": "int *", - "canonical": "int *" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tstzset_set_stbox", - "file": "meos_internal_geo.h", + "name": "double4_set", + "file": "doublen.h", + "family": "CORE", "returnType": { "c": "void", "canonical": "void" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "a", + "cType": "double", + "canonical": "double" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "b", + "cType": "double", + "canonical": "double" + }, + { + "name": "c", + "cType": "double", + "canonical": "double" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "result", + "cType": "double4 *", + "canonical": "double4 *" } ] }, { - "name": "tstzspan_set_stbox", - "file": "meos_internal_geo.h", + "name": "double4_add", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "double4 *", + "canonical": "double4 *" }, "params": [ { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "d1", + "cType": "const double4 *", + "canonical": "const double4 *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "d2", + "cType": "const double4 *", + "canonical": "const double4 *" } ] }, { - "name": "tstzspanset_set_stbox", - "file": "meos_internal_geo.h", + "name": "double4_eq", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "d1", + "cType": "const double4 *", + "canonical": "const double4 *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "d2", + "cType": "const double4 *", + "canonical": "const double4 *" } ] }, { - "name": "stbox_expand", - "file": "meos_internal_geo.h", + "name": "double2_collinear", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "x1", + "cType": "const double2 *", + "canonical": "const double2 *" }, { - "name": "box2", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "x2", + "cType": "const double2 *", + "canonical": "const double2 *" + }, + { + "name": "x3", + "cType": "const double2 *", + "canonical": "const double2 *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" } ] }, { - "name": "inter_stbox_stbox", - "file": "meos_internal_geo.h", + "name": "double3_collinear", + "file": "doublen.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "box1", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "x1", + "cType": "const double3 *", + "canonical": "const double3 *" }, { - "name": "box2", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "x2", + "cType": "const double3 *", + "canonical": "const double3 *" }, { - "name": "result", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "x3", + "cType": "const double3 *", + "canonical": "const double3 *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" } ] }, { - "name": "stbox_geo", - "file": "meos_internal_geo.h", + "name": "double4_collinear", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "x1", + "cType": "const double4 *", + "canonical": "const double4 *" + }, + { + "name": "x2", + "cType": "const double4 *", + "canonical": "const double4 *" + }, + { + "name": "x3", + "cType": "const double4 *", + "canonical": "const double4 *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" } ] }, { - "name": "tgeogpointinst_from_mfjson", - "file": "meos_internal_geo.h", + "name": "double2segm_interpolate", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "double2 *", + "canonical": "double2 *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "start", + "cType": "const double2 *", + "canonical": "const double2 *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "end", + "cType": "const double2 *", + "canonical": "const double2 *" + }, + { + "name": "ratio", + "cType": "long double", + "canonical": "long double" } ] }, { - "name": "tgeogpointinst_in", - "file": "meos_internal_geo.h", + "name": "double3segm_interpolate", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "double3 *", + "canonical": "double3 *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "start", + "cType": "const double3 *", + "canonical": "const double3 *" + }, + { + "name": "end", + "cType": "const double3 *", + "canonical": "const double3 *" + }, + { + "name": "ratio", + "cType": "long double", + "canonical": "long double" } ] }, { - "name": "tgeogpointseq_from_mfjson", - "file": "meos_internal_geo.h", + "name": "double4segm_interpolate", + "file": "doublen.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "double4 *", + "canonical": "double4 *" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "start", + "cType": "const double4 *", + "canonical": "const double4 *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "end", + "cType": "const double4 *", + "canonical": "const double4 *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "ratio", + "cType": "long double", + "canonical": "long double" } ] }, { - "name": "tgeogpointseq_in", - "file": "meos_internal_geo.h", + "name": "pg_atoi", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", + "name": "s", "cType": "const char *", "canonical": "const char *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "size", + "cType": "int", + "canonical": "int" + }, + { + "name": "c", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeogpointseqset_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_has_X", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeogpointseqset_in", - "file": "meos_internal_geo.h", + "name": "ensure_has_Z", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeompointinst_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_has_T", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeompointinst_in", - "file": "meos_internal_geo.h", + "name": "ensure_has_not_Z", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeompointseq_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_not_null", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, + "name": "ptr", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "ensure_one_not_null", + "file": "temporal.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "ptr1", + "cType": "void *", + "canonical": "void *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "ptr2", + "cType": "void *", + "canonical": "void *" } ] }, { - "name": "tgeompointseq_in", - "file": "meos_internal_geo.h", + "name": "ensure_one_true", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "hasshift", + "cType": "bool", + "canonical": "bool" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "haswidth", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tgeompointseqset_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_valid_interp", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" }, { "name": "interp", @@ -51463,906 +53514,1034 @@ ] }, { - "name": "tgeompointseqset_in", - "file": "meos_internal_geo.h", + "name": "ensure_continuous", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeographyinst_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_same_interp", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeographyinst_in", - "file": "meos_internal_geo.h", + "name": "ensure_same_continuous_interp", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "flags1", + "cType": "int16", + "canonical": "short" + }, + { + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeographyseq_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_linear_interp", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeographyseq_in", - "file": "meos_internal_geo.h", + "name": "ensure_nonlinear_interp", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeographyseqset_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_common_dimension", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tgeographyseqset_in", - "file": "meos_internal_geo.h", + "name": "ensure_temporal_isof_type", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tgeometryinst_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_temporal_isof_basetype", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tgeometryinst_in", - "file": "meos_internal_geo.h", + "name": "ensure_temporal_isof_subtype", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "type", + "cType": "tempSubtype", + "canonical": "tempSubtype" } ] }, { - "name": "tgeometryseq_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_same_temporal_type", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeometryseq_in", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tnumber_numspan", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" } ] }, { - "name": "tgeometryseqset_from_mfjson", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tnumber_numspanset", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "mfjson", - "cType": "json_object *", - "canonical": "struct json_object *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" } ] }, { - "name": "tgeometryseqset_in", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tnumber_tbox", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" } ] }, { - "name": "tspatial_set_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_valid_temporal_set", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "tgeoinst_set_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_valid_temporal_temporal", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatialseq_set_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tnumber_tnumber", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tspatialseqset_set_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_not_negative", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" - }, - { - "name": "box", - "cType": "STBox *", - "canonical": "struct STBox *" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeo_restrict_elevation", - "file": "meos_internal_geo.h", + "name": "ensure_positive", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" - }, - { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "i", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tgeo_restrict_geom", - "file": "meos_internal_geo.h", + "name": "not_negative_datum", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tgeo_restrict_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_not_negative_datum", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tgeoinst_restrict_geom", - "file": "meos_internal_geo.h", + "name": "positive_datum", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "tgeoinst_restrict_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_positive_datum", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" - }, + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_valid_day_duration", + "file": "temporal.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "tgeoseq_restrict_geom", - "file": "meos_internal_geo.h", + "name": "positive_duration", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "tgeoseq_restrict_stbox", - "file": "meos_internal_geo.h", + "name": "ensure_positive_duration", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" - }, - { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" - }, - { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" } ] }, { - "name": "tgeoseqset_restrict_geom", - "file": "meos_internal_geo.h", + "name": "temporal_bbox_ptr", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "void *", + "canonical": "void *" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tgeoseqset_restrict_stbox", - "file": "meos_internal_geo.h", + "name": "intersection_temporal_temporal", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "mode", + "cType": "SyncMode", + "canonical": "SyncMode" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "inter1", + "cType": "Temporal **", + "canonical": "struct Temporal **" + }, + { + "name": "inter2", + "cType": "Temporal **", + "canonical": "struct Temporal **" } ] }, { - "name": "spatial_srid", - "file": "meos_internal_geo.h", + "name": "mobilitydb_version", + "file": "temporal.h", + "family": "CORE", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "char *", + "canonical": "char *" + }, + "params": [] + }, + { + "name": "mobilitydb_full_version", + "file": "temporal.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [] + }, + { + "name": "round_fn", + "file": "temporal.h", + "family": "CORE", + "returnType": { + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, "params": [ - { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" - }, { "name": "basetype", - "cType": "int", - "canonical": "int" + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "spatial_set_srid", - "file": "meos_internal_geo.h", + "name": "temporal_bbox_restrict_value", + "file": "temporal.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "d", - "cType": "Datum", - "canonical": "int ((int *))()" - }, - { - "name": "basetype", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tspatialinst_srid", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tcbuffer_cbuffer", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" - } - ] - }, - { - "name": "tpointseq_azimuth", - "file": "meos_internal_geo.h", - "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" - }, - "params": [ + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" } ] }, { - "name": "tpointseq_cumulative_length", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tcbuffer_geo", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "prevlength", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tpointseq_is_simple", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tcbuffer_stbox", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tpointseq_length", - "file": "meos_internal_geo.h", + "name": "ensure_valid_tcbuffer_tcbuffer", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "tpointseq_linear_trajectory", - "file": "meos_internal_geo.h", + "name": "tcbuffersegm_intersection_value", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "unary_union", - "cType": "bool", - "canonical": "bool" + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "tgeoseq_stboxes", - "file": "meos_internal_geo.h", + "name": "tcbuffersegm_intersection", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "tgeoseq_split_n_stboxes", - "file": "meos_internal_geo.h", + "name": "tcbuffersegm_dwithin_turnpt", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "max_count", - "cType": "int", - "canonical": "int" + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "tpointseqset_azimuth", - "file": "meos_internal_geo.h", + "name": "tcbuffersegm_tdwithin_turnpt", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "tpointseqset_cumulative_length", - "file": "meos_internal_geo.h", + "name": "tcbuffersegm_distance_turnpt", + "file": "tcbuffer.h", + "family": "CBUFFER", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpointseqset_is_simple", - "file": "meos_internal_geo.h", + "name": "cbuffer_set_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" - } - ] - }, - { - "name": "tpointseqset_length", - "file": "meos_internal_geo.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tgeoseqset_stboxes", - "file": "meos_internal_geo.h", + "name": "cbufferarr_set_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" }, { "name": "count", - "cType": "int *", - "canonical": "int *" + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tgeoseqset_split_n_stboxes", - "file": "meos_internal_geo.h", + "name": "cbuffer_timestamptz_set_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "max_count", - "cType": "int", - "canonical": "int" + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tpoint_get_coord", - "file": "meos_internal_geo.h", + "name": "cbuffer_tstzspan_set_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "coord", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tgeominst_tgeoginst", - "file": "meos_internal_geo.h", + "name": "tcbufferinst_set_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "void", + "canonical": "void" }, "params": [ { @@ -52371,3058 +54550,3526 @@ "canonical": "const struct TInstant *" }, { - "name": "oper", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tgeomseq_tgeogseq", - "file": "meos_internal_geo.h", + "name": "tcbufferinstarr_set_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" }, { - "name": "oper", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tgeomseqset_tgeogseqset", - "file": "meos_internal_geo.h", + "name": "tcbufferseq_expand_stbox", + "file": "tcbuffer_boxops.h", + "family": "CBUFFER", "returnType": { - "c": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "oper", - "cType": "bool", - "canonical": "bool" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "tgeom_tgeog", - "file": "meos_internal_geo.h", + "name": "tcbufferinst_traversed_area", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "oper", - "cType": "bool", - "canonical": "bool" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "tgeo_tpoint", - "file": "meos_internal_geo.h", + "name": "tcbufferseq_traversed_area", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "oper", + "name": "unary_union", "cType": "bool", "canonical": "bool" } ] }, { - "name": "tspatialinst_set_srid", - "file": "meos_internal_geo.h", + "name": "tcbufferseqset_traversed_area", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "void", - "canonical": "void" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "inst", - "cType": "TInstant *", - "canonical": "struct TInstant *" + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "unary_union", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tpointseq_make_simple", - "file": "meos_internal_geo.h", + "name": "tcbuffersegm_traversed_area", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "TSequence **", - "canonical": "struct TSequence **" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "tspatialseq_set_srid", - "file": "meos_internal_geo.h", + "name": "tcbuffer_restrict_cbuffer", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "void", - "canonical": "void" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "seq", - "cType": "TSequence *", - "canonical": "struct TSequence *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tpointseqset_make_simple", - "file": "meos_internal_geo.h", + "name": "tcbuffer_restrict_stbox", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "TSequence **", - "canonical": "struct TSequence **" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tspatialseqset_set_srid", - "file": "meos_internal_geo.h", + "name": "tcbuffer_restrict_geom", + "file": "tcbuffer_spatialfuncs.h", + "family": "CBUFFER", "returnType": { - "c": "void", - "canonical": "void" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "ss", - "cType": "TSequenceSet *", - "canonical": "struct TSequenceSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tpointseq_twcentroid", - "file": "meos_internal_geo.h", + "name": "ea_contains_geo_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tpointseqset_twcentroid", - "file": "meos_internal_geo.h", + "name": "ea_contains_tcbuffer_geo", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "ss", - "cType": "const TSequenceSet *", - "canonical": "const struct TSequenceSet *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_as_ewkt", - "file": "meos_npoint.h", + "name": "ea_contains_tcbuffer_cbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_as_hexwkb", - "file": "meos_npoint.h", + "name": "ea_contains_cbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_as_text", - "file": "meos_npoint.h", + "name": "ea_covers_geo_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_as_wkb", - "file": "meos_npoint.h", + "name": "ea_covers_tcbuffer_geo", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_from_hexwkb", - "file": "meos_npoint.h", + "name": "ea_covers_tcbuffer_cbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_from_wkb", - "file": "meos_npoint.h", + "name": "ea_covers_cbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_in", - "file": "meos_npoint.h", + "name": "ea_covers_tcbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_out", - "file": "meos_npoint.h", + "name": "ea_disjoint_tcbuffer_geo", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_in", - "file": "meos_npoint.h", + "name": "ea_disjoint_geo_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Nsegment *", - "canonical": "Nsegment *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_out", - "file": "meos_npoint.h", + "name": "ea_disjoint_tcbuffer_cbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_make", - "file": "meos_npoint.h", + "name": "ea_disjoint_cbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "rid", - "cType": "int64", - "canonical": "long" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "pos", - "cType": "double", - "canonical": "double" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_make", - "file": "meos_npoint.h", + "name": "ea_disjoint_tcbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Nsegment *", - "canonical": "Nsegment *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "rid", - "cType": "int64", - "canonical": "long" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pos1", - "cType": "double", - "canonical": "double" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pos2", - "cType": "double", - "canonical": "double" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geompoint_to_npoint", - "file": "meos_npoint.h", + "name": "ea_intersects_tcbuffer_geo", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geom_to_nsegment", - "file": "meos_npoint.h", + "name": "ea_intersects_geo_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Nsegment *", - "canonical": "Nsegment *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_to_geompoint", - "file": "meos_npoint.h", + "name": "ea_intersects_tcbuffer_cbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_to_nsegment", - "file": "meos_npoint.h", + "name": "ea_intersects_cbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "Nsegment *", - "canonical": "Nsegment *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_to_stbox", - "file": "meos_npoint.h", + "name": "ea_intersects_tcbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_to_geom", - "file": "meos_npoint.h", + "name": "ea_touches_tcbuffer_geo", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_to_stbox", - "file": "meos_npoint.h", + "name": "ea_touches_geo_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_hash", - "file": "meos_npoint.h", + "name": "ea_touches_tcbuffer_cbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_hash_extended", - "file": "meos_npoint.h", + "name": "ea_touches_cbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" }, { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_position", - "file": "meos_npoint.h", + "name": "ea_touches_tcbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_route", - "file": "meos_npoint.h", + "name": "ea_dwithin_tcbuffer_tcbuffer", + "file": "tcbuffer_spatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "int64", - "canonical": "long" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_end_position", - "file": "meos_npoint.h", + "name": "tinterrel_tcbuffer_cbuffer", + "file": "tcbuffer_tempspatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cb", + "cType": "const Cbuffer *", + "canonical": "const struct Cbuffer *" + }, + { + "name": "tinter", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_route", - "file": "meos_npoint.h", + "name": "tinterrel_tcbuffer_geo", + "file": "tcbuffer_tempspatialrels.h", + "family": "CBUFFER", "returnType": { - "c": "int64", - "canonical": "long" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tinter", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nsegment_start_position", - "file": "meos_npoint.h", + "name": "clipper2_clip_poly_poly", + "file": "clip_clipper2.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "subj", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "clip", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "op", + "cType": "int", + "canonical": "int" } ] }, { - "name": "route_exists", - "file": "meos_npoint.h", + "name": "clipper2_traj_poly_periods", + "file": "clip_clipper2.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "rid", - "cType": "int64", - "canonical": "long" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "out_count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "route_geom", - "file": "meos_npoint.h", + "name": "clip_poly_poly", + "file": "geo_poly_clip.h", + "family": "CORE", "returnType": { - "c": "const int *", - "canonical": "const int *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "rid", - "cType": "int64", - "canonical": "long" + "name": "subj", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "clip", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "operation", + "cType": "ClipOper", + "canonical": "ClipOper" } ] }, { - "name": "route_length", - "file": "meos_npoint.h", + "name": "lwproj_lookup", + "file": "meos_transform.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "rid", - "cType": "int64", - "canonical": "long" + "name": "srid_from", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "pj", + "cType": "int **", + "canonical": "int **" } ] }, { - "name": "npoint_round", - "file": "meos_npoint.h", + "name": "spheroid_init_from_srid", + "file": "meos_transform.h", + "family": "CORE", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "s", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "nsegment_round", - "file": "meos_npoint.h", + "name": "srid_check_latlong", + "file": "meos_transform.h", + "family": "CORE", "returnType": { - "c": "Nsegment *", - "canonical": "Nsegment *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" - }, - { - "name": "maxdd", - "cType": "int", + "name": "srid", + "cType": "int32_t", "canonical": "int" } ] }, { - "name": "get_srid_ways", - "file": "meos_npoint.h", - "returnType": { - "c": "int32_t", - "canonical": "int" - }, - "params": [] - }, - { - "name": "npoint_srid", - "file": "meos_npoint.h", + "name": "srid_is_latlong", + "file": "meos_transform.h", + "family": "CORE", "returnType": { - "c": "int32_t", + "c": "int", "canonical": "int" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "nsegment_srid", - "file": "meos_npoint.h", + "name": "geom_serialize", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "ns", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "lwgeom", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "npoint_timestamptz_to_stbox", - "file": "meos_npoint.h", + "name": "geog_serialize", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "lwgeom", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "npoint_tstzspan_to_stbox", - "file": "meos_npoint.h", + "name": "meos_postgis_valid_typmod", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "gs", + "cType": "int *", + "canonical": "int *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "typmod", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "npoint_cmp", - "file": "meos_npoint.h", + "name": "geo_as_wkt", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "precision", + "cType": "int", + "canonical": "int" + }, + { + "name": "extended", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "npoint_eq", - "file": "meos_npoint.h", + "name": "box2d_to_lwgeom", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "box", + "cType": "GBOX *", + "canonical": "GBOX *" }, { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "npoint_ge", - "file": "meos_npoint.h", + "name": "box3d_to_lwgeom", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" - }, - { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "box", + "cType": "BOX3D *", + "canonical": "BOX3D *" } ] }, { - "name": "npoint_gt", - "file": "meos_npoint.h", + "name": "MEOS_POSTGIS2GEOS", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "GEOSGeometry *", + "canonical": "struct GEOSGeom_t *" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" - }, - { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "pglwgeom", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "npoint_le", - "file": "meos_npoint.h", + "name": "MEOS_GEOS2POSTGIS", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "geom", + "cType": "GEOSGeom", + "canonical": "struct GEOSGeom_t *" }, { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "want3d", + "cType": "char", + "canonical": "char" } ] }, { - "name": "npoint_lt", - "file": "meos_npoint.h", + "name": "geom_spatialrel", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "rel", + "cType": "spatialRel", + "canonical": "spatialRel" } ] }, { - "name": "npoint_ne", - "file": "meos_npoint.h", + "name": "lwgeom_line_interpolate_point", + "file": "postgis_funcs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "geom", + "cType": "int *", + "canonical": "int *" }, { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "fraction", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "repeat", + "cType": "char", + "canonical": "char" } ] }, { - "name": "npoint_same", - "file": "meos_npoint.h", + "name": "point_get_coords", + "file": "stbox.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "np1", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "np2", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "x", + "cType": "double *", + "canonical": "double *" + }, + { + "name": "y", + "cType": "double *", + "canonical": "double *" + }, + { + "name": "z", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "nsegment_cmp", - "file": "meos_npoint.h", + "name": "tstzset_stbox_slice", + "file": "stbox.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "tsdatum", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "nsegment_eq", - "file": "meos_npoint.h", + "name": "tstzspanset_stbox_slice", + "file": "stbox.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "psdatum", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "nsegment_ge", - "file": "meos_npoint.h", + "name": "stbox_index_leaf_consistent", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "key", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" } ] }, { - "name": "nsegment_gt", - "file": "meos_npoint.h", + "name": "stbox_gist_inner_consistent", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "key", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" } ] }, { - "name": "nsegment_le", - "file": "meos_npoint.h", + "name": "stbox_index_recheck", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" - }, - { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "strategy", + "cType": "int", + "canonical": "int" } ] }, { - "name": "nsegment_lt", - "file": "meos_npoint.h", + "name": "stboxnode_copy", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STboxNode *", + "canonical": "struct STboxNode *" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" - }, - { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "box", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" } ] }, { - "name": "nsegment_ne", - "file": "meos_npoint.h", + "name": "getQuadrant8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "ns1", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "centroid", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "ns2", - "cType": "const Nsegment *", - "canonical": "const Nsegment *" + "name": "inBox", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "npointset_in", - "file": "meos_npoint.h", + "name": "stboxnode_init", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "centroid", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "nodebox", + "cType": "STboxNode *", + "canonical": "struct STboxNode *" } ] }, { - "name": "npointset_out", - "file": "meos_npoint.h", + "name": "stboxnode_quadtree_next", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "maxdd", + "name": "centroid", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "quadrant", "cType": "int", "canonical": "int" + }, + { + "name": "next_nodebox", + "cType": "STboxNode *", + "canonical": "struct STboxNode *" } ] }, { - "name": "npointset_make", - "file": "meos_npoint.h", + "name": "stboxnode_kdtree_next", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "values", - "cType": "Npoint **", - "canonical": "Npoint **" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "count", + "name": "centroid", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "node", "cType": "int", "canonical": "int" - } - ] - }, - { - "name": "npoint_to_set", - "file": "meos_npoint.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ + }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "level", + "cType": "int", + "canonical": "int" + }, + { + "name": "next_nodebox", + "cType": "STboxNode *", + "canonical": "struct STboxNode *" } ] }, { - "name": "npointset_end_value", - "file": "meos_npoint.h", + "name": "overlap8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "npointset_routes", - "file": "meos_npoint.h", + "name": "overlapKD", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" } ] }, { - "name": "npointset_start_value", - "file": "meos_npoint.h", + "name": "contain8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Npoint *", - "canonical": "Npoint *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "npointset_value_n", - "file": "meos_npoint.h", + "name": "containKD", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "result", - "cType": "Npoint **", - "canonical": "Npoint **" + "name": "level", + "cType": "int", + "canonical": "int" } ] }, { - "name": "npointset_values", - "file": "meos_npoint.h", + "name": "left8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Npoint **", - "canonical": "Npoint **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contained_npoint_set", - "file": "meos_npoint.h", + "name": "overLeft8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "contains_set_npoint", - "file": "meos_npoint.h", + "name": "right8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "intersection_npoint_set", - "file": "meos_npoint.h", + "name": "overRight8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "intersection_set_npoint", - "file": "meos_npoint.h", + "name": "below8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "minus_npoint_set", - "file": "meos_npoint.h", + "name": "overBelow8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "minus_set_npoint", - "file": "meos_npoint.h", + "name": "above8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "npoint_union_transfn", - "file": "meos_npoint.h", + "name": "overAbove8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "state", - "cType": "Set *", - "canonical": "Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "union_npoint_set", - "file": "meos_npoint.h", + "name": "front8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "union_set_npoint", - "file": "meos_npoint.h", + "name": "overFront8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpoint_in", - "file": "meos_npoint.h", + "name": "back8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" - } - ] - }, - { - "name": "tnpoint_from_mfjson", - "file": "meos_npoint.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, { - "name": "mfjson", - "cType": "const char *", - "canonical": "const char *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpoint_out", - "file": "meos_npoint.h", + "name": "overBack8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpointinst_make", - "file": "meos_npoint.h", + "name": "before8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tgeompoint_to_tnpoint", - "file": "meos_npoint.h", + "name": "overBefore8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpoint_to_tgeompoint", - "file": "meos_npoint.h", + "name": "after8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpoint_cumulative_length", - "file": "meos_npoint.h", + "name": "overAfter8D", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" + }, + { + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpoint_length", - "file": "meos_npoint.h", + "name": "distance_stbox_nodebox", + "file": "stbox_index.h", + "family": "CORE", "returnType": { "c": "double", "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "query", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "nodebox", + "cType": "const STboxNode *", + "canonical": "const struct STboxNode *" } ] }, { - "name": "tnpoint_positions", - "file": "meos_npoint.h", + "name": "tspatial_spgist_get_stbox", + "file": "stbox_index.h", + "family": "CORE", "returnType": { - "c": "Nsegment **", - "canonical": "Nsegment **" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "tnpoint_route", - "file": "meos_npoint.h", + "name": "mobilitydb_init", + "file": "tgeo.h", + "family": "CORE", "returnType": { - "c": "int64", - "canonical": "long" + "c": "void", + "canonical": "void" }, - "params": [ - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] + "params": [] }, { - "name": "tnpoint_routes", - "file": "meos_npoint.h", + "name": "geo_stbox", + "file": "tgeo.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "tnpoint_speed", - "file": "meos_npoint.h", + "name": "stbox_geo", + "file": "tgeo.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "tnpoint_trajectory", - "file": "meos_npoint.h", + "name": "tcomp_geo_tgeo", + "file": "tgeo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" } ] }, { - "name": "tnpoint_twcentroid", - "file": "meos_npoint.h", + "name": "tcomp_tgeo_geo", + "file": "tgeo.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" } ] }, { - "name": "tnpoint_at_geom", - "file": "meos_npoint.h", + "name": "ensure_geoaggstate", + "file": "tgeo_aggfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state", + "cType": "const SkipList *", + "canonical": "const struct SkipList *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tnpoint_at_npoint", - "file": "meos_npoint.h", + "name": "ensure_geoaggstate_state", + "file": "tgeo_aggfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state1", + "cType": "const SkipList *", + "canonical": "const struct SkipList *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "state2", + "cType": "const SkipList *", + "canonical": "const struct SkipList *" } ] }, { - "name": "tnpoint_at_npointset", - "file": "meos_npoint.h", + "name": "tpoint_transform_tcentroid", + "file": "tgeo_aggfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Temporal **", + "canonical": "struct Temporal **" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tnpoint_at_stbox", - "file": "meos_npoint.h", + "name": "tpointinst_tcentroid_finalfn", + "file": "tgeo_aggfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "tnpoint_minus_geom", - "file": "meos_npoint.h", + "name": "tpointseq_tcentroid_finalfn", + "file": "tgeo_aggfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "tnpoint_minus_npoint", - "file": "meos_npoint.h", + "name": "point3d_min_dist", + "file": "tgeo_distance.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "p1", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "p2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "p3", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "p4", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "fraction", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "tnpoint_minus_npointset", - "file": "meos_npoint.h", + "name": "tgeompointsegm_distance_turnpt", + "file": "tgeo_distance.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tnpoint_minus_stbox", - "file": "meos_npoint.h", + "name": "tgeogpointsegm_distance_turnpt", + "file": "tgeo_distance.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tdistance_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "tinstant_distance", + "file": "tgeo_distance.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "double", + "canonical": "double" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" } ] }, { - "name": "tdistance_tnpoint_point", - "file": "meos_npoint.h", + "name": "tpointseq_at_geom", + "file": "tgeo_restrict.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "TSequence **", + "canonical": "struct TSequence **" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tdistance_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "tpointseq_interperiods", + "file": "tgeo_restrict.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Span *", + "canonical": "struct Span *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "nad_tnpoint_geo", - "file": "meos_npoint.h", + "name": "datum_point4d", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "p", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "nad_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "geopoint_cmp", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "nad_tnpoint_stbox", - "file": "meos_npoint.h", + "name": "geopoint_eq", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "nad_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "geopoint_same", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "nai_tnpoint_geo", - "file": "meos_npoint.h", + "name": "datum_point_eq", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "point2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "nai_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "datum_point_same", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "point2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "nai_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "datum2_point_eq", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "shortestline_tnpoint_geo", - "file": "meos_npoint.h", + "name": "datum2_point_ne", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "point2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "shortestline_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "datum2_point_same", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "point2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "shortestline_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "datum2_point_nsame", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tnpoint_tcentroid_transfn", - "file": "meos_npoint.h", + "name": "datum2_geom_centroid", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "SkipList *", - "canonical": "struct SkipList *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "state", - "cType": "SkipList *", - "canonical": "struct SkipList *" - }, - { - "name": "temp", - "cType": "Temporal *", - "canonical": "Temporal *" + "name": "geo", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "always_eq_npoint_tnpoint", - "file": "meos_npoint.h", + "name": "datum2_geog_centroid", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geo", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "always_eq_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "geo_extract_elements", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "count", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "always_eq_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "geo_serialize", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "always_ne_npoint_tnpoint", - "file": "meos_npoint.h", + "name": "geo_distance_fn", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" - }, + "name": "flags", + "cType": "int16", + "canonical": "short" + } + ] + }, + { + "name": "pt_distance_fn", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", + "returnType": { + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "always_ne_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "datum_geom_distance2d", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "always_ne_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "datum_geom_distance3d", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "ever_eq_npoint_tnpoint", - "file": "meos_npoint.h", + "name": "datum_geog_distance", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "geog1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geog2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "ever_eq_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "datum_pt_distance2d", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "ever_eq_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "datum_pt_distance3d", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "ever_ne_npoint_tnpoint", - "file": "meos_npoint.h", + "name": "spatial_flags", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "int16", + "canonical": "short" }, "params": [ { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "ever_ne_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "ensure_srid_is_latlong", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "ever_ne_tnpoint_tnpoint", - "file": "meos_npoint.h", + "name": "ensure_spatial_validity", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" } ] }, { - "name": "teq_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "ensure_not_geodetic", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "flags", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tne_tnpoint_npoint", - "file": "meos_npoint.h", + "name": "ensure_same_geodetic", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "np", - "cType": "const Npoint *", - "canonical": "const Npoint *" + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "pose_as_ewkt", - "file": "meos_pose.h", + "name": "ensure_same_geodetic_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_as_hexwkb", - "file": "meos_pose.h", + "name": "ensure_same_geodetic_tspatial_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "size", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_as_text", - "file": "meos_pose.h", + "name": "ensure_same_geodetic_tspatial_base", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "base", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "pose_as_wkb", - "file": "meos_pose.h", + "name": "ensure_srid_known", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "uint8_t *", - "canonical": "unsigned char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, - { - "name": "variant", - "cType": "uint8_t", - "canonical": "unsigned char" - }, - { - "name": "size_out", - "cType": "size_t *", - "canonical": "unsigned long *" + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "pose_from_wkb", - "file": "meos_pose.h", + "name": "ensure_same_srid", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "wkb", - "cType": "const uint8_t *", - "canonical": "const unsigned char *" + "name": "srid1", + "cType": "int32_t", + "canonical": "int" }, { - "name": "size", - "cType": "size_t", - "canonical": "unsigned long" + "name": "srid2", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "pose_from_hexwkb", - "file": "meos_pose.h", + "name": "ensure_srid_reconcile", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "hexwkb", - "cType": "const char *", - "canonical": "const char *" + "name": "srid1", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "srid2", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "result", + "cType": "int32_t *", + "canonical": "int *" } ] }, { - "name": "pose_in", - "file": "meos_pose.h", + "name": "ensure_same_dimensionality", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "flags1", + "cType": "int16", + "canonical": "short" + }, + { + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "pose_out", - "file": "meos_pose.h", + "name": "same_spatial_dimensionality", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "pose_copy", - "file": "meos_pose.h", + "name": "ensure_same_spatial_dimensionality", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "flags1", + "cType": "int16", + "canonical": "short" + }, + { + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "pose_make_2d", - "file": "meos_pose.h", + "name": "ensure_same_dimensionality_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "x", - "cType": "double", - "canonical": "double" - }, - { - "name": "y", - "cType": "double", - "canonical": "double" - }, - { - "name": "theta", - "cType": "double", - "canonical": "double" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_make_3d", - "file": "meos_pose.h", + "name": "same_dimensionality_tspatial_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "x", - "cType": "double", - "canonical": "double" - }, - { - "name": "y", - "cType": "double", - "canonical": "double" - }, - { - "name": "z", - "cType": "double", - "canonical": "double" - }, - { - "name": "W", - "cType": "double", - "canonical": "double" - }, - { - "name": "X", - "cType": "double", - "canonical": "double" - }, - { - "name": "Y", - "cType": "double", - "canonical": "double" - }, - { - "name": "Z", - "cType": "double", - "canonical": "double" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_make_point2d", - "file": "meos_pose.h", + "name": "ensure_same_dimensionality_tspatial_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "theta", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_make_point3d", - "file": "meos_pose.h", + "name": "ensure_same_spatial_dimensionality_stbox_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "W", - "cType": "double", - "canonical": "double" - }, - { - "name": "X", - "cType": "double", - "canonical": "double" - }, - { - "name": "Y", - "cType": "double", - "canonical": "double" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "Z", - "cType": "double", - "canonical": "double" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_to_point", - "file": "meos_pose.h", + "name": "ensure_same_geodetic_stbox_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_to_stbox", - "file": "meos_pose.h", + "name": "ensure_has_Z_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_hash", - "file": "meos_pose.h", + "name": "ensure_has_not_Z_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "uint32", - "canonical": "unsigned int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_hash_extended", - "file": "meos_pose.h", + "name": "ensure_has_M_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "uint64", - "canonical": "unsigned long" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, - { - "name": "seed", - "cType": "uint64", - "canonical": "unsigned long" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_orientation", - "file": "meos_pose.h", + "name": "ensure_has_not_M_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double *", - "canonical": "double *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_rotation", - "file": "meos_pose.h", + "name": "ensure_not_geodetic_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_round", - "file": "meos_pose.h", + "name": "ensure_point_type", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "posearr_round", - "file": "meos_pose.h", + "name": "ensure_mline_type", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose **", - "canonical": "struct Pose **" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "posearr", - "cType": "const Pose **", - "canonical": "const struct Pose **" - }, - { - "name": "count", - "cType": "int", - "canonical": "int" - }, - { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_set_srid", - "file": "meos_pose.h", + "name": "circle_type", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "void", - "canonical": "void" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "Pose *", - "canonical": "struct Pose *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_srid", - "file": "meos_pose.h", + "name": "ensure_circle_type", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int32_t", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_transform", - "file": "meos_pose.h", + "name": "ensure_not_empty", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_transform_pipeline", - "file": "meos_pose.h", + "name": "ensure_valid_stbox_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, - { - "name": "pipelinestr", - "cType": "const char *", - "canonical": "const char *" - }, - { - "name": "srid", - "cType": "int32_t", - "canonical": "int" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "is_forward", - "cType": "bool", - "canonical": "bool" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_tstzspan_to_stbox", - "file": "meos_pose.h", + "name": "ensure_valid_tspatial_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_timestamptz_to_stbox", - "file": "meos_pose.h", + "name": "ensure_valid_tspatial_base", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "STBox *", - "canonical": "struct STBox *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "base", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "distance_pose_geo", - "file": "meos_pose.h", + "name": "ensure_valid_tspatial_tspatial", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "distance_pose_pose", - "file": "meos_pose.h", + "name": "ensure_valid_spatial_stbox_stbox", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "distance_pose_stbox", - "file": "meos_pose.h", + "name": "ensure_valid_tgeo_stbox", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { "name": "box", @@ -55432,1118 +58079,1566 @@ ] }, { - "name": "pose_cmp", - "file": "meos_pose.h", + "name": "ensure_valid_geo_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_eq", - "file": "meos_pose.h", + "name": "ensure_valid_tgeo_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_ge", - "file": "meos_pose.h", + "name": "ensure_valid_tgeo_tgeo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "pose_gt", - "file": "meos_pose.h", + "name": "ensure_valid_tpoint_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" } ] }, { - "name": "pose_le", - "file": "meos_pose.h", + "name": "ensure_valid_tpoint_tpoint", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "pose_lt", - "file": "meos_pose.h", + "name": "mline_type", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tpoint_get_coord", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "coord", + "cType": "int", + "canonical": "int" } ] }, { - "name": "pose_ne", - "file": "meos_pose.h", + "name": "eacomp_tgeo_geo", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "pose_nsame", - "file": "meos_pose.h", + "name": "closest_point2d_on_segment_ratio", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "long double", + "canonical": "long double" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "p", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "A", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "B", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "closest", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "pose_same", - "file": "meos_pose.h", + "name": "closest_point3dz_on_segment_ratio", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "long double", + "canonical": "long double" }, "params": [ { - "name": "pose1", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "p", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "pose2", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "A", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "B", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "closest", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "poseset_in", - "file": "meos_pose.h", + "name": "closest_point_on_segment_sphere", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "long double", + "canonical": "long double" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "p", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "A", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "B", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "closest", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "dist", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "poseset_out", - "file": "meos_pose.h", + "name": "interpolate_point4d_spheroid", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "void", + "canonical": "void" }, "params": [ + { + "name": "p1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "p2", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "p", + "cType": "int *", + "canonical": "int *" + }, { "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "cType": "const int *", + "canonical": "const int *" }, { - "name": "maxdd", - "cType": "int", - "canonical": "int" + "name": "f", + "cType": "double", + "canonical": "double" } ] }, { - "name": "poseset_make", - "file": "meos_pose.h", + "name": "geopoint_make", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "values", - "cType": "const Pose **", - "canonical": "const struct Pose **" + "name": "x", + "cType": "double", + "canonical": "double" }, { - "name": "count", - "cType": "int", + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", "canonical": "int" } ] }, { - "name": "pose_to_set", - "file": "meos_pose.h", + "name": "lwcircle_make", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "radius", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "poseset_end_value", - "file": "meos_pose.h", + "name": "geocircle_make", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "radius", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" } ] }, { - "name": "poseset_start_value", - "file": "meos_pose.h", + "name": "pointsegm_interpolate", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ratio", + "cType": "long double", + "canonical": "long double" } ] }, { - "name": "poseset_value_n", - "file": "meos_pose.h", + "name": "pointsegm_locate", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "long double", + "canonical": "long double" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "result", - "cType": "Pose **", - "canonical": "struct Pose **" + "name": "point", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dist", + "cType": "double *", + "canonical": "double *" } ] }, { - "name": "poseset_values", - "file": "meos_pose.h", + "name": "tgeompointsegm_intersection", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Pose **", - "canonical": "struct Pose **" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "contained_pose_set", - "file": "meos_pose.h", + "name": "tgeogpointsegm_intersection", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "contains_set_pose", - "file": "meos_pose.h", + "name": "geopoint_collinear", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { "c": "bool", "canonical": "bool" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "value1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "pose", - "cType": "Pose *", - "canonical": "struct Pose *" + "name": "value2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value3", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "intersection_pose_set", - "file": "meos_pose.h", + "name": "lwpointarr_remove_duplicates", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int **", + "canonical": "int **" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "points", + "cType": "int **", + "canonical": "int **" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "intersection_set_pose", - "file": "meos_pose.h", + "name": "lwpointarr_make_trajectory", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "points", + "cType": "int **", + "canonical": "int **" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" } ] }, { - "name": "minus_pose_set", - "file": "meos_pose.h", + "name": "lwline_make", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "value1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "value2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "minus_set_pose", - "file": "meos_pose.h", + "name": "lwcoll_from_points_lines", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int *", + "canonical": "int *" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "points", + "cType": "int **", + "canonical": "int **" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "lines", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "npoints", + "cType": "int", + "canonical": "int" + }, + { + "name": "nlines", + "cType": "int", + "canonical": "int" } ] }, { - "name": "pose_union_transfn", - "file": "meos_pose.h", + "name": "tpointseq_stops_iter", + "file": "tgeo_spatialfuncs.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "state", - "cType": "Set *", - "canonical": "Set *" + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "mintunits", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" } ] }, { - "name": "union_pose_set", - "file": "meos_pose.h", + "name": "datum_geom_contains", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "union_set_pose", - "file": "meos_pose.h", + "name": "datum_geom_covers", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_in", - "file": "meos_pose.h", + "name": "datum_geom_disjoint2d", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_make", - "file": "meos_pose.h", + "name": "datum_geom_disjoint3d", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "tpoint", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "tradius", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_to_tpoint", - "file": "meos_pose.h", + "name": "datum_geog_disjoint", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geog1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geog2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_end_value", - "file": "meos_pose.h", + "name": "datum_geom_intersects2d", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_points", - "file": "meos_pose.h", + "name": "datum_geom_intersects3d", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Set *", - "canonical": "Set *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_rotation", - "file": "meos_pose.h", + "name": "datum_geog_intersects", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geog1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geog2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_start_value", - "file": "meos_pose.h", + "name": "datum_geom_touches", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Pose *", - "canonical": "struct Pose *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_trajectory", - "file": "meos_pose.h", + "name": "datum_geom_dwithin2d", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_value_at_timestamptz", - "file": "meos_pose.h", + "name": "datum_geom_dwithin3d", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "geom1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "strict", - "cType": "bool", - "canonical": "bool" + "name": "geom2", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "value", - "cType": "Pose **", - "canonical": "struct Pose **" + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_value_n", - "file": "meos_pose.h", + "name": "datum_geog_dwithin", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geog1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "geog2", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "result", - "cType": "Pose **", - "canonical": "struct Pose **" + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_values", - "file": "meos_pose.h", + "name": "datum_geom_relate_pattern", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Pose **", - "canonical": "struct Pose **" + "c": "Datum", + "canonical": "Datum" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "geog1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "geog2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "p", + "cType": "Datum", + "canonical": "int ((int *))()" } ] }, { - "name": "tpose_at_geom", - "file": "meos_pose.h", + "name": "geo_disjoint_fn", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tpose_at_stbox", - "file": "meos_pose.h", + "name": "geo_disjoint_fn_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "flags2", + "cType": "uint8_t", + "canonical": "unsigned char" } ] }, { - "name": "tpose_at_pose", - "file": "meos_pose.h", + "name": "geo_intersects_fn", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tpose_minus_geom", - "file": "meos_pose.h", + "name": "geo_intersects_fn_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "flags2", + "cType": "uint8_t", + "canonical": "unsigned char" } ] }, { - "name": "tpose_minus_pose", - "file": "meos_pose.h", + "name": "geo_dwithin_fn", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "datum_func3", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "flags2", + "cType": "int16", + "canonical": "short" } ] }, { - "name": "tpose_minus_stbox", - "file": "meos_pose.h", + "name": "geo_dwithin_fn_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "datum_func3", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))())" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "flags1", + "cType": "int16", + "canonical": "short" }, { - "name": "border_inc", - "cType": "bool", - "canonical": "bool" + "name": "flags2", + "cType": "uint8_t", + "canonical": "unsigned char" } ] }, { - "name": "tdistance_tpose_pose", - "file": "meos_pose.h", + "name": "tpointsegm_tdwithin_turnpt", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" } ] }, { - "name": "tdistance_tpose_point", - "file": "meos_pose.h", + "name": "spatialrel_geo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "varfunc", + "canonical": "int (*)(int ((*)(int *))(), ...)" + }, + { + "name": "numparam", + "cType": "int", + "canonical": "int" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tdistance_tpose_tpose", - "file": "meos_pose.h", + "name": "spatialrel_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "nad_tpose_geo", - "file": "meos_pose.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "func", + "cType": "varfunc", + "canonical": "int (*)(int ((*)(int *))(), ...)" + }, + { + "name": "numparam", + "cType": "int", + "canonical": "int" } ] }, { - "name": "nad_tpose_pose", - "file": "meos_pose.h", + "name": "ea_contains_geo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nad_tpose_stbox", - "file": "meos_pose.h", + "name": "ea_contains_tgeo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nad_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_contains_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nai_tpose_geo", - "file": "meos_pose.h", + "name": "ea_covers_geo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nai_tpose_pose", - "file": "meos_pose.h", + "name": "ea_covers_tgeo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "nai_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_covers_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "shortestline_tpose_geo", - "file": "meos_pose.h", + "name": "ea_disjoint_geo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "shortestline_tpose_pose", - "file": "meos_pose.h", + "name": "ea_disjoint_tgeo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "shortestline_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_disjoint_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "always_eq_pose_tpose", - "file": "meos_pose.h", + "name": "ea_intersects_geo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "always_eq_tpose_pose", - "file": "meos_pose.h", + "name": "ea_intersects_tgeo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -56552,58 +59647,76 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "always_eq_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_intersects_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "always_ne_pose_tpose", - "file": "meos_pose.h", + "name": "ea_touches_tpoint_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ - { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - }, { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "always_ne_tpose_pose", - "file": "meos_pose.h", + "name": "ea_touches_tgeo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -56612,58 +59725,50 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "always_ne_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_touches_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", + "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "ever_eq_pose_tpose", - "file": "meos_pose.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ - { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "canonical": "const struct Temporal *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "ever_eq_tpose_pose", - "file": "meos_pose.h", + "name": "ea_dwithin_tgeo_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -56672,18 +59777,29 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "ever_eq_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_dwithin_tgeo_tgeo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -56692,38 +59808,29 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "ever_ne_pose_tpose", - "file": "meos_pose.h", - "returnType": { - "c": "int", - "canonical": "int" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "dist", + "cType": "double", + "canonical": "double" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "ever_ne_tpose_pose", - "file": "meos_pose.h", + "name": "ea_spatialrel_tspatial_geo", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -56732,18 +59839,34 @@ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "ever_ne_tpose_tpose", - "file": "meos_pose.h", + "name": "ea_spatialrel_tspatial_tspatial", + "file": "tgeo_spatialrels.h", + "family": "CORE", "returnType": { "c": "int", "canonical": "int" @@ -56752,642 +59875,808 @@ { "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "teq_pose_tpose", - "file": "meos_pose.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "ever", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "teq_tpose_pose", - "file": "meos_pose.h", + "name": "tspatialrel_tspatial_base", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - } - ] - }, - { - "name": "tne_pose_tpose", - "file": "meos_pose.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "base", + "cType": "Datum", + "canonical": "int ((int *))()" + }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "func", + "cType": "varfunc", + "canonical": "int (*)(int ((*)(int *))(), ...)" + }, + { + "name": "numparam", + "cType": "int", + "canonical": "int" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "tne_tpose_pose", - "file": "meos_pose.h", + "name": "tspatialrel_tspatial_tspatial", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" - } - ] - }, - { - "name": "trgeo_out", - "file": "meos_rgeo.h", - "returnType": { - "c": "char *", - "canonical": "char *" - }, - "params": [ - { - "name": "temp", + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeoinst_make", - "file": "meos_rgeo.h", - "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "geom", - "cType": "const int *", - "canonical": "const int *" + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "pose", - "cType": "const Pose *", - "canonical": "const struct Pose *" + "name": "func", + "cType": "varfunc", + "canonical": "int (*)(int ((*)(int *))(), ...)" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "numparam", + "cType": "int", + "canonical": "int" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "geo_tpose_to_trgeo", - "file": "meos_rgeo.h", + "name": "tinterrel_tgeo_geo", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, { "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "tinter", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "trgeo_to_tpose", - "file": "meos_rgeo.h", + "name": "tinterrel_tspatial_base", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "base", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "tinter", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" } ] }, { - "name": "trgeo_to_tpoint", - "file": "meos_rgeo.h", + "name": "tinterrel_tspatial_tspatial", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeo_end_instant", - "file": "meos_rgeo.h", - "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "temp", + "name": "temp2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeo_end_sequence", - "file": "meos_rgeo.h", - "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "tinter", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "trgeo_end_value", - "file": "meos_rgeo.h", + "name": "tdwithin_tspatial_tspatial", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp", + "name": "sync1", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeo_geom", - "file": "meos_rgeo.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "temp", + "name": "sync2", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeo_instant_n", - "file": "meos_rgeo.h", - "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "n", - "cType": "int", - "canonical": "int" + "name": "func", + "cType": "datum_func3", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "tpfn", + "cType": "tpfunc_temp", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int, int, int *, int *)" } ] }, { - "name": "trgeo_instants", - "file": "meos_rgeo.h", + "name": "tdwithin_add_solutions", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { - "c": "TInstant **", - "canonical": "struct TInstant **" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "solutions", + "cType": "int", + "canonical": "int" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" - } - ] - }, - { - "name": "trgeo_points", - "file": "meos_rgeo.h", - "returnType": { - "c": "Set *", - "canonical": "Set *" - }, - "params": [ + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc1", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "t1", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t2", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" } ] }, { - "name": "trgeo_rotation", - "file": "meos_rgeo.h", + "name": "tdwithin_tspatial_spatial", + "file": "tgeo_tempspatialrels.h", + "family": "CORE", "returnType": { "c": "Temporal *", - "canonical": "Temporal *" + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeo_segments", - "file": "meos_rgeo.h", - "returnType": { - "c": "TSequence **", - "canonical": "struct TSequence **" - }, - "params": [ + "canonical": "const struct Temporal *" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "base", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "dist", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "datum_func3", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "tpfn", + "cType": "tpfunc_temp", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int, int, int *, int *)" } ] }, { - "name": "trgeo_sequence_n", - "file": "meos_rgeo.h", + "name": "bitmatrix_make", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "BitMatrix *", + "canonical": "BitMatrix *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "count", + "cType": "const int *", + "canonical": "const int *" }, { - "name": "i", + "name": "ndims", "cType": "int", "canonical": "int" } ] }, { - "name": "trgeo_sequences", - "file": "meos_rgeo.h", + "name": "tpoint_set_tiles", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "TSequence **", - "canonical": "struct TSequence **" + "c": "int", + "canonical": "int" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "count", - "cType": "int *", - "canonical": "int *" + "name": "state", + "cType": "const STboxGridState *", + "canonical": "const struct STboxGridState *" + }, + { + "name": "bm", + "cType": "BitMatrix *", + "canonical": "BitMatrix *" } ] }, { - "name": "trgeo_start_instant", - "file": "meos_rgeo.h", + "name": "tpoint_at_tile", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" } ] }, { - "name": "trgeo_start_sequence", - "file": "meos_rgeo.h", + "name": "stbox_tile_state_set", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "TSequence *", - "canonical": "struct TSequence *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "trgeo_start_value", - "file": "meos_rgeo.h", - "returnType": { - "c": "int *", - "canonical": "int *" - }, - "params": [ + "name": "x", + "cType": "double", + "canonical": "double" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "tunits", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hast", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "trgeo_value_n", - "file": "meos_rgeo.h", + "name": "stbox_tile_state_make", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "bool", - "canonical": "bool" + "c": "STboxGridState *", + "canonical": "struct STboxGridState *" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "n", + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", "cType": "int", "canonical": "int" }, { - "name": "result", - "cType": "int **", - "canonical": "int **" + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" } ] }, { - "name": "trgeo_traversed_area", - "file": "meos_rgeo.h", + "name": "stbox_tile_state_next", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "state", + "cType": "STboxGridState *", + "canonical": "struct STboxGridState *" + } + ] + }, + { + "name": "stbox_tile_state_get", + "file": "tgeo_tile.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "state", + "cType": "STboxGridState *", + "canonical": "struct STboxGridState *" }, { - "name": "unary_union", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "trgeo_append_tinstant", - "file": "meos_rgeo.h", + "name": "tgeo_space_time_tile_init", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STboxGridState *", + "canonical": "struct STboxGridState *" }, "params": [ { "name": "temp", - "cType": "Temporal *", - "canonical": "Temporal *" + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "inst", - "cType": "const TInstant *", - "canonical": "const struct TInstant *" + "name": "xsize", + "cType": "double", + "canonical": "double" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "ysize", + "cType": "double", + "canonical": "double" }, { - "name": "maxdist", + "name": "zsize", "cType": "double", "canonical": "double" }, { - "name": "maxt", - "cType": "const int *", - "canonical": "const int *" + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" }, { - "name": "expand", - "cType": "bool", - "canonical": "bool" - } - ] - }, - { - "name": "trgeo_append_tsequence", - "file": "meos_rgeo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, { - "name": "temp", - "cType": "Temporal *", - "canonical": "Temporal *" + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" }, { - "name": "seq", - "cType": "const TSequence *", - "canonical": "const struct TSequence *" + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" }, { - "name": "expand", + "name": "border_inc", "cType": "bool", "canonical": "bool" + }, + { + "name": "ntiles", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "trgeo_delete_timestamptz", - "file": "meos_rgeo.h", + "name": "stbox_space_time_tile", + "file": "tgeo_tile.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" }, { "name": "t", "cType": "TimestampTz", - "canonical": "long" + "canonical": "TimestampTz" }, { - "name": "connect", + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hast", "cType": "bool", "canonical": "bool" } ] }, { - "name": "trgeo_delete_tstzset", - "file": "meos_rgeo.h", + "name": "create_trip", + "file": "tpoint_datagen.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "lines", + "cType": "int **", + "canonical": "int **" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "maxSpeeds", + "cType": "const double *", + "canonical": "const double *" }, { - "name": "connect", + "name": "categories", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "noEdges", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "startTime", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "disturbData", "cType": "bool", "canonical": "bool" + }, + { + "name": "verbosity", + "cType": "int", + "canonical": "int" } ] }, { - "name": "trgeo_delete_tstzspan", - "file": "meos_rgeo.h", + "name": "spatialarr_wkt_out", + "file": "tspatial.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char **", + "canonical": "char **" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "spatialarr", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "connect", + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "extended", "cType": "bool", "canonical": "bool" } ] }, { - "name": "trgeo_delete_tstzspanset", - "file": "meos_rgeo.h", + "name": "spatialbase_as_text", + "file": "tspatial.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "connect", - "cType": "bool", - "canonical": "bool" + "name": "maxdd", + "cType": "int", + "canonical": "int" } ] }, { - "name": "trgeo_round", - "file": "meos_rgeo.h", + "name": "spatialbase_as_ewkt", + "file": "tspatial.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "char *", + "canonical": "char *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" }, { "name": "maxdd", @@ -57397,861 +60686,911 @@ ] }, { - "name": "trgeo_set_interp", - "file": "meos_rgeo.h", + "name": "point_transf_pj", + "file": "tspatial.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" }, { - "name": "interp", - "cType": "interpType", - "canonical": "interpType" + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "pj", + "cType": "const int *", + "canonical": "const int *" } ] }, { - "name": "trgeo_to_tinstant", - "file": "meos_rgeo.h", + "name": "tgeoinst_set_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "trgeo_after_timestamptz", - "file": "meos_rgeo.h", + "name": "tgeoinstarr_set_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "strict", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "trgeo_before_timestamptz", - "file": "meos_rgeo.h", + "name": "tgeoseq_expand_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" }, { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tspatialinst_set_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "strict", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "trgeo_restrict_value", - "file": "meos_rgeo.h", + "name": "tspatialinstarr_set_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" }, { - "name": "value", - "cType": "Datum", - "canonical": "int ((int *))()" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "atfunc", + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", "cType": "bool", "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" } ] }, { - "name": "trgeo_restrict_values", - "file": "meos_rgeo.h", + "name": "tspatialseqarr_set_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "count", + "cType": "int", + "canonical": "int" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" } ] }, { - "name": "trgeo_restrict_timestamptz", - "file": "meos_rgeo.h", + "name": "tspatialseq_expand_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" } ] }, { - "name": "trgeo_restrict_tstzset", - "file": "meos_rgeo.h", + "name": "spatialarr_set_bbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "void", + "canonical": "void" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" }, { - "name": "s", - "cType": "const Set *", - "canonical": "const Set *" + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" } ] }, { - "name": "trgeo_restrict_tstzspan", - "file": "meos_rgeo.h", + "name": "boxop_tspatial_stbox", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { "name": "temp", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "s", - "cType": "const Span *", - "canonical": "const struct Span *" + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" }, { - "name": "atfunc", + "name": "bool", + "cType": "int (int *)", + "canonical": "int (int *)" + }, + { + "name": "invert", "cType": "bool", "canonical": "bool" } ] }, { - "name": "trgeo_restrict_tstzspanset", - "file": "meos_rgeo.h", + "name": "boxop_tspatial_tspatial", + "file": "tspatial_boxops.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", + "name": "temp1", "cType": "const Temporal *", - "canonical": "const Temporal *" + "canonical": "const struct Temporal *" }, { - "name": "ss", - "cType": "const SpanSet *", - "canonical": "const struct SpanSet *" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "atfunc", - "cType": "bool", - "canonical": "bool" + "name": "bool", + "cType": "int (int *)", + "canonical": "int (int *)" } ] }, { - "name": "tdistance_trgeo_geo", - "file": "meos_rgeo.h", + "name": "srid_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "srid", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "tdistance_trgeo_tpoint", - "file": "meos_rgeo.h", + "name": "spatial_parse_elem", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "tdistance_trgeo_trgeo", - "file": "meos_rgeo.h", - "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" - }, - "params": [ - { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" - } - ] - }, - { - "name": "nad_stbox_trgeo", - "file": "meos_rgeo.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ + "name": "delim", + "cType": "char", + "canonical": "char" + }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "temp_srid", + "cType": "int *", + "canonical": "int *" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" } ] }, { - "name": "nad_trgeo_geo", - "file": "meos_rgeo.h", + "name": "geo_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - } - ] - }, - { - "name": "nad_trgeo_stbox", - "file": "meos_rgeo.h", - "returnType": { - "c": "double", - "canonical": "double" - }, - "params": [ + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "delim", + "cType": "char", + "canonical": "char" }, { - "name": "box", - "cType": "const STBox *", - "canonical": "const struct STBox *" + "name": "srid", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" } ] }, { - "name": "nad_trgeo_tpoint", - "file": "meos_rgeo.h", + "name": "stbox_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "STBox *", + "canonical": "struct STBox *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" } ] }, { - "name": "nad_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "tpoint_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "double", - "canonical": "double" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "nai_trgeo_geo", - "file": "meos_rgeo.h", + "name": "tspatialinst_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { "c": "TInstant *", "canonical": "struct TInstant *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp_srid", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "nai_trgeo_tpoint", - "file": "meos_rgeo.h", + "name": "tspatialseq_disc_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "temp_srid", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "nai_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "tspatialseq_cont_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "TInstant *", - "canonical": "struct TInstant *" + "c": "TSequence *", + "canonical": "struct TSequence *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp_srid", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "shortestline_trgeo_geo", - "file": "meos_rgeo.h", + "name": "tspatialseqset_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "temp_srid", + "cType": "int *", + "canonical": "int *" } ] }, { - "name": "shortestline_trgeo_tpoint", - "file": "meos_rgeo.h", + "name": "tspatial_parse", + "file": "tspatial_parser.h", + "family": "CORE", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "Temporal *", + "canonical": "struct Temporal *" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "str", + "cType": "const char **", + "canonical": "const char **" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" } ] }, { - "name": "shortestline_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_are_neighbor_cells_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int *", - "canonical": "int *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "destination", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "always_eq_geo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_cells_to_directed_edge_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "destination", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "always_eq_trgeo_geo", - "file": "meos_rgeo.h", + "name": "h3_is_valid_directed_edge_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "always_eq_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_get_directed_edge_origin_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "always_ne_geo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_get_directed_edge_destination_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "always_ne_trgeo_geo", - "file": "meos_rgeo.h", + "name": "h3_cell_to_parent_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "resolution", + "cType": "int", + "canonical": "int" } ] }, { - "name": "always_ne_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_cell_to_center_child_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "resolution", + "cType": "int", + "canonical": "int" } ] }, { - "name": "ever_eq_geo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_cell_to_child_pos_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "child", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "parentRes", + "cType": "int", + "canonical": "int" } ] }, { - "name": "ever_eq_trgeo_geo", - "file": "meos_rgeo.h", + "name": "h3_child_pos_to_cell_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "childPos", + "cType": "int64_t", + "canonical": "int64_t" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "parent", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "childRes", + "cType": "int", + "canonical": "int" } ] }, { - "name": "ever_eq_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_get_resolution_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "ever_ne_geo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_get_base_cell_number_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "ever_ne_trgeo_geo", - "file": "meos_rgeo.h", + "name": "h3_is_valid_cell_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "ever_ne_trgeo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_is_res_class_iii_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "temp1", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "temp2", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "teq_geo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_is_pentagon_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" - }, - { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "hex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "teq_trgeo_geo", - "file": "meos_rgeo.h", + "name": "h3_get_num_cells_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" - }, - { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "resolution", + "cType": "int", + "canonical": "int" } ] }, { - "name": "tne_geo_trgeo", - "file": "meos_rgeo.h", + "name": "h3_grid_distance_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "int64_t", + "canonical": "int64_t" }, "params": [ { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "originIndex", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "h3Index", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "tne_trgeo_geo", - "file": "meos_rgeo.h", + "name": "h3_cell_to_vertex_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "Temporal *", - "canonical": "Temporal *" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { - "name": "temp", - "cType": "const Temporal *", - "canonical": "const Temporal *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "gs", - "cType": "const int *", - "canonical": "const int *" + "name": "vertexNum", + "cType": "int", + "canonical": "int" } ] }, { - "name": "geo_get_srid", - "file": "postgis_ext_defs.in.h", + "name": "h3_is_valid_vertex_meos", + "file": "h3_generated.h", + "family": "H3", "returnType": { - "c": "int32", - "canonical": "int" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "g", - "cType": "const GSERIALIZED *", - "canonical": "const GSERIALIZED *" + "name": "vertex", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "date_in", - "file": "postgres_ext_defs.in.h", + "name": "h3index_in", + "file": "h3index.h", + "family": "H3", "returnType": { - "c": "DateADT", - "canonical": "int" + "c": "H3Index", + "canonical": "unsigned long" }, "params": [ { @@ -58262,276 +61601,39576 @@ ] }, { - "name": "date_out", - "file": "postgres_ext_defs.in.h", - "returnType": { + "name": "h3index_out", + "file": "h3index.h", + "family": "H3", + "returnType": { "c": "char *", "canonical": "char *" }, "params": [ { - "name": "d", - "cType": "DateADT", - "canonical": "int" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "interval_cmp", - "file": "postgres_ext_defs.in.h", + "name": "h3index_eq", + "file": "h3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3index_ne", + "file": "h3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3index_lt", + "file": "h3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3index_le", + "file": "h3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3index_gt", + "file": "h3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3index_ge", + "file": "h3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3index_cmp", + "file": "h3index.h", + "family": "H3", "returnType": { "c": "int", "canonical": "int" }, "params": [ { - "name": "interv1", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "a", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "interv2", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "b", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "interval_in", - "file": "postgres_ext_defs.in.h", + "name": "h3index_hash", + "file": "h3index.h", + "family": "H3", "returnType": { - "c": "Interval *", - "canonical": "Interval *" + "c": "int", + "canonical": "int" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_grid_disk", + "file": "h3index_sets.h", + "family": "H3", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "typmod", - "cType": "int32", + "name": "k", + "cType": "int", "canonical": "int" } ] }, { - "name": "interval_out", - "file": "postgres_ext_defs.in.h", + "name": "h3_grid_ring", + "file": "h3index_sets.h", + "family": "H3", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "interv", - "cType": "const Interval *", - "canonical": "const Interval *" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "k", + "cType": "int", + "canonical": "int" } ] }, { - "name": "time_in", - "file": "postgres_ext_defs.in.h", + "name": "h3_grid_path_cells", + "file": "h3index_sets.h", + "family": "H3", "returnType": { - "c": "TimeADT", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "start", + "cType": "H3Index", + "canonical": "unsigned long" }, { - "name": "typmod", - "cType": "int32", + "name": "end", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_cell_to_children", + "file": "h3index_sets.h", + "family": "H3", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "childRes", + "cType": "int", "canonical": "int" } ] }, { - "name": "time_out", - "file": "postgres_ext_defs.in.h", + "name": "h3_compact_cells", + "file": "h3index_sets.h", + "family": "H3", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "t", - "cType": "TimeADT", - "canonical": "long" + "name": "cells", + "cType": "const Set *", + "canonical": "const struct Set *" } ] }, { - "name": "timestamp_in", - "file": "postgres_ext_defs.in.h", + "name": "h3_uncompact_cells", + "file": "h3index_sets.h", + "family": "H3", "returnType": { - "c": "Timestamp", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "cells", + "cType": "const Set *", + "canonical": "const struct Set *" }, { - "name": "typmod", - "cType": "int32", + "name": "res", + "cType": "int", "canonical": "int" } ] }, { - "name": "timestamp_out", - "file": "postgres_ext_defs.in.h", + "name": "h3_origin_to_directed_edges", + "file": "h3index_sets.h", + "family": "H3", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "t", - "cType": "Timestamp", - "canonical": "long" + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" } ] }, { - "name": "timestamptz_in", - "file": "postgres_ext_defs.in.h", + "name": "h3_cell_to_vertexes", + "file": "h3index_sets.h", + "family": "H3", "returnType": { - "c": "TimestampTz", - "canonical": "long" + "c": "Set *", + "canonical": "struct Set *" }, "params": [ { - "name": "str", - "cType": "const char *", - "canonical": "const char *" + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_get_icosahedron_faces", + "file": "h3index_sets.h", + "family": "H3", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ensure_valid_th3index_th3index", + "file": "th3index.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "typmod", - "cType": "int32", - "canonical": "int" + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" } ] }, { - "name": "timestamptz_out", - "file": "postgres_ext_defs.in.h", + "name": "ensure_valid_th3index_h3index", + "file": "th3index.h", + "family": "H3", "returnType": { - "c": "char *", - "canonical": "char *" + "c": "bool", + "canonical": "bool" }, "params": [ { - "name": "t", - "cType": "TimestampTz", - "canonical": "long" + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" } ] - } - ], - "structs": [ + }, { - "name": "Set", - "file": "meos.h", - "fields": [ + "name": "ensure_valid_th3index_tgeogpoint", + "file": "th3index.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ { - "name": "vl_len_", - "cType": "int32", - "offset_bits": 0 + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" }, { - "name": "settype", - "cType": "uint8", - "offset_bits": 32 + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "datum2_h3index_eq", + "file": "th3index.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d1", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "basetype", - "cType": "uint8", - "offset_bits": 40 + "name": "d2", + "cType": "Datum", + "canonical": "int ((int *))()" }, { - "name": "flags", - "cType": "int16", - "offset_bits": 48 + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_h3index_ne", + "file": "th3index.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "d2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "h3index_set_stbox", + "file": "th3index_boxops.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "h3indexarr_set_stbox", + "file": "th3index_boxops.h", + "family": "H3", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" }, { "name": "count", - "cType": "int32", - "offset_bits": 64 + "cType": "int", + "canonical": "int" }, { - "name": "maxcount", - "cType": "int32", - "offset_bits": 96 + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "th3indexinst_set_stbox", + "file": "th3index_boxops.h", + "family": "H3", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" }, { - "name": "bboxsize", - "cType": "int16", - "offset_bits": 128 + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "th3indexinstarr_set_stbox", + "file": "th3index_boxops.h", + "family": "H3", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "th3indexseq_expand_stbox", + "file": "th3index_boxops.h", + "family": "H3", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "h3_gs_point_to_cell", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "h3_cell_to_gs_point", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_cell_to_gs_boundary", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "cell_boundary_to_gs", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "bnd", + "cType": "const CellBoundary *", + "canonical": "const CellBoundary *" + } + ] + }, + { + "name": "h3_sample_step_deg", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "h3_latlng_deg_to_cell", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "lat_deg", + "cType": "double", + "canonical": "double" + }, + { + "name": "lng_deg", + "cType": "double", + "canonical": "double" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "h3_cell_to_parent_next_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_cell_to_center_child_next_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_directed_edge_to_gs_boundary", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_vertex_to_gs_point", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "vertex", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_cell_to_local_ij_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "h3_local_ij_to_cell_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "origin", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "coord", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "h3_unit_from_cstring", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "H3Unit", + "canonical": "H3Unit" + }, + "params": [ + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "h3_cell_area_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "unit", + "cType": "H3Unit", + "canonical": "H3Unit" + } + ] + }, + { + "name": "h3_edge_length_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "edge", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "unit", + "cType": "H3Unit", + "canonical": "H3Unit" + } + ] + }, + { + "name": "h3_gs_great_circle_distance_meos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "a", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "b", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "unit", + "cType": "H3Unit", + "canonical": "H3Unit" + } + ] + }, + { + "name": "datum_h3_get_resolution", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_get_base_cell_number", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_is_valid_cell", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_is_res_class_iii", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_is_pentagon", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_parent", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "res_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_parent_next", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_center_child", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "res_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_center_child_next", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_child_pos", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "parent_res_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_child_pos_to_cell", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pos_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "parent_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "child_res_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_are_neighbor_cells", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "origin_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dest_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cells_to_directed_edge", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "origin_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dest_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_is_valid_directed_edge", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_get_directed_edge_origin", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_get_directed_edge_destination", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_directed_edge_to_boundary", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_vertex", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "vnum_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_vertex_to_latlng", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_is_valid_vertex", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_grid_distance", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "origin_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "dest_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_local_ij", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "origin_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_local_ij_to_cell", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "origin_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "coord_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_latlng_to_cell", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "point_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "res_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_latlng", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_to_boundary", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_cell_area", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "cell_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "unit_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_edge_length", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "edge_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "unit_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_h3_great_circle_distance", + "file": "th3index_internal.h", + "family": "H3", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "a_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "b_d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "unit_d", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "json_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "json_out", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_from_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "unique_keys", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "jsonb_out", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "json_make", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "keys_vals", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "json_make_two_arg", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "values", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_copy", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_make", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "keys_vals", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_make_two_arg", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "values", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_to_bool", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_cstring", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_float4", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_float8", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_int16", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int16", + "canonical": "short" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_int32", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_int64", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_numeric", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_to_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "json_array_element", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "element", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "json_array_element_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "element", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "json_array_elements", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "json_array_elements_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "json_array_length", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "json_each", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "values", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "json_each_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "values", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "json_extract_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "json_extract_path_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "json_object_field", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "json_object_field_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "json_object_keys", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "json_typeof", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_array_element", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "element", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_array_element_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "element", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_array_elements", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int **", + "canonical": "int **" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "jsonb_array_elements_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "jsonb_array_length", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_contained", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_contains", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_each", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "values", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "jsonb_each_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "values", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "jsonb_exists", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_exists_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "keys_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "keys_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "any", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_extract_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_extract_path_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_hash", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_hash_extended", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_object_field", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_object_field_text", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_object_keys", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text **", + "canonical": "text **" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "json_strip_nulls", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "js", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "strip_in_arrays", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_concat", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_delete", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_delete_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "keys_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "keys_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_delete_index", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "idx", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_delete_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_insert", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "after", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_pretty", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "text *", + "canonical": "text *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "create", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_set_lax", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "create", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "handle_null", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonb_strip_nulls", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "strip_in_arrays", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_cmp", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_eq", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_ge", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_gt", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_le", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_lt", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_ne", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb1", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jb2", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_path_exists", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_path_match", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_path_query_all", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int **", + "canonical": "int **" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "jsonb_path_query_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonb_path_query_first", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonpath_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "jsonpath_copy", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonpath_out", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonbset_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "jsonbset_out", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonbset_make", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "values", + "cType": "const int **", + "canonical": "const int **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonb_to_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonbset_end_value", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "jsonbset_start_value", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "jsonbset_value_n", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int **", + "canonical": "int **" + } + ] + }, + { + "name": "jsonbset_values", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int **", + "canonical": "int **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "concat_jsonbset_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_array_length", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "jsonbset_object_field", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_array_element", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "idx", + "cType": "int", + "canonical": "int" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_delete_index", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "idx", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonbset_delete", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonbset_delete_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonbset_exists", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "jsonbset_exists_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "any", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "create", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "lax", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_to_alphanumset", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "settype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_to_intset", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_to_floatset", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_to_textset_key", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_strip_nulls", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "strip_in_arrays", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_pretty", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "jsonbset_delete_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "jsonbset_extract_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbset_insert", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "after", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_path_exists", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_path_match", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_path_query_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbset_path_query_first", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "contained_jsonb_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "contains_set_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jb", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "intersection_jsonb_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_set_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "jsonb_union_transfn", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "minus_jsonb_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "minus_set_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "union_jsonb_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "union_set_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tjsonb_from_mfjson", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tjsonb_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tjsonb_out", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonbinst_from_mfjson", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tjsonbinst_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tjsonbseq_from_mfjson", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tjsonbseq_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tjsonbseqset_from_mfjson", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tjsonbseqset_in", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tjsonb_from_base_temp", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "jsonb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonbinst_make", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "jsonb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "tjsonbseq_from_base_tstzset", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "jsonb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tjsonbseq_from_base_tstzspan", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "jsonb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "sp", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tjsonbseqset_from_base_tstzspanset", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "jsonb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "tjsonb_to_ttext", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ttext_to_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonb_end_value", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonb_start_value", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonb_value_at_timestamptz", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "int **", + "canonical": "int **" + } + ] + }, + { + "name": "tjsonb_value_n", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int **", + "canonical": "int **" + } + ] + }, + { + "name": "tjsonb_values", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int **", + "canonical": "int **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "concat_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "concat_tjsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "contains_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "contains_tjsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "null_handle_type_from_string", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "nullHandleType", + "canonical": "nullHandleType" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tjson_array_element", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "idx", + "cType": "int", + "canonical": "int" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjson_array_length", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjson_extract_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjson_object_field", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjson_strip_nulls", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "strip_in_arrays", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_array_element", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "idx", + "cType": "int", + "canonical": "int" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_array_length", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonb_delete", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "tjsonb_delete_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tjsonb_delete_index", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "idx", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tjsonb_delete_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tjsonb_exists", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + } + ] + }, + { + "name": "tjsonb_exists_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "any", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_extract_path", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "path_elems", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_insert", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "after", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_object_field", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "astext", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_path_exists", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_path_match", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_path_query_array", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_path_query_first", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jp", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "vars", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "silent", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "tz", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_pretty", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tjsonb_set", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "keys", + "cType": "text **", + "canonical": "text **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "newjb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "create", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "handle_null", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "lax", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_strip_nulls", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "strip_in_arrays", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tjsonb_to_tbool", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_to_tfloat", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_to_tint", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_to_ttext_key", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "tjsonb_at_value", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jsb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tjsonb_minus_value", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jsb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_eq_jsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_eq_tjsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_jsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "always_ne_tjsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_jsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_eq_tjsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_jsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "ever_ne_tjsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_jsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "tne_jsonb_tjsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_tjsonb_jsonb", + "file": "meos_json.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "setPath", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "it", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "path_elems", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "path_nulls", + "cType": "bool *", + "canonical": "bool *" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "st", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" + }, + { + "name": "newval", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "op_type", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "setPathObject", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "it", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "path_elems", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "path_nulls", + "cType": "bool *", + "canonical": "bool *" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "st", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" + }, + { + "name": "newval", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "npairs", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "op_type", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "setPathArray", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "it", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "path_elems", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "path_nulls", + "cType": "bool *", + "canonical": "bool *" + }, + { + "name": "path_len", + "cType": "int", + "canonical": "int" + }, + { + "name": "st", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" + }, + { + "name": "newval", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "nelems", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "op_type", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "datum_jsonb_concat", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_contained", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_contains", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_delete", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "key", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_delete_array", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "array", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_delete_index", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "idx", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_array_element", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "element", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_array_element", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "element", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_array_element_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "element", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_array_element_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "element", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_exists", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_exists_array", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "array", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "any", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_array_length", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_array_length", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_object_field", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "key", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_object_field", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "key", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_object_field_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "key", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_object_field_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "key", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_strip_nulls", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "strip_in_arrays", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_strip_nulls", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "strip_in_arrays", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_pretty", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_extract_path", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_elems", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_len", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_extract_path", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_elems", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_len", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_json_extract_path_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_elems", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_len", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_extract_path_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_elems", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "path_len", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_set", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "keys", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "newjb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "create", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_set_lax", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "keys", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "newjb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "create", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "null_handle", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_delete_path", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "keys", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_insert", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "keys", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "count", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "newjb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "after", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_path_exists", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "jp", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "vars", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "silent", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "tz", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_path_match", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "jp", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "vars", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "silent", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "tz", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_path_query_array", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "jp", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "vars", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "silent", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "tz", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_path_query_first", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "jp", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "vars", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "silent", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "tz", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_to_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_text_to_jsonb", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "txt", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_jsonb_to_alphanum", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "jb", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "key", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "null_handle", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "tjsonb_to_talphanum", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "key", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "resbasetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "null_handle", + "cType": "nullHandleType", + "canonical": "nullHandleType" + } + ] + }, + { + "name": "jsonbfunc_jsonbset", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "func", + "cType": "int", + "canonical": "int" + }, + { + "name": "intype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "restype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "jsonbfunc_jsonbset_jsonb", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "jb", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "jsonbfunc_jsonbset_text", + "file": "tjsonb.h", + "family": "JSON", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const text *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + } + ] + }, + { + "name": "meos_temporal_to_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "out_schema", + "cType": "struct ArrowSchema *", + "canonical": "struct ArrowSchema *" + }, + { + "name": "out_array", + "cType": "struct ArrowArray *", + "canonical": "struct ArrowArray *" + } + ] + }, + { + "name": "meos_temporal_from_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "schema", + "cType": "const struct ArrowSchema *", + "canonical": "const struct ArrowSchema *" + }, + { + "name": "array", + "cType": "const struct ArrowArray *", + "canonical": "const struct ArrowArray *" + } + ] + }, + { + "name": "meos_temporal_arrow_roundtrip", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "meos_set_to_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "out_schema", + "cType": "struct ArrowSchema *", + "canonical": "struct ArrowSchema *" + }, + { + "name": "out_array", + "cType": "struct ArrowArray *", + "canonical": "struct ArrowArray *" + } + ] + }, + { + "name": "meos_set_from_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "schema", + "cType": "const struct ArrowSchema *", + "canonical": "const struct ArrowSchema *" + }, + { + "name": "array", + "cType": "const struct ArrowArray *", + "canonical": "const struct ArrowArray *" + } + ] + }, + { + "name": "meos_set_arrow_roundtrip", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "meos_span_to_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "out_schema", + "cType": "struct ArrowSchema *", + "canonical": "struct ArrowSchema *" + }, + { + "name": "out_array", + "cType": "struct ArrowArray *", + "canonical": "struct ArrowArray *" + } + ] + }, + { + "name": "meos_span_from_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "schema", + "cType": "const struct ArrowSchema *", + "canonical": "const struct ArrowSchema *" + }, + { + "name": "array", + "cType": "const struct ArrowArray *", + "canonical": "const struct ArrowArray *" + } + ] + }, + { + "name": "meos_span_arrow_roundtrip", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "meos_spanset_to_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "out_schema", + "cType": "struct ArrowSchema *", + "canonical": "struct ArrowSchema *" + }, + { + "name": "out_array", + "cType": "struct ArrowArray *", + "canonical": "struct ArrowArray *" + } + ] + }, + { + "name": "meos_spanset_from_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "schema", + "cType": "const struct ArrowSchema *", + "canonical": "const struct ArrowSchema *" + }, + { + "name": "array", + "cType": "const struct ArrowArray *", + "canonical": "const struct ArrowArray *" + } + ] + }, + { + "name": "meos_spanset_arrow_roundtrip", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "meos_tbox_to_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "out_schema", + "cType": "struct ArrowSchema *", + "canonical": "struct ArrowSchema *" + }, + { + "name": "out_array", + "cType": "struct ArrowArray *", + "canonical": "struct ArrowArray *" + } + ] + }, + { + "name": "meos_tbox_from_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "schema", + "cType": "const struct ArrowSchema *", + "canonical": "const struct ArrowSchema *" + }, + { + "name": "array", + "cType": "const struct ArrowArray *", + "canonical": "const struct ArrowArray *" + } + ] + }, + { + "name": "meos_tbox_arrow_roundtrip", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "meos_stbox_to_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "out_schema", + "cType": "struct ArrowSchema *", + "canonical": "struct ArrowSchema *" + }, + { + "name": "out_array", + "cType": "struct ArrowArray *", + "canonical": "struct ArrowArray *" + } + ] + }, + { + "name": "meos_stbox_from_arrow", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "schema", + "cType": "const struct ArrowSchema *", + "canonical": "const struct ArrowSchema *" + }, + { + "name": "array", + "cType": "const struct ArrowArray *", + "canonical": "const struct ArrowArray *" + } + ] + }, + { + "name": "meos_stbox_arrow_roundtrip", + "file": "meos_arrow.h", + "family": "ARROW", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "h3index_from_wkb", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + } + ] + }, + { + "name": "h3index_from_hexwkb", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "h3index_as_wkb", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "h3index_as_hexwkb", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "th3index_in", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3indexinst_in", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3indexseq_in", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "th3indexseqset_in", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3index_make", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "value", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "th3indexinst_make", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "th3indexseq_make", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "values", + "cType": "const H3Index *", + "canonical": "const unsigned long *" + }, + { + "name": "times", + "cType": "const TimestampTz *", + "canonical": "const TimestampTz *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "th3indexseqset_make", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "const TSequence **", + "canonical": "const struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_start_value", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_end_value", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "H3Index", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_value_n", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "H3Index *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "th3index_values", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "H3Index *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "th3index_value_at_timestamptz", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "H3Index *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tbigint_to_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_to_tbigint", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_h3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_th3index_h3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_ne_h3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_th3index_h3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_eq_h3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_th3index_h3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_ne_h3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_th3index_h3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_eq_th3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_th3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_th3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_th3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_h3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_th3index_h3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "teq_th3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_h3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_th3index_h3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "H3Index", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tne_th3index_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_get_resolution", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_get_base_cell_number", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_is_valid_cell", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_is_res_class_iii", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_is_pentagon", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_parent", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_cell_to_parent_next", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_center_child", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_cell_to_center_child_next", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_child_pos", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "parent_res", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_child_pos_to_cell", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "child_pos", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "parent", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "child_res", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tgeogpoint_to_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tgeompoint_to_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_to_tgeogpoint", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_to_tgeompoint", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_boundary", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "geo_to_h3index_set", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_eq_h3indexset_th3index", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cells", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "th3idx", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_are_neighbor_cells", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dest", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cells_to_directed_edge", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dest", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_is_valid_directed_edge", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_get_directed_edge_origin", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_get_directed_edge_destination", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_directed_edge_to_boundary", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "edge", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_vertex", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "vertex_num", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "th3index_vertex_to_latlng", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_is_valid_vertex", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_grid_distance", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dest", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_to_local_ij", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_local_ij_to_cell", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "origin", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "coord", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "th3index_cell_area", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "th3index_edge_length", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeogpoint_great_circle_distance", + "file": "meos_h3.h", + "family": "H3", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "a", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "b", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "unit", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "proj_get_context", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "PJ_CONTEXT *", + "canonical": "struct pj_ctx *" + }, + "params": [] + }, + { + "name": "geos_get_context", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "GEOSContextHandle_t", + "canonical": "struct GEOSContextHandle_HS *" + }, + "params": [] + }, + { + "name": "datum_geo_round", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "point_round", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "stbox_set", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int", + "canonical": "int" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "gbox_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const GBOX *", + "canonical": "const GBOX *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "geo_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "geoarr_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "spatial_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "spatialset_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "stbox_set_box3d", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box3d", + "cType": "BOX3D *", + "canonical": "BOX3D *" + } + ] + }, + { + "name": "stbox_set_gbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "gbox", + "cType": "GBOX *", + "canonical": "GBOX *" + } + ] + }, + { + "name": "tstzset_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tstzspan_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tstzspanset_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "stbox_expand", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "inter_stbox_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tgeogpointinst_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeogpointinst_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeogpointseq_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseq_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseqset_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseqset_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompointinst_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeompointinst_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompointseq_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseq_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseqset_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseqset_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeographyinst_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeographyinst_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeographyseq_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseq_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseqset_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseqset_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometryinst_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeometryinst_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometryseq_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseq_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseqset_from_mfjson", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseqset_in", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tspatial_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tspatialseq_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tspatialseqset_set_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tgeo_restrict_elevation", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_restrict_geom", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_restrict_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoinst_restrict_geom", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoinst_restrict_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_restrict_geom", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_restrict_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseqset_restrict_geom", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseqset_restrict_stbox", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "spatial_srid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "spatial_set_srid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatialinst_srid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tpointseq_azimuth", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseq_cumulative_length", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "prevlength", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tpointseq_is_simple", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseq_length", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseq_linear_trajectory", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_stboxes", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeoseq_split_n_stboxes", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "max_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpointseqset_azimuth", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_cumulative_length", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_is_simple", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_length", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tgeoseqset_stboxes", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeoseqset_split_n_stboxes", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "max_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeominst_tgeoginst", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeomseq_tgeogseq", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeomseqset_tgeogseqset", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeom_tgeog", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_tpoint", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tspatialinst_set_srid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "struct TInstant *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseq_make_simple", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatialseq_set_srid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseqset_make_simple", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatialseqset_set_srid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseq_twcentroid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tpointseqset_twcentroid", + "file": "meos_internal_geo.h", + "family": "CORE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "npoint_as_ewkt", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_as_hexwkb", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "npoint_as_text", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_as_wkb", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "npoint_from_hexwkb", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npoint_from_wkb", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + } + ] + }, + { + "name": "npoint_in", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npoint_out", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegment_in", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "nsegment_out", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_make", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "pos", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "nsegment_make", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "pos1", + "cType": "double", + "canonical": "double" + }, + { + "name": "pos2", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geompoint_to_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_to_nsegment", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "npoint_to_geompoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_to_nsegment", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_to_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "nsegment_to_geom", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_to_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "npoint_hash", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_hash_extended", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_position", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_route", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "nsegment_end_position", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_route", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_start_position", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "route_exists", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "route_geom", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "route_length", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + } + ] + }, + { + "name": "npoint_round", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegment_round", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "get_srid_ways", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [] + }, + { + "name": "npoint_srid", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "nsegment_srid", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "npoint_timestamptz_to_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "npoint_tstzspan_to_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "npoint_cmp", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_eq", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_ge", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_gt", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_le", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_lt", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_ne", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_same", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "nsegment_cmp", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_eq", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_ge", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_gt", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_le", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_lt", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "nsegment_ne", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + } + ] + }, + { + "name": "npointset_in", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npointset_out", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npointset_make", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "values", + "cType": "Npoint **", + "canonical": "struct Npoint **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_to_set", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npointset_end_value", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "npointset_routes", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "npointset_start_value", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "npointset_value_n", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Npoint **", + "canonical": "struct Npoint **" + } + ] + }, + { + "name": "npointset_values", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint **", + "canonical": "struct Npoint **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "contained_npoint_set", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "contains_set_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "intersection_npoint_set", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_set_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "minus_npoint_set", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "minus_set_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npoint_union_transfn", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "union_npoint_set", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "union_set_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "tnpoint_in", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tnpoint_from_mfjson", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tnpoint_out", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tnpointinst_make", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "tnpoint_from_base_temp", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpointseq_from_base_tstzset", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tnpointseq_from_base_tstzspan", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tnpointseqset_from_base_tstzspanset", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompoint_to_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_to_tgeompoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_cumulative_length", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_end_value", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_length", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_positions", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment **", + "canonical": "struct Nsegment **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnpoint_route", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_routes", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_speed", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_start_value", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_trajectory", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_value_at_timestamptz", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "Npoint **", + "canonical": "struct Npoint **" + } + ] + }, + { + "name": "tnpoint_value_n", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Npoint **", + "canonical": "struct Npoint **" + } + ] + }, + { + "name": "tnpoint_values", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint **", + "canonical": "struct Npoint **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnpoint_twcentroid", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_at_geom", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tnpoint_at_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "tnpoint_at_npointset", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tnpoint_at_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnpoint_minus_geom", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tnpoint_minus_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "tnpoint_minus_npointset", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tnpoint_minus_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "tdistance_tnpoint_geo", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tdistance_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nad_tnpoint_geo", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "nad_tnpoint_stbox", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nai_tnpoint_geo", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nai_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "nai_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "shortestline_tnpoint_geo", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "shortestline_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "shortestline_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpoint_tcentroid_transfn", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_npoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "always_eq_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_npoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "always_ne_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_npoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "ever_eq_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_npoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "ever_ne_tnpoint_tnpoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "tne_tnpoint_npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "pcpoint_hex_in", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint *", + "canonical": "struct Pcpoint *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pcpoint_hex_out", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpoint_from_hexwkb", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint *", + "canonical": "struct Pcpoint *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pcpoint_as_hexwkb", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_copy", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint *", + "canonical": "struct Pcpoint *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_get_pcid", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "uint32_t", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_hash", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_hash_extended", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpoint_get_x", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + }, + { + "name": "out", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "pcpoint_get_y", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + }, + { + "name": "out", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "pcpoint_get_z", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + }, + { + "name": "out", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "pcpoint_get_dim", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + }, + { + "name": "name", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "out", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "pcpoint_to_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + } + ] + }, + { + "name": "meos_pc_schema", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + }, + "params": [ + { + "name": "pcid", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "meos_pc_schema_register", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "pcid", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + } + ] + }, + { + "name": "meos_pc_schema_register_xml", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "pcid", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "schema", + "cType": "PCSCHEMA *", + "canonical": "struct PCSCHEMA *" + }, + { + "name": "xml_text", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meos_pc_schema_xml", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "pcid", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "meos_pc_schema_clear", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "pcpoint_cmp", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_eq", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_ne", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_lt", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_le", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_gt", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_ge", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpatch_hex_in", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pcpatch_hex_out", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpatch_from_hexwkb", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pcpatch_as_hexwkb", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_copy", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_get_pcid", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "uint32_t", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_npoints", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "uint32_t", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_hash", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_hash_extended", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpatch_cmp", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_eq", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_ne", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_lt", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_le", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_gt", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_ge", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpointset_in", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pcpointset_out", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpointset_make", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "values", + "cType": "Pcpoint **", + "canonical": "struct Pcpoint **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpoint_to_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpointset_start_value", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint *", + "canonical": "struct Pcpoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "pcpointset_end_value", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint *", + "canonical": "struct Pcpoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "pcpointset_value_n", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Pcpoint **", + "canonical": "struct Pcpoint **" + } + ] + }, + { + "name": "pcpointset_values", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint **", + "canonical": "struct Pcpoint **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "contains_set_pcpoint", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pt", + "cType": "Pcpoint *", + "canonical": "struct Pcpoint *" + } + ] + }, + { + "name": "contained_pcpoint_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_pcpoint_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_set_pcpoint", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "minus_pcpoint_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "minus_set_pcpoint", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "union_pcpoint_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "union_set_pcpoint", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_union_transfn", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" + }, + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpatchset_in", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pcpatchset_out", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpatchset_make", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "values", + "cType": "Pcpatch **", + "canonical": "struct Pcpatch **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pcpatch_to_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatchset_start_value", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "pcpatchset_end_value", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "pcpatchset_value_n", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Pcpatch **", + "canonical": "struct Pcpatch **" + } + ] + }, + { + "name": "pcpatchset_values", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch **", + "canonical": "struct Pcpatch **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "contains_set_pcpatch", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pa", + "cType": "Pcpatch *", + "canonical": "struct Pcpatch *" + } + ] + }, + { + "name": "contained_pcpatch_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_pcpatch_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_set_pcpatch", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "minus_pcpatch_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "minus_set_pcpatch", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "union_pcpatch_set", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "union_set_pcpatch", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_union_transfn", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" + }, + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "tpcbox_in", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tpcbox_out", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tpcbox_make", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hast", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "pcid", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "period", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tpcbox_copy", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "pcpatch_to_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpcbox_hasx", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_hasz", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_hast", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_geodetic", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_xmin", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpcbox_xmax", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpcbox_ymin", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpcbox_ymax", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpcbox_zmin", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpcbox_zmax", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpcbox_tmin", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + } + ] + }, + { + "name": "tpcbox_tmin_inc", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "bool *" + } + ] + }, + { + "name": "tpcbox_tmax", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + } + ] + }, + { + "name": "tpcbox_tmax_inc", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "bool *" + } + ] + }, + { + "name": "tpcbox_srid", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_pcid", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "uint32_t", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_to_stbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_expand", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "TPCBox *", + "canonical": "struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_round", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tpcbox_set_srid", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "union_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "inter_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "result", + "cType": "TPCBox *", + "canonical": "struct TPCBox *" + } + ] + }, + { + "name": "intersection_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "contains_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "contained_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overlaps_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "same_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "adjacent_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_cmp", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_eq", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_ne", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_lt", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_le", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_gt", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_ge", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "left_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overleft_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "right_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overright_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "below_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overbelow_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "above_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overabove_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "front_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overfront_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "back_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overback_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "before_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overbefore_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "after_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "overafter_tpcbox_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "ensure_same_pcid_tpcbox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "tpointcloudinst_make", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "eintersects_tpcpoint_geo", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_tpcpoint_geo", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "pose_as_ewkt", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_as_hexwkb", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "pose_as_text", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_as_wkb", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "pose_from_wkb", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + } + ] + }, + { + "name": "pose_from_hexwkb", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pose_in", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pose_out", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_from_geopose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "json", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pose_as_geopose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "conformance", + "cType": "int", + "canonical": "int" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tpose_from_geopose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "json", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tpose_as_geopose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "conformance", + "cType": "int", + "canonical": "int" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_apply_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "body", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tpose_apply_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "body", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "pose_copy", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_make_2d", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "theta", + "cType": "double", + "canonical": "double" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_make_3d", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + }, + { + "name": "W", + "cType": "double", + "canonical": "double" + }, + { + "name": "X", + "cType": "double", + "canonical": "double" + }, + { + "name": "Y", + "cType": "double", + "canonical": "double" + }, + { + "name": "Z", + "cType": "double", + "canonical": "double" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_make_point2d", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "theta", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "pose_make_point3d", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "W", + "cType": "double", + "canonical": "double" + }, + { + "name": "X", + "cType": "double", + "canonical": "double" + }, + { + "name": "Y", + "cType": "double", + "canonical": "double" + }, + { + "name": "Z", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "pose_to_point", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_to_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_hash", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_hash_extended", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "seed", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_orientation", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double *", + "canonical": "double *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "pose_rotation", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_yaw", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_pitch", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_roll", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_angular_distance", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_normalize", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_round", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "posearr_round", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose **", + "canonical": "struct Pose **" + }, + "params": [ + { + "name": "posearr", + "cType": "const Pose **", + "canonical": "const struct Pose **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_set_srid", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "pose", + "cType": "Pose *", + "canonical": "struct Pose *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_srid", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_transform", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "pose_transform_pipeline", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "pose_tstzspan_to_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "pose_timestamptz_to_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "distance_pose_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "distance_pose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "distance_pose_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "pose_cmp", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_eq", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_ge", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_gt", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_le", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_lt", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_ne", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_nsame", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_same", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "poseset_in", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "poseset_out", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "poseset_make", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "values", + "cType": "const Pose **", + "canonical": "const struct Pose **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_to_set", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "poseset_end_value", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "poseset_start_value", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "poseset_value_n", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Pose **", + "canonical": "struct Pose **" + } + ] + }, + { + "name": "poseset_values", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose **", + "canonical": "struct Pose **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "contained_pose_set", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "contains_set_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pose", + "cType": "Pose *", + "canonical": "struct Pose *" + } + ] + }, + { + "name": "intersection_pose_set", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "intersection_set_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "minus_pose_set", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "minus_set_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_union_transfn", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "struct Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "union_pose_set", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "union_set_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tpose_from_mfjson", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tpose_in", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tposeinst_make", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "tpose_from_base_temp", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tposeseq_from_base_tstzset", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tposeseq_from_base_tstzspan", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tposeseqset_from_base_tstzspanset", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tpose_make", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "tpoint", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "tradius", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_to_tpoint", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_end_value", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_points", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_rotation", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_yaw", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_pitch", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_roll", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_speed", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_angular_speed", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_start_value", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_trajectory", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpose_value_at_timestamptz", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Pose **", + "canonical": "struct Pose **" + } + ] + }, + { + "name": "tpose_value_n", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Pose **", + "canonical": "struct Pose **" + } + ] + }, + { + "name": "tpose_values", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Pose **", + "canonical": "struct Pose **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpose_at_geom", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tpose_at_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tpose_at_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tpose_minus_geom", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tpose_minus_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tpose_minus_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tdistance_tpose_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tdistance_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nad_tpose_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "nad_tpose_stbox", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nai_tpose_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nai_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "nai_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "shortestline_tpose_geo", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "shortestline_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "shortestline_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_pose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "always_eq_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_pose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "always_ne_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_pose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "ever_eq_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_pose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "ever_ne_tpose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_pose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tne_pose_tpose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_tpose_pose", + "file": "meos_pose.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "quadbin_is_valid_index", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "index", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_is_valid_cell", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_tile_to_cell", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "x", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "y", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "z", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "quadbin_cell_to_tile", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "x", + "cType": "uint32_t *", + "canonical": "unsigned int *" + }, + { + "name": "y", + "cType": "uint32_t *", + "canonical": "unsigned int *" + }, + { + "name": "z", + "cType": "uint32_t *", + "canonical": "unsigned int *" + } + ] + }, + { + "name": "quadbin_get_resolution", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "uint32_t", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_cell_to_parent", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "parent_resolution", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "quadbin_cell_to_children", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin *", + "canonical": "int *" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "children_resolution", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "quadbin_cell_sibling", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "direction", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "quadbin_k_ring", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin *", + "canonical": "int *" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "k", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "quadbin_point_to_cell", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "longitude", + "cType": "double", + "canonical": "double" + }, + { + "name": "latitude", + "cType": "double", + "canonical": "double" + }, + { + "name": "resolution", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "quadbin_cell_to_point", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "longitude", + "cType": "double *", + "canonical": "double *" + }, + { + "name": "latitude", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "quadbin_cell_to_bounding_box", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "xmin", + "cType": "double *", + "canonical": "double *" + }, + { + "name": "ymin", + "cType": "double *", + "canonical": "double *" + }, + { + "name": "xmax", + "cType": "double *", + "canonical": "double *" + }, + { + "name": "ymax", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "quadbin_cell_area", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_index_to_string", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "index", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_string_to_index", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "quadbin_cell_to_quadkey", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_parse", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "quadbin_eq", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_ne", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_lt", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_le", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_gt", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_ge", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_cmp", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "b", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_hash", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "uint32_t", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_grid_disk", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "origin", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "k", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "quadbin_cell_to_children_set", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "origin", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "children_resolution", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tquadbin_in", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tquadbininst_in", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tquadbinseq_in", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tquadbinseqset_in", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tquadbin_make", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "value", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "tquadbininst_make", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "tquadbinseq_make", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "values", + "cType": "const Quadbin *", + "canonical": "const int *" + }, + { + "name": "times", + "cType": "const TimestampTz *", + "canonical": "const TimestampTz *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tquadbinseqset_make", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "const TSequence **", + "canonical": "const struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tquadbin_start_value", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tquadbin_end_value", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tquadbin_value_n", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Quadbin *", + "canonical": "int *" + } + ] + }, + { + "name": "tquadbin_values", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Quadbin *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tquadbin_value_at_timestamptz", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Quadbin *", + "canonical": "int *" + } + ] + }, + { + "name": "tbigint_to_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tquadbin_to_tbigint", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_quadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_tquadbin_quadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "ever_ne_quadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_tquadbin_quadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "always_eq_quadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_tquadbin_quadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "always_ne_quadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_tquadbin_quadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "ever_eq_tquadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_tquadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_tquadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_tquadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_quadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_tquadbin_quadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "teq_tquadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_quadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_tquadbin_quadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "tne_tquadbin_tquadbin", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tquadbin_cell_to_quadkey", + "file": "meos_quadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "raster_tile_value_quadbin", + "file": "meos_raster.h", + "family": "RASTER", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "pixels", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "width", + "cType": "uint16_t", + "canonical": "unsigned short" + }, + { + "name": "height", + "cType": "uint16_t", + "canonical": "unsigned short" + }, + { + "name": "quadbin", + "cType": "int", + "canonical": "int" + }, + { + "name": "pixtype", + "cType": "MeosPixType", + "canonical": "MeosPixType" + }, + { + "name": "nodata", + "cType": "double", + "canonical": "double" + }, + { + "name": "has_nodata", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "traj", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trajectory_quadbins", + "file": "meos_raster.h", + "family": "RASTER", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "traj", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "zoom", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_out", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometryinst_make", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + } + ] + }, + { + "name": "geo_tpose_to_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_to_tpose", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_to_tpoint", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_to_tgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_end_instant", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_end_sequence", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_end_value", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_geom", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_instant_n", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "trgeometry_instants", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant **", + "canonical": "struct TInstant **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_points", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_rotation", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_segments", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_sequence_n", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "trgeometry_sequences", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_start_instant", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_start_sequence", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_start_value", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_value_n", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + } + ] + }, + { + "name": "trgeometry_traversed_area", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_centroid", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_convex_hull", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_body_point_trajectory", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "trgeometry_space_boxes", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_space_time_boxes", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_stboxes", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_split_n_stboxes", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_split_each_n_stboxes", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "STBox *", + "canonical": "struct STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_hausdorff_distance", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_frechet_distance", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_dyntimewarp_distance", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_frechet_path", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Match *", + "canonical": "Match *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_dyntimewarp_path", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Match *", + "canonical": "Match *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "trgeometry_length", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_cumulative_length", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_speed", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_twcentroid", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_append_tinstant", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "struct Temporal *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_append_tsequence", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "struct Temporal *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_delete_timestamptz", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_delete_tstzset", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_delete_tstzspan", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_delete_tstzspanset", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_round", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "trgeometry_set_interp", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "trgeometry_to_tinstant", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeometry_after_timestamptz", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_before_timestamptz", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_restrict_values", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_restrict_timestamptz", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_restrict_tstzset", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_restrict_tstzspan", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_restrict_tstzspanset", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_at_geom", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "trgeometry_minus_geom", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "trgeometry_at_stbox", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeometry_minus_stbox", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tdistance_trgeometry_tpoint", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tdistance_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nad_stbox_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nad_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_trgeometry_stbox", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "nad_trgeometry_tpoint", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nad_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nai_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nai_trgeometry_tpoint", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "nai_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "shortestline_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "shortestline_trgeometry_tpoint", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "shortestline_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_eq_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "always_eq_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "always_ne_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "always_ne_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_eq_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ever_eq_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ever_ne_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ever_ne_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "teq_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tne_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tne_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "econtains_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "acontains_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ecovers_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "acovers_geo_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ecovers_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "acovers_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "edisjoint_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "adisjoint_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "eintersects_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "aintersects_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "etouches_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "atouches_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "edwithin_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adwithin_trgeometry_geo", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "edisjoint_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "adisjoint_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "eintersects_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "aintersects_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "edwithin_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adwithin_trgeometry_trgeometry", + "file": "meos_rgeo.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ensure_valid_tnpoint_npoint", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "ensure_valid_tnpoint_npointset", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "ensure_valid_tnpoint_geo", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ensure_valid_tnpoint_stbox", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "ensure_valid_tnpoint_tnpoint", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tnpointsegm_intersection", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + } + ] + }, + { + "name": "common_rid_tnpoint_npoint", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "common_rid_tnpoint_npointset", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "common_rid_tnpoint_tnpoint", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "npoint_collinear", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "np3", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "npointsegm_interpolate", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "start", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "end", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "ratio", + "cType": "long double", + "canonical": "long double" + } + ] + }, + { + "name": "npointsegm_locate", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "long double", + "canonical": "long double" + }, + "params": [ + { + "name": "start", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "end", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "value", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + } + ] + }, + { + "name": "npointarr_geom", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "points", + "cType": "Npoint **", + "canonical": "struct Npoint **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegmentarr_geom", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "segments", + "cType": "Nsegment **", + "canonical": "struct Nsegment **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegmentarr_normalize", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment **", + "canonical": "struct Nsegment **" + }, + "params": [ + { + "name": "segments", + "cType": "Nsegment **", + "canonical": "struct Nsegment **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "npoint_wkt_out", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_set", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "pos", + "cType": "double", + "canonical": "double" + }, + { + "name": "np", + "cType": "Npoint *", + "canonical": "struct Npoint *" + } + ] + }, + { + "name": "nsegment_set", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "pos1", + "cType": "double", + "canonical": "double" + }, + { + "name": "pos2", + "cType": "double", + "canonical": "double" + }, + { + "name": "ns", + "cType": "Nsegment *", + "canonical": "struct Nsegment *" + } + ] + }, + { + "name": "datum_npoint_round", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "npoint", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "tnpointinst_tgeompointinst", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnpointseq_tgeompointseq_disc", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "is", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnpointseq_tgeompointseq_cont", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnpointseqset_tgeompointseqset", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tgeompointinst_tnpointinst", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tgeompointseq_tnpointseq", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tgeompointseqset_tnpointseqset", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tnpointinst_positions", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment **", + "canonical": "struct Nsegment **" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnpointseq_positions", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment **", + "canonical": "struct Nsegment **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnpointseqset_positions", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment **", + "canonical": "struct Nsegment **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnpointinst_route", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "int64_t", + "canonical": "int64_t" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnpointinst_routes", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnpointseq_disc_routes", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "is", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnpointseq_cont_routes", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnpointseqset_routes", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "tnpointseq_linear_positions", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tnpoint_restrict_stbox", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnpoint_restrict_npoint", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnpoint_restrict_npointset", + "file": "tnpoint.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "npoint_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "npointarr_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "nsegment_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const struct Nsegment *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "npoint_timestamptz_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "npoint_tstzspan_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tnpointinst_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tnpointinstarr_set_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tnpointseq_expand_stbox", + "file": "tnpoint_boxops.h", + "family": "NPOINT", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "datum_npoint_distance", + "file": "tnpoint_distance.h", + "family": "NPOINT", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "np1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "np2", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "npoint_parse", + "file": "tnpoint_parser.h", + "family": "NPOINT", + "returnType": { + "c": "Npoint *", + "canonical": "struct Npoint *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "nsegment_parse", + "file": "tnpoint_parser.h", + "family": "NPOINT", + "returnType": { + "c": "Nsegment *", + "canonical": "struct Nsegment *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "contains_rid_tnpoint_bigint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "invert", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contained_rid_tnpoint_bigint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "same_rid_tnpoint_bigint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "rid", + "cType": "int64_t", + "canonical": "int64_t" + }, + { + "name": "invert", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overlaps_rid_tnpoint_bigintset", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "invert", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contains_rid_tnpoint_bigintset", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "contained_rid_tnpoint_bigintset", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "same_rid_tnpoint_bigintset", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "invert", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contains_rid_tnpoint_npoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "invert", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contained_rid_npoint_tnpoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "same_rid_tnpoint_npoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const struct Npoint *" + }, + { + "name": "invert", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overlaps_rid_tnpoint_tnpoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "contains_rid_tnpoint_tnpoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "contained_rid_tnpoint_tnpoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "same_rid_tnpoint_tnpoint", + "file": "tnpoint_routeops.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ensure_same_rid_tnpointinst", + "file": "tnpoint_spatialfuncs.h", + "family": "NPOINT", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tnpoint_restrict_geom", + "file": "tnpoint_spatialfuncs.h", + "family": "NPOINT", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "meos_pc_schema_get_srid", + "file": "meos_schema_hook.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "pcid", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "ensure_same_pcid_pcpatch", + "file": "pcpatch.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa1", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pa2", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "ensure_valid_pcpatchset_pcpatch", + "file": "pcpatch.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + } + ] + }, + { + "name": "pcpatch_parse", + "file": "pcpatch.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "pcpatch_filter_per_point", + "file": "pcpatch_decompose.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpatch *", + "canonical": "struct Pcpatch *" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pred", + "cType": "int", + "canonical": "int" + }, + { + "name": "extra", + "cType": "void *", + "canonical": "void *" + }, + { + "name": "keep_when_true", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "pcpatch_any_point_matches", + "file": "pcpatch_decompose.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pa", + "cType": "const Pcpatch *", + "canonical": "const struct Pcpatch *" + }, + { + "name": "pred", + "cType": "int", + "canonical": "int" + }, + { + "name": "extra", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "pcpoint_in_tpcbox", + "file": "pcpatch_decompose.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "extra", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "pcpoint_intersects_geometry", + "file": "pcpatch_decompose.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "extra", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "ensure_same_pcid_pcpoint", + "file": "pcpoint.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pt1", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + }, + { + "name": "pt2", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "ensure_valid_pcpointset_pcpoint", + "file": "pcpoint.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pt", + "cType": "const Pcpoint *", + "canonical": "const struct Pcpoint *" + } + ] + }, + { + "name": "pcpoint_parse", + "file": "pcpoint.h", + "family": "POINTCLOUD", + "returnType": { + "c": "Pcpoint *", + "canonical": "struct Pcpoint *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "meos_pc_point_serialize", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "returnType": { + "c": "SERIALIZED_POINT *", + "canonical": "SERIALIZED_POINT *" + }, + "params": [ + { + "name": "pcpt", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "meos_pc_point_deserialize", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "serpt", + "cType": "const SERIALIZED_POINT *", + "canonical": "const SERIALIZED_POINT *" + }, + { + "name": "schema", + "cType": "const PCSCHEMA *", + "canonical": "const struct PCSCHEMA *" + } + ] + }, + { + "name": "meos_pc_patch_serialized_size", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "returnType": { + "c": "size_t", + "canonical": "size_t" + }, + "params": [ + { + "name": "patch", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "meos_pc_patch_serialize", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "returnType": { + "c": "SERIALIZED_PATCH *", + "canonical": "struct SERIALIZED_PATCH *" + }, + "params": [ + { + "name": "patch_in", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "userdata", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "meos_pc_patch_serialize_to_uncompressed", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "returnType": { + "c": "SERIALIZED_PATCH *", + "canonical": "struct SERIALIZED_PATCH *" + }, + "params": [ + { + "name": "patch_in", + "cType": "const int *", + "canonical": "const int *" + } + ] + }, + { + "name": "meos_pc_patch_deserialize", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "serpatch", + "cType": "const SERIALIZED_PATCH *", + "canonical": "const struct SERIALIZED_PATCH *" + }, + { + "name": "schema", + "cType": "const PCSCHEMA *", + "canonical": "const struct PCSCHEMA *" + } + ] + }, + { + "name": "tpointcloudinst_set_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "TPCBox *", + "canonical": "struct TPCBox *" + } + ] + }, + { + "name": "tpointcloudinstarr_set_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "box", + "cType": "TPCBox *", + "canonical": "struct TPCBox *" + } + ] + }, + { + "name": "tpointcloudseq_expand_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tpointcloudseqarr_set_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "TPCBox *", + "canonical": "struct TPCBox *" + } + ] + }, + { + "name": "tpcbox_extent_transfn", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "TPCBox *", + "canonical": "struct TPCBox *" + }, + "params": [ + { + "name": "state", + "cType": "TPCBox *", + "canonical": "struct TPCBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "boxop_tpointcloud_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "func", + "cType": "int (*)(const TPCBox *, const TPCBox *)", + "canonical": "int (*)(const struct int ()( TPCBox , TPCBox ) *, const struct int ()( TPCBox , TPCBox ) *)" + }, + { + "name": "inverted", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "boxop_tpointcloud_tpointcloud", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(const TPCBox *, const TPCBox *)", + "canonical": "int (*)(const struct int ()( TPCBox , TPCBox ) *, const struct int ()( TPCBox , TPCBox ) *)" + } + ] + }, + { + "name": "tpcbox_set_stbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "src", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "dst", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "nad_tpcbox_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box1", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "box2", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "nad_tpointcloud_tpcbox", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + } + ] + }, + { + "name": "nad_tpointcloud_tpointcloud", + "file": "tpc_boxops.h", + "family": "POINTCLOUD", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tpcbox_index_leaf_consistent", + "file": "tpcbox_index.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "key", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "query", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tpcbox_gist_inner_consistent", + "file": "tpcbox_index.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "key", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "query", + "cType": "const TPCBox *", + "canonical": "const struct TPCBox *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tpcbox_index_recheck", + "file": "tpcbox_index.h", + "family": "POINTCLOUD", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ensure_valid_pose_geo", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ensure_valid_pose_stbox", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "ensure_valid_pose_pose", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "ensure_valid_poseset_pose", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_collinear", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose3", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "posesegm_interpolate", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "start", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "end", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "posesegm_locate", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "long double", + "canonical": "long double" + }, + "params": [ + { + "name": "start", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "end", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "value", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "pose_wkt_out", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "extended", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pose_parse", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Pose *", + "canonical": "struct Pose *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "datum_pose_point", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_geopoint", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_rotation", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_yaw", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_pitch", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_roll", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_apply_geo", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "body", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_pose_round", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "pose_distance", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "pose1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "pose2", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "pose_set_stbox", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "posearr_set_stbox", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "pose_timestamptz_set_stbox", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "pose_tstzspan_set_stbox", + "file": "pose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "p", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "ensure_valid_tpose_geo", + "file": "tpose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ensure_valid_tpose_pose", + "file": "tpose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "ensure_valid_tpose_stbox", + "file": "tpose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "ensure_valid_tpose_tpose", + "file": "tpose.h", + "family": "POSE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tposesegm_intersection_value", + "file": "tpose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + } + ] + }, + { + "name": "tposesegm_intersection", + "file": "tpose.h", + "family": "POSE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "TimestampTz" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "TimestampTz *" + } + ] + }, + { + "name": "tposeinst_set_stbox", + "file": "tpose_boxops.h", + "family": "POSE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tposeinstarr_set_stbox", + "file": "tpose_boxops.h", + "family": "POSE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tposeseq_expand_stbox", + "file": "tpose_boxops.h", + "family": "POSE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tpose_restrict_geom", + "file": "tpose_spatialfuncs.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tpose_restrict_stbox", + "file": "tpose_spatialfuncs.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tpose_restrict_elevation", + "file": "tpose_spatialfuncs.h", + "family": "POSE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "bool_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "bool_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "float8_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "num", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "date_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "date_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "date", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "interval_cmp", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "interv1", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "interv2", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "interval_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "interval_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "time_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "TimeADT", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "time_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "time", + "cType": "TimeADT", + "canonical": "long" + } + ] + }, + { + "name": "timestamp_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "Timestamp", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "timestamp_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ts", + "cType": "Timestamp", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "timestamptz_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "tstz", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "cstring_to_text", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "text_to_cstring", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_in", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "text_out", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_cmp", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt1", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "txt2", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "collid", + "cType": "Oid", + "canonical": "unsigned int" + } + ] + }, + { + "name": "text_copy", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_initcap", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_lower", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_upper", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "textcat_text_text", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt1", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "txt2", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ensure_valid_tquadbin_tquadbin", + "file": "tquadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ensure_valid_tquadbin_quadbin", + "file": "tquadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + } + ] + }, + { + "name": "ensure_valid_tquadbin_tgeompoint", + "file": "tquadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "datum2_quadbin_eq", + "file": "tquadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "d2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_quadbin_ne", + "file": "tquadbin.h", + "family": "QUADBIN", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "d2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "quadbin_set_stbox", + "file": "tquadbin_boxops.h", + "family": "QUADBIN", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "cell", + "cType": "Quadbin", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "quadbinarr_set_stbox", + "file": "tquadbin_boxops.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tquadbininst_set_stbox", + "file": "tquadbin_boxops.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tquadbininstarr_set_stbox", + "file": "tquadbin_boxops.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "tquadbinseq_expand_stbox", + "file": "tquadbin_boxops.h", + "family": "QUADBIN", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "ensure_has_geom", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "flags", + "cType": "int16", + "canonical": "short" + } + ] + }, + { + "name": "ensure_valid_trgeo_geo", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ensure_valid_trgeo_stbox", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + } + ] + }, + { + "name": "ensure_valid_trgeo_trgeo", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "ensure_valid_trgeo_tpoint", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeo_geom_p", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "trgeo_wkt_out", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "extended", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geo_tposeinst_to_trgeo", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "geo_tposeseq_to_trgeo", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "geo_tposeseqset_to_trgeo", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "trgeo_value_at_timestamptz", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "trgeometry_restrict_value", + "file": "trgeo.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoinst_geom_p", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "trgeoinst_pose_varsize", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "size_t", + "canonical": "size_t" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "trgeoinst_set_pose", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "struct TInstant *" + } + ] + }, + { + "name": "trgeoinst_tposeinst", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "trgeoinst_make1", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "trgeoseq_to_tinstant", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "trgeoseqset_to_tinstant", + "file": "trgeo_inst.h", + "family": "RGEO", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "ts", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "trgeo_restrict_geom", + "file": "trgeo_spatialfuncs.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeo_restrict_stbox", + "file": "trgeo_spatialfuncs.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const struct STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "spatialrel_trgeo_trav_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "varfunc", + "canonical": "int (*)(int ((*)(int *))(), ...)" + }, + { + "name": "numparam", + "cType": "int", + "canonical": "int" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_contains_geo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_contains_trgeo_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_contains_trgeo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_covers_geo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_covers_trgeo_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_covers_trgeo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_disjoint_geo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_disjoint_trgeo_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_disjoint_trgeo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_intersects_geo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_intersects_trgeo_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_intersects_trgeo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_touches_geo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_touches_trgeo_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_touches_trgeo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_dwithin_trgeo_geo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ea_dwithin_trgeo_trgeo", + "file": "trgeo_spatialrels.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_geom_p", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "trgeoseq_pose_varsize", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "size_t", + "canonical": "size_t" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "trgeoseq_set_pose", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + } + ] + }, + { + "name": "trgeoseq_tposeseq", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "trgeoseq_make_valid", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "linear", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_make1_exp", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_make1", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_make_exp", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_make", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_make_free_exp", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseq_make_free", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoinst_to_tsequence", + "file": "trgeo_seq.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "trgeoseqset_geom_p", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + "params": [ + { + "name": "ts", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "trgeoseqset_tposeseqset", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "trgeoseqset_make1_exp", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseqset_make_exp", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseqset_make", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseqset_make_free", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "trgeoseqset_make_gaps", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "trgeoseqset_to_tsequence", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + } + ] + }, + { + "name": "trgeo_to_tsequence", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interp_str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "trgeo_to_tsequenceset", + "file": "trgeo_seqset.h", + "family": "RGEO", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interp_str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "trgeoinst_set_stbox", + "file": "trgeo_boxops.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "trgeoinstarr_static_stbox", + "file": "trgeo_boxops.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "trgeoinstarr_rotating_stbox", + "file": "trgeo_boxops.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "struct STBox *" + } + ] + }, + { + "name": "trgeoinstarr_compute_bbox", + "file": "trgeo_boxops.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "ensure_span_isof_type", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_span_isof_basetype", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_same_span_type", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "ensure_valid_span_span", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "span_deserialize", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "lower", + "cType": "SpanBound *", + "canonical": "struct SpanBound *" + }, + { + "name": "upper", + "cType": "SpanBound *", + "canonical": "struct SpanBound *" + } + ] + }, + { + "name": "span_bound_cmp", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "b1", + "cType": "const SpanBound *", + "canonical": "const struct SpanBound *" + }, + { + "name": "b2", + "cType": "const SpanBound *", + "canonical": "const struct SpanBound *" + } + ] + }, + { + "name": "span_bound_qsort_cmp", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "s2", + "cType": "const void *", + "canonical": "const void *" + } + ] + }, + { + "name": "span_lower_cmp", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "span_upper_cmp", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "span_decr_bound", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "upper", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "span_incr_bound", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "upper", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "spanarr_normalize", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "sort", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "span_bounds_shift_scale_value", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "lower", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "upper", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "span_bounds_shift_scale_time", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "lower", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "upper", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "floatspan_floor_ceil_iter", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "func", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "numspan_delta_scale_iter", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "delta", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasdelta", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "scale", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tstzspan_delta_scale_iter", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "origin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "delta", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "scale", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "numspan_shift_scale_iter", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "delta", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "scale", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tstzspan_shift_scale1", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "delta", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "scale", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "mi_span_value", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "dist_double_value_value", + "file": "span.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "trgeo_geom_clip_polygon", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "a2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "pa", + "cType": "const POINTARRAY *", + "canonical": "const POINTARRAY *" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_lwpoly", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "a2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "poly", + "cType": "const LWPOLY *", + "canonical": "const LWPOLY *" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_box", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "a2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_polygon_posed", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "p_a_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "p_b_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "pose1", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pa", + "cType": "const POINTARRAY *", + "canonical": "const POINTARRAY *" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_lwpoly_posed", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "p_a_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "p_b_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "pose1", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "poly", + "cType": "const LWPOLY *", + "canonical": "const LWPOLY *" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_box_posed", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "p_a_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "p_b_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "pose1", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_lwgeom", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b1", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "a2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "b2", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "geom", + "cType": "const LWGEOM *", + "canonical": "const LWGEOM *" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_geom_clip_lwgeom_posed", + "file": "trgeo_geom_clip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "p_a_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "p_b_local", + "cType": "const POINT2D *", + "canonical": "const POINT2D *" + }, + { + "name": "pose1", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const struct Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "geom", + "cType": "const LWGEOM *", + "canonical": "const LWGEOM *" + }, + { + "name": "intervals_out", + "cType": "Span **", + "canonical": "struct Span **" + } + ] + }, + { + "name": "trgeo_parse", + "file": "trgeo_parser.h", + "family": "RGEO", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_same_geom", + "file": "trgeo_utils.h", + "family": "RGEO", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "lwgeom_apply_pose", + "file": "trgeo_utils.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "geom", + "cType": "LWGEOM *", + "canonical": "LWGEOM *" + } + ] + }, + { + "name": "geom_apply_pose", + "file": "trgeo_utils.h", + "family": "RGEO", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "geom_radius", + "file": "trgeo_utils.h", + "family": "RGEO", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "v_clip_tpoly_point", + "file": "trgeo_vclip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "poly", + "cType": "const LWPOLY *", + "canonical": "const LWPOLY *" + }, + { + "name": "point", + "cType": "const LWPOINT *", + "canonical": "const LWPOINT *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "poly_feature", + "cType": "uint32_t *", + "canonical": "unsigned int *" + }, + { + "name": "dist", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "v_clip_tpoly_tpoly", + "file": "trgeo_vclip.h", + "family": "RGEO", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "poly1", + "cType": "const LWPOLY *", + "canonical": "const LWPOLY *" + }, + { + "name": "poly2", + "cType": "const LWPOLY *", + "canonical": "const LWPOLY *" + }, + { + "name": "pose1", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "pose2", + "cType": "const Pose *", + "canonical": "const struct Pose *" + }, + { + "name": "poly1_feature", + "cType": "uint32_t *", + "canonical": "unsigned int *" + }, + { + "name": "poly2_feature", + "cType": "uint32_t *", + "canonical": "unsigned int *" + }, + { + "name": "dist", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "apply_pose_point4d", + "file": "trgeo_vclip.h", + "family": "RGEO", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "p", + "cType": "POINT4D *", + "canonical": "POINT4D *" + }, + { + "name": "pose", + "cType": "const Pose *", + "canonical": "const struct Pose *" + } + ] + }, + { + "name": "tfunc_tinstant", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tsequence", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tsequenceset", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_temporal", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tinstant_base", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tsequence_base", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tsequenceset_base", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_temporal_base", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tinstant_tinstant", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tdiscseq_tdiscseq", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tcontseq_tcontseq", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_tsequenceset_tsequenceset", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "tfunc_temporal_temporal", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "eafunc_temporal_base", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "eafunc_temporal_temporal", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "lfunc_set", + "file": "lifting.h", + "family": "CORE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "lfinfo", + "cType": "LiftedFunctionInfo *", + "canonical": "struct LiftedFunctionInfo *" + } + ] + }, + { + "name": "set_out_fn", + "file": "set.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "value_out", + "cType": "outfunc", + "canonical": "char *(*)(int ((*)(int *))(), MeosType, int)" + } + ] + }, + { + "name": "ensure_set_isof_type", + "file": "set.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "settype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_valid_set_set", + "file": "set.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "set_find_value", + "file": "set.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "arg1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "loc", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "set_unnest_state_make", + "file": "set.h", + "family": "CORE", + "returnType": { + "c": "SetUnnestState *", + "canonical": "struct SetUnnestState *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "set_unnest_state_next", + "file": "set.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "state", + "cType": "SetUnnestState *", + "canonical": "struct SetUnnestState *" + } + ] + }, + { + "name": "ensure_same_skiplist_subtype", + "file": "skiplist.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "subtype", + "cType": "uint8", + "canonical": "unsigned char" + } + ] + }, + { + "name": "skiplist_set_extra", + "file": "skiplist.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "data", + "cType": "void *", + "canonical": "void *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + } + ] + }, + { + "name": "skiplist_headval", + "file": "skiplist.h", + "family": "CORE", + "returnType": { + "c": "void *", + "canonical": "void *" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "common_entry_cmp", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "i2", + "cType": "const void *", + "canonical": "const void *" + } + ] + }, + { + "name": "span_index_leaf_consistent", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "key", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_gist_inner_consistent", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "key", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_index_recheck", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_lower_qsort_cmp", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "b", + "cType": "const void *", + "canonical": "const void *" + } + ] + }, + { + "name": "span_upper_qsort_cmp", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "b", + "cType": "const void *", + "canonical": "const void *" + } + ] + }, + { + "name": "getQuadrant2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "uint8", + "canonical": "unsigned char" + }, + "params": [ + { + "name": "centroid", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "overlap2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "contain2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "left2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "overLeft2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "right2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "overRight2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "adjacent2D", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "distance_span_nodespan", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "query", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + } + ] + }, + { + "name": "span_spgist_get_span", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "spannode_init", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "nodebox", + "cType": "SpanNode *", + "canonical": "struct SpanNode *" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "spannode_copy", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "SpanNode *", + "canonical": "struct SpanNode *" + }, + "params": [ + { + "name": "orig", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + } + ] + }, + { + "name": "spannode_quadtree_next", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "centroid", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "quadrant", + "cType": "uint8", + "canonical": "unsigned char" + }, + { + "name": "next_nodespan", + "cType": "SpanNode *", + "canonical": "struct SpanNode *" + } + ] + }, + { + "name": "spannode_kdtree_next", + "file": "span_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "nodebox", + "cType": "const SpanNode *", + "canonical": "const struct SpanNode *" + }, + { + "name": "centroid", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "node", + "cType": "uint8", + "canonical": "unsigned char" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" + }, + { + "name": "next_nodespan", + "cType": "SpanNode *", + "canonical": "struct SpanNode *" + } + ] + }, + { + "name": "ensure_spanset_isof_type", + "file": "spanset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "spansettype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_same_spanset_type", + "file": "spanset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "ensure_same_spanset_span_type", + "file": "spanset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "ensure_valid_spanset_span", + "file": "spanset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "ensure_valid_spanset_spanset", + "file": "spanset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "spanset_find_value", + "file": "spanset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "v", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "loc", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "datum_and", + "file": "tbool_ops.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_or", + "file": "tbool_ops.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "boolop_tbool_bool", + "file": "tbool_ops.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "b", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "boolop_tbool_tbool", + "file": "tbool_ops.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + } + ] + }, + { + "name": "ensure_same_dimensionality_tbox", + "file": "tbox.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "set_tbox", + "file": "tbox.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "span_tbox", + "file": "tbox.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tbox_tstzspan", + "file": "tbox.h", + "family": "CORE", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_intspan", + "file": "tbox.h", + "family": "CORE", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_floatspan", + "file": "tbox.h", + "family": "CORE", + "returnType": { + "c": "Span *", + "canonical": "struct Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_index_leaf_consistent", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "key", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tbox_gist_inner_consistent", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "key", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tbox_index_recheck", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "strategy", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tboxnode_init", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "centroid", + "cType": "TBox *", + "canonical": "struct TBox *" + }, + { + "name": "nodebox", + "cType": "TboxNode *", + "canonical": "struct TboxNode *" + } + ] + }, + { + "name": "tboxnode_copy", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "TboxNode *", + "canonical": "struct TboxNode *" + }, + "params": [ + { + "name": "box", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + } + ] + }, + { + "name": "getQuadrant4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "uint8", + "canonical": "unsigned char" + }, + "params": [ + { + "name": "centroid", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "inBox", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tboxnode_quadtree_next", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "centroid", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "quadrant", + "cType": "uint8", + "canonical": "unsigned char" + }, + { + "name": "next_nodebox", + "cType": "TboxNode *", + "canonical": "struct TboxNode *" + } + ] + }, + { + "name": "tboxnode_kdtree_next", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "centroid", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "node", + "cType": "uint8", + "canonical": "unsigned char" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" + }, + { + "name": "next_nodebox", + "cType": "TboxNode *", + "canonical": "struct TboxNode *" + } + ] + }, + { + "name": "overlap4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "contain4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "left4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "overLeft4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "right4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "overRight4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "before4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "overBefore4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "after4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "overAfter4D", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "distance_tbox_nodebox", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "nodebox", + "cType": "const TboxNode *", + "canonical": "const struct TboxNode *" + } + ] + }, + { + "name": "tnumber_spgist_get_tbox", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "result", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "tbox_xmin_cmp", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_xmax_cmp", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_tmin_cmp", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_tmax_cmp", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const struct TBox *" + } + ] + }, + { + "name": "tbox_level_cmp", + "file": "tbox_index.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "centroid", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "query", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "level", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tcellindex_type", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "dggs_cellops", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "const DggsCellOps *", + "canonical": "const struct DggsCellOps *" + }, + "params": [ + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tcellindex_get_resolution", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcellindex_is_valid_cell", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcellindex_cell_to_parent", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "resolution", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "tcellindex_cell_to_point", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcellindex_cell_to_boundary", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "tcellindex_cell_area", + "file": "tcellindex.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + } + ] + }, + { + "name": "datum_min_int32", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_max_int32", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_min_int64", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_max_int64", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_min_float8", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_max_float8", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_sum_int32", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_sum_int64", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_sum_float8", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_min_text", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_max_text", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_sum_double2", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_sum_double3", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_sum_double4", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "temporal_skiplist_common", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "upper", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "update", + "cType": "int[32]", + "canonical": "int[32]" + } + ] + }, + { + "name": "temporal_skiplist_merge", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "void **", + "canonical": "void **" + }, + "params": [ + { + "name": "spliced", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "spliced_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "tofree", + "cType": "void ***", + "canonical": "void ***" + }, + { + "name": "nfree", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_tagg", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TInstant **", + "canonical": "struct TInstant **" + }, + "params": [ + { + "name": "instants1", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "instants2", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "tofree", + "cType": "void ***", + "canonical": "void ***" + }, + { + "name": "nfree", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_tagg", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "sequences1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count1", + "cType": "int", + "canonical": "int" + }, + { + "name": "sequences2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count2", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tcontseq_tagg_transfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "interpoint", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_tagg_combinefn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state1", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "state2", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_tagg_transfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + } + ] + }, + { + "name": "tinstant_tavg_finalfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_tavg_finalfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tnumberinst_transform_tavg", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "temporal_transform_tcount", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Temporal **", + "canonical": "struct Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_transform_tagg", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "Temporal **", + "canonical": "struct Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "func", + "cType": "TInstant *(*)(const TInstant *)", + "canonical": "struct TInstant ()( TInstant ) *(*)(const struct TInstant ()( TInstant ) *)" + } + ] + }, + { + "name": "tsequenceset_tagg_transfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_tagg_transfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + } + ] + }, + { + "name": "temporal_tagg_transfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "arg2", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_tagg_transform_transfn", + "file": "temporal_aggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "transform", + "cType": "TInstant *(*)(const TInstant *)", + "canonical": "struct TInstant ()( TInstant ) *(*)(const struct TInstant ()( TInstant ) *)" + } + ] + }, + { + "name": "temporal_similarity", + "file": "temporal_analytics.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "simfunc", + "cType": "SimFunc", + "canonical": "SimFunc" + } + ] + }, + { + "name": "temporal_similarity_path", + "file": "temporal_analytics.h", + "family": "CORE", + "returnType": { + "c": "Match *", + "canonical": "Match *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "simfunc", + "cType": "SimFunc", + "canonical": "SimFunc" + } + ] + }, + { + "name": "temporal_bbox_size", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "size_t", + "canonical": "size_t" + }, + "params": [ + { + "name": "tempype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tinstarr_set_bbox", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "bbox", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tsequence_compute_bbox", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + } + ] + }, + { + "name": "tseqarr_compute_bbox", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "bbox", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tsequenceset_compute_bbox", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + } + ] + }, + { + "name": "boxop_temporal_tstzspan", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "func", + "cType": "int (*)(const Span *, const Span *)", + "canonical": "int (*)(const struct int ()( Span , Span ) *, const struct int ()( Span , Span ) *)" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "boxop_temporal_temporal", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(const Span *, const Span *)", + "canonical": "int (*)(const struct int ()( Span , Span ) *, const struct int ()( Span , Span ) *)" + } + ] + }, + { + "name": "boxop_tnumber_numspan", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "func", + "cType": "int (*)(const Span *, const Span *)", + "canonical": "int (*)(const struct int ()( Span , Span ) *, const struct int ()( Span , Span ) *)" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "boxop_tnumber_tbox", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "func", + "cType": "int (*)(const TBox *, const TBox *)", + "canonical": "int (*)(const struct int ()( TBox , TBox ) *, const struct int ()( TBox , TBox ) *)" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "boxop_tnumber_tnumber", + "file": "temporal_boxops.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(const TBox *, const TBox *)", + "canonical": "int (*)(const struct int ()( TBox , TBox ) *, const struct int ()( TBox , TBox ) *)" + } + ] + }, + { + "name": "eacomp_base_temporal", + "file": "temporal_compops.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "eacomp_temporal_base", + "file": "temporal_compops.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "eacomp_temporal_temporal", + "file": "temporal_compops.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + }, + { + "name": "ever", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcomp_base_temporal", + "file": "temporal_compops.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + } + ] + }, + { + "name": "tcomp_temporal_base", + "file": "temporal_compops.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + } + ] + }, + { + "name": "tcomp_temporal_temporal", + "file": "temporal_compops.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + } + ] + }, + { + "name": "tdiscseq_at_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tdiscseq_restrict_value", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_restrict_values", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_minus_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tdiscseq_restrict_tstzset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_restrict_tstzspanset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontseq_restrict_value_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tcontseq_delete_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tcontseq_delete_tstzset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tcontseq_delete_tstzspanset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + } + ] + }, + { + "name": "tcontseq_at_tstzset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tcontseq_minus_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tcontseq_minus_tstzset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + } + ] + }, + { + "name": "tcontseq_minus_tstzspan", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tcontseq_restrict_value", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontseq_restrict_values", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_at_values_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tnumberseq_cont_restrict_span_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tnumberseq_cont_restrict_spanset_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tsegment_at_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tcontseq_minus_timestamp_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tcontseq_minus_tstzset_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tcontseq_at_tstzspanset1", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tcontseq_minus_tstzspanset_iter", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tcontseq_at_tstzspan", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + } + ] + }, + { + "name": "tcontseq_at_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tcontseq_restrict_tstzspanset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_value_at_timestamptz", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "tnumberseq_disc_restrict_span", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseq_disc_restrict_spanset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseq_cont_restrict_span", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseq_cont_restrict_spanset", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseq_cont_twavg", + "file": "temporal_restrict.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "span_num_bins", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start_bin", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "end_bin", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "temporal_time_bin_init", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "SpanBinState *", + "canonical": "struct SpanBinState *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "nbins", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbox_tile_state_make", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "TboxGridState *", + "canonical": "struct TboxGridState *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const struct TBox *" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "xorigin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tbox_tile_state_next", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "state", + "cType": "TboxGridState *", + "canonical": "struct TboxGridState *" + } + ] + }, + { + "name": "tbox_tile_state_set", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "tunits", + "cType": "int64", + "canonical": "long" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "interval_units", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "interval", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "timestamptz_bin_start", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "timestamp", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "tunits", + "cType": "int64", + "canonical": "long" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "datum_bin", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "offset", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tnumber_value_time_tile_init", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "TboxGridState *", + "canonical": "struct TboxGridState *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ntiles", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbox_tile_state_get", + "file": "temporal_tile.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "state", + "cType": "TboxGridState *", + "canonical": "struct TboxGridState *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "struct TBox *" + } + ] + }, + { + "name": "temporal_transform_wcount", + "file": "temporal_waggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interval", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_transform_wavg", + "file": "temporal_waggfuncs.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interval", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_wagg_transfn", + "file": "temporal_waggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interval", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_wagg_transform_transfn", + "file": "temporal_waggfuncs.h", + "family": "CORE", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "interval", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "transform", + "cType": "TSequence **(*)(const Temporal *, const Interval *, int *)", + "canonical": "struct TSequence ()( Temporal , Interval , int ) **(*)(const struct TSequence ()( Temporal , Interval , int ) *, const Interval *, int *)" + } + ] + }, + { + "name": "tinstant_set", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "struct TInstant *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tnumberinst_double", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + } + ] + }, + { + "name": "tinstant_to_string", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "value_out", + "cType": "outfunc", + "canonical": "char *(*)(int ((*)(int *))(), MeosType, int)" + } + ] + }, + { + "name": "tinstant_restrict_values_test", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_restrict_span_test", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const struct Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_restrict_spanset_test", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzset_test", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const struct Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzspanset_test", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const struct SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intersection_tinstant_tinstant", + "file": "tinstant.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inter1", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "inter2", + "cType": "TInstant **", + "canonical": "struct TInstant **" + } + ] + }, + { + "name": "_mulmat", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "b", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "c", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "arows", + "cType": "const int", + "canonical": "const int" + }, + { + "name": "acols", + "cType": "const int", + "canonical": "const int" + }, + { + "name": "bcols", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_mulvec", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "x", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "y", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "m", + "cType": "const int", + "canonical": "const int" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_transpose", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "at", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "m", + "cType": "const int", + "canonical": "const int" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_addmat", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "b", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "c", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "m", + "cType": "const int", + "canonical": "const int" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_negate", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "m", + "cType": "const int", + "canonical": "const int" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_addeye", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_choldc1", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "p", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_choldcsl", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "A", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "a", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "p", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_cholsl", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "A", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "a", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "p", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_addvec", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "b", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "c", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "_sub", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "b", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "c", + "cType": "float *", + "canonical": "float *" + }, + { + "name": "n", + "cType": "const int", + "canonical": "const int" + } + ] + }, + { + "name": "invert", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "a", + "cType": "const float *", + "canonical": "const float *" + }, + { + "name": "ainv", + "cType": "float *", + "canonical": "float *" + } + ] + }, + { + "name": "ekf_initialize", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ekf", + "cType": "ekf_t *", + "canonical": "struct ekf_t *" + }, + { + "name": "pdiag", + "cType": "const float", + "canonical": "const float" + } + ] + }, + { + "name": "ekf_predict", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ekf", + "cType": "ekf_t *", + "canonical": "struct ekf_t *" + }, + { + "name": "fx", + "cType": "const float", + "canonical": "const float" + }, + { + "name": "F", + "cType": "const float", + "canonical": "const float" + }, + { + "name": "Q", + "cType": "const float", + "canonical": "const float" + } + ] + }, + { + "name": "ekf_update_step3", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ekf", + "cType": "ekf_t *", + "canonical": "struct ekf_t *" + }, + { + "name": "GH", + "cType": "float", + "canonical": "float" + } + ] + }, + { + "name": "ekf_update", + "file": "tinyekf_meos.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ekf", + "cType": "ekf_t *", + "canonical": "struct ekf_t *" + }, + { + "name": "z", + "cType": "const float", + "canonical": "const float" + }, + { + "name": "hx", + "cType": "const float", + "canonical": "const float" + }, + { + "name": "H", + "cType": "const float", + "canonical": "const float" + }, + { + "name": "R", + "cType": "const float", + "canonical": "const float" + } + ] + }, + { + "name": "tfloat_arithop_turnpt", + "file": "tnumber_mathfuncs.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "param", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "arithop_tnumber_number", + "file": "tnumber_mathfuncs.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "oper", + "cType": "TArithmetic", + "canonical": "TArithmetic" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "arithop_tnumber_tnumber", + "file": "tnumber_mathfuncs.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "oper", + "cType": "TArithmetic", + "canonical": "TArithmetic" + }, + { + "name": "func", + "cType": "int (*)(Datum *, Datum *, MeosType)", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), MeosType)" + }, + { + "name": "tpfunc", + "cType": "tpfunc_temp", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int ((*)(int *))(), int, int, int *, int *)" + } + ] + }, + { + "name": "float_collinear", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "x1", + "cType": "double", + "canonical": "double" + }, + { + "name": "x2", + "cType": "double", + "canonical": "double" + }, + { + "name": "x3", + "cType": "double", + "canonical": "double" + }, + { + "name": "ratio", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "floatsegm_interpolate", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "value1", + "cType": "double", + "canonical": "double" + }, + { + "name": "value2", + "cType": "double", + "canonical": "double" + }, + { + "name": "value", + "cType": "long double", + "canonical": "long double" + } + ] + }, + { + "name": "floatsegm_locate", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "long double", + "canonical": "long double" + }, + "params": [ + { + "name": "value1", + "cType": "double", + "canonical": "double" + }, + { + "name": "value2", + "cType": "double", + "canonical": "double" + }, + { + "name": "value", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tnumbersegm_intersection", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsequence_norm_test", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value3", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "t1", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t2", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t3", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequence_join_test", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "removelast", + "cType": "bool *", + "canonical": "int (*)(int *)" + }, + { + "name": "removefirst", + "cType": "bool *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "tsequence_join", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "removelast", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "removefirst", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstarr_normalize", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "TInstant **", + "canonical": "struct TInstant **" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tcontseq_find_timestamptz", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tdiscseq_find_timestamptz", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tseqarr2_to_tseqarr", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence ***", + "canonical": "struct TSequence ***" + }, + { + "name": "countseqs", + "cType": "int *", + "canonical": "int *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "totalseqs", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ensure_valid_tinstarr_common", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_make_exp1", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "bbox", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "synchronize_tsequence_tsequence", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "sync1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "sync2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "interpoint", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tfloatsegm_intersection_value", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsegment_intersection_value", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsegment_intersection", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "start1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "start2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t1", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "t2", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsegment_value_at_timestamptz", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "start", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "end", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "intersection_tdiscseq_tdiscseq", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inter1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "inter2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "intersection_tcontseq_tdiscseq", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inter1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "inter2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "intersection_tdiscseq_tcontseq", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "is", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inter1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "inter2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "intersection_tsequence_tinstant", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inter1", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "inter2", + "cType": "TInstant **", + "canonical": "struct TInstant **" + } + ] + }, + { + "name": "intersection_tinstant_tsequence", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inter1", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "inter2", + "cType": "TInstant **", + "canonical": "struct TInstant **" + } + ] + }, + { + "name": "tsequence_to_string", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "component", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value_out", + "cType": "outfunc", + "canonical": "char *(*)(int ((*)(int *))(), MeosType, int)" + } + ] + }, + { + "name": "ensure_increasing_timestamps", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "bbox_expand", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "box2", + "cType": "void *", + "canonical": "void *" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_valid_tinstarr", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "merge", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_make_valid", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tnumberseq_shift_scale_value_iter", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "delta", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "hasdelta", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "scale", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tsequence_shift_scale_time_iter", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "struct TSequence *" + }, + { + "name": "delta", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "scale", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tstepseq_to_linear_iter", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tstepseq_to_linear", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + } + ] + }, + { + "name": "tsequence_segments_iter", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "result", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "tsequence_timestamps_iter", + "file": "tsequence.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsequenceset_find_timestamptz", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "loc", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tseqarr_normalize", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "TSequence **", + "canonical": "struct TSequence **" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "newcount", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "datum_distance", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "value1", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "value2", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "flags", + "cType": "int16", + "canonical": "short" + } + ] + }, + { + "name": "ensure_valid_tinstarr_gaps", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "merge", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "nsplits", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "ensure_valid_tseqarr", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "synchronize_tsequenceset_tsequence", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "mode", + "cType": "SyncMode", + "canonical": "SyncMode" + }, + { + "name": "inter1", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + }, + { + "name": "inter2", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + } + ] + }, + { + "name": "synchronize_tsequenceset_tsequenceset", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "mode", + "cType": "SyncMode", + "canonical": "SyncMode" + }, + { + "name": "inter1", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + }, + { + "name": "inter2", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + } + ] + }, + { + "name": "intersection_tsequenceset_tinstant", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "inter1", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "inter2", + "cType": "TInstant **", + "canonical": "struct TInstant **" + } + ] + }, + { + "name": "intersection_tinstant_tsequenceset", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const struct TInstant *" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "inter1", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "inter2", + "cType": "TInstant **", + "canonical": "struct TInstant **" + } + ] + }, + { + "name": "intersection_tsequenceset_tdiscseq", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "is", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "inter1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "inter2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "intersection_tdiscseq_tsequenceset", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "is", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "inter1", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "inter2", + "cType": "TSequence **", + "canonical": "struct TSequence **" + } + ] + }, + { + "name": "intersection_tsequence_tsequenceset", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const struct TSequence *" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "mode", + "cType": "SyncMode", + "canonical": "SyncMode" + }, + { + "name": "inter1", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + }, + { + "name": "inter2", + "cType": "TSequenceSet **", + "canonical": "struct TSequenceSet **" + } + ] + }, + { + "name": "tsequenceset_to_string", + "file": "tsequenceset.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const struct TSequenceSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "value_out", + "cType": "outfunc", + "canonical": "char *(*)(int ((*)(int *))(), MeosType, int)" + } + ] + }, + { + "name": "datum_textcat", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_lower", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_upper", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "datum_initcap", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + } + ] + }, + { + "name": "textfunc_ttext", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "textfunc_ttext_text", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "textfunc_ttext_ttext", + "file": "ttext_funcs.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const struct Temporal *" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "int (*)(int ((*)(int *))(), int ((*)(int *))())" + } + ] + }, + { + "name": "datum_as_wkb", + "file": "type_inout.h", + "family": "CORE", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "datum_as_hexwkb", + "file": "type_inout.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "int (*)(int *)" + } + ] + }, + { + "name": "type_from_wkb", + "file": "type_inout.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "type_from_hexwkb", + "file": "type_inout.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "ensure_end_input", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "type", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "p_whitespace", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "p_delimchar", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "delim", + "cType": "char", + "canonical": "char" + } + ] + }, + { + "name": "p_obrace", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "ensure_obrace", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "type", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "p_cbrace", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "ensure_cbrace", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "type", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "p_obracket", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "p_cbracket", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "p_oparen", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "ensure_oparen", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "type", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "p_cparen", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "ensure_cparen", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "type", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "p_comma", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "basetype_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "basetypid", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "delim", + "cType": "char", + "canonical": "char" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "double_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "elem_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "set_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "Set *", + "canonical": "struct Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "span_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "span", + "cType": "Span *", + "canonical": "struct Span *" + } + ] + }, + { + "name": "spanset_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "SpanSet *", + "canonical": "struct SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "spantype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tbox_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "TBox *", + "canonical": "struct TBox *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "timestamp_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + } + ] + }, + { + "name": "tinstant_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "TInstant *", + "canonical": "struct TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tcontseq_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "TSequence *", + "canonical": "struct TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "TSequenceSet *", + "canonical": "struct TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "temporal_parse", + "file": "type_parser.h", + "family": "CORE", + "returnType": { + "c": "Temporal *", + "canonical": "struct Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char **", + "canonical": "const char **" + }, + { + "name": "temptype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_copy", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "typid", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_double", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "double_datum", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "bstring2bytea", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bytea *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "int (int *)" + } + ] + }, + { + "name": "basetype_in", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "end", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + } + ] + }, + { + "name": "basetype_out", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "pfree_array", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "array", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "string_escape", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "quotes", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "char **", + "canonical": "char **" + } + ] + }, + { + "name": "string_unescape", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "size_t", + "canonical": "size_t" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "result", + "cType": "char **", + "canonical": "char **" + } + ] + }, + { + "name": "stringarr_to_string", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "strings", + "cType": "char **", + "canonical": "char **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "prefix", + "cType": "char *", + "canonical": "char *" + }, + { + "name": "open", + "cType": "char", + "canonical": "char" + }, + { + "name": "close", + "cType": "char", + "canonical": "char" + }, + { + "name": "quotes", + "cType": "int", + "canonical": "int" + }, + { + "name": "spaces", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "datumarr_sort", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tstzarr_sort", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "times", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spanarr_sort", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "struct Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tinstarr_sort", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tseqarr_sort", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "struct TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "datumarr_remove_duplicates", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "int ((*)(int *))()" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "tstzarr_remove_duplicates", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "values", + "cType": "TimestampTz *", + "canonical": "long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tinstarr_remove_duplicates", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "struct TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "datum_add", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_sub", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_mul", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_div", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_cmp", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_eq", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_ne", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_lt", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_le", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_gt", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum_ge", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_eq", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_ne", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_lt", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_le", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_gt", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "datum2_ge", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "Datum", + "canonical": "Datum" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "int ((int *))()" + }, + { + "name": "type", + "cType": "MeosType", + "canonical": "MeosType" + } + ] + }, + { + "name": "hypot3d", + "file": "type_util.h", + "family": "CORE", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + } + ] + } + ], + "structs": [ + { + "name": "Set", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "settype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "basetype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "bboxsize", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "Span", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "spantype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "basetype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "lower_inc", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "upper_inc", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char[4]", + "offset_bits": -1 + }, + { + "name": "lower", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "upper", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "SpanSet", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "spansettype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "spantype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "basetype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "span", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "elems", + "cType": "Span[1]", + "offset_bits": -1 + } + ] + }, + { + "name": "TBox", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "span", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "STBox", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "xmin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "Temporal", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "TInstant", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "t", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "value", + "cType": "int", + "offset_bits": -1 + } + ], + "meosType": "TPointInst" + }, + { + "name": "TSequence", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "bboxsize", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char[6]", + "offset_bits": -1 + }, + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + } + ], + "meosType": "TPointSeq" + }, + { + "name": "TSequenceSet", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "temptype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "subtype", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "totalcount", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "maxcount", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "bboxsize", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + } + ] + }, + { + "name": "Match", + "file": "meos.h", + "family": "CORE", + "fields": [ + { + "name": "i", + "cType": "int", + "offset_bits": 0 + }, + { + "name": "j", + "cType": "int", + "offset_bits": 32 + } + ] + }, + { + "name": "SkipList", + "file": "meos.h", + "family": "CORE", + "fields": [] + }, + { + "name": "MeosArray", + "file": "meos.h", + "family": "CORE", + "fields": [] + }, + { + "name": "RTree", + "file": "meos.h", + "family": "CORE", + "fields": [] + }, + { + "name": "MvtGeom", + "file": "meos_geo.h", + "family": "CORE", + "fields": [ + { + "name": "geom", + "cType": "int *", + "offset_bits": -1 + }, + { + "name": "times", + "cType": "int *", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "SpaceSplit", + "file": "meos_geo.h", + "family": "CORE", + "fields": [ + { + "name": "fragments", + "cType": "Temporal **", + "offset_bits": -1 + }, + { + "name": "bins", + "cType": "int **", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "SpaceTimeSplit", + "file": "meos_geo.h", + "family": "CORE", + "fields": [ + { + "name": "fragments", + "cType": "Temporal **", + "offset_bits": -1 + }, + { + "name": "space_bins", + "cType": "int **", + "offset_bits": -1 + }, + { + "name": "time_bins", + "cType": "int *", + "offset_bits": -1 + }, + { + "name": "count", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "Cbuffer", + "file": "meos_cbuffer.h", + "family": "CBUFFER", + "fields": [] + }, + { + "name": "temptype_catalog_struct", + "file": "meos_catalog.h", + "family": "CORE", + "fields": [ + { + "name": "temptype", + "cType": "MeosType", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "MeosType", + "offset_bits": 32 + } + ] + }, + { + "name": "settype_catalog_struct", + "file": "meos_catalog.h", + "family": "CORE", + "fields": [ + { + "name": "settype", + "cType": "MeosType", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "MeosType", + "offset_bits": 32 + } + ] + }, + { + "name": "spantype_catalog_struct", + "file": "meos_catalog.h", + "family": "CORE", + "fields": [ + { + "name": "spantype", + "cType": "MeosType", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "MeosType", + "offset_bits": 32 + } + ] + }, + { + "name": "spansettype_catalog_struct", + "file": "meos_catalog.h", + "family": "CORE", + "fields": [ + { + "name": "spansettype", + "cType": "MeosType", + "offset_bits": 0 + }, + { + "name": "spantype", + "cType": "MeosType", + "offset_bits": 32 + } + ] + }, + { + "name": "SkipListElem", + "file": "meos_internal.h", + "family": "CORE", + "fields": [ + { + "name": "key", + "cType": "void *", + "offset_bits": 0 + }, + { + "name": "value", + "cType": "void *", + "offset_bits": 64 + }, + { + "name": "height", + "cType": "int", + "offset_bits": 128 + }, + { + "name": "next", + "cType": "int[32]", + "offset_bits": 160 + } + ] + }, + { + "name": "double2", + "file": "doublen.h", + "family": "CORE", + "fields": [ + { + "name": "a", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "b", + "cType": "double", + "offset_bits": 64 + } + ] + }, + { + "name": "double3", + "file": "doublen.h", + "family": "CORE", + "fields": [ + { + "name": "a", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "b", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "c", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "double4", + "file": "doublen.h", + "family": "CORE", + "fields": [ + { + "name": "a", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "b", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "c", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "d", + "cType": "double", + "offset_bits": 192 + } + ] + }, + { + "name": "STboxNode", + "file": "stbox_index.h", + "family": "CORE", + "fields": [ + { + "name": "left", + "cType": "STBox", + "offset_bits": -1 + }, + { + "name": "right", + "cType": "STBox", + "offset_bits": -1 + } + ] + }, + { + "name": "SortedSTbox", + "file": "stbox_index.h", + "family": "CORE", + "fields": [ + { + "name": "box", + "cType": "STBox", + "offset_bits": -1 + }, + { + "name": "i", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "GeoAggregateState", + "file": "tgeo_aggfuncs.h", + "family": "CORE", + "fields": [ + { + "name": "srid", + "cType": "int32_t", + "offset_bits": -1 + }, + { + "name": "hasz", + "cType": "int", + "offset_bits": -1 + } + ] + }, + { + "name": "BitMatrix", + "file": "tgeo_tile.h", + "family": "CORE", + "fields": [ + { + "name": "ndims", + "cType": "int", + "offset_bits": 0 + }, + { + "name": "count", + "cType": "int[4]", + "offset_bits": 32 + }, + { + "name": "byte", + "cType": "uint8_t[1]", + "offset_bits": 160 + } + ] + }, + { + "name": "STboxGridState", + "file": "tgeo_tile.h", + "family": "CORE", + "fields": [ + { + "name": "done", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "hasx", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "hasz", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "hast", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "i", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "xsize", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ysize", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zsize", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "tunits", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "box", + "cType": "STBox", + "offset_bits": -1 + }, + { + "name": "temp", + "cType": "const Temporal *", + "offset_bits": -1 + }, + { + "name": "bm", + "cType": "BitMatrix *", + "offset_bits": -1 + }, + { + "name": "x", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "y", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "z", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "t", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "ntiles", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "max_coords", + "cType": "int[4]", + "offset_bits": -1 + }, + { + "name": "coords", + "cType": "int[4]", + "offset_bits": -1 + } + ] + }, + { + "name": "ArrowSchema", + "file": "meos_arrow.h", + "family": "ARROW", + "fields": [] + }, + { + "name": "ArrowArray", + "file": "meos_arrow.h", + "family": "ARROW", + "fields": [] + }, + { + "name": "Npoint", + "file": "meos_npoint.h", + "family": "NPOINT", + "fields": [ + { + "name": "rid", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "pos", + "cType": "double", + "offset_bits": -1 + } + ] + }, + { + "name": "Nsegment", + "file": "meos_npoint.h", + "family": "NPOINT", + "fields": [ + { + "name": "rid", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "pos1", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "pos2", + "cType": "double", + "offset_bits": -1 + } + ] + }, + { + "name": "Pcpoint", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "fields": [] + }, + { + "name": "Pcpatch", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "fields": [] + }, + { + "name": "PCSCHEMA", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "fields": [] + }, + { + "name": "TPCBox", + "file": "meos_pointcloud.h", + "family": "POINTCLOUD", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": -1 + }, + { + "name": "xmin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": -1 + }, + { + "name": "pcid", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": -1 + }, + { + "name": "padding", + "cType": "char[6]", + "offset_bits": -1 + } + ] + }, + { + "name": "Pose", + "file": "meos_pose.h", + "family": "POSE", + "fields": [] + }, + { + "name": "PcpointInTpcboxArgs", + "file": "pcpatch_decompose.h", + "family": "POINTCLOUD", + "fields": [ + { + "name": "box", + "cType": "const TPCBox *", + "offset_bits": -1 + }, + { + "name": "border_inc", + "cType": "bool", + "offset_bits": -1 + } + ] + }, + { + "name": "SERIALIZED_POINT", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "fields": [ + { + "name": "size", + "cType": "uint32_t", + "offset_bits": 0 + }, + { + "name": "pcid", + "cType": "uint32_t", + "offset_bits": 32 + }, + { + "name": "data", + "cType": "uint8_t[1]", + "offset_bits": 64 + } + ] + }, + { + "name": "SERIALIZED_PATCH", + "file": "pgsql_compat.h", + "family": "POINTCLOUD", + "fields": [ + { + "name": "size", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "pcid", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "compression", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "npoints", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "bounds", + "cType": "int", + "offset_bits": -1 + }, + { + "name": "data", + "cType": "uint8_t[1]", + "offset_bits": -1 + } + ] + }, + { + "name": "AFFINE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "afac", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "bfac", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "cfac", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "dfac", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "efac", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "ffac", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "gfac", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "hfac", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "ifac", + "cType": "double", + "offset_bits": 512 + }, + { + "name": "xoff", + "cType": "double", + "offset_bits": 576 + }, + { + "name": "yoff", + "cType": "double", + "offset_bits": 640 + }, + { + "name": "zoff", + "cType": "double", + "offset_bits": 704 + } + ] + }, + { + "name": "BOX3D", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "xmin", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 384 + } + ] + }, + { + "name": "GBOX", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 0 + }, + { + "name": "xmin", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "mmin", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "mmax", + "cType": "double", + "offset_bits": 512 + } + ] + }, + { + "name": "SPHEROID", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "a", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "b", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "f", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "e", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "e_sq", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "radius", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "name", + "cType": "char[20]", + "offset_bits": 384 + } + ] + }, + { + "name": "POINT2D", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + } + ] + }, + { + "name": "POINT3DZ", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "z", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "POINT3D", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "z", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "POINT3DM", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "m", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "POINT4D", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "z", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "m", + "cType": "double", + "offset_bits": 192 + } + ] + }, + { + "name": "POINTARRAY", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "npoints", + "cType": "uint32_t", + "offset_bits": 0 + }, + { + "name": "maxpoints", + "cType": "uint32_t", + "offset_bits": 32 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 64 + }, + { + "name": "serialized_pointlist", + "cType": "uint8_t *", + "offset_bits": 128 + } + ] + }, + { + "name": "GSERIALIZED", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "size", + "cType": "uint32_t", + "offset_bits": 0 + }, + { + "name": "srid", + "cType": "uint8_t[3]", + "offset_bits": 32 + }, + { + "name": "gflags", + "cType": "uint8_t", + "offset_bits": 56 + }, + { + "name": "data", + "cType": "uint8_t[1]", + "offset_bits": 64 + } + ] + }, + { + "name": "LWGEOM", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "data", + "cType": "void *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWPOINT", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "point", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWLINE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWTRIANGLE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWCIRCSTRING", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWPOLY", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "rings", + "cType": "POINTARRAY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "nrings", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxrings", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMPOINT", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWPOINT **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMLINE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWLINE **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMPOLY", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWPOLY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWCOLLECTION", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWCOMPOUND", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWCURVEPOLY", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "rings", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "nrings", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxrings", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMCURVE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMSURFACE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWPSURFACE", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWPOLY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWTIN", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWTRIANGLE **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "PJconsts", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [] + }, + { + "name": "LWPROJ", + "file": "postgis_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "pj", + "cType": "PJ *", + "offset_bits": -1 + }, + { + "name": "pipeline_is_forward", + "cType": "bool", + "offset_bits": -1 + }, + { + "name": "source_is_latlong", + "cType": "uint8_t", + "offset_bits": -1 + }, + { + "name": "source_semi_major_metre", + "cType": "double", + "offset_bits": -1 + }, + { + "name": "source_semi_minor_metre", + "cType": "double", + "offset_bits": -1 + } + ] + }, + { + "name": "Interval", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "time", + "cType": "TimeOffset", + "offset_bits": 0 + }, + { + "name": "day", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "month", + "cType": "int32", + "offset_bits": 96 + } + ] + }, + { + "name": "varlena", + "file": "postgres_ext_defs.in.h", + "family": "CORE", + "fields": [ + { + "name": "vl_len_", + "cType": "char[4]", + "offset_bits": 0 + }, + { + "name": "vl_dat", + "cType": "char[]", + "offset_bits": 32 + } + ] + }, + { + "name": "cfp_elem", + "file": "trgeo_distance.h", + "family": "RGEO", + "fields": [ + { + "name": "geom_1", + "cType": "LWGEOM *", + "offset_bits": -1 + }, + { + "name": "geom_2", + "cType": "LWGEOM *", + "offset_bits": -1 + }, + { + "name": "pose_1", + "cType": "Pose *", + "offset_bits": -1 + }, + { + "name": "pose_2", + "cType": "Pose *", + "offset_bits": -1 + }, + { + "name": "free_pose_1", + "cType": "bool", + "offset_bits": -1 + }, + { + "name": "free_pose_2", + "cType": "bool", + "offset_bits": -1 + }, + { + "name": "cf_1", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "cf_2", + "cType": "uint32_t", + "offset_bits": -1 + }, + { + "name": "t", + "cType": "TimestampTz", + "offset_bits": -1 + }, + { + "name": "store", + "cType": "bool", + "offset_bits": -1 } ] }, { - "name": "Span", - "file": "meos.h", + "name": "cfp_array", + "file": "trgeo_distance.h", + "family": "RGEO", "fields": [ { - "name": "spantype", - "cType": "uint8", + "name": "count", + "cType": "size_t", "offset_bits": -1 }, { - "name": "basetype", - "cType": "uint8", + "name": "size", + "cType": "size_t", "offset_bits": -1 }, { - "name": "lower_inc", - "cType": "_Bool", + "name": "arr", + "cType": "cfp_elem *", "offset_bits": -1 - }, + } + ] + }, + { + "name": "tdist_elem", + "file": "trgeo_distance.h", + "family": "RGEO", + "fields": [ { - "name": "upper_inc", - "cType": "_Bool", - "offset_bits": -1 + "name": "dist", + "cType": "double", + "offset_bits": 0 }, { - "name": "padding", - "cType": "char[4]", + "name": "t", + "cType": "TimestampTz", + "offset_bits": 64 + } + ] + }, + { + "name": "tdist_array", + "file": "trgeo_distance.h", + "family": "RGEO", + "fields": [ + { + "name": "count", + "cType": "size_t", "offset_bits": -1 }, { - "name": "lower", - "cType": "int", + "name": "size", + "cType": "size_t", "offset_bits": -1 }, { - "name": "upper", - "cType": "int", + "name": "arr", + "cType": "tdist_elem *", "offset_bits": -1 } ] }, { - "name": "SpanSet", - "file": "meos.h", + "name": "SpanBound", + "file": "span.h", + "family": "CORE", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "val", + "cType": "Datum", "offset_bits": -1 }, { - "name": "spansettype", - "cType": "uint8", + "name": "inclusive", + "cType": "bool", + "offset_bits": -1 + }, + { + "name": "lower", + "cType": "bool", "offset_bits": -1 }, { @@ -58543,1715 +101182,1747 @@ "name": "basetype", "cType": "uint8", "offset_bits": -1 - }, + } + ] + }, + { + "name": "LiftedFunctionInfo", + "file": "lifting.h", + "family": "CORE", + "fields": [ { - "name": "padding", - "cType": "char", + "name": "func", + "cType": "varfunc", "offset_bits": -1 }, { - "name": "count", - "cType": "int32", + "name": "numparam", + "cType": "int", "offset_bits": -1 }, { - "name": "maxcount", - "cType": "int32", + "name": "param", + "cType": "int", "offset_bits": -1 }, { - "name": "span", - "cType": "Span", + "name": "argtype", + "cType": "MeosType[2]", "offset_bits": -1 }, { - "name": "elems", - "cType": "Span[1]", + "name": "restype", + "cType": "MeosType", "offset_bits": -1 - } - ] - }, - { - "name": "TBox", - "file": "meos.h", - "fields": [ + }, { - "name": "period", - "cType": "Span", + "name": "reserror", + "cType": "Datum", "offset_bits": -1 }, { - "name": "span", - "cType": "Span", + "name": "resnull", + "cType": "int", "offset_bits": -1 }, { - "name": "flags", - "cType": "int16", + "name": "reslinear", + "cType": "bool", "offset_bits": -1 - } - ] - }, - { - "name": "STBox", - "file": "meos.h", - "fields": [ + }, { - "name": "period", - "cType": "Span", + "name": "invert", + "cType": "bool", "offset_bits": -1 }, { - "name": "xmin", - "cType": "double", + "name": "discont", + "cType": "bool", "offset_bits": -1 }, { - "name": "ymin", - "cType": "double", + "name": "ever", + "cType": "bool", "offset_bits": -1 }, { - "name": "zmin", - "cType": "double", + "name": "tpfn_unary", + "cType": "tpfunc_unary", "offset_bits": -1 }, { - "name": "xmax", - "cType": "double", + "name": "tpfn_adaptive", + "cType": "bool", "offset_bits": -1 }, { - "name": "ymax", - "cType": "double", + "name": "tpfn_set", + "cType": "tpfunc_set", "offset_bits": -1 }, { - "name": "zmax", - "cType": "double", + "name": "cross_type", + "cType": "bool", "offset_bits": -1 }, { - "name": "srid", - "cType": "int32_t", + "name": "tpfn_base", + "cType": "tpfunc_base", "offset_bits": -1 }, { - "name": "flags", - "cType": "int16", + "name": "tpfn_temp", + "cType": "tpfunc_temp", "offset_bits": -1 } ] }, { - "name": "Temporal", - "file": "meos.h", + "name": "SetUnnestState", + "file": "set.h", + "family": "CORE", "fields": [ { - "name": "vl_len_", - "cType": "int32", - "offset_bits": 0 + "name": "done", + "cType": "bool", + "offset_bits": -1 }, { - "name": "temptype", - "cType": "uint8", - "offset_bits": 32 + "name": "i", + "cType": "int", + "offset_bits": -1 }, { - "name": "subtype", - "cType": "uint8", - "offset_bits": 40 + "name": "count", + "cType": "int", + "offset_bits": -1 }, { - "name": "flags", - "cType": "int16", - "offset_bits": 48 + "name": "set", + "cType": "Set *", + "offset_bits": -1 + }, + { + "name": "values", + "cType": "Datum *", + "offset_bits": -1 } ] }, { - "name": "TInstant", - "file": "meos.h", + "name": "SpanNode", + "file": "span_index.h", + "family": "CORE", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "left", + "cType": "Span", "offset_bits": -1 }, { - "name": "temptype", - "cType": "uint8", + "name": "right", + "cType": "Span", "offset_bits": -1 - }, + } + ] + }, + { + "name": "SortedSpan", + "file": "span_index.h", + "family": "CORE", + "fields": [ { - "name": "subtype", - "cType": "uint8", + "name": "s", + "cType": "Span", "offset_bits": -1 }, { - "name": "flags", - "cType": "int16", + "name": "i", + "cType": "int", "offset_bits": -1 - }, + } + ] + }, + { + "name": "TboxNode", + "file": "tbox_index.h", + "family": "CORE", + "fields": [ { - "name": "t", - "cType": "TimestampTz", + "name": "left", + "cType": "TBox", "offset_bits": -1 }, { - "name": "value", - "cType": "int", + "name": "right", + "cType": "TBox", "offset_bits": -1 } - ], - "meosType": "TPointInst" + ] }, { - "name": "TSequence", - "file": "meos.h", + "name": "SortedTbox", + "file": "tbox_index.h", + "family": "CORE", "fields": [ { - "name": "vl_len_", - "cType": "int32", + "name": "box", + "cType": "TBox", "offset_bits": -1 }, { - "name": "temptype", - "cType": "uint8", + "name": "i", + "cType": "int", "offset_bits": -1 - }, + } + ] + }, + { + "name": "DggsCellOps", + "file": "tcellindex.h", + "family": "CORE", + "fields": [ { - "name": "subtype", - "cType": "uint8", + "name": "celltype", + "cType": "MeosType", "offset_bits": -1 }, { - "name": "flags", - "cType": "int16", + "name": "settype", + "cType": "MeosType", "offset_bits": -1 }, { - "name": "count", - "cType": "int32", + "name": "temptype", + "cType": "MeosType", "offset_bits": -1 }, { - "name": "maxcount", + "name": "min_resolution", "cType": "int32", "offset_bits": -1 }, { - "name": "bboxsize", - "cType": "int16", + "name": "max_resolution", + "cType": "int32", "offset_bits": -1 }, { - "name": "padding", - "cType": "char[6]", + "name": "point_temptype", + "cType": "MeosType", "offset_bits": -1 }, { - "name": "period", - "cType": "Span", - "offset_bits": -1 - } - ], - "meosType": "TPointSeq" - }, - { - "name": "TSequenceSet", - "file": "meos.h", - "fields": [ - { - "name": "vl_len_", + "name": "point_srid", "cType": "int32", "offset_bits": -1 }, { - "name": "temptype", - "cType": "uint8", + "name": "get_resolution", + "cType": "int (*)(Datum *)", "offset_bits": -1 }, { - "name": "subtype", - "cType": "uint8", + "name": "is_valid_cell", + "cType": "int (*)(Datum *)", "offset_bits": -1 }, { - "name": "flags", - "cType": "int16", + "name": "cell_to_parent", + "cType": "int (*)(Datum *, Datum *)", "offset_bits": -1 }, { - "name": "count", - "cType": "int32", + "name": "cell_to_point", + "cType": "int (*)(Datum *)", "offset_bits": -1 }, { - "name": "totalcount", - "cType": "int32", + "name": "cell_to_boundary", + "cType": "int (*)(Datum *)", "offset_bits": -1 }, { - "name": "maxcount", - "cType": "int32", + "name": "cell_area", + "cType": "int (*)(Datum *)", + "offset_bits": -1 + } + ] + }, + { + "name": "SimilarityPathState", + "file": "temporal_analytics.h", + "family": "CORE", + "fields": [ + { + "name": "done", + "cType": "bool", "offset_bits": -1 }, { - "name": "bboxsize", - "cType": "int16", + "name": "i", + "cType": "int", "offset_bits": -1 }, { - "name": "padding", - "cType": "int16", + "name": "size", + "cType": "int", "offset_bits": -1 }, { - "name": "period", - "cType": "Span", + "name": "path", + "cType": "Match *", "offset_bits": -1 } ] }, { - "name": "Match", - "file": "meos.h", + "name": "RTreeNode", + "file": "temporal_rtree.h", + "family": "CORE", "fields": [ { - "name": "i", - "cType": "int", - "offset_bits": 0 + "name": "bboxsize", + "cType": "size_t", + "offset_bits": -1 }, { - "name": "j", + "name": "count", "cType": "int", - "offset_bits": 32 + "offset_bits": -1 + }, + { + "name": "node_type", + "cType": "RTreeNodeType", + "offset_bits": -1 + }, + { + "name": "boxes", + "cType": "char[]", + "offset_bits": -1 } ] }, { - "name": "SkipList", - "file": "meos.h", - "fields": [] - }, - { - "name": "MeosArray", - "file": "meos.h", - "fields": [] - }, - { - "name": "RTree", - "file": "meos.h", - "fields": [] - }, - { - "name": "Cbuffer", - "file": "meos_cbuffer.h", - "fields": [] - }, - { - "name": "SkipListElem", - "file": "meos_internal.h", + "name": "SpanBinState", + "file": "temporal_tile.h", + "family": "CORE", "fields": [ { - "name": "key", - "cType": "void *", - "offset_bits": 0 + "name": "done", + "cType": "bool", + "offset_bits": -1 }, { - "name": "value", - "cType": "void *", - "offset_bits": 64 + "name": "basetype", + "cType": "uint8", + "offset_bits": -1 }, { - "name": "height", + "name": "i", "cType": "int", - "offset_bits": 128 + "offset_bits": -1 }, { - "name": "next", - "cType": "int[32]", - "offset_bits": 160 - } - ] - }, - { - "name": "Npoint", - "file": "meos_npoint.h", - "fields": [ + "name": "size", + "cType": "Datum", + "offset_bits": -1 + }, { - "name": "rid", - "cType": "int64", - "offset_bits": 0 + "name": "origin", + "cType": "Datum", + "offset_bits": -1 }, { - "name": "pos", - "cType": "double", - "offset_bits": 64 - } - ] - }, - { - "name": "Nsegment", - "file": "meos_npoint.h", - "fields": [ + "name": "span", + "cType": "Span", + "offset_bits": -1 + }, { - "name": "rid", - "cType": "int64", - "offset_bits": 0 + "name": "to_split", + "cType": "const void *", + "offset_bits": -1 }, { - "name": "pos1", - "cType": "double", - "offset_bits": 64 + "name": "value", + "cType": "Datum", + "offset_bits": -1 }, { - "name": "pos2", - "cType": "double", - "offset_bits": 128 + "name": "nbins", + "cType": "int", + "offset_bits": -1 } ] }, { - "name": "Pose", - "file": "meos_pose.h", - "fields": [] - }, - { - "name": "AFFINE", - "file": "postgis_ext_defs.in.h", + "name": "TboxGridState", + "file": "temporal_tile.h", + "family": "CORE", "fields": [ { - "name": "afac", - "cType": "double", - "offset_bits": 0 - }, - { - "name": "bfac", - "cType": "double", - "offset_bits": 64 + "name": "done", + "cType": "bool", + "offset_bits": -1 }, { - "name": "cfac", - "cType": "double", - "offset_bits": 128 + "name": "i", + "cType": "int", + "offset_bits": -1 }, { - "name": "dfac", - "cType": "double", - "offset_bits": 192 + "name": "vsize", + "cType": "Datum", + "offset_bits": -1 }, { - "name": "efac", - "cType": "double", - "offset_bits": 256 + "name": "tunits", + "cType": "int64", + "offset_bits": -1 }, { - "name": "ffac", - "cType": "double", - "offset_bits": 320 + "name": "box", + "cType": "TBox", + "offset_bits": -1 }, { - "name": "gfac", - "cType": "double", - "offset_bits": 384 + "name": "temp", + "cType": "const Temporal *", + "offset_bits": -1 }, { - "name": "hfac", - "cType": "double", - "offset_bits": 448 + "name": "value", + "cType": "Datum", + "offset_bits": -1 }, { - "name": "ifac", - "cType": "double", - "offset_bits": 512 + "name": "t", + "cType": "TimestampTz", + "offset_bits": -1 }, { - "name": "xoff", - "cType": "double", - "offset_bits": 576 + "name": "ntiles", + "cType": "int", + "offset_bits": -1 }, { - "name": "yoff", - "cType": "double", - "offset_bits": 640 + "name": "max_coords", + "cType": "int[2]", + "offset_bits": -1 }, { - "name": "zoff", - "cType": "double", - "offset_bits": 704 + "name": "coords", + "cType": "int[2]", + "offset_bits": -1 } ] }, { - "name": "BOX3D", - "file": "postgis_ext_defs.in.h", + "name": "ekf_t", + "file": "tinyekf_meos.h", + "family": "CORE", "fields": [ { - "name": "xmin", - "cType": "double", - "offset_bits": 0 + "name": "x", + "cType": "float", + "offset_bits": -1 }, { - "name": "ymin", - "cType": "double", - "offset_bits": 64 - }, + "name": "P", + "cType": "float", + "offset_bits": -1 + } + ] + } + ], + "enums": [ + { + "name": "errorCode", + "file": "meos_error.h", + "family": "CORE", + "values": [ { - "name": "zmin", - "cType": "double", - "offset_bits": 128 + "name": "MEOS_SUCCESS", + "value": 0 }, { - "name": "xmax", - "cType": "double", - "offset_bits": 192 + "name": "MEOS_ERR_INTERNAL_ERROR", + "value": 1 }, { - "name": "ymax", - "cType": "double", - "offset_bits": 256 + "name": "MEOS_ERR_INTERNAL_TYPE_ERROR", + "value": 2 }, { - "name": "zmax", - "cType": "double", - "offset_bits": 320 + "name": "MEOS_ERR_VALUE_OUT_OF_RANGE", + "value": 3 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 384 - } - ] - }, - { - "name": "GBOX", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 0 + "name": "MEOS_ERR_DIVISION_BY_ZERO", + "value": 4 }, { - "name": "xmin", - "cType": "double", - "offset_bits": 64 + "name": "MEOS_ERR_MEMORY_ALLOC_ERROR", + "value": 5 }, { - "name": "xmax", - "cType": "double", - "offset_bits": 128 + "name": "MEOS_ERR_AGGREGATION_ERROR", + "value": 6 }, { - "name": "ymin", - "cType": "double", - "offset_bits": 192 + "name": "MEOS_ERR_DIRECTORY_ERROR", + "value": 7 }, { - "name": "ymax", - "cType": "double", - "offset_bits": 256 + "name": "MEOS_ERR_FILE_ERROR", + "value": 8 }, { - "name": "zmin", - "cType": "double", - "offset_bits": 320 + "name": "MEOS_ERR_OUT_OF_MEMORY", + "value": 9 }, { - "name": "zmax", - "cType": "double", - "offset_bits": 384 + "name": "MEOS_ERR_INVALID_ARG", + "value": 10 }, { - "name": "mmin", - "cType": "double", - "offset_bits": 448 + "name": "MEOS_ERR_INVALID_ARG_TYPE", + "value": 11 }, { - "name": "mmax", - "cType": "double", - "offset_bits": 512 - } - ] - }, - { - "name": "SPHEROID", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "a", - "cType": "double", - "offset_bits": 0 + "name": "MEOS_ERR_INVALID_ARG_VALUE", + "value": 12 }, { - "name": "b", - "cType": "double", - "offset_bits": 64 + "name": "MEOS_ERR_FEATURE_NOT_SUPPORTED", + "value": 13 }, { - "name": "f", - "cType": "double", - "offset_bits": 128 + "name": "MEOS_ERR_INDETERMINATE_COLLATION", + "value": 14 }, { - "name": "e", - "cType": "double", - "offset_bits": 192 + "name": "MEOS_ERR_SYNTAX_ERROR", + "value": 15 }, { - "name": "e_sq", - "cType": "double", - "offset_bits": 256 + "name": "MEOS_ERR_NULL_RESULT", + "value": 16 }, { - "name": "radius", - "cType": "double", - "offset_bits": 320 + "name": "MEOS_ERR_MFJSON_INPUT", + "value": 20 }, { - "name": "name", - "cType": "char[20]", - "offset_bits": 384 - } - ] - }, - { - "name": "POINT2D", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "MEOS_ERR_MFJSON_OUTPUT", + "value": 21 + }, { - "name": "x", - "cType": "double", - "offset_bits": 0 + "name": "MEOS_ERR_TEXT_INPUT", + "value": 22 }, { - "name": "y", - "cType": "double", - "offset_bits": 64 - } - ] - }, - { - "name": "POINT3DZ", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "MEOS_ERR_TEXT_OUTPUT", + "value": 23 + }, { - "name": "x", - "cType": "double", - "offset_bits": 0 + "name": "MEOS_ERR_WKB_INPUT", + "value": 24 }, { - "name": "y", - "cType": "double", - "offset_bits": 64 + "name": "MEOS_ERR_WKB_OUTPUT", + "value": 25 }, { - "name": "z", - "cType": "double", - "offset_bits": 128 - } - ] - }, - { - "name": "POINT3D", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "MEOS_ERR_GEOJSON_INPUT", + "value": 26 + }, { - "name": "x", - "cType": "double", - "offset_bits": 0 + "name": "MEOS_ERR_GEOJSON_OUTPUT", + "value": 27 }, { - "name": "y", - "cType": "double", - "offset_bits": 64 + "name": "MEOS_ERR_SQL_JSON_ERROR", + "value": 28 }, { - "name": "z", - "cType": "double", - "offset_bits": 128 + "name": "MEOS_ERR_INVALID_REGULAR_EXPRESSION", + "value": 29 } ] }, { - "name": "POINT3DM", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "tempSubtype", + "file": "meos.h", + "family": "CORE", + "values": [ { - "name": "x", - "cType": "double", - "offset_bits": 0 + "name": "ANYTEMPSUBTYPE", + "value": 0 }, { - "name": "y", - "cType": "double", - "offset_bits": 64 + "name": "TINSTANT", + "value": 1 }, { - "name": "m", - "cType": "double", - "offset_bits": 128 + "name": "TSEQUENCE", + "value": 2 + }, + { + "name": "TSEQUENCESET", + "value": 3 } ] }, { - "name": "POINT4D", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "interpType", + "file": "meos.h", + "family": "CORE", + "values": [ { - "name": "x", - "cType": "double", - "offset_bits": 0 + "name": "INTERP_NONE", + "value": 0 }, { - "name": "y", - "cType": "double", - "offset_bits": 64 + "name": "DISCRETE", + "value": 1 }, { - "name": "z", - "cType": "double", - "offset_bits": 128 + "name": "STEP", + "value": 2 }, { - "name": "m", - "cType": "double", - "offset_bits": 192 + "name": "LINEAR", + "value": 3 } ] }, { - "name": "POINTARRAY", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "npoints", - "cType": "uint32_t", - "offset_bits": 0 - }, + "name": "RTreeSearchOp", + "file": "meos.h", + "family": "CORE", + "values": [ { - "name": "maxpoints", - "cType": "uint32_t", - "offset_bits": 32 + "name": "RTREE_OVERLAPS", + "value": 0 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 64 + "name": "RTREE_CONTAINS", + "value": 1 }, { - "name": "serialized_pointlist", - "cType": "uint8_t *", - "offset_bits": 128 + "name": "RTREE_CONTAINED_BY", + "value": 2 } ] }, { - "name": "GSERIALIZED", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "spatialRel", + "file": "meos_geo.h", + "family": "CORE", + "values": [ { - "name": "size", - "cType": "uint32_t", - "offset_bits": 0 + "name": "INTERSECTS", + "value": 0 }, { - "name": "srid", - "cType": "uint8_t[3]", - "offset_bits": 32 + "name": "CONTAINS", + "value": 1 }, { - "name": "gflags", - "cType": "uint8_t", - "offset_bits": 56 + "name": "TOUCHES", + "value": 2 }, { - "name": "data", - "cType": "uint8_t[1]", - "offset_bits": 64 + "name": "COVERS", + "value": 3 } ] }, { - "name": "LWGEOM", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "MeosType", + "file": "meos_catalog.h", + "family": "CORE", + "values": [ { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_UNKNOWN", + "value": 0 }, { - "name": "data", - "cType": "void *", - "offset_bits": 64 + "name": "T_BOOL", + "value": 1 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_DATE", + "value": 2 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_DATEMULTIRANGE", + "value": 3 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_DATERANGE", + "value": 4 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 - } - ] - }, - { - "name": "LWPOINT", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_DATESET", + "value": 5 }, { - "name": "point", - "cType": "POINTARRAY *", - "offset_bits": 64 + "name": "T_DATESPAN", + "value": 6 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_DATESPANSET", + "value": 7 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_DOUBLE2", + "value": 8 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_DOUBLE3", + "value": 9 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 - } - ] - }, - { - "name": "LWLINE", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_DOUBLE4", + "value": 10 }, { - "name": "points", - "cType": "POINTARRAY *", - "offset_bits": 64 + "name": "T_FLOAT8", + "value": 11 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_FLOATSET", + "value": 12 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_FLOATSPAN", + "value": 13 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_FLOATSPANSET", + "value": 14 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 - } - ] - }, - { - "name": "LWTRIANGLE", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_INT4", + "value": 15 }, { - "name": "points", - "cType": "POINTARRAY *", - "offset_bits": 64 + "name": "T_INT4MULTIRANGE", + "value": 16 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_INT4RANGE", + "value": 17 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_INTSET", + "value": 18 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_INTSPAN", + "value": 19 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 - } - ] - }, - { - "name": "LWCIRCSTRING", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_INTSPANSET", + "value": 20 }, { - "name": "points", - "cType": "POINTARRAY *", - "offset_bits": 64 + "name": "T_INT8", + "value": 21 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_INT8MULTIRANGE", + "value": 52 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_INT8RANGE", + "value": 53 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_BIGINTSET", + "value": 22 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 - } - ] - }, - { - "name": "LWPOLY", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_BIGINTSPAN", + "value": 23 }, { - "name": "rings", - "cType": "POINTARRAY **", - "offset_bits": 64 + "name": "T_BIGINTSPANSET", + "value": 24 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_STBOX", + "value": 25 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_TBOOL", + "value": 26 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_TBOX", + "value": 27 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_TDOUBLE2", + "value": 28 }, { - "name": "nrings", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_TDOUBLE3", + "value": 29 }, { - "name": "maxrings", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWMPOINT", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_TDOUBLE4", + "value": 30 }, { - "name": "geoms", - "cType": "LWPOINT **", - "offset_bits": 64 + "name": "T_TEXT", + "value": 31 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_TEXTSET", + "value": 32 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_TFLOAT", + "value": 33 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_TIMESTAMPTZ", + "value": 34 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_TINT", + "value": 35 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_TSTZMULTIRANGE", + "value": 36 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWMLINE", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_TSTZRANGE", + "value": 37 }, { - "name": "geoms", - "cType": "LWLINE **", - "offset_bits": 64 + "name": "T_TSTZSET", + "value": 38 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_TSTZSPAN", + "value": 39 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_TSTZSPANSET", + "value": 40 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_TTEXT", + "value": 41 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_GEOMETRY", + "value": 42 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_GEOMSET", + "value": 43 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWMPOLY", - "file": "postgis_ext_defs.in.h", - "fields": [ - { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_GEOGRAPHY", + "value": 44 }, { - "name": "geoms", - "cType": "LWPOLY **", - "offset_bits": 64 + "name": "T_GEOGSET", + "value": 45 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_TGEOMPOINT", + "value": 46 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_TGEOGPOINT", + "value": 47 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_NPOINT", + "value": 48 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_NPOINTSET", + "value": 49 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_NSEGMENT", + "value": 50 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWCOLLECTION", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "T_TNPOINT", + "value": 51 + }, { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_POSE", + "value": 54 }, { - "name": "geoms", - "cType": "LWGEOM **", - "offset_bits": 64 + "name": "T_POSESET", + "value": 55 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_TPOSE", + "value": 56 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_CBUFFER", + "value": 57 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_CBUFFERSET", + "value": 58 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_TCBUFFER", + "value": 59 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_TGEOMETRY", + "value": 60 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWCOMPOUND", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "T_TGEOGRAPHY", + "value": 61 + }, { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_TRGEOMETRY", + "value": 62 }, { - "name": "geoms", - "cType": "LWGEOM **", - "offset_bits": 64 + "name": "T_TBIGINT", + "value": 67 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_H3INDEX", + "value": 68 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_H3INDEXSET", + "value": 69 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_TH3INDEX", + "value": 70 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_QUADBIN", + "value": 71 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_QUADBINSET", + "value": 72 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWCURVEPOLY", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "T_TQUADBIN", + "value": 73 + }, { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "T_PCPOINT", + "value": 74 }, { - "name": "rings", - "cType": "LWGEOM **", - "offset_bits": 64 + "name": "T_PCPOINTSET", + "value": 75 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "T_TPCPOINT", + "value": 76 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "T_PCPATCH", + "value": 77 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "T_PCPATCHSET", + "value": 78 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "T_TPCPATCH", + "value": 79 }, { - "name": "nrings", - "cType": "uint32_t", - "offset_bits": 192 + "name": "T_TPCBOX", + "value": 80 }, { - "name": "maxrings", - "cType": "uint32_t", - "offset_bits": 224 + "name": "NUM_MEOS_TYPES", + "value": 81 } ] }, { - "name": "LWMCURVE", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "MeosOper", + "file": "meos_catalog.h", + "family": "CORE", + "values": [ { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "UNKNOWN_OP", + "value": 0 }, { - "name": "geoms", - "cType": "LWGEOM **", - "offset_bits": 64 + "name": "EQ_OP", + "value": 1 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "NE_OP", + "value": 2 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "LT_OP", + "value": 3 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "LE_OP", + "value": 4 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "GT_OP", + "value": 5 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "GE_OP", + "value": 6 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWMSURFACE", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "ADJACENT_OP", + "value": 7 + }, { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "UNION_OP", + "value": 8 }, { - "name": "geoms", - "cType": "LWGEOM **", - "offset_bits": 64 + "name": "MINUS_OP", + "value": 9 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "INTERSECT_OP", + "value": 10 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "OVERLAPS_OP", + "value": 11 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "CONTAINS_OP", + "value": 12 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "CONTAINED_OP", + "value": 13 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "SAME_OP", + "value": 14 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWPSURFACE", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "LEFT_OP", + "value": 15 + }, { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "OVERLEFT_OP", + "value": 16 }, { - "name": "geoms", - "cType": "LWPOLY **", - "offset_bits": 64 + "name": "RIGHT_OP", + "value": 17 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "OVERRIGHT_OP", + "value": 18 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "BELOW_OP", + "value": 19 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "OVERBELOW_OP", + "value": 20 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "ABOVE_OP", + "value": 21 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "OVERABOVE_OP", + "value": 22 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "LWTIN", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "FRONT_OP", + "value": 23 + }, { - "name": "bbox", - "cType": "GBOX *", - "offset_bits": 0 + "name": "OVERFRONT_OP", + "value": 24 }, { - "name": "geoms", - "cType": "LWTRIANGLE **", - "offset_bits": 64 + "name": "BACK_OP", + "value": 25 }, { - "name": "srid", - "cType": "int32_t", - "offset_bits": 128 + "name": "OVERBACK_OP", + "value": 26 }, { - "name": "flags", - "cType": "lwflags_t", - "offset_bits": 160 + "name": "BEFORE_OP", + "value": 27 }, { - "name": "type", - "cType": "uint8_t", - "offset_bits": 176 + "name": "OVERBEFORE_OP", + "value": 28 }, { - "name": "pad", - "cType": "char[1]", - "offset_bits": 184 + "name": "AFTER_OP", + "value": 29 }, { - "name": "ngeoms", - "cType": "uint32_t", - "offset_bits": 192 + "name": "OVERAFTER_OP", + "value": 30 }, { - "name": "maxgeoms", - "cType": "uint32_t", - "offset_bits": 224 - } - ] - }, - { - "name": "PJconsts", - "file": "postgis_ext_defs.in.h", - "fields": [] - }, - { - "name": "LWPROJ", - "file": "postgis_ext_defs.in.h", - "fields": [ + "name": "EVEREQ_OP", + "value": 31 + }, { - "name": "pj", - "cType": "PJ *", - "offset_bits": 0 + "name": "EVERNE_OP", + "value": 32 }, { - "name": "pipeline_is_forward", - "cType": "_Bool", - "offset_bits": 64 + "name": "EVERLT_OP", + "value": 33 }, { - "name": "source_is_latlong", - "cType": "uint8_t", - "offset_bits": 72 + "name": "EVERLE_OP", + "value": 34 }, { - "name": "source_semi_major_metre", - "cType": "double", - "offset_bits": 128 + "name": "EVERGT_OP", + "value": 35 }, { - "name": "source_semi_minor_metre", - "cType": "double", - "offset_bits": 192 - } - ] - }, - { - "name": "Interval", - "file": "postgres_ext_defs.in.h", - "fields": [ + "name": "EVERGE_OP", + "value": 36 + }, { - "name": "time", - "cType": "TimeOffset", - "offset_bits": 0 + "name": "ALWAYSEQ_OP", + "value": 37 }, { - "name": "day", - "cType": "int32", - "offset_bits": 64 + "name": "ALWAYSNE_OP", + "value": 38 }, { - "name": "month", - "cType": "int32", - "offset_bits": 96 + "name": "ALWAYSLT_OP", + "value": 39 + }, + { + "name": "ALWAYSLE_OP", + "value": 40 + }, + { + "name": "ALWAYSGT_OP", + "value": 41 + }, + { + "name": "ALWAYSGE_OP", + "value": 42 } ] }, { - "name": "varlena", - "file": "postgres_ext_defs.in.h", - "fields": [ + "name": "SkipListType", + "file": "meos_internal.h", + "family": "CORE", + "values": [ { - "name": "vl_len_", - "cType": "char[4]", - "offset_bits": 0 + "name": "SKIPLIST_TEMPORAL", + "value": 0 }, { - "name": "vl_dat", - "cType": "char[]", - "offset_bits": 32 + "name": "SKIPLIST_KEYVALUE", + "value": 1 } ] - } - ], - "enums": [ + }, { - "name": "tempSubtype", - "file": "meos.h", + "name": "SyncMode", + "file": "temporal.h", + "family": "CORE", "values": [ { - "name": "ANYTEMPSUBTYPE", + "name": "SYNCHRONIZE_NOCROSS", "value": 0 }, { - "name": "TINSTANT", + "name": "SYNCHRONIZE_CROSS", "value": 1 - }, - { - "name": "TSEQUENCE", - "value": 2 - }, - { - "name": "TSEQUENCESET", - "value": 3 } ] }, { - "name": "interpType", - "file": "meos.h", + "name": "TemporalFamily", + "file": "temporal.h", + "family": "CORE", "values": [ { - "name": "INTERP_NONE", + "name": "TEMPORALTYPE", "value": 0 }, { - "name": "DISCRETE", + "name": "TNUMBERTYPE", "value": 1 }, { - "name": "STEP", + "name": "TSPATIALTYPE", "value": 2 - }, - { - "name": "LINEAR", - "value": 3 } ] }, { - "name": "RTreeSearchOp", - "file": "meos.h", + "name": "SetOper", + "file": "temporal.h", + "family": "CORE", "values": [ { - "name": "RTREE_OVERLAPS", + "name": "UNION", "value": 0 }, { - "name": "RTREE_CONTAINS", + "name": "INTER", "value": 1 }, { - "name": "RTREE_CONTAINED_BY", + "name": "MINUS", "value": 2 } ] }, { - "name": "errorCode", - "file": "meos.h", + "name": "CompOper", + "file": "temporal.h", + "family": "CORE", "values": [ { - "name": "MEOS_SUCCESS", + "name": "EQ", "value": 0 }, { - "name": "MEOS_ERR_INTERNAL_ERROR", + "name": "NE", "value": 1 }, { - "name": "MEOS_ERR_INTERNAL_TYPE_ERROR", + "name": "LT", "value": 2 }, { - "name": "MEOS_ERR_VALUE_OUT_OF_RANGE", + "name": "LE", "value": 3 }, { - "name": "MEOS_ERR_DIVISION_BY_ZERO", + "name": "GT", "value": 4 }, { - "name": "MEOS_ERR_MEMORY_ALLOC_ERROR", + "name": "GE", "value": 5 - }, + } + ] + }, + { + "name": "MEOS_WKB_TSUBTYPE", + "file": "temporal.h", + "family": "CORE", + "values": [ { - "name": "MEOS_ERR_AGGREGATION_ERROR", - "value": 6 + "name": "MEOS_WKB_TINSTANT", + "value": 1 }, { - "name": "MEOS_ERR_DIRECTORY_ERROR", - "value": 7 + "name": "MEOS_WKB_TSEQUENCE", + "value": 2 }, { - "name": "MEOS_ERR_FILE_ERROR", - "value": 8 + "name": "MEOS_WKB_TSEQUENCESET", + "value": 3 + } + ] + }, + { + "name": "ClipOper", + "file": "geo_poly_clip.h", + "family": "CORE", + "values": [ + { + "name": "CL_INTERSECTION", + "value": 0 }, { - "name": "MEOS_ERR_INVALID_ARG", - "value": 10 + "name": "CL_UNION", + "value": 1 }, { - "name": "MEOS_ERR_INVALID_ARG_TYPE", - "value": 11 + "name": "CL_DIFFERENCE", + "value": 2 }, { - "name": "MEOS_ERR_INVALID_ARG_VALUE", - "value": 12 + "name": "CL_XOR", + "value": 3 + } + ] + }, + { + "name": "H3Unit", + "file": "th3index_internal.h", + "family": "H3", + "values": [ + { + "name": "H3_UNIT_KM", + "value": 0 }, { - "name": "MEOS_ERR_FEATURE_NOT_SUPPORTED", - "value": 13 + "name": "H3_UNIT_M", + "value": 1 }, { - "name": "MEOS_ERR_MFJSON_INPUT", - "value": 20 + "name": "H3_UNIT_RADS", + "value": 2 }, { - "name": "MEOS_ERR_MFJSON_OUTPUT", - "value": 21 + "name": "H3_UNIT_KM2", + "value": 3 }, { - "name": "MEOS_ERR_TEXT_INPUT", - "value": 22 + "name": "H3_UNIT_M2", + "value": 4 }, { - "name": "MEOS_ERR_TEXT_OUTPUT", - "value": 23 + "name": "H3_UNIT_RADS2", + "value": 5 + } + ] + }, + { + "name": "nullHandleType", + "file": "meos_json.h", + "family": "JSON", + "values": [ + { + "name": "NULL_INVALID", + "value": 0 }, { - "name": "MEOS_ERR_WKB_INPUT", - "value": 24 + "name": "NULL_ERROR", + "value": 1 }, { - "name": "MEOS_ERR_WKB_OUTPUT", - "value": 25 + "name": "NULL_JSON_NULL", + "value": 2 }, { - "name": "MEOS_ERR_GEOJSON_INPUT", - "value": 26 + "name": "NULL_DELETE", + "value": 3 }, { - "name": "MEOS_ERR_GEOJSON_OUTPUT", - "value": 27 + "name": "NULL_RETURN", + "value": 4 } ] }, { - "name": "H3Unit", - "file": "th3index_internal.h", + "name": "MeosPixType", + "file": "meos_raster.h", + "family": "RASTER", "values": [ { - "name": "H3_UNIT_KM", + "name": "MEOS_PT_UINT8", "value": 0 }, { - "name": "H3_UNIT_M", + "name": "MEOS_PT_INT16", "value": 1 }, { - "name": "H3_UNIT_RADS", + "name": "MEOS_PT_INT32", "value": 2 }, { - "name": "H3_UNIT_KM2", + "name": "MEOS_PT_FLOAT32", "value": 3 }, { - "name": "H3_UNIT_M2", + "name": "MEOS_PT_FLOAT64", "value": 4 + } + ] + }, + { + "name": "GeoPoseClass", + "file": "pose_geopose.h", + "family": "POSE", + "values": [ + { + "name": "GEOPOSE_BASIC_QUATERNION", + "value": 0 }, { - "name": "H3_UNIT_RADS2", - "value": 5 + "name": "GEOPOSE_BASIC_YPR", + "value": 1 } ] }, { - "name": "spatialRel", - "file": "meos_geo.h", + "name": "SimFunc", + "file": "temporal_analytics.h", + "family": "CORE", "values": [ { - "name": "INTERSECTS", + "name": "FRECHET", "value": 0 }, { - "name": "CONTAINS", + "name": "DYNTIMEWARP", "value": 1 }, { - "name": "TOUCHES", + "name": "HAUSDORFF", "value": 2 + } + ] + }, + { + "name": "RTreeNodeType", + "file": "temporal_rtree.h", + "family": "CORE", + "values": [ + { + "name": "RTREE_LEAF", + "value": 0 }, { - "name": "COVERS", - "value": 3 + "name": "RTREE_INNER", + "value": 1 } ] }, { - "name": "SkipListType", - "file": "meos_internal.h", + "name": "TArithmetic", + "file": "tnumber_mathfuncs.h", + "family": "CORE", "values": [ { - "name": "TEMPORAL", + "name": "ADD", "value": 0 }, { - "name": "KEYVALUE", + "name": "SUB", "value": 1 + }, + { + "name": "MUL", + "value": 2 + }, + { + "name": "DIV", + "value": 3 + }, + { + "name": "DIST", + "value": 4 } ] } - ] + ], + "portableAliases": { + "provenance": { + "discussion": "MobilityDB#861", + "rfc": "MobilityDB RFC #920 (doc/rfc/sql-portability/README.md, branch rfc/sql-portability)", + "nativePR": "MobilityDB#1075 (1303 operator-overload aliases, each reusing the operator's own C symbol \u2014 identical by construction; CI-gated by tools/portable_aliases/generate.py --check)", + "manualChapter": "MobilityDB#1078" + }, + "families": { + "topology": [ + { + "operator": "&&", + "bareName": "overlaps" + }, + { + "operator": "@>", + "bareName": "contains" + }, + { + "operator": "<@", + "bareName": "contained" + }, + { + "operator": "-|-", + "bareName": "adjacent" + } + ], + "timePosition": [ + { + "operator": "<<#", + "bareName": "before" + }, + { + "operator": "#>>", + "bareName": "after" + }, + { + "operator": "&<#", + "bareName": "overbefore" + }, + { + "operator": "#&>", + "bareName": "overafter" + } + ], + "spaceX": [ + { + "operator": "<<", + "bareName": "left" + }, + { + "operator": ">>", + "bareName": "right" + }, + { + "operator": "&<", + "bareName": "overleft" + }, + { + "operator": "&>", + "bareName": "overright" + } + ], + "spaceY": [ + { + "operator": "<<|", + "bareName": "below" + }, + { + "operator": "|>>", + "bareName": "above" + }, + { + "operator": "&<|", + "bareName": "overbelow" + }, + { + "operator": "|&>", + "bareName": "overabove" + } + ], + "spaceZ": [ + { + "operator": "<>", + "bareName": "back" + }, + { + "operator": "&", + "bareName": "overback" + } + ], + "temporalComparison": [ + { + "operator": "#=", + "bareName": "teq" + }, + { + "operator": "#<>", + "bareName": "tne" + }, + { + "operator": "#<", + "bareName": "tlt" + }, + { + "operator": "#<=", + "bareName": "tle" + }, + { + "operator": "#>", + "bareName": "tgt" + }, + { + "operator": "#>=", + "bareName": "tge" + } + ], + "distance": [ + { + "operator": "<->", + "bareName": "tdistance" + }, + { + "operator": "|=|", + "bareName": "nearestApproachDistance" + } + ], + "same": [ + { + "operator": "~=", + "bareName": "same" + } + ] + }, + "alreadyCanonical": [ + { + "kind": "family", + "family": "ever", + "operators": [ + "?=" + ], + "pattern": "ever_*" + }, + { + "kind": "family", + "family": "always", + "operators": [ + "%=" + ], + "pattern": "always_*" + }, + { + "kind": "functions", + "functions": [ + "eIntersects", + "atTime", + "restriction functions", + "spatial-relationship functions" + ] + } + ], + "explicitBacking": { + "nearestApproachDistance": [ + "nad" + ] + }, + "scope": { + "inScopeTypeFamilies": [ + "temporal", + "geo", + "cbuffer", + "npoint", + "pose", + "rgeo" + ], + "note": "cbuffer / npoint / pose / rgeo are FULL user-facing temporal types and ARE in scope \u2014 covered like every other type. PR #1075 already aliases all six families (1303 aliases). They must NOT be excluded from any parity headline; an upstream/audit note that 'defers' or 'jointly excludes' them is a known error being corrected \u2014 where another engine defers them, that is incomplete work to close (a gap with a plan), never an accepted exclusion.", + "deferralIsError": true + }, + "notes": [ + "Generate aliases by reusing each operator's own backing C function (equivalence by construction), never by reimplementing; mirror MobilityDB tools/portable_aliases/generate.py + its 100%-coverage audit.", + "User-facing API uses the full name `trgeometry`; internal functions keep the `trgeo_` prefix \u2014 do NOT normalize the internal prefix.", + "Goal: 100% parity ecosystem-wide \u2014 every operator has its bare name on every engine, no gaps, no headline exclusions." + ], + "byOperator": { + "&&": "overlaps", + "@>": "contains", + "<@": "contained", + "-|-": "adjacent", + "<<#": "before", + "#>>": "after", + "&<#": "overbefore", + "#&>": "overafter", + "<<": "left", + ">>": "right", + "&<": "overleft", + "&>": "overright", + "<<|": "below", + "|>>": "above", + "&<|": "overbelow", + "|&>": "overabove", + "<>": "back", + "&": "overback", + "#=": "teq", + "#<>": "tne", + "#<": "tlt", + "#<=": "tle", + "#>": "tgt", + "#>=": "tge", + "<->": "tdistance", + "|=|": "nearestApproachDistance", + "~=": "same" + }, + "byBareName": { + "overlaps": "&&", + "contains": "@>", + "contained": "<@", + "adjacent": "-|-", + "before": "<<#", + "after": "#>>", + "overbefore": "&<#", + "overafter": "#&>", + "left": "<<", + "right": ">>", + "overleft": "&<", + "overright": "&>", + "below": "<<|", + "above": "|>>", + "overbelow": "&<|", + "overabove": "|&>", + "front": "<>", + "overfront": "&", + "teq": "#=", + "tne": "#<>", + "tlt": "#<", + "tle": "#<=", + "tgt": "#>", + "tge": "#>=", + "tdistance": "<->", + "nearestApproachDistance": "|=|", + "same": "~=" + }, + "bareNames": [ + "above", + "adjacent", + "after", + "back", + "before", + "below", + "contained", + "contains", + "front", + "left", + "nearestApproachDistance", + "overabove", + "overafter", + "overback", + "overbefore", + "overbelow", + "overfront", + "overlaps", + "overleft", + "overright", + "right", + "same", + "tdistance", + "teq", + "tge", + "tgt", + "tle", + "tlt", + "tne" + ], + "count": 29 + } } \ No newline at end of file From 13116dbab1a491a50389b5904d31d8d13204ca5a Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Thu, 2 Jul 2026 12:21:56 +0200 Subject: [PATCH 04/23] Fully initialize MEOS when the native library loads Run meos_initialize() from the binding's load path so the allocator and collation are installed before any call. MEOS splits startup into granular steps; without the collation step, text comparisons route into varstr_cmp with an uninitialized collation and crash. --- jmeos-core/src/main/java/functions/functions.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jmeos-core/src/main/java/functions/functions.java b/jmeos-core/src/main/java/functions/functions.java index caff99ddf..2f60ea797 100644 --- a/jmeos-core/src/main/java/functions/functions.java +++ b/jmeos-core/src/main/java/functions/functions.java @@ -13,6 +13,18 @@ import java.time.*; public class functions { + + static { + // Fully initialize MEOS before any binding call. MEOS splits startup into + // granular steps (allocator, error handler, timezone, collation, PROJ/GEOS/ + // GSL); meos_initialize() runs them in the required order. Installing the + // allocator and collation is load-bearing: without collation, text + // comparisons route into varstr_cmp with an uninitialized collation and + // crash. Callers may still override individual steps afterwards (e.g. + // meos_initialize_timezone("UTC")). + MeosLibrary.meos.meos_initialize(); + } + public interface MeosLibrary { String libraryPath = "libmeos.so"; From f7ae67821eff93c809b715ecb8dc5e5727a453b8 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Thu, 2 Jul 2026 12:21:56 +0200 Subject: [PATCH 05/23] Derive the text wrappers from the generated functions Call the generated functions class from TText and TextSet instead of the hand-maintained facade, so the text conversions use the canonical master names (cstring_to_text, text_to_cstring). --- .../main/java/types/basic/ttext/TText.java | 94 +++++++++---------- .../java/types/collections/text/TextSet.java | 34 +++---- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/jmeos-core/src/main/java/types/basic/ttext/TText.java b/jmeos-core/src/main/java/types/basic/ttext/TText.java index 9401e9035..a6921840e 100644 --- a/jmeos-core/src/main/java/types/basic/ttext/TText.java +++ b/jmeos-core/src/main/java/types/basic/ttext/TText.java @@ -1,6 +1,6 @@ package types.basic.ttext; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Memory; import jnr.ffi.Pointer; import jnr.ffi.Runtime; @@ -51,7 +51,7 @@ public interface TText { * @return A new {@link TText} object. */ static TText from_base_temporal(String value, Temporal base){ - return (TText) Factory.create_temporal(functions.ttext_from_base_temp(functions.cstring2text(value), base.getInner()),customType,base.getTemporalType()); + return (TText) Factory.create_temporal(GeneratedFunctions.ttext_from_base_temp(GeneratedFunctions.cstring_to_text(value), base.getInner()),customType,base.getTemporalType()); } /** @@ -72,13 +72,13 @@ static TText from_base_temporal(String value, Temporal base){ */ static Temporal from_base_time(String value, Time base){ if (base instanceof tstzspanset){ - return new TTextSeq(functions.ttextseqset_from_base_tstzspanset(functions.cstring2text(value),((tstzspanset) base).get_inner())); + return new TTextSeq(GeneratedFunctions.ttextseqset_from_base_tstzspanset(GeneratedFunctions.cstring_to_text(value),((tstzspanset) base).get_inner())); } else if (base instanceof tstzset) { - return new TTextSeq(functions.ttextseq_from_base_tstzset(functions.cstring2text(value),((tstzset) base).get_inner())); + return new TTextSeq(GeneratedFunctions.ttextseq_from_base_tstzset(GeneratedFunctions.cstring_to_text(value),((tstzset) base).get_inner())); } else if (base instanceof tstzspan) { - return new TTextSeqSet(functions.ttextseq_from_base_tstzspan(functions.cstring2text(value),((tstzspan) base).get_inner())); + return new TTextSeqSet(GeneratedFunctions.ttextseq_from_base_tstzspan(GeneratedFunctions.cstring_to_text(value),((tstzspan) base).get_inner())); } return null; @@ -98,7 +98,7 @@ static Temporal from_base_time(String value, Time base){ ttext_from_mfjson */ default TText from_mfjson(String mfjson){ - Pointer result= functions.ttext_from_mfjson(mfjson); + Pointer result= GeneratedFunctions.ttext_from_mfjson(mfjson); return (TText) Factory.create_temporal(result, getCustomType(), getTemporalType()); } @@ -114,7 +114,7 @@ default TText from_mfjson(String mfjson){ * @return Returns the string representation of "this" */ default String to_string(){ - return functions.ttext_out(getTextInner()); + return GeneratedFunctions.ttext_out(getTextInner()); } @@ -127,7 +127,7 @@ default String to_string(){ * @return A string with the Well-Known Text representation of "this". */ default String as_wkt(){ - return functions.ttext_out(getTextInner()); + return GeneratedFunctions.ttext_out(getTextInner()); } @@ -148,13 +148,13 @@ default Set value_set(){ Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.ttext_values(this.getTextInner(), intPointer); + Pointer resPointer= GeneratedFunctions.ttext_values(this.getTextInner(), intPointer); StringBuilder sb= null; sb.append("{"); int count= intPointer.getInt(Integer.BYTES); for(int i=0; i 0; + return GeneratedFunctions.always_eq_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value)) > 0; } /** @@ -321,7 +321,7 @@ default boolean always_equal(String value){ * * "False" otherwise. */ default boolean always_not_equal(String value){ - return (functions.always_ne_ttext_text(getTextInner(),functions.cstring2text(value))) > 0; + return (GeneratedFunctions.always_ne_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value))) > 0; } @@ -337,7 +337,7 @@ default boolean always_not_equal(String value){ * * "False" otherwise. */ default boolean always_less(String value){ - return functions.always_lt_ttext_text(getTextInner(),functions.cstring2text(value)) > 0; + return GeneratedFunctions.always_lt_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value)) > 0; } @@ -354,7 +354,7 @@ default boolean always_less(String value){ * * "value", "False" otherwise. */ default boolean always_less_or_equal(String value){ - return functions.always_le_ttext_text(getTextInner(),functions.cstring2text(value)) > 0; + return GeneratedFunctions.always_le_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value)) > 0; } /** @@ -370,7 +370,7 @@ default boolean always_less_or_equal(String value){ * * "value", "False" otherwise. */ default boolean always_greater_or_equal(String value){ - return (functions.always_ge_ttext_text(getTextInner(),functions.cstring2text(value))) > 0; + return (GeneratedFunctions.always_ge_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value))) > 0; } /** @@ -385,7 +385,7 @@ default boolean always_greater_or_equal(String value){ * * " `False`" otherwise. */ default boolean always_greater(String value){ - return (functions.always_gt_ttext_text(getTextInner(),functions.cstring2text(value))) > 0; + return (GeneratedFunctions.always_gt_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value))) > 0; } /** @@ -400,7 +400,7 @@ default boolean always_greater(String value){ * * "False" otherwise. */ default boolean ever_less(String value){ - return functions.ever_lt_ttext_text(getTextInner(),functions.cstring2text(value)) > 0; + return GeneratedFunctions.ever_lt_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value)) > 0; } @@ -417,7 +417,7 @@ default boolean ever_less(String value){ * * "value", "False" otherwise. */ default boolean ever_less_or_equal(String value){ - return functions.ever_le_ttext_text(getTextInner(),functions.cstring2text(value)) > 0; + return GeneratedFunctions.ever_le_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value)) > 0; } @@ -433,7 +433,7 @@ default boolean ever_less_or_equal(String value){ * * otherwise. */ default boolean ever_equal(String value){ - return functions.ever_eq_ttext_text(getTextInner(),functions.cstring2text(value)) > 0; + return GeneratedFunctions.ever_eq_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value)) > 0; } /** @@ -448,7 +448,7 @@ default boolean ever_equal(String value){ * * "False" otherwise. */ default boolean ever_not_equal(String value){ - return (functions.ever_ne_ttext_text(getTextInner(),functions.cstring2text(value))) > 0; + return (GeneratedFunctions.ever_ne_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value))) > 0; } /** @@ -464,7 +464,7 @@ default boolean ever_not_equal(String value){ * * "value", "False" otherwise. */ default boolean ever_greater_or_equal(String value){ - return (functions.ever_ge_ttext_text(getTextInner(),functions.cstring2text(value))) > 0; + return (GeneratedFunctions.ever_ge_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value))) > 0; } /** @@ -479,7 +479,7 @@ default boolean ever_greater_or_equal(String value){ * * "False" otherwise. */ default boolean ever_greater(String value){ - return (functions.ever_gt_ttext_text(getTextInner(),functions.cstring2text(value))) > 0; + return (GeneratedFunctions.ever_gt_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(value))) > 0; } /** @@ -595,7 +595,7 @@ default boolean never_greater(String value){ */ default Temporal temporal_equal_string(String other){ if ((other instanceof String)){ - return Factory.create_temporal(functions.teq_ttext_text(getTextInner(),functions.cstring2text(other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.teq_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -619,7 +619,7 @@ default Temporal temporal_equal_string(String other){ */ default Temporal temporal_not_equal_string(String other){ if ((other instanceof String)){ - return Factory.create_temporal(functions.tne_ttext_text(getTextInner(), functions.cstring2text(other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tne_ttext_text(getTextInner(), GeneratedFunctions.cstring_to_text(other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -642,7 +642,7 @@ default Temporal temporal_not_equal_string(String other){ */ default Temporal temporal_less_string(String other){ if ((other instanceof String)){ - return Factory.create_temporal(functions.tlt_ttext_text(getTextInner(),functions.cstring2text(other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tlt_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -666,7 +666,7 @@ default Temporal temporal_less_string(String other){ */ default Temporal temporal_less_or_equal_string(String other){ if ((other instanceof String)){ - return Factory.create_temporal(functions.tle_ttext_text(getTextInner(),functions.cstring2text(other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tle_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -690,7 +690,7 @@ default Temporal temporal_less_or_equal_string(String other){ */ default Temporal temporal_greater_or_equal_string(String other){ if ((other instanceof String)){ - return Factory.create_temporal(functions.tge_ttext_text(getTextInner(),functions.cstring2text(other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tge_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -713,7 +713,7 @@ default Temporal temporal_greater_or_equal_string(String other){ */ default Temporal temporal_greater_string(String other){ if ((other instanceof String) ){ - return Factory.create_temporal(functions.tgt_ttext_text(getTextInner(),functions.cstring2text(other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tgt_ttext_text(getTextInner(),GeneratedFunctions.cstring_to_text(other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -751,11 +751,11 @@ private Pointer createPointerFromString(String str) { default TText at(Object other) throws Exception { Pointer res= null; if(other instanceof String){ - res= functions.ttext_at_value(this.getTextInner(), createPointerFromString((String) other)); + res= GeneratedFunctions.ttext_at_value(this.getTextInner(), createPointerFromString((String) other)); } else if(other instanceof List && ((List) other).getFirst() instanceof String){ int count=0; - res= functions.temporal_at_values(this.getTextInner(), functions.textset_make((Pointer) other, count)); + res= GeneratedFunctions.temporal_at_values(this.getTextInner(), GeneratedFunctions.textset_make((Pointer) other, count)); } else{ throw new Exception("type not supported"); @@ -782,11 +782,11 @@ else if(other instanceof List && ((List) other).getFirst() instanceof String) default TText minus(Object other) throws Exception { Pointer res= null; if(other instanceof String){ - res= functions.ttext_minus_value(this.getTextInner(), createPointerFromString((String) other)); + res= GeneratedFunctions.ttext_minus_value(this.getTextInner(), createPointerFromString((String) other)); } else if(other instanceof List && ((List) other).getFirst() instanceof String){ int count=0; - res= functions.temporal_minus_values(this.getTextInner(), functions.textset_make((Pointer) other, count)); + res= GeneratedFunctions.temporal_minus_values(this.getTextInner(), GeneratedFunctions.textset_make((Pointer) other, count)); } else{ throw new Exception("type not supported"); @@ -817,18 +817,18 @@ default TText concatenate(Object other, boolean other_before) throws Exception { Pointer res= null; if(other instanceof String){ if(!other_before){ - res= functions.textcat_ttext_text(this.getTextInner(), createPointerFromString((String) other)); + res= GeneratedFunctions.textcat_ttext_text(this.getTextInner(), createPointerFromString((String) other)); } else{ - res= functions.textcat_text_ttext(createPointerFromString((String) other), this.getTextInner()); + res= GeneratedFunctions.textcat_text_ttext(createPointerFromString((String) other), this.getTextInner()); } } else if (other instanceof TText){ if(!other_before){ - res= functions.textcat_ttext_ttext(this.getTextInner(), ((TText) other).getTextInner()); + res= GeneratedFunctions.textcat_ttext_ttext(this.getTextInner(), ((TText) other).getTextInner()); } else{ - res= functions.textcat_ttext_ttext(((TText) other).getTextInner(), this.getTextInner()); + res= GeneratedFunctions.textcat_ttext_ttext(((TText) other).getTextInner(), this.getTextInner()); } } else{ diff --git a/jmeos-core/src/main/java/types/collections/text/TextSet.java b/jmeos-core/src/main/java/types/collections/text/TextSet.java index 1d5cdb463..9a402c844 100644 --- a/jmeos-core/src/main/java/types/collections/text/TextSet.java +++ b/jmeos-core/src/main/java/types/collections/text/TextSet.java @@ -3,7 +3,7 @@ import jnr.ffi.Pointer; import types.collections.base.Base; import types.collections.base.Set; -import functions.functions; +import functions.GeneratedFunctions; /** * Class for representing a set of text values. @@ -31,7 +31,7 @@ public TextSet(){ public TextSet(String str){ super(str); - _inner = functions.textset_in(str); + _inner = GeneratedFunctions.textset_in(str); } public TextSet(Pointer inner){ @@ -40,7 +40,7 @@ public TextSet(Pointer inner){ } @Override public Pointer createStringInner(String str){ - return functions.textset_in(str); + return GeneratedFunctions.textset_in(str); } @Override @@ -50,7 +50,7 @@ public Pointer createInner(Pointer inner){ public String as_hexwkb(){ - String pr = functions.set_as_hexwkb(this.get_inner(),(byte) -1); + String pr = GeneratedFunctions.set_as_hexwkb(this.get_inner(),(byte) -1); return pr; } @@ -68,7 +68,7 @@ public String as_hexwkb(){ * @return A new {@link String} instance */ public String toString(){ - return functions.textset_out(this._inner); + return GeneratedFunctions.textset_out(this._inner); } @@ -88,7 +88,7 @@ public Pointer get_inner(){ * @return A {@link String} instance */ public String start_element() { - return functions.text2cstring(functions.textset_start_value(this._inner)); + return GeneratedFunctions.text_to_cstring(GeneratedFunctions.textset_start_value(this._inner)); } /** @@ -101,7 +101,7 @@ public String start_element() { * @return A {@link String} instance */ public String end_element(){ - return functions.text2cstring(functions.textset_end_value(this._inner)); + return GeneratedFunctions.text_to_cstring(GeneratedFunctions.textset_end_value(this._inner)); } /** @@ -118,7 +118,7 @@ public String end_element(){ */ public String element_n(int n) throws Exception { super.element_n(n); - return functions.text2cstring(functions.textset_value_n(this._inner,n)); + return GeneratedFunctions.text_to_cstring(GeneratedFunctions.textset_value_n(this._inner,n)); } /* ------------------------- Topological Operations -------------------------------- */ @@ -139,7 +139,7 @@ public String element_n(int n) throws Exception { public boolean contains(Object other) throws Exception { if (other instanceof String){ TextSet tset = new TextSet((String)other); - return functions.contains_set_text(this._inner,tset._inner); + return GeneratedFunctions.contains_set_text(this._inner,tset._inner); } else { return super.contains((Base)other); @@ -160,7 +160,7 @@ public boolean contains(Object other) throws Exception { * @return A new {@link TextSet} instance */ public TextSet lowercase(){ - return new TextSet(functions.textset_lower(this._inner)); + return new TextSet(GeneratedFunctions.textset_lower(this._inner)); } /** @@ -174,7 +174,7 @@ public TextSet lowercase(){ * @return A new {@link TextSet} instance */ public TextSet uppercase(){ - return new TextSet(functions.textset_upper(this._inner)); + return new TextSet(GeneratedFunctions.textset_upper(this._inner)); } @@ -193,7 +193,7 @@ public TextSet uppercase(){ * @return An object of the same type as "other" or null if the intersection is empty. */ public TextSet intersection(TextSet ts){ - return new TextSet(functions.intersection_set_set(this._inner, ts._inner)); + return new TextSet(GeneratedFunctions.intersection_set_set(this._inner, ts._inner)); } @@ -213,10 +213,10 @@ public TextSet intersection(TextSet ts){ public TextSet minus(Object other){ if (other instanceof String){ TextSet tmptxt = new TextSet((String) other); - return new TextSet(functions.minus_set_text(this._inner, tmptxt._inner)); + return new TextSet(GeneratedFunctions.minus_set_text(this._inner, tmptxt._inner)); } else if (other instanceof TextSet){ - return new TextSet(functions.minus_set_set(this._inner,((TextSet) other)._inner)); + return new TextSet(GeneratedFunctions.minus_set_set(this._inner,((TextSet) other)._inner)); } else{ return null; @@ -224,7 +224,7 @@ else if (other instanceof TextSet){ } // public String subtract_from(Object other){ -// result= functions.minus_text_set(other, this._inner); +// result= GeneratedFunctions.minus_text_set(other, this._inner); // // } @@ -244,10 +244,10 @@ else if (other instanceof TextSet){ public TextSet union(Object other){ if (other instanceof String){ TextSet tmptxt = new TextSet((String) other); - return new TextSet(functions.union_set_text(this._inner, tmptxt._inner)); + return new TextSet(GeneratedFunctions.union_set_text(this._inner, tmptxt._inner)); } else if (other instanceof TextSet){ - return new TextSet(functions.union_set_set(this._inner,((TextSet) other)._inner)); + return new TextSet(GeneratedFunctions.union_set_set(this._inner,((TextSet) other)._inner)); } else{ return null; From 0fcc03ba833d2653d29ae760e7542053804ae18a Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sun, 31 May 2026 09:09:25 +0200 Subject: [PATCH 06/23] feat(build): select MEOS type families with MobilityDB/MEOS-style build flags The functions.GeneratedFunctions facade is generated at build time from the MEOS IDL with the optional type families selected by the same flag names and ON|OFF (also 1|0) values as the MobilityDB/MEOS build: -DCBUFFER, -DNPOINT, -DPOSE, -DRGEO, -DH3. Every family is included by default; passing -DCBUFFER=OFF (or =0) drops that family's functions from the generated binding so a subset jar ships without it (RGEO needs POSE). FunctionsGenerator maps each function's source header to its family and omits excluded families; jmeos-core runs the generator at generate-sources (so the flag flows through mvn) and compiles the generated functions.GeneratedFunctions. --- codegen/src/main/java/FunctionsGenerator.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/codegen/src/main/java/FunctionsGenerator.java b/codegen/src/main/java/FunctionsGenerator.java index 2064f8402..ed053084d 100644 --- a/codegen/src/main/java/FunctionsGenerator.java +++ b/codegen/src/main/java/FunctionsGenerator.java @@ -35,6 +35,51 @@ public class FunctionsGenerator { // so we force long when the interface type resolved to int for these names. private static final Set SIZE_PARAM_NAMES = Set.of("size", "wkb_size"); + // ------------------------------------------------------------------------- + // Optional MEOS type families, gated by build flags mirroring the + // MobilityDB/MEOS flag names and ON|OFF (also 1|0) values: -DCBUFFER=OFF, + // -DNPOINT=OFF, -DPOSE=OFF, -DRGEO=OFF, -DH3=OFF. Each family maps to the + // public headers that declare its functions; a function whose header belongs + // to an excluded family is omitted from the generated binding, so a subset + // jar ships without it. The shared binding jar includes every family by + // default; pass -D=OFF|0 to drop one (RGEO needs POSE). + // ------------------------------------------------------------------------- + private static final Map HEADER_FAMILY = Map.ofEntries( + Map.entry("meos_cbuffer.h", "CBUFFER"), + Map.entry("meos_npoint.h", "NPOINT"), + Map.entry("meos_pose.h", "POSE"), + Map.entry("meos_rgeo.h", "RGEO"), + Map.entry("meos_h3.h", "H3"), + Map.entry("th3index.h", "H3"), + Map.entry("th3index_internal.h", "H3"), + Map.entry("th3index_boxops.h", "H3"), + Map.entry("h3index.h", "H3"), + Map.entry("h3index_sets.h", "H3"), + Map.entry("h3_generated.h", "H3")); + private static final Set OPTIONAL_FAMILIES = + Set.of("CBUFFER", "NPOINT", "POSE", "RGEO", "H3"); + + // Families enabled for this generation run; core headers are always emitted. + private Set enabledFamilies; + + private static Set resolveEnabledFamilies() { + Set enabled = new LinkedHashSet<>(); + for (String family : OPTIONAL_FAMILIES) { + String v = System.getProperty(family); + boolean off = v != null + && (v.equalsIgnoreCase("OFF") || v.equals("0") || v.equalsIgnoreCase("false")); + if (!off) { + enabled.add(family); // included by default, dropped only by -D=OFF|0 + } + } + return enabled; + } + + private boolean familyEnabled(String file) { + String family = HEADER_FAMILY.get(file); + return family == null || enabledFamilies.contains(family); // core (unmapped) always on + } + // Output-only size parameters that must not appear in the public // static wrapper signature. // @@ -121,7 +166,15 @@ private void run(String inputPath, String outputPath) throws IOException { List functions = new ArrayList<>(); Set seen = new LinkedHashSet<>(); // deduplicate by name#arity + enabledFamilies = resolveEnabledFamilies(); + System.out.println("Enabled optional families: " + enabledFamilies + + " (core always included)"); + for (JsonNode fn : functionsNode) { + JsonNode fileNode = fn.get("file"); + if (fileNode != null && !familyEnabled(fileNode.asText())) { + continue; // function belongs to a disabled type family + } FunctionDef def = parseFunctionDef(fn); String key = def.name + "#" + def.params.size(); if (seen.add(key)) { From 1a8368b3e4cbb2d2dc0eaa665f3f1e105035bf27 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 3 Jun 2026 09:23:49 +0200 Subject: [PATCH 07/23] Add the shared org.mobilitydb.meos MEOS facade and its generator Hoists the tier-aware MeosOps* facade (62 classes) into JMEOS so every JVM binding inherits the one canonical Java idiom from the shared jar instead of duplicating it per engine. The facade forwards to functions.GeneratedFunctions under a package-private MeosOpsRuntime probe gated by the canonical -Dmeos.enabled property; javadoc is engine-neutral. Relocates the maintained generator (regen_facade_from_jar + the gap / sql / tbigint / h3 emitters + parity_audit + meos-ref) under jmeos-core/tools so the facade stays regenerated, not hand-edited; regeneration is idempotent against the pin jar. --- .../org/mobilitydb/meos/MeosOpsBigintSet.java | 155 + .../mobilitydb/meos/MeosOpsBigintSpan.java | 169 + .../mobilitydb/meos/MeosOpsBigintSpanSet.java | 141 + .../mobilitydb/meos/MeosOpsCbufferSet.java | 141 + .../org/mobilitydb/meos/MeosOpsDateSet.java | 169 + .../org/mobilitydb/meos/MeosOpsDateSpan.java | 169 + .../mobilitydb/meos/MeosOpsDateSpanSet.java | 197 + .../org/mobilitydb/meos/MeosOpsFloatSet.java | 225 + .../org/mobilitydb/meos/MeosOpsFloatSpan.java | 253 + .../mobilitydb/meos/MeosOpsFloatSpanSet.java | 225 + .../mobilitydb/meos/MeosOpsFreeCbuffer.java | 1982 ++++ .../org/mobilitydb/meos/MeosOpsFreeCore.java | 9744 +++++++++++++++++ .../org/mobilitydb/meos/MeosOpsFreeGeo.java | 3438 ++++++ .../org/mobilitydb/meos/MeosOpsFreeH3.java | 265 + .../mobilitydb/meos/MeosOpsFreeNpoint.java | 1098 ++ .../org/mobilitydb/meos/MeosOpsFreePose.java | 1020 ++ .../org/mobilitydb/meos/MeosOpsFreeRgeo.java | 448 + .../org/mobilitydb/meos/MeosOpsGeogSet.java | 57 + .../org/mobilitydb/meos/MeosOpsGeomSet.java | 127 + .../org/mobilitydb/meos/MeosOpsIntSet.java | 169 + .../org/mobilitydb/meos/MeosOpsIntSpan.java | 183 + .../mobilitydb/meos/MeosOpsIntSpanSet.java | 155 + .../org/mobilitydb/meos/MeosOpsNpointSet.java | 155 + .../mobilitydb/meos/MeosOpsParityGaps.java | 1459 +++ .../org/mobilitydb/meos/MeosOpsPoseSet.java | 141 + .../org/mobilitydb/meos/MeosOpsRuntime.java | 54 + .../org/mobilitydb/meos/MeosOpsSTBox.java | 799 ++ .../java/org/mobilitydb/meos/MeosOpsSet.java | 393 + .../java/org/mobilitydb/meos/MeosOpsSpan.java | 323 + .../org/mobilitydb/meos/MeosOpsSpanSet.java | 463 + .../mobilitydb/meos/MeosOpsSqlSurface.java | 40 + .../org/mobilitydb/meos/MeosOpsTBigint.java | 535 + .../org/mobilitydb/meos/MeosOpsTBool.java | 253 + .../org/mobilitydb/meos/MeosOpsTBoolInst.java | 57 + .../java/org/mobilitydb/meos/MeosOpsTBox.java | 505 + .../org/mobilitydb/meos/MeosOpsTCbuffer.java | 239 + .../org/mobilitydb/meos/MeosOpsTFloat.java | 547 + .../mobilitydb/meos/MeosOpsTFloatInst.java | 57 + .../java/org/mobilitydb/meos/MeosOpsTGeo.java | 379 + .../mobilitydb/meos/MeosOpsTGeogPoint.java | 85 + .../mobilitydb/meos/MeosOpsTGeography.java | 99 + .../mobilitydb/meos/MeosOpsTGeomPoint.java | 99 + .../org/mobilitydb/meos/MeosOpsTGeometry.java | 113 + .../java/org/mobilitydb/meos/MeosOpsTInt.java | 449 + .../org/mobilitydb/meos/MeosOpsTIntInst.java | 57 + .../org/mobilitydb/meos/MeosOpsTNpoint.java | 337 + .../mobilitydb/meos/MeosOpsTNpointInst.java | 57 + .../org/mobilitydb/meos/MeosOpsTNumber.java | 365 + .../org/mobilitydb/meos/MeosOpsTPoint.java | 379 + .../org/mobilitydb/meos/MeosOpsTPose.java | 281 + .../mobilitydb/meos/MeosOpsTRGeometry.java | 547 + .../meos/MeosOpsTRGeometryInst.java | 57 + .../mobilitydb/meos/MeosOpsTSequenceSet.java | 57 + .../org/mobilitydb/meos/MeosOpsTSpatial.java | 169 + .../org/mobilitydb/meos/MeosOpsTText.java | 295 + .../org/mobilitydb/meos/MeosOpsTTextInst.java | 57 + .../org/mobilitydb/meos/MeosOpsTemporal.java | 1401 +++ .../org/mobilitydb/meos/MeosOpsTextSet.java | 183 + .../org/mobilitydb/meos/MeosOpsTh3index.java | 418 + .../org/mobilitydb/meos/MeosOpsTstzSet.java | 211 + .../org/mobilitydb/meos/MeosOpsTstzSpan.java | 225 + .../mobilitydb/meos/MeosOpsTstzSpanSet.java | 267 + jmeos-core/tools/codegen/README.md | 106 + jmeos-core/tools/codegen/emit_h3_facade.py | 107 + .../tools/codegen/emit_tbigint_facade.py | 97 + .../tools/codegen/regen_facade_from_jar.py | 78 + jmeos-core/tools/parity/emit_gap_methods.py | 122 + jmeos-core/tools/parity/emit_sql_surface.py | 143 + jmeos-core/tools/parity/meos-ref/PIN.txt | 1 + .../meos-ref/meos/include/cbuffer/cbuffer.h | 136 + .../include/cbuffer/doxygen_meos_cbuffer.h | 156 + .../cbuffer/doxygen_meos_internal_cbuffer.h | 132 + .../meos-ref/meos/include/cbuffer/tcbuffer.h | 74 + .../meos/include/cbuffer/tcbuffer_boxops.h | 59 + .../include/cbuffer/tcbuffer_spatialfuncs.h | 64 + .../include/cbuffer/tcbuffer_spatialrels.h | 107 + .../cbuffer/tcbuffer_tempspatialrels.h | 54 + .../meos/include/geo/doxygen_meos_geo.h | 252 + .../include/geo/doxygen_meos_internal_geo.h | 236 + .../meos/include/geo/meos_transform.h | 66 + .../meos-ref/meos/include/geo/postgis_funcs.h | 85 + .../parity/meos-ref/meos/include/geo/stbox.h | 64 + .../meos-ref/meos/include/geo/stbox_index.h | 54 + .../parity/meos-ref/meos/include/geo/tgeo.h | 65 + .../meos-ref/meos/include/geo/tgeo_aggfuncs.h | 71 + .../meos-ref/meos/include/geo/tgeo_distance.h | 64 + .../meos-ref/meos/include/geo/tgeo_restrict.h | 55 + .../meos/include/geo/tgeo_spatialfuncs.h | 208 + .../meos/include/geo/tgeo_spatialrels.h | 127 + .../meos/include/geo/tgeo_tempspatialrels.h | 79 + .../meos-ref/meos/include/geo/tgeo_tile.h | 112 + .../meos/include/geo/tpoint_datagen.h | 49 + .../meos-ref/meos/include/geo/tspatial.h | 58 + .../meos/include/geo/tspatial_boxops.h | 73 + .../meos/include/geo/tspatial_parser.h | 66 + .../tools/parity/meos-ref/meos/include/meos.h | 1963 ++++ .../meos-ref/meos/include/meos_cbuffer.h | 392 + .../parity/meos-ref/meos/include/meos_geo.h | 900 ++ .../parity/meos-ref/meos/include/meos_h3.h | 197 + .../meos-ref/meos/include/meos_internal.h | 1405 +++ .../meos-ref/meos/include/meos_internal_geo.h | 303 + .../meos-ref/meos/include/meos_npoint.h | 330 + .../parity/meos-ref/meos/include/meos_pose.h | 305 + .../parity/meos-ref/meos/include/meos_rgeo.h | 206 + .../parity/meos-ref/meos/include/meos_tls.h | 60 + .../npoint/doxygen_meos_internal_npoint.h | 116 + .../meos/include/npoint/doxygen_meos_npoint.h | 136 + .../meos-ref/meos/include/npoint/tnpoint.h | 153 + .../meos/include/npoint/tnpoint_boxops.h | 60 + .../meos/include/npoint/tnpoint_distance.h | 48 + .../meos/include/npoint/tnpoint_parser.h | 47 + .../meos/include/npoint/tnpoint_routeops.h | 79 + .../include/npoint/tnpoint_spatialfuncs.h | 61 + .../include/pose/doxygen_meos_internal_pose.h | 124 + .../meos/include/pose/doxygen_meos_pose.h | 136 + .../parity/meos-ref/meos/include/pose/pose.h | 118 + .../parity/meos-ref/meos/include/pose/tpose.h | 61 + .../meos-ref/meos/include/pose/tpose_boxops.h | 54 + .../meos/include/pose/tpose_spatialfuncs.h | 57 + .../meos/include/postgis_ext_defs.in.h | 420 + .../meos-ref/meos/include/postgres_int_defs.h | 3 + .../include/rgeo/doxygen_meos_internal_rgeo.h | 60 + .../meos/include/rgeo/doxygen_meos_rgeo.h | 64 + .../parity/meos-ref/meos/include/rgeo/trgeo.h | 88 + .../meos-ref/meos/include/rgeo/trgeo_all.h | 46 + .../meos-ref/meos/include/rgeo/trgeo_boxops.h | 60 + .../meos/include/rgeo/trgeo_distance.h | 106 + .../meos-ref/meos/include/rgeo/trgeo_inst.h | 64 + .../meos-ref/meos/include/rgeo/trgeo_parser.h | 49 + .../meos-ref/meos/include/rgeo/trgeo_seq.h | 77 + .../meos-ref/meos/include/rgeo/trgeo_seqset.h | 74 + .../meos/include/rgeo/trgeo_spatialrels.h | 59 + .../meos-ref/meos/include/rgeo/trgeo_utils.h | 52 + .../meos-ref/meos/include/rgeo/trgeo_vclip.h | 74 + .../meos-ref/meos/include/temporal/doublen.h | 109 + .../meos/include/temporal/doxygen_meos.h | 341 + .../include/temporal/doxygen_meos_internal.h | 217 + .../meos-ref/meos/include/temporal/lifting.h | 112 + .../meos/include/temporal/meos_catalog.h | 311 + .../meos/include/temporal/postgres_types.h | 114 + .../meos-ref/meos/include/temporal/set.h | 95 + .../meos-ref/meos/include/temporal/skiplist.h | 62 + .../meos-ref/meos/include/temporal/span.h | 117 + .../meos/include/temporal/span_index.h | 56 + .../meos-ref/meos/include/temporal/spanset.h | 58 + .../meos-ref/meos/include/temporal/stratnum.h | 105 + .../meos/include/temporal/tbool_ops.h | 55 + .../meos-ref/meos/include/temporal/tbox.h | 67 + .../meos/include/temporal/tbox_index.h | 54 + .../meos-ref/meos/include/temporal/temporal.h | 444 + .../meos/include/temporal/temporal_aggfuncs.h | 102 + .../include/temporal/temporal_analytics.h | 67 + .../meos/include/temporal/temporal_boxops.h | 82 + .../meos/include/temporal/temporal_compops.h | 64 + .../meos/include/temporal/temporal_restrict.h | 121 + .../meos/include/temporal/temporal_rtree.h | 106 + .../meos/include/temporal/temporal_tile.h | 110 + .../include/temporal/temporal_waggfuncs.h | 57 + .../meos-ref/meos/include/temporal/tinstant.h | 75 + .../meos/include/temporal/tnumber_mathfuncs.h | 72 + .../meos/include/temporal/tsequence.h | 152 + .../meos/include/temporal/tsequenceset.h | 87 + .../meos/include/temporal/ttext_funcs.h | 59 + .../meos/include/temporal/type_inout.h | 75 + .../meos/include/temporal/type_parser.h | 77 + .../meos/include/temporal/type_util.h | 120 + .../meos-ref/mobilitydb/sql/CMakeLists.txt | 101 + .../mobilitydb/sql/cbuffer/150_cbuffer.in.sql | 313 + .../sql/cbuffer/151_cbufferset.in.sql | 514 + .../sql/cbuffer/152_tcbuffer.in.sql | 715 ++ .../sql/cbuffer/154_tcbuffer_compops.in.sql | 248 + .../cbuffer/155_tcbuffer_spatialfuncs.in.sql | 104 + .../sql/cbuffer/158_tcbuffer_topops.in.sql | 379 + .../sql/cbuffer/159_tcbuffer_posops.in.sql | 487 + .../sql/cbuffer/160_tcbuffer_distance.in.sql | 279 + .../sql/cbuffer/161_tcbuffer_aggfuncs.in.sql | 155 + .../cbuffer/162_tcbuffer_spatialrels.in.sql | 364 + .../164_tcbuffer_tempspatialrels.in.sql | 186 + .../sql/cbuffer/166_tcbuffer_indexes.in.sql | 266 + .../mobilitydb/sql/cbuffer/CMakeLists.txt | 23 + .../mobilitydb/sql/geo/050_geoset.in.sql | 944 ++ .../mobilitydb/sql/geo/051_stbox.in.sql | 763 ++ .../mobilitydb/sql/geo/052_tgeo.in.sql | 1081 ++ .../mobilitydb/sql/geo/052_tpoint.in.sql | 1082 ++ .../mobilitydb/sql/geo/053_tgeo_inout.in.sql | 172 + .../sql/geo/053_tpoint_inout.in.sql | 190 + .../sql/geo/054_tgeo_compops.in.sql | 457 + .../sql/geo/054_tpoint_compops.in.sql | 448 + .../sql/geo/056_tgeo_spatialfuncs.in.sql | 182 + .../sql/geo/056_tpoint_spatialfuncs.in.sql | 354 + .../mobilitydb/sql/geo/058_tgeo_tile.in.sql | 141 + .../mobilitydb/sql/geo/058_tpoint_tile.in.sql | 280 + .../mobilitydb/sql/geo/060_tgeo_boxops.in.sql | 710 ++ .../sql/geo/060_tpoint_boxops.in.sql | 746 ++ .../mobilitydb/sql/geo/062_tgeo_posops.in.sql | 821 ++ .../sql/geo/062_tpoint_posops.in.sql | 821 ++ .../sql/geo/064_tgeo_distance.in.sql | 330 + .../sql/geo/064_tpoint_distance.in.sql | 294 + .../sql/geo/066_tpoint_similarity.in.sql | 88 + .../sql/geo/068_tgeo_aggfuncs.in.sql | 273 + .../sql/geo/068_tpoint_aggfuncs.in.sql | 297 + .../sql/geo/070_tgeo_spatialrels.in.sql | 411 + .../sql/geo/070_tpoint_spatialrels.in.sql | 341 + .../sql/geo/072_tgeo_tempspatialrels.in.sql | 148 + .../sql/geo/072_tpoint_tempspatialrels.in.sql | 118 + .../mobilitydb/sql/geo/073_tgeo_gist.in.sql | 211 + .../mobilitydb/sql/geo/073_tpoint_gist.in.sql | 276 + .../mobilitydb/sql/geo/074_tgeo_spgist.in.sql | 352 + .../sql/geo/074_tpoint_spgist.in.sql | 476 + .../sql/geo/076_tgeo_analytics.in.sql | 149 + .../sql/geo/076_tpoint_analytics.in.sql | 208 + .../sql/geo/078_tpoint_datagen.in.sql | 40 + .../mobilitydb/sql/geo/CMakeLists.txt | 47 + .../mobilitydb/sql/mobilitydb.in.control | 5 + .../mobilitydb/sql/npoint/081_npoint.in.sql | 424 + .../sql/npoint/082_npointset.in.sql | 507 + .../mobilitydb/sql/npoint/083_tnpoint.in.sql | 664 ++ .../sql/npoint/085_tnpoint_compops.in.sql | 233 + .../npoint/087_tnpoint_spatialfuncs.in.sql | 148 + .../sql/npoint/089_tnpoint_topops.in.sql | 385 + .../sql/npoint/090_tnpoint_posops.in.sql | 487 + .../sql/npoint/091_tnpoint_routeops.in.sql | 267 + .../sql/npoint/092_tnpoint_gin.in.sql | 80 + .../sql/npoint/093_tnpoint_distance.in.sql | 187 + .../sql/npoint/095_tnpoint_aggfuncs.in.sql | 171 + .../sql/npoint/098_tnpoint_indexes.in.sql | 267 + .../mobilitydb/sql/npoint/CMakeLists.txt | 24 + .../mobilitydb/sql/pose/100_pose.in.sql | 346 + .../mobilitydb/sql/pose/101_poseset.in.sql | 529 + .../mobilitydb/sql/pose/102_tpose.in.sql | 703 ++ .../sql/pose/104_tpose_compops.in.sql | 248 + .../sql/pose/105_tpose_spatialfuncs.in.sql | 84 + .../sql/pose/108_tpose_topops.in.sql | 379 + .../sql/pose/109_tpose_posops.in.sql | 601 + .../sql/pose/111_tpose_aggfuncs.in.sql | 155 + .../sql/pose/113_tpose_distance.in.sql | 218 + .../sql/pose/114_tpose_indexes.in.sql | 266 + .../mobilitydb/sql/pose/CMakeLists.txt | 20 + .../mobilitydb/sql/rgeo/122_trgeo.in.sql | 704 ++ .../sql/rgeo/124_trgeo_compops.in.sql | 247 + .../sql/rgeo/125_trgeo_spatialfuncs.in.sql | 84 + .../sql/rgeo/128_trgeo_topops.in.sql | 345 + .../sql/rgeo/129_trgeo_posops.in.sql | 487 + .../sql/rgeo/131_trgeo_aggfuncs.in.sql | 155 + .../sql/rgeo/133_trgeo_distance.in.sql | 200 + .../sql/rgeo/133_trgeo_vclip.in.sql | 69 + .../sql/rgeo/134_trgeo_indexes.in.sql | 266 + .../mobilitydb/sql/rgeo/CMakeLists.txt | 20 + .../mobilitydb/sql/temporal/001_set.in.sql | 1446 +++ .../sql/temporal/002_set_ops.in.sql | 1720 +++ .../mobilitydb/sql/temporal/003_span.in.sql | 1233 +++ .../sql/temporal/005_span_ops.in.sql | 1694 +++ .../sql/temporal/007_spanset.in.sql | 1364 +++ .../sql/temporal/009_spanset_ops.in.sql | 2829 +++++ .../sql/temporal/011_span_indexes.in.sql | 889 ++ .../sql/temporal/012_spanset_indexes.in.sql | 789 ++ .../sql/temporal/013_set_indexes.in.sql | 774 ++ .../sql/temporal/015_span_aggfuncs.in.sql | 438 + .../sql/temporal/019_geo_constructors.in.sql | 70 + .../mobilitydb/sql/temporal/021_tbox.in.sql | 625 ++ .../sql/temporal/022_temporal.in.sql | 2188 ++++ .../sql/temporal/023_temporal_inout.in.sql | 190 + .../sql/temporal/025_temporal_tile.in.sql | 316 + .../sql/temporal/026_tnumber_mathfuncs.in.sql | 424 + .../sql/temporal/028_tbool_boolops.in.sql | 124 + .../sql/temporal/029_ttext_textfuncs.in.sql | 84 + .../sql/temporal/030_temporal_compops.in.sql | 2026 ++++ .../sql/temporal/032_temporal_boxops.in.sql | 1246 +++ .../sql/temporal/034_temporal_posops.in.sql | 1248 +++ .../sql/temporal/036_tnumber_distance.in.sql | 242 + .../temporal/038_temporal_similarity.in.sql | 89 + .../sql/temporal/040_temporal_aggfuncs.in.sql | 730 ++ .../temporal/042_temporal_waggfuncs.in.sql | 173 + .../sql/temporal/043_temporal_gist.in.sql | 392 + .../sql/temporal/044_temporal_spgist.in.sql | 654 ++ .../temporal/046_temporal_analytics.in.sql | 57 + .../sql/temporal/999_oid_cache.in.sql | 50 + .../mobilitydb/sql/temporal/CMakeLists.txt | 39 + jmeos-core/tools/parity/parity_audit.py | 234 + 279 files changed, 100444 insertions(+) create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpan.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpanSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsCbufferSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpan.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpanSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpan.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpanSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeH3.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeRgeo.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeogSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeomSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpan.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpanSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsNpointSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsPoseSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsRuntime.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSqlSurface.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBigint.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBoolInst.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTCbuffer.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloatInst.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeo.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeogPoint.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeography.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeomPoint.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeometry.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTIntInst.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpoint.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpointInst.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNumber.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPoint.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPose.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometry.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSequenceSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSpatial.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTTextInst.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTextSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTh3index.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSet.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpan.java create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpanSet.java create mode 100644 jmeos-core/tools/codegen/README.md create mode 100644 jmeos-core/tools/codegen/emit_h3_facade.py create mode 100644 jmeos-core/tools/codegen/emit_tbigint_facade.py create mode 100644 jmeos-core/tools/codegen/regen_facade_from_jar.py create mode 100644 jmeos-core/tools/parity/emit_gap_methods.py create mode 100644 jmeos-core/tools/parity/emit_sql_surface.py create mode 100644 jmeos-core/tools/parity/meos-ref/PIN.txt create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/cbuffer.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_cbuffer.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_internal_cbuffer.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_boxops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialrels.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_tempspatialrels.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_geo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_internal_geo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/meos_transform.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/postgis_funcs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox_index.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_aggfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_distance.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_restrict.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialrels.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tempspatialrels.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tile.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tpoint_datagen.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_boxops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_parser.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_cbuffer.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_geo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_h3.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_internal.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_internal_geo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_npoint.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_pose.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_rgeo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/meos_tls.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_internal_npoint.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_npoint.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_boxops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_distance.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_parser.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_routeops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_spatialfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_internal_pose.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_pose.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/pose/pose.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_boxops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_spatialfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/postgis_ext_defs.in.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/postgres_int_defs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_internal_rgeo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_rgeo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_all.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_boxops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_distance.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_inst.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_parser.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seq.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seqset.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_spatialrels.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_utils.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_vclip.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/doublen.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos_internal.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/lifting.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/meos_catalog.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/postgres_types.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/set.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/skiplist.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/span.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/span_index.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/spanset.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/stratnum.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbool_ops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox_index.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_aggfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_analytics.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_boxops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_compops.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_restrict.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_rtree.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_tile.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_waggfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tinstant.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tnumber_mathfuncs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequence.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequenceset.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/ttext_funcs.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_inout.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_parser.h create mode 100644 jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_util.h create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/150_cbuffer.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/151_cbufferset.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/152_tcbuffer.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/154_tcbuffer_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/155_tcbuffer_spatialfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/158_tcbuffer_topops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/159_tcbuffer_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/160_tcbuffer_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/161_tcbuffer_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/162_tcbuffer_spatialrels.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/164_tcbuffer_tempspatialrels.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/166_tcbuffer_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/050_geoset.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/051_stbox.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tgeo.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tpoint.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tgeo_inout.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tpoint_inout.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tgeo_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tpoint_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tgeo_spatialfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tpoint_spatialfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tgeo_tile.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tpoint_tile.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tgeo_boxops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tpoint_boxops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tgeo_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tpoint_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tgeo_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tpoint_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/066_tpoint_similarity.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tgeo_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tpoint_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tgeo_spatialrels.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tpoint_spatialrels.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tgeo_tempspatialrels.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tpoint_tempspatialrels.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tgeo_gist.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tpoint_gist.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tgeo_spgist.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tpoint_spgist.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tgeo_analytics.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tpoint_analytics.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/078_tpoint_datagen.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/mobilitydb.in.control create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/081_npoint.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/082_npointset.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/083_tnpoint.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/085_tnpoint_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/087_tnpoint_spatialfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/089_tnpoint_topops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/090_tnpoint_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/091_tnpoint_routeops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/092_tnpoint_gin.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/093_tnpoint_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/095_tnpoint_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/098_tnpoint_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/100_pose.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/101_poseset.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/102_tpose.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/104_tpose_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/105_tpose_spatialfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/108_tpose_topops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/109_tpose_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/111_tpose_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/113_tpose_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/114_tpose_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/122_trgeo.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/124_trgeo_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/125_trgeo_spatialfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/128_trgeo_topops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/129_trgeo_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/131_trgeo_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_vclip.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/134_trgeo_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/001_set.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/002_set_ops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/003_span.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/005_span_ops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/007_spanset.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/009_spanset_ops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/011_span_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/012_spanset_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/013_set_indexes.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/015_span_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/019_geo_constructors.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/021_tbox.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/022_temporal.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/023_temporal_inout.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/025_temporal_tile.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/026_tnumber_mathfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/028_tbool_boolops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/029_ttext_textfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/030_temporal_compops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/032_temporal_boxops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/034_temporal_posops.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/036_tnumber_distance.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/038_temporal_similarity.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/040_temporal_aggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/042_temporal_waggfuncs.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/043_temporal_gist.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/044_temporal_spgist.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/046_temporal_analytics.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/999_oid_cache.in.sql create mode 100644 jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/CMakeLists.txt create mode 100644 jmeos-core/tools/parity/parity_audit.py diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSet.java new file mode 100644 index 000000000..8bdb193d0 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSet.java @@ -0,0 +1,155 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: BigintSet + * Methods emitted: 8 (bounded-state=5 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsBigintSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsBigintSet() { /* utility */ } + + /** + * MEOS {@code bigintset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer bigintset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_make(arg0, arg1); + } + + /** + * MEOS {@code bigintset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_end_value(arg0); + } + + /** + * MEOS {@code bigintset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintset_shift_scale(jnr.ffi.Pointer arg0, long arg1, long arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code bigintset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_start_value(arg0); + } + + /** + * MEOS {@code bigintset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_value_n(arg0, arg1); + } + + /** + * MEOS {@code bigintset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_values(arg0, arg1); + } + + /** + * MEOS {@code bigintset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer bigintset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_in(arg0); + } + + /** + * MEOS {@code bigintset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String bigintset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpan.java new file mode 100644 index 000000000..3f60c1d03 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpan.java @@ -0,0 +1,169 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: BigintSpan + * Methods emitted: 9 (bounded-state=6 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsBigintSpan { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsBigintSpan() { /* utility */ } + + /** + * MEOS {@code bigintspan_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer bigintspan_make(long arg0, long arg1, boolean arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_make(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code bigintspan_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintspan_bins(jnr.ffi.Pointer arg0, long arg1, long arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code bigintspan_expand} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintspan_expand(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_expand(arg0, arg1); + } + + /** + * MEOS {@code bigintspan_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintspan_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_lower(arg0); + } + + /** + * MEOS {@code bigintspan_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintspan_shift_scale(jnr.ffi.Pointer arg0, long arg1, long arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code bigintspan_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintspan_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_upper(arg0); + } + + /** + * MEOS {@code bigintspan_width} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintspan_width(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_width requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_width(arg0); + } + + /** + * MEOS {@code bigintspan_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer bigintspan_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_in(arg0); + } + + /** + * MEOS {@code bigintspan_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String bigintspan_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspan_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspan_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpanSet.java new file mode 100644 index 000000000..828632a43 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsBigintSpanSet.java @@ -0,0 +1,141 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: BigintSpanSet + * Methods emitted: 7 (bounded-state=5 · io-meta=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsBigintSpanSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsBigintSpanSet() { /* utility */ } + + /** + * MEOS {@code bigintspanset_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintspanset_bins(jnr.ffi.Pointer arg0, long arg1, long arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code bigintspanset_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintspanset_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_lower(arg0); + } + + /** + * MEOS {@code bigintspanset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer bigintspanset_shift_scale(jnr.ffi.Pointer arg0, long arg1, long arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code bigintspanset_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintspanset_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_upper(arg0); + } + + /** + * MEOS {@code bigintspanset_width} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long bigintspanset_width(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_width requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_width(arg0, arg1); + } + + /** + * MEOS {@code bigintspanset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer bigintspanset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_in(arg0); + } + + /** + * MEOS {@code bigintspanset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String bigintspanset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigintspanset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigintspanset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsCbufferSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsCbufferSet.java new file mode 100644 index 000000000..32175615a --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsCbufferSet.java @@ -0,0 +1,141 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: CbufferSet + * Methods emitted: 7 (bounded-state=4 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsCbufferSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsCbufferSet() { /* utility */ } + + /** + * MEOS {@code cbufferset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer cbufferset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_make(arg0, arg1); + } + + /** + * MEOS {@code cbufferset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer cbufferset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_end_value(arg0); + } + + /** + * MEOS {@code cbufferset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer cbufferset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_start_value(arg0); + } + + /** + * MEOS {@code cbufferset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer cbufferset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_value_n(arg0, arg1); + } + + /** + * MEOS {@code cbufferset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer cbufferset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_values(arg0, arg1); + } + + /** + * MEOS {@code cbufferset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer cbufferset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_in(arg0); + } + + /** + * MEOS {@code cbufferset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String cbufferset_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferset_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSet.java new file mode 100644 index 000000000..1a6cf3aff --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSet.java @@ -0,0 +1,169 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: DateSet + * Methods emitted: 9 (bounded-state=5 · io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsDateSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsDateSet() { /* utility */ } + + /** + * MEOS {@code dateset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer dateset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_make(arg0, arg1); + } + + /** + * MEOS {@code dateset_to_tstzset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer dateset_to_tstzset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_to_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_to_tstzset(arg0); + } + + /** + * MEOS {@code dateset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int dateset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_end_value(arg0); + } + + /** + * MEOS {@code dateset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer dateset_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code dateset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int dateset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_start_value(arg0); + } + + /** + * MEOS {@code dateset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer dateset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_value_n(arg0, arg1); + } + + /** + * MEOS {@code dateset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer dateset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_values(arg0, arg1); + } + + /** + * MEOS {@code dateset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer dateset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_in(arg0); + } + + /** + * MEOS {@code dateset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String dateset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dateset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dateset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpan.java new file mode 100644 index 000000000..8cd9e4025 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpan.java @@ -0,0 +1,169 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: DateSpan + * Methods emitted: 9 (bounded-state=5 · io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsDateSpan { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsDateSpan() { /* utility */ } + + /** + * MEOS {@code datespan_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer datespan_make(int arg0, int arg1, boolean arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_make(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code datespan_to_tstzspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer datespan_to_tstzspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_to_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_to_tstzspan(arg0); + } + + /** + * MEOS {@code datespan_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespan_bins(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code datespan_duration} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespan_duration(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_duration requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_duration(arg0); + } + + /** + * MEOS {@code datespan_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int datespan_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_lower(arg0); + } + + /** + * MEOS {@code datespan_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespan_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code datespan_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int datespan_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_upper(arg0); + } + + /** + * MEOS {@code datespan_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer datespan_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_in(arg0); + } + + /** + * MEOS {@code datespan_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String datespan_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespan_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespan_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpanSet.java new file mode 100644 index 000000000..d8196a9b4 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsDateSpanSet.java @@ -0,0 +1,197 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: DateSpanSet + * Methods emitted: 11 (bounded-state=8 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsDateSpanSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsDateSpanSet() { /* utility */ } + + /** + * MEOS {@code datespanset_to_tstzspanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer datespanset_to_tstzspanset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_to_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_to_tstzspanset(arg0); + } + + /** + * MEOS {@code datespanset_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespanset_bins(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code datespanset_date_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespanset_date_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_date_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_date_n(arg0, arg1); + } + + /** + * MEOS {@code datespanset_dates} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespanset_dates(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_dates requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_dates(arg0); + } + + /** + * MEOS {@code datespanset_duration} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespanset_duration(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_duration requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_duration(arg0, arg1); + } + + /** + * MEOS {@code datespanset_end_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int datespanset_end_date(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_end_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_end_date(arg0); + } + + /** + * MEOS {@code datespanset_num_dates} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int datespanset_num_dates(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_num_dates requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_num_dates(arg0); + } + + /** + * MEOS {@code datespanset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer datespanset_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code datespanset_start_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int datespanset_start_date(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_start_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_start_date(arg0); + } + + /** + * MEOS {@code datespanset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer datespanset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_in(arg0); + } + + /** + * MEOS {@code datespanset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String datespanset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "datespanset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.datespanset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSet.java new file mode 100644 index 000000000..242269b01 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSet.java @@ -0,0 +1,225 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: FloatSet + * Methods emitted: 13 (bounded-state=9 · io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFloatSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFloatSet() { /* utility */ } + + /** + * MEOS {@code floatset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer floatset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_make(arg0, arg1); + } + + /** + * MEOS {@code floatset_to_intset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer floatset_to_intset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_to_intset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_to_intset(arg0); + } + + /** + * MEOS {@code floatset_ceil} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_ceil(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_ceil requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_ceil(arg0); + } + + /** + * MEOS {@code floatset_degrees} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_degrees(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_degrees requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_degrees(arg0, arg1); + } + + /** + * MEOS {@code floatset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_end_value(arg0); + } + + /** + * MEOS {@code floatset_floor} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_floor(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_floor requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_floor(arg0); + } + + /** + * MEOS {@code floatset_radians} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_radians(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_radians requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_radians(arg0); + } + + /** + * MEOS {@code floatset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_shift_scale(jnr.ffi.Pointer arg0, double arg1, double arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code floatset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_start_value(arg0); + } + + /** + * MEOS {@code floatset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_value_n(arg0, arg1); + } + + /** + * MEOS {@code floatset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_values(arg0, arg1); + } + + /** + * MEOS {@code floatset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer floatset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_in(arg0); + } + + /** + * MEOS {@code floatset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String floatset_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatset_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpan.java new file mode 100644 index 000000000..2e761842b --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpan.java @@ -0,0 +1,253 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: FloatSpan + * Methods emitted: 15 (bounded-state=11 · io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFloatSpan { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFloatSpan() { /* utility */ } + + /** + * MEOS {@code floatspan_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer floatspan_make(double arg0, double arg1, boolean arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_make(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code floatspan_to_intspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer floatspan_to_intspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_to_intspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_to_intspan(arg0); + } + + /** + * MEOS {@code floatspan_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_bins(jnr.ffi.Pointer arg0, double arg1, double arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code floatspan_ceil} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_ceil(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_ceil requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_ceil(arg0); + } + + /** + * MEOS {@code floatspan_degrees} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_degrees(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_degrees requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_degrees(arg0, arg1); + } + + /** + * MEOS {@code floatspan_expand} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_expand(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_expand(arg0, arg1); + } + + /** + * MEOS {@code floatspan_floor} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_floor(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_floor requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_floor(arg0); + } + + /** + * MEOS {@code floatspan_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatspan_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_lower(arg0); + } + + /** + * MEOS {@code floatspan_radians} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_radians(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_radians requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_radians(arg0); + } + + /** + * MEOS {@code floatspan_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_round(arg0, arg1); + } + + /** + * MEOS {@code floatspan_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspan_shift_scale(jnr.ffi.Pointer arg0, double arg1, double arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code floatspan_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatspan_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_upper(arg0); + } + + /** + * MEOS {@code floatspan_width} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatspan_width(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_width requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_width(arg0); + } + + /** + * MEOS {@code floatspan_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer floatspan_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_in(arg0); + } + + /** + * MEOS {@code floatspan_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String floatspan_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspan_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspan_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpanSet.java new file mode 100644 index 000000000..29091cf78 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFloatSpanSet.java @@ -0,0 +1,225 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: FloatSpanSet + * Methods emitted: 13 (bounded-state=10 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFloatSpanSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFloatSpanSet() { /* utility */ } + + /** + * MEOS {@code floatspanset_to_intspanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer floatspanset_to_intspanset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_to_intspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_to_intspanset(arg0); + } + + /** + * MEOS {@code floatspanset_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_bins(jnr.ffi.Pointer arg0, double arg1, double arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code floatspanset_ceil} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_ceil(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_ceil requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_ceil(arg0); + } + + /** + * MEOS {@code floatspanset_degrees} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_degrees(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_degrees requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_degrees(arg0, arg1); + } + + /** + * MEOS {@code floatspanset_floor} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_floor(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_floor requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_floor(arg0); + } + + /** + * MEOS {@code floatspanset_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatspanset_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_lower(arg0); + } + + /** + * MEOS {@code floatspanset_radians} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_radians(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_radians requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_radians(arg0); + } + + /** + * MEOS {@code floatspanset_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_round(arg0, arg1); + } + + /** + * MEOS {@code floatspanset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer floatspanset_shift_scale(jnr.ffi.Pointer arg0, double arg1, double arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code floatspanset_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatspanset_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_upper(arg0); + } + + /** + * MEOS {@code floatspanset_width} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double floatspanset_width(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_width requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_width(arg0, arg1); + } + + /** + * MEOS {@code floatspanset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer floatspanset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_in(arg0); + } + + /** + * MEOS {@code floatspanset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String floatspanset_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "floatspanset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.floatspanset_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java new file mode 100644 index 000000000..f967f7e20 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java @@ -0,0 +1,1982 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_free.py — do not edit by hand. + * Source header: meos_cbuffer.h + * Methods emitted: 149 (bounded-state=68 · stateless=43 · cross-stream=22 · io-meta=8 · windowed=8) + * Scope: MEOS public functions NOT classified into any object-model class + * (free functions, not methods on a class). + * Source: JMEOS PR #19 (functions.GeneratedFunctions) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFreeCbuffer { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreeCbuffer() { /* utility */ } + + /** + * MEOS {@code cbuffer_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int cbuffer_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_cmp(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer cbuffer_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_copy(arg0); + } + + /** + * MEOS {@code cbuffer_eq} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean cbuffer_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_eq(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_ge} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean cbuffer_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_ge(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_gt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean cbuffer_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_gt(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_hash} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int cbuffer_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_hash(arg0); + } + + /** + * MEOS {@code cbuffer_hash_extended} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static long cbuffer_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_le} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean cbuffer_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_le(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_lt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean cbuffer_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_lt(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer cbuffer_make(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_make(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_ne} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean cbuffer_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_ne(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_nsame} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean cbuffer_nsame(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_nsame requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_nsame(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_point} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer cbuffer_point(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_point requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_point(arg0); + } + + /** + * MEOS {@code cbuffer_radius} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double cbuffer_radius(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_radius requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_radius(arg0); + } + + /** + * MEOS {@code cbuffer_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer cbuffer_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_round(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_same} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean cbuffer_same(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_same requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_same(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_set_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static void cbuffer_set_srid(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_set_srid requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.cbuffer_set_srid(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static int cbuffer_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_srid(arg0); + } + + /** + * MEOS {@code cbuffer_timestamptz_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer cbuffer_timestamptz_to_stbox(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_timestamptz_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_timestamptz_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_to_geom} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer cbuffer_to_geom(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_to_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_to_geom(arg0); + } + + /** + * MEOS {@code cbuffer_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer cbuffer_to_set(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_to_set(arg0); + } + + /** + * MEOS {@code cbuffer_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer cbuffer_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_to_stbox(arg0); + } + + /** + * MEOS {@code cbuffer_transform} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer cbuffer_transform(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_transform requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_transform(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_transform_pipeline} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer cbuffer_transform_pipeline(jnr.ffi.Pointer arg0, java.lang.String arg1, int arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_transform_pipeline requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_transform_pipeline(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code cbuffer_tstzspan_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer cbuffer_tstzspan_to_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_tstzspan_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_tstzspan_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer cbuffer_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code cbufferarr_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer cbufferarr_round(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferarr_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferarr_round(arg0, arg1, arg2); + } + + /** + * MEOS {@code cbufferarr_to_geom} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer cbufferarr_to_geom(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbufferarr_to_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbufferarr_to_geom(arg0, arg1); + } + + /** + * MEOS {@code contained_cbuffer_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 scalars (box/span algebra)

+ */ + public static boolean contained_cbuffer_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_cbuffer_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_cbuffer_set(arg0, arg1); + } + + /** + * MEOS {@code contains_cbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 scalars (box/span algebra)

+ */ + public static int contains_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_cbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code contains_set_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code covers_cbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int covers_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "covers_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.covers_cbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code disjoint_cbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int disjoint_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "disjoint_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.disjoint_cbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code dwithin_cbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int dwithin_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "dwithin_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.dwithin_cbuffer_cbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code geom_to_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_to_cbuffer(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_to_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_to_cbuffer(arg0); + } + + /** + * MEOS {@code intersection_set_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code intersects_cbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int intersects_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersects_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersects_cbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code teq_cbuffer_tcbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code teq_tcbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tne_cbuffer_tcbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tne_tcbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code touches_cbuffer_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int touches_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "touches_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.touches_cbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code union_set_cbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code acontains_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acontains_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code acontains_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acontains_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code acontains_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acontains_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code acontains_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acontains_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code acovers_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acovers_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acovers_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acovers_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code acovers_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acovers_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acovers_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acovers_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code acovers_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acovers_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acovers_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acovers_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code acovers_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acovers_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acovers_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acovers_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code adisjoint_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int adisjoint_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adisjoint_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adisjoint_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code adisjoint_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int adisjoint_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adisjoint_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adisjoint_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code adwithin_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int adwithin_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adwithin_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adwithin_tcbuffer_cbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code adwithin_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int adwithin_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adwithin_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adwithin_tcbuffer_geo(arg0, arg1, arg2); + } + + /** + * MEOS {@code aintersects_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int aintersects_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "aintersects_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.aintersects_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code aintersects_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int aintersects_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "aintersects_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.aintersects_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code atouches_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int atouches_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "atouches_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.atouches_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code atouches_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int atouches_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "atouches_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.atouches_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code distance_cbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_cbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_cbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_cbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code distance_cbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_cbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_cbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_cbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code distance_cbuffer_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_cbuffer_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_cbuffer_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_cbuffer_stbox(arg0, arg1); + } + + /** + * MEOS {@code econtains_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int econtains_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "econtains_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.econtains_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code econtains_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int econtains_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "econtains_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.econtains_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code econtains_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int econtains_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "econtains_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.econtains_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code ecovers_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int ecovers_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ecovers_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int ecovers_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code ecovers_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int ecovers_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code edisjoint_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int edisjoint_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edisjoint_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edisjoint_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code edisjoint_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int edisjoint_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edisjoint_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edisjoint_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code edwithin_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int edwithin_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edwithin_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edwithin_tcbuffer_cbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code edwithin_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int edwithin_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edwithin_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edwithin_tcbuffer_geo(arg0, arg1, arg2); + } + + /** + * MEOS {@code eintersects_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int eintersects_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "eintersects_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.eintersects_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code eintersects_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int eintersects_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "eintersects_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.eintersects_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code etouches_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int etouches_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "etouches_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.etouches_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code etouches_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int etouches_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "etouches_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.etouches_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code minus_cbuffer_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_cbuffer_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_cbuffer_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_cbuffer_set(arg0, arg1); + } + + /** + * MEOS {@code minus_set_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code nad_cbuffer_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_cbuffer_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_cbuffer_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_cbuffer_stbox(arg0, arg1); + } + + /** + * MEOS {@code nad_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code nad_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_tcbuffer_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tcbuffer_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tcbuffer_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tcbuffer_stbox(arg0, arg1); + } + + /** + * MEOS {@code nai_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code nai_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code tcontains_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcontains_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcontains_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcontains_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcontains_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcontains_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcontains_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcontains_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code tcovers_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcovers_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcovers_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcovers_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcovers_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcovers_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcovers_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcovers_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdisjoint_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdisjoint_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdisjoint_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdisjoint_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code tdwithin_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdwithin_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_geo_tcbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code tdwithin_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdwithin_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_tcbuffer_cbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code tdwithin_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdwithin_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_tcbuffer_geo(arg0, arg1, arg2); + } + + /** + * MEOS {@code tintersects_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tintersects_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tintersects_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tintersects_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tintersects_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tintersects_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tintersects_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tintersects_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code ttouches_cbuffer_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer ttouches_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ttouches_geo_tcbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer ttouches_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_geo_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ttouches_tcbuffer_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer ttouches_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code ttouches_tcbuffer_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer ttouches_tcbuffer_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_tcbuffer_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_tcbuffer_geo(arg0, arg1); + } + + /** + * MEOS {@code always_eq_cbuffer_tcbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tcbuffer_cbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code always_ne_cbuffer_tcbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tcbuffer_cbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_cbuffer_tcbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tcbuffer_cbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_cbuffer_tcbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_cbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_cbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_cbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tcbuffer_cbuffer} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tcbuffer_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tcbuffer_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tcbuffer_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code adisjoint_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int adisjoint_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adisjoint_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adisjoint_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code adwithin_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int adwithin_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adwithin_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adwithin_tcbuffer_tcbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code aintersects_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int aintersects_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "aintersects_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.aintersects_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_eq_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ne_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code atouches_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int atouches_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "atouches_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.atouches_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ecovers_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int ecovers_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code edwithin_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int edwithin_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edwithin_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edwithin_tcbuffer_tcbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code eintersects_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int eintersects_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "eintersects_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.eintersects_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code etouches_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int etouches_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "etouches_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.etouches_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_eq_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ne_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code nad_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code nai_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer nai_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer shortestline_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcontains_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tcontains_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcovers_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tcovers_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tdisjoint_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code tdwithin_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tdwithin_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_tcbuffer_tcbuffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code tintersects_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tintersects_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code ttouches_tcbuffer_tcbuffer} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer ttouches_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_tcbuffer_tcbuffer(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_as_ewkt} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String cbuffer_as_ewkt(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_as_ewkt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_as_ewkt(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String cbuffer_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_as_hexwkb(arg0, arg1, arg2); + } + + /** + * MEOS {@code cbuffer_as_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String cbuffer_as_text(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_as_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_as_text(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer cbuffer_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer cbuffer_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_from_hexwkb(arg0); + } + + /** + * MEOS {@code cbuffer_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer cbuffer_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_from_wkb(arg0, arg1); + } + + /** + * MEOS {@code cbuffer_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer cbuffer_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_in(arg0); + } + + /** + * MEOS {@code cbuffer_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String cbuffer_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cbuffer_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cbuffer_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java new file mode 100644 index 000000000..37df9a023 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java @@ -0,0 +1,9744 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_free.py — do not edit by hand. + * Source header: meos.h + * Methods emitted: 746 (stateless=448 · bounded-state=128 · windowed=80 · io-meta=53 · cross-stream=37) + * Scope: MEOS public functions NOT classified into any object-model class + * (free functions, not methods on a class). + * Source: JMEOS PR #19 (functions.GeneratedFunctions) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import functions.error_handler_fn; +import jnr.ffi.Pointer; + +public final class MeosOpsFreeCore { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreeCore() { /* utility */ } + + /** + * MEOS {@code add_date_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar arithmetic

+ */ + public static int add_date_int(int arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_date_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_date_int(arg0, arg1); + } + + /** + * MEOS {@code add_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer add_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code add_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer add_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_int_tint(arg0, arg1); + } + + /** + * MEOS {@code add_interval_interval} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer add_interval_interval(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_interval_interval requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_interval_interval(arg0, arg1); + } + + /** + * MEOS {@code add_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer add_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code add_timestamptz_interval} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar arithmetic

+ */ + public static java.time.OffsetDateTime add_timestamptz_interval(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_timestamptz_interval requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_timestamptz_interval(arg0, arg1); + } + + /** + * MEOS {@code add_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer add_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_tint_int(arg0, arg1); + } + + /** + * MEOS {@code add_tnumber_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer add_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_date(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_float(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_int(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_span(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code adjacent_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code adjacent_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code after_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_date_set(arg0, arg1); + } + + /** + * MEOS {@code after_date_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_date_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_date_span(arg0, arg1); + } + + /** + * MEOS {@code after_date_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code after_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_set_date(arg0, arg1); + } + + /** + * MEOS {@code after_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code after_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_span_date(arg0, arg1); + } + + /** + * MEOS {@code after_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code after_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code after_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code after_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code after_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code after_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code after_timestamptz_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code after_timestamptz_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code before_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_date_set(arg0, arg1); + } + + /** + * MEOS {@code before_date_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_date_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_date_span(arg0, arg1); + } + + /** + * MEOS {@code before_date_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code before_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_set_date(arg0, arg1); + } + + /** + * MEOS {@code before_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code before_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_span_date(arg0, arg1); + } + + /** + * MEOS {@code before_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code before_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code before_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code before_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code before_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code before_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code before_timestamptz_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code before_timestamptz_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code bigint_extent_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer bigint_extent_transfn(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigint_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigint_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code bigint_get_bin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static long bigint_get_bin(long arg0, long arg1, long arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigint_get_bin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigint_get_bin(arg0, arg1, arg2); + } + + /** + * MEOS {@code bigint_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer bigint_to_set(long arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigint_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigint_to_set(arg0); + } + + /** + * MEOS {@code bigint_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer bigint_to_span(long arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigint_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigint_to_span(arg0); + } + + /** + * MEOS {@code bigint_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer bigint_to_spanset(long arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigint_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigint_to_spanset(arg0); + } + + /** + * MEOS {@code bigint_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer bigint_union_transfn(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bigint_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bigint_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code contained_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code contained_bigint_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_bigint_span(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code contained_bigint_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code contained_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_date_set(arg0, arg1); + } + + /** + * MEOS {@code contained_date_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_date_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_date_span(arg0, arg1); + } + + /** + * MEOS {@code contained_date_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code contained_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_float_set(arg0, arg1); + } + + /** + * MEOS {@code contained_float_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_float_span(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_float_span(arg0, arg1); + } + + /** + * MEOS {@code contained_float_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code contained_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_int_set(arg0, arg1); + } + + /** + * MEOS {@code contained_int_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_int_span(arg0, arg1); + } + + /** + * MEOS {@code contained_int_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code contained_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_set_set(arg0, arg1); + } + + /** + * MEOS {@code contained_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_span_span(arg0, arg1); + } + + /** + * MEOS {@code contained_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code contained_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code contained_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code contained_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code contained_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code contained_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_text_set(arg0, arg1); + } + + /** + * MEOS {@code contained_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code contained_timestamptz_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code contained_timestamptz_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code contains_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code contains_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_date(arg0, arg1); + } + + /** + * MEOS {@code contains_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_float(arg0, arg1); + } + + /** + * MEOS {@code contains_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_int(arg0, arg1); + } + + /** + * MEOS {@code contains_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_set(arg0, arg1); + } + + /** + * MEOS {@code contains_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_text(arg0, arg1); + } + + /** + * MEOS {@code contains_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code contains_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code contains_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_date(arg0, arg1); + } + + /** + * MEOS {@code contains_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_float(arg0, arg1); + } + + /** + * MEOS {@code contains_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_int(arg0, arg1); + } + + /** + * MEOS {@code contains_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_span(arg0, arg1); + } + + /** + * MEOS {@code contains_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code contains_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code contains_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code contains_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code contains_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code date_extent_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer date_extent_transfn(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code date_get_bin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int date_get_bin(int arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_get_bin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_get_bin(arg0, arg1, arg2); + } + + /** + * MEOS {@code date_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer date_to_set(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_to_set(arg0); + } + + /** + * MEOS {@code date_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer date_to_span(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_to_span(arg0); + } + + /** + * MEOS {@code date_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer date_to_spanset(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_to_spanset(arg0); + } + + /** + * MEOS {@code date_to_timestamp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static java.time.LocalDateTime date_to_timestamp(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_to_timestamp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_to_timestamp(arg0); + } + + /** + * MEOS {@code date_to_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static java.time.OffsetDateTime date_to_timestamptz(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_to_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_to_timestamptz(arg0); + } + + /** + * MEOS {@code date_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer date_union_transfn(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "date_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.date_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code div_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer div_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code div_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer div_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_int_tint(arg0, arg1); + } + + /** + * MEOS {@code div_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer div_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code div_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer div_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_tint_int(arg0, arg1); + } + + /** + * MEOS {@code div_tnumber_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer div_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code float_angular_difference} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double float_angular_difference(double arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_angular_difference requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_angular_difference(arg0, arg1); + } + + /** + * MEOS {@code float_degrees} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double float_degrees(double arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_degrees requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_degrees(arg0, arg1); + } + + /** + * MEOS {@code float_exp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double float_exp(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_exp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_exp(arg0); + } + + /** + * MEOS {@code float_extent_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer float_extent_transfn(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code float_get_bin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static double float_get_bin(double arg0, double arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_get_bin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_get_bin(arg0, arg1, arg2); + } + + /** + * MEOS {@code float_ln} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double float_ln(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_ln requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_ln(arg0); + } + + /** + * MEOS {@code float_log10} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double float_log10(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_log10 requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_log10(arg0); + } + + /** + * MEOS {@code float_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static double float_round(double arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_round(arg0, arg1); + } + + /** + * MEOS {@code float_timestamptz_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer float_timestamptz_to_tbox(double arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_timestamptz_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_timestamptz_to_tbox(arg0, arg1); + } + + /** + * MEOS {@code float_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer float_to_set(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_to_set(arg0); + } + + /** + * MEOS {@code float_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer float_to_span(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_to_span(arg0); + } + + /** + * MEOS {@code float_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer float_to_spanset(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_to_spanset(arg0); + } + + /** + * MEOS {@code float_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer float_to_tbox(double arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_to_tbox(arg0); + } + + /** + * MEOS {@code float_tstzspan_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer float_tstzspan_to_tbox(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_tstzspan_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_tstzspan_to_tbox(arg0, arg1); + } + + /** + * MEOS {@code float_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer float_union_transfn(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code int32_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison with width suffix

+ */ + public static int int32_cmp(int arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int32_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int32_cmp(arg0, arg1); + } + + /** + * MEOS {@code int64_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison with width suffix

+ */ + public static int int64_cmp(long arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int64_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int64_cmp(arg0, arg1); + } + + /** + * MEOS {@code int_extent_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer int_extent_transfn(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code int_get_bin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int int_get_bin(int arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_get_bin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_get_bin(arg0, arg1, arg2); + } + + /** + * MEOS {@code int_timestamptz_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer int_timestamptz_to_tbox(int arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_timestamptz_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_timestamptz_to_tbox(arg0, arg1); + } + + /** + * MEOS {@code int_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer int_to_set(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_to_set(arg0); + } + + /** + * MEOS {@code int_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer int_to_span(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_to_span(arg0); + } + + /** + * MEOS {@code int_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer int_to_spanset(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_to_spanset(arg0); + } + + /** + * MEOS {@code int_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer int_to_tbox(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_to_tbox(arg0); + } + + /** + * MEOS {@code int_tstzspan_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer int_tstzspan_to_tbox(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_tstzspan_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_tstzspan_to_tbox(arg0, arg1); + } + + /** + * MEOS {@code int_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer int_union_transfn(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "int_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.int_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code intersection_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_date_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_float_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_int_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_date(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_float(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_int(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_text(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_date(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_float(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_int(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_span(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code intersection_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code intersection_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code intersection_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code intersection_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_text_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code interval_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer interval_make(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, double arg6) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "interval_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.interval_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + * MEOS {@code left_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code left_bigint_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_bigint_span(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code left_bigint_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code left_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_float_set(arg0, arg1); + } + + /** + * MEOS {@code left_float_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_float_span(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_float_span(arg0, arg1); + } + + /** + * MEOS {@code left_float_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code left_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_int_set(arg0, arg1); + } + + /** + * MEOS {@code left_int_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_int_span(arg0, arg1); + } + + /** + * MEOS {@code left_int_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code left_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code left_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_set_float(arg0, arg1); + } + + /** + * MEOS {@code left_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_set_int(arg0, arg1); + } + + /** + * MEOS {@code left_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_set_set(arg0, arg1); + } + + /** + * MEOS {@code left_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_set_text(arg0, arg1); + } + + /** + * MEOS {@code left_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code left_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_span_float(arg0, arg1); + } + + /** + * MEOS {@code left_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_span_int(arg0, arg1); + } + + /** + * MEOS {@code left_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_span_span(arg0, arg1); + } + + /** + * MEOS {@code left_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code left_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code left_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code left_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code left_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code left_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code left_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code left_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code left_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_text_set(arg0, arg1); + } + + /** + * MEOS {@code mul_interval_double} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer mul_interval_double(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "mul_interval_double requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.mul_interval_double(arg0, arg1); + } + + /** + * MEOS {@code numspan_timestamptz_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer numspan_timestamptz_to_tbox(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "numspan_timestamptz_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.numspan_timestamptz_to_tbox(arg0, arg1); + } + + /** + * MEOS {@code numspan_tstzspan_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer numspan_tstzspan_to_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "numspan_tstzspan_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.numspan_tstzspan_to_tbox(arg0, arg1); + } + + /** + * MEOS {@code overafter_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_date_set(arg0, arg1); + } + + /** + * MEOS {@code overafter_date_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_date_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_date_span(arg0, arg1); + } + + /** + * MEOS {@code overafter_date_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code overafter_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_set_date(arg0, arg1); + } + + /** + * MEOS {@code overafter_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code overafter_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_span_date(arg0, arg1); + } + + /** + * MEOS {@code overafter_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code overafter_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code overafter_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code overafter_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code overafter_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overafter_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code overafter_timestamptz_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code overafter_timestamptz_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code overbefore_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_date_set(arg0, arg1); + } + + /** + * MEOS {@code overbefore_date_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_date_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_date_span(arg0, arg1); + } + + /** + * MEOS {@code overbefore_date_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code overbefore_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_set_date(arg0, arg1); + } + + /** + * MEOS {@code overbefore_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code overbefore_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_span_date(arg0, arg1); + } + + /** + * MEOS {@code overbefore_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code overbefore_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code overbefore_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overbefore_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code overbefore_timestamptz_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code overbefore_timestamptz_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code overlaps_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_set_set(arg0, arg1); + } + + /** + * MEOS {@code overlaps_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_span_span(arg0, arg1); + } + + /** + * MEOS {@code overlaps_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code overlaps_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code overlaps_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overleft_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code overleft_bigint_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_bigint_span(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code overleft_bigint_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code overleft_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_float_set(arg0, arg1); + } + + /** + * MEOS {@code overleft_float_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_float_span(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_float_span(arg0, arg1); + } + + /** + * MEOS {@code overleft_float_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code overleft_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_int_set(arg0, arg1); + } + + /** + * MEOS {@code overleft_int_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_int_span(arg0, arg1); + } + + /** + * MEOS {@code overleft_int_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code overleft_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code overleft_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_set_float(arg0, arg1); + } + + /** + * MEOS {@code overleft_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_set_int(arg0, arg1); + } + + /** + * MEOS {@code overleft_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_set_set(arg0, arg1); + } + + /** + * MEOS {@code overleft_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_set_text(arg0, arg1); + } + + /** + * MEOS {@code overleft_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code overleft_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_span_float(arg0, arg1); + } + + /** + * MEOS {@code overleft_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_span_int(arg0, arg1); + } + + /** + * MEOS {@code overleft_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_span_span(arg0, arg1); + } + + /** + * MEOS {@code overleft_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code overleft_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code overleft_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code overleft_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code overleft_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code overleft_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code overleft_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code overleft_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overleft_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_text_set(arg0, arg1); + } + + /** + * MEOS {@code overright_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code overright_bigint_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_bigint_span(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code overright_bigint_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code overright_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_float_set(arg0, arg1); + } + + /** + * MEOS {@code overright_float_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_float_span(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_float_span(arg0, arg1); + } + + /** + * MEOS {@code overright_float_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code overright_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_int_set(arg0, arg1); + } + + /** + * MEOS {@code overright_int_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_int_span(arg0, arg1); + } + + /** + * MEOS {@code overright_int_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code overright_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code overright_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_set_float(arg0, arg1); + } + + /** + * MEOS {@code overright_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_set_int(arg0, arg1); + } + + /** + * MEOS {@code overright_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_set_set(arg0, arg1); + } + + /** + * MEOS {@code overright_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_set_text(arg0, arg1); + } + + /** + * MEOS {@code overright_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code overright_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_span_float(arg0, arg1); + } + + /** + * MEOS {@code overright_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_span_int(arg0, arg1); + } + + /** + * MEOS {@code overright_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_span_span(arg0, arg1); + } + + /** + * MEOS {@code overright_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code overright_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code overright_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code overright_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code overright_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code overright_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code overright_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code overright_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overright_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_text_set(arg0, arg1); + } + + /** + * MEOS {@code right_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code right_bigint_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_bigint_span(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code right_bigint_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code right_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_float_set(arg0, arg1); + } + + /** + * MEOS {@code right_float_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_float_span(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_float_span(arg0, arg1); + } + + /** + * MEOS {@code right_float_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code right_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_int_set(arg0, arg1); + } + + /** + * MEOS {@code right_int_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_int_span(arg0, arg1); + } + + /** + * MEOS {@code right_int_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code right_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code right_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_set_float(arg0, arg1); + } + + /** + * MEOS {@code right_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_set_int(arg0, arg1); + } + + /** + * MEOS {@code right_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_set_set(arg0, arg1); + } + + /** + * MEOS {@code right_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_set_text(arg0, arg1); + } + + /** + * MEOS {@code right_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code right_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_span_float(arg0, arg1); + } + + /** + * MEOS {@code right_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_span_int(arg0, arg1); + } + + /** + * MEOS {@code right_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_span_span(arg0, arg1); + } + + /** + * MEOS {@code right_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code right_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code right_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code right_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code right_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code right_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code right_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code right_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code right_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_text_set(arg0, arg1); + } + + /** + * MEOS {@code same_numspan_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code same_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tbox_tbox(arg0, arg1); + } + + /** + * MEOS {@code same_tbox_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_tbox_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tbox_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tbox_tnumber(arg0, arg1); + } + + /** + * MEOS {@code same_temporal_tstzspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code same_tnumber_numspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code same_tnumber_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code same_tstzspan_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code sub_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer sub_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code sub_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer sub_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_int_tint(arg0, arg1); + } + + /** + * MEOS {@code sub_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer sub_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code sub_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer sub_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_tint_int(arg0, arg1); + } + + /** + * MEOS {@code sub_tnumber_tnumber} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

+ */ + public static jnr.ffi.Pointer sub_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code tboxfloat_xmax} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static jnr.ffi.Pointer tboxfloat_xmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tboxfloat_xmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tboxfloat_xmax(arg0); + } + + /** + * MEOS {@code tboxfloat_xmin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static jnr.ffi.Pointer tboxfloat_xmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tboxfloat_xmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tboxfloat_xmin(arg0); + } + + /** + * MEOS {@code tboxint_xmax} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static jnr.ffi.Pointer tboxint_xmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tboxint_xmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tboxint_xmax(arg0); + } + + /** + * MEOS {@code tboxint_xmin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static jnr.ffi.Pointer tboxint_xmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tboxint_xmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tboxint_xmin(arg0); + } + + /** + * MEOS {@code temparr_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer temparr_round(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temparr_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temparr_round(arg0, arg1, arg2); + } + + /** + * MEOS {@code teq_bool_tbool} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_bool_tbool(arg0, arg1); + } + + /** + * MEOS {@code teq_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code teq_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_int_tint(arg0, arg1); + } + + /** + * MEOS {@code teq_tbool_bool} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tbool_bool(arg0, arg1); + } + + /** + * MEOS {@code teq_temporal_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code teq_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code teq_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code teq_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tint_int(arg0, arg1); + } + + /** + * MEOS {@code teq_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code text_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int text_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_cmp(arg0, arg1); + } + + /** + * MEOS {@code text_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer text_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_copy(arg0); + } + + /** + * MEOS {@code text_initcap} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer text_initcap(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_initcap requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_initcap(arg0); + } + + /** + * MEOS {@code text_lower} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer text_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_lower(arg0); + } + + /** + * MEOS {@code text_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer text_to_set(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_to_set(arg0); + } + + /** + * MEOS {@code text_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer text_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code text_upper} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer text_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_upper(arg0); + } + + /** + * MEOS {@code textcat_text_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: text concatenation (per-instant)

+ */ + public static jnr.ffi.Pointer textcat_text_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textcat_text_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textcat_text_text(arg0, arg1); + } + + /** + * MEOS {@code textcat_text_textset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: text concatenation (per-instant)

+ */ + public static jnr.ffi.Pointer textcat_text_textset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textcat_text_textset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textcat_text_textset(arg0, arg1); + } + + /** + * MEOS {@code textcat_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: text concatenation (per-instant)

+ */ + public static jnr.ffi.Pointer textcat_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textcat_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textcat_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code textcat_textset_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: text concatenation (per-instant)

+ */ + public static jnr.ffi.Pointer textcat_textset_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textcat_textset_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textcat_textset_text(arg0, arg1); + } + + /** + * MEOS {@code textcat_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: text concatenation (per-instant)

+ */ + public static jnr.ffi.Pointer textcat_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textcat_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textcat_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code textcat_ttext_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: text concatenation (per-instant)

+ */ + public static jnr.ffi.Pointer textcat_ttext_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textcat_ttext_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textcat_ttext_ttext(arg0, arg1); + } + + /** + * MEOS {@code tfloatbox_expand} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer tfloatbox_expand(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloatbox_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloatbox_expand(arg0, arg1); + } + + /** + * MEOS {@code tfloatbox_shift_scale} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer tfloatbox_shift_scale(jnr.ffi.Pointer arg0, double arg1, double arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloatbox_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloatbox_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code tge_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code tge_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_int_tint(arg0, arg1); + } + + /** + * MEOS {@code tge_temporal_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code tge_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code tge_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code tge_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_tint_int(arg0, arg1); + } + + /** + * MEOS {@code tge_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tge_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tge_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tge_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code tgt_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code tgt_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_int_tint(arg0, arg1); + } + + /** + * MEOS {@code tgt_temporal_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code tgt_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code tgt_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code tgt_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_tint_int(arg0, arg1); + } + + /** + * MEOS {@code tgt_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tgt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgt_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgt_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code timestamp_to_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static int timestamp_to_date(java.time.LocalDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamp_to_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamp_to_date(arg0); + } + + /** + * MEOS {@code timestamptz_extent_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer timestamptz_extent_transfn(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code timestamptz_get_bin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static java.time.OffsetDateTime timestamptz_get_bin(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_get_bin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_get_bin(arg0, arg1, arg2); + } + + /** + * MEOS {@code timestamptz_shift} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static java.time.OffsetDateTime timestamptz_shift(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_shift requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_shift(arg0, arg1); + } + + /** + * MEOS {@code timestamptz_tcount_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer timestamptz_tcount_transfn(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_tcount_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_tcount_transfn(arg0, arg1); + } + + /** + * MEOS {@code timestamptz_to_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static int timestamptz_to_date(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_to_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_to_date(arg0); + } + + /** + * MEOS {@code timestamptz_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer timestamptz_to_set(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_to_set(arg0); + } + + /** + * MEOS {@code timestamptz_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer timestamptz_to_span(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_to_span(arg0); + } + + /** + * MEOS {@code timestamptz_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer timestamptz_to_spanset(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_to_spanset(arg0); + } + + /** + * MEOS {@code timestamptz_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer timestamptz_to_tbox(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_to_tbox(arg0); + } + + /** + * MEOS {@code timestamptz_tprecision} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static java.time.OffsetDateTime timestamptz_tprecision(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_tprecision requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_tprecision(arg0, arg1, arg2); + } + + /** + * MEOS {@code timestamptz_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer timestamptz_union_transfn(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code tintbox_expand} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer tintbox_expand(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintbox_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintbox_expand(arg0, arg1); + } + + /** + * MEOS {@code tintbox_shift_scale} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer tintbox_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintbox_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintbox_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code tle_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code tle_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_int_tint(arg0, arg1); + } + + /** + * MEOS {@code tle_temporal_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code tle_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code tle_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code tle_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_tint_int(arg0, arg1); + } + + /** + * MEOS {@code tle_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tle_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tle_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tle_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code tlt_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code tlt_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_int_tint(arg0, arg1); + } + + /** + * MEOS {@code tlt_temporal_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code tlt_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code tlt_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code tlt_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_tint_int(arg0, arg1); + } + + /** + * MEOS {@code tlt_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tlt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tlt_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tlt_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code tne_bool_tbool} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_bool_tbool(arg0, arg1); + } + + /** + * MEOS {@code tne_float_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code tne_int_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_int_tint(arg0, arg1); + } + + /** + * MEOS {@code tne_tbool_bool} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tbool_bool(arg0, arg1); + } + + /** + * MEOS {@code tne_temporal_temporal} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code tne_text_ttext} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code tne_tfloat_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code tne_tint_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tint_int(arg0, arg1); + } + + /** + * MEOS {@code tne_ttext_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code union_bigint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code union_bigint_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_bigint_span(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code union_bigint_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code union_date_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_date_set(arg0, arg1); + } + + /** + * MEOS {@code union_date_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_date_span(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_date_span(arg0, arg1); + } + + /** + * MEOS {@code union_date_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code union_float_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_float_set(arg0, arg1); + } + + /** + * MEOS {@code union_float_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_float_span(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_float_span(arg0, arg1); + } + + /** + * MEOS {@code union_float_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code union_int_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_int_set(arg0, arg1); + } + + /** + * MEOS {@code union_int_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_int_span(arg0, arg1); + } + + /** + * MEOS {@code union_int_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code union_set_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code union_set_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_date(arg0, arg1); + } + + /** + * MEOS {@code union_set_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_float(arg0, arg1); + } + + /** + * MEOS {@code union_set_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_int(arg0, arg1); + } + + /** + * MEOS {@code union_set_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_set(arg0, arg1); + } + + /** + * MEOS {@code union_set_text} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_text(arg0, arg1); + } + + /** + * MEOS {@code union_set_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code union_span_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code union_span_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_date(arg0, arg1); + } + + /** + * MEOS {@code union_span_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_float(arg0, arg1); + } + + /** + * MEOS {@code union_span_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_int(arg0, arg1); + } + + /** + * MEOS {@code union_span_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_span(arg0, arg1); + } + + /** + * MEOS {@code union_span_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code union_span_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_bigint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_date} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_float} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_int} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code union_spanset_timestamptz} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code union_tbox_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_tbox_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_tbox_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_tbox_tbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code union_text_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_text_set(arg0, arg1); + } + + /** + * MEOS {@code union_timestamptz_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code union_timestamptz_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code union_timestamptz_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code adjacent_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean adjacent_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code adjacent_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean adjacent_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean adjacent_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean adjacent_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean adjacent_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code after_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean after_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code after_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean after_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code after_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean after_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code before_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean before_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code before_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean before_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code before_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean before_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code contained_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contained_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code contained_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contained_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code contained_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contained_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code contained_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contained_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code contained_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contained_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code contains_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contains_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code contains_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contains_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code contains_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contains_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code contains_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contains_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code contains_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contains_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code distance_bigintset_bigintset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_bigintset_bigintset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_bigintset_bigintset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_bigintset_bigintset(arg0, arg1); + } + + /** + * MEOS {@code distance_bigintspan_bigintspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_bigintspan_bigintspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_bigintspan_bigintspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_bigintspan_bigintspan(arg0, arg1); + } + + /** + * MEOS {@code distance_bigintspanset_bigintspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_bigintspanset_bigintspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_bigintspanset_bigintspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_bigintspanset_bigintspan(arg0, arg1); + } + + /** + * MEOS {@code distance_bigintspanset_bigintspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_bigintspanset_bigintspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_bigintspanset_bigintspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_bigintspanset_bigintspanset(arg0, arg1); + } + + /** + * MEOS {@code distance_dateset_dateset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_dateset_dateset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_dateset_dateset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_dateset_dateset(arg0, arg1); + } + + /** + * MEOS {@code distance_datespan_datespan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_datespan_datespan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_datespan_datespan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_datespan_datespan(arg0, arg1); + } + + /** + * MEOS {@code distance_datespanset_datespan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_datespanset_datespan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_datespanset_datespan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_datespanset_datespan(arg0, arg1); + } + + /** + * MEOS {@code distance_datespanset_datespanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_datespanset_datespanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_datespanset_datespanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_datespanset_datespanset(arg0, arg1); + } + + /** + * MEOS {@code distance_floatset_floatset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_floatset_floatset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_floatset_floatset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_floatset_floatset(arg0, arg1); + } + + /** + * MEOS {@code distance_floatspan_floatspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_floatspan_floatspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_floatspan_floatspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_floatspan_floatspan(arg0, arg1); + } + + /** + * MEOS {@code distance_floatspanset_floatspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_floatspanset_floatspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_floatspanset_floatspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_floatspanset_floatspan(arg0, arg1); + } + + /** + * MEOS {@code distance_floatspanset_floatspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_floatspanset_floatspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_floatspanset_floatspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_floatspanset_floatspanset(arg0, arg1); + } + + /** + * MEOS {@code distance_intset_intset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_intset_intset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_intset_intset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_intset_intset(arg0, arg1); + } + + /** + * MEOS {@code distance_intspan_intspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_intspan_intspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_intspan_intspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_intspan_intspan(arg0, arg1); + } + + /** + * MEOS {@code distance_intspanset_intspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_intspanset_intspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_intspanset_intspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_intspanset_intspan(arg0, arg1); + } + + /** + * MEOS {@code distance_intspanset_intspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_intspanset_intspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_intspanset_intspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_intspanset_intspanset(arg0, arg1); + } + + /** + * MEOS {@code distance_set_bigint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code distance_set_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_set_date(arg0, arg1); + } + + /** + * MEOS {@code distance_set_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_set_float(arg0, arg1); + } + + /** + * MEOS {@code distance_set_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_set_int(arg0, arg1); + } + + /** + * MEOS {@code distance_set_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code distance_span_bigint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code distance_span_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_span_date(arg0, arg1); + } + + /** + * MEOS {@code distance_span_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_span_float(arg0, arg1); + } + + /** + * MEOS {@code distance_span_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_span_int(arg0, arg1); + } + + /** + * MEOS {@code distance_span_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code distance_spanset_bigint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static long distance_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code distance_spanset_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code distance_spanset_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code distance_spanset_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int distance_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code distance_spanset_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code distance_tstzset_tstzset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_tstzset_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_tstzset_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_tstzset_tstzset(arg0, arg1); + } + + /** + * MEOS {@code distance_tstzspan_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_tstzspan_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_tstzspan_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_tstzspan_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code distance_tstzspanset_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_tstzspanset_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_tstzspanset_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_tstzspanset_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code distance_tstzspanset_tstzspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_tstzspanset_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_tstzspanset_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_tstzspanset_tstzspanset(arg0, arg1); + } + + /** + * MEOS {@code left_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean left_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code left_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean left_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code left_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean left_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code minus_bigint_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_bigint_set(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_bigint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_bigint_set(arg0, arg1); + } + + /** + * MEOS {@code minus_bigint_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_bigint_span(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_bigint_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_bigint_span(arg0, arg1); + } + + /** + * MEOS {@code minus_bigint_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_bigint_spanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_bigint_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_bigint_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_date_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static int minus_date_date(int arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_date_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_date_date(arg0, arg1); + } + + /** + * MEOS {@code minus_date_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static int minus_date_int(int arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_date_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_date_int(arg0, arg1); + } + + /** + * MEOS {@code minus_date_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_date_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_date_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_date_set(arg0, arg1); + } + + /** + * MEOS {@code minus_date_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_date_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_date_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_date_span(arg0, arg1); + } + + /** + * MEOS {@code minus_date_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_date_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_date_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_date_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_float_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_float_set(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_float_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_float_set(arg0, arg1); + } + + /** + * MEOS {@code minus_float_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_float_span(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_float_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_float_span(arg0, arg1); + } + + /** + * MEOS {@code minus_float_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_float_spanset(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_float_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_float_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_int_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_int_set(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_int_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_int_set(arg0, arg1); + } + + /** + * MEOS {@code minus_int_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_int_span(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_int_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_int_span(arg0, arg1); + } + + /** + * MEOS {@code minus_int_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_int_spanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_int_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_int_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_set_bigint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_bigint(arg0, arg1); + } + + /** + * MEOS {@code minus_set_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_date(arg0, arg1); + } + + /** + * MEOS {@code minus_set_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_float(arg0, arg1); + } + + /** + * MEOS {@code minus_set_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_int(arg0, arg1); + } + + /** + * MEOS {@code minus_set_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_set(arg0, arg1); + } + + /** + * MEOS {@code minus_set_text} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_text(arg0, arg1); + } + + /** + * MEOS {@code minus_set_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code minus_span_bigint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_bigint(arg0, arg1); + } + + /** + * MEOS {@code minus_span_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_date(arg0, arg1); + } + + /** + * MEOS {@code minus_span_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_float(arg0, arg1); + } + + /** + * MEOS {@code minus_span_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_int(arg0, arg1); + } + + /** + * MEOS {@code minus_span_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_span(arg0, arg1); + } + + /** + * MEOS {@code minus_span_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_span_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_span_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_span_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_span_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_bigint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_bigint(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_date} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_date(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_date requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_date(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_float(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_int(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_span(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_spanset_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_spanset_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_spanset_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_spanset_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code minus_text_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_text_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_text_set(arg0, arg1); + } + + /** + * MEOS {@code minus_timestamptz_interval} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static java.time.OffsetDateTime minus_timestamptz_interval(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_timestamptz_interval requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_timestamptz_interval(arg0, arg1); + } + + /** + * MEOS {@code minus_timestamptz_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_timestamptz_set(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_timestamptz_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_timestamptz_set(arg0, arg1); + } + + /** + * MEOS {@code minus_timestamptz_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_timestamptz_span(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_timestamptz_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_timestamptz_span(arg0, arg1); + } + + /** + * MEOS {@code minus_timestamptz_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_timestamptz_spanset(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_timestamptz_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_timestamptz_spanset(arg0, arg1); + } + + /** + * MEOS {@code minus_timestamptz_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_timestamptz_timestamptz(java.time.OffsetDateTime arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_timestamptz_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_timestamptz_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code nad_tboxfloat_tboxfloat} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tboxfloat_tboxfloat(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tboxfloat_tboxfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tboxfloat_tboxfloat(arg0, arg1); + } + + /** + * MEOS {@code nad_tboxint_tboxint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int nad_tboxint_tboxint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tboxint_tboxint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tboxint_tboxint(arg0, arg1); + } + + /** + * MEOS {@code nad_tfloat_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code nad_tfloat_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tfloat_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tfloat_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tfloat_tbox(arg0, arg1); + } + + /** + * MEOS {@code nad_tint_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int nad_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tint_int(arg0, arg1); + } + + /** + * MEOS {@code nad_tint_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static int nad_tint_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tint_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tint_tbox(arg0, arg1); + } + + /** + * MEOS {@code overafter_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overafter_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code overafter_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overafter_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code overafter_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overafter_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code overbefore_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overbefore_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overbefore_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overbefore_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code overlaps_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overlaps_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overlaps_temporal_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overlaps_temporal_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_temporal_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_temporal_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overlaps_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overlaps_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tstzspan_temporal} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overlaps_tstzspan_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tstzspan_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tstzspan_temporal(arg0, arg1); + } + + /** + * MEOS {@code overleft_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overleft_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overleft_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overleft_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code overleft_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overleft_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code overright_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overright_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overright_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overright_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code overright_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overright_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code right_numspan_tnumber} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean right_numspan_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_numspan_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_numspan_tnumber(arg0, arg1); + } + + /** + * MEOS {@code right_tnumber_numspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean right_tnumber_numspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tnumber_numspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tnumber_numspan(arg0, arg1); + } + + /** + * MEOS {@code right_tnumber_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean right_tnumber_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tnumber_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tnumber_tbox(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tfloat_float} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tint_int} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_eq_bool_tbool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_bool_tbool(arg0, arg1); + } + + /** + * MEOS {@code always_eq_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code always_eq_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_int_tint(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tbool_bool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tbool_bool(arg0, arg1); + } + + /** + * MEOS {@code always_eq_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_eq_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code always_ge_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ge_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code always_ge_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ge_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_int_tint(arg0, arg1); + } + + /** + * MEOS {@code always_ge_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ge_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code always_ge_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ge_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code always_ge_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ge_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_ge_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ge_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code always_gt_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_gt_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code always_gt_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_gt_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_int_tint(arg0, arg1); + } + + /** + * MEOS {@code always_gt_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_gt_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code always_gt_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_gt_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code always_gt_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_gt_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_gt_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_gt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code always_le_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_le_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code always_le_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_le_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_int_tint(arg0, arg1); + } + + /** + * MEOS {@code always_le_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_le_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code always_le_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_le_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code always_le_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_le_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_le_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_le_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code always_lt_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_lt_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code always_lt_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_lt_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_int_tint(arg0, arg1); + } + + /** + * MEOS {@code always_lt_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_lt_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code always_lt_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_lt_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code always_lt_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_lt_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_lt_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_lt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code always_ne_bool_tbool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_bool_tbool(arg0, arg1); + } + + /** + * MEOS {@code always_ne_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code always_ne_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_int_tint(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tbool_bool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tbool_bool(arg0, arg1); + } + + /** + * MEOS {@code always_ne_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tint_int(arg0, arg1); + } + + /** + * MEOS {@code always_ne_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_bool_tbool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_bool_tbool(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_int_tint(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tbool_bool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tbool_bool(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tint_int(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ge_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ge_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_int_tint(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ge_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ge_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ge_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_tint_int(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ge_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_gt_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_gt_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_int_tint(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_gt_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_gt_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_gt_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_tint_int(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_gt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code ever_le_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_le_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code ever_le_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_le_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_int_tint(arg0, arg1); + } + + /** + * MEOS {@code ever_le_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_le_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code ever_le_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_le_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code ever_le_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_le_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_tint_int(arg0, arg1); + } + + /** + * MEOS {@code ever_le_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_le_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_lt_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_lt_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_int_tint(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_lt_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_lt_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_lt_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_tint_int(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_lt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_bool_tbool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_bool_tbool(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_float_tfloat} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_float_tfloat(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_int_tint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_int_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_int_tint(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tbool_bool} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tbool_bool(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_text_ttext} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_text_ttext(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_text_ttext requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_text_ttext(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tfloat_float} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tfloat_float(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tint_int} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tint_int requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tint_int(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_ttext_text} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_ttext_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_ttext_text(arg0, arg1); + } + + /** + * MEOS {@code adjacent_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean adjacent_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean adjacent_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code after_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean after_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code after_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean after_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code always_eq_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_eq_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code always_ge_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ge_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code always_gt_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_gt_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code always_le_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_le_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code always_lt_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_lt_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code always_ne_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ne_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code before_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean before_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code before_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean before_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code contained_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean contained_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code contained_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean contained_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code contains_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean contains_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code contains_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean contains_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_eq_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code ever_ge_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ge_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code ever_gt_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_gt_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code ever_le_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_le_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code ever_lt_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_lt_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ne_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code left_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean left_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code nad_tfloat_tfloat} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_tfloat_tfloat(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tfloat_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tfloat_tfloat(arg0, arg1); + } + + /** + * MEOS {@code nad_tint_tint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static int nad_tint_tint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tint_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tint_tint(arg0, arg1); + } + + /** + * MEOS {@code overafter_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overafter_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code overafter_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overafter_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overbefore_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overbefore_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overbefore_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overlaps_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overlaps_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overlaps_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overleft_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overleft_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code overright_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overright_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code right_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean right_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code same_temporal_temporal} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: same predicate on 2 temporals

+ */ + public static boolean same_temporal_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_temporal_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_temporal_temporal(arg0, arg1); + } + + /** + * MEOS {@code same_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: same predicate on 2 temporals

+ */ + public static boolean same_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tnumber_tnumber} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tnumber_tnumber(arg0, arg1); + } + + /** + * MEOS {@code bool_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static boolean bool_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bool_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bool_in(arg0); + } + + /** + * MEOS {@code bool_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String bool_out(boolean arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bool_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bool_out(arg0); + } + + /** + * MEOS {@code cstring2text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: string/CString conversion (low-level)

+ */ + public static jnr.ffi.Pointer cstring2text(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "cstring2text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.cstring2text(arg0); + } + + /** + * MEOS {@code float8_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String float8_out(double arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "float8_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.float8_out(arg0, arg1); + } + + /** + * MEOS {@code meos_array_add} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_array_add(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_add requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_array_add(arg0, arg1); + } + + /** + * MEOS {@code meos_array_count} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int meos_array_count(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_count requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_array_count(arg0); + } + + /** + * MEOS {@code meos_array_create} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer meos_array_create(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_create requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_array_create(arg0); + } + + /** + * MEOS {@code meos_array_destroy} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_array_destroy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_destroy requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_array_destroy(arg0); + } + + /** + * MEOS {@code meos_array_destroy_free} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_array_destroy_free(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_destroy_free requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_array_destroy_free(arg0); + } + + /** + * MEOS {@code meos_array_get} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer meos_array_get(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_get requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_array_get(arg0, arg1); + } + + /** + * MEOS {@code meos_array_reset} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_array_reset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_reset requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_array_reset(arg0); + } + + /** + * MEOS {@code meos_array_reset_free} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_array_reset_free(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_array_reset_free requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_array_reset_free(arg0); + } + + /** + * MEOS {@code meos_errno} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int meos_errno() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_errno requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_errno(); + } + + /** + * MEOS {@code meos_errno_reset} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int meos_errno_reset() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_errno_reset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_errno_reset(); + } + + /** + * MEOS {@code meos_errno_restore} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int meos_errno_restore(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_errno_restore requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_errno_restore(arg0); + } + + /** + * MEOS {@code meos_errno_set} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int meos_errno_set(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_errno_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_errno_set(arg0); + } + + /** + * MEOS {@code meos_error} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_error(int arg0, int arg1, java.lang.String arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_error requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_error(arg0, arg1, arg2); + } + + /** + * MEOS {@code meos_finalize} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_finalize() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_finalize requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_finalize(); + } + + /** + * MEOS {@code meos_finalize_projsrs} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_finalize_projsrs() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_finalize_projsrs requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_finalize_projsrs(); + } + + /** + * MEOS {@code meos_finalize_timezone} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_finalize_timezone() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_finalize_timezone requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_finalize_timezone(); + } + + /** + * MEOS {@code meos_finalize_ways} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_finalize_ways() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_finalize_ways requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_finalize_ways(); + } + + /** + * MEOS {@code meos_get_datestyle} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static java.lang.String meos_get_datestyle() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_get_datestyle requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_get_datestyle(); + } + + /** + * MEOS {@code meos_get_intervalstyle} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static java.lang.String meos_get_intervalstyle() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_get_intervalstyle requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_get_intervalstyle(); + } + + /** + * MEOS {@code meos_initialize} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_initialize() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_initialize requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_initialize(); + } + + /** + * MEOS {@code meos_initialize_error_handler} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_initialize_error_handler(functions.error_handler_fn arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_initialize_error_handler requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_initialize_error_handler(arg0); + } + + /** + * MEOS {@code meos_initialize_timezone} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_initialize_timezone(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_initialize_timezone requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_initialize_timezone(arg0); + } + + /** + * MEOS {@code meos_set_datestyle} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static boolean meos_set_datestyle(java.lang.String arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_set_datestyle requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_set_datestyle(arg0, arg1); + } + + /** + * MEOS {@code meos_set_intervalstyle} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static boolean meos_set_intervalstyle(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_set_intervalstyle requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.meos_set_intervalstyle(arg0, arg1); + } + + /** + * MEOS {@code meos_set_spatial_ref_sys_csv} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void meos_set_spatial_ref_sys_csv(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "meos_set_spatial_ref_sys_csv requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.meos_set_spatial_ref_sys_csv(arg0); + } + + /** + * MEOS {@code pg_date_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static int pg_date_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_date_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_date_in(arg0); + } + + /** + * MEOS {@code pg_date_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pg_date_out(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_date_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_date_out(arg0); + } + + /** + * MEOS {@code pg_interval_cmp} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: string/CString conversion (low-level)

+ */ + public static int pg_interval_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_interval_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_interval_cmp(arg0, arg1); + } + + /** + * MEOS {@code pg_interval_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer pg_interval_in(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_interval_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_interval_in(arg0, arg1); + } + + /** + * MEOS {@code pg_interval_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pg_interval_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_interval_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_interval_out(arg0); + } + + /** + * MEOS {@code pg_timestamp_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.time.LocalDateTime pg_timestamp_in(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_timestamp_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_timestamp_in(arg0, arg1); + } + + /** + * MEOS {@code pg_timestamp_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pg_timestamp_out(java.time.LocalDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_timestamp_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_timestamp_out(arg0); + } + + /** + * MEOS {@code pg_timestamptz_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.time.OffsetDateTime pg_timestamptz_in(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_timestamptz_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_timestamptz_in(arg0, arg1); + } + + /** + * MEOS {@code pg_timestamptz_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pg_timestamptz_out(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pg_timestamptz_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pg_timestamptz_out(arg0); + } + + /** + * MEOS {@code rtree_create_bigintspan} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_bigintspan() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_bigintspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_bigintspan(); + } + + /** + * MEOS {@code rtree_create_datespan} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_datespan() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_datespan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_datespan(); + } + + /** + * MEOS {@code rtree_create_floatspan} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_floatspan() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_floatspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_floatspan(); + } + + /** + * MEOS {@code rtree_create_intspan} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_intspan() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_intspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_intspan(); + } + + /** + * MEOS {@code rtree_create_stbox} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_stbox() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_stbox(); + } + + /** + * MEOS {@code rtree_create_tbox} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_tbox() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_tbox(); + } + + /** + * MEOS {@code rtree_create_tstzspan} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static jnr.ffi.Pointer rtree_create_tstzspan() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_create_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_create_tstzspan(); + } + + /** + * MEOS {@code rtree_free} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void rtree_free(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_free requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.rtree_free(arg0); + } + + /** + * MEOS {@code rtree_insert} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void rtree_insert(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_insert requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.rtree_insert(arg0, arg1, arg2); + } + + /** + * MEOS {@code rtree_insert_temporal} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static void rtree_insert_temporal(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_insert_temporal requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.rtree_insert_temporal(arg0, arg1, arg2); + } + + /** + * MEOS {@code rtree_search} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int rtree_search(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_search requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_search(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code rtree_search_temporal} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: MEOS infra / catalog / utility

+ */ + public static int rtree_search_temporal(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "rtree_search_temporal requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.rtree_search_temporal(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code text2cstring} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: string/CString conversion (low-level)

+ */ + public static java.lang.String text2cstring(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text2cstring requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text2cstring(arg0); + } + + /** + * MEOS {@code text_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer text_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_in(arg0); + } + + /** + * MEOS {@code text_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String text_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "text_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.text_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java new file mode 100644 index 000000000..fd60c6503 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java @@ -0,0 +1,3438 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_free.py — do not edit by hand. + * Source header: meos_geo.h + * Methods emitted: 262 (stateless=134 · bounded-state=57 · cross-stream=46 · io-meta=17 · windowed=8) + * Scope: MEOS public functions NOT classified into any object-model class + * (free functions, not methods on a class). + * Source: JMEOS PR #19 (functions.GeneratedFunctions) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFreeGeo { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreeGeo() { /* utility */ } + + /** + * MEOS {@code above_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean above_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "above_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.above_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code above_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean above_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "above_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.above_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code adjacent_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code adjacent_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean adjacent_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code after_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code after_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean after_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code back_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean back_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "back_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.back_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code back_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean back_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "back_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.back_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code bearing_point_point} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static jnr.ffi.Pointer bearing_point_point(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "bearing_point_point requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.bearing_point_point(arg0, arg1); + } + + /** + * MEOS {@code before_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code before_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean before_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code below_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean below_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "below_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.below_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code below_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean below_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "below_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.below_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code box3d_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer box3d_make(double arg0, double arg1, double arg2, double arg3, double arg4, double arg5, int arg6) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "box3d_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.box3d_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + * MEOS {@code box3d_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer box3d_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "box3d_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.box3d_to_stbox(arg0); + } + + /** + * MEOS {@code contained_geo_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_geo_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_geo_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_geo_set(arg0, arg1); + } + + /** + * MEOS {@code contained_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code contained_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contained_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code contains_set_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_geo(arg0, arg1); + } + + /** + * MEOS {@code contains_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code contains_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code front_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean front_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "front_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.front_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code front_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean front_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "front_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.front_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code gbox_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer gbox_make(boolean arg0, double arg1, double arg2, double arg3, double arg4, double arg5, double arg6) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "gbox_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.gbox_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + * MEOS {@code gbox_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer gbox_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "gbox_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.gbox_to_stbox(arg0); + } + + /** + * MEOS {@code geo_cluster_dbscan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_cluster_dbscan(jnr.ffi.Pointer arg0, int arg1, double arg2, int arg3, jnr.ffi.Pointer arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_cluster_dbscan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_cluster_dbscan(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code geo_cluster_intersecting} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_cluster_intersecting(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_cluster_intersecting requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_cluster_intersecting(arg0, arg1, arg2); + } + + /** + * MEOS {@code geo_cluster_kmeans} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_cluster_kmeans(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_cluster_kmeans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_cluster_kmeans(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code geo_cluster_within} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_cluster_within(jnr.ffi.Pointer arg0, int arg1, double arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_cluster_within requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_cluster_within(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code geo_collect_garray} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_collect_garray(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_collect_garray requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_collect_garray(arg0, arg1); + } + + /** + * MEOS {@code geo_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_copy(arg0); + } + + /** + * MEOS {@code geo_equals} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int geo_equals(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_equals requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_equals(arg0, arg1); + } + + /** + * MEOS {@code geo_geo_n} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static jnr.ffi.Pointer geo_geo_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_geo_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_geo_n(arg0, arg1); + } + + /** + * MEOS {@code geo_is_empty} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geo_is_empty(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_is_empty requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_is_empty(arg0); + } + + /** + * MEOS {@code geo_is_unitary} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geo_is_unitary(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_is_unitary requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_is_unitary(arg0); + } + + /** + * MEOS {@code geo_makeline_garray} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer geo_makeline_garray(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_makeline_garray requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_makeline_garray(arg0, arg1); + } + + /** + * MEOS {@code geo_num_geos} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static int geo_num_geos(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_num_geos requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_num_geos(arg0); + } + + /** + * MEOS {@code geo_num_points} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static int geo_num_points(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_num_points requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_num_points(arg0); + } + + /** + * MEOS {@code geo_pointarr} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_pointarr(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_pointarr requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_pointarr(arg0, arg1); + } + + /** + * MEOS {@code geo_points} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_points(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_points requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_points(arg0); + } + + /** + * MEOS {@code geo_reverse} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_reverse(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_reverse requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_reverse(arg0); + } + + /** + * MEOS {@code geo_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer geo_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_round(arg0, arg1); + } + + /** + * MEOS {@code geo_same} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geo_same(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_same requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_same(arg0, arg1); + } + + /** + * MEOS {@code geo_set_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_set_srid(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_set_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_set_srid(arg0, arg1); + } + + /** + * MEOS {@code geo_split_each_n_stboxes} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_split_each_n_stboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_split_each_n_stboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_split_each_n_stboxes(arg0, arg1, arg2); + } + + /** + * MEOS {@code geo_split_n_stboxes} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_split_n_stboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_split_n_stboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_split_n_stboxes(arg0, arg1, arg2); + } + + /** + * MEOS {@code geo_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static int geo_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_srid(arg0); + } + + /** + * MEOS {@code geo_stboxes} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_stboxes(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_stboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_stboxes(arg0, arg1); + } + + /** + * MEOS {@code geo_timestamptz_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer geo_timestamptz_to_stbox(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_timestamptz_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_timestamptz_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code geo_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer geo_to_set(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_to_set(arg0); + } + + /** + * MEOS {@code geo_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer geo_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_to_stbox(arg0); + } + + /** + * MEOS {@code geo_transform} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_transform(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_transform requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_transform(arg0, arg1); + } + + /** + * MEOS {@code geo_transform_pipeline} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_transform_pipeline(jnr.ffi.Pointer arg0, java.lang.String arg1, int arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_transform_pipeline requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_transform_pipeline(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code geo_tstzspan_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer geo_tstzspan_to_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_tstzspan_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_tstzspan_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code geo_typename} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static java.lang.String geo_typename(int arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_typename requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_typename(arg0); + } + + /** + * MEOS {@code geo_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code geog_area} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double geog_area(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_area requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_area(arg0, arg1); + } + + /** + * MEOS {@code geog_centroid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geog_centroid(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_centroid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_centroid(arg0, arg1); + } + + /** + * MEOS {@code geog_distance} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double geog_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_distance requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_distance(arg0, arg1); + } + + /** + * MEOS {@code geog_dwithin} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geog_dwithin(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_dwithin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_dwithin(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code geog_intersects} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geog_intersects(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_intersects requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_intersects(arg0, arg1, arg2); + } + + /** + * MEOS {@code geog_length} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static double geog_length(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_length(arg0, arg1); + } + + /** + * MEOS {@code geog_perimeter} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double geog_perimeter(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_perimeter requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_perimeter(arg0, arg1); + } + + /** + * MEOS {@code geog_to_geom} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer geog_to_geom(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_to_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_to_geom(arg0); + } + + /** + * MEOS {@code geom_array_union} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_array_union(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_array_union requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_array_union(arg0, arg1); + } + + /** + * MEOS {@code geom_azimuth} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_azimuth(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_azimuth requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_azimuth(arg0, arg1); + } + + /** + * MEOS {@code geom_boundary} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_boundary(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_boundary requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_boundary(arg0); + } + + /** + * MEOS {@code geom_buffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_buffer(jnr.ffi.Pointer arg0, double arg1, java.lang.String arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_buffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_buffer(arg0, arg1, arg2); + } + + /** + * MEOS {@code geom_centroid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_centroid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_centroid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_centroid(arg0); + } + + /** + * MEOS {@code geom_contains} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_contains(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_contains requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_contains(arg0, arg1); + } + + /** + * MEOS {@code geom_convex_hull} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_convex_hull(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_convex_hull requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_convex_hull(arg0); + } + + /** + * MEOS {@code geom_covers} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_covers(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_covers requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_covers(arg0, arg1); + } + + /** + * MEOS {@code geom_difference2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_difference2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_difference2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_difference2d(arg0, arg1); + } + + /** + * MEOS {@code geom_disjoint2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_disjoint2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_disjoint2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_disjoint2d(arg0, arg1); + } + + /** + * MEOS {@code geom_distance2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double geom_distance2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_distance2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_distance2d(arg0, arg1); + } + + /** + * MEOS {@code geom_distance3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double geom_distance3d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_distance3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_distance3d(arg0, arg1); + } + + /** + * MEOS {@code geom_dwithin2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_dwithin2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_dwithin2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_dwithin2d(arg0, arg1, arg2); + } + + /** + * MEOS {@code geom_dwithin3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_dwithin3d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_dwithin3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_dwithin3d(arg0, arg1, arg2); + } + + /** + * MEOS {@code geom_intersection2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_intersection2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_intersection2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_intersection2d(arg0, arg1); + } + + /** + * MEOS {@code geom_intersection2d_coll} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_intersection2d_coll(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_intersection2d_coll requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_intersection2d_coll(arg0, arg1); + } + + /** + * MEOS {@code geom_intersects2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_intersects2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_intersects2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_intersects2d(arg0, arg1); + } + + /** + * MEOS {@code geom_intersects3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_intersects3d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_intersects3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_intersects3d(arg0, arg1); + } + + /** + * MEOS {@code geom_length} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static double geom_length(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_length(arg0); + } + + /** + * MEOS {@code geom_min_bounding_radius} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_min_bounding_radius(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_min_bounding_radius requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_min_bounding_radius(arg0); + } + + /** + * MEOS {@code geom_perimeter} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double geom_perimeter(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_perimeter requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_perimeter(arg0); + } + + /** + * MEOS {@code geom_relate_pattern} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_relate_pattern(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.lang.String arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_relate_pattern requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_relate_pattern(arg0, arg1, arg2); + } + + /** + * MEOS {@code geom_shortestline2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_shortestline2d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_shortestline2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_shortestline2d(arg0, arg1); + } + + /** + * MEOS {@code geom_shortestline3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_shortestline3d(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_shortestline3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_shortestline3d(arg0, arg1); + } + + /** + * MEOS {@code geom_to_geog} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer geom_to_geog(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_to_geog requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_to_geog(arg0); + } + + /** + * MEOS {@code geom_touches} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean geom_touches(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_touches requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_touches(arg0, arg1); + } + + /** + * MEOS {@code geom_unary_union} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_unary_union(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_unary_union requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_unary_union(arg0, arg1); + } + + /** + * MEOS {@code intersection_geo_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_geo_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_geo_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_geo_set(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_geo(arg0, arg1); + } + + /** + * MEOS {@code intersection_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code left_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code left_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean left_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code line_numpoints} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int line_numpoints(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "line_numpoints requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.line_numpoints(arg0); + } + + /** + * MEOS {@code overabove_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overabove_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overabove_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overabove_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overabove_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overabove_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overabove_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overabove_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overafter_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overafter_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overafter_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overback_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overback_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overback_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overback_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overback_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overback_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overback_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overback_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overbefore_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overbefore_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbefore_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overbelow_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbelow_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbelow_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbelow_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overbelow_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overbelow_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbelow_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbelow_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overfront_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overfront_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overfront_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overfront_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overfront_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overfront_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overfront_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overfront_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overlaps_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overlaps_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overlaps_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overleft_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overleft_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overleft_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overright_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code overright_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean overright_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code right_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code right_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean right_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code same_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code same_stbox_tspatial} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_stbox_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_stbox_tspatial(arg0, arg1); + } + + /** + * MEOS {@code same_tspatial_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: same predicate (pure box equality)

+ */ + public static boolean same_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code spatialset_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int spatialset_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spatialset_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spatialset_srid(arg0); + } + + /** + * MEOS {@code spatialset_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer spatialset_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spatialset_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spatialset_to_stbox(arg0); + } + + /** + * MEOS {@code stboxarr_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer stboxarr_round(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stboxarr_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stboxarr_round(arg0, arg1, arg2); + } + + /** + * MEOS {@code teq_geo_tgeo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code teq_tgeo_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tgeoinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer tgeoinst_make(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeoinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeoinst_make(arg0, arg1); + } + + /** + * MEOS {@code timestamptz_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer timestamptz_to_stbox(java.time.OffsetDateTime arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "timestamptz_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.timestamptz_to_stbox(arg0); + } + + /** + * MEOS {@code tne_geo_tgeo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tne_tgeo_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tpointinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer tpointinst_make(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpointinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpointinst_make(arg0, arg1); + } + + /** + * MEOS {@code union_geo_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_geo_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_geo_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_geo_set(arg0, arg1); + } + + /** + * MEOS {@code union_set_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_geo(arg0, arg1); + } + + /** + * MEOS {@code union_stbox_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_stbox_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code above_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean above_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "above_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.above_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code acontains_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acontains_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code acontains_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int acontains_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code adisjoint_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int adisjoint_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adisjoint_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adisjoint_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean adjacent_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code adwithin_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int adwithin_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adwithin_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adwithin_tgeo_geo(arg0, arg1, arg2); + } + + /** + * MEOS {@code after_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean after_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code aintersects_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int aintersects_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "aintersects_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.aintersects_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code atouches_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int atouches_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "atouches_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.atouches_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code atouches_tpoint_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int atouches_tpoint_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "atouches_tpoint_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.atouches_tpoint_geo(arg0, arg1); + } + + /** + * MEOS {@code back_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean back_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "back_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.back_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code before_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean before_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code below_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean below_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "below_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.below_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code contained_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contained_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code contains_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean contains_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code econtains_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int econtains_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "econtains_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.econtains_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code econtains_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int econtains_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "econtains_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.econtains_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code ecovers_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int ecovers_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ecovers_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int ecovers_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code edisjoint_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int edisjoint_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edisjoint_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edisjoint_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code edwithin_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int edwithin_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edwithin_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edwithin_tgeo_geo(arg0, arg1, arg2); + } + + /** + * MEOS {@code eintersects_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int eintersects_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "eintersects_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.eintersects_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code etouches_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int etouches_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "etouches_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.etouches_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code etouches_tpoint_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 1 temporal

+ */ + public static int etouches_tpoint_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "etouches_tpoint_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.etouches_tpoint_geo(arg0, arg1); + } + + /** + * MEOS {@code front_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean front_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "front_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.front_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code left_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean left_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code minus_geo_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_geo_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_geo_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_geo_set(arg0, arg1); + } + + /** + * MEOS {@code minus_set_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_stbox_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_stbox_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_stbox_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_stbox_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_stbox_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_stbox_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_stbox_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_stbox_stbox(arg0, arg1); + } + + /** + * MEOS {@code nad_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_tgeo_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tgeo_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tgeo_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tgeo_stbox(arg0, arg1); + } + + /** + * MEOS {@code nai_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code overabove_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overabove_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overabove_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overabove_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overafter_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overafter_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overback_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overback_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overback_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overback_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overbefore_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overbelow_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overbelow_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbelow_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbelow_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overfront_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overfront_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overfront_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overfront_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overlaps_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overleft_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overleft_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code overright_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean overright_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code right_tspatial_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: topology/position rel on 1 temporal + scalar

+ */ + public static boolean right_tspatial_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tspatial_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tspatial_stbox(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tcontains_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcontains_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tcontains_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcontains_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tcovers_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcovers_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tcovers_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tcovers_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdisjoint_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdisjoint_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code tdwithin_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdwithin_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_geo_tgeo(arg0, arg1, arg2); + } + + /** + * MEOS {@code tdwithin_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tdwithin_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_tgeo_geo(arg0, arg1, arg2); + } + + /** + * MEOS {@code tintersects_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tintersects_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tintersects_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer tintersects_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code ttouches_geo_tgeo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer ttouches_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ttouches_tgeo_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 1 temporal

+ */ + public static jnr.ffi.Pointer ttouches_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code always_eq_geo_tgeo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tgeo_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code always_ne_geo_tgeo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tgeo_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_geo_tgeo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tgeo_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_geo_tgeo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_geo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tgeo_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tgeo_geo(arg0, arg1); + } + + /** + * MEOS {@code above_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean above_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "above_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.above_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code acontains_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int acontains_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "acontains_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.acontains_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code adisjoint_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int adisjoint_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adisjoint_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adisjoint_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code adjacent_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean adjacent_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adjacent_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adjacent_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code adwithin_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int adwithin_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "adwithin_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.adwithin_tgeo_tgeo(arg0, arg1, arg2); + } + + /** + * MEOS {@code after_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean after_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "after_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.after_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code aintersects_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int aintersects_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "aintersects_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.aintersects_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_eq_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ne_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code atouches_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int atouches_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "atouches_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.atouches_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code back_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean back_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "back_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.back_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code before_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean before_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "before_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.before_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code below_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean below_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "below_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.below_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code contained_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean contained_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code contains_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean contains_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code econtains_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int econtains_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "econtains_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.econtains_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ecovers_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int ecovers_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ecovers_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ecovers_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code edisjoint_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int edisjoint_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edisjoint_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edisjoint_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code edwithin_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int edwithin_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "edwithin_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.edwithin_tgeo_tgeo(arg0, arg1, arg2); + } + + /** + * MEOS {@code eintersects_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int eintersects_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "eintersects_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.eintersects_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code etouches_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always spatial-rel on 2 temporals

+ */ + public static int etouches_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "etouches_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.etouches_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_eq_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ne_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code front_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean front_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "front_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.front_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code left_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean left_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "left_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.left_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code nad_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code nai_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer nai_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code overabove_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overabove_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overabove_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overabove_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overafter_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overafter_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overafter_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overafter_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overback_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overback_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overback_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overback_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overbefore_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overbefore_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbefore_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbefore_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overbelow_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overbelow_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overbelow_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overbelow_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overfront_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overfront_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overfront_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overfront_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overlaps_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overlaps_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overlaps_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overlaps_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overleft_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overleft_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overleft_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overleft_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code overright_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean overright_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "overright_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.overright_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code right_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 temporals

+ */ + public static boolean right_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "right_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.right_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code same_tspatial_tspatial} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: same predicate on 2 temporals

+ */ + public static boolean same_tspatial_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "same_tspatial_tspatial requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.same_tspatial_tspatial(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer shortestline_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tcontains_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tcontains_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcontains_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcontains_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tcovers_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tcovers_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcovers_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcovers_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tdisjoint_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tdisjoint_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdisjoint_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdisjoint_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code tdwithin_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tdwithin_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdwithin_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdwithin_tgeo_tgeo(arg0, arg1, arg2); + } + + /** + * MEOS {@code tintersects_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer tintersects_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintersects_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintersects_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code ttouches_tgeo_tgeo} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: temporal spatial-rel lift on 2 temporals

+ */ + public static jnr.ffi.Pointer ttouches_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttouches_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttouches_tgeo_tgeo(arg0, arg1); + } + + /** + * MEOS {@code box3d_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String box3d_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "box3d_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.box3d_out(arg0, arg1); + } + + /** + * MEOS {@code gbox_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String gbox_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "gbox_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.gbox_out(arg0, arg1); + } + + /** + * MEOS {@code geo_as_ewkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: name has IO token

+ */ + public static jnr.ffi.Pointer geo_as_ewkb(jnr.ffi.Pointer arg0, java.lang.String arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_as_ewkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_as_ewkb(arg0, arg1, arg2); + } + + /** + * MEOS {@code geo_as_ewkt} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String geo_as_ewkt(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_as_ewkt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_as_ewkt(arg0, arg1); + } + + /** + * MEOS {@code geo_as_geojson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String geo_as_geojson(jnr.ffi.Pointer arg0, int arg1, int arg2, java.lang.String arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_as_geojson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_as_geojson(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code geo_as_hexewkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: name has IO token

+ */ + public static java.lang.String geo_as_hexewkb(jnr.ffi.Pointer arg0, java.lang.String arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_as_hexewkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_as_hexewkb(arg0, arg1); + } + + /** + * MEOS {@code geo_as_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String geo_as_text(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_as_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_as_text(arg0, arg1); + } + + /** + * MEOS {@code geo_from_ewkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: name has IO token

+ */ + public static jnr.ffi.Pointer geo_from_ewkb(jnr.ffi.Pointer arg0, long arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_from_ewkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_from_ewkb(arg0, arg1, arg2); + } + + /** + * MEOS {@code geo_from_geojson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer geo_from_geojson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_from_geojson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_from_geojson(arg0); + } + + /** + * MEOS {@code geo_from_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer geo_from_text(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_from_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_from_text(arg0, arg1); + } + + /** + * MEOS {@code geo_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String geo_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_out(arg0); + } + + /** + * MEOS {@code geog_from_hexewkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: name has IO token

+ */ + public static jnr.ffi.Pointer geog_from_hexewkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_from_hexewkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_from_hexewkb(arg0); + } + + /** + * MEOS {@code geog_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer geog_in(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geog_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geog_in(arg0, arg1); + } + + /** + * MEOS {@code geom_from_hexewkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: name has IO token

+ */ + public static jnr.ffi.Pointer geom_from_hexewkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_from_hexewkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_from_hexewkb(arg0); + } + + /** + * MEOS {@code geom_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer geom_in(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_in(arg0, arg1); + } + + /** + * MEOS {@code spatialset_as_ewkt} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String spatialset_as_ewkt(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spatialset_as_ewkt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spatialset_as_ewkt(arg0, arg1); + } + + /** + * MEOS {@code spatialset_as_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String spatialset_as_text(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spatialset_as_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spatialset_as_text(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeH3.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeH3.java new file mode 100644 index 000000000..02cddec3d --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeH3.java @@ -0,0 +1,265 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by tools/codegen/emit_h3_facade.py — do not edit by hand. + * H3 / th3index family facade over functions.GeneratedFunctions. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFreeH3 { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreeH3() { /* utility */ } + + /** MEOS {@code always_eq_h3index_th3index} — H3 / th3index family. */ + public static int always_eq_h3index_th3index(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_h3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_h3index_th3index(arg0, arg1); + } + + /** MEOS {@code always_eq_th3index_h3index} — H3 / th3index family. */ + public static int always_eq_th3index_h3index(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_th3index_h3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_th3index_h3index(arg0, arg1); + } + + /** MEOS {@code always_eq_th3index_th3index} — H3 / th3index family. */ + public static int always_eq_th3index_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_th3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_th3index_th3index(arg0, arg1); + } + + /** MEOS {@code always_ne_h3index_th3index} — H3 / th3index family. */ + public static int always_ne_h3index_th3index(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_h3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_h3index_th3index(arg0, arg1); + } + + /** MEOS {@code always_ne_th3index_h3index} — H3 / th3index family. */ + public static int always_ne_th3index_h3index(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_th3index_h3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_th3index_h3index(arg0, arg1); + } + + /** MEOS {@code always_ne_th3index_th3index} — H3 / th3index family. */ + public static int always_ne_th3index_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_th3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_th3index_th3index(arg0, arg1); + } + + /** MEOS {@code ever_eq_h3index_th3index} — H3 / th3index family. */ + public static int ever_eq_h3index_th3index(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_h3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_h3index_th3index(arg0, arg1); + } + + /** MEOS {@code ever_eq_h3indexset_th3index} — H3 / th3index family. */ + public static int ever_eq_h3indexset_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_h3indexset_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_h3indexset_th3index(arg0, arg1); + } + + /** MEOS {@code ever_eq_th3index_h3index} — H3 / th3index family. */ + public static int ever_eq_th3index_h3index(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_th3index_h3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_th3index_h3index(arg0, arg1); + } + + /** MEOS {@code ever_eq_th3index_th3index} — H3 / th3index family. */ + public static int ever_eq_th3index_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_th3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_th3index_th3index(arg0, arg1); + } + + /** MEOS {@code ever_ne_h3index_th3index} — H3 / th3index family. */ + public static int ever_ne_h3index_th3index(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_h3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_h3index_th3index(arg0, arg1); + } + + /** MEOS {@code ever_ne_th3index_h3index} — H3 / th3index family. */ + public static int ever_ne_th3index_h3index(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_th3index_h3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_th3index_h3index(arg0, arg1); + } + + /** MEOS {@code ever_ne_th3index_th3index} — H3 / th3index family. */ + public static int ever_ne_th3index_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_th3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_th3index_th3index(arg0, arg1); + } + + /** MEOS {@code geo_to_h3index_set} — H3 / th3index family. */ + public static jnr.ffi.Pointer geo_to_h3index_set(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_to_h3index_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_to_h3index_set(arg0, arg1); + } + + /** MEOS {@code h3_gs_point_to_cell} — H3 / th3index family. */ + public static long h3_gs_point_to_cell(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "h3_gs_point_to_cell requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.h3_gs_point_to_cell(arg0, arg1); + } + + /** MEOS {@code tbigint_to_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer tbigint_to_th3index(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_to_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_to_th3index(arg0); + } + + /** MEOS {@code teq_h3index_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer teq_h3index_th3index(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_h3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_h3index_th3index(arg0, arg1); + } + + /** MEOS {@code teq_th3index_h3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer teq_th3index_h3index(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_th3index_h3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_th3index_h3index(arg0, arg1); + } + + /** MEOS {@code teq_th3index_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer teq_th3index_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_th3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_th3index_th3index(arg0, arg1); + } + + /** MEOS {@code tgeogpoint_great_circle_distance} — H3 / th3index family. */ + public static jnr.ffi.Pointer tgeogpoint_great_circle_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.lang.String arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeogpoint_great_circle_distance requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeogpoint_great_circle_distance(arg0, arg1, arg2); + } + + /** MEOS {@code tgeogpoint_to_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer tgeogpoint_to_th3index(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeogpoint_to_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeogpoint_to_th3index(arg0, arg1); + } + + /** MEOS {@code tgeompoint_to_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer tgeompoint_to_th3index(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeompoint_to_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeompoint_to_th3index(arg0, arg1); + } + + /** MEOS {@code tne_h3index_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer tne_h3index_th3index(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_h3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_h3index_th3index(arg0, arg1); + } + + /** MEOS {@code tne_th3index_h3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer tne_th3index_h3index(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_th3index_h3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_th3index_h3index(arg0, arg1); + } + + /** MEOS {@code tne_th3index_th3index} — H3 / th3index family. */ + public static jnr.ffi.Pointer tne_th3index_th3index(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_th3index_th3index requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_th3index_th3index(arg0, arg1); + } +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java new file mode 100644 index 000000000..097a56762 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java @@ -0,0 +1,1098 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_free.py — do not edit by hand. + * Source header: meos_npoint.h + * Methods emitted: 82 (stateless=44 · bounded-state=11 · io-meta=10 · windowed=9 · cross-stream=8) + * Scope: MEOS public functions NOT classified into any object-model class + * (free functions, not methods on a class). + * Source: JMEOS PR #19 (functions.GeneratedFunctions) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFreeNpoint { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreeNpoint() { /* utility */ } + + /** + * MEOS {@code contained_npoint_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 scalars (box/span algebra)

+ */ + public static boolean contained_npoint_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_npoint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_npoint_set(arg0, arg1); + } + + /** + * MEOS {@code contains_set_npoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_npoint(arg0, arg1); + } + + /** + * MEOS {@code geom_to_nsegment} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geom_to_nsegment(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geom_to_nsegment requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geom_to_nsegment(arg0); + } + + /** + * MEOS {@code get_srid_ways} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int get_srid_ways() { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "get_srid_ways requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.get_srid_ways(); + } + + /** + * MEOS {@code intersection_set_npoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_npoint(arg0, arg1); + } + + /** + * MEOS {@code npoint_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int npoint_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_cmp(arg0, arg1); + } + + /** + * MEOS {@code npoint_eq} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean npoint_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_eq(arg0, arg1); + } + + /** + * MEOS {@code npoint_ge} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean npoint_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_ge(arg0, arg1); + } + + /** + * MEOS {@code npoint_gt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean npoint_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_gt(arg0, arg1); + } + + /** + * MEOS {@code npoint_hash} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int npoint_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_hash(arg0); + } + + /** + * MEOS {@code npoint_hash_extended} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static long npoint_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code npoint_le} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean npoint_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_le(arg0, arg1); + } + + /** + * MEOS {@code npoint_lt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean npoint_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_lt(arg0, arg1); + } + + /** + * MEOS {@code npoint_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer npoint_make(long arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_make(arg0, arg1); + } + + /** + * MEOS {@code npoint_ne} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean npoint_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_ne(arg0, arg1); + } + + /** + * MEOS {@code npoint_position} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double npoint_position(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_position requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_position(arg0); + } + + /** + * MEOS {@code npoint_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer npoint_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_round(arg0, arg1); + } + + /** + * MEOS {@code npoint_route} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static long npoint_route(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_route requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_route(arg0); + } + + /** + * MEOS {@code npoint_same} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean npoint_same(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_same requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_same(arg0, arg1); + } + + /** + * MEOS {@code npoint_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static int npoint_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_srid(arg0); + } + + /** + * MEOS {@code npoint_timestamptz_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer npoint_timestamptz_to_stbox(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_timestamptz_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_timestamptz_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code npoint_to_geompoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer npoint_to_geompoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_to_geompoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_to_geompoint(arg0); + } + + /** + * MEOS {@code npoint_to_nsegment} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer npoint_to_nsegment(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_to_nsegment requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_to_nsegment(arg0); + } + + /** + * MEOS {@code npoint_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer npoint_to_set(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_to_set(arg0); + } + + /** + * MEOS {@code npoint_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer npoint_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_to_stbox(arg0); + } + + /** + * MEOS {@code npoint_tstzspan_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer npoint_tstzspan_to_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_tstzspan_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_tstzspan_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code npoint_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer npoint_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code nsegment_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int nsegment_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_cmp(arg0, arg1); + } + + /** + * MEOS {@code nsegment_eq} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean nsegment_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_eq(arg0, arg1); + } + + /** + * MEOS {@code nsegment_ge} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean nsegment_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_ge(arg0, arg1); + } + + /** + * MEOS {@code nsegment_gt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean nsegment_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_gt(arg0, arg1); + } + + /** + * MEOS {@code nsegment_le} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean nsegment_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_le(arg0, arg1); + } + + /** + * MEOS {@code nsegment_lt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean nsegment_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_lt(arg0, arg1); + } + + /** + * MEOS {@code nsegment_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

+ */ + public static jnr.ffi.Pointer nsegment_make(long arg0, double arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_make(arg0, arg1, arg2); + } + + /** + * MEOS {@code nsegment_ne} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean nsegment_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_ne(arg0, arg1); + } + + /** + * MEOS {@code nsegment_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer nsegment_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_round(arg0, arg1); + } + + /** + * MEOS {@code nsegment_route} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static long nsegment_route(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_route requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_route(arg0); + } + + /** + * MEOS {@code nsegment_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static int nsegment_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_srid(arg0); + } + + /** + * MEOS {@code nsegment_to_geom} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer nsegment_to_geom(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_to_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_to_geom(arg0); + } + + /** + * MEOS {@code nsegment_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer nsegment_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_to_stbox(arg0); + } + + /** + * MEOS {@code route_exists} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar in/out (default-stateless catch-all)

+ */ + public static boolean route_exists(long arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "route_exists requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.route_exists(arg0); + } + + /** + * MEOS {@code teq_tnpoint_npoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code tne_tnpoint_npoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code union_set_npoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_npoint(arg0, arg1); + } + + /** + * MEOS {@code minus_npoint_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_npoint_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_npoint_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_npoint_set(arg0, arg1); + } + + /** + * MEOS {@code minus_set_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_npoint(arg0, arg1); + } + + /** + * MEOS {@code nad_tnpoint_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tnpoint_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tnpoint_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tnpoint_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_tnpoint_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code nad_tnpoint_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tnpoint_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tnpoint_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tnpoint_stbox(arg0, arg1); + } + + /** + * MEOS {@code nai_tnpoint_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tnpoint_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tnpoint_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tnpoint_geo(arg0, arg1); + } + + /** + * MEOS {@code nai_tnpoint_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tnpoint_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tnpoint_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tnpoint_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tnpoint_geo(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tnpoint_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tnpoint_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code always_eq_npoint_tnpoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_npoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_npoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_npoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tnpoint_npoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code always_ne_npoint_tnpoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_npoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_npoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_npoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tnpoint_npoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_npoint_tnpoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_npoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_npoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_npoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tnpoint_npoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_npoint_tnpoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_npoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_npoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_npoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tnpoint_npoint} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tnpoint_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tnpoint_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tnpoint_npoint(arg0, arg1); + } + + /** + * MEOS {@code route_length} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: sequence-derived metric

+ */ + public static double route_length(long arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "route_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.route_length(arg0); + } + + /** + * MEOS {@code always_eq_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_eq_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ne_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_eq_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ne_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code nad_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code nai_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer nai_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer shortestline_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tnpoint_tnpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_tnpoint_tnpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tnpoint_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tnpoint_tnpoint(arg0, arg1); + } + + /** + * MEOS {@code npoint_as_ewkt} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String npoint_as_ewkt(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_as_ewkt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_as_ewkt(arg0, arg1); + } + + /** + * MEOS {@code npoint_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String npoint_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_as_hexwkb(arg0, arg1); + } + + /** + * MEOS {@code npoint_as_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String npoint_as_text(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_as_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_as_text(arg0, arg1); + } + + /** + * MEOS {@code npoint_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer npoint_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code npoint_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer npoint_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_from_hexwkb(arg0); + } + + /** + * MEOS {@code npoint_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer npoint_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_from_wkb(arg0, arg1); + } + + /** + * MEOS {@code npoint_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer npoint_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_in(arg0); + } + + /** + * MEOS {@code npoint_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String npoint_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npoint_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npoint_out(arg0, arg1); + } + + /** + * MEOS {@code nsegment_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer nsegment_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_in(arg0); + } + + /** + * MEOS {@code nsegment_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String nsegment_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nsegment_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nsegment_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java new file mode 100644 index 000000000..62c54715d --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java @@ -0,0 +1,1020 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_free.py — do not edit by hand. + * Source header: meos_pose.h + * Methods emitted: 76 (stateless=38 · bounded-state=14 · io-meta=8 · cross-stream=8 · windowed=8) + * Scope: MEOS public functions NOT classified into any object-model class + * (free functions, not methods on a class). + * Source: JMEOS PR #19 (functions.GeneratedFunctions) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFreePose { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreePose() { /* utility */ } + + /** + * MEOS {@code contained_pose_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: topology/position rel on 2 scalars (box/span algebra)

+ */ + public static boolean contained_pose_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contained_pose_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contained_pose_set(arg0, arg1); + } + + /** + * MEOS {@code contains_set_pose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static boolean contains_set_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "contains_set_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.contains_set_pose(arg0, arg1); + } + + /** + * MEOS {@code intersection_set_pose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer intersection_set_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intersection_set_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intersection_set_pose(arg0, arg1); + } + + /** + * MEOS {@code pose_cmp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int pose_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_cmp(arg0, arg1); + } + + /** + * MEOS {@code pose_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_copy(arg0); + } + + /** + * MEOS {@code pose_eq} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean pose_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_eq(arg0, arg1); + } + + /** + * MEOS {@code pose_ge} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean pose_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_ge(arg0, arg1); + } + + /** + * MEOS {@code pose_gt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean pose_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_gt(arg0, arg1); + } + + /** + * MEOS {@code pose_hash} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static int pose_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_hash(arg0); + } + + /** + * MEOS {@code pose_hash_extended} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static long pose_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code pose_le} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean pose_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_le(arg0, arg1); + } + + /** + * MEOS {@code pose_lt} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean pose_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_lt(arg0, arg1); + } + + /** + * MEOS {@code pose_make_2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_make_2d(double arg0, double arg1, double arg2, int arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_make_2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_make_2d(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code pose_make_3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_make_3d(double arg0, double arg1, double arg2, double arg3, double arg4, double arg5, double arg6, int arg7) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_make_3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_make_3d(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** + * MEOS {@code pose_make_point2d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_make_point2d(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_make_point2d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_make_point2d(arg0, arg1); + } + + /** + * MEOS {@code pose_make_point3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_make_point3d(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, double arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_make_point3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_make_point3d(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code pose_ne} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: scalar comparison/hash

+ */ + public static boolean pose_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_ne(arg0, arg1); + } + + /** + * MEOS {@code pose_nsame} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean pose_nsame(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_nsame requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_nsame(arg0, arg1); + } + + /** + * MEOS {@code pose_orientation} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_orientation(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_orientation requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_orientation(arg0, arg1); + } + + /** + * MEOS {@code pose_rotation} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static double pose_rotation(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_rotation requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_rotation(arg0); + } + + /** + * MEOS {@code pose_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer pose_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_round(arg0, arg1); + } + + /** + * MEOS {@code pose_same} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static boolean pose_same(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_same requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_same(arg0, arg1); + } + + /** + * MEOS {@code pose_set_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static void pose_set_srid(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_set_srid requires libmeos — set -Dmeos.enabled=true"); + } + GeneratedFunctions.pose_set_srid(arg0, arg1); + } + + /** + * MEOS {@code pose_srid} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static int pose_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_srid(arg0); + } + + /** + * MEOS {@code pose_timestamptz_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer pose_timestamptz_to_stbox(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_timestamptz_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_timestamptz_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code pose_to_point} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_to_point(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_to_point requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_to_point(arg0); + } + + /** + * MEOS {@code pose_to_set} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer pose_to_set(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_to_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_to_set(arg0); + } + + /** + * MEOS {@code pose_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer pose_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_to_stbox(arg0); + } + + /** + * MEOS {@code pose_transform} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_transform(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_transform requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_transform(arg0, arg1); + } + + /** + * MEOS {@code pose_transform_pipeline} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_transform_pipeline(jnr.ffi.Pointer arg0, java.lang.String arg1, int arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_transform_pipeline requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_transform_pipeline(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code pose_tstzspan_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: name pattern is _to_

+ */ + public static jnr.ffi.Pointer pose_tstzspan_to_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_tstzspan_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_tstzspan_to_stbox(arg0, arg1); + } + + /** + * MEOS {@code pose_union_transfn} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer pose_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code posearr_round} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: transform/normalize (pure)

+ */ + public static jnr.ffi.Pointer posearr_round(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "posearr_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.posearr_round(arg0, arg1, arg2); + } + + /** + * MEOS {@code teq_pose_tpose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_pose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_pose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_pose_tpose(arg0, arg1); + } + + /** + * MEOS {@code teq_tpose_pose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code tne_pose_tpose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_pose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_pose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_pose_tpose(arg0, arg1); + } + + /** + * MEOS {@code tne_tpose_pose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code union_set_pose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: set/span/box algebra (pure)

+ */ + public static jnr.ffi.Pointer union_set_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "union_set_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.union_set_pose(arg0, arg1); + } + + /** + * MEOS {@code distance_pose_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_pose_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_pose_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_pose_geo(arg0, arg1); + } + + /** + * MEOS {@code distance_pose_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_pose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_pose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_pose_pose(arg0, arg1); + } + + /** + * MEOS {@code distance_pose_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double distance_pose_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "distance_pose_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.distance_pose_stbox(arg0, arg1); + } + + /** + * MEOS {@code minus_pose_set} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_pose_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_pose_set requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_pose_set(arg0, arg1); + } + + /** + * MEOS {@code minus_set_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: restriction name pattern

+ */ + public static jnr.ffi.Pointer minus_set_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "minus_set_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.minus_set_pose(arg0, arg1); + } + + /** + * MEOS {@code nad_tpose_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tpose_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tpose_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tpose_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_tpose_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code nad_tpose_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_tpose_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tpose_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tpose_stbox(arg0, arg1); + } + + /** + * MEOS {@code nai_tpose_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tpose_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tpose_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tpose_geo(arg0, arg1); + } + + /** + * MEOS {@code nai_tpose_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tpose_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tpose_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tpose_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tpose_geo(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tpose_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tpose_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code always_eq_pose_tpose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_pose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_pose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_pose_tpose(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tpose_pose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code always_ne_pose_tpose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_pose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_pose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_pose_tpose(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tpose_pose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_pose_tpose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_pose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_pose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_pose_tpose(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tpose_pose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_pose_tpose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_pose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_pose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_pose_tpose(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tpose_pose} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_tpose_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tpose_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tpose_pose(arg0, arg1); + } + + /** + * MEOS {@code always_eq_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_eq_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code always_ne_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ne_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_eq_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ne_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code nad_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code nai_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer nai_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code shortestline_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer shortestline_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code tdistance_tpose_tpose} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_tpose_tpose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_tpose_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_tpose_tpose(arg0, arg1); + } + + /** + * MEOS {@code pose_as_ewkt} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pose_as_ewkt(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_as_ewkt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_as_ewkt(arg0, arg1); + } + + /** + * MEOS {@code pose_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pose_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_as_hexwkb(arg0, arg1, arg2); + } + + /** + * MEOS {@code pose_as_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pose_as_text(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_as_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_as_text(arg0, arg1); + } + + /** + * MEOS {@code pose_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer pose_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code pose_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer pose_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_from_hexwkb(arg0); + } + + /** + * MEOS {@code pose_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer pose_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_from_wkb(arg0, arg1); + } + + /** + * MEOS {@code pose_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static jnr.ffi.Pointer pose_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_in(arg0); + } + + /** + * MEOS {@code pose_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Free function (not class-classified). Classification rule: IO/serialization

+ */ + public static java.lang.String pose_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "pose_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.pose_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeRgeo.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeRgeo.java new file mode 100644 index 000000000..6248e1ffb --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeRgeo.java @@ -0,0 +1,448 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_free.py — do not edit by hand. + * Source header: meos_rgeo.h + * Methods emitted: 31 (cross-stream=12 · windowed=8 · bounded-state=6 · stateless=5) + * Scope: MEOS public functions NOT classified into any object-model class + * (free functions, not methods on a class). + * Source: JMEOS PR #19 (functions.GeneratedFunctions) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsFreeRgeo { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsFreeRgeo() { /* utility */ } + + /** + * MEOS {@code geo_tpose_to_trgeometry} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: base-type fn, default pure

+ */ + public static jnr.ffi.Pointer geo_tpose_to_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geo_tpose_to_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geo_tpose_to_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code teq_geo_trgeometry} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_geo_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_geo_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code teq_trgeometry_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer teq_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "teq_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.teq_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code tne_geo_trgeometry} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_geo_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_geo_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code tne_trgeometry_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Free function (not class-classified). Classification rule: temporal comparison (per-instant)

+ */ + public static jnr.ffi.Pointer tne_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tne_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tne_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_stbox_trgeometry} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_stbox_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_stbox_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_stbox_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code nad_trgeometry_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code nad_trgeometry_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static double nad_trgeometry_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_trgeometry_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_trgeometry_stbox(arg0, arg1); + } + + /** + * MEOS {@code nai_trgeometry_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer nai_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code shortestline_trgeometry_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer shortestline_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code tdistance_trgeometry_geo} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Free function (not class-classified). Classification rule: distance op

+ */ + public static jnr.ffi.Pointer tdistance_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code always_eq_geo_trgeometry} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_geo_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_geo_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code always_eq_trgeometry_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_eq_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code always_ne_geo_trgeometry} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_geo_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_geo_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code always_ne_trgeometry_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int always_ne_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_geo_trgeometry} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_geo_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_geo_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_trgeometry_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_eq_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_geo_trgeometry} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_geo_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_geo_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_trgeometry_geo} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Free function (not class-classified). Classification rule: ever/always over 1 temporal

+ */ + public static int ever_ne_trgeometry_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_trgeometry_geo(arg0, arg1); + } + + /** + * MEOS {@code always_eq_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_eq_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code always_ne_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int always_ne_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code ever_eq_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_eq_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code ever_ne_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: ever/always over 2 temporals

+ */ + public static int ever_ne_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code nad_trgeometry_tpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_trgeometry_tpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_trgeometry_tpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_trgeometry_tpoint(arg0, arg1); + } + + /** + * MEOS {@code nad_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static double nad_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nad_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nad_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code nai_trgeometry_tpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer nai_trgeometry_tpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_trgeometry_tpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_trgeometry_tpoint(arg0, arg1); + } + + /** + * MEOS {@code nai_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer nai_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "nai_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.nai_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code shortestline_trgeometry_tpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer shortestline_trgeometry_tpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_trgeometry_tpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_trgeometry_tpoint(arg0, arg1); + } + + /** + * MEOS {@code shortestline_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer shortestline_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "shortestline_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.shortestline_trgeometry_trgeometry(arg0, arg1); + } + + /** + * MEOS {@code tdistance_trgeometry_tpoint} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_trgeometry_tpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_trgeometry_tpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_trgeometry_tpoint(arg0, arg1); + } + + /** + * MEOS {@code tdistance_trgeometry_trgeometry} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Free function (not class-classified). Classification rule: distance on 2 temporals

+ */ + public static jnr.ffi.Pointer tdistance_trgeometry_trgeometry(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tdistance_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tdistance_trgeometry_trgeometry(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeogSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeogSet.java new file mode 100644 index 000000000..b12da2bb5 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeogSet.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: GeogSet + * Methods emitted: 1 (io-meta=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsGeogSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsGeogSet() { /* utility */ } + + /** + * MEOS {@code geogset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer geogset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geogset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geogset_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeomSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeomSet.java new file mode 100644 index 000000000..2cd26704b --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsGeomSet.java @@ -0,0 +1,127 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: GeomSet + * Methods emitted: 6 (bounded-state=4 · io-meta=1 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsGeomSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsGeomSet() { /* utility */ } + + /** + * MEOS {@code geoset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer geoset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geoset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geoset_make(arg0, arg1); + } + + /** + * MEOS {@code geoset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer geoset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geoset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geoset_end_value(arg0); + } + + /** + * MEOS {@code geoset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer geoset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geoset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geoset_start_value(arg0); + } + + /** + * MEOS {@code geoset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer geoset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geoset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geoset_value_n(arg0, arg1); + } + + /** + * MEOS {@code geoset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer geoset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geoset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geoset_values(arg0, arg1); + } + + /** + * MEOS {@code geomset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer geomset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "geomset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.geomset_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSet.java new file mode 100644 index 000000000..1cb1e2326 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSet.java @@ -0,0 +1,169 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: IntSet + * Methods emitted: 9 (bounded-state=5 · io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsIntSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsIntSet() { /* utility */ } + + /** + * MEOS {@code intset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer intset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_make(arg0, arg1); + } + + /** + * MEOS {@code intset_to_floatset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer intset_to_floatset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_to_floatset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_to_floatset(arg0); + } + + /** + * MEOS {@code intset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_end_value(arg0); + } + + /** + * MEOS {@code intset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intset_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code intset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_start_value(arg0); + } + + /** + * MEOS {@code intset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_value_n(arg0, arg1); + } + + /** + * MEOS {@code intset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_values(arg0, arg1); + } + + /** + * MEOS {@code intset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer intset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_in(arg0); + } + + /** + * MEOS {@code intset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String intset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpan.java new file mode 100644 index 000000000..a63eacf1b --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpan.java @@ -0,0 +1,183 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: IntSpan + * Methods emitted: 10 (bounded-state=6 · io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsIntSpan { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsIntSpan() { /* utility */ } + + /** + * MEOS {@code intspan_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer intspan_make(int arg0, int arg1, boolean arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_make(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code intspan_to_floatspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer intspan_to_floatspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_to_floatspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_to_floatspan(arg0); + } + + /** + * MEOS {@code intspan_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intspan_bins(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code intspan_expand} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intspan_expand(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_expand(arg0, arg1); + } + + /** + * MEOS {@code intspan_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intspan_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_lower(arg0); + } + + /** + * MEOS {@code intspan_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intspan_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code intspan_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intspan_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_upper(arg0); + } + + /** + * MEOS {@code intspan_width} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intspan_width(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_width requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_width(arg0); + } + + /** + * MEOS {@code intspan_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer intspan_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_in(arg0); + } + + /** + * MEOS {@code intspan_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String intspan_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspan_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspan_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpanSet.java new file mode 100644 index 000000000..1690b1ef3 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsIntSpanSet.java @@ -0,0 +1,155 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: IntSpanSet + * Methods emitted: 8 (bounded-state=5 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsIntSpanSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsIntSpanSet() { /* utility */ } + + /** + * MEOS {@code intspanset_to_floatspanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer intspanset_to_floatspanset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_to_floatspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_to_floatspanset(arg0); + } + + /** + * MEOS {@code intspanset_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intspanset_bins(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code intspanset_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intspanset_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_lower(arg0); + } + + /** + * MEOS {@code intspanset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer intspanset_shift_scale(jnr.ffi.Pointer arg0, int arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code intspanset_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intspanset_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_upper(arg0); + } + + /** + * MEOS {@code intspanset_width} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int intspanset_width(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_width requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_width(arg0, arg1); + } + + /** + * MEOS {@code intspanset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer intspanset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_in(arg0); + } + + /** + * MEOS {@code intspanset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String intspanset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "intspanset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.intspanset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsNpointSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsNpointSet.java new file mode 100644 index 000000000..248da15b0 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsNpointSet.java @@ -0,0 +1,155 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: NpointSet + * Methods emitted: 8 (bounded-state=5 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsNpointSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsNpointSet() { /* utility */ } + + /** + * MEOS {@code npointset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer npointset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_make(arg0, arg1); + } + + /** + * MEOS {@code npointset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer npointset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_end_value(arg0); + } + + /** + * MEOS {@code npointset_routes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer npointset_routes(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_routes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_routes(arg0); + } + + /** + * MEOS {@code npointset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer npointset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_start_value(arg0); + } + + /** + * MEOS {@code npointset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer npointset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_value_n(arg0, arg1); + } + + /** + * MEOS {@code npointset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer npointset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_values(arg0, arg1); + } + + /** + * MEOS {@code npointset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer npointset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_in(arg0); + } + + /** + * MEOS {@code npointset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String npointset_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "npointset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.npointset_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java new file mode 100644 index 000000000..f74c2bb16 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java @@ -0,0 +1,1459 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/** + * Forwarding facade methods for MEOS public-surface functions not emitted + * by the tier-aware code generator. Each method delegates to its JMEOS + * {@code functions.GeneratedFunctions} export under the shared + * {@link MeosOpsRuntime#MEOS_AVAILABLE} guard. + */ +public final class MeosOpsParityGaps { + + private MeosOpsParityGaps() { /* utility */ } + + /** MEOS {@code acontains_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int acontains_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acontains_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acontains_geo_trgeo(arg0, arg1); + } + + /** MEOS {@code acovers_geo_tgeo} — meos_geo.h · scalar / stateless. */ + public static int acovers_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acovers_geo_tgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_geo_tgeo(arg0, arg1); + } + + /** MEOS {@code acovers_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int acovers_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acovers_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_geo_trgeo(arg0, arg1); + } + + /** MEOS {@code acovers_tcbuffer_tcbuffer} — meos_cbuffer.h · scalar / stateless. */ + public static int acovers_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acovers_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_tcbuffer_tcbuffer(arg0, arg1); + } + + /** MEOS {@code acovers_tgeo_geo} — meos_geo.h · scalar / stateless. */ + public static int acovers_tgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acovers_tgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_tgeo_geo(arg0, arg1); + } + + /** MEOS {@code acovers_tgeo_tgeo} — meos_geo.h · scalar / stateless. */ + public static int acovers_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acovers_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_tgeo_tgeo(arg0, arg1); + } + + /** MEOS {@code acovers_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int acovers_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("acovers_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code adisjoint_tgeoarr_tgeoarr} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer adisjoint_tgeoarr_tgeoarr(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3, jnr.ffi.Pointer arg4) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("adisjoint_tgeoarr_tgeoarr requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adisjoint_tgeoarr_tgeoarr(arg0, arg1, arg2, arg3, arg4); + } + + /** MEOS {@code adisjoint_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int adisjoint_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("adisjoint_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adisjoint_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code adisjoint_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int adisjoint_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("adisjoint_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adisjoint_trgeo_trgeo(arg0, arg1); + } + + /** MEOS {@code adwithin_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int adwithin_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("adwithin_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adwithin_trgeo_geo(arg0, arg1, arg2); + } + + /** MEOS {@code adwithin_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int adwithin_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("adwithin_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adwithin_trgeo_trgeo(arg0, arg1, arg2); + } + + /** MEOS {@code aintersects_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int aintersects_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("aintersects_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.aintersects_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code aintersects_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int aintersects_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("aintersects_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.aintersects_trgeo_trgeo(arg0, arg1); + } + + /** MEOS {@code atouches_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int atouches_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("atouches_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.atouches_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code bearing_tpoint_point} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer bearing_tpoint_point(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("bearing_tpoint_point requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.bearing_tpoint_point(arg0, arg1, arg2); + } + + /** MEOS {@code bearing_tpoint_tpoint} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer bearing_tpoint_tpoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("bearing_tpoint_tpoint requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.bearing_tpoint_tpoint(arg0, arg1); + } + + /** MEOS {@code bigintspan_to_floatspan} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer bigintspan_to_floatspan(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("bigintspan_to_floatspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.bigintspan_to_floatspan(arg0); + } + + /** MEOS {@code bigintspan_to_intspan} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer bigintspan_to_intspan(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("bigintspan_to_intspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.bigintspan_to_intspan(arg0); + } + + /** MEOS {@code econtains_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int econtains_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("econtains_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.econtains_geo_trgeo(arg0, arg1); + } + + /** MEOS {@code ecovers_geo_tcbuffer} — meos_cbuffer.h · scalar / stateless. */ + public static int ecovers_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ecovers_geo_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ecovers_geo_tcbuffer(arg0, arg1); + } + + /** MEOS {@code ecovers_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int ecovers_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ecovers_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ecovers_geo_trgeo(arg0, arg1); + } + + /** MEOS {@code ecovers_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int ecovers_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ecovers_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ecovers_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code edisjoint_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int edisjoint_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("edisjoint_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edisjoint_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code edisjoint_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int edisjoint_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("edisjoint_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edisjoint_trgeo_trgeo(arg0, arg1); + } + + /** MEOS {@code edwithin_tgeoarr_tgeoarr} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer edwithin_tgeoarr_tgeoarr(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3, double arg4, jnr.ffi.Pointer arg5) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("edwithin_tgeoarr_tgeoarr requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edwithin_tgeoarr_tgeoarr(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** MEOS {@code edwithin_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int edwithin_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("edwithin_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edwithin_trgeo_geo(arg0, arg1, arg2); + } + + /** MEOS {@code edwithin_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int edwithin_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("edwithin_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edwithin_trgeo_trgeo(arg0, arg1, arg2); + } + + /** MEOS {@code eintersects_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int eintersects_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("eintersects_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.eintersects_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code eintersects_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + public static int eintersects_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("eintersects_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.eintersects_trgeo_trgeo(arg0, arg1); + } + + /** MEOS {@code etouches_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + public static int etouches_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("etouches_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.etouches_trgeo_geo(arg0, arg1); + } + + /** MEOS {@code floatspan_to_bigintspan} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer floatspan_to_bigintspan(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("floatspan_to_bigintspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.floatspan_to_bigintspan(arg0); + } + + /** MEOS {@code geogpoint_make2d} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer geogpoint_make2d(int arg0, double arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("geogpoint_make2d requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.geogpoint_make2d(arg0, arg1, arg2); + } + + /** MEOS {@code geogpoint_make3dz} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer geogpoint_make3dz(int arg0, double arg1, double arg2, double arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("geogpoint_make3dz requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.geogpoint_make3dz(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code geomeas_to_tpoint} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer geomeas_to_tpoint(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("geomeas_to_tpoint requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.geomeas_to_tpoint(arg0); + } + + /** MEOS {@code geompoint_make2d} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer geompoint_make2d(int arg0, double arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("geompoint_make2d requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.geompoint_make2d(arg0, arg1, arg2); + } + + /** MEOS {@code geompoint_make3dz} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer geompoint_make3dz(int arg0, double arg1, double arg2, double arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("geompoint_make3dz requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.geompoint_make3dz(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code geompoint_to_npoint} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer geompoint_to_npoint(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("geompoint_to_npoint requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.geompoint_to_npoint(arg0); + } + + /** MEOS {@code intersection_cbuffer_set} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer intersection_cbuffer_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("intersection_cbuffer_set requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.intersection_cbuffer_set(arg0, arg1); + } + + /** MEOS {@code intersection_npoint_set} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer intersection_npoint_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("intersection_npoint_set requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.intersection_npoint_set(arg0, arg1); + } + + /** MEOS {@code intersection_pose_set} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer intersection_pose_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("intersection_pose_set requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.intersection_pose_set(arg0, arg1); + } + + /** MEOS {@code intspan_to_bigintspan} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer intspan_to_bigintspan(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("intspan_to_bigintspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.intspan_to_bigintspan(arg0); + } + + /** MEOS {@code line_interpolate_point} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer line_interpolate_point(jnr.ffi.Pointer arg0, double arg1, boolean arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("line_interpolate_point requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.line_interpolate_point(arg0, arg1, arg2); + } + + /** MEOS {@code line_locate_point} — meos_geo.h · scalar / stateless. */ + public static double line_locate_point(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("line_locate_point requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.line_locate_point(arg0, arg1); + } + + /** MEOS {@code line_point_n} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer line_point_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("line_point_n requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.line_point_n(arg0, arg1); + } + + /** MEOS {@code line_substring} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer line_substring(jnr.ffi.Pointer arg0, double arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("line_substring requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.line_substring(arg0, arg1, arg2); + } + + /** MEOS {@code meos_initialize_noexit_error_handler} — meos.h · scalar / stateless. */ + public static void meos_initialize_noexit_error_handler() { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_initialize_noexit_error_handler requires libmeos — set -Dmeos.enabled=true"); + functions.GeneratedFunctions.meos_initialize_noexit_error_handler(); + } + + /** MEOS {@code meos_initialize_pointcloud} — meos.h · scalar / stateless. */ + public static void meos_initialize_pointcloud() { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_initialize_pointcloud requires libmeos — set -Dmeos.enabled=true"); + functions.GeneratedFunctions.meos_initialize_pointcloud(); + } + + /** MEOS {@code meos_set_arrow_roundtrip} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_set_arrow_roundtrip(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_set_arrow_roundtrip requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_set_arrow_roundtrip(arg0); + } + + /** MEOS {@code meos_set_from_arrow} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_set_from_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_set_from_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_set_from_arrow(arg0, arg1); + } + + /** MEOS {@code meos_set_to_arrow} — meos.h · scalar / stateless. */ + public static boolean meos_set_to_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_set_to_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_set_to_arrow(arg0, arg1, arg2); + } + + /** MEOS {@code meos_set_ways_csv} — meos.h · scalar / stateless. */ + public static void meos_set_ways_csv(java.lang.String arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_set_ways_csv requires libmeos — set -Dmeos.enabled=true"); + functions.GeneratedFunctions.meos_set_ways_csv(arg0); + } + + /** MEOS {@code meos_span_arrow_roundtrip} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_span_arrow_roundtrip(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_span_arrow_roundtrip requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_span_arrow_roundtrip(arg0); + } + + /** MEOS {@code meos_span_from_arrow} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_span_from_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_span_from_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_span_from_arrow(arg0, arg1); + } + + /** MEOS {@code meos_span_to_arrow} — meos.h · scalar / stateless. */ + public static boolean meos_span_to_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_span_to_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_span_to_arrow(arg0, arg1, arg2); + } + + /** MEOS {@code meos_spanset_arrow_roundtrip} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_spanset_arrow_roundtrip(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_spanset_arrow_roundtrip requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_spanset_arrow_roundtrip(arg0); + } + + /** MEOS {@code meos_spanset_from_arrow} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_spanset_from_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_spanset_from_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_spanset_from_arrow(arg0, arg1); + } + + /** MEOS {@code meos_spanset_to_arrow} — meos.h · scalar / stateless. */ + public static boolean meos_spanset_to_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_spanset_to_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_spanset_to_arrow(arg0, arg1, arg2); + } + + /** MEOS {@code meos_stbox_arrow_roundtrip} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_stbox_arrow_roundtrip(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_stbox_arrow_roundtrip requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_stbox_arrow_roundtrip(arg0); + } + + /** MEOS {@code meos_stbox_from_arrow} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_stbox_from_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_stbox_from_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_stbox_from_arrow(arg0, arg1); + } + + /** MEOS {@code meos_stbox_to_arrow} — meos.h · scalar / stateless. */ + public static boolean meos_stbox_to_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_stbox_to_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_stbox_to_arrow(arg0, arg1, arg2); + } + + /** MEOS {@code meos_tbox_arrow_roundtrip} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_tbox_arrow_roundtrip(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_tbox_arrow_roundtrip requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_tbox_arrow_roundtrip(arg0); + } + + /** MEOS {@code meos_tbox_from_arrow} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_tbox_from_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_tbox_from_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_tbox_from_arrow(arg0, arg1); + } + + /** MEOS {@code meos_tbox_to_arrow} — meos.h · scalar / stateless. */ + public static boolean meos_tbox_to_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_tbox_to_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_tbox_to_arrow(arg0, arg1, arg2); + } + + /** MEOS {@code meos_temporal_arrow_roundtrip} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_temporal_arrow_roundtrip(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_temporal_arrow_roundtrip requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_temporal_arrow_roundtrip(arg0); + } + + /** MEOS {@code meos_temporal_from_arrow} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer meos_temporal_from_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_temporal_from_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_temporal_from_arrow(arg0, arg1); + } + + /** MEOS {@code meos_temporal_to_arrow} — meos.h · scalar / stateless. */ + public static boolean meos_temporal_to_arrow(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("meos_temporal_to_arrow requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.meos_temporal_to_arrow(arg0, arg1, arg2); + } + + /** MEOS {@code mindistance_tcbuffer_tcbuffer} — meos_cbuffer.h · scalar / stateless. */ + public static double mindistance_tcbuffer_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mindistance_tcbuffer_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mindistance_tcbuffer_tcbuffer(arg0, arg1, arg2); + } + + /** MEOS {@code mindistance_tgeo_tgeo} — meos_geo.h · scalar / stateless. */ + public static double mindistance_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mindistance_tgeo_tgeo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mindistance_tgeo_tgeo(arg0, arg1, arg2); + } + + /** MEOS {@code mindistance_tgeoarr_tgeoarr} — meos_geo.h · scalar / stateless. */ + public static double mindistance_tgeoarr_tgeoarr(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mindistance_tgeoarr_tgeoarr requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mindistance_tgeoarr_tgeoarr(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code mul_float_tfloat} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer mul_float_tfloat(double arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mul_float_tfloat requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mul_float_tfloat(arg0, arg1); + } + + /** MEOS {@code mul_int_tint} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer mul_int_tint(int arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mul_int_tint requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mul_int_tint(arg0, arg1); + } + + /** MEOS {@code mul_tfloat_float} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer mul_tfloat_float(jnr.ffi.Pointer arg0, double arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mul_tfloat_float requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mul_tfloat_float(arg0, arg1); + } + + /** MEOS {@code mul_tint_int} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer mul_tint_int(jnr.ffi.Pointer arg0, int arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mul_tint_int requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mul_tint_int(arg0, arg1); + } + + /** MEOS {@code mul_tnumber_tnumber} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer mul_tnumber_tnumber(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("mul_tnumber_tnumber requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.mul_tnumber_tnumber(arg0, arg1); + } + + /** MEOS {@code nsegment_end_position} — meos_npoint.h · scalar / stateless. */ + public static double nsegment_end_position(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("nsegment_end_position requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.nsegment_end_position(arg0); + } + + /** MEOS {@code nsegment_start_position} — meos_npoint.h · scalar / stateless. */ + public static double nsegment_start_position(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("nsegment_start_position requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.nsegment_start_position(arg0); + } + + /** MEOS {@code pose_angular_distance} — meos_pose.h · scalar / stateless. */ + public static double pose_angular_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_angular_distance requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_angular_distance(arg0, arg1); + } + + /** MEOS {@code pose_apply_geo} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer pose_apply_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_apply_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_apply_geo(arg0, arg1); + } + + /** MEOS {@code pose_as_geopose} — meos_pose.h · scalar / stateless. */ + public static java.lang.String pose_as_geopose(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_as_geopose requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_as_geopose(arg0, arg1, arg2); + } + + /** MEOS {@code pose_from_geopose} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer pose_from_geopose(java.lang.String arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_from_geopose requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_from_geopose(arg0); + } + + /** MEOS {@code pose_normalise} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer pose_normalise(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_normalise requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_normalise(arg0); + } + + /** MEOS {@code pose_pitch} — meos_pose.h · scalar / stateless. */ + public static double pose_pitch(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_pitch requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_pitch(arg0); + } + + /** MEOS {@code pose_roll} — meos_pose.h · scalar / stateless. */ + public static double pose_roll(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_roll requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_roll(arg0); + } + + /** MEOS {@code pose_yaw} — meos_pose.h · scalar / stateless. */ + public static double pose_yaw(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("pose_yaw requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_yaw(arg0); + } + + /** MEOS {@code route_geom} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer route_geom(long arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("route_geom requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.route_geom(arg0); + } + + /** MEOS {@code rtree_insert_temporal_split} — meos.h · scalar / stateless. */ + public static void rtree_insert_temporal_split(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, int arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("rtree_insert_temporal_split requires libmeos — set -Dmeos.enabled=true"); + functions.GeneratedFunctions.rtree_insert_temporal_split(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code rtree_search_temporal_dedup} — meos.h · scalar / stateless. */ + public static int rtree_search_temporal_dedup(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3, jnr.ffi.Pointer arg4) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("rtree_search_temporal_dedup requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.rtree_search_temporal_dedup(arg0, arg1, arg2, arg3, arg4); + } + + /** MEOS {@code spatialset_set_srid} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer spatialset_set_srid(jnr.ffi.Pointer arg0, int arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("spatialset_set_srid requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.spatialset_set_srid(arg0, arg1); + } + + /** MEOS {@code spatialset_transform} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer spatialset_transform(jnr.ffi.Pointer arg0, int arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("spatialset_transform requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.spatialset_transform(arg0, arg1); + } + + /** MEOS {@code spatialset_transform_pipeline} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer spatialset_transform_pipeline(jnr.ffi.Pointer arg0, java.lang.String arg1, int arg2, boolean arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("spatialset_transform_pipeline requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.spatialset_transform_pipeline(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code super_union_span_span} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer super_union_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("super_union_span_span requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.super_union_span_span(arg0, arg1, arg2); + } + + /** MEOS {@code tand_bool_tbool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tand_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tand_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tand_bool_tbool(arg0, arg1); + } + + /** MEOS {@code tand_tbool_bool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tand_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tand_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tand_tbool_bool(arg0, arg1); + } + + /** MEOS {@code tand_tbool_tbool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tand_tbool_tbool(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tand_tbool_tbool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tand_tbool_tbool(arg0, arg1); + } + + /** MEOS {@code tbool_tand_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tbool_tand_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tbool_tand_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tbool_tand_combinefn(arg0, arg1); + } + + /** MEOS {@code tbool_tor_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tbool_tor_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tbool_tor_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tbool_tor_combinefn(arg0, arg1); + } + + /** MEOS {@code tboolseq_from_base_tstzset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tboolseq_from_base_tstzset(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tboolseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tboolseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tboolseq_from_base_tstzspan} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tboolseq_from_base_tstzspan(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tboolseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tboolseq_from_base_tstzspan(arg0, arg1); + } + + /** MEOS {@code tboolseqset_from_base_tstzspanset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tboolseqset_from_base_tstzspanset(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tboolseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tboolseqset_from_base_tstzspanset(arg0, arg1); + } + + /** MEOS {@code tbox_to_bigintspan} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tbox_to_bigintspan(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tbox_to_bigintspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tbox_to_bigintspan(arg0); + } + + /** MEOS {@code tcbuffer_convex_hull} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer tcbuffer_convex_hull(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_convex_hull requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_convex_hull(arg0); + } + + /** MEOS {@code tcbuffer_end_value} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer tcbuffer_end_value(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_end_value requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_end_value(arg0); + } + + /** MEOS {@code tcbuffer_from_base_temp} — meos_cbuffer.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tcbuffer_from_base_temp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_from_base_temp(arg0, arg1); + } + + /** MEOS {@code tcbuffer_start_value} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer tcbuffer_start_value(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_start_value requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_start_value(arg0); + } + + /** MEOS {@code tcbuffer_traversed_area} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer tcbuffer_traversed_area(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_traversed_area requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_traversed_area(arg0, arg1); + } + + /** MEOS {@code tcbuffer_value_at_timestamptz} — meos_cbuffer.h · scalar / stateless. */ + public static boolean tcbuffer_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_value_at_timestamptz(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code tcbuffer_value_n} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer tcbuffer_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_value_n requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_value_n(arg0, arg1); + } + + /** MEOS {@code tcbuffer_values} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer tcbuffer_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbuffer_values requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbuffer_values(arg0, arg1); + } + + /** MEOS {@code tcbufferinst_make} — meos_cbuffer.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tcbufferinst_make(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbufferinst_make requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbufferinst_make(arg0, arg1); + } + + /** MEOS {@code tcbufferseq_from_base_tstzset} — meos_cbuffer.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tcbufferseq_from_base_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbufferseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbufferseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tcbufferseq_from_base_tstzspan} — meos_cbuffer.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tcbufferseq_from_base_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbufferseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbufferseq_from_base_tstzspan(arg0, arg1, arg2); + } + + /** MEOS {@code tcbufferseqset_from_base_tstzspanset} — meos_cbuffer.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tcbufferseqset_from_base_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tcbufferseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tcbufferseqset_from_base_tstzspanset(arg0, arg1, arg2); + } + + /** MEOS {@code tdistance_tnpoint_geo} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer tdistance_tnpoint_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tdistance_tnpoint_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tdistance_tnpoint_geo(arg0, arg1); + } + + /** MEOS {@code tdistance_tpose_geo} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tdistance_tpose_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tdistance_tpose_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tdistance_tpose_geo(arg0, arg1); + } + + /** MEOS {@code tdwithin_tgeoarr_tgeoarr} — meos_geo.h · scalar / stateless. */ + public static jnr.ffi.Pointer tdwithin_tgeoarr_tgeoarr(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3, double arg4, jnr.ffi.Pointer arg5, jnr.ffi.Pointer arg6) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tdwithin_tgeoarr_tgeoarr requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tdwithin_tgeoarr_tgeoarr(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** MEOS {@code temporal_basetype_name} — meos.h · scalar / stateless. */ + public static java.lang.String temporal_basetype_name(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("temporal_basetype_name requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.temporal_basetype_name(arg0); + } + + /** MEOS {@code temporal_tcount_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer temporal_tcount_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("temporal_tcount_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.temporal_tcount_combinefn(arg0, arg1); + } + + /** MEOS {@code tfloat_tmax_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tfloat_tmax_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloat_tmax_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloat_tmax_combinefn(arg0, arg1); + } + + /** MEOS {@code tfloat_tmin_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tfloat_tmin_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloat_tmin_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloat_tmin_combinefn(arg0, arg1); + } + + /** MEOS {@code tfloat_tsum_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tfloat_tsum_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloat_tsum_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloat_tsum_combinefn(arg0, arg1); + } + + /** MEOS {@code tfloatbox_time_tiles} — meos.h · multidimensional tiling (windowed). */ + public static jnr.ffi.Pointer tfloatbox_time_tiles(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloatbox_time_tiles requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloatbox_time_tiles(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code tfloatbox_value_tiles} — meos.h · multidimensional tiling (windowed). */ + public static jnr.ffi.Pointer tfloatbox_value_tiles(jnr.ffi.Pointer arg0, double arg1, double arg2, jnr.ffi.Pointer arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloatbox_value_tiles requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloatbox_value_tiles(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code tfloatbox_value_time_tiles} — meos.h · multidimensional tiling (windowed). */ + public static jnr.ffi.Pointer tfloatbox_value_time_tiles(jnr.ffi.Pointer arg0, double arg1, jnr.ffi.Pointer arg2, double arg3, java.time.OffsetDateTime arg4, jnr.ffi.Pointer arg5) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloatbox_value_time_tiles requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloatbox_value_time_tiles(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** MEOS {@code tfloatseq_from_base_tstzset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tfloatseq_from_base_tstzset(double arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloatseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloatseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tfloatseq_from_base_tstzspan} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tfloatseq_from_base_tstzspan(double arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloatseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloatseq_from_base_tstzspan(arg0, arg1, arg2); + } + + /** MEOS {@code tfloatseqset_from_base_tstzspanset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tfloatseqset_from_base_tstzspanset(double arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tfloatseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tfloatseqset_from_base_tstzspanset(arg0, arg1, arg2); + } + + /** MEOS {@code tgeoseq_from_base_tstzset} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tgeoseq_from_base_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tgeoseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tgeoseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tgeoseq_from_base_tstzspan} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tgeoseq_from_base_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tgeoseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tgeoseq_from_base_tstzspan(arg0, arg1, arg2); + } + + /** MEOS {@code tgeoseqset_from_base_tstzspanset} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tgeoseqset_from_base_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tgeoseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tgeoseqset_from_base_tstzspanset(arg0, arg1, arg2); + } + + /** MEOS {@code tint_tmax_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tint_tmax_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tint_tmax_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tint_tmax_combinefn(arg0, arg1); + } + + /** MEOS {@code tint_tmin_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tint_tmin_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tint_tmin_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tint_tmin_combinefn(arg0, arg1); + } + + /** MEOS {@code tint_tsum_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tint_tsum_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tint_tsum_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tint_tsum_combinefn(arg0, arg1); + } + + /** MEOS {@code tintbox_time_tiles} — meos.h · multidimensional tiling (windowed). */ + public static jnr.ffi.Pointer tintbox_time_tiles(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tintbox_time_tiles requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tintbox_time_tiles(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code tintbox_value_tiles} — meos.h · multidimensional tiling (windowed). */ + public static jnr.ffi.Pointer tintbox_value_tiles(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tintbox_value_tiles requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tintbox_value_tiles(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code tintbox_value_time_tiles} — meos.h · multidimensional tiling (windowed). */ + public static jnr.ffi.Pointer tintbox_value_time_tiles(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3, java.time.OffsetDateTime arg4, jnr.ffi.Pointer arg5) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tintbox_value_time_tiles requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tintbox_value_time_tiles(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** MEOS {@code tintseq_from_base_tstzset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tintseq_from_base_tstzset(int arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tintseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tintseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tintseq_from_base_tstzspan} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tintseq_from_base_tstzspan(int arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tintseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tintseq_from_base_tstzspan(arg0, arg1); + } + + /** MEOS {@code tintseqset_from_base_tstzspanset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tintseqset_from_base_tstzspanset(int arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tintseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tintseqset_from_base_tstzspanset(arg0, arg1); + } + + /** MEOS {@code tnot_tbool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tnot_tbool(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnot_tbool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnot_tbool(arg0); + } + + /** MEOS {@code tnpoint_end_value} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer tnpoint_end_value(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpoint_end_value requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpoint_end_value(arg0); + } + + /** MEOS {@code tnpoint_from_base_temp} — meos_npoint.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tnpoint_from_base_temp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpoint_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpoint_from_base_temp(arg0, arg1); + } + + /** MEOS {@code tnpoint_start_value} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer tnpoint_start_value(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpoint_start_value requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpoint_start_value(arg0); + } + + /** MEOS {@code tnpoint_value_at_timestamptz} — meos_npoint.h · scalar / stateless. */ + public static boolean tnpoint_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpoint_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpoint_value_at_timestamptz(arg0, arg1, arg2, arg3); + } + + /** MEOS {@code tnpoint_value_n} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer tnpoint_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpoint_value_n requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpoint_value_n(arg0, arg1); + } + + /** MEOS {@code tnpoint_values} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer tnpoint_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpoint_values requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpoint_values(arg0, arg1); + } + + /** MEOS {@code tnpointseq_from_base_tstzset} — meos_npoint.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tnpointseq_from_base_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpointseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpointseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tnpointseq_from_base_tstzspan} — meos_npoint.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tnpointseq_from_base_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpointseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpointseq_from_base_tstzspan(arg0, arg1, arg2); + } + + /** MEOS {@code tnpointseqset_from_base_tstzspanset} — meos_npoint.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tnpointseqset_from_base_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnpointseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnpointseqset_from_base_tstzspanset(arg0, arg1, arg2); + } + + /** MEOS {@code tnumber_tavg_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tnumber_tavg_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tnumber_tavg_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tnumber_tavg_combinefn(arg0, arg1); + } + + /** MEOS {@code tor_bool_tbool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tor_bool_tbool(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tor_bool_tbool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tor_bool_tbool(arg0, arg1); + } + + /** MEOS {@code tor_tbool_bool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tor_tbool_bool(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tor_tbool_bool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tor_tbool_bool(arg0, arg1); + } + + /** MEOS {@code tor_tbool_tbool} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer tor_tbool_tbool(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tor_tbool_tbool requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tor_tbool_tbool(arg0, arg1); + } + + /** MEOS {@code tpointseq_from_base_tstzset} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tpointseq_from_base_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpointseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpointseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tpointseq_from_base_tstzspan} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tpointseq_from_base_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpointseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpointseq_from_base_tstzspan(arg0, arg1, arg2); + } + + /** MEOS {@code tpointseq_make_coords} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tpointseq_make_coords(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2, jnr.ffi.Pointer arg3, int arg4, int arg5, boolean arg6, boolean arg7, boolean arg8, int arg9, boolean arg10) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpointseq_make_coords requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpointseq_make_coords(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /** MEOS {@code tpointseqset_from_base_tstzspanset} — meos_geo.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tpointseqset_from_base_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpointseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpointseqset_from_base_tstzspanset(arg0, arg1, arg2); + } + + /** MEOS {@code tpose_angular_speed} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_angular_speed(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_angular_speed requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_angular_speed(arg0); + } + + /** MEOS {@code tpose_apply_geo} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_apply_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_apply_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_apply_geo(arg0, arg1); + } + + /** MEOS {@code tpose_as_geopose} — meos_pose.h · scalar / stateless. */ + public static java.lang.String tpose_as_geopose(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_as_geopose requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_as_geopose(arg0, arg1, arg2); + } + + /** MEOS {@code tpose_from_base_temp} — meos_pose.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tpose_from_base_temp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_from_base_temp(arg0, arg1); + } + + /** MEOS {@code tpose_from_geopose} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_from_geopose(java.lang.String arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_from_geopose requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_from_geopose(arg0); + } + + /** MEOS {@code tpose_from_mfjson} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_from_mfjson(java.lang.String arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_from_mfjson(arg0); + } + + /** MEOS {@code tpose_pitch} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_pitch(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_pitch requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_pitch(arg0); + } + + /** MEOS {@code tpose_roll} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_roll(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_roll requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_roll(arg0); + } + + /** MEOS {@code tpose_speed} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_speed(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_speed requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_speed(arg0); + } + + /** MEOS {@code tpose_yaw} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer tpose_yaw(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tpose_yaw requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tpose_yaw(arg0); + } + + /** MEOS {@code tposeinst_make} — meos_pose.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tposeinst_make(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tposeinst_make requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tposeinst_make(arg0, arg1); + } + + /** MEOS {@code tposeseq_from_base_tstzset} — meos_pose.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tposeseq_from_base_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tposeseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tposeseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tposeseq_from_base_tstzspan} — meos_pose.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tposeseq_from_base_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tposeseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tposeseq_from_base_tstzspan(arg0, arg1, arg2); + } + + /** MEOS {@code tposeseqset_from_base_tstzspanset} — meos_pose.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tposeseqset_from_base_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tposeseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tposeseqset_from_base_tstzspanset(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_at_geom} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_at_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_at_geom requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_at_geom(arg0, arg1); + } + + /** MEOS {@code trgeometry_at_stbox} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_at_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_at_stbox requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_at_stbox(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_body_point_trajectory} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_body_point_trajectory(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_body_point_trajectory requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_body_point_trajectory(arg0, arg1); + } + + /** MEOS {@code trgeometry_centroid} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_centroid(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_centroid requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_centroid(arg0); + } + + /** MEOS {@code trgeometry_convex_hull} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_convex_hull(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_convex_hull requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_convex_hull(arg0); + } + + /** MEOS {@code trgeometry_cumulative_length} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_cumulative_length(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_cumulative_length requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_cumulative_length(arg0); + } + + /** MEOS {@code trgeometry_dyntimewarp_distance} — meos_rgeo.h · scalar / stateless. */ + public static double trgeometry_dyntimewarp_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_dyntimewarp_distance requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_dyntimewarp_distance(arg0, arg1); + } + + /** MEOS {@code trgeometry_dyntimewarp_path} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_dyntimewarp_path(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_dyntimewarp_path requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_dyntimewarp_path(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_frechet_distance} — meos_rgeo.h · scalar / stateless. */ + public static double trgeometry_frechet_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_frechet_distance requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_frechet_distance(arg0, arg1); + } + + /** MEOS {@code trgeometry_frechet_path} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_frechet_path(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_frechet_path requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_frechet_path(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_hausdorff_distance} — meos_rgeo.h · scalar / stateless. */ + public static double trgeometry_hausdorff_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_hausdorff_distance requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_hausdorff_distance(arg0, arg1); + } + + /** MEOS {@code trgeometry_length} — meos_rgeo.h · scalar / stateless. */ + public static double trgeometry_length(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_length requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_length(arg0); + } + + /** MEOS {@code trgeometry_minus_geom} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_minus_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_minus_geom requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_minus_geom(arg0, arg1); + } + + /** MEOS {@code trgeometry_minus_stbox} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_minus_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_minus_stbox requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_minus_stbox(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_space_boxes} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_space_boxes(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, boolean arg5, boolean arg6, jnr.ffi.Pointer arg7) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_space_boxes requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_space_boxes(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** MEOS {@code trgeometry_space_time_boxes} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_space_time_boxes(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, jnr.ffi.Pointer arg5, java.time.OffsetDateTime arg6, boolean arg7, boolean arg8, jnr.ffi.Pointer arg9) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_space_time_boxes requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_space_time_boxes(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /** MEOS {@code trgeometry_speed} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_speed(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_speed requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_speed(arg0); + } + + /** MEOS {@code trgeometry_split_each_n_stboxes} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_split_each_n_stboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_split_each_n_stboxes requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_split_each_n_stboxes(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_split_n_stboxes} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_split_n_stboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_split_n_stboxes requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_split_n_stboxes(arg0, arg1, arg2); + } + + /** MEOS {@code trgeometry_stboxes} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_stboxes(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_stboxes requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_stboxes(arg0, arg1); + } + + /** MEOS {@code trgeometry_to_tgeometry} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_to_tgeometry(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_to_tgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_to_tgeometry(arg0); + } + + /** MEOS {@code trgeometry_twcentroid} — meos_rgeo.h · scalar / stateless. */ + public static jnr.ffi.Pointer trgeometry_twcentroid(jnr.ffi.Pointer arg0) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("trgeometry_twcentroid requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.trgeometry_twcentroid(arg0); + } + + /** MEOS {@code tsequence_make} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tsequence_make(jnr.ffi.Pointer arg0, int arg1, boolean arg2, boolean arg3, int arg4, boolean arg5) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tsequence_make requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tsequence_make(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** MEOS {@code tsequenceset_make} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer tsequenceset_make(jnr.ffi.Pointer arg0, int arg1, boolean arg2) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("tsequenceset_make requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.tsequenceset_make(arg0, arg1, arg2); + } + + /** MEOS {@code ttext_tmax_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer ttext_tmax_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ttext_tmax_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ttext_tmax_combinefn(arg0, arg1); + } + + /** MEOS {@code ttext_tmin_combinefn} — meos.h · scalar / stateless. */ + public static jnr.ffi.Pointer ttext_tmin_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ttext_tmin_combinefn requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ttext_tmin_combinefn(arg0, arg1); + } + + /** MEOS {@code ttextseq_from_base_tstzset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer ttextseq_from_base_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ttextseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ttextseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code ttextseq_from_base_tstzspan} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer ttextseq_from_base_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ttextseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ttextseq_from_base_tstzspan(arg0, arg1); + } + + /** MEOS {@code ttextseqset_from_base_tstzspanset} — meos.h · whole-sequence constructor — not a per-event op. */ + public static jnr.ffi.Pointer ttextseqset_from_base_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("ttextseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ttextseqset_from_base_tstzspanset(arg0, arg1); + } + + /** MEOS {@code union_cbuffer_set} — meos_cbuffer.h · scalar / stateless. */ + public static jnr.ffi.Pointer union_cbuffer_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("union_cbuffer_set requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.union_cbuffer_set(arg0, arg1); + } + + /** MEOS {@code union_npoint_set} — meos_npoint.h · scalar / stateless. */ + public static jnr.ffi.Pointer union_npoint_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("union_npoint_set requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.union_npoint_set(arg0, arg1); + } + + /** MEOS {@code union_pose_set} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer union_pose_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MeosOpsRuntime.MEOS_AVAILABLE) + throw new UnsupportedOperationException("union_pose_set requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.union_pose_set(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsPoseSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsPoseSet.java new file mode 100644 index 000000000..dfd4078f7 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsPoseSet.java @@ -0,0 +1,141 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: PoseSet + * Methods emitted: 7 (bounded-state=4 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsPoseSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsPoseSet() { /* utility */ } + + /** + * MEOS {@code poseset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer poseset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_make(arg0, arg1); + } + + /** + * MEOS {@code poseset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer poseset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_end_value(arg0); + } + + /** + * MEOS {@code poseset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer poseset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_start_value(arg0); + } + + /** + * MEOS {@code poseset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer poseset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_value_n(arg0, arg1); + } + + /** + * MEOS {@code poseset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer poseset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_values(arg0, arg1); + } + + /** + * MEOS {@code poseset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer poseset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_in(arg0); + } + + /** + * MEOS {@code poseset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String poseset_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "poseset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.poseset_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsRuntime.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsRuntime.java new file mode 100644 index 000000000..395a336de --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsRuntime.java @@ -0,0 +1,54 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +import functions.GeneratedFunctions; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * Shared runtime helper: owns the single MEOS_AVAILABLE static-init across + * all generated MeosOps* facades, so libmeos is probed exactly once per + * JVM rather than 82 times. */ +final class MeosOpsRuntime { + + static final boolean MEOS_AVAILABLE; + + static { + boolean enabled = Boolean.parseBoolean( + System.getProperty("meos.enabled", "true")); + boolean ok = false; + if (enabled) { + try { + GeneratedFunctions.meos_initialize(); + ok = true; + } catch (Throwable t) { + ok = false; + } + } + MEOS_AVAILABLE = ok; + } + + private MeosOpsRuntime() { /* utility */ } +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java new file mode 100644 index 000000000..4d9ac323c --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java @@ -0,0 +1,799 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: STBox + * Methods emitted: 54 (bounded-state=42 · io-meta=6 · stateless=6) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsSTBox { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsSTBox() { /* utility */ } + + /** + * MEOS {@code stbox_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer stbox_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_copy(arg0); + } + + /** + * MEOS {@code stbox_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer stbox_make(boolean arg0, boolean arg1, boolean arg2, int arg3, double arg4, double arg5, double arg6, double arg7, double arg8, double arg9, jnr.ffi.Pointer arg10) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /** + * MEOS {@code stbox_to_box3d} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer stbox_to_box3d(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_to_box3d requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_to_box3d(arg0); + } + + /** + * MEOS {@code stbox_to_gbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer stbox_to_gbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_to_gbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_to_gbox(arg0); + } + + /** + * MEOS {@code stbox_to_geo} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer stbox_to_geo(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_to_geo requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_to_geo(arg0); + } + + /** + * MEOS {@code stbox_to_tstzspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer stbox_to_tstzspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_to_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_to_tstzspan(arg0); + } + + /** + * MEOS {@code stbox_area} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double stbox_area(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_area requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_area(arg0, arg1); + } + + /** + * MEOS {@code stbox_cmp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static int stbox_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_cmp(arg0, arg1); + } + + /** + * MEOS {@code stbox_eq} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean stbox_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_eq(arg0, arg1); + } + + /** + * MEOS {@code stbox_expand_space} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_expand_space(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_expand_space requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_expand_space(arg0, arg1); + } + + /** + * MEOS {@code stbox_expand_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_expand_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_expand_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_expand_time(arg0, arg1); + } + + /** + * MEOS {@code stbox_ge} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean stbox_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_ge(arg0, arg1); + } + + /** + * MEOS {@code stbox_get_space} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_get_space(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_get_space requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_get_space(arg0); + } + + /** + * MEOS {@code stbox_get_space_tile} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_get_space_tile(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_get_space_tile requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_get_space_tile(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code stbox_get_space_time_tile} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_get_space_time_tile(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, double arg2, double arg3, double arg4, jnr.ffi.Pointer arg5, jnr.ffi.Pointer arg6, java.time.OffsetDateTime arg7) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_get_space_time_tile requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_get_space_time_tile(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** + * MEOS {@code stbox_get_time_tile} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_get_time_tile(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_get_time_tile requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_get_time_tile(arg0, arg1, arg2); + } + + /** + * MEOS {@code stbox_gt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean stbox_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_gt(arg0, arg1); + } + + /** + * MEOS {@code stbox_hash} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int stbox_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_hash(arg0); + } + + /** + * MEOS {@code stbox_hash_extended} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long stbox_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code stbox_hast} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean stbox_hast(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_hast requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_hast(arg0); + } + + /** + * MEOS {@code stbox_hasx} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean stbox_hasx(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_hasx requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_hasx(arg0); + } + + /** + * MEOS {@code stbox_hasz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean stbox_hasz(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_hasz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_hasz(arg0); + } + + /** + * MEOS {@code stbox_isgeodetic} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean stbox_isgeodetic(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_isgeodetic requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_isgeodetic(arg0); + } + + /** + * MEOS {@code stbox_le} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean stbox_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_le(arg0, arg1); + } + + /** + * MEOS {@code stbox_lt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean stbox_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_lt(arg0, arg1); + } + + /** + * MEOS {@code stbox_ne} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean stbox_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_ne(arg0, arg1); + } + + /** + * MEOS {@code stbox_perimeter} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double stbox_perimeter(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_perimeter requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_perimeter(arg0, arg1); + } + + /** + * MEOS {@code stbox_quad_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_quad_split(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_quad_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_quad_split(arg0, arg1); + } + + /** + * MEOS {@code stbox_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_round(arg0, arg1); + } + + /** + * MEOS {@code stbox_set_srid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_set_srid(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_set_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_set_srid(arg0, arg1); + } + + /** + * MEOS {@code stbox_shift_scale_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_shift_scale_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_shift_scale_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_shift_scale_time(arg0, arg1, arg2); + } + + /** + * MEOS {@code stbox_space_tiles} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_space_tiles(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, boolean arg5, jnr.ffi.Pointer arg6) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_space_tiles requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_space_tiles(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + * MEOS {@code stbox_space_time_tiles} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_space_time_tiles(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, jnr.ffi.Pointer arg5, java.time.OffsetDateTime arg6, boolean arg7, jnr.ffi.Pointer arg8) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_space_time_tiles requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_space_time_tiles(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /** + * MEOS {@code stbox_srid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int stbox_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_srid(arg0); + } + + /** + * MEOS {@code stbox_time_tiles} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_time_tiles(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, boolean arg3, jnr.ffi.Pointer arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_time_tiles requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_time_tiles(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code stbox_tmax} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_tmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_tmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_tmax(arg0); + } + + /** + * MEOS {@code stbox_tmax_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_tmax_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_tmax_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_tmax_inc(arg0); + } + + /** + * MEOS {@code stbox_tmin} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_tmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_tmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_tmin(arg0); + } + + /** + * MEOS {@code stbox_tmin_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_tmin_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_tmin_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_tmin_inc(arg0); + } + + /** + * MEOS {@code stbox_transform} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_transform(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_transform requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_transform(arg0, arg1); + } + + /** + * MEOS {@code stbox_transform_pipeline} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_transform_pipeline(jnr.ffi.Pointer arg0, java.lang.String arg1, int arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_transform_pipeline requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_transform_pipeline(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code stbox_volume} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double stbox_volume(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_volume requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_volume(arg0); + } + + /** + * MEOS {@code stbox_xmax} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_xmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_xmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_xmax(arg0); + } + + /** + * MEOS {@code stbox_xmin} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_xmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_xmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_xmin(arg0); + } + + /** + * MEOS {@code stbox_ymax} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_ymax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_ymax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_ymax(arg0); + } + + /** + * MEOS {@code stbox_ymin} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_ymin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_ymin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_ymin(arg0); + } + + /** + * MEOS {@code stbox_zmax} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_zmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_zmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_zmax(arg0); + } + + /** + * MEOS {@code stbox_zmin} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer stbox_zmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_zmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_zmin(arg0); + } + + /** + * MEOS {@code stbox_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String stbox_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_as_hexwkb(arg0, arg1, arg2); + } + + /** + * MEOS {@code stbox_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer stbox_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code stbox_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer stbox_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_from_hexwkb(arg0); + } + + /** + * MEOS {@code stbox_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer stbox_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_from_wkb(arg0, arg1); + } + + /** + * MEOS {@code stbox_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer stbox_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_in(arg0); + } + + /** + * MEOS {@code stbox_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String stbox_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "stbox_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.stbox_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java new file mode 100644 index 000000000..2e778fd7a --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java @@ -0,0 +1,393 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: Set + * Methods emitted: 25 (bounded-state=14 · io-meta=4 · stateless=4 · windowed=3) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsSet() { /* utility */ } + + /** + * MEOS {@code set_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer set_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_copy(arg0); + } + + /** + * MEOS {@code set_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer set_to_span(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_to_span(arg0); + } + + /** + * MEOS {@code set_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer set_to_spanset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_to_spanset(arg0); + } + + /** + * MEOS {@code set_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer set_to_tbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_to_tbox(arg0); + } + + /** + * MEOS {@code set_cmp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static int set_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_cmp(arg0, arg1); + } + + /** + * MEOS {@code set_eq} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean set_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_eq(arg0, arg1); + } + + /** + * MEOS {@code set_ge} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean set_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_ge(arg0, arg1); + } + + /** + * MEOS {@code set_gt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean set_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_gt(arg0, arg1); + } + + /** + * MEOS {@code set_hash} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int set_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_hash(arg0); + } + + /** + * MEOS {@code set_hash_extended} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long set_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code set_le} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean set_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_le(arg0, arg1); + } + + /** + * MEOS {@code set_lt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean set_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_lt(arg0, arg1); + } + + /** + * MEOS {@code set_ne} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean set_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_ne(arg0, arg1); + } + + /** + * MEOS {@code set_num_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int set_num_values(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_num_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_num_values(arg0); + } + + /** + * MEOS {@code set_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer set_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_round(arg0, arg1); + } + + /** + * MEOS {@code set_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer set_spans(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_spans(arg0, arg1); + } + + /** + * MEOS {@code set_split_each_n_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer set_split_each_n_spans(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_split_each_n_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_split_each_n_spans(arg0, arg1, arg2); + } + + /** + * MEOS {@code set_split_n_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer set_split_n_spans(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_split_n_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_split_n_spans(arg0, arg1, arg2); + } + + /** + * MEOS {@code set_extent_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer set_extent_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code set_union_finalfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer set_union_finalfn(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_union_finalfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_union_finalfn(arg0); + } + + /** + * MEOS {@code set_union_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer set_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code set_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String set_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_as_hexwkb(arg0, arg1); + } + + /** + * MEOS {@code set_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer set_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code set_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer set_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_from_hexwkb(arg0); + } + + /** + * MEOS {@code set_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer set_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "set_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.set_from_wkb(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java new file mode 100644 index 000000000..1092c8407 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java @@ -0,0 +1,323 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: Span + * Methods emitted: 20 (bounded-state=11 · io-meta=4 · stateless=3 · windowed=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsSpan { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsSpan() { /* utility */ } + + /** + * MEOS {@code span_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer span_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_copy(arg0); + } + + /** + * MEOS {@code span_to_spanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer span_to_spanset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_to_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_to_spanset(arg0); + } + + /** + * MEOS {@code span_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer span_to_tbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_to_tbox(arg0); + } + + /** + * MEOS {@code span_cmp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static int span_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_cmp(arg0, arg1); + } + + /** + * MEOS {@code span_eq} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean span_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_eq(arg0, arg1); + } + + /** + * MEOS {@code span_ge} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean span_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_ge(arg0, arg1); + } + + /** + * MEOS {@code span_gt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean span_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_gt(arg0, arg1); + } + + /** + * MEOS {@code span_hash} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int span_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_hash(arg0); + } + + /** + * MEOS {@code span_hash_extended} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long span_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code span_le} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean span_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_le(arg0, arg1); + } + + /** + * MEOS {@code span_lower_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean span_lower_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_lower_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_lower_inc(arg0); + } + + /** + * MEOS {@code span_lt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean span_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_lt(arg0, arg1); + } + + /** + * MEOS {@code span_ne} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean span_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_ne(arg0, arg1); + } + + /** + * MEOS {@code span_upper_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean span_upper_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_upper_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_upper_inc(arg0); + } + + /** + * MEOS {@code span_extent_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer span_extent_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code span_union_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer span_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code span_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String span_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_as_hexwkb(arg0, arg1); + } + + /** + * MEOS {@code span_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer span_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code span_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer span_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_from_hexwkb(arg0); + } + + /** + * MEOS {@code span_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer span_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "span_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.span_from_wkb(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java new file mode 100644 index 000000000..8c0c661cf --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java @@ -0,0 +1,463 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: SpanSet + * Methods emitted: 30 (bounded-state=20 · io-meta=4 · stateless=3 · windowed=3) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsSpanSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsSpanSet() { /* utility */ } + + /** + * MEOS {@code spanset_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer spanset_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_copy(arg0); + } + + /** + * MEOS {@code spanset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer spanset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_make(arg0, arg1); + } + + /** + * MEOS {@code spanset_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer spanset_to_tbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_to_tbox(arg0); + } + + /** + * MEOS {@code spanset_cmp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static int spanset_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_cmp(arg0, arg1); + } + + /** + * MEOS {@code spanset_end_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_end_span(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_end_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_end_span(arg0); + } + + /** + * MEOS {@code spanset_eq} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean spanset_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_eq(arg0, arg1); + } + + /** + * MEOS {@code spanset_ge} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean spanset_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_ge(arg0, arg1); + } + + /** + * MEOS {@code spanset_gt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean spanset_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_gt(arg0, arg1); + } + + /** + * MEOS {@code spanset_hash} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int spanset_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_hash(arg0); + } + + /** + * MEOS {@code spanset_hash_extended} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long spanset_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code spanset_le} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean spanset_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_le(arg0, arg1); + } + + /** + * MEOS {@code spanset_lower_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean spanset_lower_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_lower_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_lower_inc(arg0); + } + + /** + * MEOS {@code spanset_lt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean spanset_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_lt(arg0, arg1); + } + + /** + * MEOS {@code spanset_ne} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean spanset_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_ne(arg0, arg1); + } + + /** + * MEOS {@code spanset_num_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int spanset_num_spans(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_num_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_num_spans(arg0); + } + + /** + * MEOS {@code spanset_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_span(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_span(arg0); + } + + /** + * MEOS {@code spanset_span_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_span_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_span_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_span_n(arg0, arg1); + } + + /** + * MEOS {@code spanset_spanarr} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_spanarr(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_spanarr requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_spanarr(arg0, arg1); + } + + /** + * MEOS {@code spanset_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_spans(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_spans(arg0, arg1); + } + + /** + * MEOS {@code spanset_split_each_n_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_split_each_n_spans(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_split_each_n_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_split_each_n_spans(arg0, arg1, arg2); + } + + /** + * MEOS {@code spanset_split_n_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_split_n_spans(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_split_n_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_split_n_spans(arg0, arg1, arg2); + } + + /** + * MEOS {@code spanset_start_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer spanset_start_span(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_start_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_start_span(arg0); + } + + /** + * MEOS {@code spanset_upper_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean spanset_upper_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_upper_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_upper_inc(arg0); + } + + /** + * MEOS {@code spanset_extent_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer spanset_extent_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code spanset_union_finalfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer spanset_union_finalfn(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_union_finalfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_union_finalfn(arg0); + } + + /** + * MEOS {@code spanset_union_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer spanset_union_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_union_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_union_transfn(arg0, arg1); + } + + /** + * MEOS {@code spanset_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String spanset_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_as_hexwkb(arg0, arg1); + } + + /** + * MEOS {@code spanset_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer spanset_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code spanset_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer spanset_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_from_hexwkb(arg0); + } + + /** + * MEOS {@code spanset_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer spanset_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "spanset_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.spanset_from_wkb(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSqlSurface.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSqlSurface.java new file mode 100644 index 000000000..f883c015f --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSqlSurface.java @@ -0,0 +1,40 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/** + * Forwarding facade methods for MEOS functions that the MobilityDB SQL layer + * exposes as user functions but whose implementation lives in the internal headers + * ({@code meos_internal*.h}). JMEOS binds them; they are exposed here so the facade + * matches the SQL user surface as well as the public MEOS API. Each method delegates + * to its {@code functions.GeneratedFunctions} export under the + * {@link MeosOpsRuntime#MEOS_AVAILABLE} guard. + */ +public final class MeosOpsSqlSurface { + + private MeosOpsSqlSurface() { /* utility */ } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBigint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBigint.java new file mode 100644 index 000000000..f84235e4d --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBigint.java @@ -0,0 +1,535 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by tools/codegen/emit_tbigint_facade.py — do not edit by hand. + * tbigint temporal-type family facade over functions.GeneratedFunctions. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTBigint { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTBigint() { /* utility */ } + + /** MEOS {@code add_bigint_tbigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer add_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code add_tbigint_bigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer add_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "add_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.add_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code always_eq_bigint_tbigint} — tbigint temporal family. */ + public static int always_eq_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code always_eq_tbigint_bigint} — tbigint temporal family. */ + public static int always_eq_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_eq_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_eq_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code always_ge_bigint_tbigint} — tbigint temporal family. */ + public static int always_ge_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code always_ge_tbigint_bigint} — tbigint temporal family. */ + public static int always_ge_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ge_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ge_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code always_gt_bigint_tbigint} — tbigint temporal family. */ + public static int always_gt_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code always_gt_tbigint_bigint} — tbigint temporal family. */ + public static int always_gt_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_gt_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_gt_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code always_le_bigint_tbigint} — tbigint temporal family. */ + public static int always_le_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code always_le_tbigint_bigint} — tbigint temporal family. */ + public static int always_le_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_le_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_le_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code always_lt_bigint_tbigint} — tbigint temporal family. */ + public static int always_lt_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code always_lt_tbigint_bigint} — tbigint temporal family. */ + public static int always_lt_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_lt_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_lt_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code always_ne_bigint_tbigint} — tbigint temporal family. */ + public static int always_ne_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code always_ne_tbigint_bigint} — tbigint temporal family. */ + public static int always_ne_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "always_ne_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.always_ne_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code div_bigint_tbigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer div_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code div_tbigint_bigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer div_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "div_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.div_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code ever_eq_bigint_tbigint} — tbigint temporal family. */ + public static int ever_eq_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code ever_eq_tbigint_bigint} — tbigint temporal family. */ + public static int ever_eq_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_eq_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_eq_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code ever_ge_bigint_tbigint} — tbigint temporal family. */ + public static int ever_ge_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code ever_ge_tbigint_bigint} — tbigint temporal family. */ + public static int ever_ge_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ge_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ge_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code ever_gt_bigint_tbigint} — tbigint temporal family. */ + public static int ever_gt_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code ever_gt_tbigint_bigint} — tbigint temporal family. */ + public static int ever_gt_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_gt_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_gt_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code ever_le_bigint_tbigint} — tbigint temporal family. */ + public static int ever_le_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code ever_le_tbigint_bigint} — tbigint temporal family. */ + public static int ever_le_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_le_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_le_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code ever_lt_bigint_tbigint} — tbigint temporal family. */ + public static int ever_lt_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code ever_lt_tbigint_bigint} — tbigint temporal family. */ + public static int ever_lt_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_lt_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_lt_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code ever_ne_bigint_tbigint} — tbigint temporal family. */ + public static int ever_ne_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code ever_ne_tbigint_bigint} — tbigint temporal family. */ + public static int ever_ne_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ever_ne_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ever_ne_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code mul_bigint_tbigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer mul_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "mul_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.mul_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code mul_tbigint_bigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer mul_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "mul_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.mul_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code sub_bigint_tbigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer sub_bigint_tbigint(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_bigint_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_bigint_tbigint(arg0, arg1); + } + + /** MEOS {@code sub_tbigint_bigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer sub_tbigint_bigint(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "sub_tbigint_bigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.sub_tbigint_bigint(arg0, arg1); + } + + /** MEOS {@code tbigint_end_value} — tbigint temporal family. */ + public static long tbigint_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_end_value(arg0); + } + + /** MEOS {@code tbigint_from_base_temp} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_from_base_temp(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_from_base_temp(arg0, arg1); + } + + /** MEOS {@code tbigint_from_mfjson} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_from_mfjson(arg0); + } + + /** MEOS {@code tbigint_in} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_in(arg0); + } + + /** MEOS {@code tbigint_max_value} — tbigint temporal family. */ + public static long tbigint_max_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_max_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_max_value(arg0); + } + + /** MEOS {@code tbigint_min_value} — tbigint temporal family. */ + public static long tbigint_min_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_min_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_min_value(arg0); + } + + /** MEOS {@code tbigint_out} — tbigint temporal family. */ + public static java.lang.String tbigint_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_out(arg0); + } + + /** MEOS {@code tbigint_scale_value} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_scale_value(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_scale_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_scale_value(arg0, arg1); + } + + /** MEOS {@code tbigint_shift_scale_value} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_shift_scale_value(jnr.ffi.Pointer arg0, long arg1, long arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_shift_scale_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_shift_scale_value(arg0, arg1, arg2); + } + + /** MEOS {@code tbigint_shift_value} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_shift_value(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_shift_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_shift_value(arg0, arg1); + } + + /** MEOS {@code tbigint_start_value} — tbigint temporal family. */ + public static long tbigint_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_start_value(arg0); + } + + /** MEOS {@code tbigint_to_tfloat} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_to_tfloat(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_to_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_to_tfloat(arg0); + } + + /** MEOS {@code tbigint_to_tint} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_to_tint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_to_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_to_tint(arg0); + } + + /** MEOS {@code tbigint_value_n} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_value_n(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_value_n(arg0, arg1); + } + + /** MEOS {@code tbigint_values} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigint_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigint_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigint_values(arg0, arg1); + } + + /** MEOS {@code tbigintbox_expand} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigintbox_expand(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigintbox_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigintbox_expand(arg0, arg1); + } + + /** MEOS {@code tbigintbox_shift_scale} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigintbox_shift_scale(jnr.ffi.Pointer arg0, long arg1, long arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigintbox_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigintbox_shift_scale(arg0, arg1, arg2, arg3, arg4); + } + + /** MEOS {@code tbigintinst_make} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigintinst_make(long arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigintinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigintinst_make(arg0, arg1); + } + + /** MEOS {@code tbigintseq_from_base_tstzset} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigintseq_from_base_tstzset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigintseq_from_base_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigintseq_from_base_tstzset(arg0, arg1); + } + + /** MEOS {@code tbigintseq_from_base_tstzspan} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigintseq_from_base_tstzspan(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigintseq_from_base_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigintseq_from_base_tstzspan(arg0, arg1); + } + + /** MEOS {@code tbigintseqset_from_base_tstzspanset} — tbigint temporal family. */ + public static jnr.ffi.Pointer tbigintseqset_from_base_tstzspanset(long arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbigintseqset_from_base_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbigintseqset_from_base_tstzspanset(arg0, arg1); + } + + /** MEOS {@code tfloat_to_tbigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer tfloat_to_tbigint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_to_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_to_tbigint(arg0); + } + + /** MEOS {@code tint_to_tbigint} — tbigint temporal family. */ + public static jnr.ffi.Pointer tint_to_tbigint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_to_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_to_tbigint(arg0); + } +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java new file mode 100644 index 000000000..97b369ba1 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java @@ -0,0 +1,253 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TBool + * Methods emitted: 15 (bounded-state=8 · io-meta=3 · stateless=2 · windowed=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTBool { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTBool() { /* utility */ } + + /** + * MEOS {@code tbool_from_base_temp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tbool_from_base_temp(boolean arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_from_base_temp(arg0, arg1); + } + + /** + * MEOS {@code tbool_to_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tbool_to_tint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_to_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_to_tint(arg0); + } + + /** + * MEOS {@code tbool_at_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tbool_at_value(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_at_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_at_value(arg0, arg1); + } + + /** + * MEOS {@code tbool_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean tbool_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_end_value(arg0); + } + + /** + * MEOS {@code tbool_minus_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tbool_minus_value(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_minus_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_minus_value(arg0, arg1); + } + + /** + * MEOS {@code tbool_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean tbool_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_start_value(arg0); + } + + /** + * MEOS {@code tbool_value_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tbool_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_value_at_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code tbool_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbool_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_value_n(arg0, arg1); + } + + /** + * MEOS {@code tbool_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbool_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_values(arg0, arg1); + } + + /** + * MEOS {@code tbool_when_true} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbool_when_true(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_when_true requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_when_true(arg0); + } + + /** + * MEOS {@code tbool_tand_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tbool_tand_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_tand_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_tand_transfn(arg0, arg1); + } + + /** + * MEOS {@code tbool_tor_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tbool_tor_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_tor_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_tor_transfn(arg0, arg1); + } + + /** + * MEOS {@code tbool_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tbool_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_from_mfjson(arg0); + } + + /** + * MEOS {@code tbool_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tbool_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_in(arg0); + } + + /** + * MEOS {@code tbool_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tbool_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbool_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbool_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBoolInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBoolInst.java new file mode 100644 index 000000000..5e923e0fa --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBoolInst.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TBoolInst + * Methods emitted: 1 (stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTBoolInst { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTBoolInst() { /* utility */ } + + /** + * MEOS {@code tboolinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tboolinst_make(boolean arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tboolinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tboolinst_make(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java new file mode 100644 index 000000000..4408c72ff --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java @@ -0,0 +1,505 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TBox + * Methods emitted: 33 (bounded-state=22 · io-meta=6 · stateless=5) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTBox { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTBox() { /* utility */ } + + /** + * MEOS {@code tbox_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tbox_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_copy(arg0); + } + + /** + * MEOS {@code tbox_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tbox_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_make(arg0, arg1); + } + + /** + * MEOS {@code tbox_to_floatspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tbox_to_floatspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_to_floatspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_to_floatspan(arg0); + } + + /** + * MEOS {@code tbox_to_intspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tbox_to_intspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_to_intspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_to_intspan(arg0); + } + + /** + * MEOS {@code tbox_to_tstzspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tbox_to_tstzspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_to_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_to_tstzspan(arg0); + } + + /** + * MEOS {@code tbox_cmp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static int tbox_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_cmp(arg0, arg1); + } + + /** + * MEOS {@code tbox_eq} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean tbox_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_eq(arg0, arg1); + } + + /** + * MEOS {@code tbox_expand_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_expand_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_expand_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_expand_time(arg0, arg1); + } + + /** + * MEOS {@code tbox_ge} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean tbox_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_ge(arg0, arg1); + } + + /** + * MEOS {@code tbox_gt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean tbox_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_gt(arg0, arg1); + } + + /** + * MEOS {@code tbox_hash} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tbox_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_hash(arg0); + } + + /** + * MEOS {@code tbox_hash_extended} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long tbox_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_hash_extended requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_hash_extended(arg0, arg1); + } + + /** + * MEOS {@code tbox_hast} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean tbox_hast(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_hast requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_hast(arg0); + } + + /** + * MEOS {@code tbox_hasx} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean tbox_hasx(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_hasx requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_hasx(arg0); + } + + /** + * MEOS {@code tbox_le} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean tbox_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_le(arg0, arg1); + } + + /** + * MEOS {@code tbox_lt} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean tbox_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_lt(arg0, arg1); + } + + /** + * MEOS {@code tbox_ne} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 1 temporal

+ */ + public static boolean tbox_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_ne(arg0, arg1); + } + + /** + * MEOS {@code tbox_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_round(arg0, arg1); + } + + /** + * MEOS {@code tbox_shift_scale_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_shift_scale_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_shift_scale_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_shift_scale_time(arg0, arg1, arg2); + } + + /** + * MEOS {@code tbox_tmax} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_tmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_tmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_tmax(arg0); + } + + /** + * MEOS {@code tbox_tmax_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_tmax_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_tmax_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_tmax_inc(arg0); + } + + /** + * MEOS {@code tbox_tmin} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_tmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_tmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_tmin(arg0); + } + + /** + * MEOS {@code tbox_tmin_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_tmin_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_tmin_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_tmin_inc(arg0); + } + + /** + * MEOS {@code tbox_xmax} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_xmax(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_xmax requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_xmax(arg0); + } + + /** + * MEOS {@code tbox_xmax_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_xmax_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_xmax_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_xmax_inc(arg0); + } + + /** + * MEOS {@code tbox_xmin} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_xmin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_xmin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_xmin(arg0); + } + + /** + * MEOS {@code tbox_xmin_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tbox_xmin_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_xmin_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_xmin_inc(arg0); + } + + /** + * MEOS {@code tbox_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tbox_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_as_hexwkb(arg0, arg1, arg2); + } + + /** + * MEOS {@code tbox_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tbox_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code tbox_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tbox_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_from_hexwkb(arg0); + } + + /** + * MEOS {@code tbox_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tbox_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_from_wkb(arg0, arg1); + } + + /** + * MEOS {@code tbox_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tbox_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_in(arg0); + } + + /** + * MEOS {@code tbox_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tbox_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tbox_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tbox_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTCbuffer.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTCbuffer.java new file mode 100644 index 000000000..285490b0e --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTCbuffer.java @@ -0,0 +1,239 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TCbuffer + * Methods emitted: 15 (bounded-state=10 · stateless=3 · io-meta=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTCbuffer { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTCbuffer() { /* utility */ } + + /** + * MEOS {@code tcbuffer_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tcbuffer_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_make(arg0, arg1); + } + + /** + * MEOS {@code tcbuffer_to_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tcbuffer_to_tfloat(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_to_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_to_tfloat(arg0); + } + + /** + * MEOS {@code tcbuffer_to_tgeompoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tcbuffer_to_tgeompoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_to_tgeompoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_to_tgeompoint(arg0); + } + + /** + * MEOS {@code tcbuffer_at_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tcbuffer_at_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_at_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_at_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcbuffer_at_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tcbuffer_at_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_at_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_at_geom(arg0, arg1); + } + + /** + * MEOS {@code tcbuffer_at_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tcbuffer_at_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_at_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_at_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tcbuffer_expand} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tcbuffer_expand(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_expand(arg0, arg1); + } + + /** + * MEOS {@code tcbuffer_minus_cbuffer} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tcbuffer_minus_cbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_minus_cbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_minus_cbuffer(arg0, arg1); + } + + /** + * MEOS {@code tcbuffer_minus_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tcbuffer_minus_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_minus_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_minus_geom(arg0, arg1); + } + + /** + * MEOS {@code tcbuffer_minus_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tcbuffer_minus_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_minus_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_minus_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tcbuffer_points} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tcbuffer_points(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_points requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_points(arg0); + } + + /** + * MEOS {@code tcbuffer_radius} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tcbuffer_radius(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_radius requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_radius(arg0); + } + + /** + * MEOS {@code tcbuffer_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tcbuffer_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_from_mfjson(arg0); + } + + /** + * MEOS {@code tcbuffer_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tcbuffer_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tcbuffer_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tcbuffer_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java new file mode 100644 index 000000000..838bf00f2 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java @@ -0,0 +1,547 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TFloat + * Methods emitted: 37 (bounded-state=26 · windowed=6 · io-meta=3 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTFloat { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTFloat() { /* utility */ } + + /** + * MEOS {@code tfloat_from_base_temp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tfloat_from_base_temp(double arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_from_base_temp(arg0, arg1); + } + + /** + * MEOS {@code tfloat_to_tint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tfloat_to_tint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_to_tint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_to_tint(arg0); + } + + /** + * MEOS {@code tfloat_at_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tfloat_at_value(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_at_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_at_value(arg0, arg1); + } + + /** + * MEOS {@code tfloat_ceil} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_ceil(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_ceil requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_ceil(arg0); + } + + /** + * MEOS {@code tfloat_degrees} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_degrees(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_degrees requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_degrees(arg0, arg1); + } + + /** + * MEOS {@code tfloat_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tfloat_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_end_value(arg0); + } + + /** + * MEOS {@code tfloat_exp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_exp(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_exp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_exp(arg0); + } + + /** + * MEOS {@code tfloat_floor} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_floor(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_floor requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_floor(arg0); + } + + /** + * MEOS {@code tfloat_ln} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_ln(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_ln requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_ln(arg0); + } + + /** + * MEOS {@code tfloat_log10} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_log10(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_log10 requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_log10(arg0); + } + + /** + * MEOS {@code tfloat_max_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tfloat_max_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_max_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_max_value(arg0); + } + + /** + * MEOS {@code tfloat_min_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tfloat_min_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_min_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_min_value(arg0); + } + + /** + * MEOS {@code tfloat_minus_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tfloat_minus_value(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_minus_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_minus_value(arg0, arg1); + } + + /** + * MEOS {@code tfloat_radians} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_radians(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_radians requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_radians(arg0); + } + + /** + * MEOS {@code tfloat_scale_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_scale_value(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_scale_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_scale_value(arg0, arg1); + } + + /** + * MEOS {@code tfloat_shift_scale_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_shift_scale_value(jnr.ffi.Pointer arg0, double arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_shift_scale_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_shift_scale_value(arg0, arg1, arg2); + } + + /** + * MEOS {@code tfloat_shift_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_shift_value(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_shift_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_shift_value(arg0, arg1); + } + + /** + * MEOS {@code tfloat_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tfloat_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_start_value(arg0); + } + + /** + * MEOS {@code tfloat_time_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_time_boxes(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_time_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_time_boxes(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tfloat_value_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tfloat_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_at_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code tfloat_value_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_value_bins(jnr.ffi.Pointer arg0, double arg1, double arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tfloat_value_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_value_boxes(jnr.ffi.Pointer arg0, double arg1, double arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_boxes(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tfloat_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_n(arg0, arg1); + } + + /** + * MEOS {@code tfloat_value_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_value_split(jnr.ffi.Pointer arg0, double arg1, double arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_split(arg0, arg1, arg2); + } + + /** + * MEOS {@code tfloat_value_time_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_value_time_boxes(jnr.ffi.Pointer arg0, double arg1, jnr.ffi.Pointer arg2, double arg3, java.time.OffsetDateTime arg4, jnr.ffi.Pointer arg5) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_time_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_time_boxes(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** + * MEOS {@code tfloat_value_time_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_value_time_split(jnr.ffi.Pointer arg0, double arg1, jnr.ffi.Pointer arg2, double arg3, java.time.OffsetDateTime arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_value_time_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_value_time_split(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code tfloat_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tfloat_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_values(arg0, arg1); + } + + /** + * MEOS {@code tfloat_tmax_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tfloat_tmax_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_tmax_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_tmax_transfn(arg0, arg1); + } + + /** + * MEOS {@code tfloat_tmin_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tfloat_tmin_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_tmin_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_tmin_transfn(arg0, arg1); + } + + /** + * MEOS {@code tfloat_tsum_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tfloat_tsum_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_tsum_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_tsum_transfn(arg0, arg1); + } + + /** + * MEOS {@code tfloat_wmax_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tfloat_wmax_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_wmax_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_wmax_transfn(arg0, arg1, arg2); + } + + /** + * MEOS {@code tfloat_wmin_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tfloat_wmin_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_wmin_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_wmin_transfn(arg0, arg1, arg2); + } + + /** + * MEOS {@code tfloat_wsum_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tfloat_wsum_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_wsum_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_wsum_transfn(arg0, arg1, arg2); + } + + /** + * MEOS {@code tfloat_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tfloat_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_from_mfjson(arg0); + } + + /** + * MEOS {@code tfloat_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tfloat_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_in(arg0); + } + + /** + * MEOS {@code tfloat_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tfloat_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloat_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloat_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloatInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloatInst.java new file mode 100644 index 000000000..a7bcc4764 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloatInst.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TFloatInst + * Methods emitted: 1 (stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTFloatInst { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTFloatInst() { /* utility */ } + + /** + * MEOS {@code tfloatinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tfloatinst_make(double arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tfloatinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tfloatinst_make(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeo.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeo.java new file mode 100644 index 000000000..b110e322c --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeo.java @@ -0,0 +1,379 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TGeo + * Methods emitted: 24 (bounded-state=23 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTGeo { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTGeo() { /* utility */ } + + /** + * MEOS {@code tgeo_from_base_temp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tgeo_from_base_temp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_from_base_temp(arg0, arg1); + } + + /** + * MEOS {@code tgeo_affine} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_affine(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_affine requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_affine(arg0, arg1); + } + + /** + * MEOS {@code tgeo_at_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_at_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_at_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_at_geom(arg0, arg1); + } + + /** + * MEOS {@code tgeo_at_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_at_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_at_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_at_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tgeo_at_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_at_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_at_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_at_value(arg0, arg1); + } + + /** + * MEOS {@code tgeo_centroid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_centroid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_centroid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_centroid(arg0); + } + + /** + * MEOS {@code tgeo_convex_hull} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_convex_hull(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_convex_hull requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_convex_hull(arg0); + } + + /** + * MEOS {@code tgeo_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_end_value(arg0); + } + + /** + * MEOS {@code tgeo_minus_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_minus_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_minus_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_minus_geom(arg0, arg1); + } + + /** + * MEOS {@code tgeo_minus_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_minus_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_minus_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_minus_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tgeo_minus_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_minus_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_minus_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_minus_value(arg0, arg1); + } + + /** + * MEOS {@code tgeo_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_scale(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_scale(arg0, arg1, arg2); + } + + /** + * MEOS {@code tgeo_space_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_space_boxes(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, boolean arg5, boolean arg6, jnr.ffi.Pointer arg7) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_space_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_space_boxes(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /** + * MEOS {@code tgeo_space_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_space_split(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, boolean arg5, boolean arg6) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_space_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_space_split(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /** + * MEOS {@code tgeo_space_time_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_space_time_boxes(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, jnr.ffi.Pointer arg5, java.time.OffsetDateTime arg6, boolean arg7, boolean arg8, jnr.ffi.Pointer arg9) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_space_time_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_space_time_boxes(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /** + * MEOS {@code tgeo_space_time_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_space_time_split(jnr.ffi.Pointer arg0, double arg1, double arg2, double arg3, jnr.ffi.Pointer arg4, jnr.ffi.Pointer arg5, java.time.OffsetDateTime arg6, boolean arg7, boolean arg8) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_space_time_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_space_time_split(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /** + * MEOS {@code tgeo_split_each_n_stboxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_split_each_n_stboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_split_each_n_stboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_split_each_n_stboxes(arg0, arg1, arg2); + } + + /** + * MEOS {@code tgeo_split_n_stboxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_split_n_stboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_split_n_stboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_split_n_stboxes(arg0, arg1, arg2); + } + + /** + * MEOS {@code tgeo_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_start_value(arg0); + } + + /** + * MEOS {@code tgeo_stboxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_stboxes(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_stboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_stboxes(arg0, arg1); + } + + /** + * MEOS {@code tgeo_traversed_area} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_traversed_area(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_traversed_area requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_traversed_area(arg0, arg1); + } + + /** + * MEOS {@code tgeo_value_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tgeo_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_value_at_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code tgeo_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_value_n(arg0, arg1); + } + + /** + * MEOS {@code tgeo_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tgeo_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeo_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeo_values(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeogPoint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeogPoint.java new file mode 100644 index 000000000..49ef573e4 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeogPoint.java @@ -0,0 +1,85 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TGeogPoint + * Methods emitted: 3 (io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTGeogPoint { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTGeogPoint() { /* utility */ } + + /** + * MEOS {@code tgeogpoint_to_tgeography} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeogpoint_to_tgeography(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeogpoint_to_tgeography requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeogpoint_to_tgeography(arg0); + } + + /** + * MEOS {@code tgeogpoint_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeogpoint_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeogpoint_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeogpoint_from_mfjson(arg0); + } + + /** + * MEOS {@code tgeogpoint_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeogpoint_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeogpoint_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeogpoint_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeography.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeography.java new file mode 100644 index 000000000..d34333ee3 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeography.java @@ -0,0 +1,99 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TGeography + * Methods emitted: 4 (io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTGeography { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTGeography() { /* utility */ } + + /** + * MEOS {@code tgeography_to_tgeogpoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeography_to_tgeogpoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeography_to_tgeogpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeography_to_tgeogpoint(arg0); + } + + /** + * MEOS {@code tgeography_to_tgeometry} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeography_to_tgeometry(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeography_to_tgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeography_to_tgeometry(arg0); + } + + /** + * MEOS {@code tgeography_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeography_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeography_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeography_from_mfjson(arg0); + } + + /** + * MEOS {@code tgeography_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeography_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeography_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeography_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeomPoint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeomPoint.java new file mode 100644 index 000000000..2352507b2 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeomPoint.java @@ -0,0 +1,99 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TGeomPoint + * Methods emitted: 4 (io-meta=2 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTGeomPoint { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTGeomPoint() { /* utility */ } + + /** + * MEOS {@code tgeompoint_to_tgeometry} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeompoint_to_tgeometry(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeompoint_to_tgeometry requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeompoint_to_tgeometry(arg0); + } + + /** + * MEOS {@code tgeompoint_to_tnpoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeompoint_to_tnpoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeompoint_to_tnpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeompoint_to_tnpoint(arg0); + } + + /** + * MEOS {@code tgeompoint_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeompoint_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeompoint_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeompoint_from_mfjson(arg0); + } + + /** + * MEOS {@code tgeompoint_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeompoint_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeompoint_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeompoint_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeometry.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeometry.java new file mode 100644 index 000000000..f6bf8d57d --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTGeometry.java @@ -0,0 +1,113 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TGeometry + * Methods emitted: 5 (stateless=3 · io-meta=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTGeometry { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTGeometry() { /* utility */ } + + /** + * MEOS {@code tgeometry_to_tcbuffer} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeometry_to_tcbuffer(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeometry_to_tcbuffer requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeometry_to_tcbuffer(arg0); + } + + /** + * MEOS {@code tgeometry_to_tgeography} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeometry_to_tgeography(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeometry_to_tgeography requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeometry_to_tgeography(arg0); + } + + /** + * MEOS {@code tgeometry_to_tgeompoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tgeometry_to_tgeompoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeometry_to_tgeompoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeometry_to_tgeompoint(arg0); + } + + /** + * MEOS {@code tgeometry_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeometry_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeometry_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeometry_from_mfjson(arg0); + } + + /** + * MEOS {@code tgeometry_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tgeometry_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tgeometry_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tgeometry_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java new file mode 100644 index 000000000..ad843cb14 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java @@ -0,0 +1,449 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TInt + * Methods emitted: 29 (bounded-state=18 · windowed=6 · io-meta=3 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTInt { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTInt() { /* utility */ } + + /** + * MEOS {@code tint_from_base_temp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tint_from_base_temp(int arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_from_base_temp(arg0, arg1); + } + + /** + * MEOS {@code tint_to_tfloat} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tint_to_tfloat(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_to_tfloat requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_to_tfloat(arg0); + } + + /** + * MEOS {@code tint_at_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tint_at_value(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_at_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_at_value(arg0, arg1); + } + + /** + * MEOS {@code tint_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tint_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_end_value(arg0); + } + + /** + * MEOS {@code tint_max_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tint_max_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_max_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_max_value(arg0); + } + + /** + * MEOS {@code tint_min_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tint_min_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_min_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_min_value(arg0); + } + + /** + * MEOS {@code tint_minus_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tint_minus_value(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_minus_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_minus_value(arg0, arg1); + } + + /** + * MEOS {@code tint_scale_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_scale_value(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_scale_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_scale_value(arg0, arg1); + } + + /** + * MEOS {@code tint_shift_scale_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_shift_scale_value(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_shift_scale_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_shift_scale_value(arg0, arg1, arg2); + } + + /** + * MEOS {@code tint_shift_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_shift_value(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_shift_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_shift_value(arg0, arg1); + } + + /** + * MEOS {@code tint_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tint_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_start_value(arg0); + } + + /** + * MEOS {@code tint_time_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_time_boxes(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_time_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_time_boxes(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tint_value_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tint_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_at_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code tint_value_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_value_bins(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tint_value_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_value_boxes(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_boxes(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tint_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_n(arg0, arg1); + } + + /** + * MEOS {@code tint_value_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_value_split(jnr.ffi.Pointer arg0, int arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_split(arg0, arg1, arg2); + } + + /** + * MEOS {@code tint_value_time_boxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_value_time_boxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2, int arg3, java.time.OffsetDateTime arg4, jnr.ffi.Pointer arg5) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_time_boxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_time_boxes(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** + * MEOS {@code tint_value_time_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_value_time_split(jnr.ffi.Pointer arg0, long arg1, jnr.ffi.Pointer arg2, int arg3, java.time.OffsetDateTime arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_value_time_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_value_time_split(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code tint_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tint_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_values(arg0, arg1); + } + + /** + * MEOS {@code tint_tmax_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tint_tmax_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_tmax_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_tmax_transfn(arg0, arg1); + } + + /** + * MEOS {@code tint_tmin_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tint_tmin_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_tmin_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_tmin_transfn(arg0, arg1); + } + + /** + * MEOS {@code tint_tsum_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tint_tsum_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_tsum_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_tsum_transfn(arg0, arg1); + } + + /** + * MEOS {@code tint_wmax_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tint_wmax_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_wmax_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_wmax_transfn(arg0, arg1, arg2); + } + + /** + * MEOS {@code tint_wmin_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tint_wmin_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_wmin_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_wmin_transfn(arg0, arg1, arg2); + } + + /** + * MEOS {@code tint_wsum_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tint_wsum_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_wsum_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_wsum_transfn(arg0, arg1, arg2); + } + + /** + * MEOS {@code tint_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tint_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_from_mfjson(arg0); + } + + /** + * MEOS {@code tint_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tint_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_in(arg0); + } + + /** + * MEOS {@code tint_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tint_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tint_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tint_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTIntInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTIntInst.java new file mode 100644 index 000000000..02b96600c --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTIntInst.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TIntInst + * Methods emitted: 1 (stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTIntInst { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTIntInst() { /* utility */ } + + /** + * MEOS {@code tintinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tintinst_make(int arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tintinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tintinst_make(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpoint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpoint.java new file mode 100644 index 000000000..f20f405e6 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpoint.java @@ -0,0 +1,337 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TNpoint + * Methods emitted: 21 (bounded-state=16 · io-meta=3 · stateless=1 · windowed=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTNpoint { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTNpoint() { /* utility */ } + + /** + * MEOS {@code tnpoint_to_tgeompoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tnpoint_to_tgeompoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_to_tgeompoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_to_tgeompoint(arg0); + } + + /** + * MEOS {@code tnpoint_at_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_at_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_at_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_at_geom(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_at_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_at_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_at_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_at_npoint(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_at_npointset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_at_npointset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_at_npointset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_at_npointset(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_at_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_at_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_at_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_at_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tnpoint_cumulative_length} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnpoint_cumulative_length(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_cumulative_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_cumulative_length(arg0); + } + + /** + * MEOS {@code tnpoint_length} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tnpoint_length(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_length(arg0); + } + + /** + * MEOS {@code tnpoint_minus_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_minus_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_minus_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_minus_geom(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_minus_npoint} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_minus_npoint(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_minus_npoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_minus_npoint(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_minus_npointset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_minus_npointset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_minus_npointset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_minus_npointset(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_minus_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnpoint_minus_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_minus_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_minus_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tnpoint_positions} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnpoint_positions(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_positions requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_positions(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_route} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static long tnpoint_route(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_route requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_route(arg0); + } + + /** + * MEOS {@code tnpoint_routes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnpoint_routes(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_routes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_routes(arg0); + } + + /** + * MEOS {@code tnpoint_speed} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnpoint_speed(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_speed requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_speed(arg0); + } + + /** + * MEOS {@code tnpoint_trajectory} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnpoint_trajectory(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_trajectory requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_trajectory(arg0); + } + + /** + * MEOS {@code tnpoint_twcentroid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnpoint_twcentroid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_twcentroid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_twcentroid(arg0); + } + + /** + * MEOS {@code tnpoint_tcentroid_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tnpoint_tcentroid_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_tcentroid_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_tcentroid_transfn(arg0, arg1); + } + + /** + * MEOS {@code tnpoint_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tnpoint_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_from_mfjson(arg0); + } + + /** + * MEOS {@code tnpoint_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tnpoint_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_in(arg0); + } + + /** + * MEOS {@code tnpoint_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tnpoint_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpoint_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpoint_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpointInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpointInst.java new file mode 100644 index 000000000..225ca5171 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNpointInst.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TNpointInst + * Methods emitted: 1 (stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTNpointInst { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTNpointInst() { /* utility */ } + + /** + * MEOS {@code tnpointinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tnpointinst_make(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnpointinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnpointinst_make(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNumber.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNumber.java new file mode 100644 index 000000000..dd6279150 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTNumber.java @@ -0,0 +1,365 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TNumber + * Methods emitted: 23 (bounded-state=17 · windowed=4 · stateless=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTNumber { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTNumber() { /* utility */ } + + /** + * MEOS {@code tnumber_to_span} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tnumber_to_span(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_to_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_to_span(arg0); + } + + /** + * MEOS {@code tnumber_to_tbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tnumber_to_tbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_to_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_to_tbox(arg0); + } + + /** + * MEOS {@code tnumber_abs} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_abs(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_abs requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_abs(arg0); + } + + /** + * MEOS {@code tnumber_angular_difference} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_angular_difference(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_angular_difference requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_angular_difference(arg0); + } + + /** + * MEOS {@code tnumber_at_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnumber_at_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_at_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_at_span(arg0, arg1); + } + + /** + * MEOS {@code tnumber_at_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnumber_at_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_at_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_at_spanset(arg0, arg1); + } + + /** + * MEOS {@code tnumber_at_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnumber_at_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_at_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_at_tbox(arg0, arg1); + } + + /** + * MEOS {@code tnumber_avg_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tnumber_avg_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_avg_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_avg_value(arg0); + } + + /** + * MEOS {@code tnumber_delta_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_delta_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_delta_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_delta_value(arg0); + } + + /** + * MEOS {@code tnumber_integral} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tnumber_integral(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_integral requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_integral(arg0); + } + + /** + * MEOS {@code tnumber_minus_span} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnumber_minus_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_minus_span requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_minus_span(arg0, arg1); + } + + /** + * MEOS {@code tnumber_minus_spanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnumber_minus_spanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_minus_spanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_minus_spanset(arg0, arg1); + } + + /** + * MEOS {@code tnumber_minus_tbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tnumber_minus_tbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_minus_tbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_minus_tbox(arg0, arg1); + } + + /** + * MEOS {@code tnumber_split_each_n_tboxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_split_each_n_tboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_split_each_n_tboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_split_each_n_tboxes(arg0, arg1, arg2); + } + + /** + * MEOS {@code tnumber_split_n_tboxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_split_n_tboxes(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_split_n_tboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_split_n_tboxes(arg0, arg1, arg2); + } + + /** + * MEOS {@code tnumber_tboxes} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_tboxes(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_tboxes requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_tboxes(arg0, arg1); + } + + /** + * MEOS {@code tnumber_trend} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_trend(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_trend requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_trend(arg0); + } + + /** + * MEOS {@code tnumber_twavg} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tnumber_twavg(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_twavg requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_twavg(arg0); + } + + /** + * MEOS {@code tnumber_valuespans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tnumber_valuespans(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_valuespans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_valuespans(arg0); + } + + /** + * MEOS {@code tnumber_extent_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tnumber_extent_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code tnumber_tavg_finalfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tnumber_tavg_finalfn(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_tavg_finalfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_tavg_finalfn(arg0); + } + + /** + * MEOS {@code tnumber_tavg_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tnumber_tavg_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_tavg_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_tavg_transfn(arg0, arg1); + } + + /** + * MEOS {@code tnumber_wavg_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tnumber_wavg_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tnumber_wavg_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tnumber_wavg_transfn(arg0, arg1, arg2); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPoint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPoint.java new file mode 100644 index 000000000..fdacd7ea8 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPoint.java @@ -0,0 +1,379 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TPoint + * Methods emitted: 24 (bounded-state=20 · stateless=2 · windowed=2) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTPoint { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTPoint() { /* utility */ } + + /** + * MEOS {@code tpoint_from_base_temp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tpoint_from_base_temp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_from_base_temp(arg0, arg1); + } + + /** + * MEOS {@code tpoint_tfloat_to_geomeas} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tpoint_tfloat_to_geomeas(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_tfloat_to_geomeas requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_tfloat_to_geomeas(arg0, arg1, arg2); + } + + /** + * MEOS {@code tpoint_angular_difference} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_angular_difference(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_angular_difference requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_angular_difference(arg0); + } + + /** + * MEOS {@code tpoint_as_mvtgeom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_as_mvtgeom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, int arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_as_mvtgeom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_as_mvtgeom(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code tpoint_at_elevation} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpoint_at_elevation(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_at_elevation requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_at_elevation(arg0, arg1); + } + + /** + * MEOS {@code tpoint_at_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpoint_at_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_at_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_at_geom(arg0, arg1); + } + + /** + * MEOS {@code tpoint_at_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpoint_at_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_at_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_at_value(arg0, arg1); + } + + /** + * MEOS {@code tpoint_azimuth} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_azimuth(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_azimuth requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_azimuth(arg0); + } + + /** + * MEOS {@code tpoint_cumulative_length} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_cumulative_length(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_cumulative_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_cumulative_length(arg0); + } + + /** + * MEOS {@code tpoint_direction} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_direction(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_direction requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_direction(arg0); + } + + /** + * MEOS {@code tpoint_get_x} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_get_x(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_get_x requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_get_x(arg0); + } + + /** + * MEOS {@code tpoint_get_y} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_get_y(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_get_y requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_get_y(arg0); + } + + /** + * MEOS {@code tpoint_get_z} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_get_z(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_get_z requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_get_z(arg0); + } + + /** + * MEOS {@code tpoint_is_simple} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean tpoint_is_simple(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_is_simple requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_is_simple(arg0); + } + + /** + * MEOS {@code tpoint_length} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double tpoint_length(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_length(arg0); + } + + /** + * MEOS {@code tpoint_make_simple} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_make_simple(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_make_simple requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_make_simple(arg0, arg1); + } + + /** + * MEOS {@code tpoint_minus_elevation} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpoint_minus_elevation(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_minus_elevation requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_minus_elevation(arg0, arg1); + } + + /** + * MEOS {@code tpoint_minus_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpoint_minus_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_minus_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_minus_geom(arg0, arg1); + } + + /** + * MEOS {@code tpoint_minus_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpoint_minus_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_minus_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_minus_value(arg0, arg1); + } + + /** + * MEOS {@code tpoint_speed} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_speed(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_speed requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_speed(arg0); + } + + /** + * MEOS {@code tpoint_trajectory} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_trajectory(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_trajectory requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_trajectory(arg0, arg1); + } + + /** + * MEOS {@code tpoint_twcentroid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpoint_twcentroid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_twcentroid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_twcentroid(arg0); + } + + /** + * MEOS {@code tpoint_tcentroid_finalfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tpoint_tcentroid_finalfn(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_tcentroid_finalfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_tcentroid_finalfn(arg0); + } + + /** + * MEOS {@code tpoint_tcentroid_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tpoint_tcentroid_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpoint_tcentroid_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpoint_tcentroid_transfn(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPose.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPose.java new file mode 100644 index 000000000..b3309ec80 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTPose.java @@ -0,0 +1,281 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TPose + * Methods emitted: 17 (bounded-state=14 · stateless=2 · io-meta=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTPose { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTPose() { /* utility */ } + + /** + * MEOS {@code tpose_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tpose_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_make(arg0, arg1); + } + + /** + * MEOS {@code tpose_to_tpoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tpose_to_tpoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_to_tpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_to_tpoint(arg0); + } + + /** + * MEOS {@code tpose_at_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_at_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_at_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_at_geom(arg0, arg1); + } + + /** + * MEOS {@code tpose_at_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_at_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_at_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_at_pose(arg0, arg1); + } + + /** + * MEOS {@code tpose_at_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_at_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_at_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_at_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tpose_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_end_value(arg0); + } + + /** + * MEOS {@code tpose_minus_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_minus_geom(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_minus_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_minus_geom(arg0, arg1); + } + + /** + * MEOS {@code tpose_minus_pose} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_minus_pose(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_minus_pose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_minus_pose(arg0, arg1); + } + + /** + * MEOS {@code tpose_minus_stbox} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_minus_stbox(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_minus_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_minus_stbox(arg0, arg1, arg2); + } + + /** + * MEOS {@code tpose_points} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_points(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_points requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_points(arg0); + } + + /** + * MEOS {@code tpose_rotation} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_rotation(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_rotation requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_rotation(arg0); + } + + /** + * MEOS {@code tpose_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_start_value(arg0); + } + + /** + * MEOS {@code tpose_trajectory} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_trajectory(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_trajectory requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_trajectory(arg0); + } + + /** + * MEOS {@code tpose_value_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer tpose_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_value_at_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code tpose_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_value_n(arg0, arg1); + } + + /** + * MEOS {@code tpose_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tpose_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_values(arg0, arg1); + } + + /** + * MEOS {@code tpose_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tpose_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tpose_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tpose_in(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometry.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometry.java new file mode 100644 index 000000000..6ef8543ff --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometry.java @@ -0,0 +1,547 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TRGeometry + * Methods emitted: 36 (bounded-state=32 · stateless=3 · io-meta=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTRGeometry { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTRGeometry() { /* utility */ } + + /** + * MEOS {@code trgeometry_to_tinstant} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer trgeometry_to_tinstant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_to_tinstant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_to_tinstant(arg0); + } + + /** + * MEOS {@code trgeometry_to_tpoint} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer trgeometry_to_tpoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_to_tpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_to_tpoint(arg0); + } + + /** + * MEOS {@code trgeometry_to_tpose} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer trgeometry_to_tpose(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_to_tpose requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_to_tpose(arg0); + } + + /** + * MEOS {@code trgeometry_after_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_after_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_after_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_after_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_append_tinstant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_append_tinstant(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, double arg3, jnr.ffi.Pointer arg4, boolean arg5) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_append_tinstant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_append_tinstant(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** + * MEOS {@code trgeometry_append_tsequence} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_append_tsequence(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_append_tsequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_append_tsequence(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_before_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_before_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_before_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_before_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_delete_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_delete_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_delete_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_delete_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_delete_tstzset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_delete_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_delete_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_delete_tstzset(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_delete_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_delete_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_delete_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_delete_tstzspan(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_delete_tstzspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_delete_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_delete_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_delete_tstzspanset(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_end_instant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_end_instant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_end_instant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_end_instant(arg0); + } + + /** + * MEOS {@code trgeometry_end_sequence} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_end_sequence(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_end_sequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_end_sequence(arg0); + } + + /** + * MEOS {@code trgeometry_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_end_value(arg0); + } + + /** + * MEOS {@code trgeometry_geom} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_geom(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_geom requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_geom(arg0); + } + + /** + * MEOS {@code trgeometry_instant_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_instant_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_instant_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_instant_n(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_instants} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_instants(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_instants requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_instants(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_points} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_points(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_points requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_points(arg0); + } + + /** + * MEOS {@code trgeometry_restrict_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_restrict_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_restrict_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_restrict_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_restrict_tstzset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_restrict_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_restrict_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_restrict_tstzset(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_restrict_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_restrict_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_restrict_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_restrict_tstzspan(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_restrict_tstzspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_restrict_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_restrict_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_restrict_tstzspanset(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_restrict_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_restrict_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_restrict_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_restrict_value(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_restrict_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_restrict_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_restrict_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_restrict_values(arg0, arg1, arg2); + } + + /** + * MEOS {@code trgeometry_rotation} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_rotation(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_rotation requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_rotation(arg0); + } + + /** + * MEOS {@code trgeometry_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_round(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_segments} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_segments(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_segments requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_segments(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_sequence_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_sequence_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_sequence_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_sequence_n(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_sequences} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_sequences(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_sequences requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_sequences(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_set_interp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_set_interp(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_set_interp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_set_interp(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_start_instant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_start_instant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_start_instant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_start_instant(arg0); + } + + /** + * MEOS {@code trgeometry_start_sequence} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_start_sequence(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_start_sequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_start_sequence(arg0); + } + + /** + * MEOS {@code trgeometry_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_start_value(arg0); + } + + /** + * MEOS {@code trgeometry_traversed_area} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_traversed_area(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_traversed_area requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_traversed_area(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer trgeometry_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_value_n(arg0, arg1); + } + + /** + * MEOS {@code trgeometry_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String trgeometry_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeometry_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeometry_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java new file mode 100644 index 000000000..d2a2654c7 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TRGeometryInst + * Methods emitted: 1 (stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTRGeometryInst { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTRGeometryInst() { /* utility */ } + + /** + * MEOS {@code trgeoinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer trgeoinst_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "trgeoinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.trgeoinst_make(arg0, arg1, arg2); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSequenceSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSequenceSet.java new file mode 100644 index 000000000..34cf32a95 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSequenceSet.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TSequenceSet + * Methods emitted: 1 (bounded-state=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTSequenceSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTSequenceSet() { /* utility */ } + + /** + * MEOS {@code tsequenceset_make_gaps} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tsequenceset_make_gaps(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3, double arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tsequenceset_make_gaps requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tsequenceset_make_gaps(arg0, arg1, arg2, arg3, arg4); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSpatial.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSpatial.java new file mode 100644 index 000000000..c2813ff13 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTSpatial.java @@ -0,0 +1,169 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TSpatial + * Methods emitted: 9 (bounded-state=4 · io-meta=3 · stateless=1 · windowed=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTSpatial { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTSpatial() { /* utility */ } + + /** + * MEOS {@code tspatial_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tspatial_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_to_stbox(arg0); + } + + /** + * MEOS {@code tspatial_set_srid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tspatial_set_srid(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_set_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_set_srid(arg0, arg1); + } + + /** + * MEOS {@code tspatial_srid} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tspatial_srid(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_srid requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_srid(arg0); + } + + /** + * MEOS {@code tspatial_transform} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tspatial_transform(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_transform requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_transform(arg0, arg1); + } + + /** + * MEOS {@code tspatial_transform_pipeline} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tspatial_transform_pipeline(jnr.ffi.Pointer arg0, java.lang.String arg1, int arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_transform_pipeline requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_transform_pipeline(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tspatial_extent_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tspatial_extent_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code tspatial_as_ewkt} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tspatial_as_ewkt(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_as_ewkt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_as_ewkt(arg0, arg1); + } + + /** + * MEOS {@code tspatial_as_text} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tspatial_as_text(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_as_text requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_as_text(arg0, arg1); + } + + /** + * MEOS {@code tspatial_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tspatial_out(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tspatial_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tspatial_out(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java new file mode 100644 index 000000000..1e124a1d9 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java @@ -0,0 +1,295 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TText + * Methods emitted: 18 (bounded-state=12 · io-meta=3 · windowed=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTText { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTText() { /* utility */ } + + /** + * MEOS {@code ttext_from_base_temp} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer ttext_from_base_temp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_from_base_temp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_from_base_temp(arg0, arg1); + } + + /** + * MEOS {@code ttext_at_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer ttext_at_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_at_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_at_value(arg0, arg1); + } + + /** + * MEOS {@code ttext_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_end_value(arg0); + } + + /** + * MEOS {@code ttext_initcap} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_initcap(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_initcap requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_initcap(arg0); + } + + /** + * MEOS {@code ttext_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_lower(arg0); + } + + /** + * MEOS {@code ttext_max_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_max_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_max_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_max_value(arg0); + } + + /** + * MEOS {@code ttext_min_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_min_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_min_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_min_value(arg0); + } + + /** + * MEOS {@code ttext_minus_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer ttext_minus_value(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_minus_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_minus_value(arg0, arg1); + } + + /** + * MEOS {@code ttext_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_start_value(arg0); + } + + /** + * MEOS {@code ttext_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_upper(arg0); + } + + /** + * MEOS {@code ttext_value_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer ttext_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_value_at_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code ttext_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_value_n(arg0, arg1); + } + + /** + * MEOS {@code ttext_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer ttext_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_values(arg0, arg1); + } + + /** + * MEOS {@code ttext_tmax_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer ttext_tmax_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_tmax_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_tmax_transfn(arg0, arg1); + } + + /** + * MEOS {@code ttext_tmin_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer ttext_tmin_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_tmin_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_tmin_transfn(arg0, arg1); + } + + /** + * MEOS {@code ttext_from_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer ttext_from_mfjson(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_from_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_from_mfjson(arg0); + } + + /** + * MEOS {@code ttext_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer ttext_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_in(arg0); + } + + /** + * MEOS {@code ttext_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String ttext_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttext_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttext_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTTextInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTTextInst.java new file mode 100644 index 000000000..c7efb5177 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTTextInst.java @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TTextInst + * Methods emitted: 1 (stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTTextInst { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTTextInst() { /* utility */ } + + /** + * MEOS {@code ttextinst_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer ttextinst_make(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "ttextinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.ttextinst_make(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java new file mode 100644 index 000000000..7e3c01850 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java @@ -0,0 +1,1401 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: Temporal + * Methods emitted: 97 (bounded-state=75 · cross-stream=7 · io-meta=5 · stateless=5 · windowed=5) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTemporal { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTemporal() { /* utility */ } + + /** + * MEOS {@code temporal_copy} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer temporal_copy(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_copy requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_copy(arg0); + } + + /** + * MEOS {@code temporal_to_tinstant} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer temporal_to_tinstant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_to_tinstant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_to_tinstant(arg0); + } + + /** + * MEOS {@code temporal_to_tsequence} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer temporal_to_tsequence(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_to_tsequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_to_tsequence(arg0, arg1); + } + + /** + * MEOS {@code temporal_to_tsequenceset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer temporal_to_tsequenceset(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_to_tsequenceset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_to_tsequenceset(arg0, arg1); + } + + /** + * MEOS {@code temporal_to_tstzspan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer temporal_to_tstzspan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_to_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_to_tstzspan(arg0); + } + + /** + * MEOS {@code temporal_after_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_after_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_after_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_after_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_append_tinstant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_append_tinstant(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, double arg3, jnr.ffi.Pointer arg4, boolean arg5) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_append_tinstant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_append_tinstant(arg0, arg1, arg2, arg3, arg4, arg5); + } + + /** + * MEOS {@code temporal_append_tsequence} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_append_tsequence(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_append_tsequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_append_tsequence(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_at_max} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_max(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_max requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_max(arg0); + } + + /** + * MEOS {@code temporal_at_min} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_min(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_min requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_min(arg0); + } + + /** + * MEOS {@code temporal_at_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code temporal_at_tstzset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_tstzset(arg0, arg1); + } + + /** + * MEOS {@code temporal_at_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code temporal_at_tstzspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_tstzspanset(arg0, arg1); + } + + /** + * MEOS {@code temporal_at_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_at_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_at_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_at_values(arg0, arg1); + } + + /** + * MEOS {@code temporal_before_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_before_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_before_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_before_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_delete_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_delete_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_delete_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_delete_timestamptz(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_delete_tstzset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_delete_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_delete_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_delete_tstzset(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_delete_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_delete_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_delete_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_delete_tstzspan(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_delete_tstzspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_delete_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_delete_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_delete_tstzspanset(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_derivative} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_derivative(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_derivative requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_derivative(arg0); + } + + /** + * MEOS {@code temporal_duration} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_duration(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_duration requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_duration(arg0, arg1); + } + + /** + * MEOS {@code temporal_dyntimewarp_distance} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double temporal_dyntimewarp_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_dyntimewarp_distance requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_dyntimewarp_distance(arg0, arg1); + } + + /** + * MEOS {@code temporal_dyntimewarp_path} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_dyntimewarp_path(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_dyntimewarp_path requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_dyntimewarp_path(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_end_instant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_end_instant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_end_instant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_end_instant(arg0); + } + + /** + * MEOS {@code temporal_end_sequence} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_end_sequence(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_end_sequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_end_sequence(arg0); + } + + /** + * MEOS {@code temporal_end_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime temporal_end_timestamptz(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_end_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_end_timestamptz(arg0); + } + + /** + * MEOS {@code temporal_frechet_distance} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double temporal_frechet_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_frechet_distance requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_frechet_distance(arg0, arg1); + } + + /** + * MEOS {@code temporal_frechet_path} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_frechet_path(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_frechet_path requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_frechet_path(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_hash} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int temporal_hash(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_hash requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_hash(arg0); + } + + /** + * MEOS {@code temporal_hausdorff_distance} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static double temporal_hausdorff_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_hausdorff_distance requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_hausdorff_distance(arg0, arg1); + } + + /** + * MEOS {@code temporal_insert} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_insert(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_insert requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_insert(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_instant_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_instant_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_instant_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_instant_n(arg0, arg1); + } + + /** + * MEOS {@code temporal_instants} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_instants(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_instants requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_instants(arg0, arg1); + } + + /** + * MEOS {@code temporal_interp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.lang.String temporal_interp(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_interp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_interp(arg0); + } + + /** + * MEOS {@code temporal_lower_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean temporal_lower_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_lower_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_lower_inc(arg0); + } + + /** + * MEOS {@code temporal_max_instant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_max_instant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_max_instant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_max_instant(arg0); + } + + /** + * MEOS {@code temporal_merge} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_merge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_merge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_merge(arg0, arg1); + } + + /** + * MEOS {@code temporal_merge_array} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_merge_array(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_merge_array requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_merge_array(arg0, arg1); + } + + /** + * MEOS {@code temporal_min_instant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_min_instant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_min_instant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_min_instant(arg0); + } + + /** + * MEOS {@code temporal_minus_max} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_max(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_max requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_max(arg0); + } + + /** + * MEOS {@code temporal_minus_min} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_min(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_min requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_min(arg0); + } + + /** + * MEOS {@code temporal_minus_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_timestamptz(arg0, arg1); + } + + /** + * MEOS {@code temporal_minus_tstzset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_tstzset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_tstzset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_tstzset(arg0, arg1); + } + + /** + * MEOS {@code temporal_minus_tstzspan} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_tstzspan(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_tstzspan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_tstzspan(arg0, arg1); + } + + /** + * MEOS {@code temporal_minus_tstzspanset} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_tstzspanset(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_tstzspanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_tstzspanset(arg0, arg1); + } + + /** + * MEOS {@code temporal_minus_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code restriction}.

+ *

Classification: role=restriction

+ */ + public static jnr.ffi.Pointer temporal_minus_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_minus_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_minus_values(arg0, arg1); + } + + /** + * MEOS {@code temporal_num_instants} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int temporal_num_instants(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_num_instants requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_num_instants(arg0); + } + + /** + * MEOS {@code temporal_num_sequences} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int temporal_num_sequences(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_num_sequences requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_num_sequences(arg0); + } + + /** + * MEOS {@code temporal_num_timestamps} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int temporal_num_timestamps(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_num_timestamps requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_num_timestamps(arg0); + } + + /** + * MEOS {@code temporal_round} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_round(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_round requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_round(arg0, arg1); + } + + /** + * MEOS {@code temporal_scale_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_scale_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_scale_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_scale_time(arg0, arg1); + } + + /** + * MEOS {@code temporal_segm_duration} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_segm_duration(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_segm_duration requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_segm_duration(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code temporal_segments} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_segments(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_segments requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_segments(arg0, arg1); + } + + /** + * MEOS {@code temporal_sequence_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_sequence_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_sequence_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_sequence_n(arg0, arg1); + } + + /** + * MEOS {@code temporal_sequences} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_sequences(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_sequences requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_sequences(arg0, arg1); + } + + /** + * MEOS {@code temporal_set_interp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_set_interp(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_set_interp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_set_interp(arg0, arg1); + } + + /** + * MEOS {@code temporal_shift_scale_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_shift_scale_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_shift_scale_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_shift_scale_time(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_shift_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_shift_time(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_shift_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_shift_time(arg0, arg1); + } + + /** + * MEOS {@code temporal_simplify_dp} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_simplify_dp(jnr.ffi.Pointer arg0, double arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_simplify_dp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_simplify_dp(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_simplify_max_dist} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_simplify_max_dist(jnr.ffi.Pointer arg0, double arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_simplify_max_dist requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_simplify_max_dist(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_simplify_min_dist} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_simplify_min_dist(jnr.ffi.Pointer arg0, double arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_simplify_min_dist requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_simplify_min_dist(arg0, arg1); + } + + /** + * MEOS {@code temporal_simplify_min_tdelta} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_simplify_min_tdelta(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_simplify_min_tdelta requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_simplify_min_tdelta(arg0, arg1); + } + + /** + * MEOS {@code temporal_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_spans(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_spans(arg0, arg1); + } + + /** + * MEOS {@code temporal_split_each_n_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_split_each_n_spans(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_split_each_n_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_split_each_n_spans(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_split_n_spans} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_split_n_spans(jnr.ffi.Pointer arg0, int arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_split_n_spans requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_split_n_spans(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_start_instant} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_start_instant(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_start_instant requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_start_instant(arg0); + } + + /** + * MEOS {@code temporal_start_sequence} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_start_sequence(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_start_sequence requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_start_sequence(arg0); + } + + /** + * MEOS {@code temporal_start_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime temporal_start_timestamptz(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_start_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_start_timestamptz(arg0); + } + + /** + * MEOS {@code temporal_stops} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_stops(jnr.ffi.Pointer arg0, double arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_stops requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_stops(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_subtype} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.lang.String temporal_subtype(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_subtype requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_subtype(arg0); + } + + /** + * MEOS {@code temporal_time} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_time(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_time requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_time(arg0); + } + + /** + * MEOS {@code temporal_time_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_time_bins(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_time_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_time_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code temporal_time_split} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_time_split(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_time_split requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_time_split(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_timestamps} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_timestamps(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_timestamps requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_timestamps(arg0, arg1); + } + + /** + * MEOS {@code temporal_timestamptz_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_timestamptz_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_timestamptz_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_timestamptz_n(arg0, arg1); + } + + /** + * MEOS {@code temporal_tprecision} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_tprecision(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_tprecision requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_tprecision(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_tsample} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_tsample(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, int arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_tsample requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_tsample(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code temporal_update} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer temporal_update(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_update requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_update(arg0, arg1, arg2); + } + + /** + * MEOS {@code temporal_upper_inc} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static boolean temporal_upper_inc(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_upper_inc requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_upper_inc(arg0); + } + + /** + * MEOS {@code temporal_extent_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer temporal_extent_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_extent_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_extent_transfn(arg0, arg1); + } + + /** + * MEOS {@code temporal_merge_combinefn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer temporal_merge_combinefn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_merge_combinefn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_merge_combinefn(arg0, arg1); + } + + /** + * MEOS {@code temporal_merge_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer temporal_merge_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_merge_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_merge_transfn(arg0, arg1); + } + + /** + * MEOS {@code temporal_tagg_finalfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer temporal_tagg_finalfn(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_tagg_finalfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_tagg_finalfn(arg0); + } + + /** + * MEOS {@code temporal_tcount_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer temporal_tcount_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_tcount_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_tcount_transfn(arg0, arg1); + } + + /** + * MEOS {@code temporal_cmp} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static int temporal_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_cmp requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_cmp(arg0, arg1); + } + + /** + * MEOS {@code temporal_eq} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static boolean temporal_eq(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_eq requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_eq(arg0, arg1); + } + + /** + * MEOS {@code temporal_ge} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static boolean temporal_ge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_ge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_ge(arg0, arg1); + } + + /** + * MEOS {@code temporal_gt} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static boolean temporal_gt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_gt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_gt(arg0, arg1); + } + + /** + * MEOS {@code temporal_le} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static boolean temporal_le(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_le requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_le(arg0, arg1); + } + + /** + * MEOS {@code temporal_lt} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static boolean temporal_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_lt requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_lt(arg0, arg1); + } + + /** + * MEOS {@code temporal_ne} — tier cross-stream. + *

Pairwise across streams — caller wraps in a join.

+ *

Object-model role: {@code predicate}.

+ *

Classification: predicate on 2 temporals

+ */ + public static boolean temporal_ne(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_ne requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_ne(arg0, arg1); + } + + /** + * MEOS {@code temporal_as_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String temporal_as_hexwkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_as_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_as_hexwkb(arg0, arg1); + } + + /** + * MEOS {@code temporal_as_mfjson} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String temporal_as_mfjson(jnr.ffi.Pointer arg0, boolean arg1, int arg2, int arg3, java.lang.String arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_as_mfjson requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_as_mfjson(arg0, arg1, arg2, arg3, arg4); + } + + /** + * MEOS {@code temporal_as_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer temporal_as_wkb(jnr.ffi.Pointer arg0, byte arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_as_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_as_wkb(arg0, arg1); + } + + /** + * MEOS {@code temporal_from_hexwkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer temporal_from_hexwkb(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_from_hexwkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_from_hexwkb(arg0); + } + + /** + * MEOS {@code temporal_from_wkb} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer temporal_from_wkb(jnr.ffi.Pointer arg0, long arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "temporal_from_wkb requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.temporal_from_wkb(arg0, arg1); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTextSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTextSet.java new file mode 100644 index 000000000..9e6843c5d --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTextSet.java @@ -0,0 +1,183 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TextSet + * Methods emitted: 10 (bounded-state=7 · io-meta=2 · stateless=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTextSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTextSet() { /* utility */ } + + /** + * MEOS {@code textset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer textset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_make(arg0, arg1); + } + + /** + * MEOS {@code textset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_end_value(arg0); + } + + /** + * MEOS {@code textset_initcap} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_initcap(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_initcap requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_initcap(arg0); + } + + /** + * MEOS {@code textset_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_lower(arg0); + } + + /** + * MEOS {@code textset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_start_value(arg0); + } + + /** + * MEOS {@code textset_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_upper(arg0); + } + + /** + * MEOS {@code textset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_value_n(arg0, arg1); + } + + /** + * MEOS {@code textset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer textset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_values(arg0, arg1); + } + + /** + * MEOS {@code textset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer textset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_in(arg0); + } + + /** + * MEOS {@code textset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String textset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "textset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.textset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTh3index.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTh3index.java new file mode 100644 index 000000000..508b2397d --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTh3index.java @@ -0,0 +1,418 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by tools/codegen/emit_h3_facade.py — do not edit by hand. + * H3 / th3index family facade over functions.GeneratedFunctions. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTh3index { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTh3index() { /* utility */ } + + /** MEOS {@code th3index_are_neighbor_cells} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_are_neighbor_cells(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_are_neighbor_cells requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_are_neighbor_cells(arg0, arg1); + } + + /** MEOS {@code th3index_cell_area} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_area(jnr.ffi.Pointer arg0, java.lang.String arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_area requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_area(arg0, arg1); + } + + /** MEOS {@code th3index_cell_to_boundary} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_boundary(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_boundary requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_boundary(arg0); + } + + /** MEOS {@code th3index_cell_to_center_child} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_center_child(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_center_child requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_center_child(arg0, arg1); + } + + /** MEOS {@code th3index_cell_to_center_child_next} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_center_child_next(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_center_child_next requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_center_child_next(arg0); + } + + /** MEOS {@code th3index_cell_to_child_pos} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_child_pos(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_child_pos requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_child_pos(arg0, arg1); + } + + /** MEOS {@code th3index_cell_to_local_ij} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_local_ij(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_local_ij requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_local_ij(arg0, arg1); + } + + /** MEOS {@code th3index_cell_to_parent} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_parent(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_parent requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_parent(arg0, arg1); + } + + /** MEOS {@code th3index_cell_to_parent_next} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_parent_next(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_parent_next requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_parent_next(arg0); + } + + /** MEOS {@code th3index_cell_to_vertex} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cell_to_vertex(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cell_to_vertex requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cell_to_vertex(arg0, arg1); + } + + /** MEOS {@code th3index_cells_to_directed_edge} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_cells_to_directed_edge(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_cells_to_directed_edge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_cells_to_directed_edge(arg0, arg1); + } + + /** MEOS {@code th3index_child_pos_to_cell} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_child_pos_to_cell(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_child_pos_to_cell requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_child_pos_to_cell(arg0, arg1, arg2); + } + + /** MEOS {@code th3index_directed_edge_to_boundary} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_directed_edge_to_boundary(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_directed_edge_to_boundary requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_directed_edge_to_boundary(arg0); + } + + /** MEOS {@code th3index_edge_length} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_edge_length(jnr.ffi.Pointer arg0, java.lang.String arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_edge_length requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_edge_length(arg0, arg1); + } + + /** MEOS {@code th3index_end_value} — H3 / th3index family. */ + public static long th3index_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_end_value(arg0); + } + + /** MEOS {@code th3index_get_base_cell_number} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_get_base_cell_number(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_get_base_cell_number requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_get_base_cell_number(arg0); + } + + /** MEOS {@code th3index_get_directed_edge_destination} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_get_directed_edge_destination(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_get_directed_edge_destination requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_get_directed_edge_destination(arg0); + } + + /** MEOS {@code th3index_get_directed_edge_origin} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_get_directed_edge_origin(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_get_directed_edge_origin requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_get_directed_edge_origin(arg0); + } + + /** MEOS {@code th3index_get_resolution} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_get_resolution(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_get_resolution requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_get_resolution(arg0); + } + + /** MEOS {@code th3index_grid_distance} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_grid_distance(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_grid_distance requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_grid_distance(arg0, arg1); + } + + /** MEOS {@code th3index_in} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_in(arg0); + } + + /** MEOS {@code th3index_is_pentagon} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_is_pentagon(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_is_pentagon requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_is_pentagon(arg0); + } + + /** MEOS {@code th3index_is_res_class_iii} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_is_res_class_iii(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_is_res_class_iii requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_is_res_class_iii(arg0); + } + + /** MEOS {@code th3index_is_valid_cell} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_is_valid_cell(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_is_valid_cell requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_is_valid_cell(arg0); + } + + /** MEOS {@code th3index_is_valid_directed_edge} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_is_valid_directed_edge(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_is_valid_directed_edge requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_is_valid_directed_edge(arg0); + } + + /** MEOS {@code th3index_is_valid_vertex} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_is_valid_vertex(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_is_valid_vertex requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_is_valid_vertex(arg0); + } + + /** MEOS {@code th3index_local_ij_to_cell} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_local_ij_to_cell(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_local_ij_to_cell requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_local_ij_to_cell(arg0, arg1); + } + + /** MEOS {@code th3index_make} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_make(long arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_make(arg0, arg1); + } + + /** MEOS {@code th3index_start_value} — H3 / th3index family. */ + public static long th3index_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_start_value(arg0); + } + + /** MEOS {@code th3index_to_tbigint} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_to_tbigint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_to_tbigint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_to_tbigint(arg0); + } + + /** MEOS {@code th3index_to_tgeogpoint} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_to_tgeogpoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_to_tgeogpoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_to_tgeogpoint(arg0); + } + + /** MEOS {@code th3index_to_tgeompoint} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_to_tgeompoint(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_to_tgeompoint requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_to_tgeompoint(arg0); + } + + /** MEOS {@code th3index_value_at_timestamptz} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_value_at_timestamptz(arg0, arg1, arg2); + } + + /** MEOS {@code th3index_value_n} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_value_n(arg0, arg1); + } + + /** MEOS {@code th3index_values} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_values(arg0, arg1); + } + + /** MEOS {@code th3index_vertex_to_latlng} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3index_vertex_to_latlng(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3index_vertex_to_latlng requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3index_vertex_to_latlng(arg0); + } + + /** MEOS {@code th3indexinst_in} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3indexinst_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3indexinst_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3indexinst_in(arg0); + } + + /** MEOS {@code th3indexinst_make} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3indexinst_make(long arg0, java.time.OffsetDateTime arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3indexinst_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3indexinst_make(arg0, arg1); + } + + /** MEOS {@code th3indexseq_in} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3indexseq_in(java.lang.String arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3indexseq_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3indexseq_in(arg0, arg1); + } + + /** MEOS {@code th3indexseq_make} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3indexseq_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, int arg2, boolean arg3, boolean arg4) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3indexseq_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3indexseq_make(arg0, arg1, arg2, arg3, arg4); + } + + /** MEOS {@code th3indexseqset_in} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3indexseqset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3indexseqset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3indexseqset_in(arg0); + } + + /** MEOS {@code th3indexseqset_make} — H3 / th3index family. */ + public static jnr.ffi.Pointer th3indexseqset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "th3indexseqset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.th3indexseqset_make(arg0, arg1); + } +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSet.java new file mode 100644 index 000000000..810c275b2 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSet.java @@ -0,0 +1,211 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TstzSet + * Methods emitted: 12 (bounded-state=6 · stateless=3 · io-meta=2 · windowed=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTstzSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTstzSet() { /* utility */ } + + /** + * MEOS {@code tstzset_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tstzset_make(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_make(arg0, arg1); + } + + /** + * MEOS {@code tstzset_to_dateset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tstzset_to_dateset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_to_dateset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_to_dateset(arg0); + } + + /** + * MEOS {@code tstzset_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tstzset_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_to_stbox(arg0); + } + + /** + * MEOS {@code tstzset_end_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzset_end_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_end_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_end_value(arg0); + } + + /** + * MEOS {@code tstzset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzset_shift_scale(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_shift_scale(arg0, arg1, arg2); + } + + /** + * MEOS {@code tstzset_start_value} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzset_start_value(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_start_value requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_start_value(arg0); + } + + /** + * MEOS {@code tstzset_tprecision} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzset_tprecision(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_tprecision requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_tprecision(arg0, arg1, arg2); + } + + /** + * MEOS {@code tstzset_value_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzset_value_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_value_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_value_n(arg0, arg1); + } + + /** + * MEOS {@code tstzset_values} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzset_values(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_values requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_values(arg0, arg1); + } + + /** + * MEOS {@code tstzset_tcount_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tstzset_tcount_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_tcount_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_tcount_transfn(arg0, arg1); + } + + /** + * MEOS {@code tstzset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tstzset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_in(arg0); + } + + /** + * MEOS {@code tstzset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tstzset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzset_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpan.java new file mode 100644 index 000000000..c264e12c1 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpan.java @@ -0,0 +1,225 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TstzSpan + * Methods emitted: 13 (bounded-state=7 · stateless=3 · io-meta=2 · windowed=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTstzSpan { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTstzSpan() { /* utility */ } + + /** + * MEOS {@code tstzspan_make} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code constructor}.

+ *

Classification: constructor of instant/scalar

+ */ + public static jnr.ffi.Pointer tstzspan_make(java.time.OffsetDateTime arg0, java.time.OffsetDateTime arg1, boolean arg2, boolean arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_make requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_make(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tstzspan_to_datespan} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tstzspan_to_datespan(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_to_datespan requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_to_datespan(arg0); + } + + /** + * MEOS {@code tstzspan_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tstzspan_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_to_stbox(arg0); + } + + /** + * MEOS {@code tstzspan_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspan_bins(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tstzspan_duration} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspan_duration(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_duration requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_duration(arg0); + } + + /** + * MEOS {@code tstzspan_expand} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspan_expand(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_expand requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_expand(arg0, arg1); + } + + /** + * MEOS {@code tstzspan_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzspan_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_lower(arg0); + } + + /** + * MEOS {@code tstzspan_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspan_shift_scale(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_shift_scale(arg0, arg1, arg2); + } + + /** + * MEOS {@code tstzspan_tprecision} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspan_tprecision(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_tprecision requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_tprecision(arg0, arg1, arg2); + } + + /** + * MEOS {@code tstzspan_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzspan_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_upper(arg0); + } + + /** + * MEOS {@code tstzspan_tcount_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tstzspan_tcount_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_tcount_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_tcount_transfn(arg0, arg1); + } + + /** + * MEOS {@code tstzspan_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tstzspan_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_in(arg0); + } + + /** + * MEOS {@code tstzspan_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tstzspan_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspan_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspan_out(arg0); + } + +} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpanSet.java new file mode 100644 index 000000000..36501f005 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTstzSpanSet.java @@ -0,0 +1,267 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +package org.mobilitydb.meos; + +/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand. + * MEOS object-model class: TstzSpanSet + * Methods emitted: 16 (bounded-state=11 · io-meta=2 · stateless=2 · windowed=1) + * Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4. + */ + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; + +public final class MeosOpsTstzSpanSet { + + public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE; + + private MeosOpsTstzSpanSet() { /* utility */ } + + /** + * MEOS {@code tstzspanset_to_datespanset} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tstzspanset_to_datespanset(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_to_datespanset requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_to_datespanset(arg0); + } + + /** + * MEOS {@code tstzspanset_to_stbox} — tier stateless. + *

Pure per-event; safe in any scalar position.

+ *

Object-model role: {@code conversion}.

+ *

Classification: role=conversion

+ */ + public static jnr.ffi.Pointer tstzspanset_to_stbox(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_to_stbox requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_to_stbox(arg0); + } + + /** + * MEOS {@code tstzspanset_bins} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspanset_bins(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_bins requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_bins(arg0, arg1, arg2, arg3); + } + + /** + * MEOS {@code tstzspanset_duration} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspanset_duration(jnr.ffi.Pointer arg0, boolean arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_duration requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_duration(arg0, arg1); + } + + /** + * MEOS {@code tstzspanset_end_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzspanset_end_timestamptz(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_end_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_end_timestamptz(arg0); + } + + /** + * MEOS {@code tstzspanset_lower} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzspanset_lower(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_lower requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_lower(arg0); + } + + /** + * MEOS {@code tstzspanset_num_timestamps} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static int tstzspanset_num_timestamps(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_num_timestamps requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_num_timestamps(arg0); + } + + /** + * MEOS {@code tstzspanset_shift_scale} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspanset_shift_scale(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, jnr.ffi.Pointer arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_shift_scale requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_shift_scale(arg0, arg1, arg2); + } + + /** + * MEOS {@code tstzspanset_start_timestamptz} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzspanset_start_timestamptz(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_start_timestamptz requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_start_timestamptz(arg0); + } + + /** + * MEOS {@code tstzspanset_timestamps} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspanset_timestamps(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_timestamps requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_timestamps(arg0); + } + + /** + * MEOS {@code tstzspanset_timestamptz_n} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspanset_timestamptz_n(jnr.ffi.Pointer arg0, int arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_timestamptz_n requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_timestamptz_n(arg0, arg1); + } + + /** + * MEOS {@code tstzspanset_tprecision} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static jnr.ffi.Pointer tstzspanset_tprecision(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_tprecision requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_tprecision(arg0, arg1, arg2); + } + + /** + * MEOS {@code tstzspanset_upper} — tier bounded-state. + *

Per-event with bounded per-key state (MEOS handle).

+ *

Object-model role: {@code accessor}.

+ *

Classification: role=accessor

+ */ + public static java.time.OffsetDateTime tstzspanset_upper(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_upper requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_upper(arg0); + } + + /** + * MEOS {@code tstzspanset_tcount_transfn} — tier windowed. + *

Requires window operator — caller wraps in AggregateFunction.

+ *

Object-model role: {@code aggregate}.

+ *

Classification: role=aggregate

+ */ + public static jnr.ffi.Pointer tstzspanset_tcount_transfn(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_tcount_transfn requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_tcount_transfn(arg0, arg1); + } + + /** + * MEOS {@code tstzspanset_in} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code constructor}.

+ *

Classification: IO/serialization

+ */ + public static jnr.ffi.Pointer tstzspanset_in(java.lang.String arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_in requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_in(arg0); + } + + /** + * MEOS {@code tstzspanset_out} — tier io-meta. + *

I/O / catalog / lifecycle helper.

+ *

Object-model role: {@code output}.

+ *

Classification: IO/serialization

+ */ + public static java.lang.String tstzspanset_out(jnr.ffi.Pointer arg0) { + if (!MEOS_AVAILABLE) { + throw new UnsupportedOperationException( + "tstzspanset_out requires libmeos — set -Dmeos.enabled=true"); + } + return GeneratedFunctions.tstzspanset_out(arg0); + } + +} diff --git a/jmeos-core/tools/codegen/README.md b/jmeos-core/tools/codegen/README.md new file mode 100644 index 000000000..94ec1cd29 --- /dev/null +++ b/jmeos-core/tools/codegen/README.md @@ -0,0 +1,106 @@ +# MEOS-API → MobilityFlink codegen + +`org.mobilitydb.flink.meos.MeosOps*` is a generated, tier-aware Java +facade over the MEOS public API. Two siblings of classes: + +- `MeosOps` — one per MEOS object-model class (50 classes, 751 + methods). Source: `codegen-oo.py`. +- `MeosOpsFree
` — one per public MEOS header for functions + *not* assigned to any OO class (6 headers, 1,346 methods). Source: + `codegen-free.py`. + +Both generators share the same per-method discipline: read JMEOS' actual +exported surface via `javap -p functions.GeneratedFunctions`, +inner-join with the streaming-relevance baseline v4 (tier +classification of every MEOS public function), emit one static method +per matched function whose body forwards to the JMEOS native binding +after probing the shared `MeosOpsRuntime.MEOS_AVAILABLE` flag. + +## What is generated + +For every MEOS public function `f` that + +1. lives in one of the five public-API streaming tiers + (`stateless`, `bounded-state`, `windowed`, `cross-stream`, + `io-meta`), and +2. is exposed by JMEOS as a static method on + `functions.GeneratedFunctions`, + +the generator emits `MeosOps.f(...)` or +`MeosOpsFree
.f(...)` whose body delegates to +`GeneratedFunctions.f(...)` after probing +`MeosOpsRuntime.MEOS_AVAILABLE`. Each method carries a Javadoc tier +marker so consumers know the per-method wiring shape (scalar UDF for +`stateless`/`bounded-state`, windowed aggregate for `windowed`, etc.). + +## Why generated rather than hand-written + +- **One source of truth.** Method signatures, classification, and tier + semantics come from the MEOS-API catalog + the streaming-relevance + baseline; no hand-written facade can drift from MEOS' actual surface. +- **Audit by regeneration.** Reviewing the diff is reviewing the + catalog change; each generator is ~250 lines, the runtime is ~30, + the rest is mechanical. +- **Bump-safe.** When the JMEOS jar regenerates against a new MEOS + release, re-running the generators absorbs the new surface with zero + hand edits. + +## How to regenerate + +```bash +# 1. Regenerate the MEOS-API catalog from MobilityDB headers +git clone --branch feat/object-model https://github.com/MobilityDB/MEOS-API.git +cd MEOS-API && pip install -r requirements.txt +python run.py /path/to/MobilityDB/meos/include /path/to/MobilityDB/mobilitydb/src +# → output/meos-idl.json + +# 2. Produce the streaming-relevance baseline (v4 classifier) +# → streaming-relevance-baseline.json + +# 3. Extract JMEOS PR #19 method signatures +jar xf flink-processor/jar/JMEOS.jar functions/GeneratedFunctions.class +javap -p functions.GeneratedFunctions > jmeos_signatures.txt + +# 4. Run both generators +python flink-processor/tools/codegen/codegen-oo.py # → MeosOps.java +python flink-processor/tools/codegen/codegen-free.py # → MeosOpsFree
.java +``` + +## Manifests + +`meos-ops-manifest.json` (OO-classified) and +`meos-ops-free-manifest.json` (free fns) record the regeneration +provenance: total JMEOS method count, baseline target count, emit +count, per-tier breakdown, per-class/per-header method count, sample +of functions absent from JMEOS. + +## Tier vocabulary + +| Tier | Meaning | Flink wiring shape | +|---|---|---| +| `stateless` | Pure per-event, no state | `ScalarFunction` (Table API) or direct call in `MapFunction` | +| `bounded-state` | Per-event with bounded per-key state | `ScalarFunction` (state lives in the MEOS handle) | +| `windowed` | Output cardinality changes; needs a window | `AggregateFunction` over `TUMBLE`/`HOP` | +| `cross-stream` | Pairwise across streams; needs interval-overlap join | `CoProcessFunction` or `IntervalJoin` | +| `io-meta` | I/O, catalog, lifecycle helpers | Helper / `format` clause | + +The current emission excludes `sequence-only` (functions requiring the +full sequence offline; ~14 fns) and `ambiguous` corner cases (~59 fns +where the mechanical classifier couldn't decide). Both are surfaced +separately for design decisions before emit. + +## Coexistence with `MEOSBridge.java` + +`berlinmod.MEOSBridge` is the hand-written, BerlinMOD-scoped bridge +introduced on `feat/jmeos-bridge-swap`. The generated `MeosOps*` +facades are the catalog-driven equivalent for the *whole* MEOS +surface; they coexist without redesigning `MEOSBridge`: + +- `MEOSBridge` keeps the per-BerlinMOD-query intent (Haversine + fallback, `dwithinSegmentMetres`, etc.) — high-level, query-shaped. +- `MeosOps*` exposes the raw MEOS surface tier-by-tier — low-level, + catalog-shaped. + +Both share the same `MEOS_AVAILABLE` discipline (via +`MeosOpsRuntime`) and the same `functions.GeneratedFunctions` +delegation. diff --git a/jmeos-core/tools/codegen/emit_h3_facade.py b/jmeos-core/tools/codegen/emit_h3_facade.py new file mode 100644 index 000000000..152542c6c --- /dev/null +++ b/jmeos-core/tools/codegen/emit_h3_facade.py @@ -0,0 +1,107 @@ +#!/usr/bin/env python3 +"""Emit the H3 / th3index family facade (MeosOpsTh3index + MeosOpsFreeH3). + +The unified functions.GeneratedFunctions jar carries the H3 temporal-index +family. This emits its user-facing surface as MeosOps* forwarders, mirroring the +other per-family facade classes: the numerator is the public meos_h3.h externs +intersected with the jar (Datum-bearing dispatchers and internal h3 helpers are +excluded by construction — they are not declared in meos_h3.h). th3index_* go to +the temporal-type class MeosOpsTh3index; the remaining H3 free functions (geo↔H3 +walkers, set ops, ever/always comparisons) go to MeosOpsFreeH3. + +Run from : + MEOS_INCLUDE= python3 tools/codegen/emit_h3_facade.py jar/JMEOS.jar +""" + +# Canonical MobilityDB PostgreSQL-License header, emitted on every generated file. +MEOS_LICENSE_BANNER = ( + '/*****************************************************************************\n' + ' *\n' + ' * This MobilityDB code is provided under The PostgreSQL License.\n' + ' * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB\n' + ' * contributors\n' + ' *\n' + ' * Permission to use, copy, modify, and distribute this software and its\n' + ' * documentation for any purpose, without fee, and without a written\n' + ' * agreement is hereby granted, provided that the above copyright notice and\n' + ' * this paragraph and the following two paragraphs appear in all copies.\n' + ' *\n' + ' * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR\n' + ' * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING\n' + ' * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,\n' + ' * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY\n' + ' * OF SUCH DAMAGE.\n' + ' *\n' + ' * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n' + ' * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n' + ' * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON\n' + ' * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO\n' + ' * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n' + ' *\n' + ' *****************************************************************************/' +) +import re, os, sys, subprocess + +HERE = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +FACADE = os.path.join(HERE, "src/main/java/org/mobilitydb/meos") +INC = os.environ.get("MEOS_INCLUDE", "/home/esteban/src/MobilityDB/meos/include") +_SIG = re.compile(r'public static (\S+) ([a-z_][A-Za-z0-9_]*)\(([^)]*)\)') +_DECL = re.compile(r'^\s*extern\s+.+?\b([a-z][A-Za-z0-9_]*)\s*\(', re.M) + + +def jar_sigs(jar): + out = subprocess.run(["javap", "-classpath", jar, "-p", "functions.GeneratedFunctions"], + capture_output=True, text=True).stdout + sigs = {} + for line in out.splitlines(): + m = _SIG.search(line) + if m: + sigs[m.group(2)] = (m.group(1), + [a.strip() for a in m.group(3).strip().split(",")] if m.group(3).strip() else []) + return sigs + + +def method(name, sigs): + ret, types = sigs[name] + decl = ", ".join(f"{t} arg{i}" for i, t in enumerate(types)) + call = ", ".join(f"arg{i}" for i in range(len(types))) + retkw = "" if ret == "void" else "return " + return (f"\n /** MEOS {{@code {name}}} — H3 / th3index family. */\n" + f" public static {ret} {name}({decl}) {{\n" + f" if (!MEOS_AVAILABLE) {{\n" + f" throw new UnsupportedOperationException(\n" + f' "{name} requires libmeos — set -Dmeos.enabled=true");\n' + f" }}\n" + f" {retkw}GeneratedFunctions.{name}({call});\n" + f" }}\n") + + +def emit_class(cls, names, sigs): + body = "".join(method(n, sigs) for n in names) + txt = (MEOS_LICENSE_BANNER + "\n\n" + f"package org.mobilitydb.meos;\n\n" + f"/* AUTO-GENERATED by tools/codegen/emit_h3_facade.py — do not edit by hand.\n" + f" * H3 / th3index family facade over functions.GeneratedFunctions.\n */\n\n" + f"import functions.GeneratedFunctions;\n" + f"import jnr.ffi.Pointer;\n\n" + f"public final class {cls} {{\n\n" + f" public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE;\n\n" + f" private {cls}() {{ /* utility */ }}\n" + f"{body}}}\n") + open(os.path.join(FACADE, f"{cls}.java"), "w").write(txt) + return len(names) + + +def main(): + jar = sys.argv[1] if len(sys.argv) > 1 else os.path.join(HERE, "jar/JMEOS.jar") + sigs = jar_sigs(jar) + public = set(_DECL.findall(open(os.path.join(INC, "meos_h3.h")).read())) + facade = sorted(public & set(sigs)) + th3 = [n for n in facade if n.startswith("th3index")] + free = [n for n in facade if not n.startswith("th3index")] + a = emit_class("MeosOpsTh3index", th3, sigs) + b = emit_class("MeosOpsFreeH3", free, sigs) + print(f"MeosOpsTh3index: {a} methods; MeosOpsFreeH3: {b} methods") + + +if __name__ == "__main__": + main() diff --git a/jmeos-core/tools/codegen/emit_tbigint_facade.py b/jmeos-core/tools/codegen/emit_tbigint_facade.py new file mode 100644 index 000000000..d4cbe6d8c --- /dev/null +++ b/jmeos-core/tools/codegen/emit_tbigint_facade.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +"""Emit the tbigint temporal-type family facade (MeosOpsTBigint). + +The consolidated functions.GeneratedFunctions jar carries the tbigint temporal +type (MobilityDB #1044). The static bigint set/span types already have facade +classes (MeosOpsBigintSet/Span/SpanSet); this emits the temporal type's surface +— the numerator is the public meos.h externs whose name contains 'tbigint' +intersected with the jar (Datum-bearing dispatchers are excluded, not being +extern-declared in the public header). Mirrors the per-family facade classes +(MeosOpsTInt/TFloat/…) and the th3index family-port. + +Run from : + MEOS_INCLUDE= python3 tools/codegen/emit_tbigint_facade.py jar/JMEOS.jar +""" + +# Canonical MobilityDB PostgreSQL-License header, emitted on every generated file. +MEOS_LICENSE_BANNER = ( + '/*****************************************************************************\n' + ' *\n' + ' * This MobilityDB code is provided under The PostgreSQL License.\n' + ' * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB\n' + ' * contributors\n' + ' *\n' + ' * Permission to use, copy, modify, and distribute this software and its\n' + ' * documentation for any purpose, without fee, and without a written\n' + ' * agreement is hereby granted, provided that the above copyright notice and\n' + ' * this paragraph and the following two paragraphs appear in all copies.\n' + ' *\n' + ' * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR\n' + ' * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING\n' + ' * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,\n' + ' * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY\n' + ' * OF SUCH DAMAGE.\n' + ' *\n' + ' * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n' + ' * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n' + ' * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON\n' + ' * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO\n' + ' * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n' + ' *\n' + ' *****************************************************************************/' +) +import re, os, sys, subprocess + +HERE = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +FACADE = os.path.join(HERE, "src/main/java/org/mobilitydb/meos") +INC = os.environ.get("MEOS_INCLUDE", "/home/esteban/src/MobilityDB/meos/include") +_SIG = re.compile(r'public static (\S+) ([a-z_][A-Za-z0-9_]*)\(([^)]*)\)') +_DECL = re.compile(r'^\s*extern\s+.+?\b([a-z][A-Za-z0-9_]*)\s*\(', re.M) + + +def jar_sigs(jar): + out = subprocess.run(["javap", "-classpath", jar, "-p", "functions.GeneratedFunctions"], + capture_output=True, text=True).stdout + sigs = {} + for line in out.splitlines(): + m = _SIG.search(line) + if m: + sigs[m.group(2)] = (m.group(1), + [a.strip() for a in m.group(3).strip().split(",")] if m.group(3).strip() else []) + return sigs + + +def main(): + jar = sys.argv[1] if len(sys.argv) > 1 else os.path.join(HERE, "jar/JMEOS.jar") + sigs = jar_sigs(jar) + public = set(_DECL.findall(open(os.path.join(INC, "meos.h")).read())) + names = sorted(n for n in public if "tbigint" in n and n in sigs) + body = "" + for name in names: + ret, types = sigs[name] + decl = ", ".join(f"{t} arg{i}" for i, t in enumerate(types)) + call = ", ".join(f"arg{i}" for i in range(len(types))) + retkw = "" if ret == "void" else "return " + body += (f"\n /** MEOS {{@code {name}}} — tbigint temporal family. */\n" + f" public static {ret} {name}({decl}) {{\n" + f" if (!MEOS_AVAILABLE) {{\n" + f" throw new UnsupportedOperationException(\n" + f' "{name} requires libmeos — set -Dmeos.enabled=true");\n' + f" }}\n" + f" {retkw}GeneratedFunctions.{name}({call});\n" + f" }}\n") + txt = (MEOS_LICENSE_BANNER + "\n\n" + "package org.mobilitydb.meos;\n\n" + "/* AUTO-GENERATED by tools/codegen/emit_tbigint_facade.py — do not edit by hand.\n" + " * tbigint temporal-type family facade over functions.GeneratedFunctions.\n */\n\n" + "import functions.GeneratedFunctions;\n" + "import jnr.ffi.Pointer;\n\n" + "public final class MeosOpsTBigint {\n\n" + " public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE;\n\n" + " private MeosOpsTBigint() { /* utility */ }\n" + f"{body}}}\n") + open(os.path.join(FACADE, "MeosOpsTBigint.java"), "w").write(txt) + print(f"MeosOpsTBigint: {len(names)} methods") + + +if __name__ == "__main__": + main() diff --git a/jmeos-core/tools/codegen/regen_facade_from_jar.py b/jmeos-core/tools/codegen/regen_facade_from_jar.py new file mode 100644 index 000000000..0e00ed5e3 --- /dev/null +++ b/jmeos-core/tools/codegen/regen_facade_from_jar.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Re-derive the MeosOps* facade signatures from a JMEOS jar. + +The tier-aware generators (codegen-oo.py / codegen-free.py) emit the facade +from the MEOS-API streaming-relevance baseline. When only the binding jar is +available (e.g. bumping to a newly generated functions.GeneratedFunctions whose +type lowering changed), this tool re-emits each existing facade method with the +jar's current signature — preserving the per-class tier classification and the +Javadoc, changing only the parameter / return types to match the jar. It is the +signature-migration complement to the baseline generators, not a replacement. + +Run from : + python3 tools/codegen/regen_facade_from_jar.py \\ + src/main/java/org/mobilitydb/meos jar/JMEOS.jar + +Forwarder facades emitted by their own scripts are left untouched here +(MeosOpsParityGaps via emit_gap_methods.py, MeosOpsSqlSurface via +emit_sql_surface.py, MeosOpsRuntime hand-maintained); re-run those against the +same jar afterwards. +""" +import re, glob, os, sys, subprocess + +EXCLUDE = {"MeosOpsParityGaps.java", "MeosOpsSqlSurface.java", "MeosOpsRuntime.java"} +_SIG = re.compile(r'public static (\S+) ([a-z_][A-Za-z0-9_]*)\(([^)]*)\)') +# method block: optional Javadoc + `public static (...) {` ... 4-space `}` +_BLOCK = re.compile( + r'(?P(?:[ ]{4}/\*\*.*?\*/\n)?)' + r'[ ]{4}public static [^\n;{]*?\b(?P[a-z_][A-Za-z0-9_]*)\([^)]*\)\s*\{' + r'.*?\n[ ]{4}\}\n', + re.S) + + +def jar_signatures(jar): + out = subprocess.run(["javap", "-classpath", jar, "-p", + "functions.GeneratedFunctions"], + capture_output=True, text=True).stdout + sigs = {} + for line in out.splitlines(): + m = _SIG.search(line) + if m: + ret, name, args = m.group(1), m.group(2), m.group(3).strip() + sigs[name] = (ret, [a.strip() for a in args.split(",")] if args else []) + return sigs + + +def emit(jd, name, sigs): + if name not in sigs: + return None + ret, types = sigs[name] + decl = ", ".join(f"{t} arg{i}" for i, t in enumerate(types)) + call = ", ".join(f"arg{i}" for i in range(len(types))) + retkw = "" if ret == "void" else "return " + return (f'{jd} public static {ret} {name}({decl}) {{\n' + f' if (!MEOS_AVAILABLE) {{\n' + f' throw new UnsupportedOperationException(\n' + f' "{name} requires libmeos — set -Dmeos.enabled=true");\n' + f' }}\n' + f' {retkw}GeneratedFunctions.{name}({call});\n' + f' }}\n') + + +def main(): + facade_dir, jar = sys.argv[1], sys.argv[2] + sigs = jar_signatures(jar) + changed = 0 + for f in sorted(glob.glob(os.path.join(facade_dir, "MeosOps*.java"))): + if os.path.basename(f) in EXCLUDE: + continue + txt = open(f).read() + new = _BLOCK.sub(lambda m: emit(m.group("jd"), m.group("name"), sigs) or m.group(0), txt) + if new != txt: + open(f, "w").write(new) + changed += 1 + print(f"jar signatures: {len(sigs)}; facade files rewritten: {changed}") + + +if __name__ == "__main__": + main() diff --git a/jmeos-core/tools/parity/emit_gap_methods.py b/jmeos-core/tools/parity/emit_gap_methods.py new file mode 100644 index 000000000..6553f158e --- /dev/null +++ b/jmeos-core/tools/parity/emit_gap_methods.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +"""Emit forwarding facade methods for MEOS public-surface functions that the +generated MeosOps* facade does not yet expose. + +Each method forwards to its `functions.GeneratedFunctions` export using the +exact JMEOS signature (captured via `javap`), so the output compiles by +construction. Family and nature (scalar / sequence-constructor / tiling) are +recorded in the Javadoc; the wiring tier is governed by the wirings layer, not +by the presence of the forwarder. + +Run from : + javap -classpath jar/JMEOS.jar -p functions.GeneratedFunctions > /tmp/gen_sigs.txt + python3 tools/parity/emit_gap_methods.py /tmp/gen_sigs.txt +""" + +# Canonical MobilityDB PostgreSQL-License header, emitted on every generated file. +MEOS_LICENSE_BANNER = ( + '/*****************************************************************************\n' + ' *\n' + ' * This MobilityDB code is provided under The PostgreSQL License.\n' + ' * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB\n' + ' * contributors\n' + ' *\n' + ' * Permission to use, copy, modify, and distribute this software and its\n' + ' * documentation for any purpose, without fee, and without a written\n' + ' * agreement is hereby granted, provided that the above copyright notice and\n' + ' * this paragraph and the following two paragraphs appear in all copies.\n' + ' *\n' + ' * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR\n' + ' * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING\n' + ' * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,\n' + ' * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY\n' + ' * OF SUCH DAMAGE.\n' + ' *\n' + ' * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n' + ' * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n' + ' * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON\n' + ' * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO\n' + ' * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n' + ' *\n' + ' *****************************************************************************/' +) +import re, os, sys, glob + +HERE = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +INC = os.environ.get("MEOS_INCLUDE", "/home/esteban/src/MobilityDB/meos/include") +PUBLIC_HEADERS = ["meos.h", "meos_geo.h", "meos_cbuffer.h", "meos_npoint.h", "meos_pose.h", "meos_rgeo.h", "meos_h3.h"] +FACADE = os.path.join(HERE, "src/main/java/org/mobilitydb/meos") +OUT = os.path.join(FACADE, "MeosOpsParityGaps.java") +# Forwarder facades are themselves derived; the "already covered" baseline is the +# tier-aware generated OO classes only, so the generator reproduces idempotently. +DERIVED = {"MeosOpsParityGaps.java", "MeosOpsSqlSurface.java"} + +_DECL = re.compile(r'^\s*extern\s+.+?\b([a-z][A-Za-z0-9_]*)\s*\(', re.M) +_PUBSTATIC = re.compile(r'public static [A-Za-z0-9_.<>\[\]]+ ([a-z0-9_]+)\(') +_SIG = re.compile(r'public static (\S+) (\w+)\(([^)]*)\);') + + +def family(name, fam): + return fam.get(name, "meos.h") + + +def nature(name): + if name.endswith("_make") or "_from_base_" in name or name.endswith("make_coords"): + return "whole-sequence constructor — not a per-event op" + if name.endswith("_tiles"): + return "multidimensional tiling (windowed)" + return "scalar / stateless" + + +def main(): + sigfile = sys.argv[1] if len(sys.argv) > 1 else "/tmp/parity/gen_sigs.txt" + fam, pub = {}, set() + for h in PUBLIC_HEADERS: + for n in set(_DECL.findall(open(os.path.join(INC, h)).read())): + pub.add(n); fam.setdefault(n, h) + facade = set() + for f in glob.glob(os.path.join(FACADE, "MeosOps*.java")): + if os.path.basename(f) in DERIVED: + continue + facade |= set(_PUBSTATIC.findall(open(f).read())) + # all JMEOS signatures, grouped by name + sigs = {} + for line in open(sigfile): + m = _SIG.search(line) + if m: + ret, name, args = m.group(1), m.group(2), m.group(3).strip() + sigs.setdefault(name, []).append((ret, args)) + missing = sorted(n for n in (pub & set(sigs)) - facade) + + L = [MEOS_LICENSE_BANNER, "", "package org.mobilitydb.meos;", "", + "/**", " * Forwarding facade methods for MEOS public-surface functions not emitted", + " * by the tier-aware code generator. Each method delegates to its JMEOS", + " * {@code functions.GeneratedFunctions} export under the shared", + " * {@link MeosOpsRuntime#MEOS_AVAILABLE} guard.", + " */", + "public final class MeosOpsParityGaps {", "", + " private MeosOpsParityGaps() { /* utility */ }", ""] + count = 0 + for name in missing: + for ret, args in sigs[name]: + params = [a.strip() for a in args.split(",")] if args else [] + decl = ", ".join(f"{t} arg{i}" for i, t in enumerate(params)) + call = ", ".join(f"arg{i}" for i in range(len(params))) + ret_kw = "" if ret == "void" else "return " + L += [f" /** MEOS {{@code {name}}} — {family(name, fam)} · {nature(name)}. */", + f" public static {ret} {name}({decl}) {{", + f" if (!MeosOpsRuntime.MEOS_AVAILABLE)", + f' throw new UnsupportedOperationException("{name} requires libmeos' + f' — set -Dmeos.enabled=true");', + f" {ret_kw}functions.GeneratedFunctions.{name}({call});", + " }", ""] + count += 1 + L.append("}") + open(OUT, "w").write("\n".join(L) + "\n") + print(f"missing public-surface functions: {len(missing)}") + print(f"forwarding methods emitted: {count}") + print(f"wrote {OUT}") + + +if __name__ == "__main__": + main() diff --git a/jmeos-core/tools/parity/emit_sql_surface.py b/jmeos-core/tools/parity/emit_sql_surface.py new file mode 100644 index 000000000..b785d3c27 --- /dev/null +++ b/jmeos-core/tools/parity/emit_sql_surface.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +"""Emit forwarding facade methods for MEOS functions that the MobilityDB SQL +layer exposes as user functions but whose implementation lives in the internal +headers (`meos_internal*.h`). JMEOS binds them; exposing them here makes the +Flink facade match the SQL user surface as well as the public MEOS API. + +Each method forwards to its `functions.GeneratedFunctions` export using the +exact JMEOS signature, so the output compiles by construction. + +Run from : + javap -classpath jar/JMEOS.jar -p functions.GeneratedFunctions > /tmp/gen_sigs.txt + python3 tools/parity/emit_sql_surface.py /tmp/gen_sigs.txt +""" + +# Canonical MobilityDB PostgreSQL-License header, emitted on every generated file. +MEOS_LICENSE_BANNER = ( + '/*****************************************************************************\n' + ' *\n' + ' * This MobilityDB code is provided under The PostgreSQL License.\n' + ' * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB\n' + ' * contributors\n' + ' *\n' + ' * Permission to use, copy, modify, and distribute this software and its\n' + ' * documentation for any purpose, without fee, and without a written\n' + ' * agreement is hereby granted, provided that the above copyright notice and\n' + ' * this paragraph and the following two paragraphs appear in all copies.\n' + ' *\n' + ' * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR\n' + ' * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING\n' + ' * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,\n' + ' * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY\n' + ' * OF SUCH DAMAGE.\n' + ' *\n' + ' * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n' + ' * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n' + ' * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON\n' + ' * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO\n' + ' * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.\n' + ' *\n' + ' *****************************************************************************/' +) +import re, os, sys, glob + +HERE = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +INC = os.environ.get("MEOS_INCLUDE", "/home/esteban/src/MobilityDB/meos/include") +MDB_SQL = os.environ.get("MDB_SQL", "/home/esteban/src/MobilityDB/mobilitydb/sql") +FACADE = os.path.join(HERE, "src/main/java/org/mobilitydb/meos") +OUT = os.path.join(FACADE, "MeosOpsSqlSurface.java") + +_PUBSTATIC = re.compile(r'public static [A-Za-z0-9_.<>\[\]]+ ([a-z0-9_]+)\(') +_SIG = re.compile(r'public static (\S+) (\w+)\(([^)]*)\);') +_CREATE = re.compile(r'CREATE\s+(?:OR\s+REPLACE\s+)?FUNCTION\s+([A-Za-z0-9_]+)\s*\(', re.I) +_CSYM = re.compile(r"AS\s+'[^']*'\s*,\s*'([A-Za-z0-9_]+)'", re.I) + +OOS_SECTIONS = { + "temporal/011_span_indexes.in.sql", "temporal/012_spanset_indexes.in.sql", + "temporal/013_set_indexes.in.sql", "temporal/019_geo_constructors.in.sql", + "temporal/043_temporal_gist.in.sql", "temporal/044_temporal_spgist.in.sql", + "temporal/999_oid_cache.in.sql", "geo/073_tgeo_gist.in.sql", + "geo/073_tpoint_gist.in.sql", "geo/074_tgeo_spgist.in.sql", + "geo/074_tpoint_spgist.in.sql", "cbuffer/166_tcbuffer_indexes.in.sql", + "npoint/092_tnpoint_gin.in.sql", "npoint/098_tnpoint_indexes.in.sql", + "pose/114_tpose_indexes.in.sql", "rgeo/134_trgeo_indexes.in.sql", +} +OOS_SUFFIXES = ("_in", "_out", "_recv", "_send", "_typmod_in", "_typmod_out", + "_transfn", "_combinefn", "_finalfn", "_serialize", "_deserialize", + "_sel", "_joinsel", "_supportfn", "_analyze", + "_cmp", "_eq", "_ne", "_lt", "_le", "_gt", "_ge", "_hash", "_hash_extended") +OOS_NAMES = {"range", "multirange", "create_trip", "transform_gk"} + + +def header_names(*headers): + names = set() + for h in headers: + names |= set(re.findall(r'^\s*extern\s+.+?\b([a-z][A-Za-z0-9_]*)\s*\(', open(os.path.join(INC, h)).read(), re.M)) + return names + + +def sql_addressable(): + addr = set() + for path in glob.glob(os.path.join(MDB_SQL, "**", "*.in.sql"), recursive=True): + section = os.path.relpath(path, MDB_SQL).replace(os.sep, "/") + txt = open(path, encoding="utf-8", errors="replace").read() + for m in _CREATE.finditer(txt): + name = m.group(1); tail = txt[m.end():m.end() + 1200].split(';')[0] + cm = _CSYM.search(tail); sym = cm.group(1) if cm else None + key = (sym or name).lower() + if section in OOS_SECTIONS or key in OOS_NAMES or key.endswith(OOS_SUFFIXES): + continue + if sym is not None: + addr.add(key) + return addr + + +def main(): + sigfile = sys.argv[1] if len(sys.argv) > 1 else "/tmp/parity/gen_sigs.txt" + sigs = {} + for line in open(sigfile): + m = _SIG.search(line) + if m: + sigs.setdefault(m.group(2), []).append((m.group(1), m.group(3).strip())) + facade = set() + for f in glob.glob(os.path.join(FACADE, "MeosOps*.java")): + facade |= set(_PUBSTATIC.findall(open(f).read())) + pub = header_names("meos.h", "meos_geo.h", "meos_cbuffer.h", "meos_npoint.h", "meos_pose.h", "meos_rgeo.h") + addr = sql_addressable() + # SQL-addressable, bound by JMEOS, not in the public-surface facade, not already exposed + targets = sorted((addr & set(sigs)) - facade - pub) + + L = [MEOS_LICENSE_BANNER, "", "package org.mobilitydb.meos;", "", + "/**", " * Forwarding facade methods for MEOS functions that the MobilityDB SQL layer", + " * exposes as user functions but whose implementation lives in the internal headers", + " * ({@code meos_internal*.h}). JMEOS binds them; they are exposed here so the facade", + " * matches the SQL user surface as well as the public MEOS API. Each method delegates", + " * to its {@code functions.GeneratedFunctions} export under the", + " * {@link MeosOpsRuntime#MEOS_AVAILABLE} guard.", + " */", + "public final class MeosOpsSqlSurface {", "", + " private MeosOpsSqlSurface() { /* utility */ }", ""] + count = 0 + for name in targets: + for ret, args in sigs[name]: + params = [a.strip() for a in args.split(",")] if args else [] + decl = ", ".join(f"{t} arg{i}" for i, t in enumerate(params)) + call = ", ".join(f"arg{i}" for i in range(len(params))) + ret_kw = "" if ret == "void" else "return " + L += [f" /** MEOS {{@code {name}}} — SQL-surface function (meos_internal). */", + f" public static {ret} {name}({decl}) {{", + f" if (!MeosOpsRuntime.MEOS_AVAILABLE)", + f' throw new UnsupportedOperationException("{name} requires libmeos' + f' — set -Dmeos.enabled=true");', + f" {ret_kw}functions.GeneratedFunctions.{name}({call});", + " }", ""] + count += 1 + L.append("}") + open(OUT, "w").write("\n".join(L) + "\n") + print(f"SQL-surface (internal-backed) functions to expose: {len(targets)}") + print(f"forwarding methods emitted: {count}") + print(f"wrote {OUT}") + + +if __name__ == "__main__": + main() diff --git a/jmeos-core/tools/parity/meos-ref/PIN.txt b/jmeos-core/tools/parity/meos-ref/PIN.txt new file mode 100644 index 000000000..00f32345a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/PIN.txt @@ -0,0 +1 @@ +PIN=2c4243a265 diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/cbuffer.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/cbuffer.h new file mode 100644 index 000000000..205e34034 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/cbuffer.h @@ -0,0 +1,136 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for temporal buffers. + */ + +#ifndef __CBUFFER_H__ +#define __CBUFFER_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include + +/***************************************************************************** + * Type definitions + *****************************************************************************/ + +/* Structure to represent circular buffers */ + +struct Cbuffer +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + double radius; /**< radius */ + Datum point; /**< First 8 bytes of the point which is passed by + reference. The extra bytes needed are added upon + creation. */ + /* variable-length data follows */ +}; + +/***************************************************************************** + * fmgr macros + *****************************************************************************/ + +#define DatumGetCbufferP(X) ((Cbuffer *) DatumGetPointer(X)) +#define CbufferPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_CBUFFER_P(X) DatumGetCbufferP(PG_GETARG_DATUM(X)) +#define PG_RETURN_CBUFFER_P(X) PG_RETURN_POINTER(X) + +/*****************************************************************************/ + +/* Validity functions */ + +extern bool ensure_valid_cbuffer_cbuffer(const Cbuffer *cb1, + const Cbuffer *cb2); +extern bool ensure_valid_cbuffer_geo(const Cbuffer *cb, + const GSERIALIZED *gs); +extern bool ensure_valid_cbuffer_stbox(const Cbuffer *cb, const STBox *box); +extern bool ensure_valid_cbufferset_cbuffer(const Set *s, const Cbuffer *cb); + +/* Collinear and interpolation functions */ + +extern bool cbuffer_collinear(const Cbuffer *cb1, const Cbuffer *cb2, + const Cbuffer *cbuf3, double ratio); +extern Cbuffer *cbuffersegm_interpolate(const Cbuffer *start, + const Cbuffer *end, long double ratio); +extern long double cbuffersegm_locate(const Cbuffer *start, const Cbuffer *end, + const Cbuffer *value); + +/* Input/output functions */ + +extern Cbuffer *cbuffer_parse(const char **str, bool end); +extern char *cbuffer_wkt_out(Datum value, int maxdd, bool extended); + +/* Accessor functions */ + +extern const GSERIALIZED *cbuffer_point_p(const Cbuffer *cb); + +extern Datum datum_cbuffer_round(Datum buffer, Datum size); + +/* Transformation functions */ + +extern Cbuffer *cbuffer_transf_pj(const Cbuffer *cb, int32_t srid_to, const LWPROJ *pj); + +/* Distance function */ + +extern double cbuffer_distance(const Cbuffer *cb1, const Cbuffer *cb2); +extern Datum datum_cbuffer_distance(Datum cb1, Datum cb2); +extern int cbuffersegm_distance_turnpt(const Cbuffer *start1, + const Cbuffer *end1, const Cbuffer *start2, const Cbuffer *end2, + TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2); + +/* Spatial relationship functions */ + +extern int cbuffer_contains(const Cbuffer *cb1, const Cbuffer *cb2); +extern int cbuffer_covers(const Cbuffer *cb1, const Cbuffer *cb2); +extern int cbuffer_disjoint(const Cbuffer *cb1, const Cbuffer *cb2); +extern int cbuffer_intersects(const Cbuffer *cb1, const Cbuffer *cb2); +extern int cbuffer_dwithin(const Cbuffer *cb1, const Cbuffer *cb2, double dist); +extern int cbuffer_touches(const Cbuffer *cb1, const Cbuffer *cb2); + +extern int contains_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int covers_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int disjoint_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int intersects_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int dwithin_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2, double dist); +extern int touches_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); + +extern Datum datum_cbuffer_contains(Datum cb1, Datum cb2); +extern Datum datum_cbuffer_covers(Datum cb1, Datum cb2); +extern Datum datum_cbuffer_disjoint(Datum cb1, Datum cb2); +extern Datum datum_cbuffer_intersects(Datum cb1, Datum cb2); +extern Datum datum_cbuffer_dwithin(Datum cb1, Datum cb2, Datum dist); +extern Datum datum_cbuffer_touches(Datum cb1, Datum cb2); + +/*****************************************************************************/ + +#endif /* __CBUFFER_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_cbuffer.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_cbuffer.h new file mode 100644 index 000000000..adc2b62cb --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_cbuffer.h @@ -0,0 +1,156 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_cbuffer_base Functions for static circular buffers + * @ingroup meos_cbuffer + * @brief Functions for static circular buffers + * + * @defgroup meos_cbuffer_set Functions for circular buffer sets + * @ingroup meos_cbuffer + * @brief Functions for circular buffer sets + * + * @defgroup meos_cbuffer_inout Input and output functions + * @ingroup meos_cbuffer + * @brief Input and output functions for temporal circular buffers + * + * @defgroup meos_cbuffer_constructor Constructor functions + * @ingroup meos_cbuffer + * @brief Constructor functions for temporal circular buffers + * + * @defgroup meos_cbuffer_conversion Conversion functions + * @ingroup meos_cbuffer + * @brief Conversion functions for temporal circular buffers + * + * @defgroup meos_cbuffer_accessor Accessor functions + * @ingroup meos_cbuffer + * @brief Accessor functions for temporal circular buffers + * + * @defgroup meos_cbuffer_transf Transformation functions + * @ingroup meos_cbuffer + * @brief Transformation functions for temporal circular buffers + * + * @defgroup meos_cbuffer_restrict Restriction functions + * @ingroup meos_cbuffer + * @brief Restriction functions for temporal circular buffers + * + * @defgroup meos_cbuffer_dist Distance functions + * @ingroup meos_cbuffer + * @brief Distance functions for temporal circular buffers + * + * @defgroup meos_cbuffer_comp Comparison functions + * @ingroup meos_cbuffer + * @brief Comparison functions for temporal circular buffers + * + * @defgroup meos_cbuffer_comp_ever Ever and always comparison functions + * @ingroup meos_cbuffer_comp + * @brief Ever and always comparison functions for temporal circular buffers + * + * @defgroup meos_cbuffer_comp_temp Temporal comparison functions + * @ingroup meos_cbuffer_comp + * @brief Temporal comparison functions for temporal circular buffers + * + * @defgroup meos_cbuffer_rel Spatial relationship functions + * @ingroup meos_cbuffer + * @brief Spatial relationship functions for temporal circular buffers + * + * @defgroup meos_cbuffer_rel_ever Ever/always relationship functions + * @ingroup meos_cbuffer_rel + * @brief Ever/always relationship functions for temporal circular buffers + * + * @defgroup meos_cbuffer_rel_temp Temporal relationship functions + * @ingroup meos_cbuffer_rel + * @brief Temporal relationship functions for temporal circular buffers + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_cbuffer_base_inout Input and output functions + * @ingroup meos_cbuffer_base + * @brief Input and output functions for static circular buffers + * + * @defgroup meos_cbuffer_base_constructor Constructor functions + * @ingroup meos_cbuffer_base + * @brief Constructor functions for static circular buffers + * + * @defgroup meos_cbuffer_base_conversion Conversion functions + * @ingroup meos_cbuffer_base + * @brief Conversion functions for static circular buffers + * + * @defgroup meos_cbuffer_base_accessor Accessor functions + * @ingroup meos_cbuffer_base + * @brief Accessor functions for static circular buffers + * + * @defgroup meos_cbuffer_base_transf Transformation functions + * @ingroup meos_cbuffer_base + * @brief Transformation functions for static circular buffers + * + * @defgroup meos_cbuffer_base_srid Spatial reference system functions + * @ingroup meos_cbuffer_base + * @brief Spatial reference system functions for static circular buffers + * + * @defgroup meos_cbuffer_base_rel Spatial relationship functions + * @ingroup meos_cbuffer_base + * @brief Spatial relationship functions for static circular buffers + * + * @defgroup meos_cbuffer_base_dist Distance functions + * @ingroup meos_cbuffer_base + * @brief Distance functions for static circular buffers + * + * @defgroup meos_cbuffer_base_comp Comparison functions + * @ingroup meos_cbuffer_base + * @brief Comparison functions for static circular buffers + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_cbuffer_set_inout Input and output functions + * @ingroup meos_cbuffer_set + * @brief Input and output functions for circular buffer sets + * + * @defgroup meos_cbuffer_set_constructor Constructor functions + * @ingroup meos_cbuffer_set + * @brief Constructor functions for circular buffer sets + * + * @defgroup meos_cbuffer_set_conversion Conversion functions + * @ingroup meos_cbuffer_set + * @brief Conversion functions for circular buffer sets + * + * @defgroup meos_cbuffer_set_accessor Accessor functions + * @ingroup meos_cbuffer_set + * @brief Accessor functions for circular buffer sets + * + * @defgroup meos_cbuffer_set_setops Set operations + * @ingroup meos_cbuffer_set + * @brief Set operations for circular buffer sets + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_internal_cbuffer.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_internal_cbuffer.h new file mode 100644 index 000000000..65fdb3d78 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/doxygen_meos_internal_cbuffer.h @@ -0,0 +1,132 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_internal_cbuffer_base Functions for static circular buffers + * @ingroup meos_internal_cbuffer + * @brief Functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_set Functions for circular buffer sets + * @ingroup meos_internal_cbuffer + * @brief Functions for circular buffer sets + * + * @defgroup meos_internal_cbuffer_inout Input and output functions + * @ingroup meos_internal_cbuffer + * @brief Input and output functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_constructor Constructor functions + * @ingroup meos_internal_cbuffer + * @brief Constructor functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_conversion Conversion functions + * @ingroup meos_internal_cbuffer + * @brief Conversion functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_accessor Accessor functions + * @ingroup meos_internal_cbuffer + * @brief Accessor functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_restrict Restriction functions + * @ingroup meos_internal_cbuffer + * @brief Restriction functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_comp Comparison functions + * @ingroup meos_internal_cbuffer + * @brief Comparison functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_comp_ever Ever and always comparison functions + * @ingroup meos_internal_cbuffer_comp + * @brief Ever and always comparison functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_comp_temp Temporal comparison functions + * @ingroup meos_internal_cbuffer_comp + * @brief Temporal comparison functions for temporal circular buffers + * + * @defgroup meos_internal_cbuffer_dist Distance functions + * @ingroup meos_internal_cbuffer + * @brief Distance functions for temporal circular buffers + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_cbuffer_base_inout Input and output functions + * @ingroup meos_internal_cbuffer_base + * @brief Input and output functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_base_constructor Constructor functions + * @ingroup meos_internal_cbuffer_base + * @brief Constructor functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_base_conversion Conversion functions + * @ingroup meos_internal_cbuffer_base + * @brief Conversion functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_base_accessor Accessor functions + * @ingroup meos_internal_cbuffer_base + * @brief Accessor functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_base_transf Transformation functions + * @ingroup meos_internal_cbuffer_base + * @brief Transformation functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_base_srid Spatial reference system functions + * @ingroup meos_internal_cbuffer_base + * @brief Spatial reference system functions for static circular buffers + * + * @defgroup meos_internal_cbuffer_base_comp Comparison functions + * @ingroup meos_internal_cbuffer_base + * @brief Comparison functions for static circular buffers + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_cbuffer_set_inout Input and output functions + * @ingroup meos_internal_cbuffer_set + * @brief Input and output functions for circular buffer sets + * + * @defgroup meos_internal_cbuffer_set_constructor Constructor functions + * @ingroup meos_internal_cbuffer_set + * @brief Constructor functions for circular buffer sets + * + * @defgroup meos_internal_cbuffer_set_conversion Conversion functions + * @ingroup meos_internal_cbuffer_set + * @brief Conversion functions for circular buffer sets + * + * @defgroup meos_internal_cbuffer_set_accessor Accessor functions + * @ingroup meos_internal_cbuffer_set + * @brief Accessor functions for circular buffer sets + * + * @defgroup meos_internal_cbuffer_set_setops Set operations + * @ingroup meos_internal_cbuffer_set + * @brief Set operations for circular buffer sets + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer.h new file mode 100644 index 000000000..c68e9a0b9 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer.h @@ -0,0 +1,74 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal distance for temporal network points. + */ + +#ifndef __TCBUFFER_H__ +#define __TCBUFFER_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "cbuffer/cbuffer.h" + +/*****************************************************************************/ + +/* Validity functions */ + +extern bool ensure_valid_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb); +extern bool ensure_valid_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_valid_tcbuffer_stbox(const Temporal *temp, + const STBox *box); +extern bool ensure_valid_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2); + +/* Interpolation functions */ + +extern int tcbuffersegm_intersection_value(Datum start, Datum end, + Datum value, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); +extern int tcbuffersegm_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); + +extern int tcbuffersegm_dwithin_turnpt(Datum start1, Datum end1, Datum start2, + Datum end2, Datum dist, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); +extern int tcbuffersegm_distance_turnpt(Datum start1, Datum end1, Datum start2, + Datum end2, Datum dist UNUSED, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); + +/*****************************************************************************/ + +#endif /* __TCBUFFER_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_boxops.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_boxops.h new file mode 100644 index 000000000..72d601040 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_boxops.h @@ -0,0 +1,59 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Bounding box operators for temporal circular buffers. + */ + +#ifndef __TCBUFFER_BOXOPS_H__ +#define __TCBUFFER_BOXOPS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "cbuffer/cbuffer.h" + +/*****************************************************************************/ + +extern bool cbuffer_set_stbox(const Cbuffer *cb, STBox *box); +extern void cbufferarr_set_stbox(const Datum *values, int count, STBox *box); +extern bool cbuffer_timestamptz_set_stbox(const Cbuffer *cb, TimestampTz t, + STBox *box); +extern bool cbuffer_tstzspan_set_stbox(const Cbuffer *cb, const Span *s, + STBox *box); + +extern void tcbufferinst_set_stbox(const TInstant *inst, STBox *box); +extern void tcbufferinstarr_set_stbox(TInstant **instants, int count, + STBox *box); +extern void tcbufferseq_expand_stbox(const TSequence *seq, const TInstant *inst); + +/*****************************************************************************/ + +#endif /* __TCBUFFER_BOXOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialfuncs.h new file mode 100644 index 000000000..3f4317169 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialfuncs.h @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal distance for temporal network points. + */ + +#ifndef __TCBUFFER_SPATIALFUNCS_H__ +#define __TCBUFFER_SPATIALFUNCS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "cbuffer/cbuffer.h" + +/*****************************************************************************/ + +/* Traversed area functions */ + +extern GSERIALIZED *tcbufferinst_trav_area(const TInstant *inst); +extern GSERIALIZED *tcbufferseq_trav_area(const TSequence *seq); +extern GSERIALIZED *tcbufferseqset_trav_area(const TSequenceSet *ss); +extern GSERIALIZED *tcbuffersegm_trav_area(const TInstant *inst1, + const TInstant *inst2); + +/* Restriction functions */ + +extern Temporal *tcbuffer_restrict_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool atfunc); +extern Temporal *tcbuffer_restrict_stbox(const Temporal *temp, + const STBox *box, bool border_inc, bool atfunc); +extern Temporal *tcbuffer_restrict_geom(const Temporal *temp, + const GSERIALIZED *gs, bool atfunc); + +/*****************************************************************************/ + +#endif /* __TCBUFFER_SPATIALFUNCS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialrels.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialrels.h new file mode 100644 index 000000000..d4dfc6db4 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_spatialrels.h @@ -0,0 +1,107 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Spatial relationships for temporal points. + */ + +#ifndef __TCBUFFER_SPATIALRELS_H__ +#define __TCBUFFER_SPATIALRELS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "cbuffer/cbuffer.h" + +/*****************************************************************************/ + +extern int ea_contains_geo_tcbuffer(const GSERIALIZED *gs, + const Temporal *temp, bool ever); +extern int ea_contains_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs, bool ever); +extern int ea_contains_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool ever); +extern int ea_contains_cbuffer_tcbuffer(const Cbuffer *cb, + const Temporal *temp, bool ever); +// extern int ea_contains_tcbuffer_tcbuffer(const Temporal *temp1, +// const Temporal *temp2, bool ever); + +extern int ea_covers_geo_tcbuffer(const GSERIALIZED *gs, + const Temporal *temp, bool ever); +extern int ea_covers_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs, bool ever); +extern int ea_covers_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool ever); +extern int ea_covers_cbuffer_tcbuffer(const Cbuffer *cb, + const Temporal *temp, bool ever); +extern int ea_covers_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2, bool ever); + +extern int ea_disjoint_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs, bool ever); +extern int ea_disjoint_geo_tcbuffer(const GSERIALIZED *gs, + const Temporal *temp, bool ever); +extern int ea_disjoint_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool ever); +extern int ea_disjoint_cbuffer_tcbuffer(const Cbuffer *cb, + const Temporal *temp, bool ever); +extern int ea_disjoint_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2, bool ever); + +extern int ea_intersects_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs, bool ever); +extern int ea_intersects_geo_tcbuffer(const GSERIALIZED *gs, + const Temporal *temp, bool ever); +extern int ea_intersects_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool ever); +extern int ea_intersects_cbuffer_tcbuffer(const Cbuffer *cb, + const Temporal *temp, bool ever); +extern int ea_intersects_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2, bool ever); + +extern int ea_touches_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs, bool ever); +extern int ea_touches_geo_tcbuffer(const GSERIALIZED *gs, + const Temporal *temp, bool ever); +extern int ea_touches_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool ever); +extern int ea_touches_cbuffer_tcbuffer(const Cbuffer *cb, + const Temporal *temp, bool ever); +extern int ea_touches_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2, bool ever); + +extern int edwithin_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2, double dist); +extern int adwithin_tcbuffer_tcbuffer(const Temporal *temp1, + const Temporal *temp2, double dist); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_tempspatialrels.h b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_tempspatialrels.h new file mode 100644 index 000000000..7c6d0be73 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/cbuffer/tcbuffer_tempspatialrels.h @@ -0,0 +1,54 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Spatiotemporal relationships for temporal points. + */ + +#ifndef __TCBUFFER_TEMPSPATIALRELS_H__ +#define __TCBUFFER_TEMPSPATIALRELS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "cbuffer/cbuffer.h" + +/*****************************************************************************/ + +extern Temporal *tinterrel_tcbuffer_cbuffer(const Temporal *temp, + const Cbuffer *cb, bool tinter); +extern Temporal *tinterrel_tcbuffer_geo(const Temporal *temp, + const GSERIALIZED *gs, bool tinter); +// extern Temporal *tinterrel_tcbuffer_tcbuffer(const Temporal *temp1, +// const Temporal *temp2, bool tinter); + +/*****************************************************************************/ + +#endif /* __TCBUFFER_TEMPSPATIALRELS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_geo.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_geo.h new file mode 100644 index 000000000..8f590fb11 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_geo.h @@ -0,0 +1,252 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_geo_base Functions for static geometries + * @ingroup meos_geo + * @brief Functions for static geometries + * + * @defgroup meos_geo_set Functions for spatial sets + * @ingroup meos_geo + * @brief Functions for spatial sets + * + * @defgroup meos_geo_box Functions for spatiotemporal boxes + * @ingroup meos_geo + * @brief Functions for spatiotemporal boxes + * + * @defgroup meos_geo_inout Input and output functions + * @ingroup meos_geo + * @brief Input and output functions for temporal geometries + * + * @defgroup meos_geo_constructor Constructor functions + * @ingroup meos_geo + * @brief Constructor functions for temporal geometries + * + * @defgroup meos_geo_conversion Conversion functions + * @ingroup meos_geo + * @brief Conversion functions for temporal geometries + * + * @defgroup meos_geo_accessor Accessor functions + * @ingroup meos_geo + * @brief Accessor functions for temporal geometries + * + * @defgroup meos_geo_transf Transformation functions + * @ingroup meos_geo + * @brief Transformation functions for temporal geometries + * + * @defgroup meos_geo_restrict Restriction functions + * @ingroup meos_geo + * @brief Restriction functions for temporal geometries + * + * @defgroup meos_geo_comp Comparison functions + * @ingroup meos_geo + * @brief Comparison functions for temporal geometries + * + * @defgroup meos_geo_comp_ever Ever and always comparison functions + * @ingroup meos_geo_comp + * @brief Ever and always comparison functions for temporal geometries + * + * @defgroup meos_geo_comp_temp Temporal comparison functions + * @ingroup meos_geo_comp + * @brief Temporal comparison functions for temporal geometries + * + * @defgroup meos_geo_bbox Bounding box functions + * @ingroup meos_geo + * @brief Bounding box functions for temporal geometries + * + * @defgroup meos_geo_bbox_split Split functions + * @ingroup meos_geo_bbox + * @brief Split functions for temporal geometries + * + * @defgroup meos_geo_bbox_topo Topological functions + * @ingroup meos_geo_bbox + * @brief Topological functions for temporal geometries + * + * @defgroup meos_geo_bbox_pos Position functions + * @ingroup meos_geo_bbox + * @brief Position functions for temporal geometries + * + * @defgroup meos_geo_distance Distance functions + * @ingroup meos_geo + * @brief Distance functions for temporal geometries + * + * @defgroup meos_geo_srid Spatial reference system functions + * @ingroup meos_geo + * @brief Spatial reference system functions for temporal geometries + * + * @defgroup meos_geo_rel Spatial relationship functions + * @ingroup meos_geo + * @brief Spatial relationship functions for temporal geometries + * + * @defgroup meos_geo_rel_ever Ever/always relationship functions + * @ingroup meos_geo_rel + * @brief Ever/always relationship functions for temporal geometries + * + * @defgroup meos_geo_rel_temp Temporal relationship functions + * @ingroup meos_geo_rel + * @brief Temporal relationship functions for temporal geometries + * + * @defgroup meos_geo_agg Aggregate functions + * @ingroup meos_geo + * @brief Aggregate functions for temporal geometries + * + * @defgroup meos_geo_tile Tile functions + * @ingroup meos_geo + * @brief Tile functions for temporal geometries + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_geo_base_inout Input and output functions + * @ingroup meos_geo_base + * @brief Input and output functions for static geometries + * + * @defgroup meos_geo_base_constructor Constructor functions + * @ingroup meos_geo_base + * @brief Constructor functions for static geometries + * + * @defgroup meos_geo_base_conversion Conversion functions + * @ingroup meos_geo_base + * @brief Conversion functions for static geometries + * + * @defgroup meos_geo_base_accessor Accessor functions + * @ingroup meos_geo_base + * @brief Accessor functions for static geometries + * + * @defgroup meos_geo_base_transf Transformation functions + * @ingroup meos_geo_base + * @brief Transformation functions for static geometries + * + * @defgroup meos_geo_base_srid Spatial reference system functions + * @ingroup meos_geo_base + * @brief Spatial reference system functions for temporal geos + * + * @defgroup meos_geo_base_spatial Spatial processing functions + * @ingroup meos_geo_base + * @brief Spatial processing functions for static geometries + * + * @defgroup meos_geo_base_rel Spatial relationship functions + * @ingroup meos_geo_base + * @brief Spatial relationship functions for temporal geos + * + * @defgroup meos_geo_base_bbox Bounding box functions + * @ingroup meos_geo_base + * @brief Bounding box functions for static geometries + * + * @defgroup meos_geo_base_distance Distance functions + * @ingroup meos_geo_base + * @brief Distance functions for static geometries + * + * @defgroup meos_geo_base_comp Comparison functions + * @ingroup meos_geo_base + * @brief Comparison functions for static geometries + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_geo_set_inout Input and output functions + * @ingroup meos_geo_set + * @brief Input and output functions for spatial sets + * + * @defgroup meos_geo_set_constructor Constructor functions + * @ingroup meos_geo_set + * @brief Constructor functions for spatial sets + * + * @defgroup meos_geo_set_conversion Conversion functions + * @ingroup meos_geo_set + * @brief Conversion functions for spatial sets + * + * @defgroup meos_geo_set_accessor Accessor functions + * @ingroup meos_geo_set + * @brief Accessor functions for spatial sets + * + * @defgroup meos_geo_set_srid Spatial reference system functions + * @ingroup meos_geo_set + * @brief Spatial reference system functions for spatial sets + * + * @defgroup meos_geo_set_setops Set operations + * @ingroup meos_geo_set + * @brief Set operations for geometry sets + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_geo_box_inout Input and output functions + * @ingroup meos_geo_box + * @brief Input and output functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_constructor Constructor functions + * @ingroup meos_geo_box + * @brief Constructor functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_conversion Conversion functions + * @ingroup meos_geo_box + * @brief Conversion functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_accessor Accessor functions + * @ingroup meos_geo_box + * @brief Accessor functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_transf Transformation functions + * @ingroup meos_geo_box + * @brief Transformation functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_srid Spatial reference system functions + * @ingroup meos_geo_box + * @brief Spatial reference system functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_bbox Bounding box functions + * @ingroup meos_geo_box + * @brief Bounding box functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_topo Topological functions + * @ingroup meos_geo_box_bbox + * @brief Topological functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_pos Position functions + * @ingroup meos_geo_box_bbox + * @brief Position functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_set Set functions + * @ingroup meos_geo_box + * @brief Set functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_comp Comparison functions + * @ingroup meos_geo_box + * @brief Comparison functions for spatiotemporal boxes + * + * @defgroup meos_geo_box_index Index functions + * @ingroup meos_geo_box + * @brief In-memory RTree index for spatiotemporal boxes + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_internal_geo.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_internal_geo.h new file mode 100644 index 000000000..1773884c6 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/doxygen_meos_internal_geo.h @@ -0,0 +1,236 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_internal_geo_base Functions for static geometries + * @ingroup meos_internal_geo + * @brief Functions for static geometries + * + * @defgroup meos_internal_geo_set Functions for geometry sets + * @ingroup meos_internal_geo + * @brief Functions for geometry sets + * + * @defgroup meos_internal_geo_box Functions for spatiotemporal boxes + * @ingroup meos_internal_geo + * @brief Functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_inout Input and output functions + * @ingroup meos_internal_geo + * @brief Input and output functions for temporal geometries + * + * @defgroup meos_internal_geo_constructor Constructor functions + * @ingroup meos_internal_geo + * @brief Constructor functions for temporal geometries + * + * @defgroup meos_internal_geo_conversion Conversion functions + * @ingroup meos_internal_geo + * @brief Conversion functions for temporal geometries + * + * @defgroup meos_internal_geo_accessor Accessor functions + * @ingroup meos_internal_geo + * @brief Accessor functions for temporal geometries + * + * @defgroup meos_internal_geo_transf Transformation functions + * @ingroup meos_internal_geo + * @brief Transformation functions for temporal geometries + * + * @defgroup meos_internal_geo_restrict Restriction functions + * @ingroup meos_internal_geo + * @brief Restriction functions for temporal geometries + * + * @defgroup meos_internal_geo_comp Comparison functions + * @ingroup meos_internal_geo + * @brief Comparison functions for temporal geometries + * + * @defgroup meos_internal_geo_comp_ever Ever and always comparison functions + * @ingroup meos_internal_geo_comp + * @brief Ever and always comparison functions for temporal geometries + * + * @defgroup meos_internal_geo_comp_temp Temporal comparison functions + * @ingroup meos_internal_geo_comp + * @brief Temporal comparison functions for temporal geometries + * + * @defgroup meos_internal_geo_bbox Bounding box functions + * @ingroup meos_internal_geo + * @brief Bounding box functions for temporal geometries + * + * @defgroup meos_internal_geo_bbox_topo Topological functions + * @ingroup meos_internal_geo_bbox + * @brief Topological functions for temporal geometries + * + * @defgroup meos_internal_geo_bbox_pos Position functions + * @ingroup meos_internal_geo_bbox + * @brief Position functions for temporal geometries + * + * @defgroup meos_internal_geo_dist Distance functions + * @ingroup meos_internal_geo + * @brief Distance functions for temporal geometries + * + * @defgroup meos_internal_geo_srid Spatial reference system functions + * @ingroup meos_internal_geo + * @brief Spatial reference system functions for temporal geos + * + * @defgroup meos_internal_geo_rel Spatial relationship functions + * @ingroup meos_internal_geo + * @brief Spatial relationship functions for temporal geos + * + * @defgroup meos_internal_geo_rel_ever Ever/always relationship functions + * @ingroup meos_internal_geo_rel + * @brief Ever/always relationship functions for temporal geometries + * + * @defgroup meos_internal_geo_rel_temp Temporal relationship functions + * @ingroup meos_internal_geo_rel + * @brief Temporal relationship functions for temporal geometries + * + * @defgroup meos_internal_geo_agg Aggregate functions + * @ingroup meos_internal_geo + * @brief Aggregate functions for temporal geometries + * + * @defgroup meos_internal_geo_tile Tile functions + * @ingroup meos_internal_geo + * @brief Tile functions for temporal geometries + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_geo_base_inout Input and output functions + * @ingroup meos_internal_geo_base + * @brief Input and output functions for static geometries + * + * @defgroup meos_internal_geo_base_constructor Constructor functions + * @ingroup meos_internal_geo_base + * @brief Constructor functions for static geometries + * + * @defgroup meos_internal_geo_base_conversion Conversion functions + * @ingroup meos_internal_geo_base + * @brief Conversion functions for static geometries + * + * @defgroup meos_internal_geo_base_accessor Accessor functions + * @ingroup meos_internal_geo_base + * @brief Accessor functions for static geometries + * + * @defgroup meos_internal_geo_base_transf Transformation functions + * @ingroup meos_internal_geo_base + * @brief Transformation functions for static geometries + * + * @defgroup meos_internal_geo_base_srid Spatial reference system functions + * @ingroup meos_internal_geo_base + * @brief Spatial reference system functions for temporal geos + * + * @defgroup meos_internal_geo_base_spatial Spatial processing functions + * @ingroup meos_internal_geo_base + * @brief Spatial processing functions for static geometries + * + * @defgroup meos_internal_geo_base_rel Spatial relationship functions + * @ingroup meos_internal_geo_base + * @brief Spatial relationship functions for temporal geos + * + * @defgroup meos_internal_geo_base_bbox Bounding box functions + * @ingroup meos_internal_geo_base + * @brief Bounding box functions for static geometries + * + * @defgroup meos_internal_geo_base_comp Comparison functions + * @ingroup meos_internal_geo_base + * @brief Comparison functions for static geometries + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_geo_set_inout Input and output functions + * @ingroup meos_internal_geo_set + * @brief Input and output functions for geometry sets + * + * @defgroup meos_internal_geo_set_constructor Constructor functions + * @ingroup meos_internal_geo_set + * @brief Constructor functions for geometry sets + * + * @defgroup meos_internal_geo_set_conversion Conversion functions + * @ingroup meos_internal_geo_set + * @brief Conversion functions for geometry sets + * + * @defgroup meos_internal_geo_set_accessor Accessor functions + * @ingroup meos_internal_geo_set + * @brief Accessor functions for geometry sets + * + * @defgroup meos_internal_geo_set_setops Set operations + * @ingroup meos_internal_geo_set + * @brief Set operations for geometry sets + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_geo_box_inout Input and output functions + * @ingroup meos_internal_geo_box + * @brief Input and output functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_constructor Constructor functions + * @ingroup meos_internal_geo_box + * @brief Constructor functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_conversion Conversion functions + * @ingroup meos_internal_geo_box + * @brief Conversion functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_accessor Accessor functions + * @ingroup meos_internal_geo_box + * @brief Accessor functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_transf Transformation functions + * @ingroup meos_internal_geo_box + * @brief Transformation functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_srid Spatial reference system functions + * @ingroup meos_internal_geo_box + * @brief Spatial reference system functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_bbox Bounding box functions + * @ingroup meos_internal_geo_box + * @brief Bounding box functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_topo Topological functions + * @ingroup meos_internal_geo_box_bbox + * @brief Topological functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_pos Position functions + * @ingroup meos_internal_geo_box_bbox + * @brief Position functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_set Set functions + * @ingroup meos_internal_geo_box + * @brief Set functions for spatiotemporal boxes + * + * @defgroup meos_internal_geo_box_comp Comparison functions + * @ingroup meos_internal_geo_box + * @brief Comparison functions for spatiotemporal boxes + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/meos_transform.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/meos_transform.h new file mode 100644 index 000000000..c7c4e1cb1 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/meos_transform.h @@ -0,0 +1,66 @@ +/********************************************************************** + * + * PostGIS - Spatial Types for PostgreSQL + * http://postgis.net + * Copyright 2001-2003 Refractions Research Inc. + * + * This is free software; you can redistribute and/or modify it under + * the terms of the GNU General Public Licence. See the COPYING file. + * + **********************************************************************/ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include + +/* Prototypes */ + +extern int lwproj_lookup(int32_t srid_from, int32_t srid_to, LWPROJ **pj); +extern int spheroid_init_from_srid(int32_t srid, SPHEROID *s); +extern void srid_check_latlong(int32_t srid); +extern int srid_is_latlong(int32_t srid); + +/** + * Builtin SRID values + * @{ + */ + +/** Start of the reserved offset */ +#define SRID_RESERVE_OFFSET 999000 + +/** World Mercator, equivalent to EPSG:3395 */ +#define SRID_WORLD_MERCATOR 999000 + +/** Start of UTM North zone, equivalent to EPSG:32601 */ +#define SRID_NORTH_UTM_START 999001 + +/** End of UTM North zone, equivalent to EPSG:32660 */ +#define SRID_NORTH_UTM_END 999060 + +/** Lambert Azimuthal Equal Area (LAEA) North Pole, equivalent to EPSG:3574 */ +#define SRID_NORTH_LAMBERT 999061 + +/** PolarSteregraphic North, equivalent to EPSG:3995 */ +#define SRID_NORTH_STEREO 999062 + +/** Start of UTM South zone, equivalent to EPSG:32701 */ +#define SRID_SOUTH_UTM_START 999101 + +/** Start of UTM South zone, equivalent to EPSG:32760 */ +#define SRID_SOUTH_UTM_END 999160 + +/** Lambert Azimuthal Equal Area (LAEA) South Pole, equivalent to EPSG:3409 */ +#define SRID_SOUTH_LAMBERT 999161 + +/** PolarSteregraphic South, equivalent to EPSG:3031 */ +#define SRID_SOUTH_STEREO 999162 + +/** LAEA zones start (6 latitude bands x up to 20 longitude bands) */ +#define SRID_LAEA_START 999163 + +/** LAEA zones end (6 latitude bands x up to 20 longitude bands) */ +#define SRID_LAEA_END 999283 + +/** @} */ + diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/postgis_funcs.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/postgis_funcs.h new file mode 100644 index 000000000..b25d77220 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/postgis_funcs.h @@ -0,0 +1,85 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for geometry types corresponding to external + * PostGIS functions in order to bypass the function manager @p fmgr.c. + */ + +#ifndef __POSTGIS_FUNCS_H__ +#define __POSTGIS_FUNCS_H__ + +/*****************************************************************************/ + +/* GEOS */ +#include +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include +#include + +/* Functions borrowed from lwgeom_pg.c */ + +extern GSERIALIZED* geom_serialize(LWGEOM *lwgeom); +extern GSERIALIZED* geog_serialize(LWGEOM *lwgeom); + +/* Functions adapted from gserialized_typmod.c */ + +extern GSERIALIZED *postgis_valid_typmod(GSERIALIZED *gs, int32_t typmod); + +extern char *geo_as_wkt(const GSERIALIZED *gs, int precision, bool extended); + +/* Functions adapted from lwgeom_box.c */ + +extern LWGEOM *box2d_to_lwgeom(GBOX *box, int32_t srid); + +/* Functions adapted from lwgeom_box3d.c */ + +extern LWGEOM *box3d_to_lwgeom(BOX3D *box); + +/* Functions adapted from lwgeom_geos.c */ + +extern GEOSGeometry *POSTGIS2GEOS(const GSERIALIZED *pglwgeom); +extern GSERIALIZED *GEOS2POSTGIS(GEOSGeom geom, char want3d); + +extern bool geom_spatialrel(const GSERIALIZED *gs1, const GSERIALIZED *gs2, + spatialRel rel); + +/* Functions adapted from lwgeom_lrs.c */ + +extern LWGEOM *lwgeom_line_interpolate_point(LWGEOM *geom, double fraction, + int32_t srid, char repeat); + +/*****************************************************************************/ + +#endif /* __POSTGIS_FUNCS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox.h new file mode 100644 index 000000000..67df1b13b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox.h @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for spatiotemporal bounding boxes. + */ + +#ifndef __STBOX_H__ +#define __STBOX_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include + +/***************************************************************************** + * fmgr macros + *****************************************************************************/ + +#define DatumGetSTboxP(X) ((STBox *) DatumGetPointer(X)) +#define STboxPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_STBOX_P(n) DatumGetSTboxP(PG_GETARG_DATUM(n)) +#define PG_RETURN_STBOX_P(x) return STboxPGetDatum(x) + +/*****************************************************************************/ + +/* Set an STBox from a */ + +extern void point_get_coords(const GSERIALIZED *point, bool hasz, + double *x, double *y, double *z); +extern void tstzset_stbox_slice(Datum tsdatum, STBox *box); +extern void tstzspanset_stbox_slice(Datum psdatum, STBox *box); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox_index.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox_index.h new file mode 100644 index 000000000..6c51c8b05 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/stbox_index.h @@ -0,0 +1,54 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic routines for indexing temporal numbers + */ + +#ifndef __STBOX_INDEX_H__ +#define __STBOX_INDEX_H__ + +/* PostgreSQL */ +#include +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern bool stbox_index_leaf_consistent(const STBox *key, const STBox *query, + StrategyNumber strategy); +extern bool stbox_gist_inner_consistent(const STBox *key, const STBox *query, + StrategyNumber strategy); +extern bool stbox_index_recheck(StrategyNumber strategy); + +/*****************************************************************************/ + +#endif /* __STBOX_INDEX_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo.h new file mode 100644 index 000000000..12a3ff3cb --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo.h @@ -0,0 +1,65 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for temporal geos. + */ + +#ifndef __TGEO_H__ +#define __TGEO_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/* General functions */ + +extern void mobilitydb_init(void); + +/* Conversion functions */ + +extern STBox *geo_stbox(const GSERIALIZED *gs); +extern GSERIALIZED *stbox_geo(const STBox *box); + +/* Temporal comparisons */ + +extern Temporal *tcomp_geo_tgeo(const GSERIALIZED *gs, + const Temporal *temp, Datum (*func)(Datum, Datum, MeosType)); +extern Temporal *tcomp_tgeo_geo(const Temporal *temp, + const GSERIALIZED *gs, Datum (*func)(Datum, Datum, MeosType)); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_aggfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_aggfuncs.h new file mode 100644 index 000000000..be689c05c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_aggfuncs.h @@ -0,0 +1,71 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Aggregate functions for temporal geos. + */ + +#ifndef __TGEO_AGGFUNCS_H__ +#define __TGEO_AGGFUNCS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include + + +/*****************************************************************************/ + +/** + * Structure storing the SRID and the dimensionality of the temporal geo + * values for aggregation. Notice that for the moment we do not aggregate + * temporal geographic points. + */ +struct GeoAggregateState +{ + int32_t srid; + bool hasz; +}; + +/*****************************************************************************/ + +extern bool ensure_geoaggstate(const SkipList *state, int32_t srid, bool hasz); +extern bool ensure_geoaggstate_state(const SkipList *state1, + const SkipList *state2); + +extern Temporal **tpoint_transform_tcentroid(const Temporal *temp, int *count); +extern TSequence *tpointinst_tcentroid_finalfn(TInstant **instants, int count, + int32_t srid); +extern TSequenceSet *tpointseq_tcentroid_finalfn(TSequence **sequences, + int count, int32_t srid); +extern Temporal *tpoint_tcentroid_finalfn(SkipList *state); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_distance.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_distance.h new file mode 100644 index 000000000..d7c9bddf5 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_distance.h @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Distance functions for temporal points. + */ + +#ifndef __TGEO_DISTANCE_H__ +#define __TGEO_DISTANCE_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern bool point3d_min_dist(const POINT3DZ *p1, const POINT3DZ *p2, + const POINT3DZ *p3, const POINT3DZ *p4, double *fraction); + +extern int tgeompointsegm_distance_turnpt(Datum start1, Datum end1, + Datum start2, Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); +extern int tgeogpointsegm_distance_turnpt(Datum start1, Datum end1, + Datum start2, Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); + +extern double tnumberinst_distance(const TInstant *inst1, + const TInstant *inst2); +extern double tinstant_distance(const TInstant *inst1, const TInstant *inst2, + datum_func2 func); + +/*****************************************************************************/ + +#endif /* __TGEO_DISTANCE_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_restrict.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_restrict.h new file mode 100644 index 000000000..7b792a255 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_restrict.h @@ -0,0 +1,55 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Restriction functions for temporal points. + */ + +#ifndef __TPOINT_RESTRICT_H__ +#define __TPOINT_RESTRICT_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include + +/*****************************************************************************/ + +/* Restriction functions */ + +extern TSequence **tpointseq_at_geom(const TSequence *seq, + const GSERIALIZED *gs, int *count); +extern Span *tpointseq_interperiods(const TSequence *seq, + const GSERIALIZED *gs, int *count); + +/*****************************************************************************/ + +#endif /* __TPOINT_RESTRICT_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialfuncs.h new file mode 100644 index 000000000..b0de08de1 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialfuncs.h @@ -0,0 +1,208 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Spatial functions for temporal points. + */ + +#ifndef __TGEO_SPATIALFUNCS_H__ +#define __TGEO_SPATIALFUNCS_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/** Symbolic constants for transforming tgeompoint <-> tgeogpoint */ +#define TGEOMP_TO_TGEOGP true +#define TGEOGP_TO_TGEOMP false + +/** Symbolic constants for transforming tgeompoint <-> tgeogpoint */ +#define TGEOM_TO_TGEOG true +#define TGEOG_TO_TGEOM false + +/** Symbolic constants for transforming tgeo <-> tpoint */ +#define TGEO_TO_TPOINT true +#define TPOINT_TO_TGEO false + +/*****************************************************************************/ + +/* Utility functions */ + +extern void datum_point4d(Datum value, POINT4D *p); +extern int geopoint_cmp(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geopoint_eq(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geopoint_same(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool datum_point_eq(Datum point1, Datum point2); +extern bool datum_point_same(Datum point1, Datum point2); +extern Datum datum2_point_eq(Datum point1, Datum point2); +extern Datum datum2_point_ne(Datum point1, Datum point2); +extern Datum datum2_point_same(Datum point1, Datum point2); +extern Datum datum2_point_nsame(Datum point1, Datum point2); +extern Datum datum2_geom_centroid(Datum geo); +extern Datum datum2_geog_centroid(Datum geo); +extern GSERIALIZED **geo_extract_elements(const GSERIALIZED *gs, int *count); +extern GSERIALIZED *geo_serialize(const LWGEOM *geom); + +/* Generic functions */ + +extern datum_func2 geo_distance_fn(int16 flags); +extern datum_func2 pt_distance_fn(int16 flags); +extern Datum datum_geom_distance2d(Datum geom1, Datum geom2); +extern Datum datum_geom_distance3d(Datum geom1, Datum geom2); +extern Datum datum_geog_distance(Datum geog1, Datum geog2); +extern Datum datum_pt_distance2d(Datum geom1, Datum geom2); +extern Datum datum_pt_distance3d(Datum geom1, Datum geom2); +extern int16 spatial_flags(Datum d, MeosType basetype); + +/* Validity functions */ + +extern bool ensure_srid_is_latlong(int32_t srid); +extern bool ensure_spatial_validity(const Temporal *temp1, + const Temporal *temp2); +extern int spheroid_init_from_srid(int32_t srid, SPHEROID *s); +extern bool ensure_not_geodetic(int16 flags); +extern bool ensure_same_geodetic(int16 flags1, int16 flags2); +extern bool ensure_same_geodetic_geo(const GSERIALIZED *gs1, + const GSERIALIZED *gs2); +extern bool ensure_same_geodetic_tspatial_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_same_geodetic_tspatial_base(const Temporal *temp, + Datum base); +extern bool ensure_srid_known(int32_t srid); +extern bool ensure_same_srid(int32_t srid1, int32_t srid2); +extern bool ensure_same_dimensionality(int16 flags1, int16 flags2); +extern bool same_spatial_dimensionality(int16 flags1, int16 flags2); +extern bool ensure_same_spatial_dimensionality(int16 flags1, int16 flags2); +extern bool ensure_same_dimensionality_geo(const GSERIALIZED *gs1, + const GSERIALIZED *gs2); +extern bool same_dimensionality_tspatial_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_same_dimensionality_tspatial_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_same_spatial_dimensionality_stbox_geo(const STBox *box, + const GSERIALIZED *gs); +extern bool ensure_same_geodetic_stbox_geo(const STBox *box, + const GSERIALIZED *gs); +extern bool ensure_has_Z_geo(const GSERIALIZED *gs); +extern bool ensure_has_not_Z_geo(const GSERIALIZED *gs); +extern bool ensure_has_M_geo(const GSERIALIZED *gs); +extern bool ensure_has_not_M_geo(const GSERIALIZED *gs); +extern bool ensure_not_geodetic_geo(const GSERIALIZED *gs); +extern bool ensure_point_type(const GSERIALIZED *gs); +extern bool ensure_mline_type(const GSERIALIZED *gs); +extern bool circle_type(const GSERIALIZED *gs); +extern bool ensure_circle_type(const GSERIALIZED *gs); +extern bool ensure_not_empty(const GSERIALIZED *gs); +extern bool ensure_valid_stbox_geo(const STBox *box, const GSERIALIZED *gs); +extern bool ensure_valid_tspatial_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_valid_tspatial_base(const Temporal *temp, Datum base); +extern bool ensure_valid_tspatial_tspatial(const Temporal *temp1, + const Temporal *temp2); +extern bool ensure_valid_spatial_stbox_stbox(const STBox *box1, + const STBox *box2); +extern bool ensure_valid_tgeo_stbox(const Temporal *temp, const STBox *box); +extern bool ensure_valid_geo_geo(const GSERIALIZED *gs1, + const GSERIALIZED *gs2); +extern bool ensure_valid_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern bool ensure_valid_tgeo_tgeo(const Temporal *temp1, + const Temporal *temp2); +extern bool ensure_valid_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); +extern bool ensure_valid_tpoint_tpoint(const Temporal *temp1, + const Temporal *temp2); + +extern bool mline_type(const GSERIALIZED *gs); + +/* Functions for extracting coordinates */ + +extern Temporal *tpoint_get_coord(const Temporal *temp, int coord); + +/* Ever/always comparisons */ + +extern int eacomp_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + Datum (*func)(Datum, Datum, MeosType), bool ever); + +/* Functions derived from PostGIS to increase floating-point precision */ + +extern long double closest_point2d_on_segment_ratio(const POINT2D *p, + const POINT2D *A, const POINT2D *B, POINT2D *closest); +extern long double closest_point3dz_on_segment_ratio(const POINT3DZ *p, + const POINT3DZ *A, const POINT3DZ *B, POINT3DZ *closest); +extern long double closest_point_on_segment_sphere(const POINT4D *p, + const POINT4D *A, const POINT4D *B, POINT4D *closest, double *dist); +extern void interpolate_point4d_spheroid(const POINT4D *p1, const POINT4D *p2, + POINT4D *p, const SPHEROID *s, double f); + +/* Functions specializing the PostGIS functions ST_LineInterpolatePoint and + * ST_LineLocatePoint */ + +extern GSERIALIZED *geopoint_make(double x, double y, double z, bool hasz, + bool geodetic, int32_t srid); +extern LWGEOM *lwcircle_make(double x, double y, double radius, int32_t srid); +extern GSERIALIZED *geocircle_make(double x, double y, double radius, + int32_t srid); +extern Datum pointsegm_interpolate(Datum start, Datum end, + long double ratio); +extern long double pointsegm_locate(Datum start, Datum end, Datum point, + double *dist); + +/* Intersection functions */ + +extern int tgeompointsegm_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); +extern int tgeogpointsegm_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); + +extern bool geopoint_collinear(Datum value1, Datum value2, Datum value3, + double ratio, bool hasz, bool geodetic); + +/* Trajectory functions */ + +extern LWGEOM **lwpointarr_remove_duplicates(LWGEOM **points, int count, + int *newcount); +extern LWGEOM *lwpointarr_make_trajectory(LWGEOM **points, int count, + interpType interp); +extern LWLINE *lwline_make(Datum value1, Datum value2); +extern LWGEOM *lwcoll_from_points_lines(LWGEOM **points, LWGEOM **lines, + int npoints, int nlines); + +/* Stop function */ + +int tpointseq_stops_iter(const TSequence *seq, double maxdist, int64 mintunits, + TSequence **result); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialrels.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialrels.h new file mode 100644 index 000000000..c8af8a617 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_spatialrels.h @@ -0,0 +1,127 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Spatial relationships for temporal points. + */ + +#ifndef __TGEO_SPATIALRELS_H__ +#define __TGEO_SPATIALRELS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +#define INVERT_RESULT(result) (result < 0 ? -1 : (result > 0) ? 0 : 1) + +/*****************************************************************************/ + +extern Datum datum_geom_contains(Datum geom1, Datum geom2); +extern Datum datum_geom_covers(Datum geom1, Datum geom2); +extern Datum datum_geom_disjoint2d(Datum geom1, Datum geom2); +extern Datum datum_geom_disjoint3d(Datum geom1, Datum geom2); +extern Datum datum_geog_disjoint(Datum geog1, Datum geog2); +extern Datum datum_geom_intersects2d(Datum geom1, Datum geom2); +extern Datum datum_geom_intersects3d(Datum geom1, Datum geom2); +extern Datum datum_geog_intersects(Datum geog1, Datum geog2); +extern Datum datum_geom_touches(Datum geom1, Datum geom2); +extern Datum datum_geom_dwithin2d(Datum geom1, Datum geom2, Datum dist); +extern Datum datum_geom_dwithin3d(Datum geom1, Datum geom2, Datum dist); +extern Datum datum_geog_dwithin(Datum geog1, Datum geog2, Datum dist); +extern Datum datum_geom_relate_pattern(Datum geog1, Datum geog2, Datum p); +extern Datum datum_geom_touches(Datum geom1, Datum geom2); + +extern datum_func2 geo_disjoint_fn(int16 flags1, int16 flags2); +extern datum_func2 geo_disjoint_fn_geo(int16 flags1, uint8_t flags2); +extern datum_func2 geo_intersects_fn(int16 flags1, int16 flags2); +extern datum_func2 geo_intersects_fn_geo(int16 flags1, uint8_t flags2); +extern datum_func3 geo_dwithin_fn(int16 flags1, int16 flags2); +extern datum_func3 geo_dwithin_fn_geo(int16 flags1, uint8_t flags2); + +/*****************************************************************************/ + +extern int tpointsegm_tdwithin_turnpt(Datum start1, Datum end1, Datum start2, + Datum end2, Datum value, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); + +extern int spatialrel_geo_geo(const GSERIALIZED *gs1, const GSERIALIZED *gs2, + Datum param, varfunc func, int numparam, bool invert); +extern int spatialrel_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, + Datum param, varfunc func, int numparam); + +extern int ea_contains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, + bool ever); +extern int ea_contains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_contains_tgeo_tgeo(const Temporal *temp, const Temporal *temp2, + bool ever); + +extern int ea_covers_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, + bool ever); +extern int ea_covers_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_covers_tgeo_tgeo(const Temporal *temp, const Temporal *temp2, + bool ever); + +extern int ea_disjoint_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, + bool ever); +extern int ea_disjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_disjoint_tgeo_tgeo(const Temporal *temp, const Temporal *temp2, + bool ever); + +extern int ea_intersects_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, + bool ever); +extern int ea_intersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_intersects_tgeo_tgeo(const Temporal *temp, const Temporal *temp2, + bool ever); + +extern int ea_touches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_touches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_touches_tgeo_tgeo(const Temporal *temp, const Temporal *temp2, + bool ever); + +extern int ea_dwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + double dist, bool ever); +extern int ea_dwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, + double dist, bool ever); + +extern int ea_spatialrel_tspatial_geo(const Temporal *temp, + const GSERIALIZED *gs, datum_func2 func, bool ever, bool invert); +extern int ea_spatialrel_tspatial_tspatial(const Temporal *temp1, + const Temporal *temp2, datum_func2 func, bool ever); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tempspatialrels.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tempspatialrels.h new file mode 100644 index 000000000..b157f5411 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tempspatialrels.h @@ -0,0 +1,79 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Spatiotemporal relationships for temporal points. + */ + +#ifndef __TGEO_TEMPSPATIALRELS_H__ +#define __TGEO_TEMPSPATIALRELS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/* Compute either the tintersects or the tdisjoint relationship */ +#define TINTERSECTS true +#define TDISJOINT false + +/*****************************************************************************/ + +extern Temporal *tspatialrel_tspatial_base(const Temporal *temp, + Datum base, Datum param, varfunc func, int numparam, bool invert); +extern Temporal *tspatialrel_tspatial_tspatial(const Temporal *temp1, + const Temporal *temp2, Datum param, varfunc func, int numparam, bool invert); + +extern Temporal *tinterrel_tgeo_geo(const Temporal *temp, + const GSERIALIZED *gs, bool tinter); +extern Temporal *tinterrel_tspatial_base(const Temporal *temp, Datum base, + bool tinter, datum_func2 func); + +extern Temporal *tinterrel_tspatial_base(const Temporal *temp, + Datum base, bool tinter, datum_func2 func); +extern Temporal *tinterrel_tspatial_tspatial(const Temporal *temp1, + const Temporal *temp2, bool tinter); + +extern Temporal *tdwithin_tspatial_tspatial(const Temporal *sync1, + const Temporal *sync2, Datum dist, + datum_func3 func, tpfunc_temp tpfn); + +extern int tdwithin_add_solutions(int solutions, TimestampTz lower, + TimestampTz upper, bool lower_inc, bool upper_inc, bool upper_inc1, + TimestampTz t1, TimestampTz t2, TInstant **instants, TSequence **result); +extern Temporal *tdwithin_tspatial_spatial(const Temporal *temp, Datum base, + Datum dist, datum_func3 func, tpfunc_temp tpfn); +extern Temporal *tdwithin_tspatial_tspatial(const Temporal *sync1, + const Temporal *sync2, Datum dist, + datum_func3 func, tpfunc_temp tpfn); + +/*****************************************************************************/ + +#endif /* __TGEO_TEMPSPATIALRELS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tile.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tile.h new file mode 100644 index 000000000..28829ce1d --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tgeo_tile.h @@ -0,0 +1,112 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for spatiotemporal bounding boxes. + */ + +#ifndef __TPOINT_TILE_H__ +#define __TPOINT_TILE_H__ + +/* PostGIS */ +#include +/* MEOS */ +#include + +#define MAXDIMS 4 + +/*****************************************************************************/ + +/** + * Structure for storing a bit matrix + */ +typedef struct +{ + int ndims; /**< Number of dimensions */ + int count[MAXDIMS]; /**< Number of elements in each dimension */ + uint8_t byte[1]; /**< beginning of variable-length data */ +} BitMatrix; + +/** + * Struct for storing the state that persists across multiple calls generating + * a multidimensional grid + */ +typedef struct STboxGridState +{ + bool done; /**< True when all tiles have been processed */ + bool hasx; /**< True when tiles have X dimension */ + bool hasz; /**< True when tiles have Z dimension */ + bool hast; /**< True when tiles have T dimension */ + int i; /**< Number of current tile */ + double xsize; /**< Size of the x dimension */ + double ysize; /**< Size of the y dimension */ + double zsize; /**< Size of the z dimension, 0 for 2D */ + int64 tunits; /**< Size of the time dimension, 0 for spatial only */ + STBox box; /**< Bounding box of the grid */ + const Temporal *temp; /**< Optional temporal point to be split */ + BitMatrix *bm; /**< Optional bit matrix for speeding up the + computation of the split functions */ + double x; /**< Minimum x value of the current tile */ + double y; /**< Minimum y value of the current tile */ + double z; /**< Minimum z value of the current tile, if any */ + TimestampTz t; /**< Minimum t value of the current tile, if any */ + int ntiles; /**< Total number of tiles */ + int max_coords[MAXDIMS]; /**< Maximum coordinates of the tiles */ + int coords[MAXDIMS]; /**< Coordinates of the current tile */ +} STboxGridState; + +/*****************************************************************************/ + +extern BitMatrix *bitmatrix_make(int *count, int ndims); +extern int tpoint_set_tiles(const Temporal *temp, const STboxGridState *state, + BitMatrix *bm); +extern Temporal *tpoint_at_tile(const Temporal *temp, const STBox *box); + +extern void stbox_tile_state_set(double x, double y, double z, TimestampTz t, + double xsize, double ysize, double zsize, int64 tunits, bool hasx, bool hasz, + bool hast, int32 srid, STBox *result); +extern STboxGridState *stbox_tile_state_make(const Temporal *temp, + const STBox *box, double xsize, double ysize, double zsize, + const Interval *duration, POINT3DZ sorigin, TimestampTz torigin, + bool border_inc); +extern void stbox_tile_state_next(STboxGridState *state); +extern bool stbox_tile_state_get(STboxGridState *state, STBox *box); + +extern STboxGridState *tgeo_space_time_tile_init(const Temporal *temp, + double xsize, double ysize, double zsize, const Interval *duration, + const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, + bool border_inc, int *ntiles); + +extern STBox *stbox_space_time_tile(const GSERIALIZED *point, TimestampTz t, + double xsize, double ysize, double zsize, const Interval *duration, + const GSERIALIZED *sorigin, TimestampTz torigin, bool hasx, bool hast); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tpoint_datagen.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tpoint_datagen.h new file mode 100644 index 000000000..6d6fbb180 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tpoint_datagen.h @@ -0,0 +1,49 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for spatiotemporal bounding boxes. + */ + +#ifndef __TPOINT_DATAGEN_H__ +#define __TPOINT_DATAGEN_H__ + +/* MEOS */ +#include +#include + +/*****************************************************************************/ + +extern TSequence *create_trip(LWLINE **lines, const double *maxSpeeds, + const int *categories, uint32_t noEdges, TimestampTz startTime, + bool disturbData, int verbosity); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial.h new file mode 100644 index 000000000..7abd8cbcf --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial.h @@ -0,0 +1,58 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Generic functions for spatiotemporal values + */ + +#ifndef __TSPATIAL_H__ +#define __TSPATIAL_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +extern char **spatialarr_wkt_out(const Datum *spatialarr, MeosType basetype, + int count, int maxdd, bool extended); + +extern char *spatialbase_as_text(Datum value, MeosType type, int maxdd); +extern char *spatialbase_as_ewkt(Datum value, MeosType type, int maxdd); + +extern bool point_transf_pj(GSERIALIZED *gs, int32_t srid_to, const LWPROJ *pj); + +/*****************************************************************************/ + +#endif /* __TSPATIAL_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_boxops.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_boxops.h new file mode 100644 index 000000000..ac6738a1d --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_boxops.h @@ -0,0 +1,73 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Bounding box operators for spatiotemporal values + */ + +#ifndef __TSPATIAL_BOXOPS_H__ +#define __TSPATIAL_BOXOPS_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/* Functions computing the bounding box at the creation of a temporal point */ + +extern void tgeoinst_set_stbox(const TInstant *inst, STBox *box); +extern void tgeoinstarr_set_stbox(TInstant **instants, int count, + STBox *box); +extern void tgeoseq_expand_stbox(TSequence *seq, const TInstant *inst); + +extern void tspatialinst_set_stbox(const TInstant *inst, STBox *box); +extern void tspatialinstarr_set_stbox(TInstant **instants, int count, + bool lower_inc, bool upper_inc, interpType interp, void *box); +extern void tspatialseqarr_set_stbox(TSequence **sequences, int count, + STBox *box); +extern void tspatialseq_expand_stbox(TSequence *seq, const TInstant *inst); + +extern void spatialarr_set_bbox(const Datum *values, MeosType basetype, + int count, void *box); + +/* Generic box functions */ + +extern bool boxop_tspatial_stbox(const Temporal *temp, const STBox *box, + bool (*func)(const STBox *, const STBox *), bool invert); +extern bool boxop_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2, + bool (*func)(const STBox *, const STBox *)); + +/*****************************************************************************/ + +#endif /* __TSPATIAL_BOXOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_parser.h b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_parser.h new file mode 100644 index 000000000..f51054b88 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/geo/tspatial_parser.h @@ -0,0 +1,66 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for parsing temporal points. + */ + +#ifndef __TSPATIAL_PARSER_H__ +#define __TSPATIAL_PARSER_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +extern bool srid_parse(const char **str, int *srid); +extern bool spatial_parse_elem(const char **str, MeosType temptype, char delim, + int *temp_srid, Datum *result); +extern bool geo_parse(const char **str, MeosType basetype, char delim, + int *srid, GSERIALIZED **result); +extern STBox *stbox_parse(const char **str); +extern Temporal *tpoint_parse(const char **str, MeosType temptype); + +extern TInstant *tspatialinst_parse(const char **str, MeosType temptype, + bool end, int *temp_srid); +extern TSequence *tspatialseq_disc_parse(const char **str, MeosType temptype, + int *temp_srid); +extern TSequence *tspatialseq_cont_parse(const char **str, MeosType temptype, + interpType interp, bool end, int *temp_srid); +extern TSequenceSet *tspatialseqset_parse(const char **str, MeosType temptype, + interpType interp, int *temp_srid); +extern Temporal *tspatial_parse(const char **str, MeosType temptype); + +/*****************************************************************************/ + +#endif /* __TSPATIAL_PARSER_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos.h new file mode 100644 index 000000000..044b28737 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos.h @@ -0,0 +1,1963 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief External API of the Mobility Engine Open Source (MEOS) library + */ + +#ifndef __MEOS_H__ +#define __MEOS_H__ + +/* C */ +#include +#include +#include +/* PostgreSQL */ +#if MEOS +#include "postgres_int_defs.h" +#else +#include +#include +#include +#endif + +/***************************************************************************** + * Toolchain dependent definitions + *****************************************************************************/ + +#ifdef _MSC_VER +/* + * Under MSVC, functions exported by a loadable module must be marked + * "dllexport". Other compilers don't need that. + * Borrowed from PostgreSQL file win32.h + */ +#define PGDLLEXPORT __declspec (dllexport) +/* + * Avoids warning C4996: 'strdup': The POSIX name for this item is deprecated. + */ +#define strdup _strdup +#endif + +/* + * Thread-local storage qualifier (MEOS_TLS) used internally by MEOS to + * make per-thread state (last-error number, PROJ context, SRS cache, + * ways cache, RNG, session timezone) safe under multithreading. Defined + * in a stand-alone header so that vendored PostgreSQL files can pick it + * up without pulling in the full meos.h. + */ +#include "meos_tls.h" + +/***************************************************************************** + * Type definitions + *****************************************************************************/ + +/** + * @brief Align to double + */ +#define DOUBLE_PAD(size) ( (size) + ((size) % 8 ? (8 - (size) % 8) : 0 ) ) + +/** + * Structure to represent sets of values + */ +typedef struct +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + uint8 settype; /**< Set type */ + uint8 basetype; /**< Span basetype */ + int16 flags; /**< Flags */ + int32 count; /**< Number of elements */ + int32 maxcount; /**< Maximum number of elements */ + int16 bboxsize; /**< Size of the bouding box */ +} Set; + +/** + * Structure to represent spans (a.k.a. ranges) + */ +typedef struct +{ + uint8 spantype; /**< span type */ + uint8 basetype; /**< span basetype */ + bool lower_inc; /**< lower bound is inclusive (vs exclusive) */ + bool upper_inc; /**< upper bound is inclusive (vs exclusive) */ + char padding[4]; /**< Not used */ + Datum lower; /**< lower bound value */ + Datum upper; /**< upper bound value */ +} Span; + +/** + * Structure to represent span sets + */ +typedef struct +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + uint8 spansettype; /**< Span set type */ + uint8 spantype; /**< Span type */ + uint8 basetype; /**< Span basetype */ + char padding; /**< Not used */ + int32 count; /**< Number of elements */ + int32 maxcount; /**< Maximum number of elements */ + Span span; /**< Bounding span */ + Span elems[1]; /**< Beginning of variable-length data */ +} SpanSet; + +/** + * Structure to represent temporal boxes + */ +typedef struct +{ + Span period; /**< time span */ + Span span; /**< value span */ + int16 flags; /**< flags */ +} TBox; + +/** + * Structure to represent spatiotemporal boxes + */ +typedef struct +{ + Span period; /**< time span */ + double xmin; /**< minimum x value */ + double ymin; /**< minimum y value */ + double zmin; /**< minimum z value */ + double xmax; /**< maximum x value */ + double ymax; /**< maximum y value */ + double zmax; /**< maximum z value */ + int32_t srid; /**< SRID */ + int16 flags; /**< flags */ +} STBox; + +/** + * @brief Enumeration that defines the temporal subtypes used in MEOS + */ +typedef enum +{ + ANYTEMPSUBTYPE = 0, /**< Any temporal subtype */ + TINSTANT = 1, /**< Temporal instant subtype */ + TSEQUENCE = 2, /**< Temporal sequence subtype */ + TSEQUENCESET = 3, /**< Temporal sequence set subtype */ +} tempSubtype; + +/** + * @brief Enumeration that defines the interpolation types used in MEOS + */ +typedef enum +{ + INTERP_NONE = 0, + DISCRETE = 1, + STEP = 2, + LINEAR = 3, +} interpType; + +/** + * Structure to represent the common structure of temporal values of + * any temporal subtype + */ +typedef struct +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + uint8 temptype; /**< Temporal type */ + uint8 subtype; /**< Temporal subtype */ + int16 flags; /**< Flags */ + /* variable-length data follows */ +} Temporal; + +/** + * Structure to represent temporal values of instant subtype + */ +typedef struct +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + uint8 temptype; /**< Temporal type */ + uint8 subtype; /**< Temporal subtype */ + int16 flags; /**< Flags */ + TimestampTz t; /**< Timestamp (8 bytes) */ + Datum value; /**< Base value for types passed by value, + first 8 bytes of the base value for values + passed by reference. The extra bytes + needed are added upon creation. */ + /* variable-length data follows */ +} TInstant; + +/** + * Structure to represent temporal values of sequence subtype + */ +typedef struct +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + uint8 temptype; /**< Temporal type */ + uint8 subtype; /**< Temporal subtype */ + int16 flags; /**< Flags */ + int32 count; /**< Number of TInstant elements */ + int32 maxcount; /**< Maximum number of TInstant elements */ + int16 bboxsize; /**< Size of the bounding box */ + char padding[6]; /**< Not used */ + Span period; /**< Time span (24 bytes). All bounding boxes start + with a period so actually it is also the begining + of the bounding box. The extra bytes needed for + the bounding box are added upon creation. */ + /* variable-length data follows */ +} TSequence; + +#define TSEQUENCE_BBOX_PTR(seq) ((void *)(&(seq)->period)) + +/** + * Structure to represent temporal values of sequence set subtype + */ +typedef struct +{ + int32 vl_len_; /**< Varlena header (do not touch directly!) */ + uint8 temptype; /**< Temporal type */ + uint8 subtype; /**< Temporal subtype */ + int16 flags; /**< Flags */ + int32 count; /**< Number of TSequence elements */ + int32 totalcount; /**< Total number of TInstant elements in all + composing TSequence elements */ + int32 maxcount; /**< Maximum number of TSequence elements */ + int16 bboxsize; /**< Size of the bounding box */ + int16 padding; /**< Not used */ + Span period; /**< Time span (24 bytes). All bounding boxes start + with a period so actually it is also the begining + of the bounding box. The extra bytes needed for + the bounding box are added upon creation. */ + /* variable-length data follows */ +} TSequenceSet; + +#define TSEQUENCESET_BBOX_PTR(ss) ((void *)(&(ss)->period)) + +/** + * Struct for storing a similarity match + */ +typedef struct +{ + int i; + int j; +} Match; + +/*****************************************************************************/ + +/** + * Structure for skiplists + */ +typedef struct SkipList SkipList; + +/*****************************************************************************/ + +/** + * Structure for expandable arrays + */ +typedef struct MeosArray MeosArray; + +/* MeosArray functions */ + +extern MeosArray *meos_array_create(int elem_size); +extern void meos_array_add(MeosArray *array, void *value); +extern void *meos_array_get(const MeosArray *array, int n); +extern int meos_array_count(const MeosArray *array); +extern void meos_array_reset(MeosArray *array); +extern void meos_array_reset_free(MeosArray *array); +extern void meos_array_destroy(MeosArray *array); +extern void meos_array_destroy_free(MeosArray *array); + +/*****************************************************************************/ + +/** + * @brief Enumeration that defines the search operations for an RTree. + */ +typedef enum +{ + RTREE_OVERLAPS, /**< Find stored boxes that overlap the query */ + RTREE_CONTAINS, /**< Find stored boxes that contain the query */ + RTREE_CONTAINED_BY /**< Find stored boxes contained by the query */ +} RTreeSearchOp; + +/** + * Structure for the in-memory Rtree index + */ +typedef struct RTree RTree; + +/* RTree functions */ + +extern RTree *rtree_create_intspan(); +extern RTree *rtree_create_bigintspan(); +extern RTree *rtree_create_floatspan(); +extern RTree *rtree_create_datespan(); +extern RTree *rtree_create_tstzspan(); +extern RTree *rtree_create_tbox(); +extern RTree *rtree_create_stbox(); +#if POINTCLOUD +extern RTree *rtree_create_tpcbox(); +#endif +extern void rtree_free(RTree *rtree); +extern void rtree_insert(RTree *rtree, void *box, int id); +extern void rtree_insert_temporal(RTree *rtree, const Temporal *temp, int id); +extern int rtree_search(const RTree *rtree, RTreeSearchOp op, const void *query, MeosArray *result); +extern int rtree_search_temporal(const RTree *rtree, RTreeSearchOp op, const Temporal *temp, MeosArray *result); + +/***************************************************************************** + * Error codes + *****************************************************************************/ + +typedef enum +{ + MEOS_SUCCESS = 0, // Successful operation + + MEOS_ERR_INTERNAL_ERROR = 1, // Unspecified internal error + MEOS_ERR_INTERNAL_TYPE_ERROR = 2, // Internal type error + MEOS_ERR_VALUE_OUT_OF_RANGE = 3, // Internal out of range error + MEOS_ERR_DIVISION_BY_ZERO = 4, // Internal division by zero error + MEOS_ERR_MEMORY_ALLOC_ERROR = 5, // Internal malloc error + MEOS_ERR_AGGREGATION_ERROR = 6, // Internal aggregation error + MEOS_ERR_DIRECTORY_ERROR = 7, // Internal directory error + MEOS_ERR_FILE_ERROR = 8, // Internal file error + + MEOS_ERR_INVALID_ARG = 10, // Invalid argument + MEOS_ERR_INVALID_ARG_TYPE = 11, // Invalid argument type + MEOS_ERR_INVALID_ARG_VALUE = 12, // Invalid argument value + MEOS_ERR_FEATURE_NOT_SUPPORTED = 13, // Feature not currently supported + + MEOS_ERR_MFJSON_INPUT = 20, // MFJSON input error + MEOS_ERR_MFJSON_OUTPUT = 21, // MFJSON output error + MEOS_ERR_TEXT_INPUT = 22, // Text input error + MEOS_ERR_TEXT_OUTPUT = 23, // Text output error + MEOS_ERR_WKB_INPUT = 24, // WKB input error + MEOS_ERR_WKB_OUTPUT = 25, // WKB output error + MEOS_ERR_GEOJSON_INPUT = 26, // GEOJSON input error + MEOS_ERR_GEOJSON_OUTPUT = 27, // GEOJSON output error + +} errorCode; + +extern void meos_error(int errlevel, int errcode, const char *format, ...); + +/* Set or read error level */ + +extern int meos_errno(void); +extern int meos_errno_set(int err); +extern int meos_errno_restore(int err); +extern int meos_errno_reset(void); + +/***************************************************************************** + * Initialization of the MEOS library + * + * Multithreading + * -------------- + * The MEOS state managed by these functions is per-thread. Each thread + * that calls into MEOS must call `meos_initialize()` before its first + * MEOS call and `meos_finalize()` before exiting; the PROJ context, SRS + * cache, ways cache, RNGs, last-error number (`meos_errno`), and + * session timezone are all thread-local. + * + * The error handler set by `meos_initialize_error_handler()` is the + * one exception: it is process-global and should be installed once + * before workers are spawned. + *****************************************************************************/ + +/* Definition of error handler function */ +typedef void (*error_handler_fn)(int, int, const char *); + +extern void meos_initialize_timezone(const char *name); +extern void meos_initialize_error_handler(error_handler_fn err_handler); +extern void meos_finalize_timezone(void); +extern void meos_finalize_projsrs(void); +extern void meos_finalize_ways(void); + +extern bool meos_set_datestyle(const char *newval, void *extra); +extern bool meos_set_intervalstyle(const char *newval, int extra); +extern char *meos_get_datestyle(void); +extern char *meos_get_intervalstyle(void); + +extern void meos_set_spatial_ref_sys_csv(const char* path); + +extern void meos_initialize(void); +extern void meos_finalize(void); + +/****************************************************************************** + * Functions for base and time types + ******************************************************************************/ + +extern DateADT add_date_int(DateADT d, int32 days); +extern Interval *add_interval_interval(const Interval *interv1, const Interval *interv2); +extern TimestampTz add_timestamptz_interval(TimestampTz t, const Interval *interv); +extern bool bool_in(const char *str); +extern char *bool_out(bool b); +extern text *cstring2text(const char *str); +extern Timestamp date_to_timestamp(DateADT dateVal); +extern TimestampTz date_to_timestamptz(DateADT d); +extern double float_exp(double d); +extern double float_ln(double d); +extern double float_log10(double d); +extern char *float8_out(double d, int maxdd); +extern double float_round(double d, int maxdd); +extern int int32_cmp(int32 l, int32 r); +extern int int64_cmp(int64 l, int64 r); +extern Interval *interval_make(int32 years, int32 months, int32 weeks, int32 days, int32 hours, int32 mins, double secs); +extern int minus_date_date(DateADT d1, DateADT d2); +extern DateADT minus_date_int(DateADT d, int32 days); +extern TimestampTz minus_timestamptz_interval(TimestampTz t, const Interval *interv); +extern Interval *minus_timestamptz_timestamptz(TimestampTz t1, TimestampTz t2); +extern Interval *mul_interval_double(const Interval *interv, double factor); +extern DateADT pg_date_in(const char *str); +extern char *pg_date_out(DateADT d); +extern int pg_interval_cmp(const Interval *interv1, const Interval *interv2); +extern Interval *pg_interval_in(const char *str, int32 typmod); +extern char *pg_interval_out(const Interval *interv); +extern Timestamp pg_timestamp_in(const char *str, int32 typmod); +extern char *pg_timestamp_out(Timestamp t); +extern TimestampTz pg_timestamptz_in(const char *str, int32 typmod); +extern char *pg_timestamptz_out(TimestampTz t); +extern char *text2cstring(const text *txt); +extern int text_cmp(const text *txt1, const text *txt2); +extern text *text_copy(const text *txt); +extern text *text_in(const char *str); +extern text *text_initcap(const text *txt); +extern text *text_lower(const text *txt); +extern char *text_out(const text *txt); +extern text *text_upper(const text *txt); +extern text *textcat_text_text(const text *txt1, const text *txt2); +extern TimestampTz timestamptz_shift(TimestampTz t, const Interval *interv); +extern DateADT timestamp_to_date(Timestamp t); +extern DateADT timestamptz_to_date(TimestampTz t); + +/*============================================================================ + * Functions for set and span types + ===========================================================================*/ + +/***************************************************************************** + * Input/output functions for set and span types + *****************************************************************************/ + +extern Set *bigintset_in(const char *str); +extern char *bigintset_out(const Set *set); +extern Span *bigintspan_expand(const Span *s, int64 value); +extern Span *bigintspan_in(const char *str); +extern char *bigintspan_out(const Span *s); +extern SpanSet *bigintspanset_in(const char *str); +extern char *bigintspanset_out(const SpanSet *ss); +extern Set *dateset_in(const char *str); +extern char *dateset_out(const Set *s); +extern Span *datespan_in(const char *str); +extern char *datespan_out(const Span *s); +extern SpanSet *datespanset_in(const char *str); +extern char *datespanset_out(const SpanSet *ss); +extern Set *floatset_in(const char *str); +extern char *floatset_out(const Set *set, int maxdd); +extern Span *floatspan_expand(const Span *s, double value); +extern Span *floatspan_in(const char *str); +extern char *floatspan_out(const Span *s, int maxdd); +extern SpanSet *floatspanset_in(const char *str); +extern char *floatspanset_out(const SpanSet *ss, int maxdd); +extern Set *intset_in(const char *str); +extern char *intset_out(const Set *set); +extern Span *intspan_expand(const Span *s, int32 value); +extern Span *intspan_in(const char *str); +extern char *intspan_out(const Span *s); +extern SpanSet *intspanset_in(const char *str); +extern char *intspanset_out(const SpanSet *ss); +extern char *set_as_hexwkb(const Set *s, uint8_t variant, size_t *size_out); +extern uint8_t *set_as_wkb(const Set *s, uint8_t variant, size_t *size_out); +extern Set *set_from_hexwkb(const char *hexwkb); +extern Set *set_from_wkb(const uint8_t *wkb, size_t size); +extern char *span_as_hexwkb(const Span *s, uint8_t variant, size_t *size_out); +extern uint8_t *span_as_wkb(const Span *s, uint8_t variant, size_t *size_out); +extern Span *span_from_hexwkb(const char *hexwkb); +extern Span *span_from_wkb(const uint8_t *wkb, size_t size); +extern char *spanset_as_hexwkb(const SpanSet *ss, uint8_t variant, size_t *size_out); +extern uint8_t *spanset_as_wkb(const SpanSet *ss, uint8_t variant, size_t *size_out); +extern SpanSet *spanset_from_hexwkb(const char *hexwkb); +extern SpanSet *spanset_from_wkb(const uint8_t *wkb, size_t size); +extern Set *textset_in(const char *str); +extern char *textset_out(const Set *set); +extern Set *tstzset_in(const char *str); +extern char *tstzset_out(const Set *set); +extern Span *tstzspan_in(const char *str); +extern char *tstzspan_out(const Span *s); +extern SpanSet *tstzspanset_in(const char *str); +extern char *tstzspanset_out(const SpanSet *ss); + +/***************************************************************************** + * Constructor functions for set and span types + *****************************************************************************/ + +extern Set *bigintset_make(const int64 *values, int count); +extern Span *bigintspan_make(int64 lower, int64 upper, bool lower_inc, bool upper_inc); +extern Set *dateset_make(const DateADT *values, int count); +extern Span *datespan_make(DateADT lower, DateADT upper, bool lower_inc, bool upper_inc); +extern Set *floatset_make(const double *values, int count); +extern Span *floatspan_make(double lower, double upper, bool lower_inc, bool upper_inc); +extern Set *intset_make(const int *values, int count); +extern Span *intspan_make(int lower, int upper, bool lower_inc, bool upper_inc); +extern Set *set_copy(const Set *s); +extern Span *span_copy(const Span *s); +extern SpanSet *spanset_copy(const SpanSet *ss); +extern SpanSet *spanset_make(Span *spans, int count); +extern Set *textset_make(text **values, int count); +extern Set *tstzset_make(const TimestampTz *values, int count); +extern Span *tstzspan_make(TimestampTz lower, TimestampTz upper, bool lower_inc, bool upper_inc); + +/***************************************************************************** + * Conversion functions for set and span types + *****************************************************************************/ + +extern Set *bigint_to_set(int64 i); +extern Span *bigint_to_span(int64 i); +extern SpanSet *bigint_to_spanset(int64 i); +extern Span *bigintspan_to_intspan(const Span *s); +extern Span *bigintspan_to_floatspan(const Span *s); +extern Set *date_to_set(DateADT d); +extern Span *date_to_span(DateADT d); +extern SpanSet *date_to_spanset(DateADT d); +extern Set *dateset_to_tstzset(const Set *s); +extern Span *datespan_to_tstzspan(const Span *s); +extern SpanSet *datespanset_to_tstzspanset(const SpanSet *ss); +extern Set *float_to_set(double d); +extern Span *float_to_span(double d); +extern SpanSet *float_to_spanset(double d); +extern Set *floatset_to_intset(const Set *s); +extern Span *floatspan_to_bigintspan(const Span *s); +extern Span *floatspan_to_intspan(const Span *s); +extern SpanSet *floatspanset_to_intspanset(const SpanSet *ss); +extern Set *int_to_set(int i); +extern Span *int_to_span(int i); +extern SpanSet *int_to_spanset(int i); +extern Set *intset_to_floatset(const Set *s); +extern Span *intspan_to_bigintspan(const Span *s); +extern Span *intspan_to_floatspan(const Span *s); +extern SpanSet *intspanset_to_floatspanset(const SpanSet *ss); +extern Span *set_to_span(const Set *s); +extern SpanSet *set_to_spanset(const Set *s); +extern SpanSet *span_to_spanset(const Span *s); +extern Set *text_to_set(const text *txt); +extern Set *timestamptz_to_set(TimestampTz t); +extern Span *timestamptz_to_span(TimestampTz t); +extern SpanSet *timestamptz_to_spanset(TimestampTz t); +extern Set *tstzset_to_dateset(const Set *s); +extern Span *tstzspan_to_datespan(const Span *s); +extern SpanSet *tstzspanset_to_datespanset(const SpanSet *ss); + +/***************************************************************************** + * Accessor functions for set and span types + *****************************************************************************/ + +extern int64 bigintset_end_value(const Set *s); +extern int64 bigintset_start_value(const Set *s); +extern bool bigintset_value_n(const Set *s, int n, int64 *result); +extern int64 *bigintset_values(const Set *s); +extern int64 bigintspan_lower(const Span *s); +extern int64 bigintspan_upper(const Span *s); +extern int64 bigintspan_width(const Span *s); +extern int64 bigintspanset_lower(const SpanSet *ss); +extern int64 bigintspanset_upper(const SpanSet *ss); +extern int64 bigintspanset_width(const SpanSet *ss, bool boundspan); +extern DateADT dateset_end_value(const Set *s); +extern DateADT dateset_start_value(const Set *s); +extern bool dateset_value_n(const Set *s, int n, DateADT *result); +extern DateADT *dateset_values(const Set *s); +extern Interval *datespan_duration(const Span *s); +extern DateADT datespan_lower(const Span *s); +extern DateADT datespan_upper(const Span *s); +extern bool datespanset_date_n(const SpanSet *ss, int n, DateADT *result); +extern Set *datespanset_dates(const SpanSet *ss); +extern Interval *datespanset_duration(const SpanSet *ss, bool boundspan); +extern DateADT datespanset_end_date(const SpanSet *ss); +extern int datespanset_num_dates(const SpanSet *ss); +extern DateADT datespanset_start_date(const SpanSet *ss); +extern double floatset_end_value(const Set *s); +extern double floatset_start_value(const Set *s); +extern bool floatset_value_n(const Set *s, int n, double *result); +extern double *floatset_values(const Set *s); +extern double floatspan_lower(const Span *s); +extern double floatspan_upper(const Span *s); +extern double floatspan_width(const Span *s); +extern double floatspanset_lower(const SpanSet *ss); +extern double floatspanset_upper(const SpanSet *ss); +extern double floatspanset_width(const SpanSet *ss, bool boundspan); +extern int intset_end_value(const Set *s); +extern int intset_start_value(const Set *s); +extern bool intset_value_n(const Set *s, int n, int *result); +extern int *intset_values(const Set *s); +extern int intspan_lower(const Span *s); +extern int intspan_upper(const Span *s); +extern int intspan_width(const Span *s); +extern int intspanset_lower(const SpanSet *ss); +extern int intspanset_upper(const SpanSet *ss); +extern int intspanset_width(const SpanSet *ss, bool boundspan); +extern uint32 set_hash(const Set *s); +extern uint64 set_hash_extended(const Set *s, uint64 seed); +extern int set_num_values(const Set *s); +extern uint32 span_hash(const Span *s); +extern uint64 span_hash_extended(const Span *s, uint64 seed); +extern bool span_lower_inc(const Span *s); +extern bool span_upper_inc(const Span *s); +extern Span *spanset_end_span(const SpanSet *ss); +extern uint32 spanset_hash(const SpanSet *ss); +extern uint64 spanset_hash_extended(const SpanSet *ss, uint64 seed); +extern bool spanset_lower_inc(const SpanSet *ss); +extern int spanset_num_spans(const SpanSet *ss); +extern Span *spanset_span(const SpanSet *ss); +extern Span *spanset_span_n(const SpanSet *ss, int i); +extern Span **spanset_spanarr(const SpanSet *ss); +extern Span *spanset_start_span(const SpanSet *ss); +extern bool spanset_upper_inc(const SpanSet *ss); +extern text *textset_end_value(const Set *s); +extern text *textset_start_value(const Set *s); +extern bool textset_value_n(const Set *s, int n, text **result); +extern text **textset_values(const Set *s); +extern TimestampTz tstzset_end_value(const Set *s); +extern TimestampTz tstzset_start_value(const Set *s); +extern bool tstzset_value_n(const Set *s, int n, TimestampTz *result); +extern TimestampTz *tstzset_values(const Set *s); +extern Interval *tstzspan_duration(const Span *s); +extern TimestampTz tstzspan_lower(const Span *s); +extern TimestampTz tstzspan_upper(const Span *s); +extern Interval *tstzspanset_duration(const SpanSet *ss, bool boundspan); +extern TimestampTz tstzspanset_end_timestamptz(const SpanSet *ss); +extern TimestampTz tstzspanset_lower(const SpanSet *ss); +extern int tstzspanset_num_timestamps(const SpanSet *ss); +extern TimestampTz tstzspanset_start_timestamptz(const SpanSet *ss); +extern Set *tstzspanset_timestamps(const SpanSet *ss); +extern bool tstzspanset_timestamptz_n(const SpanSet *ss, int n, TimestampTz *result); +extern TimestampTz tstzspanset_upper(const SpanSet *ss); + +/***************************************************************************** + * Transformation functions for set and span types + *****************************************************************************/ + +extern Set *bigintset_shift_scale(const Set *s, int64 shift, int64 width, bool hasshift, bool haswidth); +extern Span *bigintspan_shift_scale(const Span *s, int64 shift, int64 width, bool hasshift, bool haswidth); +extern SpanSet *bigintspanset_shift_scale(const SpanSet *ss, int64 shift, int64 width, bool hasshift, bool haswidth); +extern Set *dateset_shift_scale(const Set *s, int shift, int width, bool hasshift, bool haswidth); +extern Span *datespan_shift_scale(const Span *s, int shift, int width, bool hasshift, bool haswidth); +extern SpanSet *datespanset_shift_scale(const SpanSet *ss, int shift, int width, bool hasshift, bool haswidth); +extern Set *floatset_ceil(const Set *s); +extern Set *floatset_degrees(const Set *s, bool normalize); +extern Set *floatset_floor(const Set *s); +extern Set *floatset_radians(const Set *s); +extern Set *floatset_shift_scale(const Set *s, double shift, double width, bool hasshift, bool haswidth); +extern Span *floatspan_ceil(const Span *s); +extern Span *floatspan_degrees(const Span *s, bool normalize); +extern Span *floatspan_floor(const Span *s); +extern Span *floatspan_radians(const Span *s); +extern Span *floatspan_round(const Span *s, int maxdd); +extern Span *floatspan_shift_scale(const Span *s, double shift, double width, bool hasshift, bool haswidth); +extern SpanSet *floatspanset_ceil(const SpanSet *ss); +extern SpanSet *floatspanset_floor(const SpanSet *ss); +extern SpanSet *floatspanset_degrees(const SpanSet *ss, bool normalize); +extern SpanSet *floatspanset_radians(const SpanSet *ss); +extern SpanSet *floatspanset_round(const SpanSet *ss, int maxdd); +extern SpanSet *floatspanset_shift_scale(const SpanSet *ss, double shift, double width, bool hasshift, bool haswidth); +extern Set *intset_shift_scale(const Set *s, int shift, int width, bool hasshift, bool haswidth); +extern Span *intspan_shift_scale(const Span *s, int shift, int width, bool hasshift, bool haswidth); +extern SpanSet *intspanset_shift_scale(const SpanSet *ss, int shift, int width, bool hasshift, bool haswidth); +extern Span *tstzspan_expand(const Span *s, const Interval *interv); +extern Set *set_round(const Set *s, int maxdd); +extern Set *textcat_text_textset(const text *txt, const Set *s); +extern Set *textcat_textset_text(const Set *s, const text *txt); +extern Set *textset_initcap(const Set *s); +extern Set *textset_lower(const Set *s); +extern Set *textset_upper(const Set *s); +extern TimestampTz timestamptz_tprecision(TimestampTz t, const Interval *duration, TimestampTz torigin); +extern Set *tstzset_shift_scale(const Set *s, const Interval *shift, const Interval *duration); +extern Set *tstzset_tprecision(const Set *s, const Interval *duration, TimestampTz torigin); +extern Span *tstzspan_shift_scale(const Span *s, const Interval *shift, const Interval *duration); +extern Span *tstzspan_tprecision(const Span *s, const Interval *duration, TimestampTz torigin); +extern SpanSet *tstzspanset_shift_scale(const SpanSet *ss, const Interval *shift, const Interval *duration); +extern SpanSet *tstzspanset_tprecision(const SpanSet *ss, const Interval *duration, TimestampTz torigin); + +/***************************************************************************** + * Comparison functions for set and span types + *****************************************************************************/ + +extern int set_cmp(const Set *s1, const Set *s2); +extern bool set_eq(const Set *s1, const Set *s2); +extern bool set_ge(const Set *s1, const Set *s2); +extern bool set_gt(const Set *s1, const Set *s2); +extern bool set_le(const Set *s1, const Set *s2); +extern bool set_lt(const Set *s1, const Set *s2); +extern bool set_ne(const Set *s1, const Set *s2); +extern int span_cmp(const Span *s1, const Span *s2); +extern bool span_eq(const Span *s1, const Span *s2); +extern bool span_ge(const Span *s1, const Span *s2); +extern bool span_gt(const Span *s1, const Span *s2); +extern bool span_le(const Span *s1, const Span *s2); +extern bool span_lt(const Span *s1, const Span *s2); +extern bool span_ne(const Span *s1, const Span *s2); +extern int spanset_cmp(const SpanSet *ss1, const SpanSet *ss2); +extern bool spanset_eq(const SpanSet *ss1, const SpanSet *ss2); +extern bool spanset_ge(const SpanSet *ss1, const SpanSet *ss2); +extern bool spanset_gt(const SpanSet *ss1, const SpanSet *ss2); +extern bool spanset_le(const SpanSet *ss1, const SpanSet *ss2); +extern bool spanset_lt(const SpanSet *ss1, const SpanSet *ss2); +extern bool spanset_ne(const SpanSet *ss1, const SpanSet *ss2); + +/***************************************************************************** + * Bounding box functions for set and span types + *****************************************************************************/ + +/* Split functions */ + +extern Span *set_spans(const Set *s); +extern Span *set_split_each_n_spans(const Set *s, int elems_per_span, int *count); +extern Span *set_split_n_spans(const Set *s, int span_count, int *count); +extern Span *spanset_spans(const SpanSet *ss); +extern Span *spanset_split_each_n_spans(const SpanSet *ss, int elems_per_span, int *count); +extern Span *spanset_split_n_spans(const SpanSet *ss, int span_count, int *count); + +/* Topological functions */ + +extern bool adjacent_span_bigint(const Span *s, int64 i); +extern bool adjacent_span_date(const Span *s, DateADT d); +extern bool adjacent_span_float(const Span *s, double d); +extern bool adjacent_span_int(const Span *s, int i); +extern bool adjacent_span_span(const Span *s1, const Span *s2); +extern bool adjacent_span_spanset(const Span *s, const SpanSet *ss); +extern bool adjacent_span_timestamptz(const Span *s, TimestampTz t); +extern bool adjacent_spanset_bigint(const SpanSet *ss, int64 i); +extern bool adjacent_spanset_date(const SpanSet *ss, DateADT d); +extern bool adjacent_spanset_float(const SpanSet *ss, double d); +extern bool adjacent_spanset_int(const SpanSet *ss, int i); +extern bool adjacent_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern bool adjacent_spanset_span(const SpanSet *ss, const Span *s); +extern bool adjacent_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool contained_bigint_set(int64 i, const Set *s); +extern bool contained_bigint_span(int64 i, const Span *s); +extern bool contained_bigint_spanset(int64 i, const SpanSet *ss); +extern bool contained_date_set(DateADT d, const Set *s); +extern bool contained_date_span(DateADT d, const Span *s); +extern bool contained_date_spanset(DateADT d, const SpanSet *ss); +extern bool contained_float_set(double d, const Set *s); +extern bool contained_float_span(double d, const Span *s); +extern bool contained_float_spanset(double d, const SpanSet *ss); +extern bool contained_int_set(int i, const Set *s); +extern bool contained_int_span(int i, const Span *s); +extern bool contained_int_spanset(int i, const SpanSet *ss); +extern bool contained_set_set(const Set *s1, const Set *s2); +extern bool contained_span_span(const Span *s1, const Span *s2); +extern bool contained_span_spanset(const Span *s, const SpanSet *ss); +extern bool contained_spanset_span(const SpanSet *ss, const Span *s); +extern bool contained_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool contained_text_set(const text *txt, const Set *s); +extern bool contained_timestamptz_set(TimestampTz t, const Set *s); +extern bool contained_timestamptz_span(TimestampTz t, const Span *s); +extern bool contained_timestamptz_spanset(TimestampTz t, const SpanSet *ss); +extern bool contains_set_bigint(const Set *s, int64 i); +extern bool contains_set_date(const Set *s, DateADT d); +extern bool contains_set_float(const Set *s, double d); +extern bool contains_set_int(const Set *s, int i); +extern bool contains_set_set(const Set *s1, const Set *s2); +extern bool contains_set_text(const Set *s, text *t); +extern bool contains_set_timestamptz(const Set *s, TimestampTz t); +extern bool contains_span_bigint(const Span *s, int64 i); +extern bool contains_span_date(const Span *s, DateADT d); +extern bool contains_span_float(const Span *s, double d); +extern bool contains_span_int(const Span *s, int i); +extern bool contains_span_span(const Span *s1, const Span *s2); +extern bool contains_span_spanset(const Span *s, const SpanSet *ss); +extern bool contains_span_timestamptz(const Span *s, TimestampTz t); +extern bool contains_spanset_bigint(const SpanSet *ss, int64 i); +extern bool contains_spanset_date(const SpanSet *ss, DateADT d); +extern bool contains_spanset_float(const SpanSet *ss, double d); +extern bool contains_spanset_int(const SpanSet *ss, int i); +extern bool contains_spanset_span(const SpanSet *ss, const Span *s); +extern bool contains_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool contains_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern bool overlaps_set_set(const Set *s1, const Set *s2); +extern bool overlaps_span_span(const Span *s1, const Span *s2); +extern bool overlaps_span_spanset(const Span *s, const SpanSet *ss); +extern bool overlaps_spanset_span(const SpanSet *ss, const Span *s); +extern bool overlaps_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); + +/*****************************************************************************/ + +/* Position functions for set and span types */ + +extern bool after_date_set(DateADT d, const Set *s); +extern bool after_date_span(DateADT d, const Span *s); +extern bool after_date_spanset(DateADT d, const SpanSet *ss); +extern bool after_set_date(const Set *s, DateADT d); +extern bool after_set_timestamptz(const Set *s, TimestampTz t); +extern bool after_span_date(const Span *s, DateADT d); +extern bool after_span_timestamptz(const Span *s, TimestampTz t); +extern bool after_spanset_date(const SpanSet *ss, DateADT d); +extern bool after_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern bool after_timestamptz_set(TimestampTz t, const Set *s); +extern bool after_timestamptz_span(TimestampTz t, const Span *s); +extern bool after_timestamptz_spanset(TimestampTz t, const SpanSet *ss); +extern bool before_date_set(DateADT d, const Set *s); +extern bool before_date_span(DateADT d, const Span *s); +extern bool before_date_spanset(DateADT d, const SpanSet *ss); +extern bool before_set_date(const Set *s, DateADT d); +extern bool before_set_timestamptz(const Set *s, TimestampTz t); +extern bool before_span_date(const Span *s, DateADT d); +extern bool before_span_timestamptz(const Span *s, TimestampTz t); +extern bool before_spanset_date(const SpanSet *ss, DateADT d); +extern bool before_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern bool before_timestamptz_set(TimestampTz t, const Set *s); +extern bool before_timestamptz_span(TimestampTz t, const Span *s); +extern bool before_timestamptz_spanset(TimestampTz t, const SpanSet *ss); +extern bool left_bigint_set(int64 i, const Set *s); +extern bool left_bigint_span(int64 i, const Span *s); +extern bool left_bigint_spanset(int64 i, const SpanSet *ss); +extern bool left_float_set(double d, const Set *s); +extern bool left_float_span(double d, const Span *s); +extern bool left_float_spanset(double d, const SpanSet *ss); +extern bool left_int_set(int i, const Set *s); +extern bool left_int_span(int i, const Span *s); +extern bool left_int_spanset(int i, const SpanSet *ss); +extern bool left_set_bigint(const Set *s, int64 i); +extern bool left_set_float(const Set *s, double d); +extern bool left_set_int(const Set *s, int i); +extern bool left_set_set(const Set *s1, const Set *s2); +extern bool left_set_text(const Set *s, text *txt); +extern bool left_span_bigint(const Span *s, int64 i); +extern bool left_span_float(const Span *s, double d); +extern bool left_span_int(const Span *s, int i); +extern bool left_span_span(const Span *s1, const Span *s2); +extern bool left_span_spanset(const Span *s, const SpanSet *ss); +extern bool left_spanset_bigint(const SpanSet *ss, int64 i); +extern bool left_spanset_float(const SpanSet *ss, double d); +extern bool left_spanset_int(const SpanSet *ss, int i); +extern bool left_spanset_span(const SpanSet *ss, const Span *s); +extern bool left_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool left_text_set(const text *txt, const Set *s); +extern bool overafter_date_set(DateADT d, const Set *s); +extern bool overafter_date_span(DateADT d, const Span *s); +extern bool overafter_date_spanset(DateADT d, const SpanSet *ss); +extern bool overafter_set_date(const Set *s, DateADT d); +extern bool overafter_set_timestamptz(const Set *s, TimestampTz t); +extern bool overafter_span_date(const Span *s, DateADT d); +extern bool overafter_span_timestamptz(const Span *s, TimestampTz t); +extern bool overafter_spanset_date(const SpanSet *ss, DateADT d); +extern bool overafter_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern bool overafter_timestamptz_set(TimestampTz t, const Set *s); +extern bool overafter_timestamptz_span(TimestampTz t, const Span *s); +extern bool overafter_timestamptz_spanset(TimestampTz t, const SpanSet *ss); +extern bool overbefore_date_set(DateADT d, const Set *s); +extern bool overbefore_date_span(DateADT d, const Span *s); +extern bool overbefore_date_spanset(DateADT d, const SpanSet *ss); +extern bool overbefore_set_date(const Set *s, DateADT d); +extern bool overbefore_set_timestamptz(const Set *s, TimestampTz t); +extern bool overbefore_span_date(const Span *s, DateADT d); +extern bool overbefore_span_timestamptz(const Span *s, TimestampTz t); +extern bool overbefore_spanset_date(const SpanSet *ss, DateADT d); +extern bool overbefore_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern bool overbefore_timestamptz_set(TimestampTz t, const Set *s); +extern bool overbefore_timestamptz_span(TimestampTz t, const Span *s); +extern bool overbefore_timestamptz_spanset(TimestampTz t, const SpanSet *ss); +extern bool overleft_bigint_set(int64 i, const Set *s); +extern bool overleft_bigint_span(int64 i, const Span *s); +extern bool overleft_bigint_spanset(int64 i, const SpanSet *ss); +extern bool overleft_float_set(double d, const Set *s); +extern bool overleft_float_span(double d, const Span *s); +extern bool overleft_float_spanset(double d, const SpanSet *ss); +extern bool overleft_int_set(int i, const Set *s); +extern bool overleft_int_span(int i, const Span *s); +extern bool overleft_int_spanset(int i, const SpanSet *ss); +extern bool overleft_set_bigint(const Set *s, int64 i); +extern bool overleft_set_float(const Set *s, double d); +extern bool overleft_set_int(const Set *s, int i); +extern bool overleft_set_set(const Set *s1, const Set *s2); +extern bool overleft_set_text(const Set *s, text *txt); +extern bool overleft_span_bigint(const Span *s, int64 i); +extern bool overleft_span_float(const Span *s, double d); +extern bool overleft_span_int(const Span *s, int i); +extern bool overleft_span_span(const Span *s1, const Span *s2); +extern bool overleft_span_spanset(const Span *s, const SpanSet *ss); +extern bool overleft_spanset_bigint(const SpanSet *ss, int64 i); +extern bool overleft_spanset_float(const SpanSet *ss, double d); +extern bool overleft_spanset_int(const SpanSet *ss, int i); +extern bool overleft_spanset_span(const SpanSet *ss, const Span *s); +extern bool overleft_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool overleft_text_set(const text *txt, const Set *s); +extern bool overright_bigint_set(int64 i, const Set *s); +extern bool overright_bigint_span(int64 i, const Span *s); +extern bool overright_bigint_spanset(int64 i, const SpanSet *ss); +extern bool overright_float_set(double d, const Set *s); +extern bool overright_float_span(double d, const Span *s); +extern bool overright_float_spanset(double d, const SpanSet *ss); +extern bool overright_int_set(int i, const Set *s); +extern bool overright_int_span(int i, const Span *s); +extern bool overright_int_spanset(int i, const SpanSet *ss); +extern bool overright_set_bigint(const Set *s, int64 i); +extern bool overright_set_float(const Set *s, double d); +extern bool overright_set_int(const Set *s, int i); +extern bool overright_set_set(const Set *s1, const Set *s2); +extern bool overright_set_text(const Set *s, text *txt); +extern bool overright_span_bigint(const Span *s, int64 i); +extern bool overright_span_float(const Span *s, double d); +extern bool overright_span_int(const Span *s, int i); +extern bool overright_span_span(const Span *s1, const Span *s2); +extern bool overright_span_spanset(const Span *s, const SpanSet *ss); +extern bool overright_spanset_bigint(const SpanSet *ss, int64 i); +extern bool overright_spanset_float(const SpanSet *ss, double d); +extern bool overright_spanset_int(const SpanSet *ss, int i); +extern bool overright_spanset_span(const SpanSet *ss, const Span *s); +extern bool overright_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool overright_text_set(const text *txt, const Set *s); +extern bool right_bigint_set(int64 i, const Set *s); +extern bool right_bigint_span(int64 i, const Span *s); +extern bool right_bigint_spanset(int64 i, const SpanSet *ss); +extern bool right_float_set(double d, const Set *s); +extern bool right_float_span(double d, const Span *s); +extern bool right_float_spanset(double d, const SpanSet *ss); +extern bool right_int_set(int i, const Set *s); +extern bool right_int_span(int i, const Span *s); +extern bool right_int_spanset(int i, const SpanSet *ss); +extern bool right_set_bigint(const Set *s, int64 i); +extern bool right_set_float(const Set *s, double d); +extern bool right_set_int(const Set *s, int i); +extern bool right_set_set(const Set *s1, const Set *s2); +extern bool right_set_text(const Set *s, text *txt); +extern bool right_span_bigint(const Span *s, int64 i); +extern bool right_span_float(const Span *s, double d); +extern bool right_span_int(const Span *s, int i); +extern bool right_span_span(const Span *s1, const Span *s2); +extern bool right_span_spanset(const Span *s, const SpanSet *ss); +extern bool right_spanset_bigint(const SpanSet *ss, int64 i); +extern bool right_spanset_float(const SpanSet *ss, double d); +extern bool right_spanset_int(const SpanSet *ss, int i); +extern bool right_spanset_span(const SpanSet *ss, const Span *s); +extern bool right_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern bool right_text_set(const text *txt, const Set *s); + +/***************************************************************************** + * Set functions for set and span types + *****************************************************************************/ + +extern Set *intersection_bigint_set(int64 i, const Set *s); +extern Set *intersection_date_set(DateADT d, const Set *s); +extern Set *intersection_float_set(double d, const Set *s); +extern Set *intersection_int_set(int i, const Set *s); +extern Set *intersection_set_bigint(const Set *s, int64 i); +extern Set *intersection_set_date(const Set *s, DateADT d); +extern Set *intersection_set_float(const Set *s, double d); +extern Set *intersection_set_int(const Set *s, int i); +extern Set *intersection_set_set(const Set *s1, const Set *s2); +extern Set *intersection_set_text(const Set *s, const text *txt); +extern Set *intersection_set_timestamptz(const Set *s, TimestampTz t); +extern Span *intersection_span_bigint(const Span *s, int64 i); +extern Span *intersection_span_date(const Span *s, DateADT d); +extern Span *intersection_span_float(const Span *s, double d); +extern Span *intersection_span_int(const Span *s, int i); +extern Span *intersection_span_span(const Span *s1, const Span *s2); +extern SpanSet *intersection_span_spanset(const Span *s, const SpanSet *ss); +extern Span *intersection_span_timestamptz(const Span *s, TimestampTz t); +extern SpanSet *intersection_spanset_bigint(const SpanSet *ss, int64 i); +extern SpanSet *intersection_spanset_date(const SpanSet *ss, DateADT d); +extern SpanSet *intersection_spanset_float(const SpanSet *ss, double d); +extern SpanSet *intersection_spanset_int(const SpanSet *ss, int i); +extern SpanSet *intersection_spanset_span(const SpanSet *ss, const Span *s); +extern SpanSet *intersection_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern SpanSet *intersection_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern Set *intersection_text_set(const text *txt, const Set *s); +extern Set *intersection_timestamptz_set(TimestampTz t, const Set *s); +extern Set *minus_bigint_set(int64 i, const Set *s); +extern SpanSet *minus_bigint_span(int64 i, const Span *s); +extern SpanSet *minus_bigint_spanset(int64 i, const SpanSet *ss); +extern Set *minus_date_set(DateADT d, const Set *s); +extern SpanSet *minus_date_span(DateADT d, const Span *s); +extern SpanSet *minus_date_spanset(DateADT d, const SpanSet *ss); +extern Set *minus_float_set(double d, const Set *s); +extern SpanSet *minus_float_span(double d, const Span *s); +extern SpanSet *minus_float_spanset(double d, const SpanSet *ss); +extern Set *minus_int_set(int i, const Set *s); +extern SpanSet *minus_int_span(int i, const Span *s); +extern SpanSet *minus_int_spanset(int i, const SpanSet *ss); +extern Set *minus_set_bigint(const Set *s, int64 i); +extern Set *minus_set_date(const Set *s, DateADT d); +extern Set *minus_set_float(const Set *s, double d); +extern Set *minus_set_int(const Set *s, int i); +extern Set *minus_set_set(const Set *s1, const Set *s2); +extern Set *minus_set_text(const Set *s, const text *txt); +extern Set *minus_set_timestamptz(const Set *s, TimestampTz t); +extern SpanSet *minus_span_bigint(const Span *s, int64 i); +extern SpanSet *minus_span_date(const Span *s, DateADT d); +extern SpanSet *minus_span_float(const Span *s, double d); +extern SpanSet *minus_span_int(const Span *s, int i); +extern SpanSet *minus_span_span(const Span *s1, const Span *s2); +extern SpanSet *minus_span_spanset(const Span *s, const SpanSet *ss); +extern SpanSet *minus_span_timestamptz(const Span *s, TimestampTz t); +extern SpanSet *minus_spanset_bigint(const SpanSet *ss, int64 i); +extern SpanSet *minus_spanset_date(const SpanSet *ss, DateADT d); +extern SpanSet *minus_spanset_float(const SpanSet *ss, double d); +extern SpanSet *minus_spanset_int(const SpanSet *ss, int i); +extern SpanSet *minus_spanset_span(const SpanSet *ss, const Span *s); +extern SpanSet *minus_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern SpanSet *minus_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern Set *minus_text_set(const text *txt, const Set *s); +extern Set *minus_timestamptz_set(TimestampTz t, const Set *s); +extern SpanSet *minus_timestamptz_span(TimestampTz t, const Span *s); +extern SpanSet *minus_timestamptz_spanset(TimestampTz t, const SpanSet *ss); +extern Set *union_bigint_set(int64 i, const Set *s); +extern SpanSet *union_bigint_span(const Span *s, int64 i); +extern SpanSet *union_bigint_spanset(int64 i, SpanSet *ss); +extern Set *union_date_set(DateADT d, const Set *s); +extern SpanSet *union_date_span(const Span *s, DateADT d); +extern SpanSet *union_date_spanset(DateADT d, SpanSet *ss); +extern Set *union_float_set(double d, const Set *s); +extern SpanSet *union_float_span(const Span *s, double d); +extern SpanSet *union_float_spanset(double d, SpanSet *ss); +extern Set *union_int_set(int i, const Set *s); +extern SpanSet *union_int_span(int i, const Span *s); +extern SpanSet *union_int_spanset(int i, SpanSet *ss); +extern Set *union_set_bigint(const Set *s, int64 i); +extern Set *union_set_date(const Set *s, DateADT d); +extern Set *union_set_float(const Set *s, double d); +extern Set *union_set_int(const Set *s, int i); +extern Set *union_set_set(const Set *s1, const Set *s2); +extern Set *union_set_text(const Set *s, const text *txt); +extern Set *union_set_timestamptz(const Set *s, TimestampTz t); +extern SpanSet *union_span_bigint(const Span *s, int64 i); +extern SpanSet *union_span_date(const Span *s, DateADT d); +extern SpanSet *union_span_float(const Span *s, double d); +extern SpanSet *union_span_int(const Span *s, int i); +extern SpanSet *union_span_span(const Span *s1, const Span *s2); +extern SpanSet *union_span_spanset(const Span *s, const SpanSet *ss); +extern SpanSet *union_span_timestamptz(const Span *s, TimestampTz t); +extern SpanSet *union_spanset_bigint(const SpanSet *ss, int64 i); +extern SpanSet *union_spanset_date(const SpanSet *ss, DateADT d); +extern SpanSet *union_spanset_float(const SpanSet *ss, double d); +extern SpanSet *union_spanset_int(const SpanSet *ss, int i); +extern SpanSet *union_spanset_span(const SpanSet *ss, const Span *s); +extern SpanSet *union_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern SpanSet *union_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern Set *union_text_set(const text *txt, const Set *s); +extern Set *union_timestamptz_set(TimestampTz t, const Set *s); +extern SpanSet *union_timestamptz_span(TimestampTz t, const Span *s); +extern SpanSet *union_timestamptz_spanset(TimestampTz t, SpanSet *ss); + +/***************************************************************************** + * Distance functions for set and span types + *****************************************************************************/ + +extern int64 distance_bigintset_bigintset(const Set *s1, const Set *s2); +extern int64 distance_bigintspan_bigintspan(const Span *s1, const Span *s2); +extern int64 distance_bigintspanset_bigintspan(const SpanSet *ss, const Span *s); +extern int64 distance_bigintspanset_bigintspanset(const SpanSet *ss1, const SpanSet *ss2); +extern int distance_dateset_dateset(const Set *s1, const Set *s2); +extern int distance_datespan_datespan(const Span *s1, const Span *s2); +extern int distance_datespanset_datespan(const SpanSet *ss, const Span *s); +extern int distance_datespanset_datespanset(const SpanSet *ss1, const SpanSet *ss2); +extern double distance_floatset_floatset(const Set *s1, const Set *s2); +extern double distance_floatspan_floatspan(const Span *s1, const Span *s2); +extern double distance_floatspanset_floatspan(const SpanSet *ss, const Span *s); +extern double distance_floatspanset_floatspanset(const SpanSet *ss1, const SpanSet *ss2); +extern int distance_intset_intset(const Set *s1, const Set *s2); +extern int distance_intspan_intspan(const Span *s1, const Span *s2); +extern int distance_intspanset_intspan(const SpanSet *ss, const Span *s); +extern int distance_intspanset_intspanset(const SpanSet *ss1, const SpanSet *ss2); +extern int64 distance_set_bigint(const Set *s, int64 i); +extern int distance_set_date(const Set *s, DateADT d); +extern double distance_set_float(const Set *s, double d); +extern int distance_set_int(const Set *s, int i); +extern double distance_set_timestamptz(const Set *s, TimestampTz t); +extern int64 distance_span_bigint(const Span *s, int64 i); +extern int distance_span_date(const Span *s, DateADT d); +extern double distance_span_float(const Span *s, double d); +extern int distance_span_int(const Span *s, int i); +extern double distance_span_timestamptz(const Span *s, TimestampTz t); +extern int64 distance_spanset_bigint(const SpanSet *ss, int64 i); +extern int distance_spanset_date(const SpanSet *ss, DateADT d); +extern double distance_spanset_float(const SpanSet *ss, double d); +extern int distance_spanset_int(const SpanSet *ss, int i); +extern double distance_spanset_timestamptz(const SpanSet *ss, TimestampTz t); +extern double distance_tstzset_tstzset(const Set *s1, const Set *s2); +extern double distance_tstzspan_tstzspan(const Span *s1, const Span *s2); +extern double distance_tstzspanset_tstzspan(const SpanSet *ss, const Span *s); +extern double distance_tstzspanset_tstzspanset(const SpanSet *ss1, const SpanSet *ss2); + +/***************************************************************************** + * Aggregate functions for set and span types + *****************************************************************************/ + +extern Span *bigint_extent_transfn(Span *state, int64 i); +extern Set *bigint_union_transfn(Set *state, int64 i); +extern Span *date_extent_transfn(Span *state, DateADT d); +extern Set *date_union_transfn(Set *state, DateADT d); +extern Span *float_extent_transfn(Span *state, double d); +extern Set *float_union_transfn(Set *state, double d); +extern Span *int_extent_transfn(Span *state, int i); +extern Set *int_union_transfn(Set *state, int32 i); +extern Span *set_extent_transfn(Span *state, const Set *s); +extern Set *set_union_finalfn(Set *state); +extern Set *set_union_transfn(Set *state, Set *s); +extern Span *span_extent_transfn(Span *state, const Span *s); +extern SpanSet *span_union_transfn(SpanSet *state, const Span *s); +extern Span *spanset_extent_transfn(Span *state, const SpanSet *ss); +extern SpanSet *spanset_union_finalfn(SpanSet *state); +extern SpanSet *spanset_union_transfn(SpanSet *state, const SpanSet *ss); +extern Set *text_union_transfn(Set *state, const text *txt); +extern Span *timestamptz_extent_transfn(Span *state, TimestampTz t); +extern Set *timestamptz_union_transfn(Set *state, TimestampTz t); + +/***************************************************************************** + * Bin functions for span and spanset types + *****************************************************************************/ + +extern int64 bigint_get_bin(int64 value, int64 vsize, int64 vorigin); +extern Span *bigintspan_bins(const Span *s, int64 vsize, int64 vorigin, int *count); +extern Span *bigintspanset_bins(const SpanSet *ss, int64 vsize, int64 vorigin, int *count); +extern DateADT date_get_bin(DateADT d, const Interval *duration, DateADT torigin); +extern Span *datespan_bins(const Span *s, const Interval *duration, DateADT torigin, int *count); +extern Span *datespanset_bins(const SpanSet *ss, const Interval *duration, DateADT torigin, int *count); +extern double float_get_bin(double value, double vsize, double vorigin); +extern Span *floatspan_bins(const Span *s, double vsize, double vorigin, int *count); +extern Span *floatspanset_bins(const SpanSet *ss, double vsize, double vorigin, int *count); +extern int int_get_bin(int value, int vsize, int vorigin); +extern Span *intspan_bins(const Span *s, int vsize, int vorigin, int *count); +extern Span *intspanset_bins(const SpanSet *ss, int vsize, int vorigin, int *count); +extern TimestampTz timestamptz_get_bin(TimestampTz t, const Interval *duration, TimestampTz torigin); +extern Span *tstzspan_bins(const Span *s, const Interval *duration, TimestampTz origin, int *count); +extern Span *tstzspanset_bins(const SpanSet *ss, const Interval *duration, TimestampTz torigin, int *count); + +/*===========================================================================* + * Functions for temporal boxes + *===========================================================================*/ + +/***************************************************************************** + * Input and output functions for box types + *****************************************************************************/ + +extern char *tbox_as_hexwkb(const TBox *box, uint8_t variant, size_t *size); +extern uint8_t *tbox_as_wkb(const TBox *box, uint8_t variant, size_t *size_out); +extern TBox *tbox_from_hexwkb(const char *hexwkb); +extern TBox *tbox_from_wkb(const uint8_t *wkb, size_t size); +extern TBox *tbox_in(const char *str); +extern char *tbox_out(const TBox *box, int maxdd); + +/***************************************************************************** + * Constructor functions for box types + *****************************************************************************/ + +extern TBox *float_timestamptz_to_tbox(double d, TimestampTz t); +extern TBox *float_tstzspan_to_tbox(double d, const Span *s); +extern TBox *int_timestamptz_to_tbox(int i, TimestampTz t); +extern TBox *int_tstzspan_to_tbox(int i, const Span *s); +extern TBox *numspan_tstzspan_to_tbox(const Span *span, const Span *s); +extern TBox *numspan_timestamptz_to_tbox(const Span *span, TimestampTz t); +extern TBox *tbox_copy(const TBox *box); +extern TBox *tbox_make(const Span *s, const Span *p); + +/***************************************************************************** + * Conversion functions for box types + *****************************************************************************/ + +extern TBox *float_to_tbox(double d); +extern TBox *int_to_tbox(int i); +extern TBox *set_to_tbox(const Set *s); +extern TBox *span_to_tbox(const Span *s); +extern TBox *spanset_to_tbox(const SpanSet *ss); +extern Span *tbox_to_bigintspan(const TBox *box); +extern Span *tbox_to_intspan(const TBox *box); +extern Span *tbox_to_floatspan(const TBox *box); +extern Span *tbox_to_tstzspan(const TBox *box); +extern TBox *timestamptz_to_tbox(TimestampTz t); + +/***************************************************************************** + * Accessor functions for box types + *****************************************************************************/ + +extern uint32 tbox_hash(const TBox *box); +extern uint64 tbox_hash_extended(const TBox *box, uint64 seed); +extern bool tbox_hast(const TBox *box); +extern bool tbox_hasx(const TBox *box); +extern bool tbox_tmax(const TBox *box, TimestampTz *result); +extern bool tbox_tmax_inc(const TBox *box, bool *result); +extern bool tbox_tmin(const TBox *box, TimestampTz *result); +extern bool tbox_tmin_inc(const TBox *box, bool *result); +extern bool tbox_xmax(const TBox *box, double *result); +extern bool tbox_xmax_inc(const TBox *box, bool *result); +extern bool tbox_xmin(const TBox *box, double *result); +extern bool tbox_xmin_inc(const TBox *box, bool *result); +extern bool tboxfloat_xmax(const TBox *box, double *result); +extern bool tboxfloat_xmin(const TBox *box, double *result); +extern bool tboxint_xmax(const TBox *box, int *result); +extern bool tboxint_xmin(const TBox *box, int *result); + +/***************************************************************************** + * Transformation functions for box types + *****************************************************************************/ + +extern TBox *tbigintbox_expand(const TBox *box, int64 i); +extern TBox *tbigintbox_shift_scale(const TBox *box, int64 shift, int64 width, bool hasshift, bool haswidth); +extern TBox *tbox_expand_time(const TBox *box, const Interval *interv); +extern TBox *tbox_round(const TBox *box, int maxdd); +extern TBox *tbox_shift_scale_time(const TBox *box, const Interval *shift, const Interval *duration); +extern TBox *tfloatbox_expand(const TBox *box, double d); +extern TBox *tfloatbox_shift_scale(const TBox *box, double shift, double width, bool hasshift, bool haswidth); +extern TBox *tintbox_expand(const TBox *box, int i); +extern TBox *tintbox_shift_scale(const TBox *box, int shift, int width, bool hasshift, bool haswidth); + +/***************************************************************************** + * Set functions for box types + *****************************************************************************/ + +extern TBox *union_tbox_tbox(const TBox *box1, const TBox *box2, bool strict); +extern TBox *intersection_tbox_tbox(const TBox *box1, const TBox *box2); + +/***************************************************************************** + * Bounding box functions for box types + *****************************************************************************/ + +/* Topological functions for box types */ + +extern bool adjacent_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool contained_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool contains_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overlaps_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool same_tbox_tbox(const TBox *box1, const TBox *box2); + +/*****************************************************************************/ + +/* Position functions for box types */ + +extern bool after_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool before_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool left_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overafter_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overbefore_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overleft_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overright_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool right_tbox_tbox(const TBox *box1, const TBox *box2); + +/***************************************************************************** + * Comparison functions for box types + *****************************************************************************/ + +extern int tbox_cmp(const TBox *box1, const TBox *box2); +extern bool tbox_eq(const TBox *box1, const TBox *box2); +extern bool tbox_ge(const TBox *box1, const TBox *box2); +extern bool tbox_gt(const TBox *box1, const TBox *box2); +extern bool tbox_le(const TBox *box1, const TBox *box2); +extern bool tbox_lt(const TBox *box1, const TBox *box2); +extern bool tbox_ne(const TBox *box1, const TBox *box2); + +/*===========================================================================* + * Functions for temporal types + *===========================================================================*/ + +/***************************************************************************** + * Input and output functions for temporal types + *****************************************************************************/ + +extern Temporal *tbigint_from_mfjson(const char *str); +extern Temporal *tbigint_in(const char *str); +extern char *tbigint_out(const Temporal *temp); +extern Temporal *tbool_from_mfjson(const char *str); +extern Temporal *tbool_in(const char *str); +extern char *tbool_out(const Temporal *temp); +extern char *temporal_as_hexwkb(const Temporal *temp, uint8_t variant, size_t *size_out); +extern char *temporal_as_mfjson(const Temporal *temp, bool with_bbox, int flags, int precision, const char *srs); +extern uint8_t *temporal_as_wkb(const Temporal *temp, uint8_t variant, size_t *size_out); +extern Temporal *temporal_from_hexwkb(const char *hexwkb); +extern Temporal *temporal_from_wkb(const uint8_t *wkb, size_t size); +extern Temporal *tfloat_from_mfjson(const char *str); +extern Temporal *tfloat_in(const char *str); +extern char *tfloat_out(const Temporal *temp, int maxdd); +extern Temporal *tint_from_mfjson(const char *str); +extern Temporal *tint_in(const char *str); +extern char *tint_out(const Temporal *temp); +extern Temporal *ttext_from_mfjson(const char *str); +extern Temporal *ttext_in(const char *str); +extern char *ttext_out(const Temporal *temp); + +/***************************************************************************** + * Constructor functions for temporal types + *****************************************************************************/ + +extern Temporal *tbigint_from_base_temp(int64 i, const Temporal *temp); +extern TInstant *tbigintinst_make(int64 i, TimestampTz t); +extern TSequence *tbigintseq_from_base_tstzset(int64 i, const Set *s); +extern TSequence *tbigintseq_from_base_tstzspan(int64 i, const Span *s); +extern TSequenceSet *tbigintseqset_from_base_tstzspanset(int64 i, const SpanSet *ss); +extern Temporal *tbool_from_base_temp(bool b, const Temporal *temp); +extern TInstant *tboolinst_make(bool b, TimestampTz t); +extern TSequence *tboolseq_from_base_tstzset(bool b, const Set *s); +extern TSequence *tboolseq_from_base_tstzspan(bool b, const Span *s); +extern TSequenceSet *tboolseqset_from_base_tstzspanset(bool b, const SpanSet *ss); +extern Temporal *temporal_copy(const Temporal *temp); +extern Temporal *tfloat_from_base_temp(double d, const Temporal *temp); +extern TInstant *tfloatinst_make(double d, TimestampTz t); +extern TSequence *tfloatseq_from_base_tstzset(double d, const Set *s); +extern TSequence *tfloatseq_from_base_tstzspan(double d, const Span *s, interpType interp); +extern TSequenceSet *tfloatseqset_from_base_tstzspanset(double d, const SpanSet *ss, interpType interp); +extern Temporal *tint_from_base_temp(int i, const Temporal *temp); +extern TInstant *tintinst_make(int i, TimestampTz t); +extern TSequence *tintseq_from_base_tstzset(int i, const Set *s); +extern TSequence *tintseq_from_base_tstzspan(int i, const Span *s); +extern TSequenceSet *tintseqset_from_base_tstzspanset(int i, const SpanSet *ss); +extern TSequence *tsequence_make(TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequenceSet *tsequenceset_make(TSequence **sequences, int count, bool normalize); +extern TSequenceSet *tsequenceset_make_gaps(TInstant **instants, int count, interpType interp, const Interval *maxt, double maxdist); +extern Temporal *ttext_from_base_temp(const text *txt, const Temporal *temp); +extern TInstant *ttextinst_make(const text *txt, TimestampTz t); +extern TSequence *ttextseq_from_base_tstzset(const text *txt, const Set *s); +extern TSequence *ttextseq_from_base_tstzspan(const text *txt, const Span *s); +extern TSequenceSet *ttextseqset_from_base_tstzspanset(const text *txt, const SpanSet *ss); + +/***************************************************************************** + * Conversion functions for temporal types + *****************************************************************************/ + +extern Temporal *tbigint_to_tfloat(const Temporal *temp); +extern Temporal *tbigint_to_tint(const Temporal *temp); +extern Temporal *tbool_to_tint(const Temporal *temp); +extern Span *temporal_to_tstzspan(const Temporal *temp); +extern Temporal *tfloat_to_tbigint(const Temporal *temp); +extern Temporal *tfloat_to_tint(const Temporal *temp); +extern Temporal *tint_to_tbigint(const Temporal *temp); +extern Temporal *tint_to_tfloat(const Temporal *temp); +extern Span *tnumber_to_span(const Temporal *temp); +extern TBox *tnumber_to_tbox (const Temporal *temp); + +/***************************************************************************** + * Accessor functions for temporal types + *****************************************************************************/ + +extern int64 tbigint_end_value(const Temporal *temp); +extern int64 tbigint_max_value(const Temporal *temp); +extern int64 tbigint_min_value(const Temporal *temp); +extern int64 tbigint_start_value(const Temporal *temp); +extern bool tbigint_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, int64 *value); +extern bool tbigint_value_n(const Temporal *temp, int64 n, int64 *result); +extern int64 *tbigint_values(const Temporal *temp, int32 *count); +extern bool tbool_end_value(const Temporal *temp); +extern bool tbool_start_value(const Temporal *temp); +extern bool tbool_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, bool *value); +extern bool tbool_value_n(const Temporal *temp, int n, bool *result); +extern bool *tbool_values(const Temporal *temp, int *count); +extern Interval *temporal_duration(const Temporal *temp, bool boundspan); +extern TInstant *temporal_end_instant(const Temporal *temp); +extern TSequence *temporal_end_sequence(const Temporal *temp); +extern TimestampTz temporal_end_timestamptz(const Temporal *temp); +extern uint32 temporal_hash(const Temporal *temp); +extern TInstant *temporal_instant_n(const Temporal *temp, int n); +extern TInstant **temporal_instants(const Temporal *temp, int *count); +extern const char *temporal_interp(const Temporal *temp); +extern bool temporal_lower_inc(const Temporal *temp); +extern TInstant *temporal_max_instant(const Temporal *temp); +extern TInstant *temporal_min_instant(const Temporal *temp); +extern int temporal_num_instants(const Temporal *temp); +extern int temporal_num_sequences(const Temporal *temp); +extern int temporal_num_timestamps(const Temporal *temp); +extern TSequenceSet *temporal_segm_duration(const Temporal *temp, const Interval *duration, bool atleast, bool strict); +extern TSequence **temporal_segments(const Temporal *temp, int *count); +extern TSequence *temporal_sequence_n(const Temporal *temp, int i); +extern TSequence **temporal_sequences(const Temporal *temp, int *count); +extern TInstant *temporal_start_instant(const Temporal *temp); +extern TSequence *temporal_start_sequence(const Temporal *temp); +extern TimestampTz temporal_start_timestamptz(const Temporal *temp); +extern TSequenceSet *temporal_stops(const Temporal *temp, double maxdist, const Interval *minduration); +extern const char *temporal_subtype(const Temporal *temp); +extern SpanSet *temporal_time(const Temporal *temp); +extern TimestampTz *temporal_timestamps(const Temporal *temp, int *count); +extern bool temporal_timestamptz_n(const Temporal *temp, int n, TimestampTz *result); +extern bool temporal_upper_inc(const Temporal *temp); +extern double tfloat_avg_value(const Temporal *temp); +extern double tfloat_end_value(const Temporal *temp); +extern double tfloat_min_value(const Temporal *temp); +extern double tfloat_max_value(const Temporal *temp); +extern double tfloat_start_value(const Temporal *temp); +extern bool tfloat_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, double *value); +extern bool tfloat_value_n(const Temporal *temp, int n, double *result); +extern double *tfloat_values(const Temporal *temp, int *count); +extern int tint_end_value(const Temporal *temp); +extern int tint_max_value(const Temporal *temp); +extern int tint_min_value(const Temporal *temp); +extern int tint_start_value(const Temporal *temp); +extern bool tint_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, int *value); +extern bool tint_value_n(const Temporal *temp, int n, int *result); +extern int *tint_values(const Temporal *temp, int *count); +extern double tnumber_avg_value(const Temporal *temp); +extern double tnumber_integral(const Temporal *temp); +extern double tnumber_twavg(const Temporal *temp); +extern SpanSet *tnumber_valuespans(const Temporal *temp); +extern text *ttext_end_value(const Temporal *temp); +extern text *ttext_max_value(const Temporal *temp); +extern text *ttext_min_value(const Temporal *temp); +extern text *ttext_start_value(const Temporal *temp); +extern bool ttext_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, text **value); +extern bool ttext_value_n(const Temporal *temp, int n, text **result); +extern text **ttext_values(const Temporal *temp, int *count); + +/***************************************************************************** + * Transformation functions for temporal types + *****************************************************************************/ + +extern double float_degrees(double value, bool normalize); +extern Temporal *tbigint_scale_value(const Temporal *temp, int64 width); +extern Temporal *tbigint_shift_scale_value(const Temporal *temp, int64 shift, int64 width); +extern Temporal *tbigint_shift_value(const Temporal *temp, int64 shift); +extern Temporal **temparr_round(Temporal **temp, int count, int maxdd); +extern Temporal *temporal_round(const Temporal *temp, int maxdd); +extern Temporal *temporal_scale_time(const Temporal *temp, const Interval *duration); +extern Temporal *temporal_set_interp(const Temporal *temp, interpType interp); +extern Temporal *temporal_shift_scale_time(const Temporal *temp, const Interval *shift, const Interval *duration); +extern Temporal *temporal_shift_time(const Temporal *temp, const Interval *shift); +extern TInstant *temporal_to_tinstant(const Temporal *temp); +extern TSequence *temporal_to_tsequence(const Temporal *temp, interpType interp); +extern TSequenceSet *temporal_to_tsequenceset(const Temporal *temp, interpType interp); +extern Temporal *tfloat_ceil(const Temporal *temp); +extern Temporal *tfloat_degrees(const Temporal *temp, bool normalize); +extern Temporal *tfloat_floor(const Temporal *temp); +extern Temporal *tfloat_radians(const Temporal *temp); +extern Temporal *tfloat_scale_value(const Temporal *temp, double width); +extern Temporal *tfloat_shift_scale_value(const Temporal *temp, double shift, double width); +extern Temporal *tfloat_shift_value(const Temporal *temp, double shift); +extern Temporal *tint_scale_value(const Temporal *temp, int width); +extern Temporal *tint_shift_scale_value(const Temporal *temp, int shift, int width); +extern Temporal *tint_shift_value(const Temporal *temp, int shift); + +/***************************************************************************** + * Modification functions for temporal types + *****************************************************************************/ + +extern Temporal *temporal_append_tinstant(Temporal *temp, const TInstant *inst, interpType interp, double maxdist, const Interval *maxt, bool expand); +extern Temporal *temporal_append_tsequence(Temporal *temp, const TSequence *seq, bool expand); +extern Temporal *temporal_delete_timestamptz(const Temporal *temp, TimestampTz t, bool connect); +extern Temporal *temporal_delete_tstzset(const Temporal *temp, const Set *s, bool connect); +extern Temporal *temporal_delete_tstzspan(const Temporal *temp, const Span *s, bool connect); +extern Temporal *temporal_delete_tstzspanset(const Temporal *temp, const SpanSet *ss, bool connect); +extern Temporal *temporal_insert(const Temporal *temp1, const Temporal *temp2, bool connect); +extern Temporal *temporal_merge(const Temporal *temp1, const Temporal *temp2); +extern Temporal *temporal_merge_array(Temporal **temparr, int count); +extern Temporal *temporal_update(const Temporal *temp1, const Temporal *temp2, bool connect); + +/***************************************************************************** + * Restriction functions for temporal types + *****************************************************************************/ + +extern Temporal *tbigint_at_value(const Temporal *temp, int64 i); +extern Temporal *tbigint_minus_value(const Temporal *temp, int64 i); +extern Temporal *tbool_at_value(const Temporal *temp, bool b); +extern Temporal *tbool_minus_value(const Temporal *temp, bool b); +extern Temporal *temporal_after_timestamptz(const Temporal *temp, TimestampTz t, bool strict); +extern Temporal *temporal_at_max(const Temporal *temp); +extern Temporal *temporal_at_min(const Temporal *temp); +extern Temporal *temporal_at_timestamptz(const Temporal *temp, TimestampTz t); +extern Temporal *temporal_at_tstzset(const Temporal *temp, const Set *s); +extern Temporal *temporal_at_tstzspan(const Temporal *temp, const Span *s); +extern Temporal *temporal_at_tstzspanset(const Temporal *temp, const SpanSet *ss); +extern Temporal *temporal_at_values(const Temporal *temp, const Set *set); +extern Temporal *temporal_before_timestamptz(const Temporal *temp, TimestampTz t, bool strict); +extern Temporal *temporal_minus_max(const Temporal *temp); +extern Temporal *temporal_minus_min(const Temporal *temp); +extern Temporal *temporal_minus_timestamptz(const Temporal *temp, TimestampTz t); +extern Temporal *temporal_minus_tstzset(const Temporal *temp, const Set *s); +extern Temporal *temporal_minus_tstzspan(const Temporal *temp, const Span *s); +extern Temporal *temporal_minus_tstzspanset(const Temporal *temp, const SpanSet *ss); +extern Temporal *temporal_minus_values(const Temporal *temp, const Set *set); +extern Temporal *tfloat_at_value(const Temporal *temp, double d); +extern Temporal *tfloat_minus_value(const Temporal *temp, double d); +extern Temporal *tint_at_value(const Temporal *temp, int i); +extern Temporal *tint_minus_value(const Temporal *temp, int i); +extern Temporal *tnumber_at_span(const Temporal *temp, const Span *span); +extern Temporal *tnumber_at_spanset(const Temporal *temp, const SpanSet *ss); +extern Temporal *tnumber_at_tbox(const Temporal *temp, const TBox *box); +extern Temporal *tnumber_minus_span(const Temporal *temp, const Span *span); +extern Temporal *tnumber_minus_spanset(const Temporal *temp, const SpanSet *ss); +extern Temporal *tnumber_minus_tbox(const Temporal *temp, const TBox *box); +extern Temporal *ttext_at_value(const Temporal *temp, text *txt); +extern Temporal *ttext_minus_value(const Temporal *temp, text *txt); + +/***************************************************************************** + * Comparison functions for temporal types + *****************************************************************************/ + +/* Traditional comparison functions for temporal types */ + +extern int temporal_cmp(const Temporal *temp1, const Temporal *temp2); +extern bool temporal_eq(const Temporal *temp1, const Temporal *temp2); +extern bool temporal_ge(const Temporal *temp1, const Temporal *temp2); +extern bool temporal_gt(const Temporal *temp1, const Temporal *temp2); +extern bool temporal_le(const Temporal *temp1, const Temporal *temp2); +extern bool temporal_lt(const Temporal *temp1, const Temporal *temp2); +extern bool temporal_ne(const Temporal *temp1, const Temporal *temp2); + +/*****************************************************************************/ + +/* Ever and always comparison functions for temporal types */ + +extern int always_eq_bigint_tbigint(int64 i, const Temporal *temp); +extern int always_eq_bool_tbool(bool b, const Temporal *temp); +extern int always_eq_float_tfloat(double d, const Temporal *temp); +extern int always_eq_int_tint(int i, const Temporal *temp); +extern int always_eq_tbool_bool(const Temporal *temp, bool b); +extern int always_eq_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_eq_text_ttext(const text *txt, const Temporal *temp); +extern int always_eq_tbigint_bigint(const Temporal *temp, int64 i); +extern int always_eq_tfloat_float(const Temporal *temp, double d); +extern int always_eq_tint_int(const Temporal *temp, int i); +extern int always_eq_ttext_text(const Temporal *temp, const text *txt); + +extern int always_ge_bigint_tbigint(int64 i, const Temporal *temp); +extern int always_ge_float_tfloat(double d, const Temporal *temp); +extern int always_ge_int_tint(int i, const Temporal *temp); +extern int always_ge_tbigint_bigint(const Temporal *temp, int64 i); +extern int always_ge_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_ge_text_ttext(const text *txt, const Temporal *temp); +extern int always_ge_tfloat_float(const Temporal *temp, double d); +extern int always_ge_tint_int(const Temporal *temp, int i); +extern int always_ge_ttext_text(const Temporal *temp, const text *txt); + +extern int always_gt_bigint_tbigint(int64 i, const Temporal *temp); +extern int always_gt_float_tfloat(double d, const Temporal *temp); +extern int always_gt_int_tint(int i, const Temporal *temp); +extern int always_gt_tbigint_bigint(const Temporal *temp, int64 i); +extern int always_gt_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_gt_text_ttext(const text *txt, const Temporal *temp); +extern int always_gt_tfloat_float(const Temporal *temp, double d); +extern int always_gt_tint_int(const Temporal *temp, int i); +extern int always_gt_ttext_text(const Temporal *temp, const text *txt); + +extern int always_le_bigint_tbigint(int64 i, const Temporal *temp); +extern int always_le_float_tfloat(double d, const Temporal *temp); +extern int always_le_int_tint(int i, const Temporal *temp); +extern int always_le_tbigint_bigint(const Temporal *temp, int64 i); +extern int always_le_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_le_text_ttext(const text *txt, const Temporal *temp); +extern int always_le_tfloat_float(const Temporal *temp, double d); +extern int always_le_tint_int(const Temporal *temp, int i); +extern int always_le_ttext_text(const Temporal *temp, const text *txt); + +extern int always_lt_bigint_tbigint(int64 i, const Temporal *temp); +extern int always_lt_float_tfloat(double d, const Temporal *temp); +extern int always_lt_int_tint(int i, const Temporal *temp); +extern int always_lt_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_lt_text_ttext(const text *txt, const Temporal *temp); +extern int always_lt_tfloat_float(const Temporal *temp, double d); +extern int always_lt_tint_int(const Temporal *temp, int i); +extern int always_lt_ttext_text(const Temporal *temp, const text *txt); +extern int always_ne_bool_tbool(bool b, const Temporal *temp); +extern int always_ne_float_tfloat(double d, const Temporal *temp); +extern int always_ne_int_tint(int i, const Temporal *temp); +extern int always_lt_tbigint_bigint(const Temporal *temp, int64 i); + +extern int always_ne_bigint_tbigint(int64 i, const Temporal *temp); +extern int always_ne_tbool_bool(const Temporal *temp, bool b); +extern int always_ne_tbigint_bigint(const Temporal *temp, int64 i); +extern int always_ne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_text_ttext(const text *txt, const Temporal *temp); +extern int always_ne_tfloat_float(const Temporal *temp, double d); +extern int always_ne_tint_int(const Temporal *temp, int i); +extern int always_ne_ttext_text(const Temporal *temp, const text *txt); + +extern int ever_eq_bigint_tbigint(int64 i, const Temporal *temp); +extern int ever_eq_bool_tbool(bool b, const Temporal *temp); +extern int ever_eq_float_tfloat(double d, const Temporal *temp); +extern int ever_eq_int_tint(int i, const Temporal *temp); +extern int ever_eq_tbigint_bigint(const Temporal *temp, int64 i); +extern int ever_eq_tbool_bool(const Temporal *temp, bool b); +extern int ever_eq_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_text_ttext(const text *txt, const Temporal *temp); +extern int ever_eq_tfloat_float(const Temporal *temp, double d); +extern int ever_eq_tint_int(const Temporal *temp, int i); +extern int ever_eq_ttext_text(const Temporal *temp, const text *txt); + +extern int ever_ge_bigint_tbigint(int64 i, const Temporal *temp); +extern int ever_ge_float_tfloat(double d, const Temporal *temp); +extern int ever_ge_int_tint(int i, const Temporal *temp); +extern int ever_ge_tbigint_bigint(const Temporal *temp, int64 i); +extern int ever_ge_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int ever_ge_text_ttext(const text *txt, const Temporal *temp); +extern int ever_ge_tfloat_float(const Temporal *temp, double d); +extern int ever_ge_tint_int(const Temporal *temp, int i); +extern int ever_ge_ttext_text(const Temporal *temp, const text *txt); + +extern int ever_gt_bigint_tbigint(int64 i, const Temporal *temp); +extern int ever_gt_float_tfloat(double d, const Temporal *temp); +extern int ever_gt_int_tint(int i, const Temporal *temp); +extern int ever_gt_tbigint_bigint(const Temporal *temp, int64 i); +extern int ever_gt_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int ever_gt_text_ttext(const text *txt, const Temporal *temp); +extern int ever_gt_tfloat_float(const Temporal *temp, double d); +extern int ever_gt_tint_int(const Temporal *temp, int i); +extern int ever_gt_ttext_text(const Temporal *temp, const text *txt); + +extern int ever_le_bigint_tbigint(int64 i, const Temporal *temp); +extern int ever_le_float_tfloat(double d, const Temporal *temp); +extern int ever_le_int_tint(int i, const Temporal *temp); +extern int ever_le_tbigint_bigint(const Temporal *temp, int64 i); +extern int ever_le_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int ever_le_text_ttext(const text *txt, const Temporal *temp); +extern int ever_le_tfloat_float(const Temporal *temp, double d); +extern int ever_le_tint_int(const Temporal *temp, int i); +extern int ever_le_ttext_text(const Temporal *temp, const text *txt); + +extern int ever_lt_bigint_tbigint(int64 i, const Temporal *temp); +extern int ever_lt_float_tfloat(double d, const Temporal *temp); +extern int ever_lt_int_tint(int i, const Temporal *temp); +extern int ever_lt_tbigint_bigint(const Temporal *temp, int64 i); +extern int ever_lt_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int ever_lt_text_ttext(const text *txt, const Temporal *temp); +extern int ever_lt_tfloat_float(const Temporal *temp, double d); +extern int ever_lt_tint_int(const Temporal *temp, int i); +extern int ever_lt_ttext_text(const Temporal *temp, const text *txt); + +extern int ever_ne_bigint_tbigint(int64 i, const Temporal *temp); +extern int ever_ne_bool_tbool(bool b, const Temporal *temp); +extern int ever_ne_float_tfloat(double d, const Temporal *temp); +extern int ever_ne_int_tint(int i, const Temporal *temp); +extern int ever_ne_tbigint_bigint(const Temporal *temp, int64 i); +extern int ever_ne_tbool_bool(const Temporal *temp, bool b); +extern int ever_ne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_text_ttext(const text *txt, const Temporal *temp); +extern int ever_ne_tfloat_float(const Temporal *temp, double d); +extern int ever_ne_tint_int(const Temporal *temp, int i); +extern int ever_ne_ttext_text(const Temporal *temp, const text *txt); + +/*****************************************************************************/ + +/* Temporal comparison functions for temporal types */ + +extern Temporal *teq_bool_tbool(bool b, const Temporal *temp); +extern Temporal *teq_float_tfloat(double d, const Temporal *temp); +extern Temporal *teq_int_tint(int i, const Temporal *temp); +extern Temporal *teq_tbool_bool(const Temporal *temp, bool b); +extern Temporal *teq_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern Temporal *teq_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *teq_tfloat_float(const Temporal *temp, double d); +extern Temporal *teq_tint_int(const Temporal *temp, int i); +extern Temporal *teq_ttext_text(const Temporal *temp, const text *txt); +extern Temporal *tge_float_tfloat(double d, const Temporal *temp); +extern Temporal *tge_int_tint(int i, const Temporal *temp); +extern Temporal *tge_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tge_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *tge_tfloat_float(const Temporal *temp, double d); +extern Temporal *tge_tint_int(const Temporal *temp, int i); +extern Temporal *tge_ttext_text(const Temporal *temp, const text *txt); +extern Temporal *tgt_float_tfloat(double d, const Temporal *temp); +extern Temporal *tgt_int_tint(int i, const Temporal *temp); +extern Temporal *tgt_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tgt_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *tgt_tfloat_float(const Temporal *temp, double d); +extern Temporal *tgt_tint_int(const Temporal *temp, int i); +extern Temporal *tgt_ttext_text(const Temporal *temp, const text *txt); +extern Temporal *tle_float_tfloat(double d, const Temporal *temp); +extern Temporal *tle_int_tint(int i, const Temporal *temp); +extern Temporal *tle_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tle_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *tle_tfloat_float(const Temporal *temp, double d); +extern Temporal *tle_tint_int(const Temporal *temp, int i); +extern Temporal *tle_ttext_text(const Temporal *temp, const text *txt); +extern Temporal *tlt_float_tfloat(double d, const Temporal *temp); +extern Temporal *tlt_int_tint(int i, const Temporal *temp); +extern Temporal *tlt_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tlt_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *tlt_tfloat_float(const Temporal *temp, double d); +extern Temporal *tlt_tint_int(const Temporal *temp, int i); +extern Temporal *tlt_ttext_text(const Temporal *temp, const text *txt); +extern Temporal *tne_bool_tbool(bool b, const Temporal *temp); +extern Temporal *tne_float_tfloat(double d, const Temporal *temp); +extern Temporal *tne_int_tint(int i, const Temporal *temp); +extern Temporal *tne_tbool_bool(const Temporal *temp, bool b); +extern Temporal *tne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tne_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *tne_tfloat_float(const Temporal *temp, double d); +extern Temporal *tne_tint_int(const Temporal *temp, int i); +extern Temporal *tne_ttext_text(const Temporal *temp, const text *txt); + +/***************************************************************************** + * Bounding box functions for temporal types + *****************************************************************************/ + +/* Split functions */ + +extern Span *temporal_spans(const Temporal *temp, int *count); +extern Span *temporal_split_each_n_spans(const Temporal *temp, int elem_count, int *count); +extern Span *temporal_split_n_spans(const Temporal *temp, int span_count, int *count); +extern TBox *tnumber_split_each_n_tboxes(const Temporal *temp, int elem_count, int *count); +extern TBox *tnumber_split_n_tboxes(const Temporal *temp, int box_count, int *count); +extern TBox *tnumber_tboxes(const Temporal *temp, int *count); + +/* Topological functions for temporal types */ + +extern bool adjacent_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool adjacent_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool adjacent_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool adjacent_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool adjacent_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool adjacent_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool adjacent_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool adjacent_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool contained_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool contained_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool contained_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool contained_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool contained_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool contained_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool contained_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool contained_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool contains_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool contains_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool contains_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool contains_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool contains_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool contains_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool contains_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool contains_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool overlaps_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool overlaps_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool overlaps_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool overlaps_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool overlaps_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool overlaps_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool overlaps_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool overlaps_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool same_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool same_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool same_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool same_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool same_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool same_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool same_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool same_tstzspan_temporal(const Span *s, const Temporal *temp); + +/*****************************************************************************/ + +/* Position functions for temporal types */ + +extern bool after_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool after_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool after_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool after_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool after_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool after_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool before_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool before_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool before_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool before_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool before_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool before_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool left_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool left_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool left_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool left_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool left_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool overafter_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool overafter_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool overafter_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool overafter_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool overafter_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool overafter_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool overbefore_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool overbefore_temporal_tstzspan(const Temporal *temp, const Span *s); +extern bool overbefore_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool overbefore_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool overbefore_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool overbefore_tstzspan_temporal(const Span *s, const Temporal *temp); +extern bool overleft_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool overleft_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool overleft_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool overleft_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool overleft_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool overright_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool overright_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool overright_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool overright_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool overright_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool right_numspan_tnumber(const Span *s, const Temporal *temp); +extern bool right_tbox_tnumber(const TBox *box, const Temporal *temp); +extern bool right_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool right_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool right_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Boolean functions for temporal types + *****************************************************************************/ + +extern Temporal *tand_bool_tbool(bool b, const Temporal *temp); +extern Temporal *tand_tbool_bool(const Temporal *temp, bool b); +extern Temporal *tand_tbool_tbool(const Temporal *temp1, const Temporal *temp2); +extern SpanSet *tbool_when_true(const Temporal *temp); +extern Temporal *tnot_tbool(const Temporal *temp); +extern Temporal *tor_bool_tbool(bool b, const Temporal *temp); +extern Temporal *tor_tbool_bool(const Temporal *temp, bool b); +extern Temporal *tor_tbool_tbool(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Mathematical functions for temporal types + *****************************************************************************/ + +extern Temporal *add_bigint_tbigint(int64 i, const Temporal *tnumber); +extern Temporal *add_float_tfloat(double d, const Temporal *tnumber); +extern Temporal *add_int_tint(int i, const Temporal *tnumber); +extern Temporal *add_tbigint_bigint(const Temporal *tnumber, int64 i); +extern Temporal *add_tfloat_float(const Temporal *tnumber, double d); +extern Temporal *add_tint_int(const Temporal *tnumber, int i); +extern Temporal *add_tnumber_tnumber(const Temporal *tnumber1, const Temporal *tnumber2); +extern Temporal *div_bigint_tbigint(int64 i, const Temporal *tnumber); +extern Temporal *div_float_tfloat(double d, const Temporal *tnumber); +extern Temporal *div_int_tint(int i, const Temporal *tnumber); +extern Temporal *div_tbigint_bigint(const Temporal *tnumber, int64 i); +extern Temporal *div_tfloat_float(const Temporal *tnumber, double d); +extern Temporal *div_tint_int(const Temporal *tnumber, int i); +extern Temporal *div_tnumber_tnumber(const Temporal *tnumber1, const Temporal *tnumber2); +extern Temporal *mul_bigint_tbigint(int64 i, const Temporal *tnumber); +extern Temporal *mul_float_tfloat(double d, const Temporal *tnumber); +extern Temporal *mul_int_tint(int i, const Temporal *tnumber); +extern Temporal *mul_tbigint_bigint(const Temporal *tnumber, int64 i); +extern Temporal *mul_tfloat_float(const Temporal *tnumber, double d); +extern Temporal *mul_tint_int(const Temporal *tnumber, int i); +extern Temporal *mul_tnumber_tnumber(const Temporal *tnumber1, const Temporal *tnumber2); +extern Temporal *sub_bigint_tbigint(int64 i, const Temporal *tnumber); +extern Temporal *sub_float_tfloat(double d, const Temporal *tnumber); +extern Temporal *sub_int_tint(int i, const Temporal *tnumber); +extern Temporal *sub_tbigint_bigint(const Temporal *tnumber, int64 i); +extern Temporal *sub_tfloat_float(const Temporal *tnumber, double d); +extern Temporal *sub_tint_int(const Temporal *tnumber, int i); +extern Temporal *sub_tnumber_tnumber(const Temporal *tnumber1, const Temporal *tnumber2); +extern Temporal *temporal_derivative(const Temporal *temp); +extern Temporal *tfloat_exp(const Temporal *temp); +extern Temporal *tfloat_ln(const Temporal *temp); +extern Temporal *tfloat_log10(const Temporal *temp); +extern Temporal *tnumber_abs(const Temporal *temp); +extern Temporal *tnumber_trend(const Temporal *temp); +extern double float_angular_difference(double degrees1, double degrees2); +extern Temporal *tnumber_angular_difference(const Temporal *temp); +extern Temporal *tnumber_delta_value(const Temporal *temp); + +/***************************************************************************** + * Text functions for temporal types + *****************************************************************************/ + +extern Temporal *textcat_text_ttext(const text *txt, const Temporal *temp); +extern Temporal *textcat_ttext_text(const Temporal *temp, const text *txt); +extern Temporal *textcat_ttext_ttext(const Temporal *temp1, const Temporal *temp2); +extern Temporal *ttext_initcap(const Temporal *temp); +extern Temporal *ttext_upper(const Temporal *temp); +extern Temporal *ttext_lower(const Temporal *temp); + +/***************************************************************************** + * Distance functions for temporal types + *****************************************************************************/ + +extern Temporal *tdistance_tfloat_float(const Temporal *temp, double d); +extern Temporal *tdistance_tint_int(const Temporal *temp, int i); +extern Temporal *tdistance_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern double nad_tboxfloat_tboxfloat(const TBox *box1, const TBox *box2); +extern int nad_tboxint_tboxint(const TBox *box1, const TBox *box2); +extern double nad_tfloat_float(const Temporal *temp, double d); +extern double nad_tfloat_tfloat(const Temporal *temp1, const Temporal *temp2); +extern double nad_tfloat_tbox(const Temporal *temp, const TBox *box); +extern int nad_tint_int(const Temporal *temp, int i); +extern int nad_tint_tbox(const Temporal *temp, const TBox *box); +extern int nad_tint_tint(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Aggregate functions for temporal types + *****************************************************************************/ + +extern SkipList *tbool_tand_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tbool_tor_transfn(SkipList *state, const Temporal *temp); +extern Span *temporal_extent_transfn(Span *s, const Temporal *temp); +extern SkipList *temporal_merge_transfn(SkipList *state, const Temporal *temp); +extern SkipList *temporal_merge_combinefn(SkipList *state1, SkipList *state2); +extern Temporal *temporal_tagg_finalfn(SkipList *state); +extern SkipList *temporal_tcount_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tfloat_tmax_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tfloat_tmin_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tfloat_tsum_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tfloat_wmax_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern SkipList *tfloat_wmin_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern SkipList *tfloat_wsum_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern SkipList *timestamptz_tcount_transfn(SkipList *state, TimestampTz t); +extern SkipList *tint_tmax_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tint_tmin_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tint_tsum_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tint_wmax_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern SkipList *tint_wmin_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern SkipList *tint_wsum_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern TBox *tnumber_extent_transfn(TBox *box, const Temporal *temp); +extern Temporal *tnumber_tavg_finalfn(SkipList *state); +extern SkipList *tnumber_tavg_transfn(SkipList *state, const Temporal *temp); +extern SkipList *tnumber_wavg_transfn(SkipList *state, const Temporal *temp, const Interval *interv); +extern SkipList *tstzset_tcount_transfn(SkipList *state, const Set *s); +extern SkipList *tstzspan_tcount_transfn(SkipList *state, const Span *s); +extern SkipList *tstzspanset_tcount_transfn(SkipList *state, const SpanSet *ss); +extern SkipList *ttext_tmax_transfn(SkipList *state, const Temporal *temp); +extern SkipList *ttext_tmin_transfn(SkipList *state, const Temporal *temp); + +/***************************************************************************** + * Analytics functions for temporal types + *****************************************************************************/ + +/* Simplification functions for temporal types */ + +extern Temporal *temporal_simplify_dp(const Temporal *temp, double eps_dist, bool synchronized); +extern Temporal *temporal_simplify_max_dist(const Temporal *temp, double eps_dist, bool synchronized); +extern Temporal *temporal_simplify_min_dist(const Temporal *temp, double dist); +extern Temporal *temporal_simplify_min_tdelta(const Temporal *temp, const Interval *mint); + +/*****************************************************************************/ + +/* Reduction functions for temporal types */ + +extern Temporal *temporal_tprecision(const Temporal *temp, const Interval *duration, TimestampTz origin); +extern Temporal *temporal_tsample(const Temporal *temp, const Interval *duration, TimestampTz origin, interpType interp); + +/*****************************************************************************/ + +/* Similarity functions for temporal types */ + +extern double temporal_dyntimewarp_distance(const Temporal *temp1, const Temporal *temp2); +extern Match *temporal_dyntimewarp_path(const Temporal *temp1, const Temporal *temp2, int *count); +extern double temporal_frechet_distance(const Temporal *temp1, const Temporal *temp2); +extern Match *temporal_frechet_path(const Temporal *temp1, const Temporal *temp2, int *count); +extern double temporal_hausdorff_distance(const Temporal *temp1, const Temporal *temp2); + +/*****************************************************************************/ + +/* Tile functions for temporal types */ + +extern Span *temporal_time_bins(const Temporal *temp, const Interval *duration, TimestampTz origin, int *count); +extern Temporal **temporal_time_split(const Temporal *temp, const Interval *duration, TimestampTz torigin, TimestampTz **time_bins, int *count); +extern TBox *tfloat_time_boxes(const Temporal *temp, const Interval *duration, TimestampTz torigin, int *count); +extern Span *tfloat_value_bins(const Temporal *temp, double vsize, double vorigin, int *count); +extern TBox *tfloat_value_boxes(const Temporal *temp, double vsize, double vorigin, int *count); +extern Temporal **tfloat_value_split(const Temporal *temp, double size, double origin, double **bins, int *count); +extern TBox *tfloat_value_time_boxes(const Temporal *temp, double vsize, const Interval *duration, double vorigin, TimestampTz torigin, int *count); +extern Temporal **tfloat_value_time_split(const Temporal *temp, double vsize, const Interval *duration, double vorigin, TimestampTz torigin, double **value_bins, TimestampTz **time_bins, int *count); +extern TBox *tfloatbox_time_tiles(const TBox *box, const Interval *duration, TimestampTz torigin, int *count); +extern TBox *tfloatbox_value_tiles(const TBox *box, double vsize, double vorigin, int *count); +extern TBox *tfloatbox_value_time_tiles(const TBox *box, double vsize, const Interval *duration, double vorigin, TimestampTz torigin, int *count); +extern TBox *tint_time_boxes(const Temporal *temp, const Interval *duration, TimestampTz torigin, int *count); +extern Span *tint_value_bins(const Temporal *temp, int vsize, int vorigin, int *count); +extern TBox *tint_value_boxes(const Temporal *temp, int vsize, int vorigin, int *count); +extern Temporal **tint_value_split(const Temporal *temp, int vsize, int vorigin, int **bins, int *count); +extern TBox *tint_value_time_boxes(const Temporal *temp, int vsize, const Interval *duration, int vorigin, TimestampTz torigin, int *count); +extern Temporal **tint_value_time_split(const Temporal *temp, int size, const Interval *duration, int vorigin, TimestampTz torigin, int **value_bins, TimestampTz **time_bins, int *count); +extern TBox *tintbox_time_tiles(const TBox *box, const Interval *duration, TimestampTz torigin, int *count); +extern TBox *tintbox_value_tiles(const TBox *box, int xsize, int xorigin, int *count); +extern TBox *tintbox_value_time_tiles(const TBox *box, int xsize, const Interval *duration, int xorigin, TimestampTz torigin, int *count); + +/*****************************************************************************/ + +extern void meos_initialize_noexit_error_handler(void); + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_cbuffer.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_cbuffer.h new file mode 100644 index 000000000..1d4b60371 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_cbuffer.h @@ -0,0 +1,392 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief API of the Mobility Engine Open Source (MEOS) library. + */ + +#ifndef __MEOS_CBUFFER_H__ +#define __MEOS_CBUFFER_H__ + +/* C */ +#include +#include + +/* MEOS */ +#include +#include + +/***************************************************************************** + * Type definitions + *****************************************************************************/ + +/* Opaque structure to represent circular buffers */ + +typedef struct Cbuffer Cbuffer; + +/***************************************************************************** + * Validity macros and functions + *****************************************************************************/ + +/** + * @brief Macro for ensuring that the set passed as argument is a circular + * buffer set + */ +#if MEOS + #define VALIDATE_CBUFFERSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_CBUFFERSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_CBUFFERSET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_CBUFFERSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value passed as argument is a + * temporal circular buffer + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TCBUFFER(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TCBUFFER) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TCBUFFER(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TCBUFFER); \ + } while (0) +#endif /* MEOS */ + +/****************************************************************************** + * Functions for circular buffers + ******************************************************************************/ + +/* Input and output functions */ + +extern char *cbuffer_as_ewkt(const Cbuffer *cb, int maxdd); +extern char *cbuffer_as_hexwkb(const Cbuffer *cb, uint8_t variant, size_t *size); +extern char *cbuffer_as_text(const Cbuffer *cb, int maxdd); +extern uint8_t *cbuffer_as_wkb(const Cbuffer *cb, uint8_t variant, size_t *size_out); +extern Cbuffer *cbuffer_from_hexwkb(const char *hexwkb); +extern Cbuffer *cbuffer_from_wkb(const uint8_t *wkb, size_t size); +extern Cbuffer *cbuffer_in(const char *str); +extern char *cbuffer_out(const Cbuffer *cb, int maxdd); + +/* Constructor functions */ + +extern Cbuffer *cbuffer_copy(const Cbuffer *cb); +extern Cbuffer *cbuffer_make(const GSERIALIZED *point, double radius); + +/* Conversion functions */ + +extern GSERIALIZED *cbuffer_to_geom(const Cbuffer *cb); +extern STBox *cbuffer_to_stbox(const Cbuffer *cb); +extern GSERIALIZED *cbufferarr_to_geom(const Cbuffer **cbarr, int count); +extern Cbuffer *geom_to_cbuffer(const GSERIALIZED *gs); + +/* Accessor functions */ + +extern uint32 cbuffer_hash(const Cbuffer *cb); +extern uint64 cbuffer_hash_extended(const Cbuffer *cb, uint64 seed); +extern GSERIALIZED *cbuffer_point(const Cbuffer *cb); +extern double cbuffer_radius(const Cbuffer *cb); + +/* Transformation functions */ + +extern Cbuffer *cbuffer_round(const Cbuffer *cb, int maxdd); +extern Cbuffer **cbufferarr_round(const Cbuffer **cbarr, int count, int maxdd); + +/* Spatial reference system functions */ + +extern void cbuffer_set_srid(Cbuffer *cb, int32_t srid); +extern int32_t cbuffer_srid(const Cbuffer *cb); +extern Cbuffer *cbuffer_transform(const Cbuffer *cb, int32_t srid); +extern Cbuffer *cbuffer_transform_pipeline(const Cbuffer *cb, const char *pipelinestr, int32_t srid, bool is_forward); + +/* Spatial relationship functions */ + +extern int contains_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int covers_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int disjoint_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int dwithin_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2, double dist); +extern int intersects_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern int touches_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); + +/* Bounding box functions */ + +extern STBox *cbuffer_tstzspan_to_stbox(const Cbuffer *cb, const Span *s); +extern STBox *cbuffer_timestamptz_to_stbox(const Cbuffer *cb, TimestampTz t); + +/* Distance functions */ + +extern double distance_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2); +extern double distance_cbuffer_geo(const Cbuffer *cb, const GSERIALIZED *gs); +extern double distance_cbuffer_stbox(const Cbuffer *cb, const STBox *box); +extern double nad_cbuffer_stbox(const Cbuffer *cb, const STBox *box); + +/* Comparison functions */ + +extern int cbuffer_cmp(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_eq(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_ge(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_gt(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_le(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_lt(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_ne(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_nsame(const Cbuffer *cb1, const Cbuffer *cb2); +extern bool cbuffer_same(const Cbuffer *cb1, const Cbuffer *cb2); + +/****************************************************************************** + * Functions for circular buffer sets + ******************************************************************************/ + +/* Input and output functions */ + +extern Set *cbufferset_in(const char *str); +extern char *cbufferset_out(const Set *s, int maxdd); + +/* Constructor functions */ + +extern Set *cbufferset_make(Cbuffer **values, int count); + +/* Conversion functions */ + +extern Set *cbuffer_to_set(const Cbuffer *cb); + +/* Accessor functions */ + +extern Cbuffer *cbufferset_end_value(const Set *s); +extern Cbuffer *cbufferset_start_value(const Set *s); +extern bool cbufferset_value_n(const Set *s, int n, Cbuffer **result); +extern Cbuffer **cbufferset_values(const Set *s); + +/* Set operations */ + +extern Set *cbuffer_union_transfn(Set *state, const Cbuffer *cb); +extern bool contained_cbuffer_set(const Cbuffer *cb, const Set *s); +extern bool contains_set_cbuffer(const Set *s, Cbuffer *cb); +extern Set *intersection_cbuffer_set(const Cbuffer *cb, const Set *s); +extern Set *intersection_set_cbuffer(const Set *s, const Cbuffer *cb); +extern Set *minus_cbuffer_set(const Cbuffer *cb, const Set *s); +extern Set *minus_set_cbuffer(const Set *s, const Cbuffer *cb); +extern Set *union_cbuffer_set(const Cbuffer *cb, const Set *s); +extern Set *union_set_cbuffer(const Set *s, const Cbuffer *cb); + +/*===========================================================================* + * Functions for temporal types + *===========================================================================*/ + +/***************************************************************************** + * Input/output functions + *****************************************************************************/ + +extern Temporal *tcbuffer_in(const char *str); +extern Temporal *tcbuffer_from_mfjson(const char *mfjson); + +/***************************************************************************** + * Constructor functions + *****************************************************************************/ + +extern Temporal *tcbuffer_make(const Temporal *tpoint, const Temporal *tfloat); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +extern Set *tcbuffer_points(const Temporal *temp); +extern Set *tcbuffer_radius(const Temporal *temp); +extern GSERIALIZED *tcbuffer_trav_area(const Temporal *temp, bool merge_union); + +/***************************************************************************** + * Conversion functions + *****************************************************************************/ + +extern Temporal *tcbuffer_to_tfloat(const Temporal *temp); +extern Temporal *tcbuffer_to_tgeompoint(const Temporal *temp); +extern Temporal *tgeometry_to_tcbuffer(const Temporal *temp); + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +extern Temporal *tcbuffer_expand(const Temporal *temp, double dist); + +/***************************************************************************** + * Restriction functions + *****************************************************************************/ + +extern Temporal *tcbuffer_at_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tcbuffer_at_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tcbuffer_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tcbuffer_minus_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tcbuffer_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tcbuffer_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +extern Temporal *tdistance_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tdistance_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdistance_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern double nad_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern double nad_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern double nad_tcbuffer_stbox(const Temporal *temp, const STBox *box); +extern double nad_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern TInstant *nai_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern TInstant *nai_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern GSERIALIZED *shortestline_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern GSERIALIZED *shortestline_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Comparison functions + *****************************************************************************/ + +/* Ever/always comparison functions */ + +extern int always_eq_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int always_eq_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int always_eq_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int always_ne_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int always_ne_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int ever_eq_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int ever_eq_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int ever_ne_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int ever_ne_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); + +/* Temporal comparison functions */ + +extern Temporal *teq_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *teq_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tne_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *tne_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); + +/***************************************************************************** + * Spatial relationship functions + *****************************************************************************/ + +/* Ever and always spatial relationship functions */ + +extern int acontains_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int acontains_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern int acontains_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int acontains_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int acovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int acovers_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern int acovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int acovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int adisjoint_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int adisjoint_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int adisjoint_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int adwithin_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern int adwithin_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, double dist); +extern int adwithin_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, double dist); +extern int aintersects_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int aintersects_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int aintersects_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int atouches_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int atouches_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int atouches_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int econtains_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int econtains_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int econtains_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ecovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int ecovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int ecovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ecovers_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int edisjoint_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int edisjoint_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int edwithin_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern int edwithin_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, double dist); +extern int edwithin_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, double dist); +extern int eintersects_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int eintersects_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int eintersects_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern int etouches_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int etouches_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int etouches_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); + +/*****************************************************************************/ + +/* Spatiotemporal relationship functions */ + +extern Temporal *tcontains_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *tcontains_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tcontains_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tcontains_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tcontains_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tcovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *tcovers_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tcovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tcovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tcovers_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tdwithin_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, double dist); +extern Temporal *tdwithin_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern Temporal *tdwithin_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, double dist); +extern Temporal *tdwithin_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, double dist); +extern Temporal *tdisjoint_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *tdisjoint_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tdisjoint_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdisjoint_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tdisjoint_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tintersects_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *tintersects_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tintersects_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tintersects_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *tintersects_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); +extern Temporal *ttouches_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *ttouches_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *ttouches_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern Temporal *ttouches_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern Temporal *ttouches_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); + +/*****************************************************************************/ + +#endif /* __MEOS_CBUFFER_H__ */ +extern int acovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp); +extern int acovers_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp); +extern int acovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb); +extern int acovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int acovers_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2); diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_geo.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_geo.h new file mode 100644 index 000000000..7d543851e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_geo.h @@ -0,0 +1,900 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief API of the Mobility Engine Open Source (MEOS) library. + */ + +#ifndef __MEOS_GEO_H__ +#define __MEOS_GEO_H__ + +/* C */ +#include +#include + +/* PostGIS */ +#include +/* MEOS */ +#include + +/***************************************************************************** + * Type definitions + *****************************************************************************/ + +/** + * @brief Enumeration that defines the spatial relationships for which a call + * to GEOS is made. + */ +typedef enum +{ + INTERSECTS = 0, + CONTAINS = 1, + TOUCHES = 2, + COVERS = 3, +} spatialRel; + +/***************************************************************************** + * Validity macros + *****************************************************************************/ + +/** + * @brief Macro ensuring that a set is a geometry set + */ +#if MEOS + #define VALIDATE_GEOMSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type(set, T_GEOMSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_GEOMSET(set, ret) \ + do { \ + assert(temp); \ + assert((set)->settype == T_GEOMSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a set is a geography set + */ +#if MEOS + #define VALIDATE_GEOGSET(set, ret) ( \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type(set, T_GEOGSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_GEOGSET(set, ret) \ + do { \ + assert(temp); \ + assert((set)->settype == T_GEOGSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a set is of a geometry or geography set + */ +#if MEOS + #define VALIDATE_GEOSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_geoset_type((set)->settype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_GEOSET(set, ret) \ + do { \ + assert(temp); \ + assert(geoset_type((set)->settype); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a set is of a spatial set + */ +#if MEOS + #define VALIDATE_SPATIALSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_spatialset_type((set)->settype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_SPATIALSET(set, ret) \ + do { \ + assert(set); \ + assert(spatialset_type((set)->settype)); \ + } while (0) +#endif /* MEOS */ + +/*****************************************************************************/ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOMETRY(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOMETRY) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOMETRY(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOMETRY); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geography + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOGRAPHY(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOGRAPHY) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOGRAPHY(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOGRAPHY); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOMPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOMPOINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOMPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOMPOINT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geography point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOGPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOGPOINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOGPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOGPOINT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry or + * geography + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEO(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tgeo_type_all(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEO(temp, ret) \ + do { \ + assert(temp); \ + assert(tgeo_type_all(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOM(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tgeometry_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOM(temp, ret) \ + do { \ + assert(temp); \ + assert(tgeometry_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is of a temporal geography + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOG(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tgeodetic_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOG(temp, ret) \ + do { \ + assert(temp); \ + assert(tgeodetic_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is of a temporal + * geometry/geography point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tpoint_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert(tpoint_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is of a spatiotemporal type + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TSPATIAL(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tspatial_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TSPATIAL(temp, ret) \ + do { \ + assert(temp); \ + assert(tspatial_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/*===========================================================================* + * Functions for static geometries + *===========================================================================*/ + +/* Input and output functions */ + +extern uint8_t *geo_as_ewkb(const GSERIALIZED *gs, const char *endian, size_t *size); +extern char *geo_as_ewkt(const GSERIALIZED *gs, int precision); +extern char *geo_as_geojson(const GSERIALIZED *gs, int option, int precision, const char *srs); +extern char *geo_as_hexewkb(const GSERIALIZED *gs, const char *endian); +extern char *geo_as_text(const GSERIALIZED *gs, int precision); +extern GSERIALIZED *geo_from_ewkb(const uint8_t *wkb, size_t wkb_size, int32 srid); +extern GSERIALIZED *geo_from_geojson(const char *geojson); +extern GSERIALIZED *geo_from_text(const char *wkt, int32_t srid); +extern char *geo_out(const GSERIALIZED *gs); +extern GSERIALIZED *geog_from_binary(const char *wkb_bytea); +extern GSERIALIZED *geog_from_hexewkb(const char *wkt); +extern GSERIALIZED *geog_in(const char *str, int32 typmod); +extern GSERIALIZED *geom_from_hexewkb(const char *wkt); +extern GSERIALIZED *geom_in(const char *str, int32 typmod); + +extern BOX3D *box3d_make(double xmin, double xmax, double ymin, double ymax, + double zmin, double zmax, int32_t srid); +extern char *box3d_out(const BOX3D *box, int maxdd); +extern GBOX *gbox_make(bool hasz, double xmin, double xmax, double ymin, + double ymax, double zmin, double zmax); +extern char *gbox_out(const GBOX *box, int maxdd); + +/* Constructor functions */ + +extern GSERIALIZED *geo_copy(const GSERIALIZED *g); +extern GSERIALIZED *geogpoint_make2d(int32_t srid, double x, double y); +extern GSERIALIZED *geogpoint_make3dz(int32_t srid, double x, double y, double z); +extern GSERIALIZED *geompoint_make2d(int32_t srid, double x, double y); +extern GSERIALIZED *geompoint_make3dz(int32_t srid, double x, double y, double z); + +/* Conversion functions */ + +extern GSERIALIZED *geom_to_geog(const GSERIALIZED *geom); +extern GSERIALIZED *geog_to_geom(const GSERIALIZED *geog); + +/* Accessor functions */ + +extern bool geo_is_empty(const GSERIALIZED *g); +extern bool geo_is_unitary(const GSERIALIZED *gs); +extern const char *geo_typename(int type); +extern double geog_area(const GSERIALIZED *g, bool use_spheroid); +extern GSERIALIZED *geog_centroid(const GSERIALIZED *g, bool use_spheroid); +extern double geog_length(const GSERIALIZED *g, bool use_spheroid); +extern double geog_perimeter(const GSERIALIZED *g, bool use_spheroid); +extern bool geom_azimuth(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double *result); +extern double geom_length(const GSERIALIZED *gs); +extern double geom_perimeter(const GSERIALIZED *gs); +extern int line_numpoints(const GSERIALIZED *gs); +extern GSERIALIZED *line_point_n(const GSERIALIZED *geom, int n); + +/* Transformation functions */ + +extern GSERIALIZED *geo_reverse(const GSERIALIZED *gs); +extern GSERIALIZED *geo_round(const GSERIALIZED *gs, int maxdd); + +/* Spatial reference system functions */ + +extern GSERIALIZED *geo_set_srid(const GSERIALIZED *gs, int32_t srid); +extern int32_t geo_srid(const GSERIALIZED *gs); +extern GSERIALIZED *geo_transform(const GSERIALIZED *geom, int32_t srid_to); +extern GSERIALIZED *geo_transform_pipeline(const GSERIALIZED *gs, char *pipeline, int32_t srid_to, bool is_forward); + +/* Spatial processing functions */ + +extern GSERIALIZED *geo_collect_garray(GSERIALIZED **gsarr, int count); +extern GSERIALIZED *geo_makeline_garray(GSERIALIZED **gsarr, int count); +extern int geo_num_points(const GSERIALIZED *gs); +extern int geo_num_geos(const GSERIALIZED *gs); +extern GSERIALIZED *geo_geo_n(const GSERIALIZED *geom, int n); +extern GSERIALIZED **geo_pointarr(const GSERIALIZED *gs, int *count); +extern GSERIALIZED *geo_points(const GSERIALIZED *gs); +extern GSERIALIZED *geom_array_union(GSERIALIZED **gsarr, int count); +extern GSERIALIZED *geom_boundary(const GSERIALIZED *gs); +extern GSERIALIZED *geom_buffer(const GSERIALIZED *gs, double size, const char *params); +extern GSERIALIZED *geom_centroid(const GSERIALIZED *gs); +extern GSERIALIZED *geom_convex_hull(const GSERIALIZED *gs); +extern GSERIALIZED *geom_difference2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *geom_intersection2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *geom_intersection2d_coll(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *geom_min_bounding_radius(const GSERIALIZED *geom, double *radius); +extern GSERIALIZED *geom_shortestline2d(const GSERIALIZED *gs1, const GSERIALIZED *s2); +extern GSERIALIZED *geom_shortestline3d(const GSERIALIZED *gs1, const GSERIALIZED *s2); +extern GSERIALIZED *geom_unary_union(const GSERIALIZED *gs, double prec); +extern GSERIALIZED *line_interpolate_point(const GSERIALIZED *gs, double distance_fraction, bool repeat); +extern double line_locate_point(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *line_substring(const GSERIALIZED *gs, double from, double to); + +/* Spatial relationship functions */ + +extern bool geog_dwithin(const GSERIALIZED *g1, const GSERIALIZED *g2, double tolerance, bool use_spheroid); +extern bool geog_intersects(const GSERIALIZED *gs1, const GSERIALIZED *gs2, bool use_spheroid); +extern bool geom_contains(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_covers(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_disjoint2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_dwithin2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double tolerance); +extern bool geom_dwithin3d(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double tolerance); +extern bool geom_intersects2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_intersects3d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_relate_pattern(const GSERIALIZED *gs1, const GSERIALIZED *gs2, char *patt); +extern bool geom_touches(const GSERIALIZED *gs1, const GSERIALIZED *gs2); + +/* Bounding box functions */ + +extern STBox *geo_stboxes(const GSERIALIZED *gs, int *count); +extern STBox *geo_split_each_n_stboxes(const GSERIALIZED *gs, int elem_count, int *count); +extern STBox *geo_split_n_stboxes(const GSERIALIZED *gs, int box_count, int *count); + +/* Distance functions */ + +extern double geog_distance(const GSERIALIZED *g1, const GSERIALIZED *g2); +extern double geom_distance2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern double geom_distance3d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); + +/* Comparison functions */ + +extern int geo_equals(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geo_same(const GSERIALIZED *gs1, const GSERIALIZED *gs2); + +/***************************************************************************** + * Functions for spatial sets + *****************************************************************************/ + +/* Input and output functions */ + +extern Set *geogset_in(const char *str); +extern Set *geomset_in(const char *str); +extern char *spatialset_as_text(const Set *set, int maxdd); +extern char *spatialset_as_ewkt(const Set *set, int maxdd); + +/* Constructor functions */ + +extern Set *geoset_make(GSERIALIZED **values, int count); + +/* Conversion functions */ + +extern Set *geo_to_set(const GSERIALIZED *gs); + +/* Accessor functions */ + +extern GSERIALIZED *geoset_end_value(const Set *s); +extern GSERIALIZED *geoset_start_value(const Set *s); +extern bool geoset_value_n(const Set *s, int n, GSERIALIZED **result); +extern GSERIALIZED **geoset_values(const Set *s); + +/* Set operations */ + +extern bool contained_geo_set(const GSERIALIZED *gs, const Set *s); +extern bool contains_set_geo(const Set *s, GSERIALIZED *gs); +extern Set *geo_union_transfn(Set *state, const GSERIALIZED *gs); +extern Set *intersection_geo_set(const GSERIALIZED *gs, const Set *s); +extern Set *intersection_set_geo(const Set *s, const GSERIALIZED *gs); +extern Set *minus_geo_set(const GSERIALIZED *gs, const Set *s); +extern Set *minus_set_geo(const Set *s, const GSERIALIZED *gs); +extern Set *union_geo_set(const GSERIALIZED *gs, const Set *s); +extern Set *union_set_geo(const Set *s, const GSERIALIZED *gs); + +/* SRID functions */ + +extern Set *spatialset_set_srid(const Set *s, int32_t srid); +extern int32_t spatialset_srid(const Set *s); +extern Set *spatialset_transform(const Set *s, int32_t srid); +extern Set *spatialset_transform_pipeline(const Set *s, const char *pipelinestr, int32_t srid, bool is_forward); + +/***************************************************************************** + * Functions for spatiotemporal boxes + *****************************************************************************/ + +/* Input/output functions */ + +extern char *stbox_as_hexwkb(const STBox *box, uint8_t variant, size_t *size); +extern uint8_t *stbox_as_wkb(const STBox *box, uint8_t variant, size_t *size_out); +extern STBox *stbox_from_hexwkb(const char *hexwkb); +extern STBox *stbox_from_wkb(const uint8_t *wkb, size_t size); +extern STBox *stbox_in(const char *str); +extern char *stbox_out(const STBox *box, int maxdd); + +/* Constructor functions */ + +extern STBox *geo_timestamptz_to_stbox(const GSERIALIZED *gs, TimestampTz t); +extern STBox *geo_tstzspan_to_stbox(const GSERIALIZED *gs, const Span *s); +extern STBox *stbox_copy(const STBox *box); +extern STBox *stbox_make(bool hasx, bool hasz, bool geodetic, int32 srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, const Span *s); + +/* Conversion functions */ + +extern STBox *geo_to_stbox(const GSERIALIZED *gs); +extern STBox *spatialset_to_stbox(const Set *s); +extern BOX3D *stbox_to_box3d(const STBox *box); +extern GBOX *stbox_to_gbox(const STBox *box); +extern GSERIALIZED *stbox_to_geo(const STBox *box); +extern Span *stbox_to_tstzspan(const STBox *box); +extern STBox *timestamptz_to_stbox(TimestampTz t); +extern STBox *tstzset_to_stbox(const Set *s); +extern STBox *tstzspan_to_stbox(const Span *s); +extern STBox *tstzspanset_to_stbox(const SpanSet *ss); + +/* Accessor functions */ + +extern double stbox_area(const STBox *box, bool spheroid); +extern uint32 stbox_hash(const STBox *box); +extern uint64 stbox_hash_extended(const STBox *box, uint64 seed); +extern bool stbox_hast(const STBox *box); +extern bool stbox_hasx(const STBox *box); +extern bool stbox_hasz(const STBox *box); +extern bool stbox_isgeodetic(const STBox *box); +extern double stbox_perimeter(const STBox *box, bool spheroid); +extern bool stbox_tmax(const STBox *box, TimestampTz *result); +extern bool stbox_tmax_inc(const STBox *box, bool *result); +extern bool stbox_tmin(const STBox *box, TimestampTz *result); +extern bool stbox_tmin_inc(const STBox *box, bool *result); +extern double stbox_volume(const STBox *box); +extern bool stbox_xmax(const STBox *box, double *result); +extern bool stbox_xmin(const STBox *box, double *result); +extern bool stbox_ymax(const STBox *box, double *result); +extern bool stbox_ymin(const STBox *box, double *result); +extern bool stbox_zmax(const STBox *box, double *result); +extern bool stbox_zmin(const STBox *box, double *result); + +/* Transformation functions */ + +extern STBox *stbox_expand_space(const STBox *box, double d); +extern STBox *stbox_expand_time(const STBox *box, const Interval *interv); +extern STBox *stbox_get_space(const STBox *box); +extern STBox *stbox_quad_split(const STBox *box, int *count); +extern STBox *stbox_round(const STBox *box, int maxdd); +extern STBox *stbox_shift_scale_time(const STBox *box, const Interval *shift, const Interval *duration); +extern STBox *stboxarr_round(const STBox *boxarr, int count, int maxdd); + +/* SRID functions */ + +extern STBox *stbox_set_srid(const STBox *box, int32_t srid); +extern int32_t stbox_srid(const STBox *box); +extern STBox *stbox_transform(const STBox *box, int32_t srid); +extern STBox *stbox_transform_pipeline(const STBox *box, const char *pipelinestr, int32_t srid, bool is_forward); + +/* Topological functions */ + +extern bool adjacent_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool contained_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool contains_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overlaps_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool same_stbox_stbox(const STBox *box1, const STBox *box2); + +/* Position functions */ + +extern bool above_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool after_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool back_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool before_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool below_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool front_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool left_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overabove_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overafter_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overback_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overbefore_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overbelow_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overfront_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overleft_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overright_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool right_stbox_stbox(const STBox *box1, const STBox *box2); + +/* Set functions */ + +extern STBox *union_stbox_stbox(const STBox *box1, const STBox *box2, bool strict); +extern STBox *intersection_stbox_stbox(const STBox *box1, const STBox *box2); + +/* Comparisons */ + +extern int stbox_cmp(const STBox *box1, const STBox *box2); +extern bool stbox_eq(const STBox *box1, const STBox *box2); +extern bool stbox_ge(const STBox *box1, const STBox *box2); +extern bool stbox_gt(const STBox *box1, const STBox *box2); +extern bool stbox_le(const STBox *box1, const STBox *box2); +extern bool stbox_lt(const STBox *box1, const STBox *box2); +extern bool stbox_ne(const STBox *box1, const STBox *box2); + +/***************************************************************************** + * Functions for temporal geometries/geographies + *****************************************************************************/ + +/* Input and output functions */ + +extern Temporal *tgeogpoint_from_mfjson(const char *str); +extern Temporal *tgeogpoint_in(const char *str); +extern Temporal *tgeography_from_mfjson(const char *mfjson); +extern Temporal *tgeography_in(const char *str); +extern Temporal *tgeometry_from_mfjson(const char *str); +extern Temporal *tgeometry_in(const char *str); +extern Temporal *tgeompoint_from_mfjson(const char *str); +extern Temporal *tgeompoint_in(const char *str); +extern char *tspatial_as_ewkt(const Temporal *temp, int maxdd); +extern char *tspatial_as_text(const Temporal *temp, int maxdd); +extern char *tspatial_out(const Temporal *temp, int maxdd); + +/* Constructor functions */ + +extern Temporal *tgeo_from_base_temp(const GSERIALIZED *gs, const Temporal *temp); +extern TInstant *tgeoinst_make(const GSERIALIZED *gs, TimestampTz t); +extern TSequence *tgeoseq_from_base_tstzset(const GSERIALIZED *gs, const Set *s); +extern TSequence *tgeoseq_from_base_tstzspan(const GSERIALIZED *gs, const Span *s, interpType interp); +extern TSequenceSet *tgeoseqset_from_base_tstzspanset(const GSERIALIZED *gs, const SpanSet *ss, interpType interp); +extern Temporal *tpoint_from_base_temp(const GSERIALIZED *gs, const Temporal *temp); +extern TInstant *tpointinst_make(const GSERIALIZED *gs, TimestampTz t); +extern TSequence *tpointseq_from_base_tstzset(const GSERIALIZED *gs, const Set *s); +extern TSequence *tpointseq_from_base_tstzspan(const GSERIALIZED *gs, const Span *s, interpType interp); +extern TSequence *tpointseq_make_coords(const double *xcoords, const double *ycoords, const double *zcoords, const TimestampTz *times, int count, int32 srid, bool geodetic, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequenceSet *tpointseqset_from_base_tstzspanset(const GSERIALIZED *gs, const SpanSet *ss, interpType interp); + +/* Conversion functions */ + +extern STBox *box3d_to_stbox(const BOX3D *box); +extern STBox *gbox_to_stbox(const GBOX *box); +extern Temporal *geomeas_to_tpoint(const GSERIALIZED *gs); +extern Temporal *tgeogpoint_to_tgeography(const Temporal *temp); +extern Temporal *tgeography_to_tgeogpoint(const Temporal *temp); +extern Temporal *tgeography_to_tgeometry(const Temporal *temp); +extern Temporal *tgeometry_to_tgeography(const Temporal *temp); +extern Temporal *tgeometry_to_tgeompoint(const Temporal *temp); +extern Temporal *tgeompoint_to_tgeometry(const Temporal *temp); +extern bool tpoint_as_mvtgeom(const Temporal *temp, const STBox *bounds, int32_t extent, int32_t buffer, bool clip_geom, GSERIALIZED **gsarr, int64 **timesarr, int *count); +extern bool tpoint_tfloat_to_geomeas(const Temporal *tpoint, const Temporal *measure, bool segmentize, GSERIALIZED **result); +extern STBox *tspatial_to_stbox(const Temporal *temp); + +/* Accessor functions */ + +extern bool bearing_point_point(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double *result); +extern Temporal *bearing_tpoint_point(const Temporal *temp, const GSERIALIZED *gs, bool invert); +extern Temporal *bearing_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tgeo_centroid(const Temporal *temp); +extern GSERIALIZED *tgeo_convex_hull(const Temporal *temp); +extern GSERIALIZED *tgeo_end_value(const Temporal *temp); +extern GSERIALIZED *tgeo_start_value(const Temporal *temp); +extern GSERIALIZED *tgeo_traversed_area(const Temporal *temp, bool unary_union); +extern bool tgeo_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, GSERIALIZED **value); +extern bool tgeo_value_n(const Temporal *temp, int n, GSERIALIZED **result); +extern GSERIALIZED **tgeo_values(const Temporal *temp, int *count); +extern Temporal *tpoint_angular_difference(const Temporal *temp); +extern Temporal *tpoint_azimuth(const Temporal *temp); +extern Temporal *tpoint_cumulative_length(const Temporal *temp); +extern bool tpoint_direction(const Temporal *temp, double *result); +extern Temporal *tpoint_get_x(const Temporal *temp); +extern Temporal *tpoint_get_y(const Temporal *temp); +extern Temporal *tpoint_get_z(const Temporal *temp); +extern bool tpoint_is_simple(const Temporal *temp); +extern double tpoint_length(const Temporal *temp); +extern Temporal *tpoint_speed(const Temporal *temp); +extern GSERIALIZED *tpoint_trajectory(const Temporal *temp, bool unary_union); +extern GSERIALIZED *tpoint_twcentroid(const Temporal *temp); + +/* Transformation functions */ + +extern Temporal *tgeo_affine(const Temporal *temp, const AFFINE *a); +extern Temporal *tgeo_scale(const Temporal *temp, const GSERIALIZED *scale, const GSERIALIZED *sorigin); +extern Temporal **tpoint_make_simple(const Temporal *temp, int *count); + +/* SRID functions */ + +int32_t tspatial_srid(const Temporal *temp); +extern Temporal *tspatial_set_srid(const Temporal *temp, int32_t srid); +extern Temporal *tspatial_transform(const Temporal *temp, int32_t srid); +extern Temporal *tspatial_transform_pipeline(const Temporal *temp, const char *pipelinestr, int32_t srid, bool is_forward); + +/* Restriction functions */ + +extern Temporal *tgeo_at_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tgeo_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tgeo_at_value(const Temporal *temp, GSERIALIZED *gs); +extern Temporal *tgeo_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tgeo_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tgeo_minus_value(const Temporal *temp, GSERIALIZED *gs); +extern Temporal *tpoint_at_elevation(const Temporal *temp, const Span *s); +extern Temporal *tpoint_at_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tpoint_at_value(const Temporal *temp, GSERIALIZED *gs); +extern Temporal *tpoint_minus_elevation(const Temporal *temp, const Span *s); +extern Temporal *tpoint_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tpoint_minus_value(const Temporal *temp, GSERIALIZED *gs); + +/* Ever and always comparisons */ + +extern int always_eq_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int always_eq_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int always_eq_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int always_ne_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int always_ne_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ever_eq_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ever_eq_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ever_ne_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ever_ne_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); + +/* Temporal comparisons */ + +extern Temporal *teq_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *teq_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tne_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tne_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); + +/* Bounding box functions */ + +extern STBox *tgeo_stboxes(const Temporal *temp, int *count); +extern STBox *tgeo_space_boxes(const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, int *count); +extern STBox *tgeo_space_time_boxes(const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, int *count); +extern STBox *tgeo_split_each_n_stboxes(const Temporal *temp, int elem_count, int *count); +extern STBox *tgeo_split_n_stboxes(const Temporal *temp, int box_count, int *count); + +/* Topological functions */ + +extern bool adjacent_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool adjacent_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool adjacent_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool contained_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool contained_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool contained_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool contains_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool contains_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool contains_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overlaps_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overlaps_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overlaps_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool same_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool same_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool same_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); + +/* Position functions */ + +extern bool above_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool above_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool above_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool after_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool after_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool after_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool back_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool back_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool back_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool before_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool before_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool before_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool below_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool below_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool below_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool front_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool front_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool front_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool left_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool left_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool left_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overabove_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overabove_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overabove_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overafter_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overafter_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overafter_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overback_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overback_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overback_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overbefore_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overbefore_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overbefore_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overbelow_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overbelow_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overbelow_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overfront_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overfront_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overfront_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overleft_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overleft_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overleft_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overright_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overright_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overright_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool right_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool right_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool right_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); + +/* Ever and always spatial relationships */ + +extern int acontains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int acontains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int acontains_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int adisjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int adisjoint_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int adwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern int adwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double dist); +extern int aintersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int aintersects_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int atouches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int atouches_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int atouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int econtains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int econtains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int econtains_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int ecovers_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ecovers_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ecovers_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int edisjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int edisjoint_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int edwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern int edwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double dist); +extern int eintersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int eintersects_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int etouches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int etouches_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int etouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); + +/* Spatiotemporal relationships */ + +extern Temporal *tcontains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tcontains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tcontains_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tcovers_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tcovers_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tcovers_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tdisjoint_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tdisjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdisjoint_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tdwithin_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, double dist); +extern Temporal *tdwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern Temporal *tdwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double dist); +extern Temporal *tintersects_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tintersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tintersects_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern Temporal *ttouches_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *ttouches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *ttouches_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); + +/* Distance */ + +extern Temporal *tdistance_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdistance_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern double nad_stbox_geo(const STBox *box, const GSERIALIZED *gs); +extern double nad_stbox_stbox(const STBox *box1, const STBox *box2); +extern double nad_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern double nad_tgeo_stbox(const Temporal *temp, const STBox *box); +extern double nad_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern TInstant *nai_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern GSERIALIZED *shortestline_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern double tgeoarr_tgeoarr_mindist(const Temporal **arr1, int count1, const Temporal **arr2, int count2); +extern double mindistance_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double threshold); + +/* Aggregates */ + +extern Temporal *tpoint_tcentroid_finalfn(SkipList *state); +extern SkipList *tpoint_tcentroid_transfn(SkipList *state, Temporal *temp); +extern STBox *tspatial_extent_transfn(STBox *box, const Temporal *temp); + +/* Tile functions */ + +extern STBox *stbox_get_space_tile(const GSERIALIZED *point, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin); +extern STBox *stbox_get_space_time_tile(const GSERIALIZED *point, TimestampTz t, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin); +extern STBox *stbox_get_time_tile(TimestampTz t, const Interval *duration, TimestampTz torigin); +extern STBox *stbox_space_tiles(const STBox *bounds, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool border_inc, int *count); +extern STBox *stbox_space_time_tiles(const STBox *bounds, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool border_inc, int *count); +extern STBox *stbox_time_tiles(const STBox *bounds, const Interval *duration, TimestampTz torigin, bool border_inc, int *count); +extern Temporal **tgeo_space_split(const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, int *count); +extern Temporal **tgeo_space_time_split(const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, TimestampTz **time_bins, int *count); + +/* Clustering functions */ + +extern int *geo_cluster_kmeans(const GSERIALIZED **geoms, uint32_t ngeoms, uint32_t k); +extern uint32_t *geo_cluster_dbscan(const GSERIALIZED **geoms, uint32_t ngeoms, double tolerance, int minpoints, int *count); +extern GSERIALIZED **geo_cluster_intersecting(const GSERIALIZED **geoms, uint32_t ngeoms, int *count); +extern GSERIALIZED **geo_cluster_within(const GSERIALIZED **geoms, uint32_t ngeoms, double tolerance, int *count); + +/*****************************************************************************/ + +#endif +extern int acovers_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int acovers_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_h3.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_h3.h new file mode 100644 index 000000000..2febc478b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_h3.h @@ -0,0 +1,197 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Public MEOS API for the temporal H3 index type (th3index). + * + * Implementations live in meos/src/h3/. The PG V1 wrappers in + * mobilitydb/src/h3/ call these symbols. + */ + +#ifndef __MEOS_H3_H__ +#define __MEOS_H3_H__ + +#include +#include +#include +#include +#include + +/***************************************************************************** + * Static h3index SQL type — analogue of meos_cbuffer.h's + * static-cbuffer section. + *****************************************************************************/ + +extern H3Index h3index_in(const char *str); +extern char *h3index_out(H3Index cell); + +/***************************************************************************** + * Type inheritance (analogue of meos_cbuffer.h's tcbuffer section) + *****************************************************************************/ + +/* Input */ +extern Temporal *th3index_in(const char *str); +extern TInstant *th3indexinst_in(const char *str); +extern TSequence *th3indexseq_in(const char *str, interpType interp); +extern TSequenceSet *th3indexseqset_in(const char *str); + +/* Constructors */ +extern Temporal *th3index_make(H3Index value, TimestampTz t); +extern TInstant *th3indexinst_make(H3Index value, TimestampTz t); +extern TSequence *th3indexseq_make(const H3Index *values, + const TimestampTz *times, int count, bool lower_inc, bool upper_inc); +extern TSequenceSet *th3indexseqset_make(const TSequence **sequences, int count); + +/* Accessors */ +extern H3Index th3index_start_value(const Temporal *temp); +extern H3Index th3index_end_value(const Temporal *temp); +extern bool th3index_value_n(const Temporal *temp, int n, H3Index *result); +extern H3Index *th3index_values(const Temporal *temp, int *count); +extern bool th3index_value_at_timestamptz(const Temporal *temp, TimestampTz t, + bool strict, H3Index *result); + +/* MEOS-level conversions to/from tbigint */ +extern Temporal *tbigint_to_th3index(const Temporal *temp); +extern Temporal *th3index_to_tbigint(const Temporal *temp); + +/***************************************************************************** + * Ever/always comparison operators + *****************************************************************************/ + +extern int ever_eq_h3index_th3index(H3Index cell, const Temporal *temp); +extern int ever_eq_th3index_h3index(const Temporal *temp, H3Index cell); +extern int ever_ne_h3index_th3index(H3Index cell, const Temporal *temp); +extern int ever_ne_th3index_h3index(const Temporal *temp, H3Index cell); +extern int always_eq_h3index_th3index(H3Index cell, const Temporal *temp); +extern int always_eq_th3index_h3index(const Temporal *temp, H3Index cell); +extern int always_ne_h3index_th3index(H3Index cell, const Temporal *temp); +extern int always_ne_th3index_h3index(const Temporal *temp, H3Index cell); +extern int ever_eq_th3index_th3index(const Temporal *temp1, + const Temporal *temp2); +extern int ever_ne_th3index_th3index(const Temporal *temp1, + const Temporal *temp2); +extern int always_eq_th3index_th3index(const Temporal *temp1, + const Temporal *temp2); +extern int always_ne_th3index_th3index(const Temporal *temp1, + const Temporal *temp2); + +/***************************************************************************** + * Temporal comparison operators + *****************************************************************************/ + +extern Temporal *teq_h3index_th3index(H3Index cell, const Temporal *temp); +extern Temporal *teq_th3index_h3index(const Temporal *temp, H3Index cell); +extern Temporal *teq_th3index_th3index(const Temporal *temp1, + const Temporal *temp2); +extern Temporal *tne_h3index_th3index(H3Index cell, const Temporal *temp); +extern Temporal *tne_th3index_h3index(const Temporal *temp, H3Index cell); +extern Temporal *tne_th3index_th3index(const Temporal *temp1, + const Temporal *temp2); + +/***************************************************************************** + * Inspection + *****************************************************************************/ + +extern Temporal *th3index_get_resolution(const Temporal *temp); +extern Temporal *th3index_get_base_cell_number(const Temporal *temp); +extern Temporal *th3index_is_valid_cell(const Temporal *temp); +extern Temporal *th3index_is_res_class_iii(const Temporal *temp); +extern Temporal *th3index_is_pentagon(const Temporal *temp); + +/***************************************************************************** + * Hierarchy + *****************************************************************************/ + +extern Temporal *th3index_cell_to_parent(const Temporal *temp, int32 resolution); +extern Temporal *th3index_cell_to_parent_next(const Temporal *temp); +extern Temporal *th3index_cell_to_center_child(const Temporal *temp, int32 resolution); +extern Temporal *th3index_cell_to_center_child_next(const Temporal *temp); +extern Temporal *th3index_cell_to_child_pos(const Temporal *temp, int32 parent_res); +extern Temporal *th3index_child_pos_to_cell(const Temporal *child_pos, + const Temporal *parent, int32 child_res); + +/***************************************************************************** + * Lat/Lng conversion + *****************************************************************************/ + +extern Temporal *tgeogpoint_to_th3index(const Temporal *temp, int32 resolution); +extern Temporal *tgeompoint_to_th3index(const Temporal *temp, int32 resolution); +extern Temporal *th3index_to_tgeogpoint(const Temporal *temp); +extern Temporal *th3index_to_tgeompoint(const Temporal *temp); +extern Temporal *th3index_cell_to_boundary(const Temporal *temp); + +/* Static geometry → H3 cell / cell set. See meos/src/h3/h3_geo.c. */ +extern H3Index h3_gs_point_to_cell(const GSERIALIZED *point, int32 resolution); +extern Set *geo_to_h3index_set(const GSERIALIZED *gs, int32 resolution); +extern int ever_eq_h3indexset_th3index(const Set *cells, + const Temporal *th3idx); + +/***************************************************************************** + * Directed edges + *****************************************************************************/ + +extern Temporal *th3index_are_neighbor_cells(const Temporal *origin, + const Temporal *dest); +extern Temporal *th3index_cells_to_directed_edge(const Temporal *origin, + const Temporal *dest); +extern Temporal *th3index_is_valid_directed_edge(const Temporal *edge); +extern Temporal *th3index_get_directed_edge_origin(const Temporal *edge); +extern Temporal *th3index_get_directed_edge_destination(const Temporal *edge); +extern Temporal *th3index_directed_edge_to_boundary(const Temporal *edge); + +/***************************************************************************** + * Vertices + *****************************************************************************/ + +extern Temporal *th3index_cell_to_vertex(const Temporal *temp, int32 vertex_num); +extern Temporal *th3index_vertex_to_latlng(const Temporal *temp); +extern Temporal *th3index_is_valid_vertex(const Temporal *temp); + +/***************************************************************************** + * Grid traversal + *****************************************************************************/ + +extern Temporal *th3index_grid_distance(const Temporal *origin, + const Temporal *dest); +extern Temporal *th3index_cell_to_local_ij(const Temporal *origin, + const Temporal *cell); +extern Temporal *th3index_local_ij_to_cell(const Temporal *origin, + const Temporal *coord); + +/***************************************************************************** + * Metrics + *****************************************************************************/ + +extern Temporal *th3index_cell_area(const Temporal *temp, const char *unit); +extern Temporal *th3index_edge_length(const Temporal *temp, const char *unit); +extern Temporal *tgeogpoint_great_circle_distance(const Temporal *a, + const Temporal *b, const char *unit); + +#endif /* __MEOS_H3_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_internal.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_internal.h new file mode 100644 index 000000000..5791740fb --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_internal.h @@ -0,0 +1,1405 @@ +/***************************************************************************** + * + * This MobilityDB code seq provided under The PostgreSQL License. + * Copyright(c) 2016-2023, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License(GPLv2 or later). + * Copyright(c) 2001-2023, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement seq hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Internal API of the Mobility Engine Open Source(MEOS) library. + */ + +#ifndef __MEOS_INTERNAL_H__ +#define __MEOS_INTERNAL_H__ + +/* C */ +#include +/* JSON-C */ +#include +/* GSL */ +#include +#include +/* PROJ */ +#include +/* PostgreSQL */ +/* MEOS */ +#include +#include "temporal/meos_catalog.h" /* For MeosType */ + +/***************************************************************************** + * Validity macros + *****************************************************************************/ + +/** + * @brief Macro for ensuring that a pointer is not null + */ +#if MEOS + #define VALIDATE_NOT_NULL(ptr, ret) \ + do { if (! ensure_not_null((void *) (ptr))) return (ret); } while (0) +#else + #define VALIDATE_NOT_NULL(ptr, ret) \ + do { assert(ptr); } while (0) +#endif /* MEOS */ + +/*****************************************************************************/ + +/** + * @brief Macro for ensuring that a set is an integer set + */ +#if MEOS + #define VALIDATE_INTSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_INTSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_INTSET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_INTSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a set is a big integer set + */ +#if MEOS + #define VALIDATE_BIGINTSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_BIGINTSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_BIGINTSET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_BIGINTSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a set is a float set + */ +#if MEOS + #define VALIDATE_FLOATSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_FLOATSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_FLOATSET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_FLOATSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a set is a text set + */ +#if MEOS + #define VALIDATE_TEXTSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_TEXTSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TEXTSET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_TEXTSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a set is a date set + */ +#if MEOS + #define VALIDATE_DATESET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_DATESET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_DATESET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_DATESET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a set is a timestamptz set + */ +#if MEOS + #define VALIDATE_TSTZSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_TSTZSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TSTZSET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_TSTZSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the span is a number span + */ +#if MEOS + #define VALIDATE_NUMSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_numset_type((set)->settype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_NUMSET(set, ret) \ + do { \ + assert(set); \ + assert(numset_type((set)->settype)); \ + } while (0) +#endif /* MEOS */ + +/*****************************************************************************/ + +/** + * @brief Macro for ensuring that a span is an integer span + */ +#if MEOS + #define VALIDATE_INTSPAN(span, ret) \ + do { \ + if (! ensure_not_null((void *) (span)) || \ + ! ensure_span_isof_type((span), T_INTSPAN) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_INTSPAN(span, ret) \ + do { \ + assert(span); \ + assert((span)->spantype == T_INTSPAN); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a span is a big integer span + */ +#if MEOS + #define VALIDATE_BIGINTSPAN(span, ret) \ + do { \ + if (! ensure_not_null((void *) (span)) || \ + ! ensure_span_isof_type((span), T_BIGINTSPAN) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_BIGINTSPAN(span, ret) \ + do { \ + assert(span); \ + assert((span)->spantype == T_BIGINTSPAN); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a span is a float span + */ +#if MEOS + #define VALIDATE_FLOATSPAN(span, ret) \ + do { \ + if (! ensure_not_null((void *) (span)) || \ + ! ensure_span_isof_type((span), T_FLOATSPAN) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_FLOATSPAN(span, ret) \ + do { \ + assert(span); \ + assert((span)->spantype == T_FLOATSPAN); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a span is a date span + */ +#if MEOS + #define VALIDATE_DATESPAN(span, ret) \ + do { \ + if (! ensure_not_null((void *) (span)) || \ + ! ensure_span_isof_type((span), T_DATESPAN) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_DATESPAN(span, ret) \ + do { \ + assert(span); \ + assert((span)->spantype == T_DATESPAN); \ + } while (0) +#endif /* MEOS */ + + +/** + * @brief Macro for ensuring that the span is a timestamptz span + */ +#if MEOS + #define VALIDATE_TSTZSPAN(span, ret) \ + do { \ + if (! ensure_not_null((void *) (span)) || \ + ! ensure_span_isof_type((span), T_TSTZSPAN) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TSTZSPAN(span, ret) \ + do { \ + assert(span); \ + assert((span)->spantype == T_TSTZSPAN); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the span is a number span + */ +#if MEOS + #define VALIDATE_NUMSPAN(span, ret) \ + do { \ + if (! ensure_not_null((void *) (span)) || \ + ! ensure_numspan_type((span)->spantype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_NUMSPAN(span, ret) \ + do { \ + assert(span); \ + assert(numspan_type((span)->spantype)); \ + } while (0) +#endif /* MEOS */ + +/*****************************************************************************/ + +/** + * @brief Macro for ensuring that a span set is an integer span set + */ +#if MEOS + #define VALIDATE_INTSPANSET(ss, ret) \ + do { \ + if (! ensure_not_null((void *) (ss)) || \ + ! ensure_spanset_isof_type((ss), T_INTSPANSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_INTSPANSET(ss, ret) \ + do { \ + assert(ss); \ + assert((ss)->spansettype == T_INTSPANSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a span set is a big integer span set + */ +#if MEOS + #define VALIDATE_BIGINTSPANSET(ss, ret) \ + do { \ + if (! ensure_not_null((void *) (ss)) || \ + ! ensure_spanset_isof_type((ss), T_BIGINTSPANSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_BIGINTSPANSET(ss, ret) \ + do { \ + assert(ss); \ + assert((ss)->spansettype == T_BIGINTSPANSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a span set is a float span set + */ +#if MEOS + #define VALIDATE_FLOATSPANSET(ss, ret) \ + do { \ + if (! ensure_not_null((void *) (ss)) || \ + ! ensure_spanset_isof_type((ss), T_FLOATSPANSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_FLOATSPANSET(ss, ret) \ + do { \ + assert(ss); \ + assert((ss)->spansettype == T_FLOATSPANSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that a span set is a date span set + */ +#if MEOS + #define VALIDATE_DATESPANSET(ss, ret) \ + do { \ + if (! ensure_not_null((void *) (ss)) || \ + ! ensure_spanset_isof_type((ss), T_DATESPANSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_DATESPANSET(ss, ret) \ + do { \ + assert(ss); \ + assert((ss)->spansettype == T_DATESPANSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the span set is a timestamptz span set + */ +#if MEOS + #define VALIDATE_TSTZSPANSET(ss, ret) \ + do { \ + if (! ensure_not_null((void *) (ss)) || \ + ! ensure_spanset_isof_type(ss, T_TSTZSPANSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TSTZSPANSET(ss, ret) \ + do { \ + assert(ss); \ + assert((ss)->spansettype == T_TSTZSPANSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the span set is a number span set + */ +#if MEOS + #define VALIDATE_NUMSPANSET(ss, ret) \ + do { \ + if (! ensure_not_null((void *) (ss)) || \ + ! ensure_numspanset_type((ss)->spansettype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_NUMSPANSET(ss, ret) \ + do { \ + assert(ss); \ + assert(numspanset_type((ss)->spansettype)); \ + } while (0) +#endif /* MEOS */ + +/*****************************************************************************/ + +/** + * @brief Macro for ensuring that the temporal value is a temporal Boolean + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TBOOL(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TBOOL) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TBOOL(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TBOOL); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value is a temporal integer + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TINT(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TINT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value is a temporal big integer + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TBIGINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TBIGINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TBIGINT(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TBIGINT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value is a temporal float + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TFLOAT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TFLOAT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TFLOAT(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TFLOAT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value is a temporal text + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TTEXT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TTEXT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TTEXT(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TTEXT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value is a temporal number + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TNUMBER(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tnumber_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TNUMBER(temp, ret) \ + do { \ + assert(temp); \ + assert(tnumber_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/***************************************************************************** + * Macros for manipulating the 'flags' element where the less significant + * bits are MGTZXIICB, where + * M: (GEOM) the reference geometry is stored + * G: coordinates are geodetic + * T: has T coordinate, + * Z: has Z coordinate + * X: has value or X coordinate + * II: interpolation, whose values are + * - 00: INTERP_NONE (undetermined) for TInstant + * - 01: DISCRETE + * - 10: STEP + * - 11: LINEAR + * C: continuous base type / Ordered set + * B: base type passed by value + * Notice that the interpolation flags are only needed for sequence and + * sequence set subtypes. + *****************************************************************************/ + +/* The following flag is only used for Set and TInstant */ +#define MEOS_FLAG_BYVAL 0x0001 // 1 +/* The following flag is only used for Set */ +#define MEOS_FLAG_ORDERED 0x0002 // 2 +/* The following flag is only used for Temporal */ +#define MEOS_FLAG_CONTINUOUS 0x0002 // 2 +/* The following two interpolation flags are only used for TSequence and TSequenceSet */ +#define MEOS_FLAGS_INTERP 0x000C // 4 / 8 +/* The following two flags are used for both bounding boxes and temporal types */ +#define MEOS_FLAG_X 0x0010 // 16 +#define MEOS_FLAG_Z 0x0020 // 32 +#define MEOS_FLAG_T 0x0040 // 64 +#define MEOS_FLAG_GEODETIC 0x0080 // 128 +#define MEOS_FLAG_GEOM 0x0100 // 256 + +#define MEOS_FLAGS_GET_BYVAL(flags) ((bool) (((flags) & MEOS_FLAG_BYVAL))) +#define MEOS_FLAGS_GET_ORDERED(flags) ((bool) (((flags) & MEOS_FLAG_ORDERED)>>1)) +#define MEOS_FLAGS_GET_CONTINUOUS(flags) ((bool) (((flags) & MEOS_FLAG_CONTINUOUS)>>1)) +#define MEOS_FLAGS_GET_X(flags) ((bool) (((flags) & MEOS_FLAG_X)>>4)) +#define MEOS_FLAGS_GET_Z(flags) ((bool) (((flags) & MEOS_FLAG_Z)>>5)) +#define MEOS_FLAGS_GET_T(flags) ((bool) (((flags) & MEOS_FLAG_T)>>6)) +#define MEOS_FLAGS_GET_GEODETIC(flags) ((bool) (((flags) & MEOS_FLAG_GEODETIC)>>7)) +#define MEOS_FLAGS_GET_GEOM(flags) ((bool) (((flags) & MEOS_FLAG_GEOM)>>8)) + +#define MEOS_FLAGS_BYREF(flags) ((bool) (((flags) & ! MEOS_FLAG_BYVAL))) + +#define MEOS_FLAGS_SET_BYVAL(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_BYVAL) : ((flags) & ~MEOS_FLAG_BYVAL)) +#define MEOS_FLAGS_SET_ORDERED(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_ORDERED) : ((flags) & ~MEOS_FLAG_ORDERED)) +#define MEOS_FLAGS_SET_CONTINUOUS(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_CONTINUOUS) : ((flags) & ~MEOS_FLAG_CONTINUOUS)) +#define MEOS_FLAGS_SET_X(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_X) : ((flags) & ~MEOS_FLAG_X)) +#define MEOS_FLAGS_SET_Z(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_Z) : ((flags) & ~MEOS_FLAG_Z)) +#define MEOS_FLAGS_SET_T(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_T) : ((flags) & ~MEOS_FLAG_T)) +#define MEOS_FLAGS_SET_GEODETIC(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_GEODETIC) : ((flags) & ~MEOS_FLAG_GEODETIC)) +#define MEOS_FLAGS_SET_GEOM(flags, value) \ + ((flags) = (value) ? ((flags) | MEOS_FLAG_GEOM) : ((flags) & ~MEOS_FLAG_GEOM)) + +#define MEOS_FLAGS_GET_INTERP(flags) (((flags) & MEOS_FLAGS_INTERP) >> 2) +#define MEOS_FLAGS_SET_INTERP(flags, value) ((flags) = (((flags) & ~MEOS_FLAGS_INTERP) | ((value & 0x0003) << 2))) + +#define MEOS_FLAGS_DISCRETE_INTERP(flags) ((bool) (MEOS_FLAGS_GET_INTERP((flags)) == DISCRETE)) +#define MEOS_FLAGS_STEP_INTERP(flags) ((bool) (MEOS_FLAGS_GET_INTERP((flags)) == STEP)) +#define MEOS_FLAGS_LINEAR_INTERP(flags) ((bool) (MEOS_FLAGS_GET_INTERP((flags)) == LINEAR)) +#define MEOS_FLAGS_STEP_LINEAR_INTERP(flags) \ + ((bool) (MEOS_FLAGS_GET_INTERP((flags)) == STEP || MEOS_FLAGS_GET_INTERP((flags)) == LINEAR)) + +/***************************************************************************** + * Macros for speeding up access to component values + *****************************************************************************/ + +/* Macros for speeding up access to component values of sets and span sets */ + +#if DEBUG_BUILD +extern void *SET_BBOX_PTR(const Set *s); +extern size_t *SET_OFFSETS_PTR(const Set *s); +extern Datum SET_VAL_N(const Set *s, int index); +extern const Span *SPANSET_SP_N(const SpanSet *ss, int index); +#else +/** + * @brief Return a pointer to the bounding box of a set (if any) + */ +#define SET_BBOX_PTR(s) ( (void *)( \ + ((char *) (s)) + DOUBLE_PAD(sizeof(Set)) ) ) + +/** + * @brief Return a pointer to the offsets array of a set + */ +#define SET_OFFSETS_PTR(s) ( (size_t *)( \ + ((char *) (s)) + DOUBLE_PAD(sizeof(Set)) + DOUBLE_PAD((s)->bboxsize) ) ) + +/** + * @brief Return the n-th value of a set + * @pre The argument @p index is less than the number of values in the set + */ +#define SET_VAL_N(s, index) ( (Datum) ( \ + MEOS_FLAGS_GET_BYVAL((s)->flags) ? (SET_OFFSETS_PTR(s))[index] : \ + PointerGetDatum( ((char *) (s)) + DOUBLE_PAD(sizeof(Set)) + \ + DOUBLE_PAD((s)->bboxsize) + (sizeof(size_t) * (s)->maxcount) + \ + (SET_OFFSETS_PTR(s))[index] ) ) ) + +/** + * @brief Return the n-th span of a span set. + * @pre The argument @p index is less than the number of spans in the span set + * @note This is the macro equivalent to #spanset_span_n. + * This function does not verify that the index is is in the correct bounds + */ +#define SPANSET_SP_N(ss, index) (const Span *) &((ss)->elems[(index)]) +#endif + +/*****************************************************************************/ + +/* Macros for speeding up access to components of temporal sequences (sets)*/ + +#if DEBUG_BUILD +extern size_t *TSEQUENCE_OFFSETS_PTR(const TSequence *seq); +extern const TInstant *TSEQUENCE_INST_N(const TSequence *seq, int index); +extern size_t *TSEQUENCESET_OFFSETS_PTR(const TSequenceSet *ss); +extern const TSequence *TSEQUENCESET_SEQ_N(const TSequenceSet *ss, int index); +#else +/** + * @brief Return a pointer to the offsets array of a temporal sequence + * @note The period component of the bbox is already declared in the struct + */ +#define TSEQUENCE_OFFSETS_PTR(seq) ( (size_t *)( \ + ((char *) &((seq)->period)) + (seq)->bboxsize ) ) + +/** + * @brief Return the n-th instant of a temporal sequence. + * @note The period component of the bbox is already declared in the struct + * @pre The argument @p index is less than the number of instants in the + * sequence + */ +#define TSEQUENCE_INST_N(seq, index) ( (const TInstant *)( \ + ((char *) &((seq)->period)) + (seq)->bboxsize + \ + (sizeof(size_t) * (seq)->maxcount) + (TSEQUENCE_OFFSETS_PTR(seq))[index] ) ) + +/** + * @brief Return a pointer to the offsets array of a temporal sequence set + * @note The period component of the bbox is already declared in the struct + */ +#define TSEQUENCESET_OFFSETS_PTR(ss) ( (size_t *)( \ + ((char *) &((ss)->period)) + (ss)->bboxsize ) ) + +/** + * @brief Return the n-th sequence of a temporal sequence set + * @note The period component of the bbox is already declared in the struct + * @pre The argument @p index is less than the number of sequences in the + * sequence set + */ +#define TSEQUENCESET_SEQ_N(ss, index) ( (const TSequence *)( \ + ((char *) &((ss)->period)) + (ss)->bboxsize + \ + (sizeof(size_t) * (ss)->maxcount) + (TSEQUENCESET_OFFSETS_PTR(ss))[index] ) ) +#endif /* DEBUG_BUILD */ + +/*****************************************************************************/ + +/* Structure of an expandable arrays used in particular to avoid parsing twice + * a MEOS value input in text format */ + +#define MEOS_ARRAY_INITIAL_SIZE 256 + +/** + * @brief Structure of an expandable arrays used in particular to avoid parsing + * twice a MEOS value input in text format + */ +typedef struct MeosArray +{ + size_t capacity; /**< Total capacity in number of elements */ + size_t count; /**< Number of elements currently in use */ + size_t elem_size; /**< Size of a single element in bytes */ + bool varlength; /**< True if elements are pointers (stored as Datums); + the array does not own the pointed-to memory */ + void *elems; /**< Pointer to the array elements */ +} MeosArray; + + +/*****************************************************************************/ + +/** + * Structure to represent skiplist elements + */ + +#define SKIPLIST_MAXLEVEL 32 /**< maximum possible is 47 with current RNG */ + +typedef struct +{ + void *key; + void *value; + int height; + int next[SKIPLIST_MAXLEVEL]; +} SkipListElem; + +/** + * Structure to represent skiplists that keep the current state of an aggregation + */ +struct SkipList +{ + size_t key_size; /**< Size in bytes of the keys */ + size_t value_size; /**< Size in bytes of the values */ + int capacity; /**< Maximum number of elements */ + int length; /**< Number of elements */ + int next; /**< Index of the next free element */ + int tail; /**< Index of the tail element */ + int *freed; /**< Array of index values of deleted elements */ + int freecount; /**< Number of deleted elements */ + int freecap; /**< Maximum number of deleted elements */ + void *extra; /**< Pointer to additional data needed for processing */ + size_t extrasize; /**< Size of additional data needed for processing */ + int (*comp_fn)(void *, void *); /**< Comparison function for the elements */ + void *(*merge_fn)(void *, void *); /**< Merge function for the elements */ + SkipListElem *elems; /**< Array of elements */ +}; + +/** + * @brief Enumeration for the relative position of a given element into a + * skiplist + */ +typedef enum +{ + TEMPORAL, + KEYVALUE +} SkipListType; + +/***************************************************************************** + * Definition of a function with one to three Datum arguments and returning + * a Datum + *****************************************************************************/ + +typedef Datum (*datum_func1) (Datum); +typedef Datum (*datum_func2) (Datum, Datum); +typedef Datum (*datum_func3) (Datum, Datum, Datum); + +/***************************************************************************** + * Internal function accessing the Gnu Scientic Library (GSL) + *****************************************************************************/ + +extern gsl_rng *gsl_get_generation_rng(void); +extern gsl_rng *gsl_get_aggregation_rng(void); + +/***************************************************************************** + * Generic type functions + *****************************************************************************/ + +#if MEOS +#define TimestampTzGetDatum(X) Int64GetDatum(X) +#define DatumGetTimestampTz(X)((TimestampTz) DatumGetInt64(X)) +#endif /* MEOS */ + +extern Datum datum_ceil(Datum d); +extern Datum datum_degrees(Datum d, Datum normalize); +extern Datum datum_float_round(Datum value, Datum size); +extern Datum datum_floor(Datum d); +extern uint32 datum_hash(Datum d, MeosType basetype); +extern uint64 datum_hash_extended(Datum d, MeosType basetype, uint64 seed); +extern Datum datum_radians(Datum d); +extern void floatspan_round_set(const Span *s, int maxdd, Span *result); + +/***************************************************************************** + * Functions for set and span types + *****************************************************************************/ + +/* Input and output functions for set and span types */ + +extern Set *set_in(const char *str, MeosType basetype); +extern char *set_out(const Set *s, int maxdd); +extern Span *span_in(const char *str, MeosType spantype); +extern char *span_out(const Span *s, int maxdd); +extern SpanSet *spanset_in(const char *str, MeosType spantype); +extern char *spanset_out(const SpanSet *ss, int maxdd); + +/*****************************************************************************/ + +/* Constructor functions for set and span types */ + +extern Set *set_make(const Datum *values, int count, MeosType basetype, bool order); +extern Set *set_make_exp(const Datum *values, int count, int maxcount, MeosType basetype, bool order); +extern Set *set_make_free(Datum *values, int count, MeosType basetype, bool order); +extern Span *span_make(Datum lower, Datum upper, bool lower_inc, bool upper_inc, MeosType basetype); +extern void span_set(Datum lower, Datum upper, bool lower_inc, bool upper_inc, MeosType basetype, MeosType spantype, Span *s); +extern SpanSet *spanset_make_exp(Span *spans, int count, int maxcount, bool normalize, bool order); +extern SpanSet *spanset_make_free(Span *spans, int count, bool normalize, bool order); + +/*****************************************************************************/ + +/* Conversion functions for set and span types */ + +extern Span *set_span(const Set *s); +extern SpanSet *set_spanset(const Set *s); +extern void value_set_span(Datum value, MeosType basetype, Span *s); +extern Set *value_set(Datum d, MeosType basetype); +extern Span *value_span(Datum d, MeosType basetype); +extern SpanSet *value_spanset(Datum d, MeosType basetype); + +/*****************************************************************************/ + +/* Accessor functions for set and span types */ + +extern Datum numspan_width(const Span *s); +extern Datum numspanset_width(const SpanSet *ss, bool boundspan); +extern Datum set_end_value(const Set *s); +extern int set_mem_size(const Set *s); +extern void set_set_subspan(const Set *s, int minidx, int maxidx, Span *result); +extern void set_set_span(const Set *s, Span *result); +extern Datum set_start_value(const Set *s); +extern bool set_value_n(const Set *s, int n, Datum *result); +extern Datum *set_vals(const Set *s); +extern Datum *set_values(const Set *s); +extern Datum spanset_lower(const SpanSet *ss); +extern int spanset_mem_size(const SpanSet *ss); +extern const Span **spanset_sps(const SpanSet *ss); +extern Datum spanset_upper(const SpanSet *ss); + +/*****************************************************************************/ + +/* Transformation functions for set and span types */ + +extern void bigintspan_set_floatspan(const Span *s1, Span *s2); +extern void bigintspan_set_intspan(const Span *s1, Span *s2); +extern void datespan_set_tstzspan(const Span *s1, Span *s2); +extern void floatspan_set_bigintspan(const Span *s1, Span *s2); +extern void floatspan_set_intspan(const Span *s1, Span *s2); +extern void intspan_set_bigintspan(const Span *s1, Span *s2); +extern void intspan_set_floatspan(const Span *s1, Span *s2); +extern Set *numset_shift_scale(const Set *s, Datum shift, Datum width, bool hasshift, bool haswidth); +extern Span *numspan_expand(const Span *s, Datum value); +extern Span *numspan_shift_scale(const Span *s, Datum shift, Datum width, bool hasshift, bool haswidth); +extern SpanSet *numspanset_shift_scale(const SpanSet *ss, Datum shift, Datum width, bool hasshift, bool haswidth); +extern Set *set_compact(const Set *s); +extern void span_expand(const Span *s1, Span *s2); +extern SpanSet *spanset_compact(const SpanSet *ss); +extern TBox *tbox_expand_value(const TBox *box, Datum value, MeosType basetyp); +extern Set *textcat_textset_text_common(const Set *s, const text *txt, bool invert); +extern void tstzspan_set_datespan(const Span *s1, Span *s2); + +/***************************************************************************** + * Comparison functions for set and span types + *****************************************************************************/ + + +/***************************************************************************** + * Bounding box functions for set and span types + *****************************************************************************/ + +/* Topological functions for set and span types */ + +extern bool adjacent_span_value(const Span *s, Datum value); +extern bool adjacent_spanset_value(const SpanSet *ss, Datum value); +extern bool adjacent_value_spanset(Datum value, const SpanSet *ss); +extern bool contained_value_set(Datum value, const Set *s); +extern bool contained_value_span(Datum value, const Span *s); +extern bool contained_value_spanset(Datum value, const SpanSet *ss); +extern bool contains_set_value(const Set *s, Datum value); +extern bool contains_span_value(const Span *s, Datum value); +extern bool contains_spanset_value(const SpanSet *ss, Datum value); +extern bool ovadj_span_span(const Span *s1, const Span *s2); + +/*****************************************************************************/ + +/* Position functions for set and span types */ + +extern bool left_set_value(const Set *s, Datum value); +extern bool left_span_value(const Span *s, Datum value); +extern bool left_spanset_value(const SpanSet *ss, Datum value); +extern bool left_value_set(Datum value, const Set *s); +extern bool left_value_span(Datum value, const Span *s); +extern bool left_value_spanset(Datum value, const SpanSet *ss); +extern bool lfnadj_span_span(const Span *s1, const Span *s2); +extern bool overleft_set_value(const Set *s, Datum value); +extern bool overleft_span_value(const Span *s, Datum value); +extern bool overleft_spanset_value(const SpanSet *ss, Datum value); +extern bool overleft_value_set(Datum value, const Set *s); +extern bool overleft_value_span(Datum value, const Span *s); +extern bool overleft_value_spanset(Datum value, const SpanSet *ss); +extern bool overright_set_value(const Set *s, Datum value); +extern bool overright_span_value(const Span *s, Datum value); +extern bool overright_spanset_value(const SpanSet *ss, Datum value); +extern bool overright_value_set(Datum value, const Set *s); +extern bool overright_value_span(Datum value, const Span *s); +extern bool overright_value_spanset(Datum value, const SpanSet *ss); +extern bool right_value_set(Datum value, const Set *s); +extern bool right_set_value(const Set *s, Datum value); +extern bool right_value_span(Datum value, const Span *s); +extern bool right_value_spanset(Datum value, const SpanSet *ss); +extern bool right_span_value(const Span *s, Datum value); +extern bool right_spanset_value(const SpanSet *ss, Datum value); + +/*****************************************************************************/ + +/* Functions on generic bounding boxes of temporal types */ + +extern bool bbox_type(MeosType bboxtype); +extern size_t bbox_get_size(MeosType bboxtype); +extern int bbox_max_dims(MeosType bboxtype); +extern bool temporal_bbox_eq(const void *box1, const void *box2, + MeosType temptype); +extern int temporal_bbox_cmp(const void *box1, const void *box2, + MeosType temptype); + +/* Set functions for set and span types */ + +extern void bbox_union_span_span(const Span *s1, const Span *s2, Span *result); +extern bool inter_span_span(const Span *s1, const Span *s2, Span *result); +extern Set *intersection_set_value(const Set *s, Datum value); +extern Span *intersection_span_value(const Span *s, Datum value); +extern SpanSet *intersection_spanset_value(const SpanSet *ss, Datum value); +extern Set *intersection_value_set(Datum value, const Set *s); +extern Span *intersection_value_span(Datum value, const Span *s); +extern SpanSet *intersection_value_spanset(Datum value, const SpanSet *ss); +extern int mi_span_span(const Span *s1, const Span *s2, Span *result); +extern Set *minus_set_value(const Set *s, Datum value); +extern SpanSet *minus_span_value(const Span *s, Datum value); +extern SpanSet *minus_spanset_value(const SpanSet *ss, Datum value); +extern Set *minus_value_set(Datum value, const Set *s); +extern SpanSet *minus_value_span(Datum value, const Span *s); +extern SpanSet *minus_value_spanset(Datum value, const SpanSet *ss); +extern Span *super_union_span_span(const Span *s1, const Span *s2); +extern Set *union_set_value(const Set *s, Datum value); +extern SpanSet *union_span_value(const Span *s, Datum value); +extern SpanSet *union_spanset_value(const SpanSet *ss, Datum value); +extern Set *union_value_set(Datum value, const Set *s); +extern SpanSet *union_value_span(Datum value, const Span *s); +extern SpanSet *union_value_spanset(Datum value, const SpanSet *ss); + +/*****************************************************************************/ + +/* Distance functions for set and span types */ + +extern Datum distance_set_set(const Set *s1, const Set *s2); +extern Datum distance_set_value(const Set *s, Datum value); +extern Datum distance_span_span(const Span *s1, const Span *s2); +extern Datum distance_span_value(const Span *s, Datum value); +extern Datum distance_spanset_span(const SpanSet *ss, const Span *s); +extern Datum distance_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); +extern Datum distance_spanset_value(const SpanSet *ss, Datum value); +extern Datum distance_value_value(Datum l, Datum r, MeosType basetype); + +/*****************************************************************************/ + +/* Aggregate functions for set and span types */ + +extern Span *spanbase_extent_transfn(Span *state, Datum value, MeosType basetype); +extern Set *value_union_transfn(Set *state, Datum value, MeosType basetype); + +/****************************************************************************** + * Functions for box types + *****************************************************************************/ + +/* Constructor functions for box types */ + +extern TBox *number_tstzspan_to_tbox(Datum d, MeosType basetype, const Span *s); +extern TBox *number_timestamptz_to_tbox(Datum d, MeosType basetype, TimestampTz t); +extern void tbox_set(const Span *s, const Span *p, TBox *box); + +/*****************************************************************************/ + +/* Conversion functions for box types */ + +extern void float_set_tbox(double d, TBox *box); +extern void int_set_tbox(int i, TBox *box); +extern void number_set_tbox(Datum d, MeosType basetype, TBox *box); +extern TBox *number_tbox(Datum value, MeosType basetype); +extern void numset_set_tbox(const Set *s, TBox *box); +extern void numspan_set_tbox(const Span *span, TBox *box); +extern void timestamptz_set_tbox(TimestampTz t, TBox *box); +extern void tstzset_set_tbox(const Set *s, TBox *box); +extern void tstzspan_set_tbox(const Span *s, TBox *box); + +/*****************************************************************************/ + +/* Accessor functions for box types */ + + +/*****************************************************************************/ + +/* Transformation functions for box types */ + +extern TBox *tbox_shift_scale_value(const TBox *box, Datum shift, Datum width, bool hasshift, bool haswidth); +extern void tbox_expand(const TBox *box1, TBox *box2); + +/*****************************************************************************/ + +/* Set functions for box types */ + +extern bool inter_tbox_tbox(const TBox *box1, const TBox *box2, TBox *result); + +/***************************************************************************** + * Functions for temporal types + *****************************************************************************/ + +/* Input and output functions for temporal types */ + +extern TInstant *tboolinst_from_mfjson(json_object *mfjson); +extern TInstant *tboolinst_in(const char *str); +extern TSequence *tboolseq_from_mfjson(json_object *mfjson); +extern TSequence *tboolseq_in(const char *str, interpType interp); +extern TSequenceSet *tboolseqset_from_mfjson(json_object *mfjson); +extern TSequenceSet *tboolseqset_in(const char *str); +extern Temporal *temporal_in(const char *str, MeosType temptype); +extern char *temporal_out(const Temporal *temp, int maxdd); +extern char **temparr_out(Temporal **temparr, int count, int maxdd); +extern TInstant *tfloatinst_from_mfjson(json_object *mfjson); +extern TInstant *tfloatinst_in(const char *str); +extern TSequence *tfloatseq_from_mfjson(json_object *mfjson, interpType interp); +extern TSequence *tfloatseq_in(const char *str, interpType interp); +extern TSequenceSet *tfloatseqset_from_mfjson(json_object *mfjson, interpType interp); +extern TSequenceSet *tfloatseqset_in(const char *str); +extern TInstant *tinstant_from_mfjson(json_object *mfjson, bool spatial, int32_t srid, MeosType temptype); +extern TInstant *tinstant_in(const char *str, MeosType temptype); +extern char *tinstant_out(const TInstant *inst, int maxdd); +extern TInstant *tintinst_from_mfjson(json_object *mfjson); +extern TInstant *tintinst_in(const char *str); +extern TSequence *tintseq_from_mfjson(json_object *mfjson); +extern TSequence *tintseq_in(const char *str, interpType interp); +extern TSequenceSet *tintseqset_from_mfjson(json_object *mfjson); +extern TSequenceSet *tintseqset_in(const char *str); +extern TSequence *tsequence_from_mfjson(json_object *mfjson, bool spatial, int32_t srid, MeosType temptype, interpType interp); +extern TSequence *tsequence_in(const char *str, MeosType temptype, interpType interp); +extern char *tsequence_out(const TSequence *seq, int maxdd); +extern TSequenceSet *tsequenceset_from_mfjson(json_object *mfjson, bool spatial, int32_t srid, MeosType temptype, interpType interp); +extern TSequenceSet *tsequenceset_in(const char *str, MeosType temptype, interpType interp); +extern char *tsequenceset_out(const TSequenceSet *ss, int maxdd); +extern TInstant *ttextinst_from_mfjson(json_object *mfjson); +extern TInstant *ttextinst_in(const char *str); +extern TSequence *ttextseq_from_mfjson(json_object *mfjson); +extern TSequence *ttextseq_in(const char *str, interpType interp); +extern TSequenceSet *ttextseqset_from_mfjson(json_object *mfjson); +extern TSequenceSet *ttextseqset_in(const char *str); +extern Temporal *temporal_from_mfjson(const char *mfjson, MeosType temptype); + +/*****************************************************************************/ + +/* Constructor functions for temporal types */ + +extern Temporal *temporal_from_base_temp(Datum value, MeosType temptype, const Temporal *temp); +extern TInstant *tinstant_copy(const TInstant *inst); +extern TInstant *tinstant_make(Datum value, MeosType temptype, TimestampTz t); +extern TInstant *tinstant_make_free(Datum value, MeosType temptype, TimestampTz t); +extern TSequence *tsequence_copy(const TSequence *seq); +extern TSequence *tsequence_from_base_temp(Datum value, MeosType temptype, const TSequence *seq); +extern TSequence *tsequence_from_base_tstzset(Datum value, MeosType temptype, const Set *s); +extern TSequence *tsequence_from_base_tstzspan(Datum value, MeosType temptype, const Span *s, interpType interp); +extern TSequence *tsequence_make_exp(TInstant **instants, int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequence *tsequence_make_free(TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequenceSet *tsequenceset_copy(const TSequenceSet *ss); +extern TSequenceSet *tseqsetarr_to_tseqset(TSequenceSet **seqsets, int count, int totalseqs); +extern TSequenceSet *tsequenceset_from_base_temp(Datum value, MeosType temptype, const TSequenceSet *ss); +extern TSequenceSet *tsequenceset_from_base_tstzspanset(Datum value, MeosType temptype, const SpanSet *ss, interpType interp); +extern TSequenceSet *tsequenceset_make_exp(TSequence **sequences, int count, int maxcount, bool normalize); +extern TSequenceSet *tsequenceset_make_free(TSequence **sequences, int count, bool normalize); + +/*****************************************************************************/ + +/* Conversion functions for temporal types */ + +extern void temporal_set_tstzspan(const Temporal *temp, Span *s); +extern void tinstant_set_tstzspan(const TInstant *inst, Span *s); +extern void tnumber_set_tbox(const Temporal *temp, TBox *box); +extern void tnumberinst_set_tbox(const TInstant *inst, TBox *box); +extern void tnumberseq_set_tbox(const TSequence *seq, TBox *box); +extern void tnumberseqset_set_tbox(const TSequenceSet *ss, TBox *box); +extern void tsequence_set_tstzspan(const TSequence *seq, Span *s); +extern void tsequenceset_set_tstzspan(const TSequenceSet *ss, Span *s); + +/*****************************************************************************/ + +/* Accessor functions for temporal types */ + +extern const TInstant *temporal_end_inst(const Temporal *temp); +extern Datum temporal_end_value(const Temporal *temp); +extern const TInstant *temporal_inst_n(const Temporal *temp, int n); +extern const TInstant **temporal_insts_p(const Temporal *temp, int *count); +extern const TInstant *temporal_max_inst_p(const Temporal *temp); +extern Datum temporal_max_value(const Temporal *temp); +extern size_t temporal_mem_size(const Temporal *temp); +extern const TInstant *temporal_min_inst_p(const Temporal *temp); +extern Datum temporal_min_value(const Temporal *temp); +extern const TSequence **temporal_sequences_p(const Temporal *temp, int *count); +extern void temporal_set_bbox(const Temporal *temp, void *box); +extern const TInstant *temporal_start_inst(const Temporal *temp); +extern Datum temporal_start_value(const Temporal *temp); +extern Datum *temporal_values_p(const Temporal *temp, int *count); +extern bool temporal_value_n(const Temporal *temp, int n, Datum *result); +extern Datum *temporal_values(const Temporal *temp, int *count); +extern uint32 tinstant_hash(const TInstant *inst); +extern const TInstant **tinstant_insts(const TInstant *inst, int *count); +extern void tinstant_set_bbox(const TInstant *inst, void *box); +extern SpanSet *tinstant_time(const TInstant *inst); +extern TimestampTz *tinstant_timestamps(const TInstant *inst, int *count); +extern Datum tinstant_value_p(const TInstant *inst); +extern Datum tinstant_value(const TInstant *inst); +extern bool tinstant_value_at_timestamptz(const TInstant *inst, TimestampTz t, Datum *result); +extern Datum *tinstant_values_p(const TInstant *inst, int *count); +extern void tnumber_set_span(const Temporal *temp, Span *span); +extern SpanSet *tnumberinst_valuespans(const TInstant *inst); +extern double tnumberseq_avg_val(const TSequence *seq); +extern SpanSet *tnumberseq_valuespans(const TSequence *seq); +extern double tnumberseqset_avg_val(const TSequenceSet *ss); +extern SpanSet *tnumberseqset_valuespans(const TSequenceSet *ss); +extern Interval *tsequence_duration(const TSequence *seq); +extern TimestampTz tsequence_end_timestamptz(const TSequence *seq); +extern uint32 tsequence_hash(const TSequence *seq); +extern const TInstant **tsequence_insts_p(const TSequence *seq); +extern const TInstant *tsequence_max_inst_p(const TSequence *seq); +extern Datum tsequence_max_val(const TSequence *seq); +extern const TInstant *tsequence_min_inst_p(const TSequence *seq); +extern Datum tsequence_min_val(const TSequence *seq); +extern TSequence **tsequence_segments(const TSequence *seq, int *count); +extern const TSequence **tsequence_seqs(const TSequence *seq, int *count); +extern TimestampTz tsequence_start_timestamptz(const TSequence *seq); +extern SpanSet *tsequence_time(const TSequence *seq); +extern TimestampTz *tsequence_timestamps(const TSequence *seq, int *count); +extern bool tsequence_value_at_timestamptz(const TSequence *seq, TimestampTz t, bool strict, Datum *result); +extern Datum *tsequence_values_p(const TSequence *seq, int *count); +extern Interval *tsequenceset_duration(const TSequenceSet *ss, bool boundspan); +extern TimestampTz tsequenceset_end_timestamptz(const TSequenceSet *ss); +extern uint32 tsequenceset_hash(const TSequenceSet *ss); +extern const TInstant *tsequenceset_inst_n(const TSequenceSet *ss, int n); +extern const TInstant **tsequenceset_insts_p(const TSequenceSet *ss); +extern const TInstant *tsequenceset_max_inst_p(const TSequenceSet *ss); +extern Datum tsequenceset_max_val(const TSequenceSet *ss); +extern const TInstant *tsequenceset_min_inst_p(const TSequenceSet *ss); +extern Datum tsequenceset_min_val(const TSequenceSet *ss); +extern int tsequenceset_num_instants(const TSequenceSet *ss); +extern int tsequenceset_num_timestamps(const TSequenceSet *ss); +extern TSequence **tsequenceset_segments(const TSequenceSet *ss, int *count); +extern const TSequence **tsequenceset_sequences_p(const TSequenceSet *ss); +extern TimestampTz tsequenceset_start_timestamptz(const TSequenceSet *ss); +extern SpanSet *tsequenceset_time(const TSequenceSet *ss); +extern bool tsequenceset_timestamptz_n(const TSequenceSet *ss, int n, TimestampTz *result); +extern TimestampTz *tsequenceset_timestamps(const TSequenceSet *ss, int *count); +extern bool tsequenceset_value_at_timestamptz(const TSequenceSet *ss, TimestampTz t, bool strict, Datum *result); +extern bool tsequenceset_value_n(const TSequenceSet *ss, int n, Datum *result); +extern Datum *tsequenceset_values_p(const TSequenceSet *ss, int *count); + +/*****************************************************************************/ + +/* Transformation functions for temporal types */ + +extern void temporal_restart(Temporal *temp, int count); +extern TSequence *temporal_tsequence(const Temporal *temp, interpType interp); +extern TSequenceSet *temporal_tsequenceset(const Temporal *temp, interpType interp); +extern TInstant *tinstant_shift_time(const TInstant *inst, const Interval *interv); +extern TSequence *tinstant_to_tsequence(const TInstant *inst, interpType interp); +extern TSequence *tinstant_to_tsequence_free(TInstant *inst, interpType interp); +extern TSequenceSet *tinstant_to_tsequenceset(const TInstant *inst, interpType interp); +extern Temporal *tnumber_shift_scale_value(const Temporal *temp, Datum shift, Datum width, bool hasshift, bool haswidth); +extern TInstant *tnumberinst_shift_value(const TInstant *inst, Datum shift); +extern TSequence *tnumberseq_shift_scale_value(const TSequence *seq, Datum shift, Datum width, bool hasshift, bool haswidth); +extern TSequenceSet *tnumberseqset_shift_scale_value(const TSequenceSet *ss, Datum start, Datum width, bool hasshift, bool haswidth); +extern void tsequence_restart(TSequence *seq, int count); +extern Temporal *tsequence_set_interp(const TSequence *seq, interpType interp); +extern TSequence *tsequence_shift_scale_time(const TSequence *seq, const Interval *shift, const Interval *duration); +extern TSequence *tsequence_subseq(const TSequence *seq, int from, int to, bool lower_inc, bool upper_inc); +extern TInstant *tsequence_to_tinstant(const TSequence *seq); +extern TSequenceSet *tsequence_to_tsequenceset(const TSequence *seq); +extern TSequenceSet *tsequence_to_tsequenceset_free(TSequence *seq); +extern TSequenceSet *tsequence_to_tsequenceset_interp(const TSequence *seq, interpType interp); +extern void tsequenceset_restart(TSequenceSet *ss, int count); +extern Temporal *tsequenceset_set_interp(const TSequenceSet *ss, interpType interp); +extern TSequenceSet *tsequenceset_shift_scale_time(const TSequenceSet *ss, const Interval *start, const Interval *duration); +extern TSequence *tsequenceset_to_discrete(const TSequenceSet *ss); +extern TSequenceSet *tsequenceset_to_linear(const TSequenceSet *ss); +extern TSequenceSet *tsequenceset_to_step(const TSequenceSet *ss); +extern TInstant *tsequenceset_to_tinstant(const TSequenceSet *ss); +extern TSequence *tsequenceset_to_tsequence(const TSequenceSet *ss); + +/*****************************************************************************/ + +/* Modification functions for temporal types */ + +extern Temporal *tinstant_merge(const TInstant *inst1, const TInstant *inst2); +extern Temporal *tinstant_merge_array(TInstant **instants, int count); +extern Temporal *tsequence_append_tinstant(TSequence *seq, const TInstant *inst, double maxdist, const Interval *maxt, bool expand); +extern Temporal *tsequence_append_tsequence(const TSequence *seq1, const TSequence *seq2, bool expand); +extern Temporal *tsequence_delete_timestamptz(const TSequence *seq, TimestampTz t, bool connect); +extern Temporal *tsequence_delete_tstzset(const TSequence *seq, const Set *s, bool connect); +extern Temporal *tsequence_delete_tstzspan(const TSequence *seq, const Span *s, bool connect); +extern Temporal *tsequence_delete_tstzspanset(const TSequence *seq, const SpanSet *ss, bool connect); +extern Temporal *tsequence_insert(const TSequence *seq1, const TSequence *seq2, bool connect); +extern Temporal *tsequence_merge(const TSequence *seq1, const TSequence *seq2); +extern Temporal *tsequence_merge_array(TSequence **sequences, int count); +extern TSequenceSet *tsequenceset_append_tinstant(TSequenceSet *ss, const TInstant *inst, double maxdist, const Interval *maxt, bool expand); +extern TSequenceSet *tsequenceset_append_tsequence(TSequenceSet *ss, const TSequence *seq, bool expand); +extern TSequenceSet *tsequenceset_delete_timestamptz(const TSequenceSet *ss, TimestampTz t); +extern TSequenceSet *tsequenceset_delete_tstzset(const TSequenceSet *ss, const Set *s); +extern TSequenceSet *tsequenceset_delete_tstzspan(const TSequenceSet *ss, const Span *s); +extern TSequenceSet *tsequenceset_delete_tstzspanset(const TSequenceSet *ss, const SpanSet *ps); +extern TSequenceSet *tsequenceset_insert(const TSequenceSet *ss1, const TSequenceSet *ss2); +extern TSequenceSet *tsequenceset_merge(const TSequenceSet *ss1, const TSequenceSet *ss2); +extern TSequenceSet *tsequenceset_merge_array(TSequenceSet **seqsets, int count); + +/*****************************************************************************/ + +/* Bounding box functions for temporal types */ + +extern void tsequence_expand_bbox(TSequence *seq, const TInstant *inst); +extern void tsequence_set_bbox(const TSequence *seq, void *box); +extern void tsequenceset_expand_bbox(TSequenceSet *ss, const TSequence *seq); +extern void tsequenceset_set_bbox(const TSequenceSet *ss, void *box); + +/*****************************************************************************/ + +/* Restriction functions for temporal types */ + +extern TSequence *tcontseq_after_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequence *tcontseq_before_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequenceSet *tcontseq_restrict_minmax(const TSequence *seq, bool min, bool atfunc); +extern TSequence *tdiscseq_after_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequence *tdiscseq_before_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequence *tdiscseq_restrict_minmax(const TSequence *seq, bool min, bool atfunc); +extern bool temporal_bbox_restrict_set(const Temporal *temp, const Set *set); +extern Temporal *temporal_restrict_minmax(const Temporal *temp, bool min, bool atfunc); +extern Temporal *temporal_restrict_timestamptz(const Temporal *temp, TimestampTz t, bool atfunc); +extern Temporal *temporal_restrict_tstzset(const Temporal *temp, const Set *s, bool atfunc); +extern Temporal *temporal_restrict_tstzspan(const Temporal *temp, const Span *s, bool atfunc); +extern Temporal *temporal_restrict_tstzspanset(const Temporal *temp, const SpanSet *ss, bool atfunc); +extern Temporal *temporal_restrict_value(const Temporal *temp, Datum value, bool atfunc); +extern Temporal *temporal_restrict_values(const Temporal *temp, const Set *set, bool atfunc); +extern bool temporal_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, Datum *result); +extern TInstant *tinstant_after_timestamptz(const TInstant *inst, TimestampTz t, bool strict); +extern TInstant *tinstant_before_timestamptz(const TInstant *inst, TimestampTz t, bool strict); +extern TInstant *tinstant_restrict_tstzspan(const TInstant *inst, const Span *period, bool atfunc); +extern TInstant *tinstant_restrict_tstzspanset(const TInstant *inst, const SpanSet *ss, bool atfunc); +extern TInstant *tinstant_restrict_timestamptz(const TInstant *inst, TimestampTz t, bool atfunc); +extern TInstant *tinstant_restrict_tstzset(const TInstant *inst, const Set *s, bool atfunc); +extern TInstant *tinstant_restrict_value(const TInstant *inst, Datum value, bool atfunc); +extern TInstant *tinstant_restrict_values(const TInstant *inst, const Set *set, bool atfunc); +extern Temporal *tnumber_restrict_span(const Temporal *temp, const Span *span, bool atfunc); +extern Temporal *tnumber_restrict_spanset(const Temporal *temp, const SpanSet *ss, bool atfunc); +extern TInstant *tnumberinst_restrict_span(const TInstant *inst, const Span *span, bool atfunc); +extern TInstant *tnumberinst_restrict_spanset(const TInstant *inst, const SpanSet *ss, bool atfunc); +extern TSequenceSet *tnumberseqset_restrict_span(const TSequenceSet *ss, const Span *span, bool atfunc); +extern TSequenceSet *tnumberseqset_restrict_spanset(const TSequenceSet *ss, const SpanSet *spanset, bool atfunc); +extern TInstant *tsequence_at_timestamptz(const TSequence *seq, TimestampTz t); +extern Temporal *tsequence_restrict_tstzspan(const TSequence *seq, const Span *s, bool atfunc); +extern Temporal *tsequence_restrict_tstzspanset(const TSequence *seq, const SpanSet *ss, bool atfunc); +extern TSequenceSet *tsequenceset_after_timestamptz(const TSequenceSet *ss, TimestampTz t, bool strict); +extern TSequenceSet *tsequenceset_before_timestamptz(const TSequenceSet *ss, TimestampTz t, bool strict); +extern TSequenceSet *tsequenceset_restrict_minmax(const TSequenceSet *ss, bool min, bool atfunc); +extern TSequenceSet *tsequenceset_restrict_tstzspan(const TSequenceSet *ss, const Span *s, bool atfunc); +extern TSequenceSet *tsequenceset_restrict_tstzspanset(const TSequenceSet *ss, const SpanSet *ps, bool atfunc); +extern Temporal *tsequenceset_restrict_timestamptz(const TSequenceSet *ss, TimestampTz t, bool atfunc); +extern Temporal *tsequenceset_restrict_tstzset(const TSequenceSet *ss, const Set *s, bool atfunc); +extern TSequenceSet *tsequenceset_restrict_value(const TSequenceSet *ss, Datum value, bool atfunc); +extern TSequenceSet *tsequenceset_restrict_values(const TSequenceSet *ss, const Set *s, bool atfunc); + +/*****************************************************************************/ + +/* Traditional comparison functions for temporal types */ + +extern int tinstant_cmp(const TInstant *inst1, const TInstant *inst2); +extern bool tinstant_eq(const TInstant *inst1, const TInstant *inst2); +extern int tsequence_cmp(const TSequence *seq1, const TSequence *seq2); +extern bool tsequence_eq(const TSequence *seq1, const TSequence *seq2); +extern int tsequenceset_cmp(const TSequenceSet *ss1, const TSequenceSet *ss2); +extern bool tsequenceset_eq(const TSequenceSet *ss1, const TSequenceSet *ss2); + +/*****************************************************************************/ + +/* Ever/always functions for temporal types */ + +extern int always_eq_base_temporal(Datum value, const Temporal *temp); +extern int always_eq_temporal_base(const Temporal *temp, Datum value); +extern int always_ne_base_temporal(Datum value, const Temporal *temp); +extern int always_ne_temporal_base(const Temporal *temp, Datum value); +extern int always_ge_base_temporal(Datum value, const Temporal *temp); +extern int always_ge_temporal_base(const Temporal *temp, Datum value); +extern int always_gt_base_temporal(Datum value, const Temporal *temp); +extern int always_gt_temporal_base(const Temporal *temp, Datum value); +extern int always_le_base_temporal(Datum value, const Temporal *temp); +extern int always_le_temporal_base(const Temporal *temp, Datum value); +extern int always_lt_base_temporal(Datum value, const Temporal *temp); +extern int always_lt_temporal_base(const Temporal *temp, Datum value); +extern int ever_eq_base_temporal(Datum value, const Temporal *temp); +extern int ever_eq_temporal_base(const Temporal *temp, Datum value); +extern int ever_ne_base_temporal(Datum value, const Temporal *temp); +extern int ever_ne_temporal_base(const Temporal *temp, Datum value); +extern int ever_ge_base_temporal(Datum value, const Temporal *temp); +extern int ever_ge_temporal_base(const Temporal *temp, Datum value); +extern int ever_gt_base_temporal(Datum value, const Temporal *temp); +extern int ever_gt_temporal_base(const Temporal *temp, Datum value); +extern int ever_le_base_temporal(Datum value, const Temporal *temp); +extern int ever_le_temporal_base(const Temporal *temp, Datum value); +extern int ever_lt_base_temporal(Datum value, const Temporal *temp); +extern int ever_lt_temporal_base(const Temporal *temp, Datum value); + +/*****************************************************************************/ + +/* Mathematical functions for temporal types */ + +extern TInstant *tnumberinst_abs(const TInstant *inst); +extern TSequence *tnumberseq_abs(const TSequence *seq); +extern TSequence *tnumberseq_angular_difference(const TSequence *seq); +extern TSequence *tnumberseq_delta_value(const TSequence *seq); +extern TSequenceSet *tnumberseqset_abs(const TSequenceSet *ss); +extern TSequence *tnumberseqset_angular_difference(const TSequenceSet *ss); +extern TSequenceSet *tnumberseqset_delta_value(const TSequenceSet *ss); + +/*****************************************************************************/ + +/* Distance functions for temporal types */ + +extern double distance_span_span_double(const Span *s1, const Span *s2); +extern double nad_tbox_tbox(const TBox *box1, const TBox *box2); +extern double nad_tnumber_number(const Temporal *temp, Datum value); +extern double nad_tnumber_tbox(const Temporal *temp, const TBox *box); +extern double nad_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tdistance_tnumber_number(const Temporal *temp, Datum value); +extern double tnumberinst_distance(const TInstant *inst1, const TInstant *inst2); + +/*****************************************************************************/ + +/* Local aggregate functions for temporal types */ + +extern double tnumberseq_integral(const TSequence *seq); +extern double tnumberseq_twavg(const TSequence *seq); +extern double tnumberseqset_integral(const TSequenceSet *ss); +extern double tnumberseqset_twavg(const TSequenceSet *ss); + +/*****************************************************************************/ + +/* Compact functions for final append aggregate */ + +extern Temporal *temporal_compact(const Temporal *temp); +extern TSequence *tsequence_compact(const TSequence *seq); +extern TSequenceSet *tsequenceset_compact(const TSequenceSet *ss); + +/*****************************************************************************/ + +/* Aggregate functions for temporal types */ + +extern SkipList *temporal_skiplist_make(); +extern SkipList *skiplist_make(size_t key_size, size_t value_size, + int (*comp_fn)(void *, void *), void *(*merge_fn)(void *, void *)); +extern int skiplist_search(SkipList *list, void *key, void *value); +extern void skiplist_free(SkipList *list); +extern void skiplist_splice(SkipList *list, void **keys, void **values, int count, datum_func2 func, bool crossings, SkipListType sktype); +extern void temporal_skiplist_splice(SkipList *list, void **values, int count, datum_func2 func, bool crossings); +extern void **skiplist_values(SkipList *list); +extern void **skiplist_keys_values(SkipList *list, void **values); + +extern Temporal *temporal_app_tinst_transfn(Temporal *state, const TInstant *inst, interpType interp, double maxdist, const Interval *maxt); +extern Temporal *temporal_app_tseq_transfn(Temporal *state, const TSequence *seq); + +/*****************************************************************************/ + +/* Tile functions for span and temporal types */ + +extern Span *span_bins(const Span *s, Datum size, Datum origin, int *count); +extern Span *spanset_bins(const SpanSet *ss, Datum size, Datum origin, int *count); +extern Span *tnumber_value_bins(const Temporal *temp, Datum size, Datum origin, int *count); +extern TBox *tnumber_value_time_boxes(const Temporal *temp, Datum vsize, const Interval *duration, Datum vorigin, TimestampTz torigin, int *count); +extern Temporal **tnumber_value_split(const Temporal *temp, Datum vsize, Datum vorigin, Datum **bins, int *count); +extern TBox *tbox_get_value_time_tile(Datum value, TimestampTz t, Datum vsize, const Interval *duration, Datum vorigin, TimestampTz torigin, MeosType basetype, MeosType spantype); +extern Temporal **tnumber_value_time_split(const Temporal *temp, Datum size, const Interval *duration, Datum vorigin, TimestampTz torigin, Datum **value_bins, TimestampTz **time_bins, int *count); + +/*****************************************************************************/ + +/* Similarity functions for temporal types */ + + +/*****************************************************************************/ + +#endif /* __MEOS_INTERNAL_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_internal_geo.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_internal_geo.h new file mode 100644 index 000000000..e95955450 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_internal_geo.h @@ -0,0 +1,303 @@ +/***************************************************************************** + * + * This MobilityDB code seq provided under The PostgreSQL License. + * Copyright(c) 2016-2023, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License(GPLv2 or later). + * Copyright(c) 2001-2023, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement seq hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Internal API of the Mobility Engine Open Source(MEOS) library. + */ + +#ifndef __MEOS_INTERNAL_GEO_H__ +#define __MEOS_INTERNAL_GEO_H__ + +/* C */ +#include +/* JSON-C */ +#include +/* PROJ */ +#include +/* PostgreSQL */ +/* MEOS */ +#include +#include +#include + +/***************************************************************************** + * Direct access to a single point in the GSERIALIZED struct + *****************************************************************************/ + +/* + * Obtain a geometry/geography point from the GSERIALIZED WITHOUT creating + * the corresponding LWGEOM. These functions constitute a **SERIOUS** + * break of encapsulation but it is the only way to achieve reasonable + * performance when manipulating mobility data. + * The datum_* functions suppose that the GSERIALIZED has been already + * detoasted. This is typically the case when the datum is within a Temporal* + * that has been already detoasted with PG_GETARG_TEMPORAL* + * The first variant (e.g. datum_point2d) is slower than the second (e.g. + * datum_point2d_p) since the point is passed by value and thus the bytes + * are copied. The second version is declared const because you aren't allowed + * to modify the values, only read them. + */ + +/** + * @brief Macro for accessing the GSERIALIZED value of a temporal point. + * @pre It is assumed that the geometry/geography IS NOT TOASTED + */ +#define DatumGetGserializedP(X) ((GSERIALIZED *) DatumGetPointer(X)) +#define GserializedPGetDatum(X) PointerGetDatum(X) + +/** + * @brief Definition for the internal aspects of the GSERIALIZED struct + */ +// #define LWFLAG_EXTFLAGS 0x20 +#define LWFLAG_VERSBIT2 0x80 + +// #define FLAGS_GET_EXTFLAGS(flags) (((flags) & LWFLAG_EXTFLAGS)>>5) +#define FLAGS_GET_VERSBIT2(flags) (((flags) & LWFLAG_VERSBIT2)>>7) + +#define GS_POINT_PTR(gs) ( (uint8_t *) ((gs)->data) + 8 + \ + FLAGS_GET_BBOX((gs)->gflags) * FLAGS_NDIMS_BOX((gs)->gflags) * 8 + \ + FLAGS_GET_VERSBIT2((gs)->gflags) * 8 ) + +/** + * @brief Return a pointer to a 2D/3DZ point from the datum/GSERIALIZED + */ +#define DATUM_POINT2D_P(gs) ( (POINT2D *) GS_POINT_PTR(DatumGetGserializedP(gs)) ) +#define DATUM_POINT3DZ_P(gs) ( (POINT3DZ *) GS_POINT_PTR(DatumGetGserializedP(gs)) ) + +#define GSERIALIZED_POINT2D_P(gs) ( (POINT2D *) GS_POINT_PTR((gs)) ) +#define GSERIALIZED_POINT3DZ_P(gs) ( (POINT3DZ *) GS_POINT_PTR((gs)) ) + +/***************************************************************************** + * Internal function accessing the PROJ library + *****************************************************************************/ + +extern PJ_CONTEXT *proj_get_context(void); + +/***************************************************************************** + * Round functions + *****************************************************************************/ + +extern Datum datum_geo_round(Datum value, Datum size); +extern GSERIALIZED *point_round(const GSERIALIZED *gs, int maxdd); + +/****************************************************************************** + * Functions for box types + *****************************************************************************/ + +/* Constructor functions for box types */ + +extern void stbox_set(bool hasx, bool hasz, bool geodetic, int32 srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, const Span *s, STBox *box); + +/*****************************************************************************/ + +/* Conversion functions for box types */ + +extern void gbox_set_stbox(const GBOX *box, int32_t srid, STBox *result); +extern bool geo_set_stbox(const GSERIALIZED *gs, STBox *box); +extern void geoarr_set_stbox(const Datum *values, int count, STBox *box); +extern bool spatial_set_stbox(Datum d, MeosType basetype, STBox *box); +extern void spatialset_set_stbox(const Set *set, STBox *box); +extern void stbox_set_box3d(const STBox *box, BOX3D *box3d); +extern void stbox_set_gbox(const STBox *box, GBOX *gbox); +extern void tstzset_set_stbox(const Set *s, STBox *box); +extern void tstzspan_set_stbox(const Span *s, STBox *box); +extern void tstzspanset_set_stbox(const SpanSet *s, STBox *box); + +/*****************************************************************************/ + +/* Transformation functions for box types */ + +extern void stbox_expand(const STBox *box1, STBox *box2); + +/*****************************************************************************/ + +/* Set functions for box types */ + +extern bool inter_stbox_stbox(const STBox *box1, const STBox *box2, STBox *result); +extern GSERIALIZED *stbox_geo(const STBox *box); + +/***************************************************************************** + * Functions for temporal types + *****************************************************************************/ + +/* Input and output functions */ + +extern TInstant *tgeogpointinst_from_mfjson(json_object *mfjson, int32_t srid); +extern TInstant *tgeogpointinst_in(const char *str); +extern TSequence *tgeogpointseq_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequence *tgeogpointseq_in(const char *str, interpType interp); +extern TSequenceSet *tgeogpointseqset_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequenceSet *tgeogpointseqset_in(const char *str); +extern TInstant *tgeompointinst_from_mfjson(json_object *mfjson, int32_t srid); +extern TInstant *tgeompointinst_in(const char *str); +extern TSequence *tgeompointseq_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequence *tgeompointseq_in(const char *str, interpType interp); +extern TSequenceSet *tgeompointseqset_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequenceSet *tgeompointseqset_in(const char *str); +extern TInstant *tgeographyinst_from_mfjson(json_object *mfjson, int32_t srid); +extern TInstant *tgeographyinst_in(const char *str); +extern TSequence *tgeographyseq_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequence *tgeographyseq_in(const char *str, interpType interp); +extern TSequenceSet *tgeographyseqset_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequenceSet *tgeographyseqset_in(const char *str); +extern TInstant *tgeometryinst_from_mfjson(json_object *mfjson, int32_t srid); +extern TInstant *tgeometryinst_in(const char *str); +extern TSequence *tgeometryseq_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequence *tgeometryseq_in(const char *str, interpType interp); +extern TSequenceSet *tgeometryseqset_from_mfjson(json_object *mfjson, int32_t srid, interpType interp); +extern TSequenceSet *tgeometryseqset_in(const char *str); + +/*****************************************************************************/ + +/* Constructor functions */ + +/*****************************************************************************/ + +/* Conversion functions */ + +/*****************************************************************************/ + +/* Accessor functions */ + +/*****************************************************************************/ + +/* Transformation functions */ + +/*****************************************************************************/ + +/* Modification functions */ + +/*****************************************************************************/ + +/* Bounding box functions */ + +extern void tspatial_set_stbox(const Temporal *temp, STBox *box); +extern void tgeoinst_set_stbox(const TInstant *inst, STBox *box); +extern void tspatialseq_set_stbox(const TSequence *seq, STBox *box); +extern void tspatialseqset_set_stbox(const TSequenceSet *ss, STBox *box); + +/*****************************************************************************/ + +/* Restriction functions */ + +extern Temporal *tgeo_restrict_elevation(const Temporal *temp, const Span *s, bool atfunc); +extern Temporal *tgeo_restrict_geom(const Temporal *temp, const GSERIALIZED *gs, bool atfunc); +extern Temporal *tgeo_restrict_stbox(const Temporal *temp, const STBox *box, bool border_inc, bool atfunc); +extern TInstant *tgeoinst_restrict_geom(const TInstant *inst, const GSERIALIZED *gs, bool atfunc); +extern TInstant *tgeoinst_restrict_stbox(const TInstant *inst, const STBox *box, bool border_inc, bool atfunc); +extern Temporal *tgeoseq_restrict_geom(const TSequence *seq, const GSERIALIZED *gs, bool atfunc); +extern Temporal *tgeoseq_restrict_stbox(const TSequence *seq, const STBox *box, bool border_inc, bool atfunc); +extern TSequenceSet *tgeoseqset_restrict_geom(const TSequenceSet *ss, const GSERIALIZED *gs, bool atfunc); +extern TSequenceSet *tgeoseqset_restrict_stbox(const TSequenceSet *ss, const STBox *box, bool border_inc, bool atfunc); + +/*****************************************************************************/ + +/* Traditional comparison functions */ + +/*****************************************************************************/ + +/* Ever/always functions */ + +/*****************************************************************************/ + +/* Mathematical functions */ + +/*****************************************************************************/ + +/* Distance functions */ + +/***************************************************************************** + * Spatial functions for temporal points + *****************************************************************************/ + +/* Spatial accessor functions for temporal points */ + +extern int32_t spatial_srid(Datum d, MeosType basetype); +extern bool spatial_set_srid(Datum d, MeosType basetype, int32_t srid); +extern int tspatialinst_srid(const TInstant *inst); +extern TSequenceSet *tpointseq_azimuth(const TSequence *seq); +extern TSequence *tpointseq_cumulative_length(const TSequence *seq, double prevlength); +extern bool tpointseq_is_simple(const TSequence *seq); +extern double tpointseq_length(const TSequence *seq); +extern GSERIALIZED *tpointseq_linear_trajectory(const TSequence *seq, bool unary_union); +extern STBox *tgeoseq_stboxes(const TSequence *seq, int *count); +extern STBox *tgeoseq_split_n_stboxes(const TSequence *seq, int max_count, int *count); +extern TSequenceSet *tpointseqset_azimuth(const TSequenceSet *ss); +extern TSequenceSet *tpointseqset_cumulative_length(const TSequenceSet *ss); +extern bool tpointseqset_is_simple(const TSequenceSet *ss); +extern double tpointseqset_length(const TSequenceSet *ss); +extern STBox *tgeoseqset_stboxes(const TSequenceSet *ss, int *count); +extern STBox *tgeoseqset_split_n_stboxes(const TSequenceSet *ss, int max_count, int *count); +extern Temporal *tpoint_get_coord(const Temporal *temp, int coord); + +/*****************************************************************************/ + +/* Spatial transformation functions for temporal points */ + +extern TInstant *tgeominst_tgeoginst(const TInstant *inst, bool oper); +extern TSequence *tgeomseq_tgeogseq(const TSequence *seq, bool oper); +extern TSequenceSet *tgeomseqset_tgeogseqset(const TSequenceSet *ss, bool oper); +extern Temporal *tgeom_tgeog(const Temporal *temp, bool oper); +extern Temporal *tgeo_tpoint(const Temporal *temp, bool oper); +extern void tspatialinst_set_srid(TInstant *inst, int32_t srid); +extern TSequence **tpointseq_make_simple(const TSequence *seq, int *count); +extern void tspatialseq_set_srid(TSequence *seq, int32_t srid); +extern TSequence **tpointseqset_make_simple(const TSequenceSet *ss, int *count); +extern void tspatialseqset_set_srid(TSequenceSet *ss, int32_t srid); + +/*****************************************************************************/ + +/* Local aggregate functions */ + +extern GSERIALIZED *tpointseq_twcentroid(const TSequence *seq); +extern GSERIALIZED *tpointseqset_twcentroid(const TSequenceSet *ss); + +/*****************************************************************************/ + +/* Compact functions for final append aggregate */ + + +/*****************************************************************************/ + +/* Aggregate functions */ + + +/*****************************************************************************/ + +/* Tile functions for span and temporal types */ + + +/*****************************************************************************/ + +/* Similarity functions */ + + +/*****************************************************************************/ + +#endif /* __MEOS_INTERNAL_GEO_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_npoint.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_npoint.h new file mode 100644 index 000000000..69835244f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_npoint.h @@ -0,0 +1,330 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief API of the Mobility Engine Open Source (MEOS) library. + */ + +#ifndef __MEOS_NPOINT_H__ +#define __MEOS_NPOINT_H__ + +/* C */ +#include +#include +/* MEOS */ +#include +#include +#include + +/***************************************************************************** + * Type definitions + *****************************************************************************/ + +/* Structure to represent network-based points */ + +typedef struct +{ + int64 rid; /**< route identifier */ + double pos; /**< position */ +} Npoint; + +/* Structure to represent network-based segments */ + +typedef struct +{ + int64 rid; /**< route identifier */ + double pos1; /**< position1 */ + double pos2; /**< position2 */ +} Nsegment; + +/***************************************************************************** + * Validity macros and functions + *****************************************************************************/ + +/** + * @brief Macro for ensuring that the set passed as argument is a network + * point set + */ +#if MEOS + #define VALIDATE_NPOINTSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type((set), T_NPOINTSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_NPOINTSET(set, ret) \ + do { \ + assert(set); \ + assert(set->settype == T_NPOINTSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro for ensuring that the temporal value passed as argument is a + * temporal network point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TNPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TNPOINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TNPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TNPOINT); \ + } while (0) +#endif /* MEOS */ + +/****************************************************************************** + * Functions for network points + ******************************************************************************/ + +/* Input and output functions */ + +extern char *npoint_as_ewkt(const Npoint *np, int maxdd); +extern char *npoint_as_hexwkb(const Npoint *np, uint8_t variant, size_t *size_out); +extern char *npoint_as_text(const Npoint *np, int maxdd); +extern uint8_t *npoint_as_wkb(const Npoint *np, uint8_t variant, size_t *size_out); +extern Npoint *npoint_from_hexwkb(const char *hexwkb); +extern Npoint *npoint_from_wkb(const uint8_t *wkb, size_t size); +extern Npoint *npoint_in(const char *str); +extern char *npoint_out(const Npoint *np, int maxdd); +extern Nsegment *nsegment_in(const char *str); +extern char *nsegment_out(const Nsegment *ns, int maxdd); + +/* Constructor functions */ + +extern Npoint *npoint_make(int64 rid, double pos); +extern Nsegment *nsegment_make(int64 rid, double pos1, double pos2); + +/* Conversion functions */ + +extern Npoint *geompoint_to_npoint(const GSERIALIZED *gs); +extern Nsegment *geom_to_nsegment(const GSERIALIZED *gs); +extern GSERIALIZED *npoint_to_geompoint(const Npoint *np); +extern Nsegment *npoint_to_nsegment(const Npoint *np); +extern STBox *npoint_to_stbox(const Npoint *np); +extern GSERIALIZED *nsegment_to_geom(const Nsegment *ns); +extern STBox *nsegment_to_stbox(const Nsegment *np); + +/* Accessor functions */ + +extern uint32 npoint_hash(const Npoint *np); +extern uint64 npoint_hash_extended(const Npoint *np, uint64 seed); +extern double npoint_position(const Npoint *np); +extern int64 npoint_route(const Npoint *np); +extern double nsegment_end_position(const Nsegment *ns); +extern int64 nsegment_route(const Nsegment *ns); +extern double nsegment_start_position(const Nsegment *ns); + +/* Route functions */ + +extern bool route_exists(int64 rid); +extern const GSERIALIZED *route_geom(int64 rid); +extern double route_length(int64 rid); + +/* Transformation functions */ + +extern Npoint *npoint_round(const Npoint *np, int maxdd); +extern Nsegment *nsegment_round(const Nsegment *ns, int maxdd); + +/* Spatial reference system functions */ + +extern int32_t get_srid_ways(void); +extern int32_t npoint_srid(const Npoint *np); +extern int32_t nsegment_srid(const Nsegment *ns); + +/* Bounding box functions */ + +extern STBox *npoint_timestamptz_to_stbox(const Npoint *np, TimestampTz t); +extern STBox *npoint_tstzspan_to_stbox(const Npoint *np, const Span *s); + +/* Comparison functions */ + +extern int npoint_cmp(const Npoint *np1, const Npoint *np2); +extern bool npoint_eq(const Npoint *np1, const Npoint *np2); +extern bool npoint_ge(const Npoint *np1, const Npoint *np2); +extern bool npoint_gt(const Npoint *np1, const Npoint *np2); +extern bool npoint_le(const Npoint *np1, const Npoint *np2); +extern bool npoint_lt(const Npoint *np1, const Npoint *np2); +extern bool npoint_ne(const Npoint *np1, const Npoint *np2); +extern bool npoint_same(const Npoint *np1, const Npoint *np2); +extern int nsegment_cmp(const Nsegment *ns1, const Nsegment *ns2); +extern bool nsegment_eq(const Nsegment *ns1, const Nsegment *ns2); +extern bool nsegment_ge(const Nsegment *ns1, const Nsegment *ns2); +extern bool nsegment_gt(const Nsegment *ns1, const Nsegment *ns2); +extern bool nsegment_le(const Nsegment *ns1, const Nsegment *ns2); +extern bool nsegment_lt(const Nsegment *ns1, const Nsegment *ns2); +extern bool nsegment_ne(const Nsegment *ns1, const Nsegment *ns2); + +/****************************************************************************** + * Functions for network point sets + ******************************************************************************/ + +/* Input and output functions */ + +extern Set *npointset_in(const char *str); +extern char *npointset_out(const Set *s, int maxdd); + +/* Constructor functions */ + +extern Set *npointset_make(Npoint **values, int count); + +/* Conversion functions */ + +extern Set *npoint_to_set(const Npoint *np); + +/* Accessor functions */ + +extern Npoint *npointset_end_value(const Set *s); +extern Set *npointset_routes(const Set *s); +extern Npoint *npointset_start_value(const Set *s); +extern bool npointset_value_n(const Set *s, int n, Npoint **result); +extern Npoint **npointset_values(const Set *s); + +/* Set operations */ + +extern bool contained_npoint_set(const Npoint *np, const Set *s); +extern bool contains_set_npoint(const Set *s, const Npoint *np); +extern Set *intersection_npoint_set(const Npoint *np, const Set *s); +extern Set *intersection_set_npoint(const Set *s, const Npoint *np); +extern Set *minus_npoint_set(const Npoint *np, const Set *s); +extern Set *minus_set_npoint(const Set *s, const Npoint *np); +extern Set *npoint_union_transfn(Set *state, const Npoint *np); +extern Set *union_npoint_set(const Npoint *np, const Set *s); +extern Set *union_set_npoint(const Set *s, const Npoint *np); + +/*===========================================================================* + * Functions for temporal network points + *===========================================================================*/ + +/***************************************************************************** + * Input/output functions + *****************************************************************************/ + +extern Temporal *tnpoint_in(const char *str); +extern Temporal *tnpoint_from_mfjson(const char *mfjson); +extern char *tnpoint_out(const Temporal *temp, int maxdd); + +/***************************************************************************** + * Constructor functions + *****************************************************************************/ + +extern TInstant *tnpointinst_make(const Npoint *np, TimestampTz t); + +/***************************************************************************** + * Conversion functions + *****************************************************************************/ + +extern Temporal *tgeompoint_to_tnpoint(const Temporal *temp); +extern Temporal *tnpoint_to_tgeompoint(const Temporal *temp); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +extern Temporal *tnpoint_cumulative_length(const Temporal *temp); +extern double tnpoint_length(const Temporal *temp); +extern Nsegment **tnpoint_positions(const Temporal *temp, int *count); +extern int64 tnpoint_route(const Temporal *temp); +extern Set *tnpoint_routes(const Temporal *temp); +extern Temporal *tnpoint_speed(const Temporal *temp); +extern GSERIALIZED *tnpoint_trajectory(const Temporal *temp); +extern GSERIALIZED *tnpoint_twcentroid(const Temporal *temp); + +/***************************************************************************** + * Restriction functions + *****************************************************************************/ + +extern Temporal *tnpoint_at_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tnpoint_at_npoint(const Temporal *temp, const Npoint *np); +extern Temporal *tnpoint_at_npointset(const Temporal *temp, const Set *s); +extern Temporal *tnpoint_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tnpoint_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tnpoint_minus_npoint(const Temporal *temp, const Npoint *np); +extern Temporal *tnpoint_minus_npointset(const Temporal *temp, const Set *s); +extern Temporal *tnpoint_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +extern Temporal *tdistance_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern Temporal *tdistance_tnpoint_point(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdistance_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); +extern double nad_tnpoint_geo(const Temporal *temp, const GSERIALIZED *gs); +extern double nad_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern double nad_tnpoint_stbox(const Temporal *temp, const STBox *box); +extern double nad_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_tnpoint_geo(const Temporal *temp, const GSERIALIZED *gs); +extern TInstant *nai_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern TInstant *nai_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_tnpoint_geo(const Temporal *temp, const GSERIALIZED *gs); +extern GSERIALIZED *shortestline_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern GSERIALIZED *shortestline_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Aggregate functions + *****************************************************************************/ + +extern SkipList *tnpoint_tcentroid_transfn(SkipList *state, Temporal *temp); + +/***************************************************************************** + * Comparison functions + *****************************************************************************/ + +/* Ever/always comparisons */ + +extern int always_eq_npoint_tnpoint(const Npoint *np, const Temporal *temp); +extern int always_eq_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern int always_eq_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_npoint_tnpoint(const Npoint *np, const Temporal *temp); +extern int always_ne_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern int always_ne_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_npoint_tnpoint(const Npoint *np, const Temporal *temp); +extern int ever_eq_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern int ever_eq_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_npoint_tnpoint(const Npoint *np, const Temporal *temp); +extern int ever_ne_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern int ever_ne_tnpoint_tnpoint(const Temporal *temp1, const Temporal *temp2); + +/* Temporal comparisons */ + +extern Temporal *teq_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern Temporal *tne_tnpoint_npoint(const Temporal *temp, const Npoint *np); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_pose.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_pose.h new file mode 100644 index 000000000..c9709cef9 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_pose.h @@ -0,0 +1,305 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief External API of the Mobility Engine Open Source (MEOS) library + */ + +#ifndef __MEOS_POSE_H__ +#define __MEOS_POSE_H__ + +/* C */ +#include +#include +/* MEOS */ +#include +#include + +/***************************************************************************** + * Struct definitions + *****************************************************************************/ + +/** + * Opaque structure to represent pose values + */ +typedef struct Pose Pose; + +/***************************************************************************** + * Validity macros + *****************************************************************************/ + +/** + * @brief Macro for ensuring that the set passed as argument is a pose set + */ +#if MEOS + #define VALIDATE_POSESET(set, ret) \ + do { \ + if (! ensure_not_null((void *) set) || \ + ! ensure_set_isof_type((set), T_POSESET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_POSESET(set, ret) \ + do { \ + assert(set); \ + assert((set)->settype == T_POSESET); \ + } while (0) +#endif + +/** + * @brief Macro for ensuring that the temporal value passed as argument is a + * temporal pose + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TPOSE(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TPOSE) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TPOSE(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TPOSE); \ + } while (0) +#endif + +/****************************************************************************** + * Functions for poses + ******************************************************************************/ + +/* Input and output functions */ + +extern char *pose_as_ewkt(const Pose *pose, int maxdd); +extern char *pose_as_hexwkb(const Pose *pose, uint8_t variant, size_t *size); +extern char *pose_as_text(const Pose *pose, int maxdd); +extern uint8_t *pose_as_wkb(const Pose *pose, uint8_t variant, size_t *size_out); +extern Pose *pose_from_wkb(const uint8_t *wkb, size_t size); +extern Pose *pose_from_hexwkb(const char *hexwkb); +extern Pose *pose_in(const char *str); +extern char *pose_out(const Pose *pose, int maxdd); + +/* Constructor functions */ + +extern Pose *pose_copy(const Pose *pose); +extern Pose *pose_make_2d(double x, double y, double theta, int32_t srid); +extern Pose *pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int32_t srid); +extern Pose *pose_make_point2d(const GSERIALIZED *gs, double theta); +extern Pose *pose_make_point3d(const GSERIALIZED *gs, double W, double X, double Y, double Z); + +/* Conversion functions */ + +extern GSERIALIZED *pose_to_point(const Pose *pose); +extern STBox *pose_to_stbox(const Pose *pose); + +/* Accessor functions */ + +extern uint32 pose_hash(const Pose *pose); +extern uint64 pose_hash_extended(const Pose *pose, uint64 seed); +extern double *pose_orientation(const Pose *pose); +extern double pose_rotation(const Pose *pose); + +/* Transformation functions */ + +extern Pose *pose_round(const Pose *pose, int maxdd); +extern Pose **posearr_round(const Pose **posearr, int count, int maxdd); + +/* Spatial reference system functions */ + +extern void pose_set_srid(Pose *pose, int32_t srid); +extern int32_t pose_srid(const Pose *pose); +extern Pose *pose_transform(const Pose *pose, int32_t srid); +extern Pose *pose_transform_pipeline(const Pose *pose, const char *pipelinestr, int32_t srid, bool is_forward); + +/* Bounding box functions */ + +extern STBox *pose_tstzspan_to_stbox(const Pose *pose, const Span *s); +extern STBox *pose_timestamptz_to_stbox(const Pose *pose, TimestampTz t); + +/* Distance functions */ + +extern double distance_pose_geo(const Pose *pose, const GSERIALIZED *gs); +extern double distance_pose_pose(const Pose *pose1, const Pose *pose2); +extern double distance_pose_stbox(const Pose *pose, const STBox *box); + +/* Comparison functions */ + +extern int pose_cmp(const Pose *pose1, const Pose *pose2); +extern bool pose_eq(const Pose *pose1, const Pose *pose2); +extern bool pose_ge(const Pose *pose1, const Pose *pose2); +extern bool pose_gt(const Pose *pose1, const Pose *pose2); +extern bool pose_le(const Pose *pose1, const Pose *pose2); +extern bool pose_lt(const Pose *pose1, const Pose *pose2); +extern bool pose_ne(const Pose *pose1, const Pose *pose2); +extern bool pose_nsame(const Pose *pose1, const Pose *pose2); +extern bool pose_same(const Pose *pose1, const Pose *pose2); + +/****************************************************************************** + * Functions for pose sets + ******************************************************************************/ + +/* Input and output functions */ + +extern Set *poseset_in(const char *str); +extern char *poseset_out(const Set *s, int maxdd); + +/* Constructor functions */ + +extern Set *poseset_make(const Pose **values, int count); + +/* Conversion functions */ + +extern Set *pose_to_set(const Pose *pose); + +/* Accessor functions */ + +extern Pose *poseset_end_value(const Set *s); +extern Pose *poseset_start_value(const Set *s); +extern bool poseset_value_n(const Set *s, int n, Pose **result); +extern Pose **poseset_values(const Set *s); + +/* Set operations */ + +extern bool contained_pose_set(const Pose *pose, const Set *s); +extern bool contains_set_pose(const Set *s, Pose *pose); +extern Set *intersection_pose_set(const Pose *pose, const Set *s); +extern Set *intersection_set_pose(const Set *s, const Pose *pose); +extern Set *minus_pose_set(const Pose *pose, const Set *s); +extern Set *minus_set_pose(const Set *s, const Pose *pose); +extern Set *pose_union_transfn(Set *state, const Pose *pose); +extern Set *union_pose_set(const Pose *pose, const Set *s); +extern Set *union_set_pose(const Set *s, const Pose *pose); + +/*===========================================================================* + * Functions for temporal poses + *===========================================================================*/ + +/***************************************************************************** + * Input/output functions + *****************************************************************************/ + +Temporal *tpose_in(const char *str); + +/***************************************************************************** + * Constructor functions + *****************************************************************************/ + + +/***************************************************************************** + * Conversion functions + *****************************************************************************/ + +extern Temporal *tpose_make(const Temporal *tpoint, const Temporal *tradius); +extern Temporal *tpose_to_tpoint(const Temporal *temp); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +extern Pose *tpose_end_value(const Temporal *temp); +extern Set *tpose_points(const Temporal *temp); +// extern Temporal *tpose_orientation(const Temporal *temp); +extern Temporal *tpose_rotation(const Temporal *temp); +extern Pose *tpose_start_value(const Temporal *temp); +extern GSERIALIZED *tpose_trajectory(const Temporal *temp); +extern bool tpose_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, Pose **value); +extern bool tpose_value_n(const Temporal *temp, int n, Pose **result); +extern Pose **tpose_values(const Temporal *temp, int *count); + +/***************************************************************************** + * Restriction functions + *****************************************************************************/ + +extern Temporal *tpose_at_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tpose_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tpose_at_pose(const Temporal *temp, const Pose *pose); +extern Temporal *tpose_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tpose_minus_pose(const Temporal *temp, const Pose *pose); +extern Temporal *tpose_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +extern Temporal *tdistance_tpose_pose(const Temporal *temp, const Pose *pose); +extern Temporal *tdistance_tpose_point(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdistance_tpose_tpose(const Temporal *temp1, const Temporal *temp2); +extern double nad_tpose_geo(const Temporal *temp, const GSERIALIZED *gs); +extern double nad_tpose_pose(const Temporal *temp, const Pose *pose); +extern double nad_tpose_stbox(const Temporal *temp, const STBox *box); +extern double nad_tpose_tpose(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_tpose_geo(const Temporal *temp, const GSERIALIZED *gs); +extern TInstant *nai_tpose_pose(const Temporal *temp, const Pose *pose); +extern TInstant *nai_tpose_tpose(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_tpose_geo(const Temporal *temp, const GSERIALIZED *gs); +extern GSERIALIZED *shortestline_tpose_pose(const Temporal *temp, const Pose *pose); +extern GSERIALIZED *shortestline_tpose_tpose(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Comparison functions + *****************************************************************************/ + +/* Ever/always and temporal comparison functions */ + +extern int always_eq_pose_tpose(const Pose *pose, const Temporal *temp); +extern int always_eq_tpose_pose(const Temporal *temp, const Pose *pose); +extern int always_eq_tpose_tpose(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_pose_tpose(const Pose *pose, const Temporal *temp); +extern int always_ne_tpose_pose(const Temporal *temp, const Pose *pose); +extern int always_ne_tpose_tpose(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_pose_tpose(const Pose *pose, const Temporal *temp); +extern int ever_eq_tpose_pose(const Temporal *temp, const Pose *pose); +extern int ever_eq_tpose_tpose(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_pose_tpose(const Pose *pose, const Temporal *temp); +extern int ever_ne_tpose_pose(const Temporal *temp, const Pose *pose); +extern int ever_ne_tpose_tpose(const Temporal *temp1, const Temporal *temp2); + +/*****************************************************************************/ + +extern Temporal *teq_pose_tpose(const Pose *pose, const Temporal *temp); +extern Temporal *teq_tpose_pose(const Temporal *temp, const Pose *pose); +extern Temporal *tne_pose_tpose(const Pose *pose, const Temporal *temp); +extern Temporal *tne_tpose_pose(const Temporal *temp, const Pose *pose); + +/*****************************************************************************/ + +/* Ever and always spatial relationship functions */ + + +/*****************************************************************************/ + +/* Spatiotemporal relationship functions */ + + +/*****************************************************************************/ + +#endif /* __MEOS_POSE_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_rgeo.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_rgeo.h new file mode 100644 index 000000000..bcfc7f4a5 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_rgeo.h @@ -0,0 +1,206 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURRGEO. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief External API of the Mobility Engine Open Source (MEOS) library + */ + +#ifndef __MEOS_RGEO_H__ +#define __MEOS_RGEO_H__ + +/* C */ +#include +/* MEOS */ +#include +#include +#include + +/***************************************************************************** + * Validity macros + *****************************************************************************/ + +/** + * @brief Macro for ensuring that the temporal value passed as argument is a + * temporal rigid geometry + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TRGEOMETRY(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TRGEOMETRY) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TRGEOMETRY(temp, ret) \ + do { \ + assert(temp); \ + assert(((Temporal *) (temp))->temptype == T_TRGEOMETRY); \ + } while (0) +#endif + +/*===========================================================================* + * Functions for temporal rigid geometries + *===========================================================================*/ + +/***************************************************************************** + * Input/output functions + *****************************************************************************/ + +extern char *trgeo_out(const Temporal *temp); + +/***************************************************************************** + * Constructor functions + *****************************************************************************/ + +extern TInstant *trgeoinst_make(const GSERIALIZED *geom, const Pose *pose, TimestampTz t); +extern Temporal *geo_tpose_to_trgeo(const GSERIALIZED *gs, const Temporal *temp); + +/***************************************************************************** + * Conversion functions + *****************************************************************************/ + +extern Temporal *trgeo_to_tpose(const Temporal *temp); +extern Temporal *trgeo_to_tpoint(const Temporal *temp); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +extern TInstant *trgeo_end_instant(const Temporal *temp); +extern TSequence *trgeo_end_sequence(const Temporal *temp); +extern GSERIALIZED *trgeo_end_value(const Temporal *temp); +extern GSERIALIZED *trgeo_geom(const Temporal *temp); +extern TInstant *trgeo_instant_n(const Temporal *temp, int n); +extern TInstant **trgeo_instants(const Temporal *temp, int *count); +extern Set *trgeo_points(const Temporal *temp); +extern Temporal *trgeo_rotation(const Temporal *temp); +extern TSequence **trgeo_segments(const Temporal *temp, int *count); +extern TSequence *trgeo_sequence_n(const Temporal *temp, int i); +extern TSequence **trgeo_sequences(const Temporal *temp, int *count); +extern TInstant *trgeo_start_instant(const Temporal *temp); +extern TSequence *trgeo_start_sequence(const Temporal *temp); +extern GSERIALIZED *trgeo_start_value(const Temporal *temp); +extern bool trgeo_value_n(const Temporal *temp, int n, GSERIALIZED **result); +extern GSERIALIZED *trgeo_traversed_area(const Temporal *temp, bool unary_union); + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +extern Temporal *trgeo_append_tinstant(Temporal *temp, const TInstant *inst, interpType interp, double maxdist, const Interval *maxt, bool expand); +extern Temporal *trgeo_append_tsequence(Temporal *temp, const TSequence *seq, bool expand); +extern Temporal *trgeo_delete_timestamptz(const Temporal *temp, TimestampTz t, bool connect); +extern Temporal *trgeo_delete_tstzset(const Temporal *temp, const Set *s, bool connect); +extern Temporal *trgeo_delete_tstzspan(const Temporal *temp, const Span *s, bool connect); +extern Temporal *trgeo_delete_tstzspanset(const Temporal *temp, const SpanSet *ss, bool connect); +extern Temporal *trgeo_round(const Temporal *temp, int maxdd); +extern Temporal *trgeo_set_interp(const Temporal *temp, interpType interp); +extern TInstant *trgeo_to_tinstant(const Temporal *temp); + +/***************************************************************************** + * Restriction functions + *****************************************************************************/ + +extern Temporal *trgeo_after_timestamptz(const Temporal *temp, TimestampTz t, bool strict); +extern Temporal *trgeo_before_timestamptz(const Temporal *temp, TimestampTz t, bool strict); + +extern Temporal *trgeo_restrict_value(const Temporal *temp, Datum value, bool atfunc); +extern Temporal *trgeo_restrict_values(const Temporal *temp, const Set *s, bool atfunc); + +extern Temporal *trgeo_restrict_timestamptz(const Temporal *temp, TimestampTz t, bool atfunc); +extern Temporal *trgeo_restrict_tstzset(const Temporal *temp, const Set *s, bool atfunc); +extern Temporal *trgeo_restrict_tstzspan(const Temporal *temp, const Span *s, bool atfunc); +extern Temporal *trgeo_restrict_tstzspanset(const Temporal *temp, const SpanSet *ss, bool atfunc); + +// extern Temporal *trgeo_at_geom(const Temporal *temp, const GSERIALIZED *gs); +// extern Temporal *trgeo_at_geo(const Temporal *temp, const GSERIALIZED *gs); +// extern Temporal *trgeo_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); +// extern Temporal *trgeo_at_elevation(const Temporal *temp, const Span *s); +// extern Temporal *trgeo_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +// extern Temporal *trgeo_minus_geo(const Temporal *temp, const GSERIALIZED *gs); +// extern Temporal *trgeo_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); +// extern Temporal *trgeo_minus_elevation(const Temporal *temp, const Span *s); + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +extern Temporal *tdistance_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdistance_trgeo_tpoint(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tdistance_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern double nad_stbox_trgeo(const STBox *box, const Temporal *temp); +extern double nad_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern double nad_trgeo_stbox(const Temporal *temp, const STBox *box); +extern double nad_trgeo_tpoint(const Temporal *temp1, const Temporal *temp2); +extern double nad_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern TInstant *nai_trgeo_tpoint(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern GSERIALIZED *shortestline_trgeo_tpoint(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); + +/***************************************************************************** + * Comparison functions + *****************************************************************************/ + +/* Ever/always and temporal comparison functions */ + +extern int always_eq_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int always_eq_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int always_eq_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int always_ne_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int always_ne_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ever_eq_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ever_eq_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ever_ne_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ever_ne_trgeo_trgeo(const Temporal *temp1, const Temporal *temp2); +extern Temporal *teq_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *teq_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tne_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tne_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs); + +/*****************************************************************************/ + +/* Ever and always spatial relationship functions */ + + +/*****************************************************************************/ + +/* Spatiotemporal relationship functions */ + + +/*****************************************************************************/ + +#endif /* __MEOS_RGEO_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/meos_tls.h b/jmeos-core/tools/parity/meos-ref/meos/include/meos_tls.h new file mode 100644 index 000000000..ded25d8df --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/meos_tls.h @@ -0,0 +1,60 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2026, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Thread-local-storage qualifier macro used by MEOS to mark + * per-thread state. Kept in a stand-alone header so that vendored + * PostgreSQL headers (e.g. pgtime.h) can pick it up without pulling in + * the full meos.h. + */ + +#ifndef __MEOS_TLS_H__ +#define __MEOS_TLS_H__ + +/* + * Thread-local storage qualifier. C11 _Thread_local is supported by GCC, + * Clang, and MSVC 2019 16.10+; older compilers fall back to vendor + * extensions. If none of these is available the macro expands to + * nothing and MEOS state remains process-global (legacy behaviour). + */ +#if defined(__cplusplus) && __cplusplus >= 201103L +#define MEOS_TLS thread_local +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && \ + !defined(__STDC_NO_THREADS__) +#define MEOS_TLS _Thread_local +#elif defined(_MSC_VER) +#define MEOS_TLS __declspec(thread) +#elif defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER) +#define MEOS_TLS __thread +#else +#define MEOS_TLS /* not supported; falls back to non-thread-safe globals */ +#endif + +#endif /* __MEOS_TLS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_internal_npoint.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_internal_npoint.h new file mode 100644 index 000000000..4c0b46b0f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_internal_npoint.h @@ -0,0 +1,116 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_internal_npoint_base Functions for static network points + * @ingroup meos_internal_npoint + * @brief Functions for static network points + * + * @defgroup meos_internal_npoint_set Functions for network point sets + * @ingroup meos_internal_npoint + * @brief Functions for network point sets + * + * @defgroup meos_internal_npoint_inout Input and output functions + * @ingroup meos_internal_npoint + * @brief Input and output functions for temporal network points + * + * @defgroup meos_internal_npoint_conversion Conversion functions + * @ingroup meos_internal_npoint + * @brief Conversion functions for temporal network points + * + * @defgroup meos_internal_npoint_accessor Accessor functions + * @ingroup meos_internal_npoint + * @brief Accessor functions for temporal network points + * + * @defgroup meos_internal_npoint_restrict Restriction functions + * @ingroup meos_internal_npoint + * @brief Restriction functions for temporal network points + * + * @defgroup meos_internal_npoint_dist Distance functions + * @ingroup meos_internal_npoint + * @brief Distance functions for temporal network points + * + * @defgroup meos_internal_npoint_agg Aggregate functions + * @ingroup meos_internal_npoint + * @brief Aggregate functions for temporal network points + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_npoint_base_inout Input and output functions + * @ingroup meos_internal_npoint_base + * @brief Input and output functions for static network points + * + * @defgroup meos_internal_npoint_base_constructor Constructor functions + * @ingroup meos_internal_npoint_base + * @brief Constructor functions for static network points + * + * @defgroup meos_internal_npoint_base_conversion Conversion functions + * @ingroup meos_internal_npoint_base + * @brief Conversion functions for static network points + * + * @defgroup meos_internal_npoint_base_accessor Accessor functions + * @ingroup meos_internal_npoint_base + * @brief Accessor functions for static network points + * + * @defgroup meos_internal_npoint_base_transf Transformation functions + * @ingroup meos_internal_npoint_base + * @brief Transformation functions for static network points + * + * @defgroup meos_internal_npoint_base_comp Comparison functions + * @ingroup meos_internal_npoint_base + * @brief Comparison functions for static network points + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_npoint_set_inout Input and output functions + * @ingroup meos_internal_npoint_set + * @brief Input and output functions for network point sets + * + * @defgroup meos_internal_npoint_set_constructor Constructor functions + * @ingroup meos_internal_npoint_set + * @brief Constructor functions for network point sets + * + * @defgroup meos_internal_npoint_set_conversion Conversion functions + * @ingroup meos_internal_npoint_set + * @brief Conversion functions for network point sets + * + * @defgroup meos_internal_npoint_set_accessor Accessor functions + * @ingroup meos_internal_npoint_set + * @brief Accessor functions for network point sets + * + * @defgroup meos_internal_npoint_set_setops Set operations + * @ingroup meos_internal_npoint_set + * @brief Set operations for network point sets + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_npoint.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_npoint.h new file mode 100644 index 000000000..e7c1c10ac --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/doxygen_meos_npoint.h @@ -0,0 +1,136 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_npoint_base Functions for static network points + * @ingroup meos_npoint + * @brief Functions for static network points + * + * @defgroup meos_npoint_set Functions for network point sets + * @ingroup meos_npoint + * @brief Functions for network point sets + * + * @defgroup meos_npoint_inout Input and output functions + * @ingroup meos_npoint + * @brief Input and output functions for temporal network points + * + * @defgroup meos_npoint_conversion Conversion functions + * @ingroup meos_npoint + * @brief Conversion functions for temporal network points + * + * @defgroup meos_npoint_accessor Accessor functions + * @ingroup meos_npoint + * @brief Accessor functions for temporal network points + * + * @defgroup meos_npoint_restrict Restriction functions + * @ingroup meos_npoint + * @brief Restriction functions for temporal network points + * + * @defgroup meos_npoint_dist Distance functions + * @ingroup meos_npoint + * @brief Distance functions for temporal network points + * + * @defgroup meos_npoint_agg Aggregate functions + * @ingroup meos_npoint + * @brief Aggregate functions for temporal network points + * + * @defgroup meos_npoint_comp Comparison functions + * @ingroup meos_npoint + * @brief Comparison functions for temporal network points + * + * @defgroup meos_npoint_comp_ever Ever and always comparison functions + * @ingroup meos_npoint_comp + * @brief Ever and always comparison functions for temporal network points + * + * @defgroup meos_npoint_comp_temp Temporal comparison functions + * @ingroup meos_npoint_comp + * @brief Temporal comparison functions for temporal network points + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_npoint_base_inout Input and output functions + * @ingroup meos_npoint_base + * @brief Input and output functions for static network points + * + * @defgroup meos_npoint_base_constructor Constructor functions + * @ingroup meos_npoint_base + * @brief Constructor functions for static network points + * + * @defgroup meos_npoint_base_conversion Conversion functions + * @ingroup meos_npoint_base + * @brief Conversion functions for static network points + * + * @defgroup meos_npoint_base_accessor Accessor functions + * @ingroup meos_npoint_base + * @brief Accessor functions for static network points + * + * @defgroup meos_npoint_base_route Route functions + * @ingroup meos_npoint_base + * @brief Route functions for static network points + * + * @defgroup meos_npoint_base_transf Transformation functions + * @ingroup meos_npoint_base + * @brief Transformation functions for static network points + * + * @defgroup meos_npoint_base_srid Spatial reference system functions + * @ingroup meos_npoint_base + * @brief Spatial reference system functions for static network points + * + * @defgroup meos_npoint_base_comp Comparison functions + * @ingroup meos_npoint_base + * @brief Comparison functions for static network points + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_npoint_set_inout Input and output functions + * @ingroup meos_npoint_set + * @brief Input and output functions for network point sets + * + * @defgroup meos_npoint_set_constructor Constructor functions + * @ingroup meos_npoint_set + * @brief Constructor functions for network point sets + * + * @defgroup meos_npoint_set_conversion Conversion functions + * @ingroup meos_npoint_set + * @brief Conversion functions for network point sets + * + * @defgroup meos_npoint_set_accessor Accessor functions + * @ingroup meos_npoint_set + * @brief Accessor functions for network point sets + * + * @defgroup meos_npoint_set_setops Set operations + * @ingroup meos_npoint_set + * @brief Set operations for network point sets + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint.h new file mode 100644 index 000000000..47768dd6f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint.h @@ -0,0 +1,153 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for temporal network points. + */ + +#ifndef __TNPOINT_H__ +#define __TNPOINT_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/***************************************************************************** + * fmgr macros + *****************************************************************************/ + +/* Npoint */ +#define DatumGetNpointP(X) ((Npoint *) DatumGetPointer(X)) +#define NpointPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_NPOINT_P(X) DatumGetNpointP(PG_GETARG_DATUM(X)) +#define PG_RETURN_NPOINT_P(X) PG_RETURN_POINTER(X) + +/* Nsegment */ +#define DatumGetNsegmentP(X) ((Nsegment *) DatumGetPointer(X)) +#define NsegmentPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_NSEGMENT_P(X) DatumGetNsegmentP(PG_GETARG_DATUM(X)) +#define PG_RETURN_NSEGMENT_P(X) PG_RETURN_POINTER(X) + +/***************************************************************************** + * Npoint functions + *****************************************************************************/ + +/* Validity functions */ + +extern bool ensure_valid_tnpoint_npoint(const Temporal *temp, + const Npoint *np); +extern bool ensure_valid_tnpoint_npointset(const Temporal *temp, const Set *s); +extern bool ensure_valid_tnpoint_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_valid_tnpoint_stbox(const Temporal *temp, const STBox *box); +extern bool ensure_valid_tnpoint_tnpoint(const Temporal *temp1, + const Temporal *temp2); + +extern int tnpointsegm_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); + +extern bool common_rid_tnpoint_npoint(const Temporal *temp, const Npoint *np); +extern bool common_rid_tnpoint_npointset(const Temporal *temp, const Set *s); +extern bool common_rid_tnpoint_tnpoint(const Temporal *temp1, + const Temporal *temp2); + +/* Collinear functions */ + +extern bool npoint_collinear(const Npoint *np1, const Npoint *np2, + const Npoint *np3, double ratio); + +/* Interpolation functions */ + +extern Npoint *npointsegm_interpolate(const Npoint *start, const Npoint *end, + long double ratio); +extern long double npointsegm_locate(const Npoint *start, const Npoint *end, + const Npoint *value); + +/* General functions */ + +extern GSERIALIZED *npointarr_geom(Npoint **points, int count); +extern GSERIALIZED *nsegmentarr_geom(Nsegment **segments, int count); +extern Nsegment **nsegmentarr_normalize(Nsegment **segments, int *count); + +/* Input/output functions */ + +extern char *npoint_wkt_out(Datum value, int maxdd); + +/* Constructor functions */ + +extern void npoint_set(int64 rid, double pos, Npoint *np); +extern void nsegment_set(int64 rid, double pos1, double pos2, Nsegment *ns); + +/* Transformation functions */ + +extern Datum datum_npoint_round(Datum npoint, Datum size); + +/***************************************************************************** + * Temporal network point functions + *****************************************************************************/ + +/* Input/output functions */ + +/* Conversion functions */ + +extern TInstant *tnpointinst_tgeompointinst(const TInstant *inst); +extern TSequence *tnpointseq_tgeompointseq_disc(const TSequence *is); +extern TSequence *tnpointseq_tgeompointseq_cont(const TSequence *seq); +extern TSequenceSet *tnpointseqset_tgeompointseqset(const TSequenceSet *ss); + +extern TInstant *tgeompointinst_tnpointinst(const TInstant *inst); +extern TSequence *tgeompointseq_tnpointseq(const TSequence *seq); +extern TSequenceSet *tgeompointseqset_tnpointseqset(const TSequenceSet *ss); + +/* Accessor functions */ + +extern Nsegment **tnpointinst_positions(const TInstant *inst); +extern Nsegment **tnpointseq_positions(const TSequence *seq, int *count); +extern Nsegment **tnpointseqset_positions(const TSequenceSet *ss, int *count); +extern int64 tnpointinst_route(const TInstant *inst); +extern Set *tnpointinst_routes(const TInstant *inst); +extern Set *tnpointseq_disc_routes(const TSequence *is); +extern Set *tnpointseq_cont_routes(const TSequence *seq); +extern Set *tnpointseqset_routes(const TSequenceSet *ss); + +extern Nsegment *tnpointseq_linear_positions(const TSequence *seq); + +extern Temporal *tnpoint_restrict_stbox(const Temporal *temp, const STBox *box, + bool border_inc, bool atfunc); +extern Temporal *tnpoint_restrict_npoint(const Temporal *temp, const Npoint + *np, bool atfunc); +extern Temporal *tnpoint_restrict_npointset(const Temporal *temp, const Set *s, + bool atfunc); + +/*****************************************************************************/ + +#endif /* __TNPOINT_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_boxops.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_boxops.h new file mode 100644 index 000000000..18370faeb --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_boxops.h @@ -0,0 +1,60 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Bounding box operators for temporal network points. + */ + +#ifndef __TNPOINT_BOXOPS_H__ +#define __TNPOINT_BOXOPS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "npoint/tnpoint.h" + +/*****************************************************************************/ + +extern bool npoint_set_stbox(const Npoint *np, STBox *box); +extern void npointarr_set_stbox(const Datum *values, int count, STBox *box); +extern bool nsegment_set_stbox(const Nsegment *ns, STBox *box); +extern bool npoint_timestamptz_set_stbox(const Npoint *np, TimestampTz t, + STBox *box); +extern bool npoint_tstzspan_set_stbox(const Npoint *np, const Span *s, + STBox *box); + +extern void tnpointinst_set_stbox(const TInstant *inst, STBox *box); +extern void tnpointinstarr_set_stbox(TInstant **inst, int count, + interpType interp, STBox *box); +extern void tnpointseq_expand_stbox(const TSequence *seq, const TInstant *inst); + +/*****************************************************************************/ + +#endif /* __TNPOINT_BOXOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_distance.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_distance.h new file mode 100644 index 000000000..1a7ece4aa --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_distance.h @@ -0,0 +1,48 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal distance for temporal circular buffers. + */ + +#ifndef __TNPOINT_DISTANCE_H__ +#define __TNPOINT_DISTANCE_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern Datum datum_npoint_distance(Datum np1, Datum np2); + +/*****************************************************************************/ + +#endif /* __TNPOINT_DISTANCE_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_parser.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_parser.h new file mode 100644 index 000000000..056410012 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_parser.h @@ -0,0 +1,47 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for parsing static and temporal network points. + */ + +#ifndef __TNPOINT_PARSER_H__ +#define __TNPOINT_PARSER_H__ + +/* MEOS */ +#include "npoint/tnpoint.h" + +/*****************************************************************************/ + +extern Npoint *npoint_parse(const char **str, bool end); +extern Nsegment *nsegment_parse(const char **str); + +/*****************************************************************************/ + +#endif /* __TNPOINT_PARSER_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_routeops.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_routeops.h new file mode 100644 index 000000000..d2c924512 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_routeops.h @@ -0,0 +1,79 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Route identifier operators for temporal network points. + */ + +#ifndef __TNPOINT_ROUTEOPS_H__ +#define __TNPOINT_ROUTEOPS_H__ + +/* PostgreSQL */ +#include +#if ! MEOS + #include +#endif /* ! MEOS */ +/* MEOS */ +#include "npoint/tnpoint.h" + +/*****************************************************************************/ + +extern bool contains_rid_tnpoint_bigint(const Temporal *temp, int64 rid, + bool invert UNUSED); +extern bool contained_rid_tnpoint_bigint(const Temporal *temp, int64 rid, + bool invert); +extern bool same_rid_tnpoint_bigint(const Temporal *temp, int64 rid, + bool invert UNUSED); +extern bool overlaps_rid_tnpoint_bigintset(const Temporal *temp, const Set *s, + bool invert UNUSED); +extern bool contains_rid_tnpoint_bigintset(const Temporal *temp, const Set *s, + bool invert); +extern bool contained_rid_tnpoint_bigintset(const Temporal *temp, const Set *s, + bool invert); +extern bool same_rid_tnpoint_bigintset(const Temporal *temp, const Set *s, + bool invert UNUSED); +extern bool contains_rid_tnpoint_npoint(const Temporal *temp, const Npoint *np, + bool invert UNUSED); +extern bool contained_rid_npoint_tnpoint(const Temporal *temp, const Npoint *np, + bool invert); +extern bool same_rid_tnpoint_npoint(const Temporal *temp, const Npoint *np, + bool invert UNUSED); +extern bool overlaps_rid_tnpoint_tnpoint(const Temporal *temp1, + const Temporal *temp2); +extern bool contains_rid_tnpoint_tnpoint(const Temporal *temp1, + const Temporal *temp2); +extern bool contained_rid_tnpoint_tnpoint(const Temporal *temp1, + const Temporal *temp2); +extern bool same_rid_tnpoint_tnpoint(const Temporal *temp1, + const Temporal *temp2); + +/*****************************************************************************/ + +#endif /* __TNPOINT_ROUTEOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_spatialfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_spatialfuncs.h new file mode 100644 index 000000000..f4cdcb0f2 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/npoint/tnpoint_spatialfuncs.h @@ -0,0 +1,61 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Geospatial functions for temporal network points. + */ + +#ifndef __TNPOINT_SPATIALFUNCS_H__ +#define __TNPOINT_SPATIALFUNCS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +/* Parameter tests */ + +extern bool ensure_same_rid_tnpointinst(const TInstant *inst1, + const TInstant *inst2); + +/* Restriction functions */ + +extern Temporal *tnpoint_restrict_geom(const Temporal *temp, + const GSERIALIZED *gs, bool atfunc); +extern Temporal *tnpoint_restrict_stbox(const Temporal *temp, const STBox *box, + bool border_inc, bool atfunc); + + +/*****************************************************************************/ + +#endif /* __TNPOINT_SPATIALFUNCS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_internal_pose.h b/jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_internal_pose.h new file mode 100644 index 000000000..77c36ea1b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_internal_pose.h @@ -0,0 +1,124 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_internal_pose_base Functions for static poses + * @ingroup meos_internal_pose + * @brief Functions for static poses + * + * @defgroup meos_internal_pose_set Functions for pose sets + * @ingroup meos_internal_pose + * @brief Functions for pose sets + * + * @defgroup meos_internal_pose_inout Input and output functions + * @ingroup meos_internal_pose + * @brief Input and output functions for temporal poses + * + * @defgroup meos_internal_pose_conversion Conversion functions + * @ingroup meos_internal_pose + * @brief Conversion functions for temporal poses + * + * @defgroup meos_internal_pose_accessor Accessor functions + * @ingroup meos_internal_pose + * @brief Accessor functions for temporal poses + * + * @defgroup meos_internal_pose_restrict Restriction functions + * @ingroup meos_internal_pose + * @brief Restriction functions for temporal poses + * + * @defgroup meos_internal_pose_comp Comparison functions + * @ingroup meos_internal_pose + * @brief Comparison functions for temporal poses + * + * @defgroup meos_internal_pose_comp_ever Ever and always comparison functions + * @ingroup meos_internal_pose_comp + * @brief Ever and always comparison functions for temporal poses + * + * @defgroup meos_internal_pose_comp_temp Temporal comparison functions + * @ingroup meos_internal_pose_comp + * @brief Temporal comparison functions for temporal poses + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_pose_base_inout Input and output functions + * @ingroup meos_internal_pose_base + * @brief Input and output functions for static poses + * + * @defgroup meos_internal_pose_base_constructor Constructor functions + * @ingroup meos_internal_pose_base + * @brief Constructor functions for static poses + * + * @defgroup meos_internal_pose_base_conversion Conversion functions + * @ingroup meos_internal_pose_base + * @brief Conversion functions for static poses + * + * @defgroup meos_internal_pose_base_accessor Accessor functions + * @ingroup meos_internal_pose_base + * @brief Accessor functions for static poses + * + * @defgroup meos_internal_pose_base_transf Transformation functions + * @ingroup meos_internal_pose_base + * @brief Transformation functions for static poses + * + * @defgroup meos_internal_pose_base_srid Spatial reference system functions + * @ingroup meos_internal_pose_base + * @brief Spatial reference system functions for static poses + * + * @defgroup meos_internal_pose_base_comp Comparison functions + * @ingroup meos_internal_pose_base + * @brief Comparison functions for static poses + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_pose_set_inout Input and output functions + * @ingroup meos_internal_pose_set + * @brief Input and output functions for pose sets + * + * @defgroup meos_internal_pose_set_constructor Constructor functions + * @ingroup meos_internal_pose_set + * @brief Constructor functions for pose sets + * + * @defgroup meos_internal_pose_set_conversion Conversion functions + * @ingroup meos_internal_pose_set + * @brief Conversion functions for pose sets + * + * @defgroup meos_internal_pose_set_accessor Accessor functions + * @ingroup meos_internal_pose_set + * @brief Accessor functions for pose sets + * + * @defgroup meos_internal_pose_set_setops Set operations + * @ingroup meos_internal_pose_set + * @brief Set operations for pose sets + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_pose.h b/jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_pose.h new file mode 100644 index 000000000..9fd5b02e3 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/pose/doxygen_meos_pose.h @@ -0,0 +1,136 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_pose_base Functions for static poses + * @ingroup meos_pose + * @brief Functions for static poses + * + * @defgroup meos_pose_set Functions for pose sets + * @ingroup meos_pose + * @brief Functions for pose sets + * + * @defgroup meos_pose_inout Input and output functions + * @ingroup meos_pose + * @brief Input and output functions for temporal poses + * + * @defgroup meos_geo_constructor Constructor functions + * @ingroup meos_geo + * @brief Constructor functions for temporal geometries + * + * @defgroup meos_pose_conversion Conversion functions + * @ingroup meos_pose + * @brief Conversion functions for temporal poses + * + * @defgroup meos_pose_accessor Accessor functions + * @ingroup meos_pose + * @brief Accessor functions for temporal poses + * + * @defgroup meos_pose_restrict Restriction functions + * @ingroup meos_pose + * @brief Restriction functions for temporal poses + * + * @defgroup meos_pose_comp Comparison functions + * @ingroup meos_pose + * @brief Comparison functions for temporal poses + * + * @defgroup meos_pose_comp_ever Ever and always comparison functions + * @ingroup meos_pose_comp + * @brief Ever and always comparison functions for temporal poses + * + * @defgroup meos_pose_comp_temp Temporal comparison functions + * @ingroup meos_pose_comp + * @brief Temporal comparison functions for temporal poses + * + * @defgroup meos_pose_distance Distance functions + * @ingroup meos_pose + * @brief Distance functions for temporal poses + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_pose_base_inout Input and output functions + * @ingroup meos_pose_base + * @brief Input and output functions for static poses + * + * @defgroup meos_pose_base_constructor Constructor functions + * @ingroup meos_pose_base + * @brief Constructor functions for static poses + * + * @defgroup meos_pose_base_conversion Conversion functions + * @ingroup meos_pose_base + * @brief Conversion functions for static poses + * + * @defgroup meos_pose_base_accessor Accessor functions + * @ingroup meos_pose_base + * @brief Accessor functions for static poses + * + * @defgroup meos_pose_base_transf Transformation functions + * @ingroup meos_pose_base + * @brief Transformation functions for static poses + * + * @defgroup meos_pose_base_srid Spatial reference system functions + * @ingroup meos_pose_base + * @brief Spatial reference system functions for static poses + * + * @defgroup meos_pose_base_bbox Bounding box functions + * @ingroup meos_pose_base + * @brief Bounding box functions for static poses + * + * @defgroup meos_pose_base_comp Comparison functions + * @ingroup meos_pose_base + * @brief Comparison functions for static poses + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_pose_set_inout Input and output functions + * @ingroup meos_pose_set + * @brief Input and output functions for pose sets + * + * @defgroup meos_pose_set_constructor Constructor functions + * @ingroup meos_pose_set + * @brief Constructor functions for pose sets + * + * @defgroup meos_pose_set_conversion Conversion functions + * @ingroup meos_pose_set + * @brief Conversion functions for pose sets + * + * @defgroup meos_pose_set_accessor Accessor functions + * @ingroup meos_pose_set + * @brief Accessor functions for pose sets + * + * @defgroup meos_pose_set_setops Set operations + * @ingroup meos_pose_set + * @brief Set operations for pose sets + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/pose/pose.h b/jmeos-core/tools/parity/meos-ref/meos/include/pose/pose.h new file mode 100644 index 000000000..0c9d5449d --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/pose/pose.h @@ -0,0 +1,118 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for static pose objects. + */ + +#ifndef __POSE_H__ +#define __POSE_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include + +/***************************************************************************** + * Struct definitions + *****************************************************************************/ + +/** + * @brief Structure to represent pose values + * @details + * flags (8 bits, x = unused): xxZXxxxx + * data: 2D: [x, y, theta] + * 3D: [x, y, z, W, X, Z, Y] + * + */ +struct Pose +{ + int32 vl_len_; /**< varlena header (do not touch directly!) */ + int8 flags; /**< flags */ + uint8_t srid[3]; /**< srid */ + double data[]; /**< position and orientation values */ +}; + +/***************************************************************************** + * fmgr macros + *****************************************************************************/ + +#define DatumGetPoseP(X) ((Pose *) DatumGetPointer(X)) +#define PosePGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_POSE_P(X) DatumGetPoseP(PG_GETARG_DATUM(X)) +#define PG_RETURN_POSE_P(X) PG_RETURN_POINTER(X) + +/*****************************************************************************/ + +/* Validity functions */ + +extern bool ensure_valid_pose_geo(const Pose *pose, const GSERIALIZED *gs); +extern bool ensure_valid_pose_stbox(const Pose *pose, const STBox *box); +extern bool ensure_valid_pose_pose(const Pose *pose1, const Pose *pose2); +extern bool ensure_valid_poseset_pose(const Set *s, const Pose *pose); + +/* Collinear and interpolation functions */ + +extern bool pose_collinear(const Pose *pose1, const Pose *pose2, + const Pose *pose3, double ratio); +extern Pose *posesegm_interpolate(const Pose *start, const Pose *end, + double ratio); +extern long double posesegm_locate(const Pose *start, const Pose *end, + const Pose *value); + +/* Input/output functions */ + +extern char *pose_wkt_out(const Pose *pose, bool extended, int maxdd); + +extern Pose *pose_parse(const char **str, bool end); + +extern Datum datum_pose_point(Datum pose); +extern Datum datum_pose_rotation(Datum pose); + +/* Transformation functions */ + +extern Datum datum_pose_round(Datum pose, Datum size); + +/* Distance */ + +extern Datum pose_distance(Datum pose1, Datum pose2); + +/* Box functions */ + +extern bool pose_set_stbox(const Pose *pose, STBox *box); +extern void posearr_set_stbox(const Datum *values, int count, STBox *box); +extern bool pose_timestamptz_set_stbox(const Pose *pose, TimestampTz t, + STBox *box); +extern bool pose_tstzspan_set_stbox(const Pose *pose, const Span *p, + STBox *box); + +/*****************************************************************************/ + +#endif /* __POSE_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose.h b/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose.h new file mode 100644 index 000000000..3bf57ff55 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose.h @@ -0,0 +1,61 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief General functions for temporal pose objects. + */ + +#ifndef __TPOSE_H__ +#define __TPOSE_H__ + +#include "temporal/temporal.h" +#include "pose/pose.h" + +/*****************************************************************************/ + +/* Validity functions */ + +extern bool ensure_valid_tpose_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_valid_tpose_pose(const Temporal *temp, const Pose *pose); +extern bool ensure_valid_tpose_stbox(const Temporal *temp, const STBox *box); +extern bool ensure_valid_tpose_tpose(const Temporal *temp1, + const Temporal *temp2); + +/* Interpolation functions */ + +extern int tposesegm_intersection_value(Datum start, Datum end, Datum value, + TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2); +extern int tposesegm_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); + +/*****************************************************************************/ + +#endif /* __TPOSE_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_boxops.h b/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_boxops.h new file mode 100644 index 000000000..a2629c9a0 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_boxops.h @@ -0,0 +1,54 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Bounding box operators for temporal pose objects. + */ + +#ifndef __TPOSE_BOXOPS_H__ +#define __TPOSE_BOXOPS_H__ + +#include "temporal/temporal.h" +#include + +/*****************************************************************************/ + +/* Functions computing the bounding box at the creation of a temporal pose */ + +extern bool pose_set_stbox(const Pose *pose, STBox *box); +extern void posearr_set_stbox(const Datum *values, int count, STBox *box); + +extern void tposeinst_set_stbox(const TInstant *inst, STBox *box); +extern void tposeinstarr_set_stbox(TInstant **instants, int count, + STBox *box); +extern void tposeseq_expand_stbox(TSequence *seq, const TInstant *inst); + +/*****************************************************************************/ + +#endif /* __TPOSE_BOXOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_spatialfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_spatialfuncs.h new file mode 100644 index 000000000..6076e9580 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/pose/tpose_spatialfuncs.h @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Spatial functions for temporal pose objects. + */ + +#ifndef __TPOSE_SPATIALFUNCS_H__ +#define __TPOSE_SPATIALFUNCS_H__ + +#include "temporal/temporal.h" +#include "pose/pose.h" + +/*****************************************************************************/ + +/* Trajectory function */ + +extern GSERIALIZED *tpose_trajectory(const Temporal *temp); + +/* Restriction functions */ + +extern Temporal *tpose_restrict_geom(const Temporal *temp, + const GSERIALIZED *gs, bool atfunc); +extern Temporal *tpose_restrict_stbox(const Temporal *temp, const STBox *box, + bool border_inc, bool atfunc); +extern Temporal *tpose_restrict_elevation(const Temporal *temp, const Span *s, + bool atfunc); + +/*****************************************************************************/ + +#endif /* __TPOSE_SPATIALFUNCS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/postgis_ext_defs.in.h b/jmeos-core/tools/parity/meos-ref/meos/include/postgis_ext_defs.in.h new file mode 100644 index 000000000..243d0fbf5 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/postgis_ext_defs.in.h @@ -0,0 +1,420 @@ +#ifndef _LIBLWGEOM_H +#define _LIBLWGEOM_H + +/******************************************************************/ + +/** +* Macros for manipulating the 'flags' byte. A uint8_t used as follows: +* VVSRGBMZ +* Version bit, followed by +* Validty, Solid, ReadOnly, Geodetic, HasBBox, HasM and HasZ flags. +*/ +#define LWFLAG_Z 0x01 +#define LWFLAG_M 0x02 +#define LWFLAG_BBOX 0x04 +#define LWFLAG_GEODETIC 0x08 +#define LWFLAG_READONLY 0x10 +#define LWFLAG_SOLID 0x20 + +#define FLAGS_GET_Z(flags) ((flags) & LWFLAG_Z) +#define FLAGS_GET_M(flags) (((flags) & LWFLAG_M)>>1) +#define FLAGS_GET_BBOX(flags) (((flags) & LWFLAG_BBOX)>>2) +#define FLAGS_GET_GEODETIC(flags) (((flags) & LWFLAG_GEODETIC)>>3) +#define FLAGS_GET_READONLY(flags) (((flags) & LWFLAG_READONLY)>>4) +#define FLAGS_GET_SOLID(flags) (((flags) & LWFLAG_SOLID)>>5) + +#define FLAGS_SET_Z(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_Z) : ((flags) & ~LWFLAG_Z)) +#define FLAGS_SET_M(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_M) : ((flags) & ~LWFLAG_M)) +#define FLAGS_SET_BBOX(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_BBOX) : ((flags) & ~LWFLAG_BBOX)) +#define FLAGS_SET_GEODETIC(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_GEODETIC) : ((flags) & ~LWFLAG_GEODETIC)) +#define FLAGS_SET_READONLY(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_READONLY) : ((flags) & ~LWFLAG_READONLY)) +#define FLAGS_SET_SOLID(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_SOLID) : ((flags) & ~LWFLAG_SOLID)) + +#define FLAGS_NDIMS(flags) (2 + FLAGS_GET_Z(flags) + FLAGS_GET_M(flags)) +#define FLAGS_GET_ZM(flags) (FLAGS_GET_M(flags) + FLAGS_GET_Z(flags) * 2) +#define FLAGS_NDIMS_BOX(flags) (FLAGS_GET_GEODETIC(flags) ? 3 : FLAGS_NDIMS(flags)) + +/* +** Variants available for WKB and WKT output types +*/ + +#define WKB_ISO 0x01 +#define WKB_SFSQL 0x02 +#define WKB_EXTENDED 0x04 +#define WKB_NDR 0x08 +#define WKB_XDR 0x10 +#define WKB_HEX 0x20 +#define WKB_NO_NPOINTS 0x40 /* Internal use only */ +#define WKB_NO_SRID 0x80 /* Internal use only */ + +#define WKT_ISO 0x01 +#define WKT_SFSQL 0x02 +#define WKT_EXTENDED 0x04 + +typedef uint16_t lwflags_t; + +/******************************************************************/ + +typedef struct { + double afac, bfac, cfac, dfac, efac, ffac, gfac, hfac, ifac, xoff, yoff, zoff; +} AFFINE; + +/******************************************************************/ + +typedef struct +{ + double xmin, ymin, zmin; + double xmax, ymax, zmax; + int32_t srid; +} +BOX3D; + +/****************************************************************** +* GBOX structure. +* We include the flags (information about dimensionality), +* so we don't have to constantly pass them +* into functions that use the GBOX. +*/ +typedef struct +{ + lwflags_t flags; + double xmin; + double xmax; + double ymin; + double ymax; + double zmin; + double zmax; + double mmin; + double mmax; +} GBOX; + + +/****************************************************************** +* SPHEROID +* +* Standard definition of an ellipsoid (what wkt calls a spheroid) +* f = (a-b)/a +* e_sq = (a*a - b*b)/(a*a) +* b = a - fa +*/ +typedef struct +{ + double a; /* semimajor axis */ + double b; /* semiminor axis b = (a - fa) */ + double f; /* flattening f = (a-b)/a */ + double e; /* eccentricity (first) */ + double e_sq; /* eccentricity squared (first) e_sq = (a*a-b*b)/(a*a) */ + double radius; /* spherical average radius = (2*a+b)/3 */ + char name[20]; /* name of ellipse */ +} +SPHEROID; + +/****************************************************************** +* POINT2D, POINT3D, POINT3DM, POINT4D +*/ +typedef struct +{ + double x, y; +} +POINT2D; + +typedef struct +{ + double x, y, z; +} +POINT3DZ; + +typedef struct +{ + double x, y, z; +} +POINT3D; + +typedef struct +{ + double x, y, m; +} +POINT3DM; + +typedef struct +{ + double x, y, z, m; +} +POINT4D; + +/****************************************************************** +* POINTARRAY +* Point array abstracts a lot of the complexity of points and point lists. +* It handles 2d/3d translation +* (2d points converted to 3d will have z=0 or NaN) +* DO NOT MIX 2D and 3D POINTS! EVERYTHING* is either one or the other +*/ +typedef struct +{ + uint32_t npoints; /* how many points we are currently storing */ + uint32_t maxpoints; /* how many points we have space for in serialized_pointlist */ + + /* Use FLAGS_* macros to handle */ + lwflags_t flags; + + /* Array of POINT 2D, 3D or 4D, possibly misaligned. */ + uint8_t *serialized_pointlist; +} +POINTARRAY; + +/****************************************************************** +* GSERIALIZED +*/ + +typedef struct +{ + uint32_t size; /* For PgSQL use only, use VAR* macros to manipulate. */ + uint8_t srid[3]; /* 24 bits of SRID */ + uint8_t gflags; /* HasZ, HasM, HasBBox, IsGeodetic */ + uint8_t data[1]; /* See gserialized.txt */ +} GSERIALIZED; + +/****************************************************************** +* LWGEOM (any geometry type) +* +* Abstract type, note that 'type', 'bbox' and 'srid' are available in +* all geometry variants. +*/ +typedef struct +{ + GBOX *bbox; + void *data; + int32_t srid; + lwflags_t flags; + uint8_t type; + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWGEOM; + +/* POINTYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *point; /* hide 2d/3d (this will be an array of 1 point) */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* POINTTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWPOINT; /* "light-weight point" */ + +/* LINETYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *points; /* array of POINT3D */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* LINETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWLINE; /* "light-weight line" */ + +/* TRIANGLE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *points; + int32_t srid; + lwflags_t flags; + uint8_t type; + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWTRIANGLE; + +/* CIRCSTRINGTYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *points; /* array of POINT(3D/3DM) */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* CIRCSTRINGTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWCIRCSTRING; /* "light-weight circularstring" */ + +/* POLYGONTYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY **rings; /* list of rings (list of points) */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* POLYGONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t nrings; /* how many rings we are currently storing */ + uint32_t maxrings; /* how many rings we have space for in **rings */ +} +LWPOLY; /* "light-weight polygon" */ + +/* MULTIPOINTTYPE */ +typedef struct +{ + GBOX *bbox; + LWPOINT **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTYPOINTTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMPOINT; + +/* MULTILINETYPE */ +typedef struct +{ + GBOX *bbox; + LWLINE **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTILINETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMLINE; + +/* MULTIPOLYGONTYPE */ +typedef struct +{ + GBOX *bbox; + LWPOLY **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTIPOLYGONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMPOLY; + +/* COLLECTIONTYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* COLLECTIONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWCOLLECTION; + +/* COMPOUNDTYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* COLLECTIONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWCOMPOUND; /* "light-weight compound line" */ + +/* CURVEPOLYTYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **rings; + int32_t srid; + lwflags_t flags; + uint8_t type; /* CURVEPOLYTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t nrings; /* how many rings we are currently storing */ + uint32_t maxrings; /* how many rings we have space for in **rings */ +} +LWCURVEPOLY; /* "light-weight polygon" */ + +/* MULTICURVE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTICURVE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMCURVE; + +/* MULTISURFACETYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTISURFACETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMSURFACE; + +/* POLYHEDRALSURFACETYPE */ +typedef struct +{ + GBOX *bbox; + LWPOLY **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* POLYHEDRALSURFACETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWPSURFACE; + +/* TINTYPE */ +typedef struct +{ + GBOX *bbox; + LWTRIANGLE **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* TINTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWTIN; + +/* Functions */ + +extern int32 geo_get_srid(const GSERIALIZED *g); + +/* PROJ */ + +struct PJconsts; +typedef struct PJconsts PJ; + +typedef struct LWPROJ +{ + PJ* pj; + + /* for pipeline transforms, whether to do a forward or inverse */ + bool pipeline_is_forward; + + /* Source crs is geographic: Used in geography calls (source srid == dst srid) */ + uint8_t source_is_latlong; + /* Source ellipsoid parameters */ + double source_semi_major_metre; + double source_semi_minor_metre; +} LWPROJ; + + +#endif /* _LIBLWGEOM_H */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/postgres_int_defs.h b/jmeos-core/tools/parity/meos-ref/meos/include/postgres_int_defs.h new file mode 100644 index 000000000..4d9087ab9 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/postgres_int_defs.h @@ -0,0 +1,3 @@ +#include "../postgres/postgres.h" +#include "../postgres/utils/timestamp_def.h" +#include "../postgres/utils/date.h" diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_internal_rgeo.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_internal_rgeo.h new file mode 100644 index 000000000..d03950e81 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_internal_rgeo.h @@ -0,0 +1,60 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_internal_rgeo_inout Input and output functions + * @ingroup meos_internal_rgeo + * @brief Input and output functions for temporal rigid geometries + * + * @defgroup meos_internal_rgeo_conversion Conversion functions + * @ingroup meos_internal_rgeo + * @brief Conversion functions for temporal rigid geometries + * + * @defgroup meos_internal_rgeo_accessor Accessor functions + * @ingroup meos_internal_rgeo + * @brief Accessor functions for temporal rigid geometries + * + * @defgroup meos_internal_rgeo_restrict Restriction functions + * @ingroup meos_internal_rgeo + * @brief Restriction functions for temporal rigid geometries + * + * @defgroup meos_internal_rgeo_comp Comparison functions + * @ingroup meos_internal_rgeo + * @brief Comparison functions for temporal rigid geometries + * + * @defgroup meos_internal_rgeo_comp_ever Ever and always comparison functions + * @ingroup meos_internal_rgeo_comp + * @brief Ever and always comparison functions for temporal rigid geometries + * + * @defgroup meos_internal_rgeo_comp_temp Temporal comparison functions + * @ingroup meos_internal_rgeo_comp + * @brief Temporal comparison functions for temporal rigid geometries + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_rgeo.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_rgeo.h new file mode 100644 index 000000000..a5bbb631f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/doxygen_meos_rgeo.h @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @defgroup meos_rgeo_inout Input and output functions + * @ingroup meos_rgeo + * @brief Input and output functions for temporal rigid geometries + * + * @defgroup meos_rgeo_conversion Conversion functions + * @ingroup meos_rgeo + * @brief Conversion functions for temporal rigid geometries + * + * @defgroup meos_rgeo_accessor Accessor functions + * @ingroup meos_rgeo + * @brief Accessor functions for temporal rigid geometries + * + * @defgroup meos_rgeo_restrict Restriction functions + * @ingroup meos_rgeo + * @brief Restriction functions for temporal rigid geometries + * + * @defgroup meos_rgeo_dist Distance functions + * @ingroup meos_rgeo + * @brief Distance functions for temporal rigid geometries + * + * @defgroup meos_rgeo_comp Comparison functions + * @ingroup meos_rgeo + * @brief Comparison functions for temporal rigid geometries + * + * @defgroup meos_rgeo_comp_ever Ever and always comparison functions + * @ingroup meos_rgeo_comp + * @brief Ever and always comparison functions for temporal rigid geometries + * + * @defgroup meos_rgeo_comp_temp Temporal comparison functions + * @ingroup meos_rgeo_comp + * @brief Temporal comparison functions for temporal rigid geometries + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo.h new file mode 100644 index 000000000..55b0a59b2 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo.h @@ -0,0 +1,88 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief General functions for temporal rigid geometries + */ + +#ifndef __TRGEO_H__ +#define __TRGEO_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" + +/** Symbolic constants for the temporal instant geometry constuctor */ +#define WITH_GEOM true +#define NO_GEOM false + +/***************************************************************************** + * Miscellaneous functions defined in trgeo.c + *****************************************************************************/ + +extern bool ensure_has_geom(int16 flags); +extern bool ensure_valid_trgeo_geo(const Temporal *temp, + const GSERIALIZED *gs); +extern bool ensure_valid_trgeo_stbox(const Temporal *temp, + const STBox *box); +extern bool ensure_valid_trgeo_trgeo(const Temporal *temp1, + const Temporal *temp2); +extern bool ensure_valid_trgeo_tpoint(const Temporal *temp1, + const Temporal *temp2); +extern const GSERIALIZED *trgeo_geom_p(const Temporal *temp); + +/* Input/output functions */ + +extern char *trgeo_wkt_out(const Temporal *temp, int maxdd, bool extended); + +/* Constructor functions */ + +extern TInstant *geo_tposeinst_to_trgeo(const GSERIALIZED *gs, + const TInstant *inst); +extern TSequence *geo_tposeseq_to_trgeo(const GSERIALIZED *gs, + const TSequence *seq); +extern TSequenceSet *geo_tposeseqset_to_trgeo(const GSERIALIZED *gs, + const TSequenceSet *ss); + +/* Conversion functions */ + + +/* Accessor functions */ + +extern bool trgeo_value_at_timestamptz(const Temporal *temp, TimestampTz t, + bool strict, Datum *result); + +/* Transformation functions */ + + +/*****************************************************************************/ + +#endif /* __TRGEO_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_all.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_all.h new file mode 100644 index 000000000..4e3be67df --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_all.h @@ -0,0 +1,46 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief General functions for temporal rigid geometries + */ + +#ifndef __TRGEO_ALL_H__ +#define __TRGEO_ALL_H__ + +/* MEOS */ +#include "rgeo/trgeo.h" +#include "rgeo/trgeo_inst.h" +#include "rgeo/trgeo_seq.h" +#include "rgeo/trgeo_seqset.h" + +/*****************************************************************************/ + +#endif /* __TRGEO_ALL_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_boxops.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_boxops.h new file mode 100644 index 000000000..b75e43dbc --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_boxops.h @@ -0,0 +1,60 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box operators for temporal rigid geometries + */ + +#ifndef __TRGEO_BOXOPS_H__ +#define __TRGEO_BOXOPS_H__ + +/* Postgres */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "geo/stbox.h" + +/*****************************************************************************/ + +/* Functions computing the bounding box at the creation of the temporal rigid + * geometry */ + +extern void trgeoinst_set_stbox(const GSERIALIZED *geom, const TInstant *inst, + STBox *box); +extern void trgeoinstarr_static_stbox(const GSERIALIZED *geom, + TInstant **instants, int count, STBox *box); +extern void trgeoinstarr_rotating_stbox(const GSERIALIZED *geom, + TInstant **instants, int count, STBox *box); +extern void trgeoinstarr_compute_bbox(const GSERIALIZED *geom, + TInstant **instants, int count, interpType interp, void *box); + +/*****************************************************************************/ + +#endif /* __TRGEO_BOXOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_distance.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_distance.h new file mode 100644 index 000000000..db8439c50 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_distance.h @@ -0,0 +1,106 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal rigid geometries + */ + +#ifndef __TRGEO_DISTANCE_H__ +#define __TRGEO_DISTANCE_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "pose/pose.h" + +/***************************************************************************** + * Struct definitions + *****************************************************************************/ + +/** Symbolic constants for temporal distance */ +#define MEOS_ANY 0 +#define MEOS_RIGHT 1 +#define MEOS_LEFT 2 + +/** Symbolic constants for equation solving */ +#define MEOS_SOLVE_0 true +#define MEOS_SOLVE_1 false + +/** Symbolic constants for cfp_elem */ +#define MEOS_CFP_STORE true +#define MEOS_CFP_STORE_NO false + +#define MEOS_CFP_FREE true +#define MEOS_CFP_FREE_NO false + +/* Closest features pair */ + +typedef struct { + LWGEOM *geom_1; + LWGEOM *geom_2; + Pose *pose_1; + Pose *pose_2; + bool free_pose_1; + bool free_pose_2; + uint32_t cf_1; + uint32_t cf_2; + TimestampTz t; + bool store; +} cfp_elem; + +/* List of CFPs */ + +typedef struct { + size_t count; + size_t size; + cfp_elem *arr; +} cfp_array; + +/* Closest features pair */ + +typedef struct { + double dist;; + TimestampTz t; +} tdist_elem; + +/* List of CFPs */ + +typedef struct { + size_t count; + size_t size; + tdist_elem *arr; +} tdist_array; + +/*****************************************************************************/ + +#endif /* __TRGEO_DISTANCE_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_inst.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_inst.h new file mode 100644 index 000000000..e1f25277d --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_inst.h @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @brief Functions for temporal rigid instant geometries. + */ + +#ifndef __TRGEO_INST_H__ +#define __TRGEO_INST_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "pose/pose.h" + +/***************************************************************************** + * General functions + *****************************************************************************/ + +extern const GSERIALIZED *trgeoinst_geom_p(const TInstant *inst); +extern size_t trgeoinst_pose_varsize(const TInstant *inst); +extern void trgeoinst_set_pose(TInstant *inst); +extern TInstant *trgeoinst_tposeinst(const TInstant *inst); + +/* Constructor functions */ + +extern TInstant *trgeoinst_make1(const GSERIALIZED *geom, const Pose *pose, + TimestampTz t); + +/* Transformation functions */ + +extern TInstant *trgeoseq_to_tinstant(const TSequence *seq); +extern TInstant *trgeoseqset_to_tinstant(const TSequenceSet *ts); + +/*****************************************************************************/ + +#endif /* __TRGEO_INST_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_parser.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_parser.h new file mode 100644 index 000000000..bf16981eb --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_parser.h @@ -0,0 +1,49 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for parsing temporal rigid geometries + */ + +#ifndef __TRGEO_PARSER_H__ +#define __TRGEO_PARSER_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern Temporal *trgeo_parse(const char **str, MeosType temptype); + +/*****************************************************************************/ + +#endif /* __TRGEO_PARSER_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seq.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seq.h new file mode 100644 index 000000000..aa181ad8a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seq.h @@ -0,0 +1,77 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for temporal rigid geometries with sequence subtype + */ + +#ifndef __TRGEO_SEQ_H__ +#define __TRGEO_SEQ_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" + +/***************************************************************************** + * General functions + *****************************************************************************/ + +extern const GSERIALIZED *trgeoseq_geom_p(const TSequence *seq); + +extern size_t trgeoseq_pose_varsize(const TSequence *seq); +extern void trgeoseq_set_pose(TSequence *seq); +extern TSequence *trgeoseq_tposeseq(const TSequence *seq); + +/* Constructor functions */ + +extern bool trgeoseq_make_valid(const GSERIALIZED *geom, TInstant **instants, + int count, bool lower_inc, bool upper_inc, bool linear); +extern TSequence *trgeoseq_make1_exp(const GSERIALIZED *geom, TInstant **instants, + int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequence *trgeoseq_make1(const GSERIALIZED *geom, TInstant **instants, + int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequence *trgeoseq_make_exp(const GSERIALIZED *geom, TInstant **instants, + int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequence *trgeoseq_make(const GSERIALIZED *geom, TInstant **instants, + int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequence *trgeoseq_make_free_exp(const GSERIALIZED *geom, TInstant **instants, + int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequence *trgeoseq_make_free(const GSERIALIZED *geom, TInstant **instants, + int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); + +/* Transformation functions */ + +extern TSequence *trgeoinst_to_tsequence(const TInstant *inst, interpType interp); +extern TInstant *trgeoseq_to_tinstant(const TSequence *seq); + +/*****************************************************************************/ + +#endif /* __TRGEO_SEQ_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seqset.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seqset.h new file mode 100644 index 000000000..6437b3513 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_seqset.h @@ -0,0 +1,74 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for temporal rigid geometries with sequence set subtype + */ + +#ifndef __TRGEO_SEQSET_H__ +#define __TRGEO_SEQSET_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/temporal.h" + +/***************************************************************************** + * General functions + *****************************************************************************/ + +extern const GSERIALIZED *trgeoseqset_geom_p(const TSequenceSet *ts); +extern TSequenceSet *trgeoseqset_tposeseqset(const TSequenceSet *ss); + +/* Constructor functions */ + +extern TSequenceSet *trgeoseqset_make1_exp(const GSERIALIZED *geom, + TSequence **sequences, int count, int maxcount, bool normalize); +extern TSequenceSet *trgeoseqset_make_exp(const GSERIALIZED *geom, + TSequence **sequences, int count, int maxcount, bool normalize); +extern TSequenceSet *trgeoseqset_make(const GSERIALIZED *geom, + TSequence **sequences, int count, bool normalize); +extern TSequenceSet *trgeoseqset_make_free(const GSERIALIZED *geom, + TSequence **sequences, int count, bool normalize); +extern TSequenceSet *trgeoseqset_make_gaps(const GSERIALIZED *geom, + TInstant **instants, int count, interpType interp, Interval *maxt, + double maxdist); + +/* Transformation functions */ + +extern TSequence *trgeoseqset_to_tsequence(const TSequenceSet *ss); +extern TSequence *trgeo_to_tsequence(const Temporal *temp, + const char *interp_str); +extern TSequenceSet *trgeo_to_tsequenceset(const Temporal *temp, + const char *interp_str); + +/*****************************************************************************/ + +#endif /* __TRGEO_SEQSET_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_spatialrels.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_spatialrels.h new file mode 100644 index 000000000..51b71ea0a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_spatialrels.h @@ -0,0 +1,59 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal rigid geometries + */ + +#ifndef __TRGEO_SPATIALRELS_H__ +#define __TRGEO_SPATIALRELS_H__ + +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "pose/pose.h" + +/*****************************************************************************/ + +extern int ea_contains_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp, + bool ever); +extern int ea_covers_geo_trgeo(const GSERIALIZED *gs, const Temporal *temp, + bool ever) +extern int ea_covers_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever); +extern int ea_disjoint_trgeo_geo(const Temporal *temp, const GSERIALIZED *gs, + bool ever) + +/*****************************************************************************/ + +#endif /* __TRGEO_SPATIALRELS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_utils.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_utils.h new file mode 100644 index 000000000..63908f8a9 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_utils.h @@ -0,0 +1,52 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Utility functions for temporal rigid geometries + */ + +#ifndef __TRGEO_UTILS_H__ +#define __TRGEO_UTILS_H__ + +/* Postgres */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "pose/pose.h" + +/*****************************************************************************/ + +extern bool ensure_same_geom(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern void lwgeom_apply_pose(const Pose *pose, LWGEOM *geom); +extern double geom_radius(const GSERIALIZED *gs); + +/*****************************************************************************/ + +#endif /* __TRGEO_UTILS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_vclip.h b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_vclip.h new file mode 100644 index 000000000..30a450a7e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/rgeo/trgeo_vclip.h @@ -0,0 +1,74 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal rigid geometries. + */ + +#ifndef __TRGEO_VCLIP_H__ +#define __TRGEO_VCLIP_H__ + +/* C */ +#include +/* PostgreSQL */ +#include +/* PostGIS */ +#include +/* MEOS */ +#include "temporal/temporal.h" +#include "pose/pose.h" + +/***************************************************************************** + * Struct definitions + *****************************************************************************/ + +/** Max iterations to avoid infinite loops */ +#define MEOS_MAX_ITERS 1000 + +/** Symbolic constants for v-clip */ +#define MEOS_CONTINUE 0 +#define MEOS_DISJOINT 1 +#define MEOS_INTERSECT -1 + +/*****************************************************************************/ + +/* V-clip functions */ + +extern int v_clip_tpoly_point(const LWPOLY *poly, const LWPOINT *point, + const Pose *pose, uint32_t *poly_feature, double *dist); +extern int v_clip_tpoly_tpoly(const LWPOLY *poly1, const LWPOLY *poly2, + const Pose *pose1, const Pose *pose2, uint32_t *poly1_feature, + uint32_t *poly2_feature, double *dist); + +extern void apply_pose_point4d(POINT4D *p, const Pose *pose); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doublen.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doublen.h new file mode 100644 index 000000000..0471bf315 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doublen.h @@ -0,0 +1,109 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Internal types used in particular for computing the average and + * centroid temporal aggregates. + */ + +#ifndef __DOUBLEN_H__ +#define __DOUBLEN_H__ + +/* C */ +#include + +/*****************************************************************************/ + +/** + * Structure to represent values of the internal type for computing aggregates + * for temporal number types + */ +typedef struct +{ + double a; + double b; +} double2; + +/** + * Structure to represent values of the internal type for computing aggregates + * for 2D temporal points + */ +typedef struct +{ + double a; + double b; + double c; +} double3; + +/** + * Structure to represent values of the internal type for computing aggregates + * for 3D temporal points + */ +typedef struct +{ + double a; + double b; + double c; + double d; +} double4; + +/*****************************************************************************/ + +extern char *double2_out(const double2 *d, int maxdd); +extern void double2_set(double a, double b, double2 *result); +extern double2 *double2_add(const double2 *d1, const double2 *d2); +extern bool double2_eq(const double2 *d1, const double2 *d2); + +extern char *double3_out(const double3 *d, int maxdd); +extern void double3_set(double a, double b, double c, double3 *result); +extern double3 *double3_add(const double3 *d1, const double3 *d2); +extern bool double3_eq(const double3 *d1, const double3 *d2); + +extern char *double4_out(const double4 *d, int maxdd); +extern void double4_set(double a, double b, double c, double d, double4 *result); +extern double4 *double4_add(const double4 *d1, const double4 *d2); +extern bool double4_eq(const double4 *d1, const double4 *d2); + +extern bool double2_collinear(const double2 *x1, const double2 *x2, + const double2 *x3, double ratio); +extern bool double3_collinear(const double3 *x1, const double3 *x2, + const double3 *x3, double ratio); +extern bool double4_collinear(const double4 *x1, const double4 *x2, + const double4 *x3, double ratio); + +extern double2 *double2segm_interpolate(const double2 *start, + const double2 *end, long double ratio); +extern double3 *double3segm_interpolate(const double3 *start, + const double3 *end, long double ratio); +extern double4 *double4segm_interpolate(const double4 *start, + const double4 *end, long double ratio); + +/*****************************************************************************/ + +#endif /* __DOUBLEN_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos.h new file mode 100644 index 000000000..68a88560a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos.h @@ -0,0 +1,341 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @mainpage MEOS and MobilityDB Developer's Documentation + * + * \htmlonly + *
+ *
+ * MEOS logo + *
+ *
+ * MobilityDB logo + *
+ *
+ * \endhtmlonly + * + * @image latex meos-logo.png width=10% + * @image latex mobilitydb-logo.png width=10% + * + * This document defines the developer's documentation of both the MEOS library + * and MobilityDB. The documentation is divided into modules, where the + * top-level modules are as follows: + * + * - MEOS library + * - MEOS API + * - Internal functions + * - MobilityDB API + * + * \tableofcontents + * + * Please refer to the Modules tab for a detailed account of these modules. + */ + +/***************************************************************************** + * Sections of the external MEOS API + * These sections follow the ones of the MobilityDB documentation although + * some subsections are merged into a single one + *****************************************************************************/ + +/** + * @defgroup meos MEOS library + * @brief Mobility Engine Open Source (MEOS) library + * + * @defgroup meos_api External API + * @ingroup meos + * @brief External API of the Mobility Engine Open Source (MEOS) library + * + * @defgroup meos_internal Internal API + * @ingroup meos + * @brief Internal API of the Mobility Engine Open Source (MEOS) library + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_base_types Functions for base and time types + * @ingroup meos_api + * @brief Functions for base and time types + * + * @defgroup meos_setspan Functions for set and span types + * @ingroup meos_api + * @brief Functions for set and span types + * + * @defgroup meos_box Functions for temporal boxes + * @ingroup meos_api + * @brief Functions for temporal boxes + * + * @defgroup meos_temporal Functions for temporal types + * @ingroup meos_api + * @brief Functions for temporal types + * + * @defgroup meos_geo Functions for temporal geometries + * @ingroup meos_api + * @brief Functions for temporal geometries + * + * @defgroup meos_cbuffer Functions for temporal circular buffers + * @ingroup meos_api + * @brief Functions for temporal temporal circular buffers + * + * @defgroup meos_npoint Functions for temporal network points + * @ingroup meos_api + * @brief Functions for temporal network points + * + * @defgroup meos_pose Functions for temporal poses + * @ingroup meos_api + * @brief Functions for temporal poses + * + * @defgroup meos_rgeo Functions for temporal rigid geometries + * @ingroup meos_api + * @brief Functions for temporal rigid geometries + * + * @defgroup meos_misc Miscellaneous functions + * @ingroup meos_api + * @brief Miscellaneous functions + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_setspan_inout Input and output functions + * @ingroup meos_setspan + * @brief Input and output functions for set and span types + * + * @defgroup meos_setspan_constructor Constructor functions + * @ingroup meos_setspan + * @brief Constructor functions for set and span types + * + * @defgroup meos_setspan_conversion Conversion functions + * @ingroup meos_setspan + * @brief Conversion functions for set and span types + * + * @defgroup meos_setspan_accessor Accessor functions + * @ingroup meos_setspan + * @brief Accessor functions for set and span types + * + * @defgroup meos_setspan_transf Transformation functions + * @ingroup meos_setspan + * @brief Transformation functions for set and span types + * + * @defgroup meos_setspan_srid Spatial reference system functions + * @ingroup meos_setspan + * @brief Spatial reference system functions for set and span types + * + * @defgroup meos_setspan_comp Comparison functions + * @ingroup meos_setspan + * @brief Comparison functions for set and span types + * + * @defgroup meos_setspan_bbox Bounding box functions + * @ingroup meos_setspan + * @brief Bounding box functions for set and span types + * + * @defgroup meos_setspan_bbox_split Split functions + * @ingroup meos_setspan_bbox + * @brief Split functions for set and span types + * + * @defgroup meos_setspan_topo Topological functions + * @ingroup meos_setspan_bbox + * @brief Topological functions for set and span types + * + * @defgroup meos_setspan_pos Position functions + * @ingroup meos_setspan_bbox + * @brief Position functions for set and span types + * + * @defgroup meos_setspan_set Set functions + * @ingroup meos_setspan + * @brief Set functions for set and span types + * + * @defgroup meos_setspan_dist Distance functions + * @ingroup meos_setspan + * @brief Distance functions for set and span types + * + * @defgroup meos_setspan_agg Aggregate functions + * @ingroup meos_setspan + * @brief Aggregate functions for set and span types + * + * @defgroup meos_setspan_bin Bin functions + * @ingroup meos_setspan + * @brief Bin functions for set and span types + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_box_inout Input and output functions + * @ingroup meos_box + * @brief Input and output functions for temporal boxes + * + * @defgroup meos_box_constructor Constructor functions + * @ingroup meos_box + * @brief Constructor functions for temporal boxes + * + * @defgroup meos_box_conversion Conversion functions + * @ingroup meos_box + * @brief Conversion functions for temporal boxes + * + * @defgroup meos_box_accessor Accessor functions + * @ingroup meos_box + * @brief Accessor functions for temporal boxes + * + * @defgroup meos_box_transf Transformation functions + * @ingroup meos_box + * @brief Transformation functions for temporal boxes + * + * @defgroup meos_box_srid Spatial reference system functions + * @ingroup meos_box + * @brief Spatial reference system functions for temporal boxes + * + * @defgroup meos_box_set Set functions + * @ingroup meos_box + * @brief Set functions for temporal boxes + * + * @defgroup meos_box_bbox Bounding box functions + * @ingroup meos_box + * @brief Bounding box functions for temporal boxes + * + * @defgroup meos_box_bbox_topo Topological functions + * @ingroup meos_box_bbox + * @brief Topological functions for temporal boxes + * + * @defgroup meos_box_bbox_pos Position functions + * @ingroup meos_box_bbox + * @brief Position functions for temporal boxes + * + * @defgroup meos_box_comp Comparison functions + * @ingroup meos_box + * @brief Comparison functions for temporal boxes + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_temporal_inout Input and output functions + * @ingroup meos_temporal + * @brief Input and output functions for temporal types + * + * @defgroup meos_temporal_constructor Constructor functions + * @ingroup meos_temporal + * @brief Constructor functions for temporal types + * + * @defgroup meos_temporal_conversion Conversion functions + * @ingroup meos_temporal + * @brief Conversion functions for temporal types + * + * @defgroup meos_temporal_accessor Accessor functions + * @ingroup meos_temporal + * @brief Accessor functions for temporal types + * + * @defgroup meos_temporal_transf Transformation functions + * @ingroup meos_temporal + * @brief Transformation functions for temporal types + * + * @defgroup meos_temporal_modif Modification functions + * @ingroup meos_temporal + * @brief Modification functions for temporal types + * + * @defgroup meos_temporal_restrict Restriction functions + * @ingroup meos_temporal + * @brief Restriction functions for temporal types + * + * @defgroup meos_temporal_comp Comparison functions + * @ingroup meos_temporal + * @brief Comparison functions for temporal types + * + * @defgroup meos_temporal_comp_trad Traditional comparison functions + * @ingroup meos_temporal_comp + * @brief Traditional comparison functions for temporal types + * + * @defgroup meos_temporal_comp_ever Ever and always comparison functions + * @ingroup meos_temporal_comp + * @brief Ever and always comparison functions for temporal types + * + * @defgroup meos_temporal_comp_temp Temporal comparison functions + * @ingroup meos_temporal_comp + * @brief Temporal comparison functions for temporal types + * + * @defgroup meos_temporal_bbox Bounding box functions + * @ingroup meos_temporal + * @brief Bounding box functions for temporal types + * + * @defgroup meos_temporal_bbox_split Split functions + * @ingroup meos_temporal_bbox + * @brief Split functions for temporal types + * + * @defgroup meos_temporal_bbox_topo Topological functions + * @ingroup meos_temporal_bbox + * @brief Topological functions for temporal types + * + * @defgroup meos_temporal_bbox_pos Position functions + * @ingroup meos_temporal_bbox + * @brief Position functions for temporal types + * + * @defgroup meos_temporal_bool Boolean functions + * @ingroup meos_temporal + * @brief Boolean functions for temporal types + * + * @defgroup meos_temporal_math Mathematical functions + * @ingroup meos_temporal + * @brief Mathematical functions for temporal types + * + * @defgroup meos_temporal_text Text functions + * @ingroup meos_temporal + * @brief Text functions for temporal types + * + * @defgroup meos_temporal_dist Distance functions + * @ingroup meos_temporal + * @brief Distance functions for temporal types + * + * @defgroup meos_temporal_agg Aggregate functions + * @ingroup meos_temporal + * @brief Aggregate functions for temporal types + * + * @defgroup meos_temporal_analytics Analytics functions + * @ingroup meos_temporal + * @brief Analytics functions for temporal types + * + * @defgroup meos_temporal_analytics_simplify Simplification functions + * @ingroup meos_temporal_analytics + * @brief Simplification functions for temporal types + * + * @defgroup meos_temporal_analytics_reduction Reduction functions + * @ingroup meos_temporal_analytics + * @brief Reduction functions for temporal types + * + * @defgroup meos_temporal_analytics_similarity Similarity functions + * @ingroup meos_temporal_analytics + * @brief Similarity functions for temporal types + * + * @defgroup meos_temporal_analytics_tile Tile functions + * @ingroup meos_temporal_analytics + * @brief Tile functions for temporal types + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos_internal.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos_internal.h new file mode 100644 index 000000000..59966d575 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/doxygen_meos_internal.h @@ -0,0 +1,217 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief MEOS Developer's Documentation: Internal API + */ + +/***************************************************************************** + * Sections of the MEOS internal API + *****************************************************************************/ + +/** + * @defgroup meos_internal_setspan Functions for set and span types + * @ingroup meos_internal + * @brief Functions for set and span types + * + * @defgroup meos_internal_box Functions for temporal boxes + * @ingroup meos_internal + * @brief Functions for temporal boxes + * + * @defgroup meos_internal_temporal Functions for temporal types + * @ingroup meos_internal + * @brief Functions for temporal types + * + * @defgroup meos_internal_geo Functions for temporal geometries + * @ingroup meos_internal + * @brief Functions for temporal geometries + * + * @defgroup meos_internal_cbuffer Functions for temporal circular buffers + * @ingroup meos_internal + * @brief Functions for temporal circular buffers + * + * @defgroup meos_internal_npoint Functions for temporal network points + * @ingroup meos_internal + * @brief Functions for temporal network points + * + * @defgroup meos_internal_pose Functions for temporal poses + * @ingroup meos_internal + * @brief Functions for temporal poses + * + * @defgroup meos_internal_rgeo Functions for temporal rigid geometries + * @ingroup meos_internal + * @brief Functions for temporal rigid geometries + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_setspan_inout Input and output functions + * @ingroup meos_internal_setspan + * @brief Input and output functions for set and span types + * + * @defgroup meos_internal_setspan_constructor Constructor functions + * @ingroup meos_internal_setspan + * @brief Constructor functions for set and span types + * + * @defgroup meos_internal_setspan_conversion Conversion functions + * @ingroup meos_internal_setspan + * @brief Conversion functions for set and span types + * + * @defgroup meos_internal_setspan_accessor Accessor functions + * @ingroup meos_internal_setspan + * @brief Accessor functions for set and span types + * + * @defgroup meos_internal_setspan_transf Transformation functions + * @ingroup meos_internal_setspan + * @brief Transformation functions for set and span types + * + * @defgroup meos_internal_setspan_bbox Bounding box functions + * @ingroup meos_internal_setspan + * @brief Bounding box functions for set and span types + * + * @defgroup meos_internal_setspan_topo Topological functions + * @ingroup meos_internal_setspan_bbox + * @brief Topological functions for set and span types + * + * @defgroup meos_internal_setspan_pos Position functions + * @ingroup meos_internal_setspan_bbox + * @brief Position functions for set and span types + * + * @defgroup meos_internal_setspan_set Set functions + * @ingroup meos_internal_setspan + * @brief Set functions for set and span types + * + * @defgroup meos_internal_setspan_dist Distance functions + * @ingroup meos_internal_setspan + * @brief Distance functions for set and span types + * + * @defgroup meos_internal_setspan_agg Aggregate functions + * @ingroup meos_internal_setspan + * @brief Aggregate functions for set and span types + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_box_constructor Constructor functions + * @ingroup meos_internal_box + * @brief Constructor functions for box types + * + * @defgroup meos_internal_box_conversion Conversion functions + * @ingroup meos_internal_box + * @brief Conversion functions for box types + * + * @defgroup meos_internal_box_transf Transformation functions + * @ingroup meos_internal_box + * @brief Transformation functions for box types + * + * @defgroup meos_internal_box_set Set functions + * @ingroup meos_internal_box + * @brief Set functions for box types + */ + +/*****************************************************************************/ + +/** + * @defgroup meos_internal_temporal_inout Input and output functions + * @ingroup meos_internal_temporal + * @brief Input and output functions for temporal types + * + * @defgroup meos_internal_temporal_constructor Constructor functions + * @ingroup meos_internal_temporal + * @brief Constructor functions for temporal types + * + * @defgroup meos_internal_temporal_conversion Conversion functions + * @ingroup meos_internal_temporal + * @brief Conversion functions for temporal types + * + * @defgroup meos_internal_temporal_accessor Accessor functions + * @ingroup meos_internal_temporal + * @brief Accessor functions for temporal types + * + * @defgroup meos_internal_temporal_transf Transformation functions + * @ingroup meos_internal_temporal + * @brief Transformation functions for temporal types + * + * @defgroup meos_internal_temporal_modif Modification functions + * @ingroup meos_internal_temporal + * @brief Modification functions for temporal types + * + * @defgroup meos_internal_temporal_restrict Restriction functions + * @ingroup meos_internal_temporal + * @brief Restriction functions for temporal types + * + * @defgroup meos_internal_temporal_comp Comparison functions + * @ingroup meos_internal_temporal + * @brief Comparison functions for temporal types + * + * @defgroup meos_internal_temporal_bbox Bounding box functions + * @ingroup meos_internal_temporal + * @brief Bounding box functions for temporal types + * + * @defgroup meos_internal_temporal_math Mathematical functions + * @ingroup meos_internal_temporal + * @brief Mathematical functions for temporal types + * + * @defgroup meos_internal_temporal_dist Distance functions + * @ingroup meos_internal_temporal + * @brief Distance functions for temporal types + * + * @defgroup meos_internal_temporal_comp_trad Traditional comparison functions + * @ingroup meos_internal_temporal_comp + * @brief Tranditional comparison functions for temporal types + * + * @defgroup meos_internal_temporal_comp_ever Ever/always comparison functions + * @ingroup meos_internal_temporal_comp + * @brief Ever and always comparison functions for temporal types + * + * @defgroup meos_internal_temporal_comp_temp Temporal comparison functions + * @ingroup meos_internal_temporal_comp + * @brief Temporal comparison functions for temporal types + * + * @defgroup meos_internal_temporal_spatial Spatial functions + * @ingroup meos_internal_temporal + * @brief Spatial functions for temporal geos + * + * @defgroup meos_internal_temporal_spatial_accessor Spatial accessor functions + * @ingroup meos_internal_temporal_spatial + * @brief Spatial accessor functions for temporal geos + * + * @defgroup meos_internal_temporal_spatial_transf Spatial transformation functions + * @ingroup meos_internal_temporal_spatial + * @brief Spatial transformation functions for temporal geos + * + * @defgroup meos_internal_temporal_agg Aggregate functions + * @ingroup meos_internal_temporal + * @brief Aggregate functions for temporal types + */ + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/lifting.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/lifting.h new file mode 100644 index 000000000..0a93af830 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/lifting.h @@ -0,0 +1,112 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Generic functions for lifting functions and operators on temporal + * types. + */ + +#ifndef __LIFTING_H__ +#define __LIFTING_H__ + +/* MEOS */ +#include +#include "temporal/temporal.h" +#include "temporal/meos_catalog.h" + +/** + * Structure to represent the information about lifted functions + * + * The mandatory parameters are `func`, `numparam`, and `restype`. These + * parameters are used by function `tfunc_temporal`, which applies the lifted + * function to every instant of the temporal value. The remaining parameters + * are used by functions `tfunc_temporal_base` and `tfunc_temporal_temporal` + * that apply the lifted function to two base values. + */ + +#define MAX_PARAMS 1 +#define MAX_ARGS 2 + +typedef struct +{ + varfunc func; /**< Variadic function that is lifted */ + int numparam; /**< Number of parameters of the function */ + Datum param[MAX_PARAMS]; /**< Datum array for the parameters of the function */ + MeosType argtype[MAX_ARGS]; /**< Type of the arguments of the function */ + MeosType restype; /**< Type of the result of the function */ + bool reslinear; /**< True if the result has linear interpolation */ + bool invert; /**< True if the arguments of the function must be inverted */ + bool discont; /**< True if the function has instantaneous discontinuities */ + bool ever; /**< True/false when computing the ever/always semantics */ + tpfunc_unary tpfn_unary; /**< Turning point function for unary lifts */ + tpfunc_base tpfn_base; /**< Turning point function for temporal and base types*/ + tpfunc_temp tpfn_temp; /**< Turning point function for two temporal types */ +} LiftedFunctionInfo; + +/*****************************************************************************/ + +extern TInstant *tfunc_tinstant(const TInstant *inst, + LiftedFunctionInfo *lfinfo); +extern TSequence *tfunc_tsequence(const TSequence *seq, + LiftedFunctionInfo *lfinfo); +extern TSequenceSet *tfunc_tsequenceset(const TSequenceSet *ss, + LiftedFunctionInfo *lfinfo); +extern Temporal *tfunc_temporal(const Temporal *temp, + LiftedFunctionInfo *lfinfo); + +extern TInstant *tfunc_tinstant_base(const TInstant *inst, Datum value, + LiftedFunctionInfo *lfinfo); +extern TSequence *tfunc_tsequence_base(const TSequence *seq, Datum value, + LiftedFunctionInfo *lfinfo); +extern TSequenceSet *tfunc_tsequenceset_base(const TSequenceSet *ss, Datum value, + LiftedFunctionInfo *lfinfo); +extern Temporal *tfunc_temporal_base(const Temporal *temp, Datum value, + LiftedFunctionInfo *lfinfo); + +extern TInstant *tfunc_tinstant_tinstant(const TInstant *inst1, + const TInstant *inst2, LiftedFunctionInfo *lfinfo); +extern TSequence *tfunc_tdiscseq_tdiscseq(const TSequence *seq1, + const TSequence *seq2, LiftedFunctionInfo *lfinfo); +extern Temporal *tfunc_tcontseq_tcontseq(const TSequence *seq1, + const TSequence *seq2, LiftedFunctionInfo *lfinfo); +extern TSequenceSet *tfunc_tsequenceset_tsequenceset(const TSequenceSet *ss1, + const TSequenceSet *ss2, LiftedFunctionInfo *lfinfo); +extern Temporal *tfunc_temporal_temporal(const Temporal *temp1, + const Temporal *temp2, LiftedFunctionInfo *lfinfo); + +/*****************************************************************************/ + +extern int eafunc_temporal_base(const Temporal *temp, Datum value, + LiftedFunctionInfo *lfinfo); +extern int eafunc_temporal_temporal(const Temporal *temp1, + const Temporal *temp2, LiftedFunctionInfo *lfinfo); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/meos_catalog.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/meos_catalog.h new file mode 100644 index 000000000..ffdf54d94 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/meos_catalog.h @@ -0,0 +1,311 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for building a cache of temporal types and operators. + */ + +#ifndef __MEOS_CATALOG_H__ +#define __MEOS_CATALOG_H__ + +/* C */ +#include +/* PostgreSQL */ +#ifndef int16 +typedef signed short int16; +#endif +/* MEOS */ +#include + +/***************************************************************************** + * Data structures + *****************************************************************************/ + +/** + * @brief Enumeration that defines the built-in and temporal types used in + * MobilityDB. + */ +typedef enum +{ + T_UNKNOWN = 0, /**< unknown type */ + T_BOOL = 1, /**< boolean type */ + T_DATE = 2, /**< date type */ + T_DATEMULTIRANGE = 3, /**< PostgreSQL date multirange type */ + T_DATERANGE = 4, /**< PostgreSQL date range type */ + T_DATESET = 5, /**< date set type */ + T_DATESPAN = 6, /**< date span type */ + T_DATESPANSET = 7, /**< date span set type */ + T_DOUBLE2 = 8, /**< double2 type */ + T_DOUBLE3 = 9, /**< double3 type */ + T_DOUBLE4 = 10, /**< double4 type */ + T_FLOAT8 = 11, /**< float8 type */ + T_FLOATSET = 12, /**< float8 set type */ + T_FLOATSPAN = 13, /**< float8 span type */ + T_FLOATSPANSET = 14, /**< float8 span set type */ + T_INT4 = 15, /**< int4 type */ + T_INT4MULTIRANGE = 16, /**< PostgreSQL int4 multirange type */ + T_INT4RANGE = 17, /**< PostgreSQL int4 range type */ + T_INTSET = 18, /**< int4 set type */ + T_INTSPAN = 19, /**< int4 span type */ + T_INTSPANSET = 20, /**< int4 span set type */ + T_INT8 = 21, /**< int8 type */ + T_INT8MULTIRANGE = 52, /**< PostgreSQL int8 multirange type */ + T_INT8RANGE = 53, /**< PostgreSQL int8 range type */ + T_BIGINTSET = 22, /**< int8 set type */ + T_BIGINTSPAN = 23, /**< int8 span type */ + T_BIGINTSPANSET = 24, /**< int8 span set type */ + T_STBOX = 25, /**< spatiotemporal box type */ + T_TBOOL = 26, /**< temporal boolean type */ + T_TBOX = 27, /**< temporal box type */ + T_TDOUBLE2 = 28, /**< temporal double2 type */ + T_TDOUBLE3 = 29, /**< temporal double3 type */ + T_TDOUBLE4 = 30, /**< temporal double4 type */ + T_TEXT = 31, /**< text type */ + T_TEXTSET = 32, /**< text type */ + T_TFLOAT = 33, /**< temporal float type */ + T_TIMESTAMPTZ = 34, /**< timestamp with time zone type */ + T_TINT = 35, /**< temporal integer type */ + T_TSTZMULTIRANGE = 36, /**< PostgreSQL timestamp with time zone multirange type */ + T_TSTZRANGE = 37, /**< PostgreSQL timestamp with time zone range type */ + T_TSTZSET = 38, /**< timestamptz set type */ + T_TSTZSPAN = 39, /**< timestamptz span type */ + T_TSTZSPANSET = 40, /**< timestamptz span set type */ + T_TTEXT = 41, /**< temporal text type */ + T_GEOMETRY = 42, /**< geometry type */ + T_GEOMSET = 43, /**< geometry set type */ + T_GEOGRAPHY = 44, /**< geography type */ + T_GEOGSET = 45, /**< geography set type */ + T_TGEOMPOINT = 46, /**< temporal geometry point type */ + T_TGEOGPOINT = 47, /**< temporal geography point type */ + T_NPOINT = 48, /**< network point type */ + T_NPOINTSET = 49, /**< network point set type */ + T_NSEGMENT = 50, /**< network segment type */ + T_TNPOINT = 51, /**< temporal network point type */ + T_POSE = 54, /**< pose type */ + T_POSESET = 55, /**< pose set type */ + T_TPOSE = 56, /**< temporal pose type */ + T_CBUFFER = 57, /**< buffer type */ + T_CBUFFERSET = 58, /**< buffer set type */ + T_TCBUFFER = 59, /**< temporal buffer type */ + T_TGEOMETRY = 60, /**< temporal geometry type */ + T_TGEOGRAPHY = 61, /**< temporal geography type */ + T_TRGEOMETRY = 62, /**< temporal rigid geometry type */ + NUM_MEOS_TYPES /* Dummy value that determines the size of the + * lookup array MeosType -> Oid */ +} MeosType; + +/** + * Enumeration that defines the classes of Boolean operators used in + * MobilityDB. + */ +typedef enum +{ + UNKNOWN_OP = 0, + EQ_OP = 1, /**< Equality `=` operator */ + NE_OP = 2, /**< Distinct `!=` operator */ + LT_OP = 3, /**< Less than `<` operator */ + LE_OP = 4, /**< Less than or equal to `<=` operator */ + GT_OP = 5, /**< Greater than `<` operator */ + GE_OP = 6, /**< Greater than or equal to `>=` operator */ + ADJACENT_OP = 7, /**< Adjacent `-|-` operator */ + UNION_OP = 8, /**< Union `+` operator */ + MINUS_OP = 9, /**< Minus `-` operator */ + INTERSECT_OP = 10, /**< Intersection `*` operator */ + OVERLAPS_OP = 11, /**< Overlaps `&&` operator */ + CONTAINS_OP = 12, /**< Contains `@>` operator */ + CONTAINED_OP = 13, /**< Contained `<@` operator */ + SAME_OP = 14, /**< Same `~=` operator */ + LEFT_OP = 15, /**< Left `<<` operator */ + OVERLEFT_OP = 16, /**< Overleft `&<` operator */ + RIGHT_OP = 17, /**< Right `>>` operator */ + OVERRIGHT_OP = 18, /**< Overright `&>` operator */ + BELOW_OP = 19, /**< Below `<<|` operator */ + OVERBELOW_OP = 20, /**< Overbelow `&<|` operator */ + ABOVE_OP = 21, /**< Above `|>>` operator */ + OVERABOVE_OP = 22, /**< Overbove `|&>` operator */ + FRONT_OP = 23, /**< Front `<>` operator */ + OVERBACK_OP = 26, /**< Overback `/&>` operator */ + BEFORE_OP = 27, /**< Before `<<#` operator */ + OVERBEFORE_OP = 28, /**< Overbefore `&<#` operator */ + AFTER_OP = 29, /**< After `#>>` operator */ + OVERAFTER_OP = 30, /**< Overafter `#&>` operator */ + EVEREQ_OP = 31, /**< Evereq `?=` operator */ + EVERNE_OP = 32, /**< Everne `?<>` operator */ + EVERLT_OP = 33, /**< Everlt `?<` operator */ + EVERLE_OP = 34, /**< Everle `?<=` operator */ + EVERGT_OP = 35, /**< Evergt `?>` operator */ + EVERGE_OP = 36, /**< Everge `?>=` operator */ + ALWAYSEQ_OP = 37, /**< Alwayseq `%=` operator */ + ALWAYSNE_OP = 38, /**< Alwaysne `%<>` operator */ + ALWAYSLT_OP = 39, /**< Alwayslt `%<` operator */ + ALWAYSLE_OP = 40, /**< Alwaysle `%<=` operator */ + ALWAYSGT_OP = 41, /**< Alwaysgt `%>` operator */ + ALWAYSGE_OP = 42, /**< Alwaysge `%>=` operator */ +} meosOper; + +/** + * Structure to represent the temporal type cache array. + */ +typedef struct +{ + MeosType temptype; /**< Enum value of the temporal type */ + MeosType basetype; /**< Enum value of the base type */ +} temptype_catalog_struct; + +/** + * Structure to represent the span type cache array. + */ +typedef struct +{ + MeosType settype; /**< Enum value of the set type */ + MeosType basetype; /**< Enum value of the base type */ +} settype_catalog_struct; + +/** + * Structure to represent the span type cache array. + */ +typedef struct +{ + MeosType spantype; /**< Enum value of the span type */ + MeosType basetype; /**< Enum value of the base type */ +} spantype_catalog_struct; + +/** + * Structure to represent the spanset type cache array. + */ +typedef struct +{ + MeosType spansettype; /**< Enum value of the span type */ + MeosType spantype; /**< Enum value of the base type */ +} spansettype_catalog_struct; + +/*****************************************************************************/ + +#ifndef NDEBUG +extern bool temptype_subtype(tempSubtype subtype); +extern bool temptype_subtype_all(tempSubtype subtype); +#endif +extern const char *tempsubtype_name(tempSubtype subtype); +extern bool tempsubtype_from_string(const char *str, int16 *subtype); +extern const char *meosoper_name(meosOper oper); +extern meosOper meosoper_from_string(const char *name); +extern const char *interptype_name(interpType interp); +extern interpType interptype_from_string(const char *interp_str); + +/* Type conversion functions */ + +extern const char *meostype_name(MeosType type); +extern MeosType temptype_basetype(MeosType type); +extern MeosType settype_basetype(MeosType type); +extern MeosType spantype_basetype(MeosType type); +extern MeosType spantype_spansettype(MeosType type); +extern MeosType spansettype_spantype(MeosType type); +extern MeosType basetype_spantype(MeosType type); +extern MeosType basetype_settype(MeosType type); + +/* Catalog functions */ + +extern bool tnumber_basetype(MeosType type); +extern bool geo_basetype(MeosType type); +#ifndef NDEBUG +extern bool meos_basetype(MeosType type); +extern bool alphanum_basetype(MeosType type); +extern bool alphanum_temptype(MeosType type); +#endif + +extern bool time_type(MeosType type); +#ifndef NDEBUG +extern bool set_basetype(MeosType type); +#endif + +extern bool set_type(MeosType type); +extern bool numset_type(MeosType type); +extern bool ensure_numset_type(MeosType type); +extern bool timeset_type(MeosType type); +extern bool set_spantype(MeosType type); +extern bool ensure_set_spantype(MeosType type); +extern bool alphanumset_type(MeosType settype); +extern bool geoset_type(MeosType type); +extern bool ensure_geoset_type(MeosType type); +extern bool spatialset_type(MeosType type); +extern bool ensure_spatialset_type(MeosType type); + +extern bool span_basetype(MeosType type); +extern bool span_canon_basetype(MeosType type); +extern bool span_type(MeosType type); +extern bool type_span_bbox(MeosType type); +extern bool span_tbox_type(MeosType type); +extern bool ensure_span_tbox_type(MeosType type); +extern bool numspan_basetype(MeosType type); +extern bool numspan_type(MeosType type); +extern bool ensure_numspan_type(MeosType type); +extern bool timespan_basetype(MeosType type); +extern bool timespan_type(MeosType type); + +extern bool spanset_type(MeosType type); +extern bool timespanset_type(MeosType type); +extern bool ensure_timespanset_type(MeosType type); + +extern bool temporal_type(MeosType type); +#ifndef NDEBUG +extern bool temporal_basetype(MeosType type); +#endif +extern bool temptype_supports_linear(MeosType type); +extern bool basetype_byvalue(MeosType type); +extern bool basetype_varlength(MeosType type); +extern int16 meostype_length(MeosType type); +#ifndef NDEBUG +extern bool talphanum_type(MeosType type); +#endif +extern bool talpha_type(MeosType type); +extern bool tnumber_type(MeosType type); +extern bool ensure_tnumber_type(MeosType type); +extern bool ensure_tnumber_basetype(MeosType type); +extern bool tnumber_spantype(MeosType type); +extern bool spatial_basetype(MeosType type); +extern bool tspatial_type(MeosType type); +extern bool ensure_tspatial_type(MeosType type); +extern bool tpoint_type(MeosType type); +extern bool ensure_tpoint_type(MeosType type); +extern bool tgeo_type(MeosType type); +extern bool ensure_tgeo_type(MeosType type); +extern bool tgeo_type_all(MeosType type); +extern bool ensure_tgeo_type_all(MeosType type); +extern bool tgeometry_type(MeosType type); +extern bool ensure_tgeometry_type(MeosType type); +extern bool tgeodetic_type(MeosType type); +extern bool ensure_tgeodetic_type(MeosType type); +extern bool ensure_tnumber_tpoint_type(MeosType type); + +/*****************************************************************************/ + +#endif /* __MEOS_CATALOG_H__ */ + diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/postgres_types.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/postgres_types.h new file mode 100644 index 000000000..7c671abd0 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/postgres_types.h @@ -0,0 +1,114 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for base and time types corresponding to external + * PostgreSQL functions in order to bypass the function manager @p fmgr.c. + */ + +#ifndef POSTGRES_TYPES_H +#define POSTGRES_TYPES_H + +/* PostgreSQL */ +#include +#if MEOS +#include "postgres_int_defs.h" +#else +#include +#include +#endif /* MEOS */ + +#if POSTGRESQL_VERSION_NUMBER < 170000 +/* + * Infinite intervals are represented by setting all fields to the minimum or + * maximum integer values. + */ +#define INTERVAL_NOBEGIN(i) \ + do { \ + (i)->time = PG_INT64_MIN; \ + (i)->day = PG_INT32_MIN; \ + (i)->month = PG_INT32_MIN; \ + } while (0) + +#define INTERVAL_IS_NOBEGIN(i) \ + ((i)->month == PG_INT32_MIN && (i)->day == PG_INT32_MIN && (i)->time == PG_INT64_MIN) + +#define INTERVAL_NOEND(i) \ + do { \ + (i)->time = PG_INT64_MAX; \ + (i)->day = PG_INT32_MAX; \ + (i)->month = PG_INT32_MAX; \ + } while (0) + +#define INTERVAL_IS_NOEND(i) \ + ((i)->month == PG_INT32_MAX && (i)->day == PG_INT32_MAX && (i)->time == PG_INT64_MAX) + +#define INTERVAL_NOT_FINITE(i) (INTERVAL_IS_NOBEGIN(i) || INTERVAL_IS_NOEND(i)) +#endif /* POSTGRESQL_VERSION_NUMBER < 170000 */ + +/* Functions adapted from int.c */ + +extern int32 int4_in(const char *str); +extern char *int4_out(int32 val); + +/* Functions adapted from int8.c */ + +extern int64 int8_in(const char *str); +extern char *int8_out(int64 val); + +/* Functions adapted from float.c */ + +extern float8 float8_in(const char *num, const char *type_name, + const char *orig_string); +extern char *float8_out(double num, int maxdd); +extern float8 pg_dsin(float8 arg1); +extern float8 pg_dcos(float8 arg1); +extern float8 pg_datan(float8 arg1); +extern float8 pg_datan2(float8 arg1, float8 arg2); + +/* Functions adadpted from timestamp.c */ + +extern Interval *interval_negate(const Interval *interval); +extern Interval *pg_interval_justify_hours(const Interval *span); + +/* Functions adapted from hashfn.h and hashfn.c */ + +extern uint32 hash_bytes_uint32(uint32 k); +extern uint32 pg_hashint8(int64 val); +extern uint32 pg_hashfloat8(float8 key); +extern uint64 hash_bytes_uint32_extended(uint32 k, uint64 seed); +extern uint64 pg_hashint8extended(int64 val, uint64 seed); +extern uint64 pg_hashfloat8extended(float8 key, uint64 seed); +extern uint32 pg_hashtext(text *key); +extern uint64 pg_hashtextextended(text *key, uint64 seed); + +/*****************************************************************************/ + +#endif /* POSTGRES_TYPES_H */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/set.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/set.h new file mode 100644 index 000000000..3a5bf71b1 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/set.h @@ -0,0 +1,95 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for set of (distinct) timestamps. + */ + +#ifndef __SET_H__ +#define __SET_H__ + +/*****************************************************************************/ + +/* + * fmgr macros for ordered set types + */ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" +#include "temporal/temporal.h" + +#if MEOS + #define DatumGetSetP(X) ((Set *) DatumGetPointer(X)) +#else + #define DatumGetSetP(X) ((Set *) PG_DETOAST_DATUM(X)) +#endif /* MEOS */ +#define SetPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_SET_P(X) ((Set *) PG_GETARG_VARLENA_P(X)) +#define PG_RETURN_SET_P(X) PG_RETURN_POINTER(X) + +#define MINIDX 0 +#define MAXIDX count - 1 + +/***************************************************************************** + * Struct definition for the unnest operation + *****************************************************************************/ + +/** + * Structure to represent information about an entry that can be placed + * to either group without affecting overlap over selected axis ("common entry"). + */ +typedef struct +{ + bool done; + int i; + int count; + Set *set; /* Set to unnest */ + Datum *values; /* Values obtained by getValues(temp) */ +} SetUnnestState; + +/*****************************************************************************/ + +/* General functions */ + +extern char *set_out_fn(const Set *s, int maxdd, outfunc value_out); + +extern bool ensure_set_isof_type(const Set *s, MeosType settype); +extern bool ensure_valid_set_set(const Set *s1, const Set *s2); + +extern bool set_find_value(const Set *s, Datum, int *loc); + +extern SetUnnestState *set_unnest_state_make(const Set *set); +extern void set_unnest_state_next(SetUnnestState *state); + +/*****************************************************************************/ + +#endif /* __SET_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/skiplist.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/skiplist.h new file mode 100644 index 000000000..546c5ba00 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/skiplist.h @@ -0,0 +1,62 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Skiplist data structure used for performing temporal aggregates + */ + +#ifndef __SKIPLIST_H__ +#define __SKIPLIST_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/***************************************************************************** + * fmgr macros + *****************************************************************************/ + +#define DatumGetSkipListP(X) ((SkipList *) DatumGetPointer(X)) +#define SkipListPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_SKIPLIST_P(n) DatumGetSkipListP(PG_GETARG_DATUM(n)) +#define PG_RETURN_SKIPLIST_P(x) return SkipListPGetDatum(x) + +/*****************************************************************************/ + +extern bool ensure_same_skiplist_subtype(SkipList *state, uint8 subtype); + +extern void skiplist_set_extra(SkipList *state, void *data, size_t size); +extern void *skiplist_headval(SkipList *list); + + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/span.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/span.h new file mode 100644 index 000000000..c38c66e73 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/span.h @@ -0,0 +1,117 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic routines for spans (a.k.a. ranges) composed of two `Datum` + * values and two Boolean values stating whether the bounds are inclusive. + */ + +#ifndef __SPAN_H__ +#define __SPAN_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/** + * Internal representation of either bound of a span (not what's on disk) + */ +typedef struct +{ + Datum val; /**< bound value */ + bool inclusive; /**< bound is inclusive (vs exclusive) */ + bool lower; /**< this is the lower (vs upper) bound */ + uint8 spantype; /**< span type */ + uint8 basetype; /**< span basetype */ +} SpanBound; + +/* + * fmgr macros for span types + */ + +#define DatumGetSpanP(X) ((Span *) DatumGetPointer(X)) +#define SpanPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_SPAN_P(X) DatumGetSpanP(PG_GETARG_DATUM(X)) +#define PG_RETURN_SPAN_P(X) PG_RETURN_POINTER(X) + +#if MEOS + #define DatumGetSpanSetP(X) ((SpanSet *) DatumGetPointer(X)) +#else + #define DatumGetSpanSetP(X) ((SpanSet *) PG_DETOAST_DATUM(X)) +#endif /* MEOS */ +#define SpanSetPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_SPANSET_P(X) ((SpanSet *) PG_GETARG_VARLENA_P(X)) +#define PG_RETURN_SPANSET_P(X) PG_RETURN_POINTER(X) + +/*****************************************************************************/ + +/* General functions */ + +extern bool ensure_span_isof_type(const Span *s, MeosType spantype); +extern bool ensure_span_isof_basetype(const Span *s, MeosType basetype); +extern bool ensure_same_span_type(const Span *s1, const Span *s2); +extern bool ensure_valid_span_span(const Span *s1, const Span *s2); + +extern void span_deserialize(const Span *s, SpanBound *lower, + SpanBound *upper); +extern int span_bound_cmp(const SpanBound *b1, const SpanBound *b2); +extern int span_bound_qsort_cmp(const void *s1, const void *s2); +extern int span_lower_cmp(const Span *s1, const Span *s2); +extern int span_upper_cmp(const Span *s1, const Span *s2); +extern Datum span_decr_bound(Datum upper, MeosType basetype); +extern Datum span_incr_bound(Datum upper, MeosType basetype); +extern Span *spanarr_normalize(Span *spans, int count, bool sort, + int *newcount); +extern void span_bounds_shift_scale_value(Datum shift, Datum width, + MeosType type, bool hasshift, bool haswidth, Datum *lower, Datum *upper); +extern void span_bounds_shift_scale_time(const Interval *shift, + const Interval *duration, TimestampTz *lower, TimestampTz *upper); +extern void floatspan_floor_ceil_iter(Span *s, datum_func1 func); +extern void numspan_delta_scale_iter(Span *s, Datum origin, Datum delta, + bool hasdelta, double scale); +extern void tstzspan_delta_scale_iter(Span *s, TimestampTz origin, + TimestampTz delta, double scale); +extern void numspan_shift_scale_iter(Span *s, Datum shift, Datum width, + bool hasshift, bool haswidth, Datum *delta, double *scale); +extern void tstzspan_shift_scale1(Span *s, const Interval *shift, + const Interval *duration, TimestampTz *delta, double *scale); + +extern int mi_span_span(const Span *s1, const Span *s2, Span *result); +extern int mi_span_value(const Span *s, Datum value, Span *result); + +extern double dist_double_value_value(Datum l, Datum r, MeosType type); + +/*****************************************************************************/ + +#endif /* __SPAN_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/span_index.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/span_index.h new file mode 100644 index 000000000..7f91674f7 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/span_index.h @@ -0,0 +1,56 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic routines for indexing spans + */ + +#ifndef __SPAN_INDEX_H__ +#define __SPAN_INDEX_H__ + +/* PostgreSQL */ +#include +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern int common_entry_cmp(const void *i1, const void *i2); + +extern bool span_index_leaf_consistent(const Span *key, const Span *query, + StrategyNumber strategy); +extern bool span_gist_inner_consistent(const Span *key, const Span *query, + StrategyNumber strategy); +extern bool span_index_recheck(StrategyNumber strategy); + +/*****************************************************************************/ + +#endif /* __SPAN_INDEX_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/spanset.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/spanset.h new file mode 100644 index 000000000..c0bae9aff --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/spanset.h @@ -0,0 +1,58 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for set of disjoint spans. + */ + +#ifndef __SPANSET_H__ +#define __SPANSET_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/* General functions */ + +extern bool ensure_spanset_isof_type(const SpanSet *ss, MeosType spansettype); +extern bool ensure_same_spanset_type(const SpanSet *ss1, const SpanSet *ss2); +extern bool ensure_same_spanset_span_type(const SpanSet *ss, const Span *s); +extern bool ensure_valid_spanset_span(const SpanSet *ss, const Span *s); +extern bool ensure_valid_spanset_spanset(const SpanSet *ss1, + const SpanSet *ss2); + +extern bool spanset_find_value(const SpanSet *ss, Datum v, int *loc); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/stratnum.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/stratnum.h new file mode 100644 index 000000000..8fd50ef9c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/stratnum.h @@ -0,0 +1,105 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Strategy numbers for MEOS indexes + * @note Definitions borrowed from startnum.h + */ + +#ifndef __STRATNUM_H__ +#define __STRATNUM_H__ + +/* PostgreSQL */ +#include + +/*****************************************************************************/ + +#if ! MEOS +/* + * Strategy numbers identify the semantics that particular operators have + * with respect to particular operator classes. In some cases a strategy + * subtype (an OID) is used as further information. + */ +typedef uint16 StrategyNumber; + +#define InvalidStrategy ((StrategyNumber) 0) + +/* + * Strategy numbers common to (some) GiST, SP-GiST and BRIN opclasses. + * + * The first few of these come from the R-Tree indexing method (hence the + * names); the others have been added over time as they have been needed. + */ +#define RTLeftStrategyNumber 1 /* for << */ +#define RTOverLeftStrategyNumber 2 /* for &< */ +#define RTOverlapStrategyNumber 3 /* for && */ +#define RTOverRightStrategyNumber 4 /* for &> */ +#define RTRightStrategyNumber 5 /* for >> */ +#define RTSameStrategyNumber 6 /* for ~= */ +#define RTContainsStrategyNumber 7 /* for @> */ +#define RTContainedByStrategyNumber 8 /* for <@ */ +#define RTOverBelowStrategyNumber 9 /* for &<| */ +#define RTBelowStrategyNumber 10 /* for <<| */ +#define RTAboveStrategyNumber 11 /* for |>> */ +#define RTOverAboveStrategyNumber 12 /* for |&> */ +#define RTOldContainsStrategyNumber 13 /* for old spelling of @> */ +#define RTOldContainedByStrategyNumber 14 /* for old spelling of <@ */ +#define RTKNNSearchStrategyNumber 15 /* for <-> (distance) */ +#define RTContainsElemStrategyNumber 16 /* for range types @> elem */ +#define RTAdjacentStrategyNumber 17 /* for -|- */ +#define RTEqualStrategyNumber 18 /* for = */ +#define RTNotEqualStrategyNumber 19 /* for != */ +#define RTLessStrategyNumber 20 /* for < */ +#define RTLessEqualStrategyNumber 21 /* for <= */ +#define RTGreaterStrategyNumber 22 /* for > */ +#define RTGreaterEqualStrategyNumber 23 /* for >= */ +#define RTSubStrategyNumber 24 /* for inet >> */ +#define RTSubEqualStrategyNumber 25 /* for inet <<= */ +#define RTSuperStrategyNumber 26 /* for inet << */ +#define RTSuperEqualStrategyNumber 27 /* for inet >>= */ +#define RTPrefixStrategyNumber 28 /* for text ^@ */ +#define RTOldBelowStrategyNumber 29 /* for old spelling of <<| */ +#define RTOldAboveStrategyNumber 30 /* for old spelling of |>> */ + +#endif /* ! MEOS */ + +/* Additional operator strategy numbers used for temporal types */ + +#define RTOverBeforeStrategyNumber 28 /* for &<# */ +#define RTBeforeStrategyNumber 29 /* for <<# */ +#define RTAfterStrategyNumber 30 /* for #>> */ +#define RTOverAfterStrategyNumber 31 /* for #&> */ +#define RTOverFrontStrategyNumber 32 /* for &> */ +#define RTOverBackStrategyNumber 35 /* for /&> */ + +/*****************************************************************************/ + +#endif /* __STRATNUM_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbool_ops.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbool_ops.h new file mode 100644 index 000000000..ed0a7cb79 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbool_ops.h @@ -0,0 +1,55 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal Boolean operators (and, or, not). + */ + +#ifndef __TBOOL_BOOLOPS_H__ +#define __TBOOL_BOOLOPS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern Datum datum_and(Datum l, Datum r); +extern Datum datum_or(Datum l, Datum r); + +extern Temporal *boolop_tbool_bool(const Temporal *temp, Datum b, + datum_func2 func, bool invert); +extern Temporal *boolop_tbool_tbool(const Temporal *temp1, + const Temporal *temp2, datum_func2 func); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox.h new file mode 100644 index 000000000..305d99c86 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox.h @@ -0,0 +1,67 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for temporal bounding boxes. + */ + +#ifndef __TBOX_H__ +#define __TBOX_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include + +/*****************************************************************************/ + +/* fmgr macros temporal types */ + +#define DatumGetTboxP(X) ((TBox *) DatumGetPointer(X)) +#define TboxPGetDatum(X) PointerGetDatum(X) +#define PG_GETARG_TBOX_P(n) DatumGetTboxP(PG_GETARG_DATUM(n)) +#define PG_RETURN_TBOX_P(x) return TboxPGetDatum(x) + +/*****************************************************************************/ + +/* Parameter tests */ + +extern bool ensure_same_dimensionality_tbox(const TBox *box1, const TBox *box2); + +/* Conversion */ + +extern TBox *set_tbox(const Set *s); +extern TBox *span_tbox(const Span *s); +extern Span *tbox_tstzspan(const TBox *box); +extern Span *tbox_intspan(const TBox *box); +extern Span *tbox_floatspan(const TBox *box); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox_index.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox_index.h new file mode 100644 index 000000000..44bee0773 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tbox_index.h @@ -0,0 +1,54 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic routines for indexing temporal values + */ + +#ifndef __TBOX_INDEX_H__ +#define __TBOX_INDEX_H__ + +/* PostgreSQL */ +#include +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern bool tbox_index_leaf_consistent(const TBox *key, const TBox *query, + StrategyNumber strategy); +extern bool tbox_gist_inner_consistent(const TBox *key, const TBox *query, + StrategyNumber strategy); +extern bool tbox_index_recheck(StrategyNumber strategy); + +/*****************************************************************************/ + +#endif /* __TBOX_INDEX_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal.h new file mode 100644 index 000000000..ceff7374f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal.h @@ -0,0 +1,444 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for temporal types of any subtype. + */ + +#ifndef __TEMPORAL_H__ +#define __TEMPORAL_H__ + +/* PostgreSQL */ +#include +#if POSTGRESQL_VERSION_NUMBER >= 160000 + #include "varatt.h" +#endif +/* MEOS */ +#include +#include +#include +#include "temporal/doublen.h" +#include "temporal/meos_catalog.h" + +/* To avoid including pg_collation_d */ +#define DEFAULT_COLLATION_OID 100 +#define C_COLLATION_OID 950 +#define POSIX_COLLATION_OID 951 + +#ifndef FMGR_H + /* To avoid including fmgr.h However this implies that the text values must + * be ALWAYS detoasted */ + #define DatumGetTextP(X) ((text *) DatumGetPointer(X)) // ((text *) PG_DETOAST_DATUM(X)) +#endif /* FMGR_H */ + +/** + * Floating point precision + */ +#define MEOS_EPSILON 1.0e-06 +#define MEOS_FP_EQ(A, B) (fabs((A)-(B)) <= MEOS_EPSILON) +#define MEOS_FP_NE(A, B) (fabs((A)-(B)) > MEOS_EPSILON) +#define MEOS_FP_LT(A, B) (((A) + MEOS_EPSILON) < (B)) +#define MEOS_FP_LE(A, B) (((A) - MEOS_EPSILON) <= (B)) +#define MEOS_FP_GT(A, B) (((A) - MEOS_EPSILON) > (B)) +#define MEOS_FP_GE(A, B) (((A) + MEOS_EPSILON) >= (B)) + +/** + * Precision for distance operations + */ +#define DIST_EPSILON 1.0e-06 + +#define UNUSED __attribute__((unused)) + +/** Symbolic constants for lifting */ +#define DISCONTINUOUS true +#define CONTINUOUS false + +/** Symbolic constants for sets and for normalizing spans */ +#define ORDER true +#define ORDER_NO false + +/** Symbolic constants for the output of string elements */ +#define QUOTES true +#define QUOTES_NO false + +/** Symbolic constants for the output of string elements */ +#define SPACES true +#define SPACES_NO false + +/** Symbolic constants for lifting */ +#define INVERT true +#define INVERT_NO false + +/** Symbolic constants for the restriction functions */ +#define REST_AT true +#define REST_MINUS false + +/** Symbolic constants for the restriction functions with boxes */ +#define BORDER_INC true +#define BORDER_EXC false + +/** Symbolic constants for the ever/always functions */ +#define EVER true +#define ALWAYS false + +/** Symbolic constants for the temporal point/geo functions */ +#define TPOINT true +#define TGEO false + +/** Symbolic constants for the restriction and the aggregation functions */ +#define GET_MIN true +#define GET_MAX false + +/** Symbolic constants for the synchronization and the aggregation functions */ +#define CROSSINGS true +#define CROSSINGS_NO false + +/** Symbolic constants for the synchronization and the aggregation functions */ +#define BBOX_TEST true +#define BBOX_TEST_NO false + +/** Symbolic constants for the make functions */ +#define MERGE true +#define MERGE_NO false + +#define NORMALIZE true +#define NORMALIZE_NO false + +/** Symbolic constants for spatial relationships */ +#define WITH_Z true +#define NO_Z false + +/** Symbolic constants for the span selectivity functions */ +#define VALUE_SEL true +#define TIME_SEL false + +/** Symbolic constants for the restriction functions */ +#define UPPER_EXC true +#define TIME_SEL false + +/** Symbolic constants for trajectory function */ +#define UNARY_UNION true +#define UNARY_UNION_NO false + +/** Enumeration for the intersection/synchronization functions */ +typedef enum +{ + SYNCHRONIZE_NOCROSS, + SYNCHRONIZE_CROSS, +} SyncMode; + +/** Enumeration for the families of temporal types */ +typedef enum +{ + TEMPORALTYPE, + TNUMBERTYPE, + TSPATIALTYPE, +} TemporalFamily; + +/** Enumeration for the set operations of span and temporal types */ +typedef enum +{ + UNION, + INTER, + MINUS +} SetOper; + +/** Enumeration for the comparison operations */ +typedef enum +{ + EQ, + NE, + LT, + LE, + GT, + GE +} CompOper; + +/* PostgreSQL removed pg_atoi in version 15 */ +#if POSTGRESQL_VERSION_NUMBER >= 150000 + extern int32 pg_strtoint32(const char *s); +#else + /* To avoid including */ + extern int32 pg_atoi(const char *s, int size, int c); +#endif /* POSTGRESQL_VERSION_NUMBER >= 150000 */ + +/***************************************************************************** + * Additional operator strategy numbers used in the GiST and SP-GiST temporal + * opclasses with respect to those defined in the file stratnum.h + *****************************************************************************/ + +#define RTOverBeforeStrategyNumber 28 /* for &<# */ +#define RTBeforeStrategyNumber 29 /* for <<# */ +#define RTAfterStrategyNumber 30 /* for #>> */ +#define RTOverAfterStrategyNumber 31 /* for #&> */ +#define RTOverFrontStrategyNumber 32 /* for &> */ +#define RTOverBackStrategyNumber 35 /* for /&> */ + +/***************************************************************************** + * Well-Known Binary (WKB) + *****************************************************************************/ + +/* Data type size */ +#define MEOS_WKB_BYTE_SIZE 1 +#define MEOS_WKB_INT2_SIZE 2 +#define MEOS_WKB_INT4_SIZE 4 +#define MEOS_WKB_INT8_SIZE 8 +#define MEOS_WKB_DOUBLE_SIZE 8 +#define MEOS_WKB_DATE_SIZE 4 +#define MEOS_WKB_TIMESTAMP_SIZE 8 + +/* Temporal subtype */ +enum MEOS_WKB_TSUBTYPE +{ + MEOS_WKB_TINSTANT = 1, /**< temporal instant subtype */ + MEOS_WKB_TSEQUENCE = 2, /**< temporal sequence subtype */ + MEOS_WKB_TSEQUENCESET = 3, /**< temporal sequence set subtype */ +}; + +/* Span bounds */ +#define MEOS_WKB_LOWER_INC 0x01 +#define MEOS_WKB_UPPER_INC 0x02 + +/* Machine endianness */ +#define XDR 0 /* big endian */ +#define NDR 1 /* little endian */ + +/* Variation flags + * The first byte of the variation flag depends on the type we are sending + * - Set types: xxxO where O states whether the set is ordered or not + * - Box types: xxTX where X and T state whether the corresponding dimensions + * are present + * - Temporal types: xxSS where SS correspond to the subtype + * and x are unused bits + */ +#define MEOS_WKB_ORDERED 0x01 // 1 +#define MEOS_WKB_XFLAG 0x01 // 1 +#define MEOS_WKB_TFLAG 0x02 // 2 +#define MEOS_WKB_INTERPFLAGS 0x0C // 4 + 8 +#define MEOS_WKB_ZFLAG 0x10 // 16 +#define MEOS_WKB_GEODETICFLAG 0x20 // 32 +#define MEOS_WKB_SRIDFLAG 0x40 // 64 + +#define MEOS_WKB_GET_INTERP(flags) (((flags) & MEOS_WKB_INTERPFLAGS) >> 2) +#define MEOS_WKB_SET_INTERP(flags, value) ((flags) = (((flags) & ~MEOS_WKB_INTERPFLAGS) | ((value & 0x0003) << 2))) + +// #define MEOS_WKB_GET_LINEAR(flags) ((bool) (((flags) & MEOS_WKB_LINEARFLAG)>>3)) + +/***************************************************************************** + * Definitions for binning and tiling + *****************************************************************************/ + +/* + * The default origin is Monday 2000-01-03. We don't use PG epoch since it + * starts on a Saturday. This makes time bins by a week more intuitive and + * aligns it with date_trunc. + */ +#define JAN_3_2000 (2 * USECS_PER_DAY) +#define DEFAULT_TIME_ORIGIN (JAN_3_2000) +#define DEFAULT_FLOATSPAN_ORIGIN (0.0) +#define DEFAULT_INTSPAN_ORIGIN (0) +#define DEFAULT_BIGINTSPAN_ORIGIN (0) + +/***************************************************************************** + * Additional struct definitions for temporal types + *****************************************************************************/ + +/** + * Structure to represent all types of bounding boxes + */ +typedef union bboxunion +{ + Span p; /**< Span */ + TBox b; /**< Temporal box */ + STBox g; /**< Spatiotemporal box */ +} bboxunion; + +/***************************************************************************** + * Miscellaneous + *****************************************************************************/ + +/* Definition of output function */ +typedef char *(*outfunc)(Datum value, MeosType type, int maxdd); + +/* Definition of qsort comparator for integers */ +typedef int (*qsort_comparator) (const void *a, const void *b); + +/* Definition of a variadic function type for temporal lifting */ +typedef Datum (*varfunc) (Datum, ...); + +/* Definition of a turning point function for a unary temporal lift */ +typedef int (*tpfunc_unary)(Datum, Datum, TimestampTz, TimestampTz, + TimestampTz *, TimestampTz *); + +/* Definition of a turning point function for a temporal and a base types */ +typedef int (*tpfunc_base)(Datum, Datum, Datum, TimestampTz, TimestampTz, + TimestampTz *, TimestampTz *); + +/* Definition of a turning point function for two temporal types */ +typedef int (*tpfunc_temp)(Datum, Datum, Datum, Datum, Datum, TimestampTz, + TimestampTz, TimestampTz *, TimestampTz *); + +/***************************************************************************** + * fmgr macros temporal types + *****************************************************************************/ + +/* doubleN */ + +#define DatumGetDouble2P(X) ((double2 *) DatumGetPointer(X)) +#define Double2PGetDatum(X) PointerGetDatum(X) +#define DatumGetDouble3P(X) ((double3 *) DatumGetPointer(X)) +#define Double3PGetDatum(X) PointerGetDatum(X) +#define DatumGetDouble4P(X) ((double4 *) DatumGetPointer(X)) +#define Double4PGetDatum(X) PointerGetDatum(X) + +/* Temporal types */ + +#if MEOS + #define DatumGetTemporalP(X) ((Temporal *) DatumGetPointer(X)) + #define DatumGetTInstantP(X) ((TInstant *) DatumGetPointer(X)) + #define DatumGetTSequenceP(X) ((TSequence *) DatumGetPointer(X)) + #define DatumGetTSequenceSetP(X) ((TSequenceSet *) DatumGetPointer(X)) +#else + #define DatumGetTemporalP(X) ((Temporal *) PG_DETOAST_DATUM(X)) + #define DatumGetTInstantP(X) ((TInstant *) PG_DETOAST_DATUM(X)) + #define DatumGetTSequenceP(X) ((TSequence *) PG_DETOAST_DATUM(X)) + #define DatumGetTSequenceSetP(X) ((TSequenceSet *) PG_DETOAST_DATUM(X)) +#endif /* MEOS */ + +#define PG_GETARG_TEMPORAL_P(X) ((Temporal *) PG_GETARG_VARLENA_P(X)) +#define PG_GETARG_TINSTANT_P(X) ((TInstant *) PG_GETARG_VARLENA_P(X)) +#define PG_GETARG_TSEQUENCE_P(X) ((TSequence *) PG_GETARG_VARLENA_P(X)) +#define PG_GETARG_TSEQUENCESET_P(X) ((TSequenceSet *) PG_GETARG_VARLENA_P(X)) + +#define PG_RETURN_TEMPORAL_P(X) PG_RETURN_POINTER(X) +#define PG_RETURN_TINSTANT_P(X) PG_RETURN_POINTER(X) +#define PG_RETURN_TSEQUENCE_P(X) PG_RETURN_POINTER(X) +#define PG_RETURN_TSEQUENCESET_P(X) PG_RETURN_POINTER(X) + +#define TemporalPGetDatum(X) PointerGetDatum(X) +#define TInstantPGetDatum(X) PointerGetDatum(X) +#define TSequencePGetDatum(X) PointerGetDatum(X) +#define TSequenceSetPGetDatum(X) PointerGetDatum(X) + +#define DATUM_FREE(value, basetype) \ + do { \ + if (! basetype_byvalue(basetype)) \ + pfree(DatumGetPointer(value)); \ + } while (0) + +#define DATUM_FREE_IF_COPY(value, basetype, n) \ + do { \ + if (! basetype_byvalue(basetype) && DatumGetPointer(value) != PG_GETARG_POINTER(n)) \ + pfree(DatumGetPointer(value)); \ + } while (0) + +/** + * This macro is based on PG_FREE_IF_COPY, except that it accepts two pointers. + * See PG_FREE_IF_COPY comment in src/include/fmgr.h in postgres source code + * for more details. + * This macro is the same as POSTGIS_FREE_IF_COPY_P. + */ +#define PG_FREE_IF_COPY_P(ptrsrc, ptrori) \ + do { \ + if ((Pointer) (ptrsrc) != (Pointer) (ptrori)) \ + pfree(ptrsrc); \ + } while (0) + +#define PG_DATUM_NEEDS_DETOAST(datum) \ + (VARATT_IS_EXTENDED((datum)) || VARATT_IS_EXTERNAL((datum)) || \ + VARATT_IS_COMPRESSED((datum))) + +/*****************************************************************************/ + +/* Parameter tests */ + +extern bool ensure_has_X(MeosType type, int16 flags); +extern bool ensure_has_Z(MeosType type, int16 flags); +extern bool ensure_has_T(MeosType type, int16 flags); +extern bool ensure_has_not_Z(MeosType type, int16 flags); +extern bool ensure_not_null(void *ptr); +extern bool ensure_one_not_null(void *ptr1, void *ptr2); +extern bool ensure_one_true(bool hasshift, bool haswidth); +extern bool ensure_valid_interp(MeosType temptype, interpType interp); +extern bool ensure_continuous(const Temporal *temp); +extern bool ensure_same_interp(const Temporal *temp1, const Temporal *temp2); +extern bool ensure_same_continuous_interp(int16 flags1, int16 flags2); +extern bool ensure_linear_interp(int16 flags); +extern bool ensure_nonlinear_interp(int16 flags); +extern bool ensure_common_dimension(int16 flags1, int16 flags2); +extern bool ensure_temporal_isof_type(const Temporal *temp, MeosType type); +extern bool ensure_temporal_isof_basetype(const Temporal *temp, + MeosType basetype); +extern bool ensure_temporal_isof_subtype(const Temporal *temp, + tempSubtype type); +extern bool ensure_same_temporal_type(const Temporal *temp1, + const Temporal *temp2); + +extern bool ensure_valid_tnumber_numspan(const Temporal *temp, const Span *s); +extern bool ensure_valid_tnumber_numspanset(const Temporal *temp, + const SpanSet *ss); +extern bool ensure_valid_tnumber_tbox(const Temporal *temp, const TBox *box); +extern bool ensure_valid_temporal_set(const Temporal *temp, const Set *s); +extern bool ensure_valid_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern bool ensure_valid_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern bool ensure_not_negative(int i); +extern bool ensure_positive(int i); +extern bool not_negative_datum(Datum size, MeosType basetype); +extern bool ensure_not_negative_datum(Datum size, MeosType basetype); +extern bool positive_datum(Datum size, MeosType basetype); +extern bool ensure_positive_datum(Datum size, MeosType basetype); +extern bool ensure_valid_day_duration(const Interval *duration); +extern bool positive_duration(const Interval *duration); +extern bool ensure_positive_duration(const Interval *duration); + +/* General functions */ + +extern void *temporal_bbox_ptr(const Temporal *temp); + +extern bool intersection_temporal_temporal(const Temporal *temp1, +const Temporal *temp2, SyncMode mode, Temporal **inter1, Temporal **inter2); + +/* Version functions */ + +extern char *mobilitydb_version(void); +extern char *mobilitydb_full_version(void); + +/* Transformations */ + +extern datum_func2 round_fn(MeosType basetype); + +/* Restriction functions */ + +extern bool temporal_bbox_restrict_value(const Temporal *temp, Datum value); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_aggfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_aggfuncs.h new file mode 100644 index 000000000..10812a99f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_aggfuncs.h @@ -0,0 +1,102 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal aggregate functions + */ + +#ifndef __TEMPORAL_AGGFUNCS_H__ +#define __TEMPORAL_AGGFUNCS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern Datum datum_min_int32(Datum l, Datum r); +extern Datum datum_max_int32(Datum l, Datum r); +extern Datum datum_min_float8(Datum l, Datum r); +extern Datum datum_max_float8(Datum l, Datum r); +extern Datum datum_sum_int32(Datum l, Datum r); +extern Datum datum_sum_float8(Datum l, Datum r); +extern Datum datum_min_text(Datum l, Datum r); +extern Datum datum_max_text(Datum l, Datum r); +extern Datum datum_sum_double2(Datum l, Datum r); +extern Datum datum_sum_double3(Datum l, Datum r); +extern Datum datum_sum_double4(Datum l, Datum r); + +/* Specific skiplist functions for temporal aggregations */ + +extern int temporal_skiplist_common(SkipList *list, void **values, int count, + int *lower, int *upper, int update[SKIPLIST_MAXLEVEL]); +extern void **temporal_skiplist_merge(void **spliced, int spliced_count, + void **values, int count, datum_func2 func, bool crossings, int *newcount, + void ***tofree, int *nfree); +extern void temporal_skiplist_splice(SkipList *list, void **values, int count, + datum_func2 func, bool crossings); + +/* Generic aggregation functions */ + +extern TInstant **tinstant_tagg(TInstant **instants1, int count1, + TInstant **instants2, int count2, datum_func2 func, int *newcount, + void ***tofree, int *nfree); +extern TSequence **tsequence_tagg(TSequence **sequences1, int count1, + TSequence **sequences2, int count2, datum_func2 func, bool crossings, + int *newcount); +extern SkipList *tcontseq_tagg_transfn(SkipList *state, const TSequence *seq, + datum_func2 func, bool interpoint); +extern SkipList *temporal_tagg_combinefn(SkipList *state1, SkipList *state2, + datum_func2 func, bool crossings); + +extern SkipList *tinstant_tagg_transfn(SkipList *state, const TInstant *inst, + datum_func2 func); +extern TSequence *tinstant_tavg_finalfn(TInstant **instants, int count); +extern TSequenceSet *tsequence_tavg_finalfn(TSequence **sequences, int count); +extern TInstant *tnumberinst_transform_tavg(const TInstant *inst); +extern Temporal **temporal_transform_tcount(const Temporal *temp, int *count); +extern Temporal **temporal_transform_tagg(const Temporal *temp, int *count, + TInstant *(*func)(const TInstant *)); +extern SkipList *tsequenceset_tagg_transfn(SkipList *state, + const TSequenceSet *ss, datum_func2 func, bool crossings); +extern SkipList *tdiscseq_tagg_transfn(SkipList *state, const TSequence *seq, + datum_func2 func); + +extern SkipList *temporal_tagg_transfn(SkipList *state, const Temporal *temp, + datum_func2, bool crossings); +extern SkipList *temporal_tagg_combinefn(SkipList *state1, SkipList *state2, + datum_func2 func, bool crossings); +extern SkipList *temporal_tagg_transform_transfn(SkipList *state, const Temporal *temp, + datum_func2 func, bool crossings, TInstant *(*transform)(const TInstant *)); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_analytics.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_analytics.h new file mode 100644 index 000000000..8c4374e5a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_analytics.h @@ -0,0 +1,67 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +#ifndef __TEMPORAL_ANALYTICS_H__ +#define __TEMPORAL_ANALYTICS_H__ + +/* MEOS */ +#include + +/*****************************************************************************/ + +typedef enum +{ + FRECHET, + DYNTIMEWARP, + HAUSDORFF +} SimFunc; + +/** + * Struct for storing the state that persists across multiple calls generating + * the path + */ +typedef struct +{ + bool done; + int i; + int size; + Match *path; +} SimilarityPathState; + +/*****************************************************************************/ + +extern double temporal_similarity(const Temporal *temp1, const Temporal *temp2, + SimFunc simfunc); +extern Match *temporal_similarity_path(const Temporal *temp1, + const Temporal *temp2, int *count, SimFunc simfunc); + +/*****************************************************************************/ + +#endif /* __TEMPORAL_ANALYTICS_H__ */ + diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_boxops.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_boxops.h new file mode 100644 index 000000000..9145a4cca --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_boxops.h @@ -0,0 +1,82 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Bounding box operators for temporal types. + */ + +#ifndef __TEMPORAL_BOXOPS_H__ +#define __TEMPORAL_BOXOPS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/** + * @brief Return the size in bytes to read from toast to get the basic + * information from a temporal: Temporal struct (i.e., TInstant, TSequence, + * or TSequenceSet) and bounding box size +*/ +#define TEMPORAL_MAX_HEADER_SIZE \ + DOUBLE_PAD(Max(Max(sizeof(TInstant), sizeof(TSequence)), \ + sizeof(TSequenceSet))) + DOUBLE_PAD(sizeof(bboxunion)) + +/*****************************************************************************/ + +/* Compute the bounding box at the creation of temporal values */ + +extern size_t temporal_bbox_size(MeosType tempype); +extern void tinstant_set_bbox(const TInstant *inst, void *bbox); +extern void tinstarr_set_bbox(TInstant **instants, int count, + bool lower_inc, bool upper_inc, interpType interp, void *bbox); +extern void tsequence_compute_bbox(TSequence *seq); +extern void tseqarr_compute_bbox(TSequence **sequences, int count, void *bbox); +extern void tsequenceset_compute_bbox(TSequenceSet *ss); + +/* Bounding box operators for temporal types */ + +extern bool boxop_temporal_tstzspan(const Temporal *temp, const Span *s, + bool (*func)(const Span *, const Span *), bool invert); +extern bool boxop_temporal_temporal(const Temporal *temp1, + const Temporal *temp2, bool (*func)(const Span *, const Span *)); + +extern bool boxop_tnumber_numspan(const Temporal *temp, const Span *span, + bool (*func)(const Span *, const Span *), bool invert); +extern bool boxop_tnumber_tbox(const Temporal *temp, const TBox *box, + bool (*func)(const TBox *, const TBox *), bool invert); +extern bool boxop_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2, + bool (*func)(const TBox *, const TBox *)); + +/*****************************************************************************/ + +#endif /* __TEMPORAL_BOXOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_compops.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_compops.h new file mode 100644 index 000000000..02a975acf --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_compops.h @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Ever comparison operators (?=, ?<>, ?<, ?>, ?<=, ?>=), + * always comparison operators (%=, %<>, %<, %>, %<=, %>=), and + * temporal comparison operators (#=, #<>, #<, #>, #<=, #>=). + */ + +#ifndef __TEMPORAL_COMPOPS_H__ +#define __TEMPORAL_COMPOPS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +extern int eacomp_base_temporal(Datum value, const Temporal *temp, + Datum (*func)(Datum, Datum, MeosType), bool ever); +extern int eacomp_temporal_base(const Temporal *temp, Datum value, + Datum (*func)(Datum, Datum, MeosType), bool ever); +extern int eacomp_temporal_temporal(const Temporal *temp1, + const Temporal *temp2, Datum (*func)(Datum, Datum, MeosType), bool ever); + +extern Temporal *tcomp_base_temporal(Datum value, const Temporal *temp, + Datum (*func)(Datum, Datum, MeosType)); +extern Temporal *tcomp_temporal_base(const Temporal *temp, Datum value, + Datum (*func)(Datum, Datum, MeosType)); +extern Temporal *tcomp_temporal_temporal(const Temporal *temp1, + const Temporal *temp2, Datum (*func)(Datum, Datum, MeosType)); + +/*****************************************************************************/ + +#endif /* __TEMPORAL_COMPOPS_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_restrict.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_restrict.h new file mode 100644 index 000000000..559ea97ee --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_restrict.h @@ -0,0 +1,121 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Restriction functions for temporal value. + */ + +#ifndef __TEMPORAL_RESTRICT_H__ +#define __TEMPORAL_RESTRICT_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" +#include "temporal/temporal.h" + +/*****************************************************************************/ + +/* Restriction Functions */ + +extern TSequence *tcontseq_after_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequence *tcontseq_before_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequence *tdiscseq_after_timestamptz(const TSequence *seq, TimestampTz t, bool strict); +extern TSequence *tdiscseq_before_timestamptz(const TSequence *seq, TimestampTz t, bool strict); + +extern TInstant *tdiscseq_at_timestamptz(const TSequence *seq, TimestampTz t); +extern TSequence *tdiscseq_restrict_value(const TSequence *seq, Datum value, + bool atfunc); +extern TSequence *tdiscseq_restrict_values(const TSequence *seq, const Set *s, + bool atfunc); +extern TSequence *tdiscseq_restrict_minmax(const TSequence *seq, bool min, + bool atfunc); +extern TSequence *tdiscseq_minus_timestamptz(const TSequence *seq, + TimestampTz t); +extern TSequence *tdiscseq_restrict_tstzset(const TSequence *seq, + const Set *s, bool atfunc); +extern TSequence *tdiscseq_restrict_tstzspanset(const TSequence *seq, + const SpanSet *ss, bool atfunc); +extern int tcontseq_restrict_value_iter(const TSequence *seq, Datum value, + bool atfunc, TSequence **result); +extern TSequenceSet *tcontseq_restrict_minmax(const TSequence *seq, bool min, + bool atfunc); +extern TSequence *tcontseq_delete_timestamptz(const TSequence *seq, + TimestampTz t); +extern TSequence *tcontseq_delete_tstzset(const TSequence *seq, + const Set *s); +extern TSequence *tcontseq_delete_tstzspanset(const TSequence *seq, + const SpanSet *ss); +extern TSequence *tcontseq_at_tstzset(const TSequence *seq, const Set *s); +extern TSequenceSet *tcontseq_minus_timestamptz(const TSequence *seq, + TimestampTz t); +extern TSequenceSet *tcontseq_minus_tstzset(const TSequence *seq, + const Set *s); +extern TSequenceSet *tcontseq_minus_tstzspan(const TSequence *seq, + const Span *s); +extern TSequenceSet *tcontseq_restrict_value(const TSequence *seq, Datum value, + bool atfunc); +extern TSequenceSet *tcontseq_restrict_values(const TSequence *seq, + const Set *s, bool atfunc); +extern int tsequence_at_values_iter(const TSequence *seq, const Set *set, + TSequence **result); +extern int tnumberseq_cont_restrict_span_iter(const TSequence *seq, + const Span *span, bool atfunc, TSequence **result); +extern int tnumberseq_cont_restrict_spanset_iter(const TSequence *seq, + const SpanSet *ss, bool atfunc, TSequence **result); +extern TInstant *tsegment_at_timestamptz(const TInstant *inst1, + const TInstant *inst2, interpType interp, TimestampTz t); +extern int tcontseq_minus_timestamp_iter(const TSequence *seq, TimestampTz t, + TSequence **result); +extern int tcontseq_minus_tstzset_iter(const TSequence *seq, const Set *s, + TSequence **result); +extern int tcontseq_at_tstzspanset1(const TSequence *seq, const SpanSet *ss, + TSequence **result); +extern int tcontseq_minus_tstzspanset_iter(const TSequence *seq, const SpanSet *ss, + TSequence **result); +extern TSequence *tcontseq_at_tstzspan(const TSequence *seq, const Span *s); +extern TInstant *tcontseq_at_timestamptz(const TSequence *seq, TimestampTz t); +extern TSequenceSet *tcontseq_restrict_tstzspanset(const TSequence *seq, + const SpanSet *ss, bool atfunc); +extern bool tdiscseq_value_at_timestamptz(const TSequence *seq, TimestampTz t, + Datum *result); +extern TSequence *tnumberseq_disc_restrict_span(const TSequence *seq, + const Span *span, bool atfunc); +extern TSequence *tnumberseq_disc_restrict_spanset(const TSequence *seq, + const SpanSet *ss, bool atfunc); +extern TSequenceSet *tnumberseq_cont_restrict_span(const TSequence *seq, + const Span *span, bool atfunc); +extern TSequenceSet *tnumberseq_cont_restrict_spanset(const TSequence *seq, + const SpanSet *ss, bool atfunc); +extern double tnumberseq_cont_twavg(const TSequence *seq); + +/*****************************************************************************/ + +#endif /* __TEMPORAL_RESTRICT_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_rtree.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_rtree.h new file mode 100644 index 000000000..66d650e3e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_rtree.h @@ -0,0 +1,106 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief In memory index for STBox based on RTree + */ + +#ifndef __TEMPORAL_RTREE__ +#define __TEMPORAL_RTREE__ + +/* MEOS */ +#include + +#include "temporal/meos_catalog.h" + +/***************************************************************************** + * RTree + *****************************************************************************/ + +#define MAXITEMS 64 +#define MINITEMS_PERCENTAGE 10 +#define MINITEMS ((MAXITEMS) * (MINITEMS_PERCENTAGE) / 100 + 1) + +/** + * @brief Enumeration that defines the node types for an RTree. + */ +typedef enum +{ + RTREE_LEAF, + RTREE_INNER +} RTreeNodeType; + +/** + * @brief Internal representation of an RTree node. + */ +typedef struct RTreeNode +{ + size_t bboxsize; /**< Size of the bouding box */ + int count; /**< Number of bouding boxes */ + RTreeNodeType node_type; + union + { + struct RTreeNode *nodes[MAXITEMS]; + int ids[MAXITEMS]; + }; + /* The bounding boxes can be of type Span, TBox, or STBox */ + char boxes[]; +} RTreeNode; + +/** + * @brief Rtree in-memory index basic structure. + * @details It works based on Span, TBox and STBox. + * - The spliting criteria is based on the largest axis. + * - The inserting criteria is based on least enlarging square. + * - The get axis function makes it ease to implement with X,Y,Z and time or any + * combination that you may want. + */ +struct RTree +{ + size_t bboxsize; /**< Size of the bouding box */ + MeosType bboxtype; /**< Type of the bouding box */ + int dims; + RTreeNode *root; + double (*get_axis)(const void *, int, bool); + void (*bbox_expand)(const void *, void *); + bool (*bbox_contains)(const void *, const void *); + bool (*bbox_overlaps)(const void *, const void *); + char box[]; +}; + +/** + * @brief Return a pointer to the n-th bounding box of a node + * @details The bouding boxes of a node can be of type Span, TBox, or STBox + */ +#define RTREE_NODE_BBOX_N(node, n) ( (void *)( \ + ((char *) &((node)->boxes)) + (n) * (node)->bboxsize ) ) + +/*****************************************************************************/ + +#endif /* __TEMPORAL_RTREE__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_tile.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_tile.h new file mode 100644 index 000000000..276cec4ea --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_tile.h @@ -0,0 +1,110 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +#ifndef __TEMPORAL_TILE_H__ +#define __TEMPORAL_TILE_H__ + +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +#define MAXDIMS 4 + +/*****************************************************************************/ + +/** + * Struct for storing the state that persists across multiple calls generating + * the bin list + */ +typedef struct SpanBinState +{ + bool done; /**< True when the state is consumed */ + uint8 basetype; /**< span basetype */ + int i; /**< Current tile number */ + Datum size; /**< Size of the values */ + Datum origin; /**< Origin of the values */ + Span span; /**< Bounding span */ + const void *to_split; /**< NULL when generating bins, used for splitting + * span sets or temporal values*/ + Datum value; /**< Current value */ + int nbins; /**< Total number of bins */ +} SpanBinState; + +/** + * @brief Struct for storing the state for tiling operations + */ +typedef struct TboxGridState +{ + bool done; /**< True when the state is consumed */ + int i; /**< Current tile number */ + Datum vsize; /**< Value size */ + int64 tunits; /**< Time size */ + TBox box; /**< Bounding box */ + const Temporal *temp; /**< Optional temporal number to be split */ + Datum value; /**< Current value */ + TimestampTz t; /**< Current time */ + int ntiles; /**< Total number of tiles */ + int max_coords[2]; /**< Maximum coordinates of the tiles */ + int coords[2]; /**< Coordinates of the current tile */ +} TboxGridState; + +/*****************************************************************************/ + +extern int span_num_bins(const Span *s, Datum size, Datum origin, + Datum *start_bin, Datum *end_bin); + +extern Span *span_bins(const Span *s, Datum size, Datum origin, int *count); +extern Span *spanset_bins(const SpanSet *ss, Datum size, Datum origin, int *count); + +extern SpanBinState *temporal_time_bin_init(const Temporal *temp, + const Interval *duration, TimestampTz torigin, int *nbins); + +extern TboxGridState *tbox_tile_state_make(const Temporal *temp, + const TBox *box, Datum vsize, const Interval *duration, Datum xorigin, + TimestampTz torigin); +extern void tbox_tile_state_next(TboxGridState *state); +extern void tbox_tile_state_set(Datum value, TimestampTz t, Datum vsize, + int64 tunits, MeosType basetype, MeosType spantype, TBox *box); + +/*****************************************************************************/ + +extern int64 interval_units(const Interval *interval); +extern TimestampTz timestamptz_bin_start(TimestampTz timestamp, int64 tunits, + TimestampTz torigin); +extern Datum datum_bin(Datum value, Datum size, Datum offset, + MeosType basetype); + +extern TboxGridState *tnumber_value_time_tile_init(const Temporal *temp, + Datum vsize, const Interval *duration, Datum vorigin, TimestampTz torigin, + int *ntiles); +extern bool tbox_tile_state_get(TboxGridState *state, TBox *box); + +/*****************************************************************************/ +#endif /* __TEMPORAL_TILE_H__ */ + diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_waggfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_waggfuncs.h new file mode 100644 index 000000000..ed14489df --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/temporal_waggfuncs.h @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal aggregate functions + */ + +#ifndef __TEMPORAL_WAGGFUNCS_H__ +#define __TEMPORAL_WAGGFUNCS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern TSequence **temporal_transform_wcount(const Temporal *temp, + const Interval *interval, int *count); +extern TSequence **tnumber_transform_wavg(const Temporal *temp, + const Interval *interval, int *count); +extern SkipList *temporal_wagg_transfn(SkipList *state, const Temporal *temp, + const Interval *interval, datum_func2 func, bool min, bool crossings); +extern SkipList *temporal_wagg_transform_transfn(SkipList *state, + const Temporal *temp, const Interval *interval, datum_func2 func, + TSequence ** (*transform)(const Temporal *, const Interval *, int *)); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tinstant.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tinstant.h new file mode 100644 index 000000000..6a2889717 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tinstant.h @@ -0,0 +1,75 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for temporal instants. + */ + +#ifndef __TINSTANT_H__ +#define __TINSTANT_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +/* General functions */ + +extern void tinstant_set(TInstant *inst, Datum value, TimestampTz t); +extern double tnumberinst_double(const TInstant *inst); + +/* Input/output functions */ + +extern char *tinstant_to_string(const TInstant *inst, int maxdd, + outfunc value_out); + +/* Restriction Functions */ + +extern bool tinstant_restrict_values_test(const TInstant *inst, + const Set *s, bool atfunc); +extern bool tnumberinst_restrict_span_test(const TInstant *inst, + const Span *s, bool atfunc); +extern bool tnumberinst_restrict_spanset_test(const TInstant *inst, + const SpanSet *ss, bool atfunc); +extern bool tinstant_restrict_tstzset_test(const TInstant *inst, + const Set *s, bool atfunc); +extern bool tinstant_restrict_tstzspanset_test(const TInstant *inst, + const SpanSet *ss, bool atfunc); + +/* Intersection function */ + +extern bool intersection_tinstant_tinstant(const TInstant *inst1, + const TInstant *inst2, TInstant **inter1, TInstant **inter2); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tnumber_mathfuncs.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tnumber_mathfuncs.h new file mode 100644 index 000000000..fb272ca7a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tnumber_mathfuncs.h @@ -0,0 +1,72 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Mathematical operators (+, -, *, /) and functions (round, degrees, ...) + * for temporal numbers. + */ + +#ifndef __TEMPORAL_MATHFUNCS_H__ +#define __TEMPORAL_MATHFUNCS_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/** Enumeration for the arithmetic functions */ + +typedef enum +{ + ADD, + SUB, + MUL, + DIV, + DIST, +} TArithmetic; + +/*****************************************************************************/ + +extern int tfloat_arithop_turnpt(Datum start1, Datum end1, Datum start2, + Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); + +extern Temporal *arithop_tnumber_number(const Temporal *temp, Datum value, + TArithmetic oper, Datum (*func)(Datum, Datum, MeosType), bool invert); +extern Temporal *arithop_tnumber_tnumber(const Temporal *temp1, + const Temporal *temp2, TArithmetic oper, + Datum (*func)(Datum, Datum, MeosType), tpfunc_temp tpfunc); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequence.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequence.h new file mode 100644 index 000000000..e5a0942a8 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequence.h @@ -0,0 +1,152 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for temporal sequences + */ + +#ifndef __TSEQUENCE_H__ +#define __TSEQUENCE_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/meos_catalog.h" +#include "temporal/temporal.h" + +/*****************************************************************************/ + +/* Collinear function */ + +extern bool float_collinear(double x1, double x2, double x3, double ratio); + +/* Interpolation functions */ + +extern double floatsegm_interpolate(double value1, double value2, + long double value); +extern long double floatsegm_locate(double value1, double value2, + double value); + +extern int tnumbersegm_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, MeosType basetype, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); + +/* Normalization functions */ + +extern bool tsequence_norm_test(Datum value1, Datum value2, Datum value3, + MeosType basetype, interpType interp, TimestampTz t1, TimestampTz t2, + TimestampTz t3); +extern bool tsequence_join_test(const TSequence *seq1, const TSequence *seq2, + bool *removelast, bool *removefirst); +extern TSequence *tsequence_join(const TSequence *seq1, const TSequence *seq2, + bool removelast, bool removefirst); +extern TInstant **tinstarr_normalize(TInstant **instants, interpType interp, + int count, int *newcount); + +/* General functions */ + +extern int tcontseq_find_timestamptz(const TSequence *seq, TimestampTz t); +extern int tdiscseq_find_timestamptz(const TSequence *seq, TimestampTz t); +extern TSequence **tseqarr2_to_tseqarr(TSequence ***sequences, int *countseqs, + int count, int totalseqs); + +extern bool ensure_valid_tinstarr_common(TInstant **instants, int count, + bool lower_inc, bool upper_inc, interpType interp); +extern TSequence *tsequence_make_exp1(TInstant **instants, int count, + int maxcount, bool lower_inc, bool upper_inc, interpType interp, + bool normalize, void *bbox); + +/* Synchronization functions */ + +extern bool synchronize_tsequence_tsequence(const TSequence *seq1, + const TSequence *seq2, TSequence **sync1, TSequence **sync2, + bool interpoint); + +/* Intersection functions */ + +extern int tfloatsegm_intersection_value(Datum start, Datum end, Datum value, + TimestampTz lower, TimestampTz upper, TimestampTz *t); +extern int tsegment_intersection_value(Datum start, Datum end, Datum value, + MeosType temptype, TimestampTz lower, TimestampTz upper, TimestampTz *t1, + TimestampTz *t2); +extern int tsegment_intersection(Datum start1, Datum end1, Datum start2, + Datum end2, MeosType temptype, TimestampTz lower, TimestampTz upper, + TimestampTz *t1, TimestampTz *t2); +extern Datum tsegment_value_at_timestamptz(Datum start, Datum end, + MeosType temptype, TimestampTz lower, TimestampTz upper, TimestampTz t); + +extern bool intersection_tdiscseq_tdiscseq(const TSequence *seq1, + const TSequence *seq2, TSequence **inter1, TSequence **inter2); +extern bool intersection_tcontseq_tdiscseq(const TSequence *seq1, + const TSequence *seq2, TSequence **inter1, TSequence **inter2); +extern bool intersection_tdiscseq_tcontseq(const TSequence *is, + const TSequence *seq2, TSequence **inter1, TSequence **inter2); + +extern bool intersection_tsequence_tinstant(const TSequence *seq, + const TInstant *inst, TInstant **inter1, TInstant **inter2); +extern bool intersection_tinstant_tsequence(const TInstant *inst, + const TSequence *seq, TInstant **inter1, TInstant **inter2); + +/* Input/output functions */ + +extern char *tsequence_to_string(const TSequence *seq, int maxdd, + bool component, outfunc value_out); + +/* Constructor functions */ + +extern bool ensure_increasing_timestamps(const TInstant *inst1, + const TInstant *inst2, bool strict); +extern void bbox_expand(const void *box1, void *box2, MeosType temptype); +extern bool ensure_valid_tinstarr(TInstant **instants, int count, bool merge, + interpType interp); +extern bool tsequence_make_valid(TInstant **instants, int count, + bool lower_inc, bool upper_inc, interpType interp); + +/* Transformation functions */ + +extern void tnumberseq_shift_scale_value_iter(TSequence *seq, Datum origin, + Datum delta, bool hasdelta, double scale); +extern void tsequence_shift_scale_time_iter(TSequence *seq, TimestampTz delta, + double scale); +extern int tstepseq_to_linear_iter(const TSequence *seq, TSequence **result); +extern TSequenceSet *tstepseq_to_linear(const TSequence *seq); + +/* Accessor functions */ + +extern int tsequence_segments_iter(const TSequence *seq, TSequence **result); +extern int tsequence_timestamps_iter(const TSequence *seq, TimestampTz *result); + +/* Local Aggregate Functions */ + +extern double tnumberseq_cont_twavg(const TSequence *seq); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequenceset.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequenceset.h new file mode 100644 index 000000000..30218e933 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/tsequenceset.h @@ -0,0 +1,87 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic functions for temporal sequence sets. + */ + +#ifndef __TSEQUENCESET_H__ +#define __TSEQUENCESET_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +/* General functions */ + +extern bool tsequenceset_find_timestamptz(const TSequenceSet *ss, + TimestampTz t, int *loc); +extern TSequence **tseqarr_normalize(TSequence **sequences, int count, + int *newcount); +extern double datum_distance(Datum value1, Datum value2, MeosType basetype, + int16 flags); +extern int *ensure_valid_tinstarr_gaps(TInstant **instants, int count, + bool merge, double maxdist, const Interval *maxt, int *nsplits); +extern bool ensure_valid_tseqarr(TSequence **sequences, int count); + +/* Synchronize functions */ + +extern bool synchronize_tsequenceset_tsequence(const TSequenceSet *ss, + const TSequence *seq, SyncMode mode, + TSequenceSet **inter1, TSequenceSet **inter2); +extern bool synchronize_tsequenceset_tsequenceset(const TSequenceSet *ss1, + const TSequenceSet *ss2, SyncMode mode, + TSequenceSet **inter1, TSequenceSet **inter2); + +/* Intersection functions */ + +extern bool intersection_tsequenceset_tinstant(const TSequenceSet *ss, + const TInstant *inst, TInstant **inter1, TInstant **inter2); +extern bool intersection_tinstant_tsequenceset(const TInstant *inst, + const TSequenceSet *ss, TInstant **inter1, TInstant **inter2); +extern bool intersection_tsequenceset_tdiscseq(const TSequenceSet *ss, + const TSequence *is, TSequence **inter1, TSequence **inter2); +extern bool intersection_tdiscseq_tsequenceset(const TSequence *is, + const TSequenceSet *ss, TSequence **inter1, TSequence **inter2); +extern bool intersection_tsequence_tsequenceset(const TSequence *seq, + const TSequenceSet *ss, SyncMode mode, + TSequenceSet **inter1, TSequenceSet **inter2); + +/* Input/output functions */ + +extern char *tsequenceset_to_string(const TSequenceSet *ss, int maxdd, + outfunc value_out); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/ttext_funcs.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/ttext_funcs.h new file mode 100644 index 000000000..ff14f39f2 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/ttext_funcs.h @@ -0,0 +1,59 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Temporal text functions: `textcat`, `lower`, `upper`. + */ + +#ifndef __TTEXT_TEXTFUNCS_H__ +#define __TTEXT_TEXTFUNCS_H__ + +/* PostgreSQL */ +#include +/* PostgreSQL */ +#include +#include "temporal/temporal.h" + +/*****************************************************************************/ + +extern Datum datum_textcat(Datum l, Datum r); +extern Datum datum_lower(Datum value); +extern Datum datum_upper(Datum value); +extern Datum datum_initcap(Datum value); + +extern Temporal *textfunc_ttext(const Temporal *temp, + datum_func1 func); +extern Temporal *textfunc_ttext_text(const Temporal *temp, Datum value, + datum_func2 func, bool invert); +extern Temporal *textfunc_ttext_ttext(const Temporal *temp1, + const Temporal *temp2, datum_func2 func); + +/*****************************************************************************/ + +#endif diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_inout.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_inout.h new file mode 100644 index 000000000..fead624d1 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_inout.h @@ -0,0 +1,75 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Basic routines for spans (a.k.a. ranges) composed of two `Datum` + * values and two Boolean values stating whether the bounds are inclusive. + */ + +#ifndef __TYPE_INOUT_H__ +#define __TYPE_INOUT_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include "temporal/meos_catalog.h" + +/***************************************************************************** + * Definitions taken from the file liblwgeom_internal.h + *****************************************************************************/ + +/* Any (absolute) values outside this range will be printed in scientific + * notation */ +#define OUT_MIN_DOUBLE 1E-8 +#define OUT_MAX_DOUBLE 1E15 +#define OUT_DEFAULT_DECIMAL_DIGITS 15 + +/* 17 digits are sufficient for round-tripping + * Then we might add up to 8 (from OUT_MIN_DOUBLE) max leading zeroes (or + * 2 digits for "e+") */ +#define OUT_MAX_DIGITS 17 + 8 + +/* Limit for the max amount of characters that a double can use, including dot + * and sign */ +#define OUT_MAX_BYTES_DOUBLE (1 /* Sign */ + 2 /* 0.x */ + OUT_MAX_DIGITS) +#define OUT_DOUBLE_BUFFER_SIZE OUT_MAX_BYTES_DOUBLE + 1 /* +1 including NULL */ + +/*****************************************************************************/ + +extern uint8_t *datum_as_wkb(Datum value, MeosType type, uint8_t variant, + size_t *size_out); +extern char *datum_as_hexwkb(Datum value, MeosType type, uint8_t variant, + size_t *size); + +extern Datum type_from_wkb(const uint8_t *wkb, size_t size, MeosType type); +extern Datum type_from_hexwkb(const char *hexwkb, size_t size, MeosType type); + +/*****************************************************************************/ + +#endif /* __TYPE_INOUT_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_parser.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_parser.h new file mode 100644 index 000000000..60f79ebac --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_parser.h @@ -0,0 +1,77 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Functions for parsing temporal types. + */ + +#ifndef __TYPE_PARSER_H__ +#define __TYPE_PARSER_H__ + +/* MEOS */ +#include +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +extern bool ensure_end_input(const char **str, const char *type); +extern void p_whitespace(const char **str); +extern bool p_delimchar(const char **str, char delim); +extern bool p_obrace(const char **str); +extern bool ensure_obrace(const char **str, const char *type); +extern bool p_cbrace(const char **str); +extern bool ensure_cbrace(const char **str, const char *type); +extern bool p_obracket(const char **str); +extern bool p_cbracket(const char **str); +extern bool p_oparen(const char **str); +extern bool ensure_oparen(const char **str, const char *type); +extern bool p_cparen(const char **str); +extern bool ensure_cparen(const char **str, const char *type); +extern bool p_comma(const char **str); +extern bool basetype_parse(const char **str, MeosType basetypid, char delim, + Datum *result); +extern bool double_parse(const char **str, double *result); +extern bool elem_parse(const char **str, MeosType basetype, Datum *result); +extern Set *set_parse(const char **str, MeosType basetype); +extern bool span_parse(const char **str, MeosType spantype, bool end, + Span *span); +extern SpanSet *spanset_parse(const char **str, MeosType spantype); +extern TBox *tbox_parse(const char **str); +extern TimestampTz timestamp_parse(const char **str); +extern TInstant *tinstant_parse(const char **str, MeosType temptype, bool end); +extern TSequence *tdiscseq_parse(const char **str, MeosType temptype); +extern TSequence *tcontseq_parse(const char **str, MeosType temptype, + interpType interp, bool end); +extern TSequenceSet *tsequenceset_parse(const char **str, MeosType temptype, + interpType interp); +extern Temporal *temporal_parse(const char **str, MeosType temptype); + +/*****************************************************************************/ + +#endif /* __TYPE_PARSER_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_util.h b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_util.h new file mode 100644 index 000000000..0aaeb188c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/meos/include/temporal/type_util.h @@ -0,0 +1,120 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief Miscellaneous utility functions for temporal types. + */ + +#ifndef __TYPE_UTIL_H__ +#define __TYPE_UTIL_H__ + +/* PostgreSQL */ +#include +/* MEOS */ +#include +#include +#include +#include "temporal/doublen.h" +#include "temporal/meos_catalog.h" + +/*****************************************************************************/ + +/** Symbolic constants for the *_to_arr() functions */ +#define FREE_ALL true +#define FREE false + +/*****************************************************************************/ + +/* Miscellaneous functions */ + +extern Datum datum_copy(Datum value, MeosType typid); +extern double datum_double(Datum d, MeosType type); +extern Datum double_datum(double d, MeosType type); +extern bytea *bstring2bytea(const uint8_t *wkb, size_t size); + +/* Input/output functions */ + +extern bool basetype_in(const char *str, MeosType type, bool end, Datum *result); +extern char *basetype_out(Datum value, MeosType type, int maxdd); + +/* Array functions */ + +extern void pfree_array(void **array, int count); +extern char *stringarr_to_string(char **strings, int count, size_t outlen, + char *prefix, char open, char close, bool quotes, bool spaces); + +/* Sort functions */ + +extern void datumarr_sort(Datum *values, int count, MeosType basetype); +extern void tstzarr_sort(TimestampTz *times, int count); +extern void spanarr_sort(Span *spans, int count); +extern void tinstarr_sort(TInstant **instants, int count); +extern void tseqarr_sort(TSequence **sequences, int count); + +/* Remove duplicate functions */ + +extern int datumarr_remove_duplicates(Datum *values, int count, + MeosType basetype); +extern int tstzarr_remove_duplicates(TimestampTz *values, int count); +extern int tinstarr_remove_duplicates(TInstant **instants, int count); + +/* Text functions */ + + +/* Arithmetic functions */ + +extern Datum datum_add(Datum l, Datum r, MeosType type); +extern Datum datum_sub(Datum l, Datum r, MeosType type); +extern Datum datum_mul(Datum l, Datum r, MeosType type); +extern Datum datum_div(Datum l, Datum r, MeosType type); + +/* Comparison functions on datums */ + +extern int datum_cmp(Datum l, Datum r, MeosType type); +extern bool datum_eq(Datum l, Datum r, MeosType type); +extern bool datum_ne(Datum l, Datum r, MeosType type); +extern bool datum_lt(Datum l, Datum r, MeosType type); +extern bool datum_le(Datum l, Datum r, MeosType type); +extern bool datum_gt(Datum l, Datum r, MeosType type); +extern bool datum_ge(Datum l, Datum r, MeosType type); + +extern Datum datum2_eq(Datum l, Datum r, MeosType type); +extern Datum datum2_ne(Datum l, Datum r, MeosType type); +extern Datum datum2_lt(Datum l, Datum r, MeosType type); +extern Datum datum2_le(Datum l, Datum r, MeosType type); +extern Datum datum2_gt(Datum l, Datum r, MeosType type); +extern Datum datum2_ge(Datum l, Datum r, MeosType type); + +/* Hypothenuse functions */ + +extern double hypot3d(double x, double y, double z); + +/*****************************************************************************/ + +#endif /* __TYPE_UTIL_H__ */ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/CMakeLists.txt new file mode 100644 index 000000000..3613ede00 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/CMakeLists.txt @@ -0,0 +1,101 @@ +set(MOBILITYDB_MODULE_PATHNAME "$libdir/lib${MOBILITYDB_LIB_NAME}") +set(extschema "@extschema@") + +configure_file(mobilitydb.in.control ${CMAKE_BINARY_DIR}/mobilitydb.control) + +macro(process_file f srcdir bindir) + file(READ ${srcdir}/${f}.in.sql CURR_CONTENTS) + + if (${POSTGRESQL_VERSION_NUMBER} GREATER_EQUAL 130000) + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER >= 130000" "-- if POSTGRESQL_VERSION_NUMBER >= 130000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER >= 130000" "-- endif POSTGRESQL_VERSION_NUMBER >= 130000" CURR_CONTENTS "${CURR_CONTENTS}") + + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER < 130000" "/* --if POSTGRESQL_VERSION_NUMBER < 130000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER < 130000" "-- endif POSTGRESQL_VERSION_NUMBER < 130000 */" CURR_CONTENTS "${CURR_CONTENTS}") + else() + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER >= 130000" "/* -- if POSTGRESQL_VERSION_NUMBER >= 130000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER >= 130000" "-- endif POSTGRESQL_VERSION_NUMBER >= 130000 */" CURR_CONTENTS "${CURR_CONTENTS}") + + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER < 130000" " -- if POSTGRESQL_VERSION_NUMBER >= 130000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER < 130000" "-- endif POSTGRESQL_VERSION_NUMBER >= 130000" CURR_CONTENTS "${CURR_CONTENTS}") + endif() + + if (${POSTGRESQL_VERSION_NUMBER} GREATER_EQUAL 140000) + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER >= 140000" "-- if POSTGRESQL_VERSION_NUMBER >= 140000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER >= 140000" "-- endif POSTGRESQL_VERSION_NUMBER >= 140000" CURR_CONTENTS "${CURR_CONTENTS}") + + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER < 140000" "/* --if POSTGRESQL_VERSION_NUMBER < 140000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER < 140000" "-- endif POSTGRESQL_VERSION_NUMBER < 140000 */" CURR_CONTENTS "${CURR_CONTENTS}") + else() + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER >= 140000" "/* -- if POSTGRESQL_VERSION_NUMBER >= 140000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER >= 140000" "-- endif POSTGRESQL_VERSION_NUMBER >= 140000 */" CURR_CONTENTS "${CURR_CONTENTS}") + + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER < 140000" " -- if POSTGRESQL_VERSION_NUMBER >= 140000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER < 140000" "-- endif POSTGRESQL_VERSION_NUMBER >= 140000" CURR_CONTENTS "${CURR_CONTENTS}") + endif() + + if (${POSTGRESQL_VERSION_NUMBER} GREATER_EQUAL 160000) + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER >= 160000" "-- if POSTGRESQL_VERSION_NUMBER >= 160000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER >= 160000" "-- endif POSTGRESQL_VERSION_NUMBER >= 160000" CURR_CONTENTS "${CURR_CONTENTS}") + + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER < 160000" "/* --if POSTGRESQL_VERSION_NUMBER < 160000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER < 160000" "-- endif POSTGRESQL_VERSION_NUMBER < 160000 */" CURR_CONTENTS "${CURR_CONTENTS}") + else() + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER >= 160000" "/* -- if POSTGRESQL_VERSION_NUMBER >= 160000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER >= 160000" "-- endif POSTGRESQL_VERSION_NUMBER >= 160000 */" CURR_CONTENTS "${CURR_CONTENTS}") + + string(REPLACE "#if POSTGRESQL_VERSION_NUMBER < 160000" " -- if POSTGRESQL_VERSION_NUMBER >= 160000" CURR_CONTENTS "${CURR_CONTENTS}") + string(REPLACE "#endif //POSTGRESQL_VERSION_NUMBER < 160000" "-- endif POSTGRESQL_VERSION_NUMBER >= 160000" CURR_CONTENTS "${CURR_CONTENTS}") + endif() + + file(WRITE ${bindir}/${f}.sql.in "${CURR_CONTENTS}") +endmacro() + +add_subdirectory(temporal) +add_subdirectory(geo) +if(CBUFFER) + add_subdirectory(cbuffer) +endif() +if(NPOINT) + add_subdirectory(npoint) +endif() +if(POSE) + add_subdirectory(pose) +endif() +if(RGEO) + add_subdirectory(rgeo) +endif() + +list(SORT PROJECT_SQL_FILES) + +add_custom_target(all_sql_files ALL + DEPENDS ${PROJECT_SQL_FILES}) + +if (PROJECT_VERBOSE) + message(STATUS "PROJECT_SQL_FILES=${PROJECT_SQL_FILES}") +endif() + +# Truncate first: without this, re-running cmake on an existing build +# directory keeps appending to the previous pass's file, duplicating every +# CREATE FUNCTION / TYPE / OPERATOR and making `CREATE EXTENSION mobilitydb` +# fail with 'already exists' errors on subsequent reconfigures. +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${MOBILITYDB_EXTENSION_FILE}.in "") +foreach (f ${PROJECT_SQL_FILES}) + file(READ ${f} CURR_CONTENTS) + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${MOBILITYDB_EXTENSION_FILE}.in "${CURR_CONTENTS}") +endforeach() + +configure_file(${CMAKE_CURRENT_BINARY_DIR}/${MOBILITYDB_EXTENSION_FILE}.in ${CMAKE_BINARY_DIR}/${MOBILITYDB_EXTENSION_FILE} COPYONLY) + +# Set the library name extension according to the platform +if(WIN32) + set(LIB_NAME_EXT ".dll") +else() + set(LIB_NAME_EXT ".so") +endif() +message(STATUS "Library name extension: '${LIB_NAME_EXT}'") + +file(READ "${CMAKE_BINARY_DIR}/${MOBILITYDB_EXTENSION_FILE}" sql_commands) +string(REPLACE "MODULE_PATHNAME" "${CMAKE_BINARY_DIR}/lib${MOBILITYDB_LIB_NAME}${LIB_NAME_EXT}" sql_commands "${sql_commands}") +message(STATUS "Substitution: ${CMAKE_BINARY_DIR}/lib${MOBILITYDB_LIB_NAME}${LIB_NAME_EXT}") +string(REPLACE "@extschema@" "public" sql_commands "${sql_commands}") diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/150_cbuffer.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/150_cbuffer.in.sql new file mode 100644 index 000000000..45933810e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/150_cbuffer.in.sql @@ -0,0 +1,313 @@ + + +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file cbuffer.sql + * @brief Static circular buffer type + */ + +CREATE TYPE cbuffer; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION cbuffer_in(cstring) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_in' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION cbuffer_out(cbuffer) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Cbuffer_out' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION cbuffer_recv(internal) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_recv' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION cbuffer_send(cbuffer) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Cbuffer_send' + LANGUAGE C IMMUTABLE STRICT; + +CREATE TYPE cbuffer ( + internallength = variable, + input = cbuffer_in, + output = cbuffer_out, + receive = cbuffer_recv, + send = cbuffer_send, + storage = plain, + alignment = double +); + +-- Input/output in WKT, WKB and HexWKB representation + +CREATE FUNCTION asText(cbuffer, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Cbuffer_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(cbuffer[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(cbuffer, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Cbuffer_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(cbuffer[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION cbuffer(geometry, double precision) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Conversion functions + *****************************************************************************/ + +CREATE FUNCTION geometry(cbuffer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Cbuffer_to_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffer(geometry) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Geom_to_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (cbuffer AS geometry) WITH FUNCTION geometry(cbuffer); +CREATE CAST (geometry AS cbuffer) WITH FUNCTION cbuffer(geometry); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +CREATE FUNCTION point(cbuffer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Cbuffer_point' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION radius(cbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'Cbuffer_radius' + LANGUAGE C IMMUTABLE STRICT; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION round(cbuffer, integer DEFAULT 0) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * SRID functions + *****************************************************************************/ + +CREATE FUNCTION SRID(cbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Cbuffer_srid' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION setSRID(cbuffer, integer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(cbuffer, integer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(cbuffer, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Cbuffer_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Spatial relationships + *****************************************************************************/ + +CREATE FUNCTION cbuffer_contains(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_contains' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffer_covers(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_covers' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffer_disjoint(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_disjoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffer_intersects(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_intersects' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffer_touches(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_touches' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffer_dwithin(cbuffer, cbuffer, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_dwithin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION cbuffer_same(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = cbuffer_same, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/****************************************************************************** + * Comparisons + ******************************************************************************/ + +CREATE FUNCTION cbuffer_eq(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_ne(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_lt(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_le(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_ge(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_gt(cbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Cbuffer_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_cmp(cbuffer, cbuffer) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Cbuffer_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + PROCEDURE = cbuffer_eq, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = cbuffer_ne, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + PROCEDURE = cbuffer_lt, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + PROCEDURE = cbuffer_le, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); +CREATE OPERATOR >= ( + PROCEDURE = cbuffer_ge, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargesel, JOIN = scalargejoinsel +); +CREATE OPERATOR > ( + PROCEDURE = cbuffer_gt, + LEFTARG = cbuffer, RIGHTARG = cbuffer, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS cbuffer_btree_ops + DEFAULT FOR TYPE cbuffer USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 cbuffer_cmp(cbuffer, cbuffer); + +/******************************************************************************/ + +CREATE FUNCTION cbuffer_hash(cbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Cbuffer_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbuffer_hash_extended(cbuffer, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Cbuffer_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS cbuffer_hash_ops + DEFAULT FOR TYPE cbuffer USING hash AS + OPERATOR 1 = , + FUNCTION 1 cbuffer_hash(cbuffer), + FUNCTION 2 cbuffer_hash_extended(cbuffer, bigint); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/151_cbufferset.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/151_cbufferset.in.sql new file mode 100644 index 000000000..a5cd44b43 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/151_cbufferset.in.sql @@ -0,0 +1,514 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for set of poses + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE cbufferset; + +CREATE FUNCTION cbufferset_in(cstring) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbufferset_out(cbufferset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbufferset_recv(internal) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cbufferset_send(cbufferset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE cbufferset ( + internallength = variable, + input = cbufferset_in, + output = cbufferset_out, + receive = cbufferset_recv, + send = cbufferset_send, + alignment = double, + storage = extended + -- , analyze = geoset_analyze +); + +/******************************************************************************/ + +-- Input/output in WKB and HexWKB representation + +CREATE FUNCTION cbuffersetFromBinary(bytea) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cbuffersetFromHexWKB(text) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(cbufferset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(cbufferset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(cbufferset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(cbufferset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION set(cbuffer[]) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION set(cbuffer) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (cbuffer AS cbufferset) WITH FUNCTION set(cbuffer); + +CREATE FUNCTION stbox(cbufferset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Spatialset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (cbufferset AS stbox) WITH FUNCTION stbox(cbufferset); + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION round(cbufferset, integer DEFAULT 0) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION memSize(cbufferset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numValues(cbufferset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(cbufferset) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(cbufferset) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(cbufferset, integer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getValues(cbufferset) + RETURNS cbuffer[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * SRID + ******************************************************************************/ + +CREATE FUNCTION SRID(cbufferset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spatialset_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(cbufferset, integer) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Spatialset_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(cbufferset, integer) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Spatialset_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(cbufferset, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Spatialset_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation set of values <-> set + ******************************************************************************/ + +CREATE FUNCTION unnest(cbufferset) + RETURNS SETOF cbuffer + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION set_union_transfn(internal, cbuffer) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, cbufferset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION cbufferset_union_finalfn(internal) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE setUnion(cbuffer) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = cbufferset_union_finalfn +); +CREATE AGGREGATE setUnion(cbufferset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = cbufferset_union_finalfn +); + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION set_eq(cbufferset, cbufferset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(cbufferset, cbufferset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(cbufferset, cbufferset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(cbufferset, cbufferset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(cbufferset, cbufferset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(cbufferset, cbufferset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(cbufferset, cbufferset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = cbufferset, RIGHTARG = cbufferset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = cbufferset, RIGHTARG = cbufferset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + LEFTARG = cbufferset, RIGHTARG = cbufferset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >= + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = cbufferset, RIGHTARG = cbufferset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = > + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = cbufferset, RIGHTARG = cbufferset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = < + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = cbufferset, RIGHTARG = cbufferset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <= + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR CLASS cbufferset_btree_ops + DEFAULT FOR TYPE cbufferset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(cbufferset, cbufferset); + +/******************************************************************************/ + +CREATE FUNCTION set_hash(cbufferset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(cbufferset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS cbufferset_hash_ops + DEFAULT FOR TYPE cbufferset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(cbufferset), + FUNCTION 2 set_hash_extended(cbufferset, bigint); + +/****************************************************************************** + * Operators + ******************************************************************************/ + +CREATE FUNCTION set_contains(cbufferset, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(cbufferset, cbufferset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = cbufferset, RIGHTARG = cbuffer, + COMMUTATOR = <@ + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = cbufferset, RIGHTARG = cbufferset, + COMMUTATOR = <@ + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_contained(cbuffer, cbufferset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(cbufferset, cbufferset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = cbuffer, RIGHTARG = cbufferset, + COMMUTATOR = @> + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = cbufferset, RIGHTARG = cbufferset, + COMMUTATOR = @> + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overlaps(cbufferset, cbufferset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = cbufferset, RIGHTARG = cbufferset, + COMMUTATOR = && + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION set_union(cbuffer, cbufferset) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(cbufferset, cbuffer) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(cbufferset, cbufferset) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = cbuffer, RIGHTARG = cbufferset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = cbufferset, RIGHTARG = cbuffer, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = cbufferset, RIGHTARG = cbufferset, + COMMUTATOR = + +); + +/*****************************************************************************/ + +CREATE FUNCTION set_minus(cbuffer, cbufferset) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(cbufferset, cbuffer) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(cbufferset, cbufferset) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = cbuffer, RIGHTARG = cbufferset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = cbufferset, RIGHTARG = cbuffer +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = cbufferset, RIGHTARG = cbufferset +); + +/*****************************************************************************/ + +CREATE FUNCTION set_intersection(cbuffer, cbufferset) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(cbufferset, cbuffer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(cbufferset, cbufferset) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = cbuffer, RIGHTARG = cbufferset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = cbufferset, RIGHTARG = cbuffer, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = cbufferset, RIGHTARG = cbufferset, + COMMUTATOR = * +); + +/*****************************************************************************/ + +CREATE FUNCTION set_distance(cbuffer, cbufferset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(cbufferset, cbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(cbufferset, cbufferset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = cbuffer, RIGHTARG = cbufferset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = cbufferset, RIGHTARG = cbuffer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = cbufferset, RIGHTARG = cbufferset, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/152_tcbuffer.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/152_tcbuffer.in.sql new file mode 100644 index 000000000..eb2bb753e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/152_tcbuffer.in.sql @@ -0,0 +1,715 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal circular buffers + */ + +CREATE TYPE tcbuffer; + +/***************************************************************************** + * Input/Output + *****************************************************************************/ + +CREATE FUNCTION tcbuffer_in(cstring, oid, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Temporal_out(tcbuffer) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tcbuffer_recv(internal, oid, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tcbuffer) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbuffer_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tcbuffer_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tcbuffer ( + internallength = variable, + input = tcbuffer_in, + output = temporal_out, + receive = tcbuffer_recv, + send = temporal_send, + typmod_in = tcbuffer_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION tcbuffer(tcbuffer, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME','Tcbuffer_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tcbuffer AS tcbuffer) WITH FUNCTION tcbuffer(tcbuffer, integer) AS IMPLICIT; + +/***************************************************************************** + * Input/output from (E)WKT, (E)WKB, HexEWKB, and MFJSON representation + *****************************************************************************/ + +CREATE FUNCTION tcbufferFromText(text) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbufferFromEWKT(text) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbufferFromBinary(bytea) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbufferFromEWKB(bytea) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbufferFromHexEWKB(text) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION asText(tcbuffer, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tcbuffer[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(tcbuffer, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(tcbuffer[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(tcbuffer, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(tcbuffer, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(tcbuffer, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Constructors + *****************************************************************************/ + +CREATE FUNCTION tcbuffer(cbuffer, timestamptz) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbuffer(cbuffer, tstzset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbuffer(cbuffer, tstzspan, text DEFAULT 'linear') + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbuffer(cbuffer, tstzspanset, text DEFAULT 'linear') + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION tcbufferSeq(tcbuffer[], text DEFAULT 'linear', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbufferSeqSet(tcbuffer[]) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tcbufferSeqSetGaps(tcbuffer[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'linear') + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION tcbuffer(tgeompoint, tfloat) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Conversions + *****************************************************************************/ + +CREATE FUNCTION timeSpan(tcbuffer) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeompoint(tcbuffer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tcbuffer_to_tgeompoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat(tcbuffer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tcbuffer_to_tfloat' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tcbuffer(tgeompoint) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tgeometry_to_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tcbuffer(tgeometry) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tgeometry_to_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tcbuffer AS tstzspan) WITH FUNCTION timeSpan(tcbuffer); +CREATE CAST (tcbuffer AS tgeompoint) WITH FUNCTION tgeompoint(tcbuffer); +CREATE CAST (tcbuffer AS tfloat) WITH FUNCTION tfloat(tcbuffer); +CREATE CAST (tgeompoint AS tcbuffer) WITH FUNCTION tcbuffer(tgeompoint); +CREATE CAST (tgeometry AS tcbuffer) WITH FUNCTION tcbuffer(tgeometry); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ +-- Specific accessors for temporal circular buffers + +CREATE FUNCTION points(tcbuffer) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Tcbuffer_points' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION radius(tcbuffer) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Tcbuffer_radius' + LANGUAGE C IMMUTABLE STRICT; + +/*****************************************************************************/ +-- Accessors for all temporal types + +CREATE FUNCTION tempSubtype(tcbuffer) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(tcbuffer) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(tcbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- value is a reserved word in SQL +CREATE FUNCTION getValue(tcbuffer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- timestamp is a reserved word in SQL +CREATE FUNCTION getTimestamp(tcbuffer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- values is a reserved word in SQL +CREATE FUNCTION getValues(tcbuffer) + RETURNS cbufferset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(tcbuffer) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(tcbuffer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(tcbuffer) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(tcbuffer, int) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(tcbuffer, timestamptz) + RETURNS cbuffer + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(tcbuffer, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(tcbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(tcbuffer, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(tcbuffer) + RETURNS tcbuffer[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tcbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tcbuffer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tcbuffer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tcbuffer, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tcbuffer) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(tcbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(tcbuffer, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(tcbuffer) + RETURNS tcbuffer[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(tcbuffer) + RETURNS tcbuffer[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION expand(tcbuffer, float) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_expand' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ +-- Transformations for all temporal types + +CREATE FUNCTION tcbufferInst(tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tcbufferSeq(tcbuffer, text DEFAULT NULL) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tcbufferSeqSet(tcbuffer, text DEFAULT NULL) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(tcbuffer, text) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tcbuffer, integer DEFAULT 0) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tcbuffer[], integer DEFAULT 0) + RETURNS tcbuffer[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftTime(tcbuffer, interval) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(tcbuffer, interval) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(tcbuffer, interval, interval) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Restriction functions + *****************************************************************************/ + +CREATE FUNCTION atValues(tcbuffer, cbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tcbuffer, cbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tcbuffer, cbufferset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tcbuffer, cbufferset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tcbuffer, timestamptz) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tcbuffer, timestamptz) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tcbuffer, tstzset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tcbuffer, tstzset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tcbuffer, tstzspan) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tcbuffer, tstzspan) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tcbuffer, tstzspanset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tcbuffer, tstzspanset) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(tcbuffer, timestamptz, strict bool DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(tcbuffer, timestamptz, strict bool DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Unnest Function + *****************************************************************************/ + +CREATE TYPE cbuffer_tstzspanset AS ( + value cbuffer, + time tstzspanset +); + +CREATE FUNCTION unnest(tcbuffer) + RETURNS SETOF cbuffer_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stop Function + *****************************************************************************/ + +CREATE FUNCTION stops(tcbuffer, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(tcbuffer, tcbuffer, connect boolean DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(tcbuffer, tcbuffer, connect boolean DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tcbuffer, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tcbuffer, tstzset, connect boolean DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tcbuffer, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tcbuffer, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendInstant(tcbuffer, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendSequence(tcbuffer, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION merge(tcbuffer, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION merge(tcbuffer[]) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Multidimensional tiling + *****************************************************************************/ + +CREATE TYPE time_tcbuffer AS ( + time timestamptz, + temp tcbuffer +); + +CREATE FUNCTION timeSplit(tcbuffer, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/***************************************************************************** + * Comparison functions and B-tree indexing + *****************************************************************************/ + +CREATE FUNCTION temporal_lt(tcbuffer, tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tcbuffer, tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tcbuffer, tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tcbuffer, tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tcbuffer, tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tcbuffer, tcbuffer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tcbuffer, tcbuffer) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR = ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); +CREATE OPERATOR > ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS tcbuffer_btree_ops + DEFAULT FOR TYPE tcbuffer USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tcbuffer, tcbuffer); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_hash(tcbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tcbuffer_hash_ops + DEFAULT FOR TYPE tcbuffer USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tcbuffer); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/154_tcbuffer_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/154_tcbuffer_compops.in.sql new file mode 100644 index 000000000..ae0365c39 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/154_tcbuffer_compops.in.sql @@ -0,0 +1,248 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Ever/always and temporal comparison functions and operators for + * temporal circular buffers + */ + +/***************************************************************************** + * Ever/Always Comparison Functions + *****************************************************************************/ + +CREATE FUNCTION ever_eq(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tcbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tcbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Temporal equal + *****************************************************************************/ + +CREATE FUNCTION temporal_teq(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = #= +); + +/***************************************************************************** + * Temporal not equal + *****************************************************************************/ + +CREATE FUNCTION temporal_tne(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = #<> +); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/155_tcbuffer_spatialfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/155_tcbuffer_spatialfuncs.in.sql new file mode 100644 index 000000000..fe69fa27f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/155_tcbuffer_spatialfuncs.in.sql @@ -0,0 +1,104 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial functions for temporal circular buffers + */ + +/***************************************************************************** + * SRID + *****************************************************************************/ + +CREATE FUNCTION SRID(tcbuffer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(tcbuffer, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(tcbuffer, integer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(tcbuffer, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Traversed area + *****************************************************************************/ + +CREATE FUNCTION traversedArea(tcbuffer, bool DEFAULT true) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tcbuffer_traversed_area' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * AtGeometry and MinusGeometry + *****************************************************************************/ + +CREATE FUNCTION atValue(tcbuffer, cbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_at_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValue(tcbuffer, cbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_minus_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atGeometry(tcbuffer, geometry) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_at_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusGeometry(tcbuffer, geometry) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Tcbuffer_minus_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION atStbox(tcbuffer, stbox, bool DEFAULT TRUE) + -- RETURNS tcbuffer + -- AS 'MODULE_PATHNAME', 'Tcbuffer_at_stbox' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION minusStbox(tcbuffer, stbox, bool DEFAULT TRUE) + -- RETURNS tcbuffer + -- AS 'MODULE_PATHNAME', 'Tcbuffer_minus_stbox' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/158_tcbuffer_topops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/158_tcbuffer_topops.in.sql new file mode 100644 index 000000000..264dd90f9 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/158_tcbuffer_topops.in.sql @@ -0,0 +1,379 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box operators for temporal circular buffers + */ + +/***************************************************************************** + * Temporal cbuffer to stbox + *****************************************************************************/ + +CREATE FUNCTION stbox(cbuffer) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Cbuffer_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(cbuffer, timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Cbuffer_timestamptz_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(cbuffer, tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Cbuffer_tstzspan_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(tcbuffer) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (cbuffer AS stbox) WITH FUNCTION stbox(cbuffer); +CREATE CAST (tcbuffer AS stbox) WITH FUNCTION stbox(tcbuffer); + +/*****************************************************************************/ + +CREATE FUNCTION expandSpace(tcbuffer, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tcbuffer, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contains(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tcbuffer, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tcbuffer, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contained(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tcbuffer, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tcbuffer, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_overlaps(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tcbuffer, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tcbuffer, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_same(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tcbuffer, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * adjacent + *****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tcbuffer, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_adjacent(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tcbuffer, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/159_tcbuffer_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/159_tcbuffer_posops.in.sql new file mode 100644 index 000000000..14a053b70 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/159_tcbuffer_posops.in.sql @@ -0,0 +1,487 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Relative position operators for temporal circular buffers + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op tcbuffer */ + +CREATE FUNCTION temporal_before(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * stbox + *****************************************************************************/ + +CREATE FUNCTION temporal_left(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tcbuffer + *****************************************************************************/ + +/* tcbuffer op tstzspan */ + +CREATE FUNCTION temporal_before(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tcbuffer, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tcbuffer, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* tcbuffer op stbox */ + +CREATE FUNCTION temporal_left(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tcbuffer, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tcbuffer op tcbuffer */ + +CREATE FUNCTION temporal_left(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/160_tcbuffer_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/160_tcbuffer_distance.in.sql new file mode 100644 index 000000000..72f8a5884 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/160_tcbuffer_distance.in.sql @@ -0,0 +1,279 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal circular buffers + */ + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION distance(geometry, cbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_geo_cbuffer' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION distance(stbox, cbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_stbox_cbuffer' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION distance(cbuffer, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_cbuffer_geo' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION distance(cbuffer, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_cbuffer_stbox' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION distance(cbuffer, cbuffer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Distance_cbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = distance, + LEFTARG = geometry, + RIGHTARG = cbuffer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = distance, + LEFTARG = stbox, + RIGHTARG = cbuffer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = distance, + LEFTARG = cbuffer, + RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = distance, + LEFTARG = cbuffer, + RIGHTARG = stbox, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = distance, + LEFTARG = cbuffer, + RIGHTARG = cbuffer, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Temporal distance functions + *****************************************************************************/ + +CREATE FUNCTION tdistance(geometry(Point), tcbuffer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(cbuffer, tcbuffer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tcbuffer, geometry(Point)) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tcbuffer, cbuffer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tcbuffer, tcbuffer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = geometry, + RIGHTARG = tcbuffer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = cbuffer, + RIGHTARG = tcbuffer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tcbuffer, + RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tcbuffer, + RIGHTARG = cbuffer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tcbuffer, + RIGHTARG = tcbuffer, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach instant/distance and shortest line functions + *****************************************************************************/ + +CREATE FUNCTION nearestApproachInstant(geometry, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'NAI_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(stbox, tcbuffer) + RETURNS tcbuffer + AS 'SELECT @extschema@.nearestApproachInstant(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(cbuffer, tcbuffer) + RETURNS tcbuffer + AS 'SELECT @extschema@.nearestApproachInstant(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tcbuffer, geometry) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'NAI_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tcbuffer, stbox) + RETURNS tcbuffer + AS 'SELECT @extschema@.nearestApproachInstant($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tcbuffer, cbuffer) + RETURNS tcbuffer + AS 'SELECT @extschema@.nearestApproachInstant($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tcbuffer, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'NAI_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION nearestApproachDistance(geometry, tcbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tcbuffer) + RETURNS float + AS 'SELECT @extschema@.nearestApproachDistance(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(cbuffer, tcbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tcbuffer, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tcbuffer, stbox) + RETURNS float + AS 'SELECT @extschema@.nearestApproachDistance($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tcbuffer, cbuffer) + RETURNS float + AS 'SELECT @extschema@.nearestApproachDistance($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tcbuffer, tcbuffer) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = tcbuffer, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tcbuffer, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tcbuffer, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tcbuffer, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = cbuffer, RIGHTARG = tcbuffer, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tcbuffer, RIGHTARG = cbuffer, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tcbuffer, RIGHTARG = tcbuffer, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +/*****************************************************************************/ + +CREATE FUNCTION shortestLine(geometry, tcbuffer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(stbox, tcbuffer) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(cbuffer, tcbuffer) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(tcbuffer, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tcbuffer, stbox) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(tcbuffer, cbuffer) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(tcbuffer, tcbuffer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/161_tcbuffer_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/161_tcbuffer_aggfuncs.in.sql new file mode 100644 index 000000000..0cea98035 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/161_tcbuffer_aggfuncs.in.sql @@ -0,0 +1,155 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for temporal circular buffers + */ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tcbuffer) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(tcbuffer) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION wcount_transfn(internal, tcbuffer, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wcount(tcbuffer, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, tcbuffer) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tcbuffer_tagg_finalfn(internal) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE merge(tcbuffer) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tcbuffer_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append tinstant aggregate functions + *****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tcbuffer, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tcbuffer, tcbuffer, + interp text DEFAULT NULL) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tcbuffer, tcbuffer, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(tcbuffer) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tcbuffer, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tcbuffer, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tcbuffer, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tcbuffer, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tcbuffer, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(tcbuffer, tcbuffer) + RETURNS tcbuffer + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(tcbuffer) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tcbuffer, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/162_tcbuffer_spatialrels.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/162_tcbuffer_spatialrels.in.sql new file mode 100644 index 000000000..1172008fc --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/162_tcbuffer_spatialrels.in.sql @@ -0,0 +1,364 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial relationships for temporal circular buffers + * @details These relationships are generalized to the temporal dimension with + * the "ever" and "always" semantics, and return a Boolean. + * + * The following relationships are supported: + * `eContains`, `aContains`, `eDisjoint`, `aDisjoint`, `eIntersects`, + * `aIntersects`, `eTouches`, `aTouches`, `eDwithin`, and `aDwithin` + * All these relationships, excepted `eDisjoint`, will automatically perform + * a bounding box comparison that will make use of any spatial, temporal, or + * spatiotemporal indexes that are available. + */ + +/***************************************************************************** + * eContains, aContains + *****************************************************************************/ + +/* eContains(geometry, tcbuffer) is not supported */ + +CREATE FUNCTION eContains(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eContains(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eContains(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aContains(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aContains(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aContains(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aContains(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eCovers, aCovers + *****************************************************************************/ + +/* eCovers(geometry, tcbuffer) is not supported */ + +CREATE FUNCTION eCovers(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ecovers_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eCovers(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ecovers_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eCovers(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ecovers_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aCovers(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aCovers(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aCovers(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aCovers(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eDisjoint, aDisjoint + *****************************************************************************/ + +CREATE FUNCTION eDisjoint(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eDisjoint(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eDisjoint(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aDisjoint(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDisjoint(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDisjoint(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eIntersects, aIntersects + *****************************************************************************/ + +CREATE FUNCTION eintersects(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eintersects(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eIntersects(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eIntersects(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tcbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aIntersects(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aIntersects(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aIntersects(tcbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tcbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eTouches, aTouches + *****************************************************************************/ + +CREATE FUNCTION eTouches(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eTouches(tcbuffer, cbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eTouches(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eTouches(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aTouches(cbuffer, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aTouches(tcbuffer, cbuffer) + RETURNS boolean + SUPPORT tspatial_supportfn + AS 'MODULE_PATHNAME', 'Atouches_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aTouches(geometry, tcbuffer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aTouches(tcbuffer, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eDwithin, aDwithin + *****************************************************************************/ + +CREATE FUNCTION eDwithin(cbuffer, tcbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tcbuffer, cbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eDwithin(geometry, tcbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tcbuffer, geometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eDwithin(tcbuffer, tcbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tcbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aDwithin(cbuffer, tcbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_cbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDwithin(tcbuffer, cbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tcbuffer_cbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDwithin(geometry, tcbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_geo_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDwithin(tcbuffer, geometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tcbuffer_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDwithin(tcbuffer, tcbuffer, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tcbuffer_tcbuffer' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/164_tcbuffer_tempspatialrels.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/164_tcbuffer_tempspatialrels.in.sql new file mode 100644 index 000000000..60814347b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/164_tcbuffer_tempspatialrels.in.sql @@ -0,0 +1,186 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal spatial relationships for temporal circurlar buffers + */ + +/***************************************************************************** + * tContains + *****************************************************************************/ + +CREATE FUNCTION tContains(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tContains(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tContains(geometry, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tContains(tcbuffer, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tContains(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tContains + *****************************************************************************/ + +CREATE FUNCTION tCovers(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tCovers(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tCovers(geometry, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tCovers(tcbuffer, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tCovers(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tDisjoint + *****************************************************************************/ + +CREATE FUNCTION tDisjoint(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(geometry, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tcbuffer, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tIntersects + *****************************************************************************/ + +CREATE FUNCTION tIntersects(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(geometry, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tcbuffer, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tTouches + *****************************************************************************/ + +CREATE FUNCTION tTouches(cbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(tcbuffer, cbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(geometry, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_geo_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(tcbuffer, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_tcbuffer_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(tcbuffer, tcbuffer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tDwithin + *****************************************************************************/ + +CREATE FUNCTION tDwithin(cbuffer, tcbuffer, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_cbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tDwithin(tcbuffer, cbuffer, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_tcbuffer_cbuffer' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- CREATE FUNCTION tDwithin(geometry, tcbuffer, dist float) + -- RETURNS tbool + -- AS 'MODULE_PATHNAME', 'Tdwithin_geo_tcbuffer' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION tDwithin(tcbuffer, geometry, dist float) + -- RETURNS tbool + -- AS 'MODULE_PATHNAME', 'Tdwithin_tcbuffer_geo' + -- LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tDwithin(tcbuffer, tcbuffer, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_tcbuffer_tcbuffer' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/166_tcbuffer_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/166_tcbuffer_indexes.in.sql new file mode 100644 index 000000000..61dda3e33 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/166_tcbuffer_indexes.in.sql @@ -0,0 +1,266 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST and SP-GiST indexes for temporal circular buffers + */ + +/******************************************************************************/ + +CREATE FUNCTION tcbuffer_gist_consistent(internal, tcbuffer, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tcbuffer_rtree_ops + DEFAULT FOR TYPE tcbuffer USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (tcbuffer, stbox), + OPERATOR 1 << (tcbuffer, tcbuffer), + -- overlaps or left + OPERATOR 2 &< (tcbuffer, stbox), + OPERATOR 2 &< (tcbuffer, tcbuffer), + -- overlaps + OPERATOR 3 && (tcbuffer, tstzspan), + OPERATOR 3 && (tcbuffer, stbox), + OPERATOR 3 && (tcbuffer, tcbuffer), + -- overlaps or right + OPERATOR 4 &> (tcbuffer, stbox), + OPERATOR 4 &> (tcbuffer, tcbuffer), + -- strictly right + OPERATOR 5 >> (tcbuffer, stbox), + OPERATOR 5 >> (tcbuffer, tcbuffer), + -- same + OPERATOR 6 ~= (tcbuffer, tstzspan), + OPERATOR 6 ~= (tcbuffer, stbox), + OPERATOR 6 ~= (tcbuffer, tcbuffer), + -- contains + OPERATOR 7 @> (tcbuffer, tstzspan), + OPERATOR 7 @> (tcbuffer, stbox), + OPERATOR 7 @> (tcbuffer, tcbuffer), + -- contained by + OPERATOR 8 <@ (tcbuffer, tstzspan), + OPERATOR 8 <@ (tcbuffer, stbox), + OPERATOR 8 <@ (tcbuffer, tcbuffer), + -- overlaps or below + OPERATOR 9 &<| (tcbuffer, stbox), + OPERATOR 9 &<| (tcbuffer, tcbuffer), + -- strictly below + OPERATOR 10 <<| (tcbuffer, stbox), + OPERATOR 10 <<| (tcbuffer, tcbuffer), + -- strictly above + OPERATOR 11 |>> (tcbuffer, stbox), + OPERATOR 11 |>> (tcbuffer, tcbuffer), + -- overlaps or above + OPERATOR 12 |&> (tcbuffer, stbox), + OPERATOR 12 |&> (tcbuffer, tcbuffer), + -- adjacent + OPERATOR 17 -|- (tcbuffer, tstzspan), + OPERATOR 17 -|- (tcbuffer, stbox), + OPERATOR 17 -|- (tcbuffer, tcbuffer), + -- nearest approach distance +-- OPERATOR 25 |=| (tcbuffer, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tcbuffer, tstzspan), + OPERATOR 28 &<# (tcbuffer, stbox), + OPERATOR 28 &<# (tcbuffer, tcbuffer), + -- strictly before + OPERATOR 29 <<# (tcbuffer, tstzspan), + OPERATOR 29 <<# (tcbuffer, stbox), + OPERATOR 29 <<# (tcbuffer, tcbuffer), + -- strictly after + OPERATOR 30 #>> (tcbuffer, tstzspan), + OPERATOR 30 #>> (tcbuffer, stbox), + OPERATOR 30 #>> (tcbuffer, tcbuffer), + -- overlaps or after + OPERATOR 31 #&> (tcbuffer, tstzspan), + OPERATOR 31 #&> (tcbuffer, stbox), + OPERATOR 31 #&> (tcbuffer, tcbuffer), + -- functions + FUNCTION 1 tcbuffer_gist_consistent(internal, tcbuffer, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal); +-- FUNCTION 8 gist_tcbuffer_distance(internal, tcbuffer, smallint, oid, internal), + +/******************************************************************************/ + +CREATE OPERATOR CLASS tcbuffer_quadtree_ops + DEFAULT FOR TYPE tcbuffer USING spgist AS + -- strictly left + OPERATOR 1 << (tcbuffer, stbox), + OPERATOR 1 << (tcbuffer, tcbuffer), + -- overlaps or left + OPERATOR 2 &< (tcbuffer, stbox), + OPERATOR 2 &< (tcbuffer, tcbuffer), + -- overlaps + OPERATOR 3 && (tcbuffer, tstzspan), + OPERATOR 3 && (tcbuffer, stbox), + OPERATOR 3 && (tcbuffer, tcbuffer), + -- overlaps or right + OPERATOR 4 &> (tcbuffer, stbox), + OPERATOR 4 &> (tcbuffer, tcbuffer), + -- strictly right + OPERATOR 5 >> (tcbuffer, stbox), + OPERATOR 5 >> (tcbuffer, tcbuffer), + -- same + OPERATOR 6 ~= (tcbuffer, tstzspan), + OPERATOR 6 ~= (tcbuffer, stbox), + OPERATOR 6 ~= (tcbuffer, tcbuffer), + -- contains + OPERATOR 7 @> (tcbuffer, tstzspan), + OPERATOR 7 @> (tcbuffer, stbox), + OPERATOR 7 @> (tcbuffer, tcbuffer), + -- contained by + OPERATOR 8 <@ (tcbuffer, tstzspan), + OPERATOR 8 <@ (tcbuffer, stbox), + OPERATOR 8 <@ (tcbuffer, tcbuffer), + -- overlaps or below + OPERATOR 9 &<| (tcbuffer, stbox), + OPERATOR 9 &<| (tcbuffer, tcbuffer), + -- strictly below + OPERATOR 10 <<| (tcbuffer, stbox), + OPERATOR 10 <<| (tcbuffer, tcbuffer), + -- strictly above + OPERATOR 11 |>> (tcbuffer, stbox), + OPERATOR 11 |>> (tcbuffer, tcbuffer), + -- overlaps or above + OPERATOR 12 |&> (tcbuffer, stbox), + OPERATOR 12 |&> (tcbuffer, tcbuffer), + -- adjacent + OPERATOR 17 -|- (tcbuffer, tstzspan), + OPERATOR 17 -|- (tcbuffer, stbox), + OPERATOR 17 -|- (tcbuffer, tcbuffer), + -- nearest approach distance +-- OPERATOR 25 |=| (tcbuffer, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tcbuffer, tstzspan), + OPERATOR 28 &<# (tcbuffer, stbox), + OPERATOR 28 &<# (tcbuffer, tcbuffer), + -- strictly before + OPERATOR 29 <<# (tcbuffer, tstzspan), + OPERATOR 29 <<# (tcbuffer, stbox), + OPERATOR 29 <<# (tcbuffer, tcbuffer), + -- strictly after + OPERATOR 30 #>> (tcbuffer, tstzspan), + OPERATOR 30 #>> (tcbuffer, stbox), + OPERATOR 30 #>> (tcbuffer, tcbuffer), + -- overlaps or after + OPERATOR 31 #&> (tcbuffer, tstzspan), + OPERATOR 31 #&> (tcbuffer, stbox), + OPERATOR 31 #&> (tcbuffer, tcbuffer), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tcbuffer_kdtree_ops + FOR TYPE tcbuffer USING spgist AS + -- strictly left + OPERATOR 1 << (tcbuffer, stbox), + OPERATOR 1 << (tcbuffer, tcbuffer), + -- overlaps or left + OPERATOR 2 &< (tcbuffer, stbox), + OPERATOR 2 &< (tcbuffer, tcbuffer), + -- overlaps + OPERATOR 3 && (tcbuffer, tstzspan), + OPERATOR 3 && (tcbuffer, stbox), + OPERATOR 3 && (tcbuffer, tcbuffer), + -- overlaps or right + OPERATOR 4 &> (tcbuffer, stbox), + OPERATOR 4 &> (tcbuffer, tcbuffer), + -- strictly right + OPERATOR 5 >> (tcbuffer, stbox), + OPERATOR 5 >> (tcbuffer, tcbuffer), + -- same + OPERATOR 6 ~= (tcbuffer, tstzspan), + OPERATOR 6 ~= (tcbuffer, stbox), + OPERATOR 6 ~= (tcbuffer, tcbuffer), + -- contains + OPERATOR 7 @> (tcbuffer, tstzspan), + OPERATOR 7 @> (tcbuffer, stbox), + OPERATOR 7 @> (tcbuffer, tcbuffer), + -- contained by + OPERATOR 8 <@ (tcbuffer, tstzspan), + OPERATOR 8 <@ (tcbuffer, stbox), + OPERATOR 8 <@ (tcbuffer, tcbuffer), + -- overlaps or below + OPERATOR 9 &<| (tcbuffer, stbox), + OPERATOR 9 &<| (tcbuffer, tcbuffer), + -- strictly below + OPERATOR 10 <<| (tcbuffer, stbox), + OPERATOR 10 <<| (tcbuffer, tcbuffer), + -- strictly above + OPERATOR 11 |>> (tcbuffer, stbox), + OPERATOR 11 |>> (tcbuffer, tcbuffer), + -- overlaps or above + OPERATOR 12 |&> (tcbuffer, stbox), + OPERATOR 12 |&> (tcbuffer, tcbuffer), + -- adjacent + OPERATOR 17 -|- (tcbuffer, tstzspan), + OPERATOR 17 -|- (tcbuffer, stbox), + OPERATOR 17 -|- (tcbuffer, tcbuffer), + -- nearest approach distance +-- OPERATOR 25 |=| (tcbuffer, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tcbuffer, tstzspan), + OPERATOR 28 &<# (tcbuffer, stbox), + OPERATOR 28 &<# (tcbuffer, tcbuffer), + -- strictly before + OPERATOR 29 <<# (tcbuffer, tstzspan), + OPERATOR 29 <<# (tcbuffer, stbox), + OPERATOR 29 <<# (tcbuffer, tcbuffer), + -- strictly after + OPERATOR 30 #>> (tcbuffer, tstzspan), + OPERATOR 30 #>> (tcbuffer, stbox), + OPERATOR 30 #>> (tcbuffer, tcbuffer), + -- overlaps or after + OPERATOR 31 #&> (tcbuffer, tstzspan), + OPERATOR 31 #&> (tcbuffer, stbox), + OPERATOR 31 #&> (tcbuffer, tcbuffer), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/CMakeLists.txt new file mode 100644 index 000000000..7cade2dbc --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/cbuffer/CMakeLists.txt @@ -0,0 +1,23 @@ +SET(LOCAL_FILES + 150_cbuffer + 151_cbufferset + 152_tcbuffer + # 153_tcbuffer_inout + 154_tcbuffer_compops + 155_tcbuffer_spatialfuncs + 158_tcbuffer_topops + 159_tcbuffer_posops + 160_tcbuffer_distance + 161_tcbuffer_aggfuncs + 162_tcbuffer_spatialrels + 164_tcbuffer_tempspatialrels + 166_tcbuffer_indexes + ) + +foreach (f ${LOCAL_FILES}) + process_file(${f} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/${f}.sql.in ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql @ONLY) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql) +endforeach() + +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/050_geoset.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/050_geoset.in.sql new file mode 100644 index 000000000..2404117ee --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/050_geoset.in.sql @@ -0,0 +1,944 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for set of geometry/geography values + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE geomset; +CREATE TYPE geogset; + +CREATE FUNCTION geomset_in(cstring) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geomset_out(geomset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geomset_recv(internal) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geomset_send(geomset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geogset_in(cstring) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geogset_out(geogset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geogset_recv(internal) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geogset_send(geogset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spatialset_analyze(internal) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spatialset_analyze' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE geomset ( + internallength = variable, + input = geomset_in, + output = geomset_out, + receive = geomset_recv, + send = geomset_send, + alignment = double, + storage = extended, + analyze = spatialset_analyze +); + +CREATE TYPE geogset ( + internallength = variable, + input = geogset_in, + output = geogset_out, + receive = geogset_recv, + send = geogset_send, + alignment = double, + storage = extended, + analyze = spatialset_analyze +); + +/******************************************************************************/ + +-- Input/output in WKB and HexWKB representation + +CREATE FUNCTION geomsetFromText(text) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geomsetFromEWKT(text) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geogsetFromText(text) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geogsetFromEWKT(text) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geomsetFromBinary(bytea) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geomsetFromEWKB(bytea) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geomsetFromHexWKB(text) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geogsetFromBinary(bytea) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geogsetFromEWKB(bytea) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geogsetFromHexWKB(text) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(geomset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(geomset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(geogset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(geogset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(geomset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(geomset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(geogset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(geogset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructor + ******************************************************************************/ + +CREATE FUNCTION set(geometry[]) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(geography[]) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION set(geometry) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(geography) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (geometry AS geomset) WITH FUNCTION set(geometry); +CREATE CAST (geography AS geogset) WITH FUNCTION set(geography); + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION memSize(geomset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(geogset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numValues(geomset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numValues(geogset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(geomset) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(geogset) + RETURNS geography + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(geomset) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(geogset) + RETURNS geography + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(geomset, integer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(geogset, integer) + RETURNS geography + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getValues(geomset) + RETURNS geometry[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(geogset) + RETURNS geography[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * SRID functions + *****************************************************************************/ + +CREATE FUNCTION SRID(geomset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spatialset_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION SRID(geogset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spatialset_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(geomset, integer) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Spatialset_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setSRID(geogset, integer) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Spatialset_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(geomset, integer) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Spatialset_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transform(geogset, integer) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Spatialset_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(geomset, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Spatialset_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transformPipeline(geogset, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Spatialset_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION round(geomset, integer DEFAULT 0) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(geogset, integer DEFAULT 0) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation set of values <-> set + ******************************************************************************/ + +CREATE FUNCTION unnest(geomset) + RETURNS SETOF geometry + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(geogset) + RETURNS SETOF geography + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION set_union_transfn(internal, geometry) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, geography) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION set_union_transfn(internal, geomset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, geogset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION geomset_union_finalfn(internal) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION geogset_union_finalfn(internal) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE setUnion(geometry) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = geomset_union_finalfn +); +CREATE AGGREGATE setUnion(geography) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = geogset_union_finalfn +); + +CREATE AGGREGATE setUnion(geomset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = geomset_union_finalfn +); +CREATE AGGREGATE setUnion(geogset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = geogset_union_finalfn +); + +/***************************************************************************** + * Selectivity functions + *****************************************************************************/ + +-- CREATE FUNCTION spatialset_sel(internal, oid, internal, integer) + -- RETURNS float + -- AS 'MODULE_PATHNAME', 'Spatialset_sel' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION set_eq(geomset, geomset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_eq(geogset, geogset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_ne(geomset, geomset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(geogset, geogset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_lt(geomset, geomset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(geogset, geogset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_le(geomset, geomset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(geogset, geogset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_ge(geomset, geomset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(geogset, geogset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gt(geomset, geomset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(geogset, geogset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_cmp(geomset, geomset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(geogset, geogset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = geomset, RIGHTARG = geomset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = geogset, RIGHTARG = geogset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR <> ( + LEFTARG = geomset, RIGHTARG = geomset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = geogset, RIGHTARG = geogset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + LEFTARG = geomset, RIGHTARG = geomset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >= + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR < ( + LEFTARG = geogset, RIGHTARG = geogset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >= + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +CREATE OPERATOR <= ( + LEFTARG = geomset, RIGHTARG = geomset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = > + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = geogset, RIGHTARG = geogset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = > + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +CREATE OPERATOR >= ( + LEFTARG = geomset, RIGHTARG = geomset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = < + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = geogset, RIGHTARG = geogset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = < + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +CREATE OPERATOR > ( + LEFTARG = geomset, RIGHTARG = geomset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <= + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR > ( + LEFTARG = geogset, RIGHTARG = geogset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <= + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +CREATE OPERATOR CLASS geomset_btree_ops + DEFAULT FOR TYPE geomset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(geomset, geomset); +CREATE OPERATOR CLASS geogset_btree_ops + DEFAULT FOR TYPE geogset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(geogset, geogset); + +/******************************************************************************/ + +CREATE FUNCTION set_hash(geomset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash(geogset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_hash_extended(geomset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(geogset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS geomset_hash_ops + DEFAULT FOR TYPE geomset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(geomset), + FUNCTION 2 set_hash_extended(geomset, bigint); +CREATE OPERATOR CLASS geogset_hash_ops + DEFAULT FOR TYPE geogset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(geogset), + FUNCTION 2 set_hash_extended(geogset, bigint); + +/****************************************************************************** + * Operators + ******************************************************************************/ + +CREATE FUNCTION set_contains(geomset, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(geomset, geomset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(geogset, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(geogset, geogset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = geomset, RIGHTARG = geometry, + COMMUTATOR = <@ + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = geomset, RIGHTARG = geomset, + COMMUTATOR = <@ + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = geogset, RIGHTARG = geography, + COMMUTATOR = <@ + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = geogset, RIGHTARG = geogset, + COMMUTATOR = <@ + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_contained(geometry, geomset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(geomset, geomset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(geography, geogset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(geogset, geogset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = geometry, RIGHTARG = geomset, + COMMUTATOR = @> + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = geomset, RIGHTARG = geomset, + COMMUTATOR = @> + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = geography, RIGHTARG = geogset, + COMMUTATOR = @> + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = geogset, RIGHTARG = geogset, + COMMUTATOR = @> + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overlaps(geomset, geomset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overlaps(geogset, geogset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = geomset, RIGHTARG = geomset, + COMMUTATOR = && + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = geogset, RIGHTARG = geogset, + COMMUTATOR = && + -- RESTRICT = stbox_sel, JOIN = stbox_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION set_union(geometry, geomset) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(geomset, geometry) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(geomset, geomset) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_union(geography, geogset) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(geogset, geography) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(geogset, geogset) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = geometry, RIGHTARG = geomset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = geomset, RIGHTARG = geometry, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = geomset, RIGHTARG = geomset, + COMMUTATOR = + +); + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = geography, RIGHTARG = geogset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = geogset, RIGHTARG = geography, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = geogset, RIGHTARG = geogset, + COMMUTATOR = + +); + +/*****************************************************************************/ + +CREATE FUNCTION set_minus(geometry, geomset) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(geomset, geometry) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(geomset, geomset) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_minus(geography, geogset) + RETURNS geography + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(geogset, geography) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(geogset, geogset) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = geometry, RIGHTARG = geomset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = geomset, RIGHTARG = geometry +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = geomset, RIGHTARG = geomset +); + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = geography, RIGHTARG = geogset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = geogset, RIGHTARG = geography +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = geogset, RIGHTARG = geogset +); + +/*****************************************************************************/ + +CREATE FUNCTION set_intersection(geometry, geomset) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(geomset, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(geomset, geomset) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_intersection(geography, geogset) + RETURNS geography + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(geogset, geography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(geogset, geogset) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = geometry, RIGHTARG = geomset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = geomset, RIGHTARG = geometry, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = geomset, RIGHTARG = geomset, + COMMUTATOR = * +); + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = geography, RIGHTARG = geogset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = geogset, RIGHTARG = geography, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = geogset, RIGHTARG = geogset, + COMMUTATOR = * +); + +/*****************************************************************************/ + +CREATE FUNCTION set_distance(geometry, geomset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(geomset, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(geomset, geomset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_distance(geography, geogset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(geogset, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(geogset, geogset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = geometry, RIGHTARG = geomset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = geomset, RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = geomset, RIGHTARG = geomset, + COMMUTATOR = <-> +); + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = geography, RIGHTARG = geogset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = geogset, RIGHTARG = geography, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = geogset, RIGHTARG = geogset, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/051_stbox.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/051_stbox.in.sql new file mode 100644 index 000000000..5ad6fff88 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/051_stbox.in.sql @@ -0,0 +1,763 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for spatiotemporal bounding boxes + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE stbox; + +CREATE FUNCTION stbox_in(cstring) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_out(stbox) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Stbox_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_recv(internal) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_send(stbox) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Stbox_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE stbox ( + internallength = 80, + input = stbox_in, + output = stbox_out, + receive = stbox_recv, + send = stbox_send, + storage = plain, + alignment = double +); + +-- Input/output in WKB and HexWKB representation + +CREATE FUNCTION stboxFromBinary(bytea) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stboxFromHexWKB(text) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(stbox, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Stbox_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(stbox, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Stbox_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(stbox, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Stbox_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION stboxX(float, float, float, float, srid integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_x' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxZ(float, float, float, float, float, float, + srid integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_z' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxT(timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_t' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxT(tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_t' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxXT(float, float, float, float, timestamptz, + srid integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_xt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxXT(float, float, float, float, tstzspan, + srid integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_xt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxZT(float, float, float, float, float, float, + timestamptz, srid integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_zt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxZT(float, float, float, float, float, float, + tstzspan, srid integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_constructor_zt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geodstboxT(timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geodstbox_constructor_t' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geodstboxT(tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geodstbox_constructor_t' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geodstboxZ(float, float, float, float, float, float, + srid integer DEFAULT 4326) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geodstbox_constructor_z' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geodstboxZT(float, float, float, float, float, float, + timestamptz, srid integer DEFAULT 4326) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geodstbox_constructor_zt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geodstboxZT(float, float, float, float, float, float, + tstzspan, srid integer DEFAULT 4326) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geodstbox_constructor_zt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION stbox(geometry, timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geo_timestamptz_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geography, timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geo_timestamptz_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geometry, tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geo_tstzspan_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geography, tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geo_tstzspan_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Conversion + *****************************************************************************/ + +CREATE FUNCTION stbox(box2d) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Box2d_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(box3d) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Box3d_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geometry) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geo_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geography) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Geo_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geomset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Spatialset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(geogset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Spatialset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Timestamptz_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(tstzset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tstzset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tstzspan_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(tstzspanset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tstzspanset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (box2d AS stbox) WITH FUNCTION stbox(box2d); +CREATE CAST (box3d AS stbox) WITH FUNCTION stbox(box3d); +CREATE CAST (geometry AS stbox) WITH FUNCTION stbox(geometry); +CREATE CAST (geography AS stbox) WITH FUNCTION stbox(geography); +CREATE CAST (geomset AS stbox) WITH FUNCTION stbox(geomset); +CREATE CAST (geogset AS stbox) WITH FUNCTION stbox(geogset); +CREATE CAST (timestamptz AS stbox) WITH FUNCTION stbox(timestamptz); +CREATE CAST (tstzset AS stbox) WITH FUNCTION stbox(tstzset); +CREATE CAST (tstzspan AS stbox) WITH FUNCTION stbox(tstzspan); +CREATE CAST (tstzspanset AS stbox) WITH FUNCTION stbox(tstzspanset); + +/*****************************************************************************/ + +CREATE FUNCTION box2d(stbox) + RETURNS box2d + AS 'MODULE_PATHNAME', 'Stbox_to_box2d' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION box3d(stbox) + RETURNS box3d + AS 'MODULE_PATHNAME', 'Stbox_to_box3d' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geometry(stbox) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Stbox_to_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geography(stbox) + RETURNS geography + AS 'MODULE_PATHNAME', 'Stbox_to_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(stbox) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Stbox_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (stbox AS box2d) WITH FUNCTION box2d(stbox); +CREATE CAST (stbox AS box3d) WITH FUNCTION box3d(stbox); +CREATE CAST (stbox AS geometry) WITH FUNCTION geometry(stbox); +CREATE CAST (stbox AS geography) WITH FUNCTION geography(stbox); +CREATE CAST (stbox AS tstzspan) WITH FUNCTION timeSpan(stbox); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +CREATE FUNCTION hasX(stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_hasx' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION hasZ(stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_hasz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION hasT(stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_hast' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION isGeodetic(stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_isgeodetic' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION Xmin(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_xmin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Ymin(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_ymin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Zmin(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_zmin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Tmin(stbox) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Stbox_tmin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION TminInc(stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_tmin_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION Xmax(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_xmax' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Ymax(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_ymax' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Zmax(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_zmax' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Tmax(stbox) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Stbox_tmax' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION TmaxInc(stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_tmax_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION area(stbox, spheroid bool DEFAULT true) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_area' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION volume(stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_volume' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION perimeter(stbox, spheroid bool DEFAULT true) + RETURNS float + AS 'MODULE_PATHNAME', 'Stbox_perimeter' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION shiftTime(stbox, interval) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(stbox, interval) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(stbox, interval, interval) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getSpace(stbox) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_get_space' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION expandSpace(stbox, float) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_expand_space' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expandTime(stbox, interval) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_expand_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Selectively functions for operators + *****************************************************************************/ + +CREATE FUNCTION tspatial_sel(internal, oid, internal, integer) + RETURNS float +AS 'MODULE_PATHNAME', 'Tspatial_sel' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION tspatial_joinsel(internal, oid, internal, smallint, internal) + RETURNS float +AS 'MODULE_PATHNAME', 'Tspatial_joinsel' + LANGUAGE C IMMUTABLE STRICT; + +/***************************************************************************** +* Topological operators +*****************************************************************************/ + +CREATE FUNCTION stbox_contains(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_contained(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overlaps(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_same(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_adjacent(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = stbox_contains, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = stbox_contained, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = stbox_overlaps, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = stbox_same, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = stbox_adjacent, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** +* Position operators +*****************************************************************************/ + +CREATE FUNCTION stbox_left(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overleft(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_right(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overright(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_below(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overbelow(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_above(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overabove(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_before(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overbefore(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_after(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overafter(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_front(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overfront(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_back(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_overback(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = stbox_left, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = stbox_overleft, + LEFTARG = stbox, RIGHTARG = stbox, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = stbox, + PROCEDURE = stbox_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = stbox_overright, + LEFTARG = stbox, RIGHTARG = stbox, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + PROCEDURE = stbox_below, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + PROCEDURE = stbox_overbelow, + LEFTARG = stbox, RIGHTARG = stbox, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + PROCEDURE = stbox_above, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + PROCEDURE = stbox_overabove, + LEFTARG = stbox, RIGHTARG = stbox, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = stbox, + PROCEDURE = stbox_back, + COMMUTATOR = < ( + LEFTARG = stbox, RIGHTARG = stbox, + PROCEDURE = stbox_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = stbox_before, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = stbox_overbefore, + LEFTARG = stbox, RIGHTARG = stbox, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = stbox_after, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = stbox_overafter, + LEFTARG = stbox, RIGHTARG = stbox, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Set operators + *****************************************************************************/ + +CREATE FUNCTION stbox_union(stbox, stbox) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Union_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_intersection(stbox, stbox) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Intersection_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = stbox_union, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = + +); +CREATE OPERATOR * ( + PROCEDURE = stbox_intersection, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = * +); + +/***************************************************************************** + * Split functions + *****************************************************************************/ + +CREATE FUNCTION quadSplit(stbox) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Stbox_quad_split' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Extent aggreation + *****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION stbox_extent_transfn(stbox, stbox) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION stbox_extent_combinefn(stbox, stbox) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(stbox) ( + SFUNC = stbox_extent_transfn, + STYPE = stbox, + COMBINEFUNC = stbox_extent_combinefn, + PARALLEL = safe +); + +/***************************************************************************** + * Comparison + *****************************************************************************/ + +CREATE FUNCTION stbox_eq(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_ne(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_lt(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_le(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_ge(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_gt(stbox, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Stbox_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_cmp(stbox, stbox) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Stbox_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = stbox, RIGHTARG = stbox, + PROCEDURE = stbox_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = stbox, RIGHTARG = stbox, + PROCEDURE = stbox_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + PROCEDURE = stbox_lt, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = areasel, JOIN = areajoinsel +); +CREATE OPERATOR <= ( + PROCEDURE = stbox_le, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = areasel, JOIN = areajoinsel +); +CREATE OPERATOR >= ( + PROCEDURE = stbox_ge, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = areasel, JOIN = areajoinsel +); +CREATE OPERATOR > ( + PROCEDURE = stbox_gt, + LEFTARG = stbox, RIGHTARG = stbox, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = areasel, JOIN = areajoinsel +); + +CREATE OPERATOR CLASS stbox_btree_ops + DEFAULT FOR TYPE stbox USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 stbox_cmp(stbox, stbox); + +/*****************************************************************************/ + +CREATE FUNCTION stbox_hash(stbox) + RETURNS integer + AS 'MODULE_PATHNAME', 'Stbox_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox_hash_extended(stbox, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Stbox_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS stbox_hash_ops + DEFAULT FOR TYPE stbox USING hash AS + OPERATOR 1 = , + FUNCTION 1 stbox_hash(stbox), + FUNCTION 2 stbox_hash_extended(stbox, bigint); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tgeo.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tgeo.in.sql new file mode 100644 index 000000000..b705b6bd6 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tgeo.in.sql @@ -0,0 +1,1081 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal geometry/geographies + */ + +CREATE TYPE tgeometry; +CREATE TYPE tgeography; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION tgeometry_in(cstring, oid, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeo_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(tgeometry) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeometry_recv(internal, oid, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tgeometry) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometry_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tgeometry_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tgeography_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tspatial_typmod_out(integer) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Tspatial_typmod_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tspatial_analyze(internal) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tspatial_analyze' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tgeometry ( + internallength = variable, + input = tgeometry_in, + output = temporal_out, + send = temporal_send, + receive = tgeometry_recv, + typmod_in = tgeometry_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +CREATE FUNCTION tgeography_in(cstring, oid, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tgeo_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(tgeography) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography_recv(internal, oid, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tgeography) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tgeography ( + internallength = variable, + input = tgeography_in, + output = temporal_out, + send = temporal_send, + receive = tgeography_recv, + typmod_in = tgeography_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION tgeometry(tgeometry, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tspatial_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography(tgeography, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tspatial_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeometry AS tgeometry) WITH FUNCTION tgeometry(tgeometry, integer) AS IMPLICIT; +CREATE CAST (tgeography AS tgeography) WITH FUNCTION tgeography(tgeography, integer) AS IMPLICIT; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION tgeometry(geometry, timestamptz) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeoinst_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography(geography, timestamptz) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tgeoinst_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometry(geometry, tstzset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography(geography, tstzset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometry(geometry, tstzspan, text DEFAULT 'step') + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography(geography, tstzspan, text DEFAULT 'step') + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometry(geometry, tstzspanset, text DEFAULT 'step') + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography(geography, tstzspanset, text DEFAULT 'step') + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION tgeometrySeq(tgeometry[], text DEFAULT 'step', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographySeq(tgeography[], text DEFAULT 'step', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometrySeqSet(tgeometry[]) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographySeqSet(tgeography[]) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tgeometrySeqSetGaps(tgeometry[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'step') + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tgeographySeqSetGaps(tgeography[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'step') + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/****************************************************************************** + * Conversions + ******************************************************************************/ + +CREATE FUNCTION timeSpan(tgeometry) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(tgeography) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeometry AS tstzspan) WITH FUNCTION timeSpan(tgeometry); +CREATE CAST (tgeography AS tstzspan) WITH FUNCTION timeSpan(tgeography); + +/****************************************************************************** + * Transformations + ******************************************************************************/ + +CREATE FUNCTION tgeometryInst(tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeometrySeq(tgeometry, text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeometrySeq(tgeometry) + RETURNS tgeometry + AS 'SELECT @extschema@.tgeometrySeq($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeometrySeqSet(tgeometry, text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeometrySeqSet(tgeometry) + RETURNS tgeometry + AS 'SELECT @extschema@.tgeometrySeqSet($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tgeographyInst(tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeographySeq(tgeography, text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeographySeq(tgeography) + RETURNS tgeography + AS 'SELECT @extschema@.tgeographySeq($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeographySeqSet(tgeography, text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeographySeqSet(tgeography) + RETURNS tgeography + AS 'SELECT @extschema@.tgeographySeqSet($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(tgeometry, text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setInterp(tgeography, text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendInstant(tgeometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(tgeography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendSequence(tgeometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendSequence(tgeography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION merge(tgeometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION merge(tgeography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION merge(tgeometry[]) + RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(tgeography[]) + RETURNS tgeography +AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Accessor Functions + ******************************************************************************/ + +CREATE FUNCTION tempSubtype(tgeometry) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tempSubtype(tgeography) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(tgeometry) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION interp(tgeography) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(tgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(tgeography) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- value is a reserved word in SQL +CREATE FUNCTION getValue(tgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValue(tgeography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- There is no getValues() function for temporal geos, +-- it is called traversedArea() for temporal geos + +CREATE FUNCTION getTimestamp(tgeometry) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTimestamp(tgeography) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueSet(tgeometry) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueSet(tgeography) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(tgeometry, integer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(tgeography, integer) + RETURNS geography + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(tgeometry) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTime(tgeography) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(tgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(tgeography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(tgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(tgeography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(tgeometry, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(tgeography, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(tgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numInstants(tgeography) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startInstant(tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endInstant(tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(tgeometry, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instantN(tgeography, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(tgeometry) + RETURNS tgeometry[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instants(tgeography) + RETURNS tgeography[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numTimestamps(tgeography) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tgeometry) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startTimestamp(tgeography) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tgeometry) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endTimestamp(tgeography) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tgeometry, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestampN(tgeography, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tgeometry) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestamps(tgeography) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(tgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSequences(tgeography) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSequence(tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSequence(tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(tgeometry, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequenceN(tgeography, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(tgeometry) + RETURNS tgeometry[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequences(tgeography) + RETURNS tgeography[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(tgeometry) + RETURNS tgeometry[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segments(tgeography) + RETURNS tgeography[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Shift and scale functions + *****************************************************************************/ + +CREATE FUNCTION shiftTime(tgeometry, interval) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftTime(tgeography, interval) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(tgeometry, interval) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleTime(tgeography, interval) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(tgeometry, interval, interval) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleTime(tgeography, interval, interval) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tprecision(tgeometry, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_tprecision' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tprecision(tgeography, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_tprecision' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tsample(tgeometry, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tsample(tgeography, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Unnest Function + *****************************************************************************/ + +CREATE FUNCTION unnest(tgeometry) + RETURNS SETOF geom_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(tgeography) + RETURNS SETOF geog_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Restriction Functions + *****************************************************************************/ + +CREATE FUNCTION atValues(tgeometry, geometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tgeography, geography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tgeometry, geometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tgeography, geography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tgeometry, geomset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tgeography, geogset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tgeometry, geomset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tgeography, geogset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeometry, timestamptz) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeography, timestamptz) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeometry, timestamptz) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeography, timestamptz) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(tgeometry, timestamptz) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueAtTimestamp(tgeography, timestamptz) + RETURNS geography + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeometry, tstzset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeography, tstzset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeometry, tstzset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeography, tstzset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeometry, tstzspan) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeography, tstzspan) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeometry, tstzspan) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeography, tstzspan) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeometry, tstzspanset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeography, tstzspanset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeometry, tstzspanset) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeography, tstzspanset) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(tgeometry, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION beforeTimestamp(tgeography, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(tgeometry, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION afterTimestamp(tgeography, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(tgeometry, tgeometry, connect boolean DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION insert(tgeography, tgeometry, connect boolean DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(tgeometry, tgeometry, connect boolean DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION update(tgeography, tgeography, connect boolean DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeometry, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeography, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeometry, tstzset, connect boolean DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeography, tstzset, connect boolean DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeometry, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeography, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeometry, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeography, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stops Function + *****************************************************************************/ + +-- CREATE FUNCTION stops(tgeometry, maxdist float DEFAULT 0.0, + -- minduration interval DEFAULT '0 minutes') + -- RETURNS tgeometry + -- AS 'MODULE_PATHNAME', 'Temporal_stops' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION stops(tgeography, maxdist float DEFAULT 0.0, + -- minduration interval DEFAULT '0 minutes') + -- RETURNS tgeography + -- AS 'MODULE_PATHNAME', 'Temporal_stops' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION stops(tgeometry, minduration interval DEFAULT '0 minutes') + -- RETURNS tgeometry + -- AS 'SELECT @extschema@.stops($1, 0.0, $2)' + -- LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION stops(tgeography, minduration interval DEFAULT '0 minutes') + -- RETURNS tgeography + -- AS 'SELECT @extschema@.stops($1, 0.0, $2)' + -- LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE TYPE time_tgeom AS ( + time timestamptz, + tgeom tgeometry +); +CREATE TYPE time_tgeog AS ( + time timestamptz, + tgeog tgeography +); + +CREATE FUNCTION timeSplit(tgeometry, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tgeom + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeSplit(tgeography, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tgeog + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION temporal_lt(tgeometry, tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tgeometry, tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tgeometry, tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tgeometry, tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tgeometry, tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tgeometry, tgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tgeometry, tgeometry) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR = ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE OPERATOR CLASS tgeometry_btree_ops + DEFAULT FOR TYPE tgeometry USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tgeometry, tgeometry); + +/******************************************************************************/ + +CREATE FUNCTION temporal_lt(tgeography, tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tgeography, tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tgeography, tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tgeography, tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tgeography, tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tgeography, tgeography) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tgeography, tgeography) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR = ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <> ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE OPERATOR CLASS tgeography_btree_ops + DEFAULT FOR TYPE tgeography USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tgeography, tgeography); + +/******************************************************************************/ + +CREATE FUNCTION temporal_hash(tgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_hash(tgeography) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tgeometry_hash_ops + DEFAULT FOR TYPE tgeometry USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tgeometry); +CREATE OPERATOR CLASS tgeography_hash_ops + DEFAULT FOR TYPE tgeography USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tgeography); + +/******************************************************************************/ + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tpoint.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tpoint.in.sql new file mode 100644 index 000000000..4d3383e76 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/052_tpoint.in.sql @@ -0,0 +1,1082 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal geometry/geography points + */ + +CREATE TYPE tgeompoint; +CREATE TYPE tgeogpoint; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION tgeompoint_in(cstring, oid, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tpoint_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(tgeompoint) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeompoint_recv(internal, oid, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tgeompoint) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompoint_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tgeompoint_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tgeompoint ( + internallength = variable, + input = tgeompoint_in, + output = temporal_out, + send = temporal_send, + receive = tgeompoint_recv, + typmod_in = tgeompoint_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +CREATE FUNCTION tgeogpoint_in(cstring, oid, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tpoint_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(tgeogpoint) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint_recv(internal, oid, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tgeogpoint) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeogpoint_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tgeogpoint_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tgeogpoint ( + internallength = variable, + input = tgeogpoint_in, + output = temporal_out, + send = temporal_send, + receive = tgeogpoint_recv, + typmod_in = tgeogpoint_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION tgeompoint(tgeompoint, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tspatial_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint(tgeogpoint, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tspatial_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeompoint AS tgeompoint) WITH FUNCTION tgeompoint(tgeompoint, integer) AS IMPLICIT; +CREATE CAST (tgeogpoint AS tgeogpoint) WITH FUNCTION tgeogpoint(tgeogpoint, integer) AS IMPLICIT; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION tgeompoint(geometry(Point), timestamptz) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tpointinst_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint(geography(Point), timestamptz) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tpointinst_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompoint(geometry, tstzset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint(geography, tstzset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompoint(geometry, tstzspan, text DEFAULT 'linear') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint(geography, tstzspan, text DEFAULT 'linear') + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompoint(geometry, tstzspanset, text DEFAULT 'linear') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint(geography, tstzspanset, text DEFAULT 'linear') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION tgeompointSeq(tgeompoint[], text DEFAULT 'linear', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointSeq(tgeogpoint[], text DEFAULT 'linear', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompointSeqSet(tgeompoint[]) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointSeqSet(tgeogpoint[]) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tgeompointSeqSetGaps(tgeompoint[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'linear') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tgeogpointSeqSetGaps(tgeogpoint[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'linear') + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/****************************************************************************** + * Conversions + ******************************************************************************/ + +CREATE FUNCTION timeSpan(tgeompoint) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(tgeogpoint) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeompoint AS tstzspan) WITH FUNCTION timeSpan(tgeompoint); +CREATE CAST (tgeogpoint AS tstzspan) WITH FUNCTION timeSpan(tgeogpoint); + +/****************************************************************************** + * Transformations + ******************************************************************************/ + +CREATE FUNCTION tgeompointInst(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeompointSeq(tgeompoint, text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeompointSeq(tgeompoint) + RETURNS tgeompoint + AS 'SELECT @extschema@.tgeompointSeq($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeompointSeqSet(tgeompoint, text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeompointSeqSet(tgeompoint) + RETURNS tgeompoint + AS 'SELECT @extschema@.tgeompointSeqSet($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tgeogpointInst(tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeogpointSeq(tgeogpoint, text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeogpointSeq(tgeogpoint) + RETURNS tgeogpoint + AS 'SELECT @extschema@.tgeogpointSeq($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeogpointSeqSet(tgeogpoint, text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tgeogpointSeqSet(tgeogpoint) + RETURNS tgeogpoint + AS 'SELECT @extschema@.tgeogpointSeqSet($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(tgeompoint, text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setInterp(tgeogpoint, text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendInstant(tgeompoint, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(tgeogpoint, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendSequence(tgeompoint, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendSequence(tgeogpoint, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION merge(tgeompoint, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION merge(tgeogpoint, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION merge(tgeompoint[]) + RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(tgeogpoint[]) + RETURNS tgeogpoint +AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Accessor Functions + ******************************************************************************/ + +CREATE FUNCTION tempSubtype(tgeompoint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tempSubtype(tgeogpoint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(tgeompoint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION interp(tgeogpoint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(tgeompoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(tgeogpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- value is a reserved word in SQL +CREATE FUNCTION getValue(tgeompoint) + RETURNS geometry(Point) + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValue(tgeogpoint) + RETURNS geography(Point) + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- There is no getValues() function for temporal points, +-- it is called trajectory() for temporal points + +CREATE FUNCTION getTimestamp(tgeompoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTimestamp(tgeogpoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueSet(tgeompoint) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueSet(tgeogpoint) + RETURNS geogset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(tgeompoint, integer) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(tgeogpoint, integer) + RETURNS geography + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(tgeompoint) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTime(tgeogpoint) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(tgeompoint) + RETURNS geometry(Point) + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(tgeogpoint) + RETURNS geography(Point) + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(tgeompoint) + RETURNS geometry(Point) + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(tgeogpoint) + RETURNS geography(Point) + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(tgeompoint, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(tgeogpoint, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(tgeompoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numInstants(tgeogpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startInstant(tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endInstant(tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(tgeompoint, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instantN(tgeogpoint, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(tgeompoint) + RETURNS tgeompoint[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instants(tgeogpoint) + RETURNS tgeogpoint[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tgeompoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numTimestamps(tgeogpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tgeompoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startTimestamp(tgeogpoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tgeompoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endTimestamp(tgeogpoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tgeompoint, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestampN(tgeogpoint, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tgeompoint) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestamps(tgeogpoint) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(tgeompoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSequences(tgeogpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSequence(tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSequence(tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(tgeompoint, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequenceN(tgeogpoint, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(tgeompoint) + RETURNS tgeompoint[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequences(tgeogpoint) + RETURNS tgeogpoint[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(tgeompoint) + RETURNS tgeompoint[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segments(tgeogpoint) + RETURNS tgeogpoint[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Shift and scale functions + *****************************************************************************/ + +CREATE FUNCTION shiftTime(tgeompoint, interval) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftTime(tgeogpoint, interval) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(tgeompoint, interval) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleTime(tgeogpoint, interval) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(tgeompoint, interval, interval) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleTime(tgeogpoint, interval, interval) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tprecision(tgeompoint, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_tprecision' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tprecision(tgeogpoint, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_tprecision' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tsample(tgeompoint, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tsample(tgeogpoint, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Unnest Function + *****************************************************************************/ + +CREATE TYPE geom_tstzspanset AS ( + value geometry, + time tstzspanset +); +CREATE TYPE geog_tstzspanset AS ( + value geography, + time tstzspanset +); + +CREATE FUNCTION unnest(tgeompoint) + RETURNS SETOF geom_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(tgeogpoint) + RETURNS SETOF geog_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Restriction Functions + *****************************************************************************/ + +CREATE FUNCTION atValues(tgeompoint, geometry(Point)) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tgeogpoint, geography(Point)) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tgeompoint, geometry(Point)) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tgeogpoint, geography(Point)) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tgeompoint, geomset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tgeogpoint, geogset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tgeompoint, geomset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tgeogpoint, geogset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeompoint, timestamptz) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeogpoint, timestamptz) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeompoint, timestamptz) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeogpoint, timestamptz) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(tgeompoint, timestamptz) + RETURNS geometry(Point) + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueAtTimestamp(tgeogpoint, timestamptz) + RETURNS geography(Point) + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeompoint, tstzset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeogpoint, tstzset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeompoint, tstzset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeogpoint, tstzset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeompoint, tstzspan) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeogpoint, tstzspan) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeompoint, tstzspan) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeogpoint, tstzspan) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tgeompoint, tstzspanset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tgeogpoint, tstzspanset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tgeompoint, tstzspanset) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tgeogpoint, tstzspanset) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(tgeompoint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION beforeTimestamp(tgeogpoint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(tgeompoint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION afterTimestamp(tgeogpoint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(tgeompoint, tgeompoint, connect boolean DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION insert(tgeogpoint, tgeompoint, connect boolean DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(tgeompoint, tgeompoint, connect boolean DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION update(tgeogpoint, tgeogpoint, connect boolean DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeompoint, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeogpoint, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeompoint, tstzset, connect boolean DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeogpoint, tstzset, connect boolean DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeompoint, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeogpoint, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tgeompoint, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tgeogpoint, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stops Function + *****************************************************************************/ + +CREATE FUNCTION stops(tgeompoint, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stops(tgeogpoint, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stops(tgeompoint, minduration interval) + RETURNS tgeompoint + AS 'SELECT @extschema@.stops($1, 0.0, $2)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stops(tgeogpoint, minduration interval) + RETURNS tgeogpoint + AS 'SELECT @extschema@.stops($1, 0.0, $2)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE TYPE time_tgeompoint AS ( + time timestamptz, + temp tgeompoint +); +CREATE TYPE time_tgeogpoint AS ( + time timestamptz, + temp tgeogpoint +); + +CREATE FUNCTION timeSplit(tgeompoint, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeSplit(tgeogpoint, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION temporal_lt(tgeompoint, tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tgeompoint, tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tgeompoint, tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tgeompoint, tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tgeompoint, tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tgeompoint, tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tgeompoint, tgeompoint) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR = ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE OPERATOR CLASS tgeompoint_btree_ops + DEFAULT FOR TYPE tgeompoint USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tgeompoint, tgeompoint); + +/******************************************************************************/ + +CREATE FUNCTION temporal_lt(tgeogpoint, tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tgeogpoint, tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tgeogpoint, tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tgeogpoint, tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tgeogpoint, tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tgeogpoint, tgeogpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tgeogpoint, tgeogpoint) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR = ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <> ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE OPERATOR CLASS tgeogpoint_btree_ops + DEFAULT FOR TYPE tgeogpoint USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tgeogpoint, tgeogpoint); + +/******************************************************************************/ + +CREATE FUNCTION temporal_hash(tgeompoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_hash(tgeogpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tgeompoint_hash_ops + DEFAULT FOR TYPE tgeompoint USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tgeompoint); +CREATE OPERATOR CLASS tgeogpoint_hash_ops + DEFAULT FOR TYPE tgeogpoint USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tgeogpoint); + +/******************************************************************************/ + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tgeo_inout.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tgeo_inout.in.sql new file mode 100644 index 000000000..dd3ff9da0 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tgeo_inout.in.sql @@ -0,0 +1,172 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Input/output of temporal geometries/geographies in WKT, EWKT, and + * MF-JSON representation + */ + +/***************************************************************************** + * Input + *****************************************************************************/ + +CREATE FUNCTION tgeometryFromText(text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographyFromText(text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometryFromEWKT(text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographyFromEWKT(text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometryFromMFJSON(text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographyFromMFJSON(text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometryFromBinary(bytea) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographyFromBinary(bytea) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometryFromEWKB(bytea) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographyFromEWKB(bytea) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeometryFromHexEWKB(text) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeographyFromHexEWKB(text) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Output + *****************************************************************************/ + +CREATE FUNCTION asText(tgeometry, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tgeometry[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(tgeography, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tgeography[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(tgeometry, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(tgeometry[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(tgeography, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(tgeography[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asMFJSON(tgeometry, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asMFJSON(tgeography, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(tgeometry, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tgeography, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(tgeometry, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKB(tgeography, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(tgeometry, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexEWKB(tgeography, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tpoint_inout.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tpoint_inout.in.sql new file mode 100644 index 000000000..ce4358d5b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/053_tpoint_inout.in.sql @@ -0,0 +1,190 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Input/output of temporal points in WKT, EWKT, and MF-JSON + * representation + */ + +/***************************************************************************** + * Input + *****************************************************************************/ + +CREATE FUNCTION tgeompointFromText(text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tpoint_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointFromText(text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tpoint_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompointFromEWKT(text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tpoint_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointFromEWKT(text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tpoint_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompointFromMFJSON(text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointFromMFJSON(text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompointFromBinary(bytea) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointFromBinary(bytea) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompointFromEWKB(bytea) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointFromEWKB(bytea) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tgeompointFromHexEWKB(text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpointFromHexEWKB(text) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Output + *****************************************************************************/ + +CREATE FUNCTION asText(tgeompoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tgeompoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(tgeogpoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tgeogpoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(geometry[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(geography[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(tgeompoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(tgeompoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(tgeogpoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(tgeogpoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(geometry[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(geography[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asMFJSON(tgeompoint, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asMFJSON(tgeogpoint, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(tgeompoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tgeogpoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(tgeompoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKB(tgeogpoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(tgeompoint, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexEWKB(tgeogpoint, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tgeo_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tgeo_compops.in.sql new file mode 100644 index 000000000..07c6c4923 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tgeo_compops.in.sql @@ -0,0 +1,457 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Ever/always and temporal comparison functions and operators for + * temporal geometries/geographies + */ + +/***************************************************************************** + * Index Support Function + *****************************************************************************/ + +CREATE FUNCTION tspatial_supportfn(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tspatial_supportfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Ever/Always Comparison Functions + *****************************************************************************/ + +CREATE FUNCTION ever_eq(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = geometry, RIGHTARG = tgeometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = geography, RIGHTARG = tgeography, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_eq(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = geometry, RIGHTARG = tgeometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = geography, RIGHTARG = tgeography, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = geometry, RIGHTARG = tgeometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = geography, RIGHTARG = tgeography, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = geometry, RIGHTARG = tgeometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = geography, RIGHTARG = tgeography, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tgeometry, RIGHTARG = geometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tgeography, RIGHTARG = geography, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_eq(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = tgeometry, RIGHTARG = geometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tgeography, RIGHTARG = geography, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tgeometry, RIGHTARG = geometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tgeography, RIGHTARG = geography, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = tgeometry, RIGHTARG = geometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tgeography, RIGHTARG = geography, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_eq(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Temporal equal + *****************************************************************************/ + +CREATE FUNCTION tgeo_teq(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = geometry, RIGHTARG = tgeometry, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeometry, RIGHTARG = geometry, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = #= +); + +/*****************************************************************************/ + +CREATE FUNCTION tgeo_teq(geography, tgeography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeography, geography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeography, tgeography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = geography, RIGHTARG = tgeography, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeography, RIGHTARG = geography, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = #= +); + +/***************************************************************************** + * Temporal not equal + *****************************************************************************/ + +CREATE FUNCTION tgeo_tne(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = geometry, RIGHTARG = tgeometry, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeometry, RIGHTARG = geometry, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = #<> +); + +/*****************************************************************************/ + +CREATE FUNCTION tgeo_tne(geography, tgeography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeography, geography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeography, tgeography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = geography, RIGHTARG = tgeography, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeography, RIGHTARG = geography, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = #<> +); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tpoint_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tpoint_compops.in.sql new file mode 100644 index 000000000..30ba5d36b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/054_tpoint_compops.in.sql @@ -0,0 +1,448 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Ever/always and temporal comparison functions and operators for + * temporal geometry/geography points + */ + +/***************************************************************************** + * Ever/Always Comparison Functions + *****************************************************************************/ + +CREATE FUNCTION ever_eq(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = geometry, RIGHTARG = tgeompoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = geography, RIGHTARG = tgeogpoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_eq(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = geography, RIGHTARG = tgeogpoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = geometry, RIGHTARG = tgeompoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = geometry, RIGHTARG = tgeompoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = geography, RIGHTARG = tgeogpoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = geometry, RIGHTARG = tgeompoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = geography, RIGHTARG = tgeogpoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tgeompoint, RIGHTARG = geometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tgeogpoint, RIGHTARG = geography, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_eq(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = tgeogpoint, RIGHTARG = geography, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tgeompoint, RIGHTARG = geometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tgeompoint, RIGHTARG = geometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tgeogpoint, RIGHTARG = geography, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = tgeompoint, RIGHTARG = geometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tgeogpoint, RIGHTARG = geography, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_eq(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Temporal equal + *****************************************************************************/ + +CREATE FUNCTION tgeo_teq(geometry, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeompoint, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeompoint, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = geometry, RIGHTARG = tgeompoint, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeompoint, RIGHTARG = geometry, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = #= +); + +/*****************************************************************************/ + +CREATE FUNCTION tgeo_teq(geography, tgeogpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeogpoint, geography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_teq(tgeogpoint, tgeogpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = geography, RIGHTARG = tgeogpoint, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeogpoint, RIGHTARG = geography, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = tgeo_teq, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = #= +); + +/***************************************************************************** + * Temporal not equal + *****************************************************************************/ + +CREATE FUNCTION tgeo_tne(geometry, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeompoint, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeompoint, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = geometry, RIGHTARG = tgeompoint, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeompoint, RIGHTARG = geometry, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = #<> +); + +/*****************************************************************************/ + +CREATE FUNCTION tgeo_tne(geography, tgeogpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeogpoint, geography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeo_tne(tgeogpoint, tgeogpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = geography, RIGHTARG = tgeogpoint, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeogpoint, RIGHTARG = geography, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = tgeo_tne, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = #<> +); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tgeo_spatialfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tgeo_spatialfuncs.in.sql new file mode 100644 index 000000000..f2e859a2f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tgeo_spatialfuncs.in.sql @@ -0,0 +1,182 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial functions for temporal geometries/gepgraphies + */ + +/*****************************************************************************/ + +CREATE FUNCTION SRID(tgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION SRID(tgeography) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(tgeometry, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transform(tgeometry, integer) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transformPipeline(tgeometry, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(tgeography, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transform(tgeography, integer) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transformPipeline(tgeography, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION tgeography(tgeometry) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tgeometry_to_tgeography' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeometry(tgeography) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeography_to_tgeometry' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeometry AS tgeography) WITH FUNCTION tgeography(tgeometry); +CREATE CAST (tgeography AS tgeometry) WITH FUNCTION tgeometry(tgeography); + +CREATE FUNCTION tgeompoint(tgeometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_to_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeometry(tgeompoint) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tpoint_to_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint(tgeography) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tgeo_to_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography(tgeogpoint) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Tpoint_to_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeometry AS tgeompoint) WITH FUNCTION tgeompoint(tgeometry); +CREATE CAST (tgeompoint AS tgeometry) WITH FUNCTION tgeometry(tgeompoint); +CREATE CAST (tgeography AS tgeogpoint) WITH FUNCTION tgeogpoint(tgeography); +CREATE CAST (tgeogpoint AS tgeography) WITH FUNCTION tgeography(tgeogpoint); + +/*****************************************************************************/ + +CREATE FUNCTION round(tgeometry, integer DEFAULT 0) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tgeography, integer DEFAULT 0) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tgeometry[], integer DEFAULT 0) + RETURNS tgeometry[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tgeography[], integer DEFAULT 0) + RETURNS tgeography[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION traversedArea(tgeometry, bool DEFAULT FALSE) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tgeo_traversed_area' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION traversedArea(tgeography, bool DEFAULT FALSE) + RETURNS geography + AS 'MODULE_PATHNAME', 'Tgeo_traversed_area' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION centroid(tgeometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_centroid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION centroid(tgeography) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tgeo_centroid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION convexHull(tgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tgeo_convex_hull' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION tCentroid(tgeometry) + -- RETURNS tgeometry + -- AS 'MODULE_PATHNAME', 'Tgeo_tcentroid' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION atGeometry(tgeometry, geometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeo_at_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusGeometry(tgeometry, geometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeo_minus_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atStbox(tgeometry, stbox, borderInc bool DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeo_at_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusStbox(tgeometry, stbox, borderInc bool DEFAULT TRUE) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Tgeo_minus_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tpoint_spatialfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tpoint_spatialfuncs.in.sql new file mode 100644 index 000000000..038260565 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/056_tpoint_spatialfuncs.in.sql @@ -0,0 +1,354 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial functions for temporal points + */ + +/*****************************************************************************/ + +CREATE FUNCTION round(stbox, integer DEFAULT 0) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(stbox[], integer DEFAULT 0) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Stboxarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(geometry, integer DEFAULT 0) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Geo_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(geography, integer DEFAULT 0) + RETURNS geography + AS 'MODULE_PATHNAME', 'Geo_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION SRID(stbox) + RETURNS integer + AS 'MODULE_PATHNAME', 'Stbox_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setSRID(stbox, integer) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transform(stbox, integer) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transformPipeline(stbox, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION SRID(tgeompoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION SRID(tgeogpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(tgeompoint, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transform(tgeompoint, integer) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transformPipeline(tgeompoint, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(tgeogpoint, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transform(tgeogpoint, integer) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION transformPipeline(tgeogpoint, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- Gauss Kruger transformation + +CREATE FUNCTION transform_gk(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeompoint_transform_gk' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform_gk(geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Geometry_transform_gk' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION tgeogpoint(tgeompoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tgeometry_to_tgeography' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeompoint(tgeogpoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeography_to_tgeometry' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeompoint AS tgeogpoint) WITH FUNCTION tgeogpoint(tgeompoint); +CREATE CAST (tgeogpoint AS tgeompoint) WITH FUNCTION tgeompoint(tgeogpoint); + +CREATE FUNCTION getX(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_get_x' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getX(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_get_x' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getY(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_get_y' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getY(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_get_y' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getZ(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_get_z' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getZ(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_get_z' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tgeompoint, integer DEFAULT 0) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tgeogpoint, integer DEFAULT 0) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tgeompoint[], integer DEFAULT 0) + RETURNS tgeompoint[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tgeogpoint[], integer DEFAULT 0) + RETURNS tgeogpoint[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trajectory(tgeompoint, bool DEFAULT FALSE) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tpoint_trajectory' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trajectory(tgeogpoint, bool DEFAULT FALSE) + RETURNS geography + AS 'MODULE_PATHNAME', 'Tpoint_trajectory' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION length(tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tpoint_length' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION length(tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tpoint_length' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION cumulativeLength(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_cumulative_length' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION cumulativeLength(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_cumulative_length' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION convexHull(tgeompoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tgeo_convex_hull' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION speed(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_derivative' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION speed(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_derivative' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION twCentroid(tgeompoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tpoint_twcentroid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION direction(tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tpoint_direction' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION direction(tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tpoint_direction' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION tdirection(tgeompoint) + -- RETURNS tfloat + -- AS 'MODULE_PATHNAME', 'Tpoint_tdirection' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION tdirection(tgeogpoint) + -- RETURNS tfloat + -- AS 'MODULE_PATHNAME', 'Tpoint_tdirection' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION azimuth(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_azimuth' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION azimuth(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_azimuth' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION angularDifference(tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_angular_difference' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION angularDifference(tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpoint_angular_difference' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- The following two functions are meant to be included in PostGIS one day +CREATE FUNCTION bearing(geometry, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'Bearing_point_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bearing(geography, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'Bearing_point_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION bearing(geometry, tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Bearing_point_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bearing(tgeompoint, geometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Bearing_tpoint_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bearing(tgeompoint, tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Bearing_tpoint_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION bearing(geography, tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Bearing_point_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bearing(tgeogpoint, geography) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Bearing_tpoint_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION bearing(tgeogpoint, tgeogpoint) + -- RETURNS tfloat + -- AS 'MODULE_PATHNAME', 'Bearing_tpoint_tpoint' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION isSimple(tgeompoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Tpoint_is_simple' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION makeSimple(tgeompoint) + RETURNS tgeompoint[] + AS 'MODULE_PATHNAME', 'Tpoint_make_simple' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION atGeometry(tgeompoint, geometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_at_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusGeometry(tgeompoint, geometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_minus_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atStbox(tgeompoint, stbox, borderInc bool DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_at_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atStbox(tgeogpoint, stbox, borderInc bool DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tgeo_at_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusStbox(tgeompoint, stbox, borderInc bool DEFAULT TRUE) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_minus_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusStbox(tgeogpoint, stbox, borderInc bool DEFAULT TRUE) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Tgeo_minus_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atElevation(tgeompoint, floatspan) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_at_elevation' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusElevation(tgeompoint, floatspan) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tgeo_minus_elevation' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tgeo_tile.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tgeo_tile.in.sql new file mode 100644 index 000000000..312f50ff3 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tgeo_tile.in.sql @@ -0,0 +1,141 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for spatial and spatiotemporal tiles + */ + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE FUNCTION spaceBoxes(tgeometry, xsize float, ysize float, zsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_space_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceBoxes(tgeometry, xsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceBoxes($1, $2, $2, $2, $3, $4)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceBoxes(tgeometry, xsize float, ysize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceBoxes($1, $2, $3, $2, $4, $5)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION timeBoxes(tgeometry, interval, + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_time_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION spaceTimeBoxes(tgeometry, xsize float, ysize float, + zsize float, interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_space_time_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceTimeBoxes(tgeometry, xsize float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceTimeBoxes($1, $2, $2, $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceTimeBoxes(tgeometry, xsize float, ysize float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceTimeBoxes($1, $2, $3, $2, $4, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE TYPE point_tgeo AS ( + point geometry, + tgeo tgeometry +); + +CREATE FUNCTION spaceSplit(tgeometry, xsize float, ysize float, zsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_tgeo + AS 'MODULE_PATHNAME', 'Tgeo_space_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceSplit(tgeometry, size float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_tgeo + AS 'SELECT @extschema@.spaceSplit($1, $2, $2, $2, $3, $4)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceSplit(tgeometry, sizeX float, sizeY float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_tgeo + AS 'SELECT @extschema@.spaceSplit($1, $2, $3, $2, $4, $5)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +CREATE TYPE point_time_tgeo AS ( + point geometry, + time timestamptz, + tgeo tgeometry +); + +CREATE FUNCTION spaceTimeSplit(tgeometry, xsize float, ysize float, + zsize float, interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_time_tgeo + AS 'MODULE_PATHNAME', 'Tgeo_space_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceTimeSplit(tgeometry, size float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_time_tgeo + AS 'SELECT @extschema@.spaceTimeSplit($1, $2, $2, $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION spaceTimeSplit(tgeometry, xsize float, ysize float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_time_tgeo + AS 'SELECT @extschema@.spaceTimeSplit($1, $2, $3, $2, $4, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tpoint_tile.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tpoint_tile.in.sql new file mode 100644 index 000000000..733c95e88 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/058_tpoint_tile.in.sql @@ -0,0 +1,280 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for spatial and spatiotemporal tiles + */ + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE TYPE index_stbox AS ( + index integer, + tile stbox +); + +CREATE FUNCTION spaceTiles(bounds stbox, xsize float, ysize float, zsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', borderIinc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'MODULE_PATHNAME', 'Stbox_space_tiles' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTiles(bounds stbox, xsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTiles($1, $2, $2, $2, $3, $4)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTiles(bounds stbox, xsize float, ysize float, + sorigin geometry DEFAULT 'Point(0 0 0)', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTiles($1, $2, $3, $2, $4, $5)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timeTiles(bounds stbox, duration interval, + timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'MODULE_PATHNAME', 'Stbox_time_tiles' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spaceTimeTiles(bounds stbox, xsize float, ysize float, zsize float, + duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'MODULE_PATHNAME', 'Stbox_space_time_tiles' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeTiles(bounds stbox, xsize float, + duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTimeTiles($1, $2, $2, $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeTiles(bounds stbox, xsize float, ysize float, + duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTimeTiles($1, $2, $3, $2, $4, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Convenience overloads taking a tgeompoint directly: derive the bounding + * stbox via the existing stbox(tgeompoint) cast and delegate to the + * stbox-typed overloads above. + ******************************************************************************/ + +CREATE FUNCTION spaceTiles(tgeompoint, xsize float, ysize float, zsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTiles(@extschema@.stbox($1), $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTiles(tgeompoint, xsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTiles(@extschema@.stbox($1), $2, $2, $2, $3, $4)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTiles(tgeompoint, xsize float, ysize float, + sorigin geometry DEFAULT 'Point(0 0 0)', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTiles(@extschema@.stbox($1), $2, $3, $2, $4, $5)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timeTiles(tgeompoint, duration interval, + torigin timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.timeTiles(@extschema@.stbox($1), $2, $3, $4)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spaceTimeTiles(tgeompoint, xsize float, ysize float, + zsize float, duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTimeTiles(@extschema@.stbox($1), $2, $3, $4, $5, $6, $7, $8)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeTiles(tgeompoint, xsize float, + duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTimeTiles(@extschema@.stbox($1), $2, $2, $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeTiles(tgeompoint, xsize float, ysize float, + duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', borderInc boolean DEFAULT TRUE) + RETURNS SETOF index_stbox + AS 'SELECT @extschema@.spaceTimeTiles(@extschema@.stbox($1), $2, $3, $2, $4, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION getSpaceTile(point geometry, xsize float, ysize float, + zsize float, sorigin geometry DEFAULT 'Point(0 0 0)') + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_get_space_tile' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getSpaceTile(point geometry, xsize float, + sorigin geometry DEFAULT 'Point(0 0 0)') + RETURNS stbox + AS 'SELECT @extschema@.getSpaceTile($1, $2, $2, $2, $3)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getSpaceTile(point geometry, xsize float, ysize float, + sorigin geometry DEFAULT 'Point(0 0 0)') + RETURNS stbox + AS 'SELECT @extschema@.getSpaceTile($1, $2, $3, $2, $4)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getStboxTimeTile(t timestamptz, duration interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_get_time_tile' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getSpaceTimeTile(point geometry, t timestamptz, xsize float, + ysize float, zsize float, duration interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03') + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_get_space_time_tile' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getSpaceTimeTile(point geometry, t timestamptz, xsize float, + duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03') + RETURNS stbox + AS 'SELECT @extschema@.getSpaceTimeTile($1, $2, $3, $3, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getSpaceTimeTile(point geometry, t timestamptz, xsize float, + ysize float, duration interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03') + RETURNS stbox + AS 'SELECT @extschema@.getSpaceTimeTile($1, $2, $3, $4, $3, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION spaceBoxes(tgeompoint, xsize float, ysize float, zsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_space_boxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceBoxes(tgeompoint, xsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceBoxes($1, $2, $2, $2, $3, $4)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceBoxes(tgeompoint, xsize float, ysize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceBoxes($1, $2, $3, $2, $4, $5)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timeBoxes(tgeompoint, interval, + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_time_boxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spaceTimeBoxes(tgeompoint, xsize float, ysize float, + zsize float, interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_space_time_boxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeBoxes(tgeompoint, xsize float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceTimeBoxes($1, $2, $2, $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeBoxes(tgeompoint, xsize float, ysize float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS stbox[] + AS 'SELECT @extschema@.spaceTimeBoxes($1, $2, $3, $2, $4, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE TYPE point_tpoint AS ( + point geometry, + tpoint tgeompoint +); + +CREATE FUNCTION spaceSplit(tgeompoint, xsize float, ysize float, zsize float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_tpoint + AS 'MODULE_PATHNAME', 'Tgeo_space_split' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceSplit(tgeompoint, size float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_tpoint + AS 'SELECT @extschema@.spaceSplit($1, $2, $2, $2, $3, $4)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceSplit(tgeompoint, sizeX float, sizeY float, + sorigin geometry DEFAULT 'Point(0 0 0)', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_tpoint + AS 'SELECT @extschema@.spaceSplit($1, $2, $3, $2, $4, $5)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE point_time_tpoint AS ( + point geometry, + time timestamptz, + tpoint tgeompoint +); + +CREATE FUNCTION spaceTimeSplit(tgeompoint, xsize float, ysize float, + zsize float, interval, sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_time_tpoint + AS 'MODULE_PATHNAME', 'Tgeo_space_time_split' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeSplit(tgeompoint, size float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_time_tpoint + AS 'SELECT @extschema@.spaceTimeSplit($1, $2, $2, $2, $3, $4, $5, $6)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spaceTimeSplit(tgeompoint, xsize float, ysize float, interval, + sorigin geometry DEFAULT 'Point(0 0 0)', + torigin timestamptz DEFAULT '2000-01-03', bitmatrix boolean DEFAULT TRUE, + borderInc boolean DEFAULT TRUE) + RETURNS SETOF point_time_tpoint + AS 'SELECT @extschema@.spaceTimeSplit($1, $2, $3, $2, $4, $5, $6, $7)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tgeo_boxops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tgeo_boxops.in.sql new file mode 100644 index 000000000..1e32cc904 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tgeo_boxops.in.sql @@ -0,0 +1,710 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box operators for temporal geometries/geographies + */ + +/***************************************************************************** + * Conversions + *****************************************************************************/ + +CREATE FUNCTION stbox(tgeometry) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(tgeography) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeometry AS stbox) WITH FUNCTION stbox(tgeometry); +CREATE CAST (tgeography AS stbox) WITH FUNCTION stbox(tgeography); + +/*****************************************************************************/ + +CREATE FUNCTION expandSpace(tgeometry, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION expandSpace(tgeography, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE FUNCTION spans(tgeometry) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(tgeography) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxes(tgeometry) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stboxes(tgeography) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION splitNSpans(tgeometry, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(tgeography, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNSpans(tgeometry, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(tgeography, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNStboxes(tgeometry, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNStboxes(tgeography, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNStboxes(tgeometry, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_each_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNStboxes(tgeography, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_each_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tgeometry, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeometry, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tgeography, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeography, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tgeometry, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeometry, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tgeography, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeography, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tgeometry, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeometry, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tgeometry, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeometry, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tgeography, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeography, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tgeography, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeography, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tgeometry, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeometry, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tgeometry, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeometry, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tgeography, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeography, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tgeography, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeography, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tgeometry, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeometry, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tgeometry, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeometry, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tgeography, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeography, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tgeography, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeography, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Adjacent + *****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tgeometry, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeometry, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tgeometry, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeometry, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tgeography, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeography, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tgeography, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeography, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tpoint_boxops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tpoint_boxops.in.sql new file mode 100644 index 000000000..6c689b3ab --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/060_tpoint_boxops.in.sql @@ -0,0 +1,746 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box operators for temporal points + */ + +/***************************************************************************** + * Conversions + *****************************************************************************/ + +CREATE FUNCTION stbox(tgeompoint) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(tgeogpoint) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeompoint AS stbox) WITH FUNCTION stbox(tgeompoint); +CREATE CAST (tgeogpoint AS stbox) WITH FUNCTION stbox(tgeogpoint); + +/*****************************************************************************/ + +CREATE FUNCTION expandSpace(geometry, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION expandSpace(geography, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION expandSpace(tgeompoint, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION expandSpace(tgeogpoint, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE FUNCTION spans(tgeompoint) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(tgeogpoint) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxes(tgeompoint) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stboxes(tgeogpoint) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stboxes(geometry) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Geo_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stboxes(geography) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Geo_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION splitNSpans(tgeompoint, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(tgeogpoint, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNSpans(tgeompoint, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(tgeogpoint, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNStboxes(tgeompoint, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNStboxes(tgeogpoint, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNStboxes(tgeompoint, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_each_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNStboxes(tgeogpoint, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Tgeo_split_each_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNStboxes(geometry, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Geo_split_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNStboxes(geography, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Geo_split_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNStboxes(geometry, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Geo_split_each_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNStboxes(geography, integer) + RETURNS stbox[] + AS 'MODULE_PATHNAME', 'Geo_split_each_n_stboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tgeompoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeompoint, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tgeogpoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeogpoint, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tgeompoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeompoint, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tgeogpoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeogpoint, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tgeompoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeompoint, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tgeogpoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeogpoint, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tgeompoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeompoint, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tgeogpoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeogpoint, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Adjacent + *****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tgeompoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeompoint, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tgeogpoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeogpoint, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tgeo_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tgeo_posops.in.sql new file mode 100644 index 000000000..eeaee6d20 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tgeo_posops.in.sql @@ -0,0 +1,821 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Relative position operators for temporal geometries/geographies + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op tgeometry */ + +CREATE FUNCTION temporal_before(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tgeometry, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tgeometry, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tgeometry, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tgeometry, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tstzspan op tgeography */ + +CREATE FUNCTION temporal_before(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tgeography, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tgeography, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tgeography, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tgeography, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Stbox + *****************************************************************************/ + +CREATE FUNCTION temporal_left(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_below, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_above, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_before(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tgeography, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tgeography, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tgeography, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tgeography, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tgeometry + *****************************************************************************/ + +/* tgeometry op tstzspan */ + +CREATE FUNCTION temporal_before(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeometry op stbox */ + +CREATE FUNCTION temporal_left(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_below, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_above, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeometry op tgeometry */ + +CREATE FUNCTION temporal_left(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(inst1 tgeometry, inst2 tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_below, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_above, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tgeography + *****************************************************************************/ + +/* tgeography op tstzspan */ + +CREATE FUNCTION temporal_before(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeography, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeography, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeography, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeography, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeography, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeography op stbox */ + +CREATE FUNCTION temporal_before(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeography, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeography, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeography, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeography, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeography, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeography op tgeography */ + +CREATE FUNCTION temporal_before(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tpoint_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tpoint_posops.in.sql new file mode 100644 index 000000000..995004211 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/062_tpoint_posops.in.sql @@ -0,0 +1,821 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Relative position operators for temporal geometry points. + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op tgeompoint */ + +CREATE FUNCTION temporal_before(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tstzspan op tgeogpoint */ + +CREATE FUNCTION temporal_before(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Stbox + *****************************************************************************/ + +CREATE FUNCTION temporal_left(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_below, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_above, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_before(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tgeompoint + *****************************************************************************/ + +/* tgeompoint op tstzspan */ + +CREATE FUNCTION temporal_before(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeompoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeompoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeompoint op stbox */ + +CREATE FUNCTION temporal_left(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeompoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_below, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_above, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeompoint op tgeompoint */ + +CREATE FUNCTION temporal_left(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(inst1 tgeompoint, inst2 tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_below, + COMMUTATOR = |>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_above, + COMMUTATOR = <<|, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tgeogpoint + *****************************************************************************/ + +/* tgeogpoint op tstzspan */ + +CREATE FUNCTION temporal_before(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeogpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeogpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeogpoint op stbox */ + +CREATE FUNCTION temporal_before(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeogpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeogpoint, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeogpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeogpoint, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeogpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tgeogpoint op tgeogpoint */ + +CREATE FUNCTION temporal_before(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tgeo_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tgeo_distance.in.sql new file mode 100644 index 000000000..aaeb5cada --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tgeo_distance.in.sql @@ -0,0 +1,330 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal geometries/geographies + */ + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +CREATE FUNCTION tdistance(geometry, tgeometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeometry, geometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeometry, tgeometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = geometry, RIGHTARG = tgeometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeometry, RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeometry, RIGHTARG = tgeometry, + COMMUTATOR = <-> +); + +/*****************************************************************************/ + +CREATE FUNCTION tdistance(geography, tgeography) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeography, geography) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeography, tgeography) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = geography, RIGHTARG = tgeography, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeography, RIGHTARG = geography, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeography, RIGHTARG = tgeography, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach instant/distance and shortest line functions + *****************************************************************************/ + +CREATE FUNCTION nearestApproachInstant(geometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'NAI_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeometry, geometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'NAI_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'NAI_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachInstant(geography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'NAI_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeography, geography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'NAI_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'NAI_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachDistance(geometry, tgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeometry, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeometry, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeometry, tgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachDistance(geography, tgeography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeography, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tgeography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeography, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeography, tgeography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = tgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeometry, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeometry, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeometry, RIGHTARG = tgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +CREATE OPERATOR |=| ( + LEFTARG = geography, RIGHTARG = tgeography, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeography, RIGHTARG = geography, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tgeography, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeography, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeography, RIGHTARG = tgeography, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +CREATE FUNCTION shortestLine(geometry, tgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeometry, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeometry, tgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shortestLine(geography, tgeography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Shortestline_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeography, geography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeography, tgeography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Set-set spatial minimum distance + *****************************************************************************/ + +CREATE FUNCTION minDistance(tgeompoint[], tgeompoint[]) + RETURNS float + AS 'MODULE_PATHNAME', 'Tgeoarr_tgeoarr_mindist' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(tgeometry[], tgeometry[]) + RETURNS float + AS 'MODULE_PATHNAME', 'Tgeoarr_tgeoarr_mindist' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/* + * Scalar minDistance overloads where one side is a static geometry: + * spatial-min reduces to NAD (which is time-synchronous in general but + * is identical to spatial-min when one argument has no time dimension). + */ +CREATE FUNCTION minDistance(tgeompoint, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(geometry, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(tgeometry, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(geometry, tgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(tgeogpoint, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(geography, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(tgeography, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistance(geography, tgeography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/* + * 2-ary aggregate minDistance over pairs of temporal values. The + * scalar (tgeompoint, tgeompoint) form is replaced by this aggregate to + * keep the user-facing name unique (Solution 2 — no `Agg` suffix). On a + * one-row group the aggregate degenerates to the per-pair value, so any + * "scalar" use case is naturally covered. + */ +-- The function is not strict +CREATE FUNCTION minDistance_transfn(float, tgeompoint, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Mindistance_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION minDistance_transfn(float, tgeometry, tgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'Mindistance_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE minDistance(tgeompoint, tgeompoint) ( + SFUNC = minDistance_transfn, + STYPE = float, + COMBINEFUNC = float8smaller, + PARALLEL = SAFE +); +CREATE AGGREGATE minDistance(tgeometry, tgeometry) ( + SFUNC = minDistance_transfn, + STYPE = float, + COMBINEFUNC = float8smaller, + PARALLEL = SAFE +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tpoint_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tpoint_distance.in.sql new file mode 100644 index 000000000..6b48d03ad --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/064_tpoint_distance.in.sql @@ -0,0 +1,294 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal points + */ + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +CREATE FUNCTION tdistance(geometry(Point), tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeompoint, geometry(Point)) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeompoint, tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = geometry, RIGHTARG = tgeompoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeompoint, RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + COMMUTATOR = <-> +); + +/*****************************************************************************/ + +CREATE FUNCTION tdistance(geography(Point), tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeogpoint, geography(Point)) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeogpoint, tgeogpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = geography, RIGHTARG = tgeogpoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeogpoint, RIGHTARG = geography, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach instant/distance and shortest line functions + *****************************************************************************/ + +CREATE FUNCTION nearestApproachInstant(geometry, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'NAI_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeompoint, geometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'NAI_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeompoint, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'NAI_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachInstant(geography, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'NAI_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeogpoint, geography) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'NAI_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tgeogpoint, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'NAI_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachDistance(geometry, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeompoint, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(geometry, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeompoint, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeompoint, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachDistance(geography, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeogpoint, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, geography) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(geography, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeogpoint, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeogpoint, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = tgeompoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeompoint, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tgeompoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeompoint, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeompoint, RIGHTARG = tgeompoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +CREATE OPERATOR |=| ( + LEFTARG = geography, RIGHTARG = tgeogpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeogpoint, RIGHTARG = geography, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = geography, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = geography, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tgeogpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeogpoint, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeogpoint, RIGHTARG = tgeogpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +CREATE FUNCTION shortestLine(geometry, tgeompoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeompoint, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeompoint, tgeompoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shortestLine(geography, tgeogpoint) + RETURNS geography + AS 'MODULE_PATHNAME', 'Shortestline_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeogpoint, geography) + RETURNS geography + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeogpoint, tgeogpoint) + RETURNS geography + AS 'MODULE_PATHNAME', 'Shortestline_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/066_tpoint_similarity.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/066_tpoint_similarity.in.sql new file mode 100644 index 000000000..4bd4b7a4b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/066_tpoint_similarity.in.sql @@ -0,0 +1,88 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Similarity distance for temporal values. + * @note Currently, the discrete Hausdorff distance, the discrete Frechet + * distance and the Dynamic Time Warping (DTW) distance are implemented + */ + +CREATE FUNCTION frechetDistance(tgeompoint, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_frechet_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION frechetDistance(tgeogpoint, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_frechet_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION frechetDistancePath(tgeompoint, tgeompoint) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_frechet_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION frechetDistancePath(tgeogpoint, tgeogpoint) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_frechet_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION dynTimeWarpDistance(tgeompoint, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dynTimeWarpDistance(tgeogpoint, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dynTimeWarpPath(tgeompoint, tgeompoint) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dynTimeWarpPath(tgeogpoint, tgeogpoint) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION hausdorffDistance(tgeompoint, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_hausdorff_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION hausdorffDistance(tgeogpoint, tgeogpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_hausdorff_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tgeo_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tgeo_aggfuncs.in.sql new file mode 100644 index 000000000..72810a7ae --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tgeo_aggfuncs.in.sql @@ -0,0 +1,273 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for temporal geometries/geographies + */ + +-- The function is not strict +CREATE FUNCTION tspatial_extent_transfn(stbox, tgeometry) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tspatial_extent_transfn(stbox, tgeography) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(tgeometry) ( + SFUNC = tspatial_extent_transfn, + STYPE = stbox, + COMBINEFUNC = stbox_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(tgeography) ( + SFUNC = tspatial_extent_transfn, + STYPE = stbox, + COMBINEFUNC = stbox_extent_combinefn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tgeometry) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tcount_transfn(internal, tgeography) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(tgeometry) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tcount(tgeography) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION wcount_transfn(internal, tgeometry, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION wcount_transfn(internal, tgeography, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wcount(tgeometry, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wcount(tgeography, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, tgeometry) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_merge_transfn(internal, tgeography) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tgeometry_tagg_finalfn(internal) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography_tagg_finalfn(internal) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE merge(tgeometry) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tgeometry_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); +CREATE AGGREGATE merge(tgeography) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tgeography_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append tinstant aggregate functions + *****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tgeometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tgeography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tgeometry, tgeometry, + interp text DEFAULT NULL) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tgeography, tgeography, + interp text DEFAULT NULL) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tgeometry, tgeometry, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tgeography, tgeography, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_append_finalfn(tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(tgeometry) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tgeography) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeography, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tgeometry, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tgeography, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeography, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tgeometry, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tgeography, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeography, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(tgeometry, tgeometry) + RETURNS tgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tseq_transfn(tgeography, tgeography) + RETURNS tgeography + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(tgeometry) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendSequence(tgeography) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tgeography, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tpoint_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tpoint_aggfuncs.in.sql new file mode 100644 index 000000000..6a0f1f26b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/068_tpoint_aggfuncs.in.sql @@ -0,0 +1,297 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for temporal points + */ + +-- The function is not strict +CREATE FUNCTION tspatial_extent_transfn(stbox, tgeompoint) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tspatial_extent_transfn(stbox, tgeogpoint) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(tgeompoint) ( + SFUNC = tspatial_extent_transfn, + STYPE = stbox, + COMBINEFUNC = stbox_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(tgeogpoint) ( + SFUNC = tspatial_extent_transfn, + STYPE = stbox, + COMBINEFUNC = stbox_extent_combinefn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tgeompoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tcount_transfn(internal, tgeogpoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(tgeompoint) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tcount(tgeogpoint) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION wcount_transfn(internal, tgeompoint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION wcount_transfn(internal, tgeogpoint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wcount(tgeompoint, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wcount(tgeogpoint, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION tcentroid_transfn(internal, tgeompoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tpoint_tcentroid_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tcentroid_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tpoint_tcentroid_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tcentroid_finalfn(internal) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tpoint_tcentroid_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE tcentroid(tgeompoint) ( + SFUNC = tcentroid_transfn, + STYPE = internal, + COMBINEFUNC = tcentroid_combinefn, + FINALFUNC = tcentroid_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, tgeompoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_merge_transfn(internal, tgeogpoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tgeompoint_tagg_finalfn(internal) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint_tagg_finalfn(internal) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE merge(tgeompoint) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tgeompoint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); +CREATE AGGREGATE merge(tgeogpoint) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tgeogpoint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append tinstant aggregate functions + *****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tgeompoint, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tgeogpoint, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tgeompoint, tgeompoint, + interp text DEFAULT NULL) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tgeogpoint, tgeogpoint, + interp text DEFAULT NULL) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tgeompoint, tgeompoint, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tgeogpoint, tgeogpoint, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_append_finalfn(tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(tgeompoint) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeompoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tgeogpoint) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeogpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tgeompoint, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeompoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tgeogpoint, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeogpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tgeompoint, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeompoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tgeogpoint, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tgeogpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(tgeompoint, tgeompoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tseq_transfn(tgeogpoint, tgeogpoint) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(tgeompoint) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tgeompoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendSequence(tgeogpoint) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tgeogpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tgeo_spatialrels.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tgeo_spatialrels.in.sql new file mode 100644 index 000000000..5087a3013 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tgeo_spatialrels.in.sql @@ -0,0 +1,411 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial relationships for temporal geometries/geographies + * @note Index support for these functions is enabled + */ + +/***************************************************************************** + * eContains, aContains + *****************************************************************************/ + +CREATE FUNCTION eContains(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eContains(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eContains(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aContains(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aContains(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aContains(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eCovers, aCovers + *****************************************************************************/ + +CREATE FUNCTION eCovers(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ecovers_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eCovers(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ecovers_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eCovers(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ecovers_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aCovers(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aCovers(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aCovers(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acovers_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eDisjoint, aDisjoint + *****************************************************************************/ + +-- TODO implement the index support in the tspatial_supportfn + +CREATE FUNCTION _edisjoint(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION edisjoint(geometry, tgeometry) + RETURNS boolean + AS 'SELECT NOT(stbox($1) OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION edisjoint(tgeometry, geometry) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) stbox($2)) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION edisjoint(tgeometry, tgeometry) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +-- CREATE FUNCTION eDisjoint(geometry, tgeometry) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeometry, geometry) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeometry, tgeometry) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- TODO implement the index support in the tspatial_supportfn + +CREATE FUNCTION _edisjoint(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(geography, tgeography) + RETURNS boolean + AS 'SELECT NOT(stbox($1) OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(tgeography, geography) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) stbox($2)) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(tgeography, tgeography) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +-- CREATE FUNCTION eDisjoint(geography, tgeography) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeography, geography) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeography, tgeography) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aDisjoint(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDisjoint(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eIntersects, aIntersects + *****************************************************************************/ + +CREATE FUNCTION eIntersects(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eIntersects(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aIntersects(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aIntersects(geography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeography, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeography, tgeography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eTouches, aTouches + *****************************************************************************/ + +CREATE FUNCTION eTouches(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eTouches(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eTouches(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aTouches(geometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aTouches(tgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aTouches(tgeometry, tgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eDwithin, aDwithin + *****************************************************************************/ + +CREATE FUNCTION eDwithin(geometry, tgeometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeometry, geometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeometry, tgeometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eDwithin(geography, tgeography, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeography, geography, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeography, tgeography, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- NOTE: aDWithin for geograhies is not provided since it is based on the +-- PostGIS ST_Buffer() function which is performed by GEOS + +CREATE FUNCTION aDwithin(geometry, tgeometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDwithin(tgeometry, geometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDwithin(tgeometry, tgeometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDwithin(tgeography, tgeography, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tpoint_spatialrels.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tpoint_spatialrels.in.sql new file mode 100644 index 000000000..9130df71f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/070_tpoint_spatialrels.in.sql @@ -0,0 +1,341 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial relationships for temporal points + * @note Index support for these functions is enabled + */ + +/***************************************************************************** + * eContains, aContains + *****************************************************************************/ + +CREATE FUNCTION eContains(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Econtains_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aContains(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Acontains_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eDisjoint, aDisjoint + *****************************************************************************/ + +-- TODO implement the index support in the tspatial_supportfn + +CREATE FUNCTION _edisjoint(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION edisjoint(geometry, tgeompoint) + RETURNS boolean + AS 'SELECT NOT(stbox($1) OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION edisjoint(tgeompoint, geometry) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) stbox($2)) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION edisjoint(tgeompoint, tgeompoint) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +-- CREATE FUNCTION eDisjoint(geometry, tgeompoint) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeompoint, geometry) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeompoint, tgeompoint) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(geography, tgeogpoint) + RETURNS boolean + AS 'SELECT NOT(stbox($1) OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(tgeogpoint, geography) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) stbox($2)) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION _edisjoint(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDisjoint(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'SELECT NOT($1 OPERATOR(@extschema@.&&) $2) OR @extschema@._edisjoint($1,$2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +-- CREATE FUNCTION eDisjoint(geography, tgeogpoint) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_geo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeogpoint, geography) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_geo' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- CREATE FUNCTION eDisjoint(tgeogpoint, tgeogpoint) + -- RETURNS boolean + -- AS 'MODULE_PATHNAME', 'Edisjoint_tgeo_tgeo' + -- SUPPORT tspatial_supportfn + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- TODO implement the index support in the tspatial_supportfn + +CREATE FUNCTION aDisjoint(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDisjoint(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDisjoint(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adisjoint_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eIntersects, aIntersects + *****************************************************************************/ + +CREATE FUNCTION eIntersects(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eIntersects(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eIntersects(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Eintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aIntersects(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeompoint, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aIntersects(geography, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeogpoint, geography) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aIntersects(tgeogpoint, tgeogpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Aintersects_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eTouches, aTouches + *****************************************************************************/ + +CREATE FUNCTION eTouches(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_geo_tpoint' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eTouches(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Etouches_tpoint_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION aTouches(geometry, tgeompoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_geo_tpoint' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aTouches(tgeompoint, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Atouches_tpoint_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * eDwithin, aDwithin + *****************************************************************************/ + +CREATE FUNCTION eDwithin(geometry, tgeompoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeompoint, geometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeompoint, tgeompoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION eDwithin(geography, tgeogpoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeogpoint, geography, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION eDwithin(tgeogpoint, tgeogpoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Edwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- NOTE: aDWithin for geograhies is not provided since it is based on the +-- PostGIS ST_Buffer() function which is performed by GEOS + +CREATE FUNCTION aDwithin(geometry, tgeompoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_geo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDwithin(tgeompoint, geometry, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION aDwithin(tgeompoint, tgeompoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION aDwithin(tgeogpoint, tgeogpoint, dist float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adwithin_tgeo_tgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tgeo_tempspatialrels.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tgeo_tempspatialrels.in.sql new file mode 100644 index 000000000..654387a49 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tgeo_tempspatialrels.in.sql @@ -0,0 +1,148 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal spatial relationships for temporal geometries/geographies + */ + +/***************************************************************************** + * tContains + *****************************************************************************/ + +CREATE FUNCTION tContains(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tContains(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tContains(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tCovers + *****************************************************************************/ + +CREATE FUNCTION tCovers(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tCovers(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tCovers(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcovers_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tDisjoint + *****************************************************************************/ + +CREATE FUNCTION tDisjoint(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- Alias for temporal not equals, that is, geo_tne or #<> +CREATE FUNCTION tDisjoint(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tgeography, tgeography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tIntersects + *****************************************************************************/ + +CREATE FUNCTION tIntersects(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- Alias for temporal equals, that is, tgeo_teq or #= +CREATE FUNCTION tIntersects(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tgeography, tgeography) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tTouches + *****************************************************************************/ + +CREATE FUNCTION tTouches(geometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(tgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(tgeometry, tgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tDwithin + *****************************************************************************/ + +CREATE FUNCTION tDwithin(geometry, tgeometry, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tDwithin(tgeometry, geometry, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_tgeo_geo' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tDwithin(tgeometry, tgeometry, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tpoint_tempspatialrels.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tpoint_tempspatialrels.in.sql new file mode 100644 index 000000000..5b1fee63c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/072_tpoint_tempspatialrels.in.sql @@ -0,0 +1,118 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal spatial relationships for temporal geometries/geographies + */ + +/***************************************************************************** + * tContains + *****************************************************************************/ + +CREATE FUNCTION tContains(geometry, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tcontains_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tDisjoint + *****************************************************************************/ + +CREATE FUNCTION tDisjoint(geometry, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tgeompoint, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- Alias for temporal not equals, that is, tgeo_tne or #<> +CREATE FUNCTION tDisjoint(tgeompoint, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDisjoint(tgeogpoint, tgeogpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdisjoint_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tIntersects + *****************************************************************************/ + +CREATE FUNCTION tIntersects(geometry, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tgeompoint, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- Alias for temporal equals, that is, tgeo_teq or #= +CREATE FUNCTION tIntersects(tgeompoint, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tIntersects(tgeogpoint, tgeogpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tintersects_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tTouches + *****************************************************************************/ + +CREATE FUNCTION tTouches(geometry, tgeompoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tTouches(tgeompoint, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Ttouches_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * tDwithin + *****************************************************************************/ + +CREATE FUNCTION tDwithin(geometry, tgeompoint, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_geo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDwithin(tgeompoint, geometry, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_tgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDwithin(tgeompoint, tgeompoint, dist float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tdwithin_tgeo_tgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tgeo_gist.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tgeo_gist.in.sql new file mode 100644 index 000000000..b00ed5052 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tgeo_gist.in.sql @@ -0,0 +1,211 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST index for temporal geometries/geographies + */ + +/******************************************************************************/ + +CREATE FUNCTION tgeometry_gist_consistent(internal, tgeometry, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeography_gist_consistent(internal, tgeography, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox_gist_union(internal, internal) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Stbox_gist_union' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_gist_penalty(internal, internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Stbox_gist_penalty' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_gist_picksplit(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Stbox_gist_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_gist_same(stbox, stbox, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Stbox_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_gist_distance(internal, stbox, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Stbox_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tspatial_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tspatial_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeometry_rtree_ops + DEFAULT FOR TYPE tgeometry USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (tgeometry, stbox), + OPERATOR 1 << (tgeometry, tgeometry), + -- overlaps or left + OPERATOR 2 &< (tgeometry, stbox), + OPERATOR 2 &< (tgeometry, tgeometry), + -- overlaps + OPERATOR 3 && (tgeometry, tstzspan), + OPERATOR 3 && (tgeometry, stbox), + OPERATOR 3 && (tgeometry, tgeometry), + -- overlaps or right + OPERATOR 4 &> (tgeometry, stbox), + OPERATOR 4 &> (tgeometry, tgeometry), + -- strictly right + OPERATOR 5 >> (tgeometry, stbox), + OPERATOR 5 >> (tgeometry, tgeometry), + -- same + OPERATOR 6 ~= (tgeometry, tstzspan), + OPERATOR 6 ~= (tgeometry, stbox), + OPERATOR 6 ~= (tgeometry, tgeometry), + -- contains + OPERATOR 7 @> (tgeometry, tstzspan), + OPERATOR 7 @> (tgeometry, stbox), + OPERATOR 7 @> (tgeometry, tgeometry), + -- contained by + OPERATOR 8 <@ (tgeometry, tstzspan), + OPERATOR 8 <@ (tgeometry, stbox), + OPERATOR 8 <@ (tgeometry, tgeometry), + -- overlaps or below + OPERATOR 9 &<| (tgeometry, stbox), + OPERATOR 9 &<| (tgeometry, tgeometry), + -- strictly below + OPERATOR 10 <<| (tgeometry, stbox), + OPERATOR 10 <<| (tgeometry, tgeometry), + -- strictly above + OPERATOR 11 |>> (tgeometry, stbox), + OPERATOR 11 |>> (tgeometry, tgeometry), + -- overlaps or above + OPERATOR 12 |&> (tgeometry, stbox), + OPERATOR 12 |&> (tgeometry, tgeometry), + -- adjacent + OPERATOR 17 -|- (tgeometry, tstzspan), + OPERATOR 17 -|- (tgeometry, stbox), + OPERATOR 17 -|- (tgeometry, tgeometry), + -- nearest approach distance + OPERATOR 25 |=| (tgeometry, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeometry, tgeometry) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeometry, tstzspan), + OPERATOR 28 &<# (tgeometry, stbox), + OPERATOR 28 &<# (tgeometry, tgeometry), + -- strictly before + OPERATOR 29 <<# (tgeometry, tstzspan), + OPERATOR 29 <<# (tgeometry, stbox), + OPERATOR 29 <<# (tgeometry, tgeometry), + -- strictly after + OPERATOR 30 #>> (tgeometry, tstzspan), + OPERATOR 30 #>> (tgeometry, stbox), + OPERATOR 30 #>> (tgeometry, tgeometry), + -- overlaps or after + OPERATOR 31 #&> (tgeometry, tstzspan), + OPERATOR 31 #&> (tgeometry, stbox), + OPERATOR 31 #&> (tgeometry, tgeometry), + -- overlaps or front + OPERATOR 32 &> (tgeometry, stbox), + OPERATOR 34 />> (tgeometry, tgeometry), + -- overlaps or back + OPERATOR 35 /&> (tgeometry, stbox), + OPERATOR 35 /&> (tgeometry, tgeometry), + -- functions + FUNCTION 1 tgeometry_gist_consistent(internal, tgeometry, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal), + FUNCTION 8 stbox_gist_distance(internal, stbox, smallint, oid, internal); + +CREATE OPERATOR CLASS tgeography_rtree_ops + DEFAULT FOR TYPE tgeography USING gist AS + STORAGE stbox, + -- overlaps + OPERATOR 3 && (tgeography, tstzspan), + OPERATOR 3 && (tgeography, stbox), + OPERATOR 3 && (tgeography, tgeography), + -- same + OPERATOR 6 ~= (tgeography, tstzspan), + OPERATOR 6 ~= (tgeography, stbox), + OPERATOR 6 ~= (tgeography, tgeography), + -- contains + OPERATOR 7 @> (tgeography, tstzspan), + OPERATOR 7 @> (tgeography, stbox), + OPERATOR 7 @> (tgeography, tgeography), + -- contained by + OPERATOR 8 <@ (tgeography, tstzspan), + OPERATOR 8 <@ (tgeography, stbox), + OPERATOR 8 <@ (tgeography, tgeography), + -- adjacent + OPERATOR 17 -|- (tgeography, tstzspan), + OPERATOR 17 -|- (tgeography, stbox), + OPERATOR 17 -|- (tgeography, tgeography), + -- distance + OPERATOR 25 |=| (tgeography, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeography, tgeography) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeography, tstzspan), + OPERATOR 28 &<# (tgeography, stbox), + OPERATOR 28 &<# (tgeography, tgeography), + -- strictly before + OPERATOR 29 <<# (tgeography, tstzspan), + OPERATOR 29 <<# (tgeography, stbox), + OPERATOR 29 <<# (tgeography, tgeography), + -- strictly after + OPERATOR 30 #>> (tgeography, tstzspan), + OPERATOR 30 #>> (tgeography, stbox), + OPERATOR 30 #>> (tgeography, tgeography), + -- overlaps or after + OPERATOR 31 #&> (tgeography, tstzspan), + OPERATOR 31 #&> (tgeography, stbox), + OPERATOR 31 #&> (tgeography, tgeography), + -- functions + FUNCTION 1 tgeography_gist_consistent(internal, tgeography, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal), + FUNCTION 8 stbox_gist_distance(internal, stbox, smallint, oid, internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tpoint_gist.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tpoint_gist.in.sql new file mode 100644 index 000000000..6b6a6a06d --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/073_tpoint_gist.in.sql @@ -0,0 +1,276 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST index for temporal points + */ + +CREATE FUNCTION stbox_gist_consistent(internal, stbox, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS stbox_rtree_ops + DEFAULT FOR TYPE stbox USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (stbox, stbox), + OPERATOR 1 << (stbox, tgeompoint), + -- overlaps or left + OPERATOR 2 &< (stbox, stbox), + OPERATOR 2 &< (stbox, tgeompoint), + -- overlaps + OPERATOR 3 && (stbox, stbox), + OPERATOR 3 && (stbox, tgeompoint), + OPERATOR 3 && (stbox, tgeogpoint), + -- overlaps or right + OPERATOR 4 &> (stbox, stbox), + OPERATOR 4 &> (stbox, tgeompoint), + -- strictly right + OPERATOR 5 >> (stbox, stbox), + OPERATOR 5 >> (stbox, tgeompoint), + -- same + OPERATOR 6 ~= (stbox, stbox), + OPERATOR 6 ~= (stbox, tgeompoint), + OPERATOR 6 ~= (stbox, tgeogpoint), + -- contains + OPERATOR 7 @> (stbox, stbox), + OPERATOR 7 @> (stbox, tgeompoint), + OPERATOR 7 @> (stbox, tgeogpoint), + -- contained by + OPERATOR 8 <@ (stbox, stbox), + OPERATOR 8 <@ (stbox, tgeompoint), + OPERATOR 8 <@ (stbox, tgeogpoint), + -- overlaps or below + OPERATOR 9 &<| (stbox, stbox), + OPERATOR 9 &<| (stbox, tgeompoint), + -- strictly below + OPERATOR 10 <<| (stbox, stbox), + OPERATOR 10 <<| (stbox, tgeompoint), + -- strictly above + OPERATOR 11 |>> (stbox, stbox), + OPERATOR 11 |>> (stbox, tgeompoint), + -- overlaps or above + OPERATOR 12 |&> (stbox, stbox), + OPERATOR 12 |&> (stbox, tgeompoint), + -- adjacent + OPERATOR 17 -|- (stbox, stbox), + OPERATOR 17 -|- (stbox, tgeompoint), + OPERATOR 17 -|- (stbox, tgeogpoint), + -- nearest approach distance + OPERATOR 25 |=| (stbox, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (stbox, tgeompoint) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (stbox, tgeogpoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (stbox, stbox), + OPERATOR 28 &<# (stbox, tgeompoint), + OPERATOR 28 &<# (stbox, tgeogpoint), + -- strictly before + OPERATOR 29 <<# (stbox, stbox), + OPERATOR 29 <<# (stbox, tgeompoint), + OPERATOR 29 <<# (stbox, tgeogpoint), + -- strictly after + OPERATOR 30 #>> (stbox, stbox), + OPERATOR 30 #>> (stbox, tgeompoint), + OPERATOR 30 #>> (stbox, tgeogpoint), + -- overlaps or after + OPERATOR 31 #&> (stbox, stbox), + OPERATOR 31 #&> (stbox, tgeompoint), + OPERATOR 31 #&> (stbox, tgeogpoint), + -- overlaps or front + OPERATOR 32 &> (stbox, stbox), + OPERATOR 34 />> (stbox, tgeompoint), + -- overlaps or back + OPERATOR 35 /&> (stbox, stbox), + OPERATOR 35 /&> (stbox, tgeompoint), + -- functions + FUNCTION 1 stbox_gist_consistent(internal, stbox, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal), + FUNCTION 8 stbox_gist_distance(internal, stbox, smallint, oid, internal); + +/******************************************************************************/ + +CREATE FUNCTION tgeompoint_gist_consistent(internal, tgeompoint, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeogpoint_gist_consistent(internal, tgeogpoint, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tgeompoint_rtree_ops + DEFAULT FOR TYPE tgeompoint USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (tgeompoint, stbox), + OPERATOR 1 << (tgeompoint, tgeompoint), + -- overlaps or left + OPERATOR 2 &< (tgeompoint, stbox), + OPERATOR 2 &< (tgeompoint, tgeompoint), + -- overlaps + OPERATOR 3 && (tgeompoint, tstzspan), + OPERATOR 3 && (tgeompoint, stbox), + OPERATOR 3 && (tgeompoint, tgeompoint), + -- overlaps or right + OPERATOR 4 &> (tgeompoint, stbox), + OPERATOR 4 &> (tgeompoint, tgeompoint), + -- strictly right + OPERATOR 5 >> (tgeompoint, stbox), + OPERATOR 5 >> (tgeompoint, tgeompoint), + -- same + OPERATOR 6 ~= (tgeompoint, tstzspan), + OPERATOR 6 ~= (tgeompoint, stbox), + OPERATOR 6 ~= (tgeompoint, tgeompoint), + -- contains + OPERATOR 7 @> (tgeompoint, tstzspan), + OPERATOR 7 @> (tgeompoint, stbox), + OPERATOR 7 @> (tgeompoint, tgeompoint), + -- contained by + OPERATOR 8 <@ (tgeompoint, tstzspan), + OPERATOR 8 <@ (tgeompoint, stbox), + OPERATOR 8 <@ (tgeompoint, tgeompoint), + -- overlaps or below + OPERATOR 9 &<| (tgeompoint, stbox), + OPERATOR 9 &<| (tgeompoint, tgeompoint), + -- strictly below + OPERATOR 10 <<| (tgeompoint, stbox), + OPERATOR 10 <<| (tgeompoint, tgeompoint), + -- strictly above + OPERATOR 11 |>> (tgeompoint, stbox), + OPERATOR 11 |>> (tgeompoint, tgeompoint), + -- overlaps or above + OPERATOR 12 |&> (tgeompoint, stbox), + OPERATOR 12 |&> (tgeompoint, tgeompoint), + -- adjacent + OPERATOR 17 -|- (tgeompoint, tstzspan), + OPERATOR 17 -|- (tgeompoint, stbox), + OPERATOR 17 -|- (tgeompoint, tgeompoint), + -- nearest approach distance + OPERATOR 25 |=| (tgeompoint, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeompoint, tgeompoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeompoint, tstzspan), + OPERATOR 28 &<# (tgeompoint, stbox), + OPERATOR 28 &<# (tgeompoint, tgeompoint), + -- strictly before + OPERATOR 29 <<# (tgeompoint, tstzspan), + OPERATOR 29 <<# (tgeompoint, stbox), + OPERATOR 29 <<# (tgeompoint, tgeompoint), + -- strictly after + OPERATOR 30 #>> (tgeompoint, tstzspan), + OPERATOR 30 #>> (tgeompoint, stbox), + OPERATOR 30 #>> (tgeompoint, tgeompoint), + -- overlaps or after + OPERATOR 31 #&> (tgeompoint, tstzspan), + OPERATOR 31 #&> (tgeompoint, stbox), + OPERATOR 31 #&> (tgeompoint, tgeompoint), + -- overlaps or front + OPERATOR 32 &> (tgeompoint, stbox), + OPERATOR 34 />> (tgeompoint, tgeompoint), + -- overlaps or back + OPERATOR 35 /&> (tgeompoint, stbox), + OPERATOR 35 /&> (tgeompoint, tgeompoint), + -- functions + FUNCTION 1 tgeompoint_gist_consistent(internal, tgeompoint, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal), + FUNCTION 8 stbox_gist_distance(internal, stbox, smallint, oid, internal); + +CREATE OPERATOR CLASS tgeogpoint_rtree_ops + DEFAULT FOR TYPE tgeogpoint USING gist AS + STORAGE stbox, + -- overlaps + OPERATOR 3 && (tgeogpoint, tstzspan), + OPERATOR 3 && (tgeogpoint, stbox), + OPERATOR 3 && (tgeogpoint, tgeogpoint), + -- same + OPERATOR 6 ~= (tgeogpoint, tstzspan), + OPERATOR 6 ~= (tgeogpoint, stbox), + OPERATOR 6 ~= (tgeogpoint, tgeogpoint), + -- contains + OPERATOR 7 @> (tgeogpoint, tstzspan), + OPERATOR 7 @> (tgeogpoint, stbox), + OPERATOR 7 @> (tgeogpoint, tgeogpoint), + -- contained by + OPERATOR 8 <@ (tgeogpoint, tstzspan), + OPERATOR 8 <@ (tgeogpoint, stbox), + OPERATOR 8 <@ (tgeogpoint, tgeogpoint), + -- adjacent + OPERATOR 17 -|- (tgeogpoint, tstzspan), + OPERATOR 17 -|- (tgeogpoint, stbox), + OPERATOR 17 -|- (tgeogpoint, tgeogpoint), + -- distance + OPERATOR 25 |=| (tgeogpoint, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeogpoint, tgeogpoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeogpoint, tstzspan), + OPERATOR 28 &<# (tgeogpoint, stbox), + OPERATOR 28 &<# (tgeogpoint, tgeogpoint), + -- strictly before + OPERATOR 29 <<# (tgeogpoint, tstzspan), + OPERATOR 29 <<# (tgeogpoint, stbox), + OPERATOR 29 <<# (tgeogpoint, tgeogpoint), + -- strictly after + OPERATOR 30 #>> (tgeogpoint, tstzspan), + OPERATOR 30 #>> (tgeogpoint, stbox), + OPERATOR 30 #>> (tgeogpoint, tgeogpoint), + -- overlaps or after + OPERATOR 31 #&> (tgeogpoint, tstzspan), + OPERATOR 31 #&> (tgeogpoint, stbox), + OPERATOR 31 #&> (tgeogpoint, tgeogpoint), + -- functions + FUNCTION 1 tgeogpoint_gist_consistent(internal, tgeogpoint, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal), + FUNCTION 8 stbox_gist_distance(internal, stbox, smallint, oid, internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tgeo_spgist.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tgeo_spgist.in.sql new file mode 100644 index 000000000..b8626fc56 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tgeo_spgist.in.sql @@ -0,0 +1,352 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Quad-tree and k-d tree SP-GiST index for temporal + * geometries/geographies + */ + +CREATE FUNCTION stbox_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_quadtree_choose(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_quadtree_choose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_quadtree_picksplit(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_quadtree_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_quadtree_inner_consistent(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_quadtree_inner_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_spgist_leaf_consistent(internal, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_spgist_leaf_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tspatial_spgist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tspatial_spgist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeometry_quadtree_ops + DEFAULT FOR TYPE tgeometry USING spgist AS + -- strictly left + OPERATOR 1 << (tgeometry, stbox), + OPERATOR 1 << (tgeometry, tgeometry), + -- overlaps or left + OPERATOR 2 &< (tgeometry, stbox), + OPERATOR 2 &< (tgeometry, tgeometry), + -- overlaps + OPERATOR 3 && (tgeometry, tstzspan), + OPERATOR 3 && (tgeometry, stbox), + OPERATOR 3 && (tgeometry, tgeometry), + -- overlaps or right + OPERATOR 4 &> (tgeometry, stbox), + OPERATOR 4 &> (tgeometry, tgeometry), + -- strictly right + OPERATOR 5 >> (tgeometry, stbox), + OPERATOR 5 >> (tgeometry, tgeometry), + -- same + OPERATOR 6 ~= (tgeometry, tstzspan), + OPERATOR 6 ~= (tgeometry, stbox), + OPERATOR 6 ~= (tgeometry, tgeometry), + -- contains + OPERATOR 7 @> (tgeometry, tstzspan), + OPERATOR 7 @> (tgeometry, stbox), + OPERATOR 7 @> (tgeometry, tgeometry), + -- contained by + OPERATOR 8 <@ (tgeometry, tstzspan), + OPERATOR 8 <@ (tgeometry, stbox), + OPERATOR 8 <@ (tgeometry, tgeometry), + -- overlaps or below + OPERATOR 9 &<| (tgeometry, stbox), + OPERATOR 9 &<| (tgeometry, tgeometry), + -- strictly below + OPERATOR 10 <<| (tgeometry, stbox), + OPERATOR 10 <<| (tgeometry, tgeometry), + -- strictly above + OPERATOR 11 |>> (tgeometry, stbox), + OPERATOR 11 |>> (tgeometry, tgeometry), + -- overlaps or above + OPERATOR 12 |&> (tgeometry, stbox), + OPERATOR 12 |&> (tgeometry, tgeometry), + -- adjacent + OPERATOR 17 -|- (tgeometry, tstzspan), + OPERATOR 17 -|- (tgeometry, stbox), + OPERATOR 17 -|- (tgeometry, tgeometry), + -- nearest approach distance + OPERATOR 25 |=| (tgeometry, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeometry, tgeometry) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeometry, tstzspan), + OPERATOR 28 &<# (tgeometry, stbox), + OPERATOR 28 &<# (tgeometry, tgeometry), + -- strictly before + OPERATOR 29 <<# (tgeometry, tstzspan), + OPERATOR 29 <<# (tgeometry, stbox), + OPERATOR 29 <<# (tgeometry, tgeometry), + -- strictly after + OPERATOR 30 #>> (tgeometry, tstzspan), + OPERATOR 30 #>> (tgeometry, stbox), + OPERATOR 30 #>> (tgeometry, tgeometry), + -- overlaps or after + OPERATOR 31 #&> (tgeometry, tstzspan), + OPERATOR 31 #&> (tgeometry, stbox), + OPERATOR 31 #&> (tgeometry, tgeometry), + -- overlaps or front + OPERATOR 32 &> (tgeometry, stbox), + OPERATOR 34 />> (tgeometry, tgeometry), + -- overlaps or back + OPERATOR 35 /&> (tgeometry, stbox), + OPERATOR 35 /&> (tgeometry, tgeometry), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE FUNCTION stbox_kdtree_choose(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_kdtree_choose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_kdtree_picksplit(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_kdtree_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox_kdtree_inner_consistent(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Stbox_kdtree_inner_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeometry_kdtree_ops + FOR TYPE tgeometry USING spgist AS + -- strictly left + OPERATOR 1 << (tgeometry, stbox), + OPERATOR 1 << (tgeometry, tgeometry), + -- overlaps or left + OPERATOR 2 &< (tgeometry, stbox), + OPERATOR 2 &< (tgeometry, tgeometry), + -- overlaps + OPERATOR 3 && (tgeometry, tstzspan), + OPERATOR 3 && (tgeometry, stbox), + OPERATOR 3 && (tgeometry, tgeometry), + -- overlaps or right + OPERATOR 4 &> (tgeometry, stbox), + OPERATOR 4 &> (tgeometry, tgeometry), + -- strictly right + OPERATOR 5 >> (tgeometry, stbox), + OPERATOR 5 >> (tgeometry, tgeometry), + -- same + OPERATOR 6 ~= (tgeometry, tstzspan), + OPERATOR 6 ~= (tgeometry, stbox), + OPERATOR 6 ~= (tgeometry, tgeometry), + -- contains + OPERATOR 7 @> (tgeometry, tstzspan), + OPERATOR 7 @> (tgeometry, stbox), + OPERATOR 7 @> (tgeometry, tgeometry), + -- contained by + OPERATOR 8 <@ (tgeometry, tstzspan), + OPERATOR 8 <@ (tgeometry, stbox), + OPERATOR 8 <@ (tgeometry, tgeometry), + -- overlaps or below + OPERATOR 9 &<| (tgeometry, stbox), + OPERATOR 9 &<| (tgeometry, tgeometry), + -- strictly below + OPERATOR 10 <<| (tgeometry, stbox), + OPERATOR 10 <<| (tgeometry, tgeometry), + -- strictly above + OPERATOR 11 |>> (tgeometry, stbox), + OPERATOR 11 |>> (tgeometry, tgeometry), + -- overlaps or above + OPERATOR 12 |&> (tgeometry, stbox), + OPERATOR 12 |&> (tgeometry, tgeometry), + -- adjacent + OPERATOR 17 -|- (tgeometry, tstzspan), + OPERATOR 17 -|- (tgeometry, stbox), + OPERATOR 17 -|- (tgeometry, tgeometry), + -- nearest approach distance + OPERATOR 25 |=| (tgeometry, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeometry, tgeometry) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeometry, tstzspan), + OPERATOR 28 &<# (tgeometry, stbox), + OPERATOR 28 &<# (tgeometry, tgeometry), + -- strictly before + OPERATOR 29 <<# (tgeometry, tstzspan), + OPERATOR 29 <<# (tgeometry, stbox), + OPERATOR 29 <<# (tgeometry, tgeometry), + -- strictly after + OPERATOR 30 #>> (tgeometry, tstzspan), + OPERATOR 30 #>> (tgeometry, stbox), + OPERATOR 30 #>> (tgeometry, tgeometry), + -- overlaps or after + OPERATOR 31 #&> (tgeometry, tstzspan), + OPERATOR 31 #&> (tgeometry, stbox), + OPERATOR 31 #&> (tgeometry, tgeometry), + -- overlaps or front + OPERATOR 32 &> (tgeometry, stbox), + OPERATOR 34 />> (tgeometry, tgeometry), + -- overlaps or back + OPERATOR 35 /&> (tgeometry, stbox), + OPERATOR 35 /&> (tgeometry, tgeometry), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeography_quadtree_ops + DEFAULT FOR TYPE tgeography USING spgist AS + -- overlaps + OPERATOR 3 && (tgeography, tstzspan), + OPERATOR 3 && (tgeography, stbox), + OPERATOR 3 && (tgeography, tgeography), + -- same + OPERATOR 6 ~= (tgeography, tstzspan), + OPERATOR 6 ~= (tgeography, stbox), + OPERATOR 6 ~= (tgeography, tgeography), + -- contains + OPERATOR 7 @> (tgeography, tstzspan), + OPERATOR 7 @> (tgeography, stbox), + OPERATOR 7 @> (tgeography, tgeography), + -- contained by + OPERATOR 8 <@ (tgeography, tstzspan), + OPERATOR 8 <@ (tgeography, stbox), + OPERATOR 8 <@ (tgeography, tgeography), + -- adjacent + OPERATOR 17 -|- (tgeography, tstzspan), + OPERATOR 17 -|- (tgeography, stbox), + OPERATOR 17 -|- (tgeography, tgeography), + -- nearest approach distance + OPERATOR 25 |=| (tgeography, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeography, tgeography) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeography, tstzspan), + OPERATOR 28 &<# (tgeography, stbox), + OPERATOR 28 &<# (tgeography, tgeography), + -- strictly before + OPERATOR 29 <<# (tgeography, tstzspan), + OPERATOR 29 <<# (tgeography, stbox), + OPERATOR 29 <<# (tgeography, tgeography), + -- strictly after + OPERATOR 30 #>> (tgeography, tstzspan), + OPERATOR 30 #>> (tgeography, stbox), + OPERATOR 30 #>> (tgeography, tgeography), + -- overlaps or after + OPERATOR 31 #&> (tgeography, tstzspan), + OPERATOR 31 #&> (tgeography, stbox), + OPERATOR 31 #&> (tgeography, tgeography), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeography_kdtree_ops + FOR TYPE tgeography USING spgist AS + -- overlaps + OPERATOR 3 && (tgeography, tstzspan), + OPERATOR 3 && (tgeography, tgeography), + -- same + OPERATOR 6 ~= (tgeography, tstzspan), + OPERATOR 6 ~= (tgeography, stbox), + OPERATOR 6 ~= (tgeography, tgeography), + -- contains + OPERATOR 7 @> (tgeography, tstzspan), + OPERATOR 7 @> (tgeography, stbox), + OPERATOR 7 @> (tgeography, tgeography), + -- contained by + OPERATOR 8 <@ (tgeography, tstzspan), + OPERATOR 8 <@ (tgeography, stbox), + OPERATOR 8 <@ (tgeography, tgeography), + -- adjacent + OPERATOR 17 -|- (tgeography, tstzspan), + OPERATOR 17 -|- (tgeography, stbox), + OPERATOR 17 -|- (tgeography, tgeography), + -- nearest approach distance + OPERATOR 25 |=| (tgeography, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeography, tgeography) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeography, tstzspan), + OPERATOR 28 &<# (tgeography, stbox), + OPERATOR 28 &<# (tgeography, tgeography), + -- strictly before + OPERATOR 29 <<# (tgeography, tstzspan), + OPERATOR 29 <<# (tgeography, stbox), + OPERATOR 29 <<# (tgeography, tgeography), + -- strictly after + OPERATOR 30 #>> (tgeography, tstzspan), + OPERATOR 30 #>> (tgeography, stbox), + OPERATOR 30 #>> (tgeography, tgeography), + -- overlaps or after + OPERATOR 31 #&> (tgeography, tstzspan), + OPERATOR 31 #&> (tgeography, stbox), + OPERATOR 31 #&> (tgeography, tgeography), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tpoint_spgist.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tpoint_spgist.in.sql new file mode 100644 index 000000000..980403d7f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/074_tpoint_spgist.in.sql @@ -0,0 +1,476 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Quad-tree and k-d tree SP-GiST index for temporal points + */ + +/******************************************************************************/ + +CREATE OPERATOR CLASS stbox_quadtree_ops + DEFAULT FOR TYPE stbox USING spgist AS + -- strictly left + OPERATOR 1 << (stbox, stbox), + OPERATOR 1 << (stbox, tgeompoint), + -- overlaps or left + OPERATOR 2 &< (stbox, stbox), + OPERATOR 2 &< (stbox, tgeompoint), + -- overlaps + OPERATOR 3 && (stbox, stbox), + OPERATOR 3 && (stbox, tgeompoint), + OPERATOR 3 && (stbox, tgeogpoint), + -- overlaps or right + OPERATOR 4 &> (stbox, stbox), + OPERATOR 4 &> (stbox, tgeompoint), + -- strictly right + OPERATOR 5 >> (stbox, stbox), + OPERATOR 5 >> (stbox, tgeompoint), + -- same + OPERATOR 6 ~= (stbox, stbox), + OPERATOR 6 ~= (stbox, tgeompoint), + OPERATOR 6 ~= (stbox, tgeogpoint), + -- contains + OPERATOR 7 @> (stbox, stbox), + OPERATOR 7 @> (stbox, tgeompoint), + OPERATOR 7 @> (stbox, tgeogpoint), + -- contained by + OPERATOR 8 <@ (stbox, stbox), + OPERATOR 8 <@ (stbox, tgeompoint), + OPERATOR 8 <@ (stbox, tgeogpoint), + -- overlaps or below + OPERATOR 9 &<| (stbox, stbox), + OPERATOR 9 &<| (stbox, tgeompoint), + -- strictly below + OPERATOR 10 <<| (stbox, stbox), + OPERATOR 10 <<| (stbox, tgeompoint), + -- strictly above + OPERATOR 11 |>> (stbox, stbox), + OPERATOR 11 |>> (stbox, tgeompoint), + -- overlaps or above + OPERATOR 12 |&> (stbox, stbox), + OPERATOR 12 |&> (stbox, tgeompoint), + -- adjacent + OPERATOR 17 -|- (stbox, stbox), + OPERATOR 17 -|- (stbox, tgeompoint), + OPERATOR 17 -|- (stbox, tgeogpoint), + -- overlaps or before + OPERATOR 28 &<# (stbox, stbox), + OPERATOR 28 &<# (stbox, tgeompoint), + OPERATOR 28 &<# (stbox, tgeogpoint), + -- strictly before + OPERATOR 29 <<# (stbox, stbox), + OPERATOR 29 <<# (stbox, tgeompoint), + OPERATOR 29 <<# (stbox, tgeogpoint), + -- strictly after + OPERATOR 30 #>> (stbox, stbox), + OPERATOR 30 #>> (stbox, tgeompoint), + OPERATOR 30 #>> (stbox, tgeogpoint), + -- overlaps or after + OPERATOR 31 #&> (stbox, stbox), + OPERATOR 31 #&> (stbox, tgeompoint), + OPERATOR 31 #&> (stbox, tgeogpoint), + -- overlaps or front + OPERATOR 32 &> (stbox, stbox), + OPERATOR 34 />> (stbox, tgeompoint), + -- overlaps or back + OPERATOR 35 /&> (stbox, stbox), + OPERATOR 35 /&> (stbox, tgeompoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal); + +/*****************************************************************************/ + +CREATE OPERATOR CLASS stbox_kdtree_ops + FOR TYPE stbox USING spgist AS + -- strictly left + OPERATOR 1 << (stbox, stbox), + OPERATOR 1 << (stbox, tgeompoint), + -- overlaps or left + OPERATOR 2 &< (stbox, stbox), + OPERATOR 2 &< (stbox, tgeompoint), + -- overlaps + OPERATOR 3 && (stbox, stbox), + OPERATOR 3 && (stbox, tgeompoint), + OPERATOR 3 && (stbox, tgeogpoint), + -- overlaps or right + OPERATOR 4 &> (stbox, stbox), + OPERATOR 4 &> (stbox, tgeompoint), + -- strictly right + OPERATOR 5 >> (stbox, stbox), + OPERATOR 5 >> (stbox, tgeompoint), + -- same + OPERATOR 6 ~= (stbox, stbox), + OPERATOR 6 ~= (stbox, tgeompoint), + OPERATOR 6 ~= (stbox, tgeogpoint), + -- contains + OPERATOR 7 @> (stbox, stbox), + OPERATOR 7 @> (stbox, tgeompoint), + OPERATOR 7 @> (stbox, tgeogpoint), + -- contained by + OPERATOR 8 <@ (stbox, stbox), + OPERATOR 8 <@ (stbox, tgeompoint), + OPERATOR 8 <@ (stbox, tgeogpoint), + -- overlaps or below + OPERATOR 9 &<| (stbox, stbox), + OPERATOR 9 &<| (stbox, tgeompoint), + -- strictly below + OPERATOR 10 <<| (stbox, stbox), + OPERATOR 10 <<| (stbox, tgeompoint), + -- strictly above + OPERATOR 11 |>> (stbox, stbox), + OPERATOR 11 |>> (stbox, tgeompoint), + -- overlaps or above + OPERATOR 12 |&> (stbox, stbox), + OPERATOR 12 |&> (stbox, tgeompoint), + -- adjacent + OPERATOR 17 -|- (stbox, stbox), + OPERATOR 17 -|- (stbox, tgeompoint), + OPERATOR 17 -|- (stbox, tgeogpoint), + -- overlaps or before + OPERATOR 28 &<# (stbox, stbox), + OPERATOR 28 &<# (stbox, tgeompoint), + OPERATOR 28 &<# (stbox, tgeogpoint), + -- strictly before + OPERATOR 29 <<# (stbox, stbox), + OPERATOR 29 <<# (stbox, tgeompoint), + OPERATOR 29 <<# (stbox, tgeogpoint), + -- strictly after + OPERATOR 30 #>> (stbox, stbox), + OPERATOR 30 #>> (stbox, tgeompoint), + OPERATOR 30 #>> (stbox, tgeogpoint), + -- overlaps or after + OPERATOR 31 #&> (stbox, stbox), + OPERATOR 31 #&> (stbox, tgeompoint), + OPERATOR 31 #&> (stbox, tgeogpoint), + -- overlaps or front + OPERATOR 32 &> (stbox, stbox), + OPERATOR 34 />> (stbox, tgeompoint), + -- overlaps or back + OPERATOR 35 /&> (stbox, stbox), + OPERATOR 35 /&> (stbox, tgeompoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeompoint_quadtree_ops + DEFAULT FOR TYPE tgeompoint USING spgist AS + -- strictly left + OPERATOR 1 << (tgeompoint, stbox), + OPERATOR 1 << (tgeompoint, tgeompoint), + -- overlaps or left + OPERATOR 2 &< (tgeompoint, stbox), + OPERATOR 2 &< (tgeompoint, tgeompoint), + -- overlaps + OPERATOR 3 && (tgeompoint, tstzspan), + OPERATOR 3 && (tgeompoint, stbox), + OPERATOR 3 && (tgeompoint, tgeompoint), + -- overlaps or right + OPERATOR 4 &> (tgeompoint, stbox), + OPERATOR 4 &> (tgeompoint, tgeompoint), + -- strictly right + OPERATOR 5 >> (tgeompoint, stbox), + OPERATOR 5 >> (tgeompoint, tgeompoint), + -- same + OPERATOR 6 ~= (tgeompoint, tstzspan), + OPERATOR 6 ~= (tgeompoint, stbox), + OPERATOR 6 ~= (tgeompoint, tgeompoint), + -- contains + OPERATOR 7 @> (tgeompoint, tstzspan), + OPERATOR 7 @> (tgeompoint, stbox), + OPERATOR 7 @> (tgeompoint, tgeompoint), + -- contained by + OPERATOR 8 <@ (tgeompoint, tstzspan), + OPERATOR 8 <@ (tgeompoint, stbox), + OPERATOR 8 <@ (tgeompoint, tgeompoint), + -- overlaps or below + OPERATOR 9 &<| (tgeompoint, stbox), + OPERATOR 9 &<| (tgeompoint, tgeompoint), + -- strictly below + OPERATOR 10 <<| (tgeompoint, stbox), + OPERATOR 10 <<| (tgeompoint, tgeompoint), + -- strictly above + OPERATOR 11 |>> (tgeompoint, stbox), + OPERATOR 11 |>> (tgeompoint, tgeompoint), + -- overlaps or above + OPERATOR 12 |&> (tgeompoint, stbox), + OPERATOR 12 |&> (tgeompoint, tgeompoint), + -- adjacent + OPERATOR 17 -|- (tgeompoint, tstzspan), + OPERATOR 17 -|- (tgeompoint, stbox), + OPERATOR 17 -|- (tgeompoint, tgeompoint), + -- nearest approach distance + OPERATOR 25 |=| (tgeompoint, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeompoint, tgeompoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeompoint, tstzspan), + OPERATOR 28 &<# (tgeompoint, stbox), + OPERATOR 28 &<# (tgeompoint, tgeompoint), + -- strictly before + OPERATOR 29 <<# (tgeompoint, tstzspan), + OPERATOR 29 <<# (tgeompoint, stbox), + OPERATOR 29 <<# (tgeompoint, tgeompoint), + -- strictly after + OPERATOR 30 #>> (tgeompoint, tstzspan), + OPERATOR 30 #>> (tgeompoint, stbox), + OPERATOR 30 #>> (tgeompoint, tgeompoint), + -- overlaps or after + OPERATOR 31 #&> (tgeompoint, tstzspan), + OPERATOR 31 #&> (tgeompoint, stbox), + OPERATOR 31 #&> (tgeompoint, tgeompoint), + -- overlaps or front + OPERATOR 32 &> (tgeompoint, stbox), + OPERATOR 34 />> (tgeompoint, tgeompoint), + -- overlaps or back + OPERATOR 35 /&> (tgeompoint, stbox), + OPERATOR 35 /&> (tgeompoint, tgeompoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeompoint_kdtree_ops + FOR TYPE tgeompoint USING spgist AS + -- strictly left + OPERATOR 1 << (tgeompoint, stbox), + OPERATOR 1 << (tgeompoint, tgeompoint), + -- overlaps or left + OPERATOR 2 &< (tgeompoint, stbox), + OPERATOR 2 &< (tgeompoint, tgeompoint), + -- overlaps + OPERATOR 3 && (tgeompoint, tstzspan), + OPERATOR 3 && (tgeompoint, stbox), + OPERATOR 3 && (tgeompoint, tgeompoint), + -- overlaps or right + OPERATOR 4 &> (tgeompoint, stbox), + OPERATOR 4 &> (tgeompoint, tgeompoint), + -- strictly right + OPERATOR 5 >> (tgeompoint, stbox), + OPERATOR 5 >> (tgeompoint, tgeompoint), + -- same + OPERATOR 6 ~= (tgeompoint, tstzspan), + OPERATOR 6 ~= (tgeompoint, stbox), + OPERATOR 6 ~= (tgeompoint, tgeompoint), + -- contains + OPERATOR 7 @> (tgeompoint, tstzspan), + OPERATOR 7 @> (tgeompoint, stbox), + OPERATOR 7 @> (tgeompoint, tgeompoint), + -- contained by + OPERATOR 8 <@ (tgeompoint, tstzspan), + OPERATOR 8 <@ (tgeompoint, stbox), + OPERATOR 8 <@ (tgeompoint, tgeompoint), + -- overlaps or below + OPERATOR 9 &<| (tgeompoint, stbox), + OPERATOR 9 &<| (tgeompoint, tgeompoint), + -- strictly below + OPERATOR 10 <<| (tgeompoint, stbox), + OPERATOR 10 <<| (tgeompoint, tgeompoint), + -- strictly above + OPERATOR 11 |>> (tgeompoint, stbox), + OPERATOR 11 |>> (tgeompoint, tgeompoint), + -- overlaps or above + OPERATOR 12 |&> (tgeompoint, stbox), + OPERATOR 12 |&> (tgeompoint, tgeompoint), + -- adjacent + OPERATOR 17 -|- (tgeompoint, tstzspan), + OPERATOR 17 -|- (tgeompoint, stbox), + OPERATOR 17 -|- (tgeompoint, tgeompoint), + -- nearest approach distance + OPERATOR 25 |=| (tgeompoint, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeompoint, tgeompoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeompoint, tstzspan), + OPERATOR 28 &<# (tgeompoint, stbox), + OPERATOR 28 &<# (tgeompoint, tgeompoint), + -- strictly before + OPERATOR 29 <<# (tgeompoint, tstzspan), + OPERATOR 29 <<# (tgeompoint, stbox), + OPERATOR 29 <<# (tgeompoint, tgeompoint), + -- strictly after + OPERATOR 30 #>> (tgeompoint, tstzspan), + OPERATOR 30 #>> (tgeompoint, stbox), + OPERATOR 30 #>> (tgeompoint, tgeompoint), + -- overlaps or after + OPERATOR 31 #&> (tgeompoint, tstzspan), + OPERATOR 31 #&> (tgeompoint, stbox), + OPERATOR 31 #&> (tgeompoint, tgeompoint), + -- overlaps or front + OPERATOR 32 &> (tgeompoint, stbox), + OPERATOR 34 />> (tgeompoint, tgeompoint), + -- overlaps or back + OPERATOR 35 /&> (tgeompoint, stbox), + OPERATOR 35 /&> (tgeompoint, tgeompoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeogpoint_quadtree_ops + DEFAULT FOR TYPE tgeogpoint USING spgist AS + -- overlaps + OPERATOR 3 && (tgeogpoint, tstzspan), + OPERATOR 3 && (tgeogpoint, stbox), + OPERATOR 3 && (tgeogpoint, tgeogpoint), + -- same + OPERATOR 6 ~= (tgeogpoint, tstzspan), + OPERATOR 6 ~= (tgeogpoint, stbox), + OPERATOR 6 ~= (tgeogpoint, tgeogpoint), + -- contains + OPERATOR 7 @> (tgeogpoint, tstzspan), + OPERATOR 7 @> (tgeogpoint, stbox), + OPERATOR 7 @> (tgeogpoint, tgeogpoint), + -- contained by + OPERATOR 8 <@ (tgeogpoint, tstzspan), + OPERATOR 8 <@ (tgeogpoint, stbox), + OPERATOR 8 <@ (tgeogpoint, tgeogpoint), + -- adjacent + OPERATOR 17 -|- (tgeogpoint, tstzspan), + OPERATOR 17 -|- (tgeogpoint, stbox), + OPERATOR 17 -|- (tgeogpoint, tgeogpoint), + -- nearest approach distance + OPERATOR 25 |=| (tgeogpoint, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeogpoint, tgeogpoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeogpoint, tstzspan), + OPERATOR 28 &<# (tgeogpoint, stbox), + OPERATOR 28 &<# (tgeogpoint, tgeogpoint), + -- strictly before + OPERATOR 29 <<# (tgeogpoint, tstzspan), + OPERATOR 29 <<# (tgeogpoint, stbox), + OPERATOR 29 <<# (tgeogpoint, tgeogpoint), + -- strictly after + OPERATOR 30 #>> (tgeogpoint, tstzspan), + OPERATOR 30 #>> (tgeogpoint, stbox), + OPERATOR 30 #>> (tgeogpoint, tgeogpoint), + -- overlaps or after + OPERATOR 31 #&> (tgeogpoint, tstzspan), + OPERATOR 31 #&> (tgeogpoint, stbox), + OPERATOR 31 #&> (tgeogpoint, tgeogpoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tgeogpoint_kdtree_ops + FOR TYPE tgeogpoint USING spgist AS + -- overlaps + OPERATOR 3 && (tgeogpoint, tstzspan), + OPERATOR 3 && (tgeogpoint, tgeogpoint), + -- same + OPERATOR 6 ~= (tgeogpoint, tstzspan), + OPERATOR 6 ~= (tgeogpoint, stbox), + OPERATOR 6 ~= (tgeogpoint, tgeogpoint), + -- contains + OPERATOR 7 @> (tgeogpoint, tstzspan), + OPERATOR 7 @> (tgeogpoint, stbox), + OPERATOR 7 @> (tgeogpoint, tgeogpoint), + -- contained by + OPERATOR 8 <@ (tgeogpoint, tstzspan), + OPERATOR 8 <@ (tgeogpoint, stbox), + OPERATOR 8 <@ (tgeogpoint, tgeogpoint), + -- adjacent + OPERATOR 17 -|- (tgeogpoint, tstzspan), + OPERATOR 17 -|- (tgeogpoint, stbox), + OPERATOR 17 -|- (tgeogpoint, tgeogpoint), + -- nearest approach distance + OPERATOR 25 |=| (tgeogpoint, stbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tgeogpoint, tgeogpoint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tgeogpoint, tstzspan), + OPERATOR 28 &<# (tgeogpoint, stbox), + OPERATOR 28 &<# (tgeogpoint, tgeogpoint), + -- strictly before + OPERATOR 29 <<# (tgeogpoint, tstzspan), + OPERATOR 29 <<# (tgeogpoint, stbox), + OPERATOR 29 <<# (tgeogpoint, tgeogpoint), + -- strictly after + OPERATOR 30 #>> (tgeogpoint, tstzspan), + OPERATOR 30 #>> (tgeogpoint, stbox), + OPERATOR 30 #>> (tgeogpoint, tgeogpoint), + -- overlaps or after + OPERATOR 31 #&> (tgeogpoint, tstzspan), + OPERATOR 31 #&> (tgeogpoint, stbox), + OPERATOR 31 #&> (tgeogpoint, tgeogpoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tgeo_analytics.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tgeo_analytics.in.sql new file mode 100644 index 000000000..b30dc848d --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tgeo_analytics.in.sql @@ -0,0 +1,149 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Analytic functions for temporal geometries + */ + +/*****************************************************************************/ +-- Affine transforms + +CREATE OR REPLACE FUNCTION affine(tgeometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Tgeo_affine' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION affine(tgeometry,float8,float8,float8,float8,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotate(tgeometry,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotate(tgeometry,float8,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotate(tgeometry,float8,geometry) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, @extschema@.ST_X($3) - cos($2) * @extschema@.ST_X($3) + sin($2) * @extschema@.ST_Y($3), @extschema@.ST_Y($3) - sin($2) * @extschema@.ST_X($3) - cos($2) * @extschema@.ST_Y($3), 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotateZ(tgeometry,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.rotate($1, $2)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotateX(tgeometry,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotateY(tgeometry,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION translate(tgeometry,float8,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION translate(tgeometry,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.translate($1, $2, $3, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION transscale(tgeometry,float8,float8,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeometry,geometry) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Tgeo_scale' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeometry,geometry,origin geometry) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Tgeo_scale' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeometry,float8,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.scale($1, @extschema@.ST_MakePoint($2, $3, $4))' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeometry,float8,float8) +RETURNS tgeometry +AS 'SELECT @extschema@.scale($1, $2, $3, 1)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION minDistSimplify(tgeometry, float) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistSimplify(tgeography, float) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minTimeDeltaSimplify(tgeometry, interval) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_tdelta' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minTimeDeltaSimplify(tgeography, interval) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_tdelta' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION maxDistSimplify(tgeometry, float, boolean DEFAULT TRUE) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_simplify_max_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION douglasPeuckerSimplify(tgeometry, float, boolean DEFAULT TRUE) +RETURNS tgeometry +AS 'MODULE_PATHNAME', 'Temporal_simplify_dp' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION asMVTGeom(tgeo tgeometry, bounds stbox, + -- extent int4 DEFAULT 4096, buffer int4 DEFAULT 256, clip bool DEFAULT TRUE) +-- RETURNS geom_times +-- AS 'MODULE_PATHNAME','Tgeo_AsMVTGeom' +-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tpoint_analytics.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tpoint_analytics.in.sql new file mode 100644 index 000000000..017b404bf --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/076_tpoint_analytics.in.sql @@ -0,0 +1,208 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Analytic functions for temporal points + */ + +/*****************************************************************************/ +-- There are two versions of the functions since the single-argument version +-- is required for defining the casting + +CREATE FUNCTION geometry(tgeompoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tpoint_to_geomeas' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geometry(tgeompoint, boolean DEFAULT FALSE) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tpoint_to_geomeas' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeompoint AS geometry) WITH FUNCTION geometry(tgeompoint); + +CREATE FUNCTION geography(tgeogpoint) + RETURNS geography + AS 'MODULE_PATHNAME', 'Tpoint_to_geomeas' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION geography(tgeogpoint, boolean DEFAULT FALSE) + RETURNS geography + AS 'MODULE_PATHNAME', 'Tpoint_to_geomeas' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tgeogpoint AS geography) WITH FUNCTION geography(tgeogpoint); + +CREATE FUNCTION tgeompoint(geometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Geomeas_to_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (geometry AS tgeompoint) WITH FUNCTION tgeompoint(geometry); + +CREATE FUNCTION tgeogpoint(geography) + RETURNS tgeogpoint + AS 'MODULE_PATHNAME', 'Geomeas_to_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (geography AS tgeogpoint) WITH FUNCTION tgeogpoint(geography); + +/*****************************************************************************/ + +CREATE FUNCTION geoMeasure(tgeompoint, tfloat, boolean DEFAULT FALSE) +RETURNS geometry +AS 'MODULE_PATHNAME', 'Tpoint_tfloat_to_geomeas' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION geoMeasure(tgeogpoint, tfloat, boolean DEFAULT FALSE) +RETURNS geography +AS 'MODULE_PATHNAME', 'Tpoint_tfloat_to_geomeas' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ +-- Affine transforms + +CREATE OR REPLACE FUNCTION affine(tgeompoint,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Tgeo_affine' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION affine(tgeompoint,float8,float8,float8,float8,float8,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotate(tgeompoint,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotate(tgeompoint,float8,float8,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotate(tgeompoint,float8,geometry) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, @extschema@.ST_X($3) - cos($2) * @extschema@.ST_X($3) + sin($2) * @extschema@.ST_Y($3), @extschema@.ST_Y($3) - sin($2) * @extschema@.ST_X($3) - cos($2) * @extschema@.ST_Y($3), 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotateZ(tgeompoint,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.rotate($1, $2)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotateX(tgeompoint,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION rotateY(tgeompoint,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION translate(tgeompoint,float8,float8,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION translate(tgeompoint,float8,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.translate($1, $2, $3, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION transscale(tgeompoint,float8,float8,float8,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeompoint,geometry) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Tgeo_scale' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeompoint,geometry,origin geometry) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Tgeo_scale' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeompoint,float8,float8,float8) +RETURNS tgeompoint +--AS 'SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)' +AS 'SELECT @extschema@.scale($1, @extschema@.ST_MakePoint($2, $3, $4))' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION scale(tgeompoint,float8,float8) +RETURNS tgeompoint +AS 'SELECT @extschema@.scale($1, $2, $3, 1)' +LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION minDistSimplify(tgeompoint, float) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minDistSimplify(tgeogpoint, float) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minTimeDeltaSimplify(tgeompoint, interval) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_tdelta' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minTimeDeltaSimplify(tgeogpoint, interval) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_tdelta' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION maxDistSimplify(tgeompoint, float, boolean DEFAULT TRUE) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_simplify_max_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION douglasPeuckerSimplify(tgeompoint, float, boolean DEFAULT TRUE) +RETURNS tgeompoint +AS 'MODULE_PATHNAME', 'Temporal_simplify_dp' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE geom_times AS ( + geom geometry, + times bigint[] +); + +CREATE FUNCTION asMVTGeom(tpoint tgeompoint, bounds stbox, + extent int4 DEFAULT 4096, buffer int4 DEFAULT 256, clip bool DEFAULT TRUE) +-- RETURNS tgeompoint +RETURNS geom_times +AS 'MODULE_PATHNAME','Tpoint_AsMVTGeom' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/078_tpoint_datagen.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/078_tpoint_datagen.in.sql new file mode 100644 index 000000000..2284e6d10 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/078_tpoint_datagen.in.sql @@ -0,0 +1,40 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Data generator for MobilityDB + */ + +CREATE FUNCTION create_trip(record[], timestamptz, boolean, text) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Create_trip' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/CMakeLists.txt new file mode 100644 index 000000000..1fc2fc247 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/geo/CMakeLists.txt @@ -0,0 +1,47 @@ +SET(LOCAL_FILES + 050_geoset + 051_stbox + 052_tpoint + 053_tpoint_inout + 054_tpoint_compops + 056_tpoint_spatialfuncs + 058_tpoint_tile + 060_tpoint_boxops + 062_tpoint_posops + 064_tpoint_distance + 066_tpoint_similarity + 068_tpoint_aggfuncs + 070_tpoint_spatialrels + 072_tpoint_tempspatialrels + 073_tpoint_gist + 074_tpoint_spgist + 076_tpoint_analytics + 078_tpoint_datagen + ) + +# Files added for temporal geometries +# TODO These files should be added to the list above +list(APPEND LOCAL_FILES + 052_tgeo + 053_tgeo_inout + 054_tgeo_compops + 056_tgeo_spatialfuncs + 058_tgeo_tile + 060_tgeo_boxops + 062_tgeo_posops + 064_tgeo_distance + 068_tgeo_aggfuncs + 070_tgeo_spatialrels + 072_tgeo_tempspatialrels + 073_tgeo_gist + 074_tgeo_spgist + 076_tgeo_analytics + ) + +foreach (f ${LOCAL_FILES}) + process_file(${f} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/${f}.sql.in ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql @ONLY) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql) +endforeach() + +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/mobilitydb.in.control b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/mobilitydb.in.control new file mode 100644 index 000000000..2841a477e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/mobilitydb.in.control @@ -0,0 +1,5 @@ +comment = 'MobilityDB geospatial trajectory data management & analysis platform' +default_version = '${MOBILITYDB_VERSION}' +module_pathname = '${MOBILITYDB_MODULE_PATHNAME}' +relocatable = false +requires = 'postgis' diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/081_npoint.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/081_npoint.in.sql new file mode 100644 index 000000000..3c1aadb53 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/081_npoint.in.sql @@ -0,0 +1,424 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Network-based static point and segment types + */ + +CREATE TYPE npoint; +CREATE TYPE nsegment; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION npoint_in(cstring) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_in' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION npoint_out(npoint) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Npoint_out' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION npoint_recv(internal) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_recv' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION npoint_send(npoint) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Npoint_send' + LANGUAGE C IMMUTABLE STRICT; + +CREATE TYPE npoint ( + internallength = 16, + input = npoint_in, + output = npoint_out, + receive = npoint_recv, + send = npoint_send, + alignment = double +); + +CREATE FUNCTION nsegment_in(cstring) + RETURNS nsegment + AS 'MODULE_PATHNAME', 'Nsegment_in' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION nsegment_out(nsegment) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Nsegment_out' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION nsegment_recv(internal) + RETURNS nsegment + AS 'MODULE_PATHNAME', 'Nsegment_recv' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION nsegment_send(nsegment) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Nsegment_send' + LANGUAGE C IMMUTABLE STRICT; + +CREATE TYPE nsegment ( + internallength = 24, + input = nsegment_in, + output = nsegment_out, + receive = nsegment_recv, + send = nsegment_send, + alignment = double +); + +/***************************************************************************** + * Input/output from (E)WKT, (E)WKB and HexEWKB representation + *****************************************************************************/ + +CREATE FUNCTION npointFromText(text) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION npointFromEWKT(text) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION npointFromBinary(bytea) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION npointFromEWKB(bytea) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION npointFromHexEWKB(text) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION asText(npoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Npoint_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(npoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(npoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Npoint_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(npoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(npoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Npoint_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(npoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Npoint_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(npoint, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Npoint_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION npoint(bigint, double precision) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nsegment(bigint, double precision DEFAULT 0, double precision DEFAULT 1) + RETURNS nsegment + AS 'MODULE_PATHNAME', 'Nsegment_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nsegment(npoint) + RETURNS nsegment + AS 'MODULE_PATHNAME', 'Npoint_to_nsegment' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (npoint AS nsegment) WITH FUNCTION nsegment(npoint); + +/***************************************************************************** + * Conversion between network and space + *****************************************************************************/ + +CREATE FUNCTION geometry(npoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Npoint_to_geompoint' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION npoint(geometry) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Geompoint_to_npoint' + LANGUAGE C IMMUTABLE STRICT; + +CREATE CAST (npoint AS geometry) WITH FUNCTION geometry(npoint); +CREATE CAST (geometry AS npoint) WITH FUNCTION npoint(geometry); + +CREATE FUNCTION geometry(nsegment) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Nsegment_to_geom' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION nsegment(geometry) + RETURNS nsegment + AS 'MODULE_PATHNAME', 'Geom_to_nsegment' + LANGUAGE C IMMUTABLE STRICT; + +CREATE CAST (nsegment AS geometry) WITH FUNCTION geometry(nsegment); +CREATE CAST (geometry AS nsegment) WITH FUNCTION nsegment(geometry); + +/***************************************************************************** + * Accessors + *****************************************************************************/ + +CREATE FUNCTION route(npoint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Npoint_route' + LANGUAGE C IMMUTABLE STRICT; + +-- position is a reserved word in SQL +CREATE FUNCTION getPosition(npoint) + RETURNS double precision + AS 'MODULE_PATHNAME', 'Npoint_position' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION srid(npoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Npoint_srid' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION route(nsegment) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Nsegment_route' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION startPosition(nsegment) + RETURNS double precision + AS 'MODULE_PATHNAME', 'Nsegment_start_position' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION endPosition(nsegment) + RETURNS double precision + AS 'MODULE_PATHNAME', 'Nsegment_end_position' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION srid(nsegment) + RETURNS integer + AS 'MODULE_PATHNAME', 'Nsegment_srid' + LANGUAGE C IMMUTABLE STRICT; + +/***************************************************************************** + * Modification functions + *****************************************************************************/ + +CREATE FUNCTION round(npoint, integer DEFAULT 0) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Npoint_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(nsegment, integer DEFAULT 0) + RETURNS nsegment + AS 'MODULE_PATHNAME', 'Nsegment_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Comparisons + ******************************************************************************/ + +CREATE FUNCTION npoint_eq(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npoint_ne(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npoint_lt(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npoint_le(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npoint_ge(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npoint_gt(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npoint_cmp(npoint, npoint) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Npoint_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + PROCEDURE = npoint_eq, + LEFTARG = npoint, RIGHTARG = npoint, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = npoint_ne, + LEFTARG = npoint, RIGHTARG = npoint, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + PROCEDURE = npoint_lt, + LEFTARG = npoint, RIGHTARG = npoint, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + PROCEDURE = npoint_le, + LEFTARG = npoint, RIGHTARG = npoint, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); +CREATE OPERATOR >= ( + PROCEDURE = npoint_ge, + LEFTARG = npoint, RIGHTARG = npoint, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargesel, JOIN = scalargejoinsel +); +CREATE OPERATOR > ( + PROCEDURE = npoint_gt, + LEFTARG = npoint, RIGHTARG = npoint, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS npoint_btree_ops + DEFAULT FOR TYPE npoint USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 npoint_cmp(npoint, npoint); + +/******************************************************************************/ + +CREATE FUNCTION nsegment_eq(nsegment, nsegment) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Nsegment_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nsegment_ne(nsegment, nsegment) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Nsegment_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nsegment_lt(nsegment, nsegment) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Nsegment_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nsegment_le(nsegment, nsegment) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Nsegment_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nsegment_ge(nsegment, nsegment) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Nsegment_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nsegment_gt(nsegment, nsegment) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Nsegment_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nsegment_cmp(nsegment, nsegment) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Nsegment_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + PROCEDURE = nsegment_eq, + LEFTARG = nsegment, RIGHTARG = nsegment, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = nsegment_ne, + LEFTARG = nsegment, RIGHTARG = nsegment, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + PROCEDURE = nsegment_lt, + LEFTARG = nsegment, RIGHTARG = nsegment, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + PROCEDURE = nsegment_le, + LEFTARG = nsegment, RIGHTARG = nsegment, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); +CREATE OPERATOR >= ( + PROCEDURE = nsegment_ge, + LEFTARG = nsegment, RIGHTARG = nsegment, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargesel, JOIN = scalargejoinsel +); +CREATE OPERATOR > ( + PROCEDURE = nsegment_gt, + LEFTARG = nsegment, RIGHTARG = nsegment, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS nsegment_btree_ops + DEFAULT FOR TYPE nsegment USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 nsegment_cmp(nsegment, nsegment); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/082_npointset.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/082_npointset.in.sql new file mode 100644 index 000000000..4d11ece2f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/082_npointset.in.sql @@ -0,0 +1,507 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for set of network point values + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE npointset; + +CREATE FUNCTION npointset_in(cstring) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npointset_out(npointset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npointset_recv(internal) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npointset_send(npointset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE npointset ( + internallength = variable, + input = npointset_in, + output = npointset_out, + receive = npointset_recv, + send = npointset_send, + alignment = double, + storage = extended + -- , analyze = geoset_analyze +); + +/******************************************************************************/ + +-- Input/output in WKT, WKB, and HexWKB representation + +CREATE FUNCTION npointsetFromText(text) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npointsetFromEWKT(text) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION npointsetFromBinary(bytea) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npointsetFromEWKB(bytea) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION npointsetFromHexWKB(text) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(npointset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(npointset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(npointset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKB(npointset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(npointset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructor + ******************************************************************************/ + +CREATE FUNCTION set(npoint[]) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversions + ******************************************************************************/ + +CREATE FUNCTION set(npoint) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION stbox(npointset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Spatialset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (npoint AS npointset) WITH FUNCTION set(npoint); +CREATE CAST (npointset AS stbox) WITH FUNCTION stbox(npointset); + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION round(npointset, integer DEFAULT 0) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION memSize(npointset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numValues(npointset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(npointset) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(npointset) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(npointset, integer) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getValues(npointset) + RETURNS npoint[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION routes(npointset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Npointset_routes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation set of values <-> set + ******************************************************************************/ + +CREATE FUNCTION unnest(npointset) + RETURNS SETOF npoint + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION set_union_transfn(internal, npoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, npointset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION npointset_union_finalfn(internal) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE setUnion(npoint) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = npointset_union_finalfn +); +CREATE AGGREGATE setUnion(npointset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = npointset_union_finalfn +); + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION set_eq(npointset, npointset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(npointset, npointset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(npointset, npointset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(npointset, npointset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(npointset, npointset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(npointset, npointset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(npointset, npointset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = npointset, RIGHTARG = npointset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = npointset, RIGHTARG = npointset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + LEFTARG = npointset, RIGHTARG = npointset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >= + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = npointset, RIGHTARG = npointset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = > + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = npointset, RIGHTARG = npointset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = < + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = npointset, RIGHTARG = npointset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <= + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR CLASS npointset_btree_ops + DEFAULT FOR TYPE npointset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(npointset, npointset); + +/******************************************************************************/ + +CREATE FUNCTION set_hash(npointset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(npointset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS npointset_hash_ops + DEFAULT FOR TYPE npointset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(npointset), + FUNCTION 2 set_hash_extended(npointset, bigint); + +/****************************************************************************** + * Operators + ******************************************************************************/ + +CREATE FUNCTION set_contains(npointset, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(npointset, npointset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = npointset, RIGHTARG = npoint, + COMMUTATOR = <@ + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = npointset, RIGHTARG = npointset, + COMMUTATOR = <@ + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_contained(npoint, npointset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(npointset, npointset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = npoint, RIGHTARG = npointset, + COMMUTATOR = @> + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = npointset, RIGHTARG = npointset, + COMMUTATOR = @> + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overlaps(npointset, npointset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = npointset, RIGHTARG = npointset, + COMMUTATOR = && + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION set_union(npoint, npointset) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(npointset, npoint) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(npointset, npointset) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = npoint, RIGHTARG = npointset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = npointset, RIGHTARG = npoint, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = npointset, RIGHTARG = npointset, + COMMUTATOR = + +); + +/*****************************************************************************/ + +CREATE FUNCTION set_minus(npoint, npointset) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(npointset, npoint) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(npointset, npointset) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = npoint, RIGHTARG = npointset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = npointset, RIGHTARG = npoint +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = npointset, RIGHTARG = npointset +); + +/*****************************************************************************/ + +CREATE FUNCTION set_intersection(npoint, npointset) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(npointset, npoint) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(npointset, npointset) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = npoint, RIGHTARG = npointset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = npointset, RIGHTARG = npoint, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = npointset, RIGHTARG = npointset, + COMMUTATOR = * +); + +/*****************************************************************************/ + +CREATE FUNCTION set_distance(npoint, npointset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(npointset, npoint) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(npointset, npointset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = npoint, RIGHTARG = npointset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = npointset, RIGHTARG = npoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = npointset, RIGHTARG = npointset, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/083_tnpoint.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/083_tnpoint.in.sql new file mode 100644 index 000000000..efea630c7 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/083_tnpoint.in.sql @@ -0,0 +1,664 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal network points + */ + +CREATE TYPE tnpoint; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION tnpoint_in(cstring, oid, integer) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Temporal_out(tnpoint) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpoint_recv(internal, oid, integer) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tnpoint) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tnpoint ( + internallength = variable, + input = tnpoint_in, + output = temporal_out, + receive = tnpoint_recv, + send = temporal_send, + typmod_in = temporal_typmod_in, + typmod_out = temporal_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION tnpoint(tnpoint, integer) + RETURNS tnpoint + AS 'MODULE_PATHNAME','Temporal_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tnpoint AS tnpoint) WITH FUNCTION tnpoint(tnpoint, integer) AS IMPLICIT; + +/***************************************************************************** + * Input/output from (E)WKT, (E)WKB, and HexEWKB + *****************************************************************************/ + +CREATE FUNCTION tnpointFromBinary(bytea) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpointFromHexWKB(text) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION asText(tnpoint, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tnpoint[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(tnpoint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(tnpoint, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION tnpoint(npoint, timestamptz) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpoint(npoint, tstzset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpoint(npoint, tstzspan, text DEFAULT 'linear') + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpoint(npoint, tstzspanset, text DEFAULT 'linear') + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION tnpointSeq(tnpoint[], text DEFAULT 'linear', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpointSeqSet(tnpoint[]) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tnpointSeqSetGaps(tnpoint[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'linear') + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/****************************************************************************** + * Cast functions + ******************************************************************************/ + +CREATE FUNCTION tgeompoint(tnpoint) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tnpoint_to_tgeompoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnpoint(tgeompoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tgeompoint_to_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(tnpoint) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tnpoint AS tgeompoint) WITH FUNCTION tgeompoint(tnpoint); +CREATE CAST (tgeompoint AS tnpoint) WITH FUNCTION tnpoint(tgeompoint); +CREATE CAST (tnpoint AS tstzspan) WITH FUNCTION timeSpan(tnpoint); + +/****************************************************************************** + * Transformation functions + ******************************************************************************/ + +CREATE FUNCTION tnpointInst(tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tnpointSeq(tnpoint, text) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tnpointSeq(tnpoint) + RETURNS tnpoint + AS 'SELECT @extschema@.tnpointSeq($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tnpointSeqSet(tnpoint, text) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tnpointSeqSet(tnpoint) + RETURNS tnpoint + AS 'SELECT @extschema@.tnpointSeqSet($1, NULL)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(tnpoint, text) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tnpoint, integer DEFAULT 0) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tnpoint[], integer DEFAULT 0) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Append functions + ******************************************************************************/ + +CREATE FUNCTION appendInstant(tnpoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendSequence(tnpoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(tnpoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(tnpoint[]) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION tempSubtype(tnpoint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(tnpoint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(tnpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- value is a reserved word in SQL +CREATE FUNCTION getValue(tnpoint) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- values is a reserved word in SQL +CREATE FUNCTION getValues(tnpoint) + RETURNS npointset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION positions(tnpoint) + RETURNS nsegment[] + AS 'MODULE_PATHNAME', 'Tnpoint_positions' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION route(tnpoint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Tnpoint_route' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION routes(tnpoint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Tnpoint_routes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(tnpoint) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- timestamp is a reserved word in SQL +CREATE FUNCTION getTimestamp(tnpoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(tnpoint) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(tnpoint) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(tnpoint, int) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(tnpoint, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(tnpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(tnpoint, integer) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(tnpoint) + RETURNS tnpoint[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tnpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tnpoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tnpoint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tnpoint, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tnpoint) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(tnpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(tnpoint, integer) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(tnpoint) + RETURNS tnpoint[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(tnpoint) + RETURNS tnpoint[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION shiftTime(tnpoint, interval) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(tnpoint, interval) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(tnpoint, interval, interval) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Unnest Function + *****************************************************************************/ + +CREATE TYPE npoint_tstzspanset AS ( + value npoint, + time tstzspanset +); + +CREATE FUNCTION unnest(tnpoint) + RETURNS SETOF npoint_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Restriction functions + ******************************************************************************/ + +CREATE FUNCTION atValues(tnpoint, npoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_at_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tnpoint, npoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_minus_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tnpoint, npointset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_at_npointset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tnpoint, npointset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_minus_npointset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tnpoint, timestamptz) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tnpoint, timestamptz) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(tnpoint, timestamptz) + RETURNS npoint + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tnpoint, tstzset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tnpoint, tstzset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tnpoint, tstzspan) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tnpoint, tstzspan) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tnpoint, tstzspanset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tnpoint, tstzspanset) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(tnpoint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(tnpoint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stop Function + *****************************************************************************/ + +CREATE FUNCTION stops(tnpoint, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(tnpoint, tnpoint, connect boolean DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(tnpoint, tnpoint, connect boolean DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tnpoint, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tnpoint, tstzset, connect boolean DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tnpoint, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tnpoint, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE TYPE time_tnpoint AS ( + time timestamptz, + temp tnpoint +); + +CREATE FUNCTION timeSplit(tnpoint, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tnpoint + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION temporal_lt(tnpoint, tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tnpoint, tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tnpoint, tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tnpoint, tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tnpoint, tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tnpoint, tnpoint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tnpoint, tnpoint) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR = ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); +CREATE OPERATOR > ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS tnpoint_btree_ops + DEFAULT FOR TYPE tnpoint USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tnpoint, tnpoint); + +/******************************************************************************/ + +CREATE FUNCTION temporal_hash(tnpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tnpoint_hash_ops + DEFAULT FOR TYPE tnpoint USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tnpoint); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/085_tnpoint_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/085_tnpoint_compops.in.sql new file mode 100644 index 000000000..033ae3cca --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/085_tnpoint_compops.in.sql @@ -0,0 +1,233 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Ever/always and temporal comparisons for temporal network points + */ + +/***************************************************************************** + * Ever/Always comparisons + *****************************************************************************/ + +CREATE FUNCTION ever_eq(npoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tnpoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = npoint, RIGHTARG = tnpoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tnpoint, RIGHTARG = npoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(npoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tnpoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = npoint, RIGHTARG = tnpoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tnpoint, RIGHTARG = npoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION always_eq(npoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tnpoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = npoint, RIGHTARG = tnpoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tnpoint, RIGHTARG = npoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION always_ne(npoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tnpoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = npoint, RIGHTARG = tnpoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tnpoint, RIGHTARG = npoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Temporal comparisons + *****************************************************************************/ + +CREATE FUNCTION temporal_teq(npoint, tnpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tnpoint, npoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tnpoint, tnpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = npoint, RIGHTARG = tnpoint, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tnpoint, RIGHTARG = npoint, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = #= +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_tne(npoint, tnpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tnpoint, npoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tnpoint, tnpoint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = npoint, RIGHTARG = tnpoint, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tnpoint, RIGHTARG = npoint, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = #<> +); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/087_tnpoint_spatialfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/087_tnpoint_spatialfuncs.in.sql new file mode 100644 index 000000000..fb43524c1 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/087_tnpoint_spatialfuncs.in.sql @@ -0,0 +1,148 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Geometric functions for temporal network points + */ + +/***************************************************************************** + * SRID + *****************************************************************************/ + +CREATE FUNCTION SRID(tnpoint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Trajectory + *****************************************************************************/ + +CREATE FUNCTION trajectory(tnpoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tnpoint_trajectory' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * AtGeometry and MinusGeometry + *****************************************************************************/ + +CREATE FUNCTION atGeometry(tnpoint, geometry) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_at_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusGeometry(tnpoint, geometry) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_minus_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atStbox(tnpoint, stbox, bool DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_at_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusStbox(tnpoint, stbox, bool DEFAULT TRUE) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Tnpoint_minus_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Equals + *****************************************************************************/ + +CREATE FUNCTION same(npoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Npoint_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Length + *****************************************************************************/ + +CREATE FUNCTION length(tnpoint) + RETURNS double precision + AS 'MODULE_PATHNAME', 'Tnpoint_length' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Cumulative length + *****************************************************************************/ + +CREATE FUNCTION cumulativeLength(tnpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnpoint_cumulative_length' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Speed + *****************************************************************************/ + +CREATE FUNCTION speed(tnpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnpoint_speed' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Time-weighted centroid + *****************************************************************************/ + +CREATE FUNCTION twCentroid(tnpoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Tnpoint_twcentroid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Shortest line + *****************************************************************************/ + +CREATE FUNCTION shortestLine(geometry, tnpoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_geo_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tnpoint, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tnpoint_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(npoint, tnpoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tnpoint, npoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tnpoint, tnpoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/089_tnpoint_topops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/089_tnpoint_topops.in.sql new file mode 100644 index 000000000..6c8a0eed8 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/089_tnpoint_topops.in.sql @@ -0,0 +1,385 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box operators for temporal network points + */ + +/***************************************************************************** + * Temporal npoint to stbox + *****************************************************************************/ + +CREATE FUNCTION stbox(npoint) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Npoint_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(nsegment) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Nsegment_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(npoint, timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Npoint_timestamptz_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(npoint, tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Npoint_tstzspan_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(tnpoint) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (npoint AS stbox) WITH FUNCTION stbox(npoint); +CREATE CAST (nsegment AS stbox) WITH FUNCTION stbox(nsegment); +CREATE CAST (tnpoint AS stbox) WITH FUNCTION stbox(tnpoint); + +/*****************************************************************************/ + +CREATE FUNCTION expandSpace(tnpoint, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tnpoint, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tnpoint, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tnpoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contains(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tnpoint, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tnpoint, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tnpoint, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tnpoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contained(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tnpoint, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tnpoint, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tnpoint, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tnpoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_overlaps(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tnpoint, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tnpoint, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tnpoint, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tnpoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_same(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tnpoint, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * adjacent + *****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tnpoint, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tnpoint, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tnpoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_adjacent(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tnpoint, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/090_tnpoint_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/090_tnpoint_posops.in.sql new file mode 100644 index 000000000..b75fdf70f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/090_tnpoint_posops.in.sql @@ -0,0 +1,487 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Relative position operators for temporal network points + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op tnpoint */ + +CREATE FUNCTION temporal_before(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tnpoint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tnpoint, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tnpoint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tnpoint, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * stbox + *****************************************************************************/ + +CREATE FUNCTION temporal_left(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tnpoint + *****************************************************************************/ + +/* tnpoint op tstzspan */ + +CREATE FUNCTION temporal_before(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tnpoint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tnpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tnpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tnpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tnpoint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* tnpoint op stbox */ + +CREATE FUNCTION temporal_left(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tnpoint, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tnpoint op tnpoint */ + +CREATE FUNCTION temporal_left(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/091_tnpoint_routeops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/091_tnpoint_routeops.in.sql new file mode 100644 index 000000000..4a59f2220 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/091_tnpoint_routeops.in.sql @@ -0,0 +1,267 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Route operators for temporal network points + */ + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION overlaps_rid(bigintset, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_rid_bigintset_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @@ ( + PROCEDURE = overlaps_rid, + LEFTARG = bigintset, RIGHTARG = tnpoint, + COMMUTATOR = @@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION overlaps_rid(tnpoint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_rid_tnpoint_bigintset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION overlaps_rid(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_rid_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @@ ( + PROCEDURE = overlaps_rid, + LEFTARG = tnpoint, RIGHTARG = bigintset, + COMMUTATOR = @@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @@ ( + PROCEDURE = overlaps_rid, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = @@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION contains_rid(bigintset, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_rid_bigintset_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @? ( + PROCEDURE = contains_rid, + LEFTARG = bigintset, RIGHTARG = tnpoint, + COMMUTATOR = ?@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION contains_rid(tnpoint, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_rid_tnpoint_bigint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION contains_rid(tnpoint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_rid_tnpoint_bigintset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION contains_rid(tnpoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_rid_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION contains_rid(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_rid_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @? ( + PROCEDURE = contains_rid, + LEFTARG = tnpoint, RIGHTARG = bigint, + COMMUTATOR = ?@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @? ( + PROCEDURE = contains_rid, + LEFTARG = tnpoint, RIGHTARG = bigintset, + COMMUTATOR = ?@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @? ( + PROCEDURE = contains_rid, + LEFTARG = tnpoint, RIGHTARG = npoint, + COMMUTATOR = ?@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @? ( + PROCEDURE = contains_rid, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = ?@ + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION contained_rid(bigint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_rid_bigint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION contained_rid(bigintset, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_rid_bigintset_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION contained_rid(npoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_rid_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?@ ( + PROCEDURE = contained_rid, + LEFTARG = bigint, RIGHTARG = tnpoint, + COMMUTATOR = @? + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?@ ( + PROCEDURE = contained_rid, + LEFTARG = bigintset, RIGHTARG = tnpoint, + COMMUTATOR = @? + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?@ ( + PROCEDURE = contained_rid, + LEFTARG = npoint, RIGHTARG = tnpoint, + COMMUTATOR = @? + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION contained_rid(tnpoint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_rid_tnpoint_bigintset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION contained_rid(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_rid_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?@ ( + PROCEDURE = contained_rid, + LEFTARG = tnpoint, RIGHTARG = bigintset, + COMMUTATOR = @? + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ?@ ( + PROCEDURE = contained_rid, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = @? + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION same_rid(bigint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_bigint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION same_rid(bigintset, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_bigintset_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION same_rid(npoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = bigint, RIGHTARG = tnpoint, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = bigintset, RIGHTARG = tnpoint, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = npoint, RIGHTARG = tnpoint, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION same_rid(tnpoint, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_tnpoint_bigint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION same_rid(tnpoint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_tnpoint_bigintset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION same_rid(tnpoint, npoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION same_rid(tnpoint, tnpoint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_rid_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = tnpoint, RIGHTARG = bigint, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = tnpoint, RIGHTARG = bigintset, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = tnpoint, RIGHTARG = npoint, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @= ( + PROCEDURE = same_rid, + LEFTARG = tnpoint, RIGHTARG = tnpoint, + COMMUTATOR = @= + -- , RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/092_tnpoint_gin.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/092_tnpoint_gin.in.sql new file mode 100644 index 000000000..ddd66740a --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/092_tnpoint_gin.in.sql @@ -0,0 +1,80 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief GIN index for temporal network points + */ + +/******************************************************************************/ + +CREATE FUNCTION tnpoint_gin_extract_value(bigint, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Tnpoint_gin_extract_value' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tnpoint_gin_extract_query(bigint, internal, int2, internal, internal, internal, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Tnpoint_gin_extract_query' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tnpoint_gin_triconsistent(internal, int2, bigint, int4, internal, internal, internal) +RETURNS char +AS 'MODULE_PATHNAME', 'Set_gin_triconsistent' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tnpoint_gin_ops + DEFAULT FOR TYPE tnpoint USING gin AS + STORAGE bigint, + -- overlap set + OPERATOR 10 @@ (tnpoint, bigintset), + -- overlap tnpoint + OPERATOR 11 @@ (tnpoint, tnpoint), + -- contains value + OPERATOR 20 @? (tnpoint, bigint), + -- contains set + OPERATOR 21 @? (tnpoint, bigintset), + -- contains tnpoint + OPERATOR 22 @? (tnpoint, tnpoint), + -- contained set + OPERATOR 30 ?@ (tnpoint, bigintset), + -- contained tnpoint + OPERATOR 31 ?@ (tnpoint, tnpoint), + -- equal set + OPERATOR 40 @= (tnpoint, bigintset), + -- equal tnpoint + OPERATOR 41 @= (tnpoint, tnpoint), + -- functions + FUNCTION 2 tnpoint_gin_extract_value(bigint, internal), + FUNCTION 3 tnpoint_gin_extract_query(bigint, internal, int2, internal, internal, internal, internal), + FUNCTION 6 tnpoint_gin_triconsistent(internal, int2, bigint, int4, internal, internal, internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/093_tnpoint_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/093_tnpoint_distance.in.sql new file mode 100644 index 000000000..d5f54bf96 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/093_tnpoint_distance.in.sql @@ -0,0 +1,187 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal network points + */ + +/***************************************************************************** + * Temporal distance + *****************************************************************************/ + +CREATE FUNCTION tDistance(geometry(Point), tnpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_point_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(npoint, tnpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tnpoint, geometry(Point)) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tnpoint_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tnpoint, npoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tnpoint, tnpoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = geometry, + RIGHTARG = tnpoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = npoint, + RIGHTARG = tnpoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tnpoint, + RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tnpoint, + RIGHTARG = npoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tnpoint, + RIGHTARG = tnpoint, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach instant + *****************************************************************************/ + +CREATE FUNCTION NearestApproachInstant(geometry, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'NAI_geo_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION NearestApproachInstant(tnpoint, geometry) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'NAI_tnpoint_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION NearestApproachInstant(npoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'NAI_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION NearestApproachInstant(tnpoint, npoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'NAI_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION NearestApproachInstant(tnpoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'NAI_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Nearest approach distance + *****************************************************************************/ + +CREATE FUNCTION nearestApproachDistance(geometry, tnpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tnpoint, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnpoint_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tnpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tnpoint, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnpoint_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION NearestApproachDistance(npoint, tnpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_npoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION NearestApproachDistance(tnpoint, npoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnpoint_npoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tnpoint, tnpoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnpoint_tnpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = tnpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tnpoint, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tnpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tnpoint, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = npoint, RIGHTARG = tnpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tnpoint, RIGHTARG = npoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tnpoint, RIGHTARG = tnpoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/095_tnpoint_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/095_tnpoint_aggfuncs.in.sql new file mode 100644 index 000000000..e10f8eb8b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/095_tnpoint_aggfuncs.in.sql @@ -0,0 +1,171 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for temporal network points + */ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tnpoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(tnpoint) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION wcount_transfn(internal, tnpoint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wcount(tnpoint, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION tcentroid_transfn(internal, tnpoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnpoint_tcentroid_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcentroid(tnpoint) ( + SFUNC = tcentroid_transfn, + STYPE = internal, + COMBINEFUNC = tcentroid_combinefn, + FINALFUNC = tcentroid_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, tnpoint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tnpoint_tagg_finalfn(internal) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE merge(tnpoint) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tnpoint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append tinstant aggregate functions + *****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tnpoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tnpoint, tnpoint, + interp text DEFAULT NULL) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tnpoint, tnpoint, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(tnpoint) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tnpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tnpoint, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tnpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tnpoint, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tnpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(tnpoint, tnpoint) + RETURNS tnpoint + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(tnpoint) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tnpoint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/098_tnpoint_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/098_tnpoint_indexes.in.sql new file mode 100644 index 000000000..58d6e1570 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/098_tnpoint_indexes.in.sql @@ -0,0 +1,267 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST, Quad-tree SP-GiST, and k-d tree SP-GiST indexes for + * temporal network points + */ + +/******************************************************************************/ + +CREATE FUNCTION tnpoint_gist_consistent(internal, tnpoint, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tnpoint_rtree_ops + DEFAULT FOR TYPE tnpoint USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (tnpoint, stbox), + OPERATOR 1 << (tnpoint, tnpoint), + -- overlaps or left + OPERATOR 2 &< (tnpoint, stbox), + OPERATOR 2 &< (tnpoint, tnpoint), + -- overlaps + OPERATOR 3 && (tnpoint, tstzspan), + OPERATOR 3 && (tnpoint, stbox), + OPERATOR 3 && (tnpoint, tnpoint), + -- overlaps or right + OPERATOR 4 &> (tnpoint, stbox), + OPERATOR 4 &> (tnpoint, tnpoint), + -- strictly right + OPERATOR 5 >> (tnpoint, stbox), + OPERATOR 5 >> (tnpoint, tnpoint), + -- same + OPERATOR 6 ~= (tnpoint, tstzspan), + OPERATOR 6 ~= (tnpoint, stbox), + OPERATOR 6 ~= (tnpoint, tnpoint), + -- contains + OPERATOR 7 @> (tnpoint, tstzspan), + OPERATOR 7 @> (tnpoint, stbox), + OPERATOR 7 @> (tnpoint, tnpoint), + -- contained by + OPERATOR 8 <@ (tnpoint, tstzspan), + OPERATOR 8 <@ (tnpoint, stbox), + OPERATOR 8 <@ (tnpoint, tnpoint), + -- overlaps or below + OPERATOR 9 &<| (tnpoint, stbox), + OPERATOR 9 &<| (tnpoint, tnpoint), + -- strictly below + OPERATOR 10 <<| (tnpoint, stbox), + OPERATOR 10 <<| (tnpoint, tnpoint), + -- strictly above + OPERATOR 11 |>> (tnpoint, stbox), + OPERATOR 11 |>> (tnpoint, tnpoint), + -- overlaps or above + OPERATOR 12 |&> (tnpoint, stbox), + OPERATOR 12 |&> (tnpoint, tnpoint), + -- adjacent + OPERATOR 17 -|- (tnpoint, tstzspan), + OPERATOR 17 -|- (tnpoint, stbox), + OPERATOR 17 -|- (tnpoint, tnpoint), + -- nearest approach distance +-- OPERATOR 25 |=| (tnpoint, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tnpoint, tstzspan), + OPERATOR 28 &<# (tnpoint, stbox), + OPERATOR 28 &<# (tnpoint, tnpoint), + -- strictly before + OPERATOR 29 <<# (tnpoint, tstzspan), + OPERATOR 29 <<# (tnpoint, stbox), + OPERATOR 29 <<# (tnpoint, tnpoint), + -- strictly after + OPERATOR 30 #>> (tnpoint, tstzspan), + OPERATOR 30 #>> (tnpoint, stbox), + OPERATOR 30 #>> (tnpoint, tnpoint), + -- overlaps or after + OPERATOR 31 #&> (tnpoint, tstzspan), + OPERATOR 31 #&> (tnpoint, stbox), + OPERATOR 31 #&> (tnpoint, tnpoint), + -- functions + FUNCTION 1 tnpoint_gist_consistent(internal, tnpoint, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal); +-- FUNCTION 8 gist_tnpoint_distance(internal, tnpoint, smallint, oid, internal), + +/******************************************************************************/ + +CREATE OPERATOR CLASS tnpoint_quadtree_ops + DEFAULT FOR TYPE tnpoint USING spgist AS + -- strictly left + OPERATOR 1 << (tnpoint, stbox), + OPERATOR 1 << (tnpoint, tnpoint), + -- overlaps or left + OPERATOR 2 &< (tnpoint, stbox), + OPERATOR 2 &< (tnpoint, tnpoint), + -- overlaps + OPERATOR 3 && (tnpoint, tstzspan), + OPERATOR 3 && (tnpoint, stbox), + OPERATOR 3 && (tnpoint, tnpoint), + -- overlaps or right + OPERATOR 4 &> (tnpoint, stbox), + OPERATOR 4 &> (tnpoint, tnpoint), + -- strictly right + OPERATOR 5 >> (tnpoint, stbox), + OPERATOR 5 >> (tnpoint, tnpoint), + -- same + OPERATOR 6 ~= (tnpoint, tstzspan), + OPERATOR 6 ~= (tnpoint, stbox), + OPERATOR 6 ~= (tnpoint, tnpoint), + -- contains + OPERATOR 7 @> (tnpoint, tstzspan), + OPERATOR 7 @> (tnpoint, stbox), + OPERATOR 7 @> (tnpoint, tnpoint), + -- contained by + OPERATOR 8 <@ (tnpoint, tstzspan), + OPERATOR 8 <@ (tnpoint, stbox), + OPERATOR 8 <@ (tnpoint, tnpoint), + -- overlaps or below + OPERATOR 9 &<| (tnpoint, stbox), + OPERATOR 9 &<| (tnpoint, tnpoint), + -- strictly below + OPERATOR 10 <<| (tnpoint, stbox), + OPERATOR 10 <<| (tnpoint, tnpoint), + -- strictly above + OPERATOR 11 |>> (tnpoint, stbox), + OPERATOR 11 |>> (tnpoint, tnpoint), + -- overlaps or above + OPERATOR 12 |&> (tnpoint, stbox), + OPERATOR 12 |&> (tnpoint, tnpoint), + -- adjacent + OPERATOR 17 -|- (tnpoint, tstzspan), + OPERATOR 17 -|- (tnpoint, stbox), + OPERATOR 17 -|- (tnpoint, tnpoint), + -- nearest approach distance +-- OPERATOR 25 |=| (tnpoint, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tnpoint, tstzspan), + OPERATOR 28 &<# (tnpoint, stbox), + OPERATOR 28 &<# (tnpoint, tnpoint), + -- strictly before + OPERATOR 29 <<# (tnpoint, tstzspan), + OPERATOR 29 <<# (tnpoint, stbox), + OPERATOR 29 <<# (tnpoint, tnpoint), + -- strictly after + OPERATOR 30 #>> (tnpoint, tstzspan), + OPERATOR 30 #>> (tnpoint, stbox), + OPERATOR 30 #>> (tnpoint, tnpoint), + -- overlaps or after + OPERATOR 31 #&> (tnpoint, tstzspan), + OPERATOR 31 #&> (tnpoint, stbox), + OPERATOR 31 #&> (tnpoint, tnpoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tnpoint_kdtree_ops + FOR TYPE tnpoint USING spgist AS + -- strictly left + OPERATOR 1 << (tnpoint, stbox), + OPERATOR 1 << (tnpoint, tnpoint), + -- overlaps or left + OPERATOR 2 &< (tnpoint, stbox), + OPERATOR 2 &< (tnpoint, tnpoint), + -- overlaps + OPERATOR 3 && (tnpoint, tstzspan), + OPERATOR 3 && (tnpoint, stbox), + OPERATOR 3 && (tnpoint, tnpoint), + -- overlaps or right + OPERATOR 4 &> (tnpoint, stbox), + OPERATOR 4 &> (tnpoint, tnpoint), + -- strictly right + OPERATOR 5 >> (tnpoint, stbox), + OPERATOR 5 >> (tnpoint, tnpoint), + -- same + OPERATOR 6 ~= (tnpoint, tstzspan), + OPERATOR 6 ~= (tnpoint, stbox), + OPERATOR 6 ~= (tnpoint, tnpoint), + -- contains + OPERATOR 7 @> (tnpoint, tstzspan), + OPERATOR 7 @> (tnpoint, stbox), + OPERATOR 7 @> (tnpoint, tnpoint), + -- contained by + OPERATOR 8 <@ (tnpoint, tstzspan), + OPERATOR 8 <@ (tnpoint, stbox), + OPERATOR 8 <@ (tnpoint, tnpoint), + -- overlaps or below + OPERATOR 9 &<| (tnpoint, stbox), + OPERATOR 9 &<| (tnpoint, tnpoint), + -- strictly below + OPERATOR 10 <<| (tnpoint, stbox), + OPERATOR 10 <<| (tnpoint, tnpoint), + -- strictly above + OPERATOR 11 |>> (tnpoint, stbox), + OPERATOR 11 |>> (tnpoint, tnpoint), + -- overlaps or above + OPERATOR 12 |&> (tnpoint, stbox), + OPERATOR 12 |&> (tnpoint, tnpoint), + -- adjacent + OPERATOR 17 -|- (tnpoint, tstzspan), + OPERATOR 17 -|- (tnpoint, stbox), + OPERATOR 17 -|- (tnpoint, tnpoint), + -- nearest approach distance +-- OPERATOR 25 |=| (tnpoint, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tnpoint, tstzspan), + OPERATOR 28 &<# (tnpoint, stbox), + OPERATOR 28 &<# (tnpoint, tnpoint), + -- strictly before + OPERATOR 29 <<# (tnpoint, tstzspan), + OPERATOR 29 <<# (tnpoint, stbox), + OPERATOR 29 <<# (tnpoint, tnpoint), + -- strictly after + OPERATOR 30 #>> (tnpoint, tstzspan), + OPERATOR 30 #>> (tnpoint, stbox), + OPERATOR 30 #>> (tnpoint, tnpoint), + -- overlaps or after + OPERATOR 31 #&> (tnpoint, tstzspan), + OPERATOR 31 #&> (tnpoint, stbox), + OPERATOR 31 #&> (tnpoint, tnpoint), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/CMakeLists.txt new file mode 100644 index 000000000..c67c17e5b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/npoint/CMakeLists.txt @@ -0,0 +1,24 @@ +# No Postgres version dependant files + +SET(LOCAL_FILES + 081_npoint + 082_npointset + 083_tnpoint + 085_tnpoint_compops + 087_tnpoint_spatialfuncs + 089_tnpoint_topops + 090_tnpoint_posops + 091_tnpoint_routeops + 092_tnpoint_gin + 093_tnpoint_distance + 095_tnpoint_aggfuncs + 098_tnpoint_indexes + ) + +foreach (f ${LOCAL_FILES}) + process_file(${f} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/${f}.sql.in ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql @ONLY) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql) +endforeach() + +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/100_pose.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/100_pose.in.sql new file mode 100644 index 000000000..f5fc22fdc --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/100_pose.in.sql @@ -0,0 +1,346 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for the static pose type + */ + +CREATE TYPE pose; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION pose_in(cstring) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_in' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION pose_out(pose) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Pose_out' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION pose_recv(internal) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_recv' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION pose_send(pose) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Pose_send' + LANGUAGE C IMMUTABLE STRICT; + +CREATE TYPE pose ( + internallength = variable, + input = pose_in, + output = pose_out, + receive = pose_recv, + send = pose_send, + storage = plain, + alignment = double +); + +/***************************************************************************** + * Input/output from (E)WKT, (E)WKB, and HexEWKB + *****************************************************************************/ + +CREATE FUNCTION poseFromText(text) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION poseFromEWKT(text) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION poseFromBinary(bytea) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION poseFromEWKB(bytea) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION poseFromHexEWKB(text) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION asText(pose, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Pose_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(pose[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(pose, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Pose_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(pose[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(pose, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Pose_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(pose, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Pose_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(pose, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Pose_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION pose(double precision, double precision, double precision, + srid integer DEFAULT 0) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION pose(double precision, double precision, double precision, + double precision, double precision, double precision, double precision, + srid integer DEFAULT 0) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION pose(geometry, double precision) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_constructor_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION pose(geometry, double precision, double precision, + double precision, double precision) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_constructor_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Conversions + *****************************************************************************/ + +CREATE FUNCTION geometry(pose) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Pose_to_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (pose AS geometry) WITH FUNCTION geometry(pose); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +CREATE FUNCTION point(pose) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Pose_point' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION rotation(pose) + RETURNS float + AS 'MODULE_PATHNAME', 'Pose_rotation' + LANGUAGE C IMMUTABLE STRICT; + +CREATE TYPE quaternion AS ( + W float, + X float, + Y float, + Z float +); + +CREATE FUNCTION orientation(pose) + RETURNS quaternion + AS 'MODULE_PATHNAME', 'Pose_orientation' + LANGUAGE C IMMUTABLE STRICT; + +/***************************************************************************** + * Modification functions + *****************************************************************************/ + +CREATE FUNCTION round(pose, integer DEFAULT 0) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * SRID functions + *****************************************************************************/ + +CREATE FUNCTION SRID(pose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Pose_srid' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION setSRID(pose, integer) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(pose, integer) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(pose, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS pose + AS 'MODULE_PATHNAME', 'Pose_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION pose_same(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = pose_same, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/****************************************************************************** + * Comparisons + ******************************************************************************/ + +CREATE FUNCTION pose_eq(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_ne(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_lt(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_le(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_ge(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_gt(pose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Pose_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_cmp(pose, pose) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Pose_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + PROCEDURE = pose_eq, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = pose_ne, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + PROCEDURE = pose_lt, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + PROCEDURE = pose_le, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarlesel, JOIN = scalarlejoinsel +); +CREATE OPERATOR >= ( + PROCEDURE = pose_ge, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargesel, JOIN = scalargejoinsel +); +CREATE OPERATOR > ( + PROCEDURE = pose_gt, + LEFTARG = pose, RIGHTARG = pose, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS pose_btree_ops + DEFAULT FOR TYPE pose USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 pose_cmp(pose, pose); + +/******************************************************************************/ + +CREATE FUNCTION pose_hash(pose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Pose_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION pose_hash_extended(pose, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Pose_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS pose_hash_ops + DEFAULT FOR TYPE pose USING hash AS + OPERATOR 1 = , + FUNCTION 1 pose_hash(pose), + FUNCTION 2 pose_hash_extended(pose, bigint); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/101_poseset.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/101_poseset.in.sql new file mode 100644 index 000000000..6ce5bf0df --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/101_poseset.in.sql @@ -0,0 +1,529 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for set of circular buffers + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE poseset; + +CREATE FUNCTION poseset_in(cstring) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION poseset_out(poseset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION poseset_recv(internal) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION poseset_send(poseset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE poseset ( + internallength = variable, + input = poseset_in, + output = poseset_out, + receive = poseset_recv, + send = poseset_send, + alignment = double, + storage = extended + -- , analyze = geoset_analyze +); + +/******************************************************************************/ + +-- Input/output in WKT, WKB, and HexWKB representation + +CREATE FUNCTION posesetFromText(text) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION posesetFromEWKT(text) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Spatialset_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION posesetFromBinary(bytea) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION posesetFromEWKB(bytea) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION posesetFromHexWKB(text) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(poseset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(poseset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(poseset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKB(poseset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spatialset_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(poseset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION set(pose[]) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION set(pose) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (pose AS poseset) WITH FUNCTION set(pose); + +CREATE FUNCTION stbox(poseset) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Spatialset_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (poseset AS stbox) WITH FUNCTION stbox(poseset); + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION round(poseset, integer DEFAULT 0) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION memSize(poseset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numValues(poseset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(poseset) + RETURNS pose + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(poseset) + RETURNS pose + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(poseset, integer) + RETURNS pose + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getValues(poseset) + RETURNS pose[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * SRID + ******************************************************************************/ + +CREATE FUNCTION SRID(poseset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spatialset_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(poseset, integer) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Spatialset_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(poseset, integer) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Spatialset_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(poseset, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Spatialset_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation set of values <-> set + ******************************************************************************/ + +CREATE FUNCTION unnest(poseset) + RETURNS SETOF pose + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION set_union_transfn(internal, pose) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, poseset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION poseset_union_finalfn(internal) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE setUnion(pose) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = poseset_union_finalfn +); +CREATE AGGREGATE setUnion(poseset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = poseset_union_finalfn +); + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION set_eq(poseset, poseset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(poseset, poseset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(poseset, poseset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(poseset, poseset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(poseset, poseset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(poseset, poseset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(poseset, poseset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = poseset, RIGHTARG = poseset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = poseset, RIGHTARG = poseset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + LEFTARG = poseset, RIGHTARG = poseset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >= + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = poseset, RIGHTARG = poseset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = > + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = poseset, RIGHTARG = poseset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = < + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = poseset, RIGHTARG = poseset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <= + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR CLASS poseset_btree_ops + DEFAULT FOR TYPE poseset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(poseset, poseset); + +/******************************************************************************/ + +CREATE FUNCTION set_hash(poseset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(poseset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS poseset_hash_ops + DEFAULT FOR TYPE poseset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(poseset), + FUNCTION 2 set_hash_extended(poseset, bigint); + +/****************************************************************************** + * Operators + ******************************************************************************/ + +CREATE FUNCTION set_contains(poseset, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(poseset, poseset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = poseset, RIGHTARG = pose, + COMMUTATOR = <@ + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = poseset, RIGHTARG = poseset, + COMMUTATOR = <@ + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_contained(pose, poseset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(poseset, poseset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = pose, RIGHTARG = poseset, + COMMUTATOR = @> + -- RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = poseset, RIGHTARG = poseset, + COMMUTATOR = @> + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overlaps(poseset, poseset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = poseset, RIGHTARG = poseset, + COMMUTATOR = && + -- RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION set_union(pose, poseset) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(poseset, pose) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(poseset, poseset) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = pose, RIGHTARG = poseset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = poseset, RIGHTARG = pose, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = poseset, RIGHTARG = poseset, + COMMUTATOR = + +); + +/*****************************************************************************/ + +CREATE FUNCTION set_minus(pose, poseset) + RETURNS pose + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(poseset, pose) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(poseset, poseset) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = pose, RIGHTARG = poseset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = poseset, RIGHTARG = pose +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = poseset, RIGHTARG = poseset +); + +/*****************************************************************************/ + +CREATE FUNCTION set_intersection(pose, poseset) + RETURNS pose + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(poseset, pose) + RETURNS pose + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(poseset, poseset) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = pose, RIGHTARG = poseset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = poseset, RIGHTARG = pose, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = poseset, RIGHTARG = poseset, + COMMUTATOR = * +); + +/*****************************************************************************/ + +CREATE FUNCTION set_distance(pose, poseset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(poseset, pose) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(poseset, poseset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = pose, RIGHTARG = poseset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = poseset, RIGHTARG = pose, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = poseset, RIGHTARG = poseset, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/102_tpose.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/102_tpose.in.sql new file mode 100644 index 000000000..20fc6d302 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/102_tpose.in.sql @@ -0,0 +1,703 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal poses + */ + +CREATE TYPE tpose; + +/****************************************************************************** + * Input/output + ******************************************************************************/ + +CREATE FUNCTION tpose_in(cstring, oid, integer) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tpose_in' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION tpose_out(tpose) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION tpose_recv(internal, oid, integer) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION tpose_send(tpose) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION tpose_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tpose_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tpose ( + internallength = variable, + input = tpose_in, + output = tpose_out, + receive = tpose_recv, + send = tpose_send, + typmod_in = tpose_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION tpose(tpose, integer) + RETURNS tpose + AS 'MODULE_PATHNAME','Tspatial_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tpose AS tpose) WITH FUNCTION tpose(tpose, integer) AS IMPLICIT; + + /***************************************************************************** + * Input/output from (E)WKT, (E)WKB, HexEWKB, and MFJSON representation + *****************************************************************************/ + +CREATE FUNCTION tposeFromText(text) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tposeFromEWKT(text) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tspatial_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tposeFromMFJSON(text) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tposeFromBinary(bytea) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tposeFromEWKB(bytea) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tposeFromHexEWKB(text) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION asText(tpose, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tpose[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(tpose, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(tpose[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asMFJSON(tpose, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(tpose, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(tpose, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(tpose, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION tpose(pose, timestamptz) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tpose(pose, tstzset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tpose(pose, tstzspan, text DEFAULT 'linear') + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tpose(pose, tstzspanset, text DEFAULT 'linear') + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION tposeSeq(tpose[], text DEFAULT 'linear', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tposeSeqSet(tpose[]) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tposeSeqSetGaps(tpose[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'step') + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/****************************************************************************** + * Conversions + ******************************************************************************/ + +CREATE FUNCTION timeSpan(tpose) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeompoint(tpose) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Tpose_to_tgeompoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tpose AS tstzspan) WITH FUNCTION timeSpan(tpose); +CREATE CAST (tpose AS tgeompoint) WITH FUNCTION tgeompoint(tpose); + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ +-- Specific accessors for temporal poses + +CREATE FUNCTION points(tpose) + RETURNS geomset + AS 'MODULE_PATHNAME', 'Tpose_points' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION rotation(tpose) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tpose_rotation' + LANGUAGE C IMMUTABLE STRICT; + +-- CREATE FUNCTION orientation(tpose) + -- RETURNS quaternion[] + -- AS 'MODULE_PATHNAME', 'Tpose_orientation' + -- LANGUAGE C IMMUTABLE STRICT; + +/******************************************************************************/ +-- Accessors for all temporal types + +CREATE FUNCTION tempSubtype(tpose) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(tpose) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(tpose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- value is a reserved word in SQL +CREATE FUNCTION getValue(tpose) + RETURNS pose + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- timestamp is a reserved word in SQL +CREATE FUNCTION getTimestamp(tpose) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- values is a reserved word in SQL +CREATE FUNCTION getValues(tpose) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(tpose) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(tpose) + RETURNS pose + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(tpose) + RETURNS pose + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(tpose, int) + RETURNS pose + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(tpose, timestamptz) + RETURNS pose + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(tpose, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(tpose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(tpose, integer) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(tpose) + RETURNS tpose[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tpose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tpose) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tpose) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tpose, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tpose) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(tpose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(tpose, integer) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(tpose) + RETURNS tpose[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(tpose) + RETURNS tpose[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation functions + ******************************************************************************/ + +CREATE FUNCTION tposeInst(tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tposeSeq(tpose, text DEFAULT NULL) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tposeSeqSet(tpose, text DEFAULT NULL) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(tpose, text) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tpose, integer DEFAULT 0) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tpose[], integer DEFAULT 0) + RETURNS tpose[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftTime(tpose, interval) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(tpose, interval) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(tpose, interval, interval) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Restriction Functions + *****************************************************************************/ + +CREATE FUNCTION atValues(tpose, pose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tpose, pose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tpose, poseset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tpose, poseset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tpose, timestamptz) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tpose, timestamptz) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tpose, tstzset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tpose, tstzset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tpose, tstzspan) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tpose, tstzspan) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tpose, tstzspanset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tpose, tstzspanset) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(tpose, timestamptz, strict bool DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(tpose, timestamptz, strict bool DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Unnest Function + *****************************************************************************/ + +CREATE TYPE pose_tstzspanset AS ( + value pose, + time tstzspanset +); + +CREATE FUNCTION unnest(tpose) + RETURNS SETOF pose_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stop Function + *****************************************************************************/ + +CREATE FUNCTION stops(tpose, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(tpose, tpose, connect boolean DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(tpose, tpose, connect boolean DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tpose, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tpose, tstzset, connect boolean DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tpose, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tpose, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendInstant(tpose, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendSequence(tpose, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION merge(tpose, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION merge(tpose[]) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE TYPE time_tpose AS ( + time timestamptz, + temp tpose +); + +CREATE FUNCTION timeSplit(tpose, bin_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_tpose + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION temporal_lt(tpose, tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tpose, tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tpose, tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tpose, tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tpose, tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tpose, tpose) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tpose, tpose) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR = ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); +CREATE OPERATOR > ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS tpose_btree_ops + DEFAULT FOR TYPE tpose USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tpose, tpose); + +/******************************************************************************/ + +CREATE FUNCTION temporal_hash(tpose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tpose_hash_ops + DEFAULT FOR TYPE tpose USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tpose); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/104_tpose_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/104_tpose_compops.in.sql new file mode 100644 index 000000000..298da7864 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/104_tpose_compops.in.sql @@ -0,0 +1,248 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Ever/always and temporal comparison functions and operators for + * temporal poses + */ + +/***************************************************************************** + * Ever/Always Comparison Functions + *****************************************************************************/ + +CREATE FUNCTION ever_eq(pose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_pose_tpose' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(pose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_pose_tpose' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = pose, RIGHTARG = tpose, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = pose, RIGHTARG = tpose, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(pose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_pose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(pose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_pose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = pose, RIGHTARG = tpose, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = pose, RIGHTARG = tpose, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tpose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_tpose_pose' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tpose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_tpose_pose' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tpose, RIGHTARG = pose, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tpose, RIGHTARG = pose, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tpose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_tpose_pose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tpose, pose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_tpose_pose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tpose, RIGHTARG = pose, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tpose, RIGHTARG = pose, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_temporal' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_temporal' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Temporal equal + *****************************************************************************/ + +CREATE FUNCTION temporal_teq(pose, tpose) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_pose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tpose, pose) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_tpose_pose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tpose, tpose) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = pose, RIGHTARG = tpose, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tpose, RIGHTARG = pose, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = #= +); + +/***************************************************************************** + * Temporal not equal + *****************************************************************************/ + +CREATE FUNCTION temporal_tne(pose, tpose) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_pose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tpose, pose) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_tpose_pose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tpose, tpose) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = pose, RIGHTARG = tpose, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tpose, RIGHTARG = pose, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = #<> +); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/105_tpose_spatialfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/105_tpose_spatialfuncs.in.sql new file mode 100644 index 000000000..52460d9d6 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/105_tpose_spatialfuncs.in.sql @@ -0,0 +1,84 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial functions for temporal poses + */ + +/***************************************************************************** + * SRID + *****************************************************************************/ + +CREATE FUNCTION SRID(tpose) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(tpose, integer) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(tpose, integer) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(tpose, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * AtGeometry and MinusGeometry + *****************************************************************************/ + +CREATE FUNCTION atGeometry(tpose, geometry) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tpose_at_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusGeometry(tpose, geometry) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tpose_minus_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atStbox(tpose, stbox, bool DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tpose_at_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusStbox(tpose, stbox, bool DEFAULT TRUE) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Tpose_minus_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/108_tpose_topops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/108_tpose_topops.in.sql new file mode 100644 index 000000000..c7df6ef54 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/108_tpose_topops.in.sql @@ -0,0 +1,379 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box operators for temporal poses + */ + +/***************************************************************************** + * Temporal pose to stbox + *****************************************************************************/ + +CREATE FUNCTION stbox(pose) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Pose_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(pose, timestamptz) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Pose_timestamptz_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(pose, tstzspan) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Pose_tstzspan_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stbox(tpose) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (pose AS stbox) WITH FUNCTION stbox(pose); +CREATE CAST (tpose AS stbox) WITH FUNCTION stbox(tpose); + +/*****************************************************************************/ + +CREATE FUNCTION expandSpace(tpose, float) + RETURNS stbox + AS 'SELECT @extschema@.expandSpace($1::stbox, $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tpose, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tpose, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = tpose, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contains(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tpose, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tpose, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tpose, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = tpose, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contained(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tpose, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tpose, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tpose, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = tpose, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_overlaps(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tpose, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tpose, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tpose, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = tpose, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_same(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tpose, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * adjacent + *****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tpose, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tpose, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = tpose, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_adjacent(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tpose, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tpose, RIGHTARG = tpose, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/109_tpose_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/109_tpose_posops.in.sql new file mode 100644 index 000000000..2554216c6 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/109_tpose_posops.in.sql @@ -0,0 +1,601 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Relative position operators for temporal poses + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op tpose */ + +CREATE FUNCTION temporal_before(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tpose, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tpose, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tpose, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tpose, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * stbox + *****************************************************************************/ + +CREATE FUNCTION temporal_left(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_back, + COMMUTATOR = < ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * tpose + *****************************************************************************/ + +/* tpose op tstzspan */ + +CREATE FUNCTION temporal_before(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tpose, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tpose, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tpose, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tpose, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tpose, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* tpose op stbox */ + +CREATE FUNCTION temporal_left(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tpose, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_back, + COMMUTATOR = '< ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* tpose op tpose */ + +CREATE FUNCTION temporal_left(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_front(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Front_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overfront(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overfront_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_back(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Back_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overback(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overback_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tpose, tpose) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_back, + COMMUTATOR = '< ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overback, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/111_tpose_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/111_tpose_aggfuncs.in.sql new file mode 100644 index 000000000..ae09b4e83 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/111_tpose_aggfuncs.in.sql @@ -0,0 +1,155 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for temporal poses + */ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tpose) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(tpose) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION wcount_transfn(internal, tpose, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wcount(tpose, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, tpose) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tpose_tagg_finalfn(internal) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE merge(tpose) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tpose_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append tinstant aggregate functions + *****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tpose, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tpose, tpose, + interp text DEFAULT NULL) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(tpose, tpose, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(tpose) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tpose, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tpose, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tpose, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tpose, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = tpose, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(tpose, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(tpose) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tpose, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/113_tpose_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/113_tpose_distance.in.sql new file mode 100644 index 000000000..88c441768 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/113_tpose_distance.in.sql @@ -0,0 +1,218 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal distance for temporal poses + */ + +CREATE FUNCTION tDistance(geometry(Point), tpose) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_point_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(pose, tpose) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_pose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tpose, geometry(Point)) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tpose_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tpose, pose) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tpose_pose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tpose, tpose) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tpose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = geometry, + RIGHTARG = tpose, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = pose, + RIGHTARG = tpose, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tpose, + RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tpose, + RIGHTARG = pose, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tpose, + RIGHTARG = tpose, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach instant/distance and shortest line functions + *****************************************************************************/ + +CREATE FUNCTION nearestApproachInstant(geometry, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'NAI_geo_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(stbox, tpose) + RETURNS tpose + AS 'SELECT @extschema@.nearestApproachInstant(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(pose, tpose) + RETURNS tpose + AS 'SELECT @extschema@.nearestApproachInstant(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tpose, geometry) + RETURNS tpose + AS 'MODULE_PATHNAME', 'NAI_tpose_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tpose, stbox) + RETURNS tpose + AS 'SELECT @extschema@.nearestApproachInstant($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tpose, pose) + RETURNS tpose + AS 'SELECT @extschema@.nearestApproachInstant($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(tpose, tpose) + RETURNS tpose + AS 'MODULE_PATHNAME', 'NAI_tpose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION nearestApproachDistance(geometry, tpose) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, tpose) + RETURNS float + AS 'SELECT @extschema@.nearestApproachDistance(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(pose, tpose) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_pose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tpose, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tpose_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tpose, stbox) + RETURNS float + AS 'SELECT @extschema@.nearestApproachDistance($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tpose, pose) + RETURNS float + AS 'SELECT @extschema@.nearestApproachDistance($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tpose, tpose) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tpose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = tpose, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tpose, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = tpose, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tpose, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = pose, RIGHTARG = tpose, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tpose, RIGHTARG = pose, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tpose, RIGHTARG = tpose, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +/*****************************************************************************/ + +CREATE FUNCTION shortestLine(geometry, tpose) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_geo_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(stbox, tpose) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(pose, tpose) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine(geometry($1), $2)' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(tpose, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tpose_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tpose, stbox) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(tpose, pose) + RETURNS geometry + AS 'SELECT @extschema@.shortestLine($1, geometry($2))' + LANGUAGE SQL IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION shortestLine(tpose, tpose) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tpose_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/114_tpose_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/114_tpose_indexes.in.sql new file mode 100644 index 000000000..3e6a1fe4c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/114_tpose_indexes.in.sql @@ -0,0 +1,266 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST and SP-GiST indexes for temporal poses + */ + +/******************************************************************************/ + +CREATE FUNCTION tpose_gist_consistent(internal, tpose, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tpose_rtree_ops + DEFAULT FOR TYPE tpose USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (tpose, stbox), + OPERATOR 1 << (tpose, tpose), + -- overlaps or left + OPERATOR 2 &< (tpose, stbox), + OPERATOR 2 &< (tpose, tpose), + -- overlaps + OPERATOR 3 && (tpose, tstzspan), + OPERATOR 3 && (tpose, stbox), + OPERATOR 3 && (tpose, tpose), + -- overlaps or right + OPERATOR 4 &> (tpose, stbox), + OPERATOR 4 &> (tpose, tpose), + -- strictly right + OPERATOR 5 >> (tpose, stbox), + OPERATOR 5 >> (tpose, tpose), + -- same + OPERATOR 6 ~= (tpose, tstzspan), + OPERATOR 6 ~= (tpose, stbox), + OPERATOR 6 ~= (tpose, tpose), + -- contains + OPERATOR 7 @> (tpose, tstzspan), + OPERATOR 7 @> (tpose, stbox), + OPERATOR 7 @> (tpose, tpose), + -- contained by + OPERATOR 8 <@ (tpose, tstzspan), + OPERATOR 8 <@ (tpose, stbox), + OPERATOR 8 <@ (tpose, tpose), + -- overlaps or below + OPERATOR 9 &<| (tpose, stbox), + OPERATOR 9 &<| (tpose, tpose), + -- strictly below + OPERATOR 10 <<| (tpose, stbox), + OPERATOR 10 <<| (tpose, tpose), + -- strictly above + OPERATOR 11 |>> (tpose, stbox), + OPERATOR 11 |>> (tpose, tpose), + -- overlaps or above + OPERATOR 12 |&> (tpose, stbox), + OPERATOR 12 |&> (tpose, tpose), + -- adjacent + OPERATOR 17 -|- (tpose, tstzspan), + OPERATOR 17 -|- (tpose, stbox), + OPERATOR 17 -|- (tpose, tpose), + -- nearest approach distance +-- OPERATOR 25 |=| (tpose, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tpose, tstzspan), + OPERATOR 28 &<# (tpose, stbox), + OPERATOR 28 &<# (tpose, tpose), + -- strictly before + OPERATOR 29 <<# (tpose, tstzspan), + OPERATOR 29 <<# (tpose, stbox), + OPERATOR 29 <<# (tpose, tpose), + -- strictly after + OPERATOR 30 #>> (tpose, tstzspan), + OPERATOR 30 #>> (tpose, stbox), + OPERATOR 30 #>> (tpose, tpose), + -- overlaps or after + OPERATOR 31 #&> (tpose, tstzspan), + OPERATOR 31 #&> (tpose, stbox), + OPERATOR 31 #&> (tpose, tpose), + -- functions + FUNCTION 1 tpose_gist_consistent(internal, tpose, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal); +-- FUNCTION 8 gist_tpose_distance(internal, tpose, smallint, oid, internal), + +/******************************************************************************/ + +CREATE OPERATOR CLASS tpose_quadtree_ops + DEFAULT FOR TYPE tpose USING spgist AS + -- strictly left + OPERATOR 1 << (tpose, stbox), + OPERATOR 1 << (tpose, tpose), + -- overlaps or left + OPERATOR 2 &< (tpose, stbox), + OPERATOR 2 &< (tpose, tpose), + -- overlaps + OPERATOR 3 && (tpose, tstzspan), + OPERATOR 3 && (tpose, stbox), + OPERATOR 3 && (tpose, tpose), + -- overlaps or right + OPERATOR 4 &> (tpose, stbox), + OPERATOR 4 &> (tpose, tpose), + -- strictly right + OPERATOR 5 >> (tpose, stbox), + OPERATOR 5 >> (tpose, tpose), + -- same + OPERATOR 6 ~= (tpose, tstzspan), + OPERATOR 6 ~= (tpose, stbox), + OPERATOR 6 ~= (tpose, tpose), + -- contains + OPERATOR 7 @> (tpose, tstzspan), + OPERATOR 7 @> (tpose, stbox), + OPERATOR 7 @> (tpose, tpose), + -- contained by + OPERATOR 8 <@ (tpose, tstzspan), + OPERATOR 8 <@ (tpose, stbox), + OPERATOR 8 <@ (tpose, tpose), + -- overlaps or below + OPERATOR 9 &<| (tpose, stbox), + OPERATOR 9 &<| (tpose, tpose), + -- strictly below + OPERATOR 10 <<| (tpose, stbox), + OPERATOR 10 <<| (tpose, tpose), + -- strictly above + OPERATOR 11 |>> (tpose, stbox), + OPERATOR 11 |>> (tpose, tpose), + -- overlaps or above + OPERATOR 12 |&> (tpose, stbox), + OPERATOR 12 |&> (tpose, tpose), + -- adjacent + OPERATOR 17 -|- (tpose, tstzspan), + OPERATOR 17 -|- (tpose, stbox), + OPERATOR 17 -|- (tpose, tpose), + -- nearest approach distance +-- OPERATOR 25 |=| (tpose, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tpose, tstzspan), + OPERATOR 28 &<# (tpose, stbox), + OPERATOR 28 &<# (tpose, tpose), + -- strictly before + OPERATOR 29 <<# (tpose, tstzspan), + OPERATOR 29 <<# (tpose, stbox), + OPERATOR 29 <<# (tpose, tpose), + -- strictly after + OPERATOR 30 #>> (tpose, tstzspan), + OPERATOR 30 #>> (tpose, stbox), + OPERATOR 30 #>> (tpose, tpose), + -- overlaps or after + OPERATOR 31 #&> (tpose, tstzspan), + OPERATOR 31 #&> (tpose, stbox), + OPERATOR 31 #&> (tpose, tpose), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tpose_kdtree_ops + FOR TYPE tpose USING spgist AS + -- strictly left + OPERATOR 1 << (tpose, stbox), + OPERATOR 1 << (tpose, tpose), + -- overlaps or left + OPERATOR 2 &< (tpose, stbox), + OPERATOR 2 &< (tpose, tpose), + -- overlaps + OPERATOR 3 && (tpose, tstzspan), + OPERATOR 3 && (tpose, stbox), + OPERATOR 3 && (tpose, tpose), + -- overlaps or right + OPERATOR 4 &> (tpose, stbox), + OPERATOR 4 &> (tpose, tpose), + -- strictly right + OPERATOR 5 >> (tpose, stbox), + OPERATOR 5 >> (tpose, tpose), + -- same + OPERATOR 6 ~= (tpose, tstzspan), + OPERATOR 6 ~= (tpose, stbox), + OPERATOR 6 ~= (tpose, tpose), + -- contains + OPERATOR 7 @> (tpose, tstzspan), + OPERATOR 7 @> (tpose, stbox), + OPERATOR 7 @> (tpose, tpose), + -- contained by + OPERATOR 8 <@ (tpose, tstzspan), + OPERATOR 8 <@ (tpose, stbox), + OPERATOR 8 <@ (tpose, tpose), + -- overlaps or below + OPERATOR 9 &<| (tpose, stbox), + OPERATOR 9 &<| (tpose, tpose), + -- strictly below + OPERATOR 10 <<| (tpose, stbox), + OPERATOR 10 <<| (tpose, tpose), + -- strictly above + OPERATOR 11 |>> (tpose, stbox), + OPERATOR 11 |>> (tpose, tpose), + -- overlaps or above + OPERATOR 12 |&> (tpose, stbox), + OPERATOR 12 |&> (tpose, tpose), + -- adjacent + OPERATOR 17 -|- (tpose, tstzspan), + OPERATOR 17 -|- (tpose, stbox), + OPERATOR 17 -|- (tpose, tpose), + -- nearest approach distance +-- OPERATOR 25 |=| (tpose, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tpose, tstzspan), + OPERATOR 28 &<# (tpose, stbox), + OPERATOR 28 &<# (tpose, tpose), + -- strictly before + OPERATOR 29 <<# (tpose, tstzspan), + OPERATOR 29 <<# (tpose, stbox), + OPERATOR 29 <<# (tpose, tpose), + -- strictly after + OPERATOR 30 #>> (tpose, tstzspan), + OPERATOR 30 #>> (tpose, stbox), + OPERATOR 30 #>> (tpose, tpose), + -- overlaps or after + OPERATOR 31 #&> (tpose, tstzspan), + OPERATOR 31 #&> (tpose, stbox), + OPERATOR 31 #&> (tpose, tpose), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/CMakeLists.txt new file mode 100644 index 000000000..a59f998de --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/pose/CMakeLists.txt @@ -0,0 +1,20 @@ +SET(LOCAL_FILES + 100_pose + 101_poseset + 102_tpose + 104_tpose_compops + 105_tpose_spatialfuncs + 108_tpose_topops + 109_tpose_posops + 111_tpose_aggfuncs + 113_tpose_distance + 114_tpose_indexes + ) + +foreach (f ${LOCAL_FILES}) + process_file(${f} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/${f}.sql.in ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql @ONLY) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql) +endforeach() + +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/122_trgeo.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/122_trgeo.in.sql new file mode 100644 index 000000000..aa5be6ea2 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/122_trgeo.in.sql @@ -0,0 +1,704 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal rigid geometries + */ + +CREATE TYPE trgeometry; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION trgeometry_in(cstring, oid, integer) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_in' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION trgeometry_out(trgeometry) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Trgeometry_out' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION trgeometry_recv(internal) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_recv' + LANGUAGE C IMMUTABLE STRICT; +CREATE FUNCTION trgeometry_send(trgeometry) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Trgeometry_send' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION trgeo_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Trgeometry_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE trgeometry ( + internallength = variable, + input = trgeometry_in, + output = trgeometry_out, + receive = trgeometry_recv, + send = trgeometry_send, + typmod_in = trgeo_typmod_in, + typmod_out = tspatial_typmod_out, + storage = extended, + alignment = double, + analyze = tspatial_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION trgeometry(trgeometry, integer) + RETURNS trgeometry + AS 'MODULE_PATHNAME','Tspatial_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (trgeometry AS trgeometry) WITH FUNCTION trgeometry(trgeometry, integer) AS IMPLICIT; + +/***************************************************************************** + * Input/output from (E)WKT, (E)WKB, HexEWKB, and MFJSON representation + *****************************************************************************/ + +CREATE FUNCTION trgeometryFromText(text) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometryFromEWKT(text) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_from_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometryFromMFJSON(text) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometryFromBinary(bytea) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometryFromEWKB(bytea) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometryFromHexEWKB(text) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION asText(trgeometry, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Trgeometry_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(trgeometry[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKT(trgeometry, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Trgeometry_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asEWKT(trgeometry[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Spatialarr_as_ewkt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asMFJSON(trgeometry, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(trgeometry, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asEWKB(trgeometry, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tspatial_as_ewkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexEWKB(trgeometry, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructors + ******************************************************************************/ + +CREATE FUNCTION trgeometry(geometry, pose, timestamptz) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_inst_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometrySeq(trgeometry[], text DEFAULT 'linear', + lower_inc boolean DEFAULT true, upper_inc boolean DEFAULT true) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_seq_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trgeometrySeqSet(trgeometry[]) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_seqset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION trgeometrySeqSetGaps(trgeometry[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'linear') + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_seqset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION trgeometry(geometry, tpose) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION timeSpan(trgeometry) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (trgeometry AS tstzspan) WITH FUNCTION timeSpan(trgeometry); + +CREATE FUNCTION tpose(trgeometry) + RETURNS tpose + AS 'MODULE_PATHNAME', 'Trgeometry_to_tpose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tgeompoint(trgeometry) + RETURNS tgeompoint + AS 'MODULE_PATHNAME', 'Trgeometry_to_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (trgeometry AS tpose) WITH FUNCTION tpose(trgeometry); +CREATE CAST (trgeometry AS tgeompoint) WITH FUNCTION tgeompoint(trgeometry); + +CREATE FUNCTION stbox(trgeometry) + RETURNS stbox + AS 'MODULE_PATHNAME', 'Tspatial_to_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (trgeometry AS stbox) WITH FUNCTION stbox(trgeometry); + +CREATE FUNCTION geometry(trgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Trgeometry_to_geom' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (trgeometry AS geometry) WITH FUNCTION geometry(trgeometry); + +/****************************************************************************** + * Accessor Functions + ******************************************************************************/ + +/******************************************************************************/ + +CREATE FUNCTION tempSubtype(trgeometry) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(trgeometry) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(trgeometry) + RETURNS int + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- value is a reserved word in SQL +CREATE FUNCTION getValue(trgeometry) + RETURNS pose + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- timestamp is a reserved word in SQL +CREATE FUNCTION getTimestamp(trgeometry) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- timestamp is a reserved word in SQL +CREATE FUNCTION getValues(trgeometry) + RETURNS poseset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(trgeometry) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(trgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Trgeometry_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(trgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Trgeometry_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(trgeometry, int) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Trgeometry_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(trgeometry, timestamptz) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Trgeometry_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(trgeometry, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(trgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(trgeometry, integer) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(trgeometry) + RETURNS trgeometry[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(trgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(trgeometry) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(trgeometry) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(trgeometry, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(trgeometry) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(trgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(trgeometry, integer) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(trgeometry) + RETURNS trgeometry[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(trgeometry) + RETURNS trgeometry[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation functions + ******************************************************************************/ + +CREATE FUNCTION trgeometryInst(trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION trgeometrySeq(trgeometry, text DEFAULT NULL) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION trgeometrySeqSet(trgeometry, text DEFAULT NULL) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Trgeometry_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(trgeometry, text) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(trgeometry, integer DEFAULT 0) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(trgeometry[], integer DEFAULT 0) + RETURNS trgeometry[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftTime(trgeometry, interval) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(trgeometry, interval) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(trgeometry, interval, interval) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION tprecision(trgeometry, duration interval, +-- origin timestamptz DEFAULT '2000-01-03') +-- RETURNS trgeometry +-- AS 'MODULE_PATHNAME', 'Temporal_tprecision' +-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION tsample(trgeometry, duration interval, +-- origin timestamptz DEFAULT '2000-01-03') +-- RETURNS trgeometry +-- AS 'MODULE_PATHNAME', 'Temporal_tsample' +-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Restriction Functions + *****************************************************************************/ + +-- CREATE FUNCTION atValues(trgeometry, geometry) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Temporal_at_value' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION minusValues(trgeometry, geometry) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Temporal_minus_value' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION atValues(trgeometry, geomset) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Temporal_at_values' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION minusValues(trgeometry, geomset) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Temporal_minus_values' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(trgeometry, timestamptz) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(trgeometry, timestamptz) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(trgeometry, tstzset) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(trgeometry, tstzset) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(trgeometry, tstzspan) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(trgeometry, tstzspan) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(trgeometry, tstzspanset) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(trgeometry, tstzspanset) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(trgeometry, timestamptz, strict bool DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(trgeometry, timestamptz, strict bool DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Unnest Function + *****************************************************************************/ + +CREATE FUNCTION unnest(trgeometry) + RETURNS SETOF geom_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stops Function + *****************************************************************************/ + +CREATE FUNCTION stops(trgeometry, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(trgeometry, trgeometry, connect boolean DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(trgeometry, trgeometry, connect boolean DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(trgeometry, timestamptz, connect boolean DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(trgeometry, tstzset, connect boolean DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(trgeometry, tstzspan, connect boolean DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(trgeometry, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendInstant(trgeometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendSequence(trgeometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION merge(trgeometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION merge(trgeometry[]) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Multidimensional tiling + ******************************************************************************/ + +CREATE TYPE time_trgeometry AS ( + time timestamptz, + temp trgeometry +); + +CREATE FUNCTION timeSplit(trgeometry, bucket_width interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS setof time_trgeometry + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION temporal_lt(trgeometry, trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(trgeometry, trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(trgeometry, trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(trgeometry, trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(trgeometry, trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(trgeometry, trgeometry) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(trgeometry, trgeometry) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR = ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); +CREATE OPERATOR > ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = scalargtsel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS trgeometry_btree_ops + DEFAULT FOR TYPE trgeometry USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(trgeometry, trgeometry); + +/******************************************************************************/ + +CREATE FUNCTION temporal_hash(trgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS trgeometry_hash_ops + DEFAULT FOR TYPE trgeometry USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(trgeometry); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/124_trgeo_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/124_trgeo_compops.in.sql new file mode 100644 index 000000000..9a95c4cfc --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/124_trgeo_compops.in.sql @@ -0,0 +1,247 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Ever, always, and temporal comparisons for temporal rigid geometries + */ + +/***************************************************************************** + * Ever/Always Comparison Functions + *****************************************************************************/ + +CREATE FUNCTION ever_eq(geometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_geo_trgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(geometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_geo_trgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = geometry, RIGHTARG = trgeometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = geometry, RIGHTARG = trgeometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(geometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(geometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = geometry, RIGHTARG = trgeometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = geometry, RIGHTARG = trgeometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(trgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_trgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(trgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_trgeo_geo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = trgeometry, RIGHTARG = geometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = trgeometry, RIGHTARG = geometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(trgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(trgeometry, geometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = trgeometry, RIGHTARG = geometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = trgeometry, RIGHTARG = geometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_trgeo_trgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_trgeo_trgeo' + SUPPORT tspatial_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION ever_ne(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_trgeo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_trgeo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Temporal equal + *****************************************************************************/ + +CREATE FUNCTION temporal_teq(geometry, trgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(trgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(trgeometry, trgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = geometry, RIGHTARG = trgeometry, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = trgeometry, RIGHTARG = geometry, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = #= +); + +/***************************************************************************** + * Temporal not equal + *****************************************************************************/ + +CREATE FUNCTION temporal_tne(geometry, trgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(trgeometry, geometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(trgeometry, trgeometry) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = geometry, RIGHTARG = trgeometry, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = trgeometry, RIGHTARG = geometry, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = #<> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/125_trgeo_spatialfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/125_trgeo_spatialfuncs.in.sql new file mode 100644 index 000000000..5acd44534 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/125_trgeo_spatialfuncs.in.sql @@ -0,0 +1,84 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Spatial functions for temporal poses + */ + +/***************************************************************************** + * SRID + *****************************************************************************/ + +CREATE FUNCTION SRID(trgeometry) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tspatial_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION setSRID(trgeometry, integer) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Tspatial_set_srid' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transform(trgeometry, integer) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Tspatial_transform' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION transformPipeline(trgeometry, text, srid integer DEFAULT 0, + is_forward boolean DEFAULT true) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Tspatial_transform_pipeline' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * AtGeometry and MinusGeometry + *****************************************************************************/ + +-- CREATE FUNCTION atGeometry(trgeometry, geometry) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Trgeo_at_geom' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION minusGeometry(trgeometry, geometry) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Trgeo_minus_geom' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION atStbox(trgeometry, stbox, bool DEFAULT TRUE) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Trgeo_at_stbox' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- CREATE FUNCTION minusStbox(trgeometry, stbox, bool DEFAULT TRUE) + -- RETURNS trgeometry + -- AS 'MODULE_PATHNAME', 'Trgeo_minus_stbox' + -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/128_trgeo_topops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/128_trgeo_topops.in.sql new file mode 100644 index 000000000..dc35d3ea7 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/128_trgeo_topops.in.sql @@ -0,0 +1,345 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box topological operators for temporal rigid geometries + */ + +/***************************************************************************** + * Contains + *****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = trgeometry, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = trgeometry, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = stbox, RIGHTARG = trgeometry, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contains(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = trgeometry, RIGHTARG = stbox, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = <@, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Contained + *****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = trgeometry, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = trgeometry, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = stbox, RIGHTARG = trgeometry, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_contained(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = trgeometry, RIGHTARG = stbox, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = @>, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Overlaps + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = trgeometry, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = trgeometry, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = stbox, RIGHTARG = trgeometry, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_overlaps(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = trgeometry, RIGHTARG = stbox, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = &&, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * Same + *****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = trgeometry, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = trgeometry, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = stbox, RIGHTARG = trgeometry, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_same(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = trgeometry, RIGHTARG = stbox, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = ~=, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * adjacent + *****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = trgeometry, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = trgeometry, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = stbox, RIGHTARG = trgeometry, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +CREATE FUNCTION temporal_adjacent(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = trgeometry, RIGHTARG = stbox, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = -|-, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/129_trgeo_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/129_trgeo_posops.in.sql new file mode 100644 index 000000000..dc3dd46a5 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/129_trgeo_posops.in.sql @@ -0,0 +1,487 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding box relative position operators for temporal rigid geomtries + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op trgeometry */ + +CREATE FUNCTION temporal_before(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = trgeometry, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = trgeometry, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = trgeometry, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = trgeometry, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * stbox + *****************************************************************************/ + +CREATE FUNCTION temporal_left(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(stbox, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_stbox_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/***************************************************************************** + * trgeometry + *****************************************************************************/ + +/* trgeometry op tstzspan */ + +CREATE FUNCTION temporal_before(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(trgeometry, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = trgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = trgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = trgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = trgeometry, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* trgeometry op stbox */ + +CREATE FUNCTION temporal_left(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(trgeometry, stbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ + +/* trgeometry op trgeometry */ + +CREATE FUNCTION temporal_left(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_below(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Below_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbelow(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbelow_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_above(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Above_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overabove(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overabove_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(trgeometry, trgeometry) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tspatial_tspatial' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_left, + COMMUTATOR = '>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_overleft, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_right, + COMMUTATOR = '<<', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_overright, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<| ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_below, + COMMUTATOR = '|>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<| ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_overbelow, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |>> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_above, + COMMUTATOR = '<<|', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR |&> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_overabove, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_before, + COMMUTATOR = '#>>', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_overbefore, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_after, + COMMUTATOR = '<<#', + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = temporal_overafter, + RESTRICT = tspatial_sel, JOIN = tspatial_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/131_trgeo_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/131_trgeo_aggfuncs.in.sql new file mode 100644 index 000000000..4d19a736c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/131_trgeo_aggfuncs.in.sql @@ -0,0 +1,155 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for temporal rigid geometries + */ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, trgeometry) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(trgeometry) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION wcount_transfn(internal, trgeometry, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wcount(trgeometry, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, trgeometry) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION trgeometry_tagg_finalfn(internal) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE merge(trgeometry) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = trgeometry_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append tinstant aggregate functions + *****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(trgeometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(trgeometry, trgeometry, + interp text DEFAULT NULL) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tinst_transfn(trgeometry, trgeometry, + interp text DEFAULT NULL, maxdist float DEFAULT NULL, + maxt interval DEFAULT NULL) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(trgeometry) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = trgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(trgeometry, text) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = trgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(trgeometry, text, float, interval) ( + SFUNC = temporal_app_tinst_transfn, + STYPE = trgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(trgeometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(trgeometry) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = trgeometry, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_distance.in.sql new file mode 100644 index 000000000..8f837975f --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_distance.in.sql @@ -0,0 +1,200 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal rigid geometries + */ + +/***************************************************************************** + * Distance functions + *****************************************************************************/ + +CREATE FUNCTION tdistance(trgeometry, geometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(geometry, trgeometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(trgeometry, tgeompoint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_trgeo_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(tgeompoint, trgeometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tpoint_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tdistance(trgeometry, trgeometry) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_trgeo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = trgeometry, RIGHTARG = geometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = geometry, RIGHTARG = trgeometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = trgeometry, RIGHTARG = tgeompoint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = tgeompoint, RIGHTARG = trgeometry, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tdistance, + LEFTARG = trgeometry, RIGHTARG = trgeometry, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach instant/distance and shortest line functions + *****************************************************************************/ + +CREATE FUNCTION nearestApproachInstant(trgeometry, geometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'NAI_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(geometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'NAI_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(trgeometry, tgeompoint) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'NAI_trgeo_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +/* TODO: Maybe change output type here. + * Currently we return a trgeometry instant + * even if the left argument is a tgeompoint */ +CREATE FUNCTION nearestApproachInstant(tgeompoint, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'NAI_tpoint_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachInstant(trgeometry, trgeometry) + RETURNS trgeometry + AS 'MODULE_PATHNAME', 'NAI_trgeo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION nearestApproachDistance(trgeometry, geometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(geometry, trgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(trgeometry, stbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_trgeo_stbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(stbox, trgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_stbox_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(trgeometry, tgeompoint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_trgeo_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tgeompoint, trgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tpoint_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(trgeometry, trgeometry) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_trgeo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + LEFTARG = trgeometry, RIGHTARG = geometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = geometry, RIGHTARG = trgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = trgeometry, RIGHTARG = stbox, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = stbox, RIGHTARG = trgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = trgeometry, RIGHTARG = tgeompoint, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = tgeompoint, RIGHTARG = trgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); +CREATE OPERATOR |=| ( + LEFTARG = trgeometry, RIGHTARG = trgeometry, + PROCEDURE = nearestApproachDistance, + COMMUTATOR = '|=|' +); + +CREATE FUNCTION shortestLine(trgeometry, geometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_trgeo_geo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(geometry, trgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_geo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(trgeometry, tgeompoint) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_trgeo_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(tgeompoint, trgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_tpoint_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shortestLine(trgeometry, trgeometry) + RETURNS geometry + AS 'MODULE_PATHNAME', 'Shortestline_trgeo_trgeo' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_vclip.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_vclip.in.sql new file mode 100644 index 000000000..51d92d048 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/133_trgeo_vclip.in.sql @@ -0,0 +1,69 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  + * + *****************************************************************************/ + +/** + * @file + * @brief V-Clip distance functions for temporal rigid geometries + */ + +/***************************************************************************** + * V-clip functions + *****************************************************************************/ + +CREATE FUNCTION v_clip_poly_point(geometry(Polygon), geometry(Point)) + RETURNS float + AS 'MODULE_PATHNAME', 'VClip_poly_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION v_clip_poly_poly(geometry(Polygon), geometry(Polygon)) + RETURNS float + AS 'MODULE_PATHNAME', 'VClip_poly_poly' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION v_clip_tpoly_point(trgeometry, geometry(Point), timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'VClip_tpoly_point' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION v_clip_tpoly_poly(trgeometry, geometry(Polygon), timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'VClip_tpoly_poly' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION v_clip_tpoly_tpoint(trgeometry, tgeompoint, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'VClip_tpoly_tpoint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION v_clip_tpoly_tpoly(trgeometry, trgeometry, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'VClip_tpoly_tpoly' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/134_trgeo_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/134_trgeo_indexes.in.sql new file mode 100644 index 000000000..38e14b2fb --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/134_trgeo_indexes.in.sql @@ -0,0 +1,266 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST and SP-GiST indexes for temporal rigid geometries + */ + +/******************************************************************************/ + +CREATE FUNCTION trgeometry_gist_consistent(internal, trgeometry, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Stbox_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS trgeometry_rtree_ops + DEFAULT FOR TYPE trgeometry USING gist AS + STORAGE stbox, + -- strictly left + OPERATOR 1 << (trgeometry, stbox), + OPERATOR 1 << (trgeometry, trgeometry), + -- overlaps or left + OPERATOR 2 &< (trgeometry, stbox), + OPERATOR 2 &< (trgeometry, trgeometry), + -- overlaps + OPERATOR 3 && (trgeometry, tstzspan), + OPERATOR 3 && (trgeometry, stbox), + OPERATOR 3 && (trgeometry, trgeometry), + -- overlaps or right + OPERATOR 4 &> (trgeometry, stbox), + OPERATOR 4 &> (trgeometry, trgeometry), + -- strictly right + OPERATOR 5 >> (trgeometry, stbox), + OPERATOR 5 >> (trgeometry, trgeometry), + -- same + OPERATOR 6 ~= (trgeometry, tstzspan), + OPERATOR 6 ~= (trgeometry, stbox), + OPERATOR 6 ~= (trgeometry, trgeometry), + -- contains + OPERATOR 7 @> (trgeometry, tstzspan), + OPERATOR 7 @> (trgeometry, stbox), + OPERATOR 7 @> (trgeometry, trgeometry), + -- contained by + OPERATOR 8 <@ (trgeometry, tstzspan), + OPERATOR 8 <@ (trgeometry, stbox), + OPERATOR 8 <@ (trgeometry, trgeometry), + -- overlaps or below + OPERATOR 9 &<| (trgeometry, stbox), + OPERATOR 9 &<| (trgeometry, trgeometry), + -- strictly below + OPERATOR 10 <<| (trgeometry, stbox), + OPERATOR 10 <<| (trgeometry, trgeometry), + -- strictly above + OPERATOR 11 |>> (trgeometry, stbox), + OPERATOR 11 |>> (trgeometry, trgeometry), + -- overlaps or above + OPERATOR 12 |&> (trgeometry, stbox), + OPERATOR 12 |&> (trgeometry, trgeometry), + -- adjacent + OPERATOR 17 -|- (trgeometry, tstzspan), + OPERATOR 17 -|- (trgeometry, stbox), + OPERATOR 17 -|- (trgeometry, trgeometry), + -- nearest approach distance +-- OPERATOR 25 |=| (trgeometry, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (trgeometry, tstzspan), + OPERATOR 28 &<# (trgeometry, stbox), + OPERATOR 28 &<# (trgeometry, trgeometry), + -- strictly before + OPERATOR 29 <<# (trgeometry, tstzspan), + OPERATOR 29 <<# (trgeometry, stbox), + OPERATOR 29 <<# (trgeometry, trgeometry), + -- strictly after + OPERATOR 30 #>> (trgeometry, tstzspan), + OPERATOR 30 #>> (trgeometry, stbox), + OPERATOR 30 #>> (trgeometry, trgeometry), + -- overlaps or after + OPERATOR 31 #&> (trgeometry, tstzspan), + OPERATOR 31 #&> (trgeometry, stbox), + OPERATOR 31 #&> (trgeometry, trgeometry), + -- functions + FUNCTION 1 trgeometry_gist_consistent(internal, trgeometry, smallint, oid, internal), + FUNCTION 2 stbox_gist_union(internal, internal), + FUNCTION 3 tspatial_gist_compress(internal), + FUNCTION 5 stbox_gist_penalty(internal, internal, internal), + FUNCTION 6 stbox_gist_picksplit(internal, internal), + FUNCTION 7 stbox_gist_same(stbox, stbox, internal); +-- FUNCTION 8 gist_trgeometry_distance(internal, trgeometry, smallint, oid, internal), + +/******************************************************************************/ + +CREATE OPERATOR CLASS trgeometry_quadtree_ops + DEFAULT FOR TYPE trgeometry USING spgist AS + -- strictly left + OPERATOR 1 << (trgeometry, stbox), + OPERATOR 1 << (trgeometry, trgeometry), + -- overlaps or left + OPERATOR 2 &< (trgeometry, stbox), + OPERATOR 2 &< (trgeometry, trgeometry), + -- overlaps + OPERATOR 3 && (trgeometry, tstzspan), + OPERATOR 3 && (trgeometry, stbox), + OPERATOR 3 && (trgeometry, trgeometry), + -- overlaps or right + OPERATOR 4 &> (trgeometry, stbox), + OPERATOR 4 &> (trgeometry, trgeometry), + -- strictly right + OPERATOR 5 >> (trgeometry, stbox), + OPERATOR 5 >> (trgeometry, trgeometry), + -- same + OPERATOR 6 ~= (trgeometry, tstzspan), + OPERATOR 6 ~= (trgeometry, stbox), + OPERATOR 6 ~= (trgeometry, trgeometry), + -- contains + OPERATOR 7 @> (trgeometry, tstzspan), + OPERATOR 7 @> (trgeometry, stbox), + OPERATOR 7 @> (trgeometry, trgeometry), + -- contained by + OPERATOR 8 <@ (trgeometry, tstzspan), + OPERATOR 8 <@ (trgeometry, stbox), + OPERATOR 8 <@ (trgeometry, trgeometry), + -- overlaps or below + OPERATOR 9 &<| (trgeometry, stbox), + OPERATOR 9 &<| (trgeometry, trgeometry), + -- strictly below + OPERATOR 10 <<| (trgeometry, stbox), + OPERATOR 10 <<| (trgeometry, trgeometry), + -- strictly above + OPERATOR 11 |>> (trgeometry, stbox), + OPERATOR 11 |>> (trgeometry, trgeometry), + -- overlaps or above + OPERATOR 12 |&> (trgeometry, stbox), + OPERATOR 12 |&> (trgeometry, trgeometry), + -- adjacent + OPERATOR 17 -|- (trgeometry, tstzspan), + OPERATOR 17 -|- (trgeometry, stbox), + OPERATOR 17 -|- (trgeometry, trgeometry), + -- nearest approach distance +-- OPERATOR 25 |=| (trgeometry, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (trgeometry, tstzspan), + OPERATOR 28 &<# (trgeometry, stbox), + OPERATOR 28 &<# (trgeometry, trgeometry), + -- strictly before + OPERATOR 29 <<# (trgeometry, tstzspan), + OPERATOR 29 <<# (trgeometry, stbox), + OPERATOR 29 <<# (trgeometry, trgeometry), + -- strictly after + OPERATOR 30 #>> (trgeometry, tstzspan), + OPERATOR 30 #>> (trgeometry, stbox), + OPERATOR 30 #>> (trgeometry, trgeometry), + -- overlaps or after + OPERATOR 31 #&> (trgeometry, tstzspan), + OPERATOR 31 #&> (trgeometry, stbox), + OPERATOR 31 #&> (trgeometry, trgeometry), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_quadtree_choose(internal, internal), + FUNCTION 3 stbox_quadtree_picksplit(internal, internal), + FUNCTION 4 stbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS trgeometry_kdtree_ops + FOR TYPE trgeometry USING spgist AS + -- strictly left + OPERATOR 1 << (trgeometry, stbox), + OPERATOR 1 << (trgeometry, trgeometry), + -- overlaps or left + OPERATOR 2 &< (trgeometry, stbox), + OPERATOR 2 &< (trgeometry, trgeometry), + -- overlaps + OPERATOR 3 && (trgeometry, tstzspan), + OPERATOR 3 && (trgeometry, stbox), + OPERATOR 3 && (trgeometry, trgeometry), + -- overlaps or right + OPERATOR 4 &> (trgeometry, stbox), + OPERATOR 4 &> (trgeometry, trgeometry), + -- strictly right + OPERATOR 5 >> (trgeometry, stbox), + OPERATOR 5 >> (trgeometry, trgeometry), + -- same + OPERATOR 6 ~= (trgeometry, tstzspan), + OPERATOR 6 ~= (trgeometry, stbox), + OPERATOR 6 ~= (trgeometry, trgeometry), + -- contains + OPERATOR 7 @> (trgeometry, tstzspan), + OPERATOR 7 @> (trgeometry, stbox), + OPERATOR 7 @> (trgeometry, trgeometry), + -- contained by + OPERATOR 8 <@ (trgeometry, tstzspan), + OPERATOR 8 <@ (trgeometry, stbox), + OPERATOR 8 <@ (trgeometry, trgeometry), + -- overlaps or below + OPERATOR 9 &<| (trgeometry, stbox), + OPERATOR 9 &<| (trgeometry, trgeometry), + -- strictly below + OPERATOR 10 <<| (trgeometry, stbox), + OPERATOR 10 <<| (trgeometry, trgeometry), + -- strictly above + OPERATOR 11 |>> (trgeometry, stbox), + OPERATOR 11 |>> (trgeometry, trgeometry), + -- overlaps or above + OPERATOR 12 |&> (trgeometry, stbox), + OPERATOR 12 |&> (trgeometry, trgeometry), + -- adjacent + OPERATOR 17 -|- (trgeometry, tstzspan), + OPERATOR 17 -|- (trgeometry, stbox), + OPERATOR 17 -|- (trgeometry, trgeometry), + -- nearest approach distance +-- OPERATOR 25 |=| (trgeometry, stbox) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (trgeometry, tstzspan), + OPERATOR 28 &<# (trgeometry, stbox), + OPERATOR 28 &<# (trgeometry, trgeometry), + -- strictly before + OPERATOR 29 <<# (trgeometry, tstzspan), + OPERATOR 29 <<# (trgeometry, stbox), + OPERATOR 29 <<# (trgeometry, trgeometry), + -- strictly after + OPERATOR 30 #>> (trgeometry, tstzspan), + OPERATOR 30 #>> (trgeometry, stbox), + OPERATOR 30 #>> (trgeometry, trgeometry), + -- overlaps or after + OPERATOR 31 #&> (trgeometry, tstzspan), + OPERATOR 31 #&> (trgeometry, stbox), + OPERATOR 31 #&> (trgeometry, trgeometry), + -- functions + FUNCTION 1 stbox_spgist_config(internal, internal), + FUNCTION 2 stbox_kdtree_choose(internal, internal), + FUNCTION 3 stbox_kdtree_picksplit(internal, internal), + FUNCTION 4 stbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 stbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tspatial_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/CMakeLists.txt new file mode 100644 index 000000000..cf0fa1904 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/rgeo/CMakeLists.txt @@ -0,0 +1,20 @@ +# No Postgres version dependant files + +SET(LOCAL_FILES + 122_trgeo + 124_trgeo_compops + 125_trgeo_spatialfuncs + 128_trgeo_topops + 129_trgeo_posops + 133_trgeo_distance + 133_trgeo_vclip + 134_trgeo_indexes + ) + +foreach (f ${LOCAL_FILES}) + process_file(${f} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/${f}.sql.in ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql @ONLY) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql) +endforeach() + +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/001_set.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/001_set.in.sql new file mode 100644 index 000000000..90a96d3b8 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/001_set.in.sql @@ -0,0 +1,1446 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for sets of values + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE intset; +CREATE TYPE bigintset; +CREATE TYPE floatset; +CREATE TYPE textset; +CREATE TYPE dateset; +CREATE TYPE tstzset; + +CREATE FUNCTION intset_in(cstring) + RETURNS intset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intset_out(intset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intset_recv(internal) + RETURNS intset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intset_send(intset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION bigintset_in(cstring) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintset_out(bigintset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintset_recv(internal) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintset_send(bigintset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION floatset_in(cstring) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatset_out(floatset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatset_recv(internal) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatset_send(floatset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION textset_in(cstring) + RETURNS textset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION textset_out(textset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION textset_recv(internal) + RETURNS textset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION textset_send(textset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dateset_in(cstring) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dateset_out(dateset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dateset_recv(internal) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dateset_send(dateset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tstzset_in(cstring) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Set_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzset_out(tstzset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Set_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzset_recv(internal) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Set_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzset_send(tstzset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_analyze(internal) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_analyze' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE intset ( + internallength = variable, + input = intset_in, + output = intset_out, + receive = intset_recv, + send = intset_send, + alignment = double, + storage = extended, + analyze = span_analyze +); + +CREATE TYPE bigintset ( + internallength = variable, + input = bigintset_in, + output = bigintset_out, + receive = bigintset_recv, + send = bigintset_send, + alignment = double, + storage = extended, + analyze = span_analyze +); + +CREATE TYPE floatset ( + internallength = variable, + input = floatset_in, + output = floatset_out, + receive = floatset_recv, + send = floatset_send, + alignment = double, + storage = extended, + analyze = span_analyze +); + +CREATE TYPE textset ( + internallength = variable, + input = textset_in, + output = textset_out, + receive = textset_recv, + send = textset_send, + alignment = double, + storage = extended +); + +CREATE TYPE dateset ( + internallength = variable, + input = dateset_in, + output = dateset_out, + receive = dateset_recv, + send = dateset_send, + alignment = double, + storage = extended +); + +CREATE TYPE tstzset ( + internallength = variable, + input = tstzset_in, + output = tstzset_out, + receive = tstzset_recv, + send = tstzset_send, + alignment = double, + storage = extended, + analyze = span_analyze +); + +/******************************************************************************/ + +-- Input/output in WKT, WKB, and HexWKB representation + +CREATE FUNCTION intsetFromBinary(bytea) + RETURNS intset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintsetFromBinary(bytea) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatsetFromBinary(bytea) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION textsetFromBinary(bytea) + RETURNS textset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datesetFromBinary(bytea) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzsetFromBinary(bytea) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Set_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intsetFromHexWKB(text) + RETURNS intset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintsetFromHexWKB(text) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatsetFromHexWKB(text) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION textsetFromHexWKB(text) + RETURNS textset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datesetFromHexWKB(text) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzsetFromHexWKB(text) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Set_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(intset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(bigintset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(floatset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(textset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(dateset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tstzset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(intset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(bigintset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(floatset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(textset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(dateset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tstzset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Set_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(intset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(bigintset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(floatset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(textset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(dateset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(tstzset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Set_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructor functions + ******************************************************************************/ + +CREATE FUNCTION set(integer[]) + RETURNS intset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(bigint[]) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(float[]) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(text[]) + RETURNS textset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(date[]) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(timestamptz[]) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Set_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION set(integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(text) + RETURNS textset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(date) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set(timestamptz) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Value_to_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (integer AS intset) WITH FUNCTION set(integer); +CREATE CAST (bigint AS bigintset) WITH FUNCTION set(bigint); +CREATE CAST (float AS floatset) WITH FUNCTION set(float); +CREATE CAST (text AS textset) WITH FUNCTION set(text); +CREATE CAST (date AS dateset) WITH FUNCTION set(date); +CREATE CAST (timestamptz AS tstzset) WITH FUNCTION set(timestamptz); + +CREATE FUNCTION floatset(intset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Intset_to_floatset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intset(floatset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Floatset_to_intset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intset AS floatset) WITH FUNCTION floatset(intset); +CREATE CAST (floatset AS intset) WITH FUNCTION intset(floatset); + +CREATE FUNCTION tstzset(dateset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Dateset_to_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dateset(tstzset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Tstzset_to_dateset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (dateset AS tstzset) WITH FUNCTION tstzset(dateset); +CREATE CAST (tstzset AS dateset) WITH FUNCTION dateset(tstzset); + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION memSize(intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(bigintset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(floatset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(textset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(dateset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(tstzset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numValues(intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numValues(bigintset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numValues(floatset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numValues(textset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numValues(dateset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numValues(tstzset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_num_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(bigintset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(floatset) + RETURNS float + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(textset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(dateset) + RETURNS date + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(tstzset) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Set_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(bigintset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(floatset) + RETURNS float + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(textset) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(dateset) + RETURNS date + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(tstzset) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Set_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(intset, integer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(bigintset, integer) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(floatset, integer) + RETURNS float + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(textset, integer) + RETURNS text + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(dateset, integer) + RETURNS date + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(tstzset, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Set_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/* Values is a reserved word in SQL */ +CREATE FUNCTION getValues(intset) + RETURNS integer[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(bigintset) + RETURNS bigint[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(floatset) + RETURNS float[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(textset) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(dateset) + RETURNS date[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(tstzset) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Set_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION shift(intset, integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Numset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(bigintset, bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Numset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(floatset, float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Numset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(dateset, integer) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Numset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(tstzset, interval) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Tstzset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scale(intset, integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Numset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(bigintset, bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Numset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(floatset, float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Numset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(dateset, integer) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Numset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(tstzset, interval) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Tstzset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScale(intset, integer, integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Numset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(bigintset, bigint, bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Numset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(floatset, float, float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Numset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(dateset, integer, integer) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Numset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(tstzset, interval, interval) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Tstzset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION floor(floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Floatset_floor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ceil(floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Floatset_ceil' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(floatset, integer DEFAULT 0) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION degrees(floatset, bool DEFAULT FALSE) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Floatset_degrees' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION radians(floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Floatset_radians' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lower(textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Textset_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Textset_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION initcap(textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Textset_initcap' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transform a set to a set of values + ******************************************************************************/ + +CREATE FUNCTION unnest(intset) + RETURNS SETOF integer + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(bigintset) + RETURNS SETOF bigint + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(floatset) + RETURNS SETOF float + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(textset) + RETURNS SETOF text + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(dateset) + RETURNS SETOF date + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(tstzset) + RETURNS SETOF timestamptz + AS 'MODULE_PATHNAME', 'Set_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Temporal text concatenation + *****************************************************************************/ + +CREATE FUNCTION textset_cat(text, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Textcat_text_textset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION textset_cat(textset, text) + RETURNS textset + AS 'MODULE_PATHNAME', 'Textcat_textset_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR || ( + PROCEDURE = textset_cat, + LEFTARG = text, RIGHTARG = textset +); +CREATE OPERATOR || ( + PROCEDURE = textset_cat, + LEFTARG = textset, RIGHTARG = text +); + +/****************************************************************************** + * Aggregate functions + ******************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION set_union_transfn(internal, integer) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, bigint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, float) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, text) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, date) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, timestamptz) + RETURNS internal + AS 'MODULE_PATHNAME', 'Value_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not STRICT +CREATE FUNCTION set_union_transfn(internal, intset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, bigintset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, floatset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, textset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, dateset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_union_transfn(internal, tstzset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION intset_union_finalfn(internal) + RETURNS intset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION bigintset_union_finalfn(internal) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION floatset_union_finalfn(internal) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION dateset_union_finalfn(internal) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tstzset_union_finalfn(internal) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION textset_union_finalfn(internal) + RETURNS textset + AS 'MODULE_PATHNAME', 'Set_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE setUnion(integer) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = intset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(bigint) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = bigintset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(float) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = floatset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(text) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = textset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(date) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = dateset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(timestamptz) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = tstzset_union_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE setUnion(intset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = intset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(bigintset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = bigintset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(floatset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = floatset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(textset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = textset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(dateset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = dateset_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE setUnion(tstzset) ( + SFUNC = set_union_transfn, + STYPE = internal, + FINALFUNC = tstzset_union_finalfn, + PARALLEL = safe +); + +/***************************************************************************** + * Selectivity functions + *****************************************************************************/ + +CREATE FUNCTION span_sel(internal, oid, internal, integer) + RETURNS float + AS 'MODULE_PATHNAME', 'Span_sel' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_joinsel(internal, oid, internal, smallint, internal) + RETURNS float + AS 'MODULE_PATHNAME', 'Span_joinsel' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Comparison functions for defining B-tree indexes + ******************************************************************************/ + +CREATE FUNCTION set_eq(intset, intset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_eq(bigintset, bigintset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_eq(floatset, floatset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_eq(textset, textset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_eq(dateset, dateset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_eq(tstzset, tstzset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_ne(intset, intset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(bigintset, bigintset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(floatset, floatset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(textset, textset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(dateset, dateset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ne(tstzset, tstzset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_lt(intset, intset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(bigintset, bigintset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(floatset, floatset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(textset, textset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(dateset, dateset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_lt(tstzset, tstzset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_le(intset, intset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(bigintset, bigintset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(floatset, floatset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(textset, textset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(dateset, dateset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_le(tstzset, tstzset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_ge(intset, intset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(bigintset, bigintset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(floatset, floatset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(textset, textset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(dateset, dateset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_ge(tstzset, tstzset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gt(intset, intset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(bigintset, bigintset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(floatset, floatset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(textset, textset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(dateset, dateset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gt(tstzset, tstzset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Set_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_cmp(intset, intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(bigintset, bigintset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(floatset, floatset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(textset, textset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(dateset, dateset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_cmp(tstzset, tstzset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = intset, RIGHTARG = intset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = bigintset, RIGHTARG = bigintset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = floatset, RIGHTARG = floatset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = textset, RIGHTARG = textset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = dateset, RIGHTARG = dateset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = tstzset, RIGHTARG = tstzset, + PROCEDURE = set_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR <> ( + LEFTARG = intset, RIGHTARG = intset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = bigintset, RIGHTARG = bigintset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = floatset, RIGHTARG = floatset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = textset, RIGHTARG = textset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = dateset, RIGHTARG = dateset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tstzset, RIGHTARG = tstzset, + PROCEDURE = set_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + LEFTARG = intset, RIGHTARG = intset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = bigintset, RIGHTARG = bigintset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = floatset, RIGHTARG = floatset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = textset, RIGHTARG = textset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = dateset, RIGHTARG = dateset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = tstzset, RIGHTARG = tstzset, + PROCEDURE = set_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR <= ( + LEFTARG = intset, RIGHTARG = intset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = bigintset, RIGHTARG = bigintset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = floatset, RIGHTARG = floatset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = textset, RIGHTARG = textset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = dateset, RIGHTARG = dateset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tstzset, RIGHTARG = tstzset, + PROCEDURE = set_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR >= ( + LEFTARG = intset, RIGHTARG = intset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = bigintset, RIGHTARG = bigintset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = floatset, RIGHTARG = floatset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = textset, RIGHTARG = textset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = dateset, RIGHTARG = dateset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = tstzset, RIGHTARG = tstzset, + PROCEDURE = set_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR > ( + LEFTARG = intset, RIGHTARG = intset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = bigintset, RIGHTARG = bigintset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = floatset, RIGHTARG = floatset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = textset, RIGHTARG = textset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = dateset, RIGHTARG = dateset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tstzset, RIGHTARG = tstzset, + PROCEDURE = set_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR CLASS intset_btree_ops + DEFAULT FOR TYPE intset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(intset, intset); +CREATE OPERATOR CLASS bigintset_btree_ops + DEFAULT FOR TYPE bigintset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(bigintset, bigintset); +CREATE OPERATOR CLASS floatset_btree_ops + DEFAULT FOR TYPE floatset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(floatset, floatset); +CREATE OPERATOR CLASS textset_btree_ops + DEFAULT FOR TYPE textset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(textset, textset); +CREATE OPERATOR CLASS dateset_btree_ops + DEFAULT FOR TYPE dateset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(dateset, dateset); +CREATE OPERATOR CLASS tstzset_btree_ops + DEFAULT FOR TYPE tstzset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 set_cmp(tstzset, tstzset); + +/****************************************************************************** + * Hash functions for defining hash indexes + ******************************************************************************/ + +CREATE FUNCTION set_hash(intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash(bigintset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash(floatset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash(textset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash(dateset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash(tstzset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Set_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_hash_extended(intset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(bigintset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(floatset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(textset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(dateset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_hash_extended(tstzset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Set_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS intset_hash_ops + DEFAULT FOR TYPE intset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(intset), + FUNCTION 2 set_hash_extended(intset, bigint); +CREATE OPERATOR CLASS bigintset_hash_ops + DEFAULT FOR TYPE bigintset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(bigintset), + FUNCTION 2 set_hash_extended(bigintset, bigint); +CREATE OPERATOR CLASS floatset_hash_ops + DEFAULT FOR TYPE floatset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(floatset), + FUNCTION 2 set_hash_extended(floatset, bigint); +CREATE OPERATOR CLASS textset_hash_ops + DEFAULT FOR TYPE textset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(textset), + FUNCTION 2 set_hash_extended(textset, bigint); +CREATE OPERATOR CLASS dateset_hash_ops + DEFAULT FOR TYPE dateset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(dateset), + FUNCTION 2 set_hash_extended(dateset, bigint); +CREATE OPERATOR CLASS tstzset_hash_ops + DEFAULT FOR TYPE tstzset USING hash AS + OPERATOR 1 = , + FUNCTION 1 set_hash(tstzset), + FUNCTION 2 set_hash_extended(tstzset, bigint); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/002_set_ops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/002_set_ops.in.sql new file mode 100644 index 000000000..b449b0c1e --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/002_set_ops.in.sql @@ -0,0 +1,1720 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Operators for set types + */ + +/****************************************************************************** + * Operators + ******************************************************************************/ + +CREATE FUNCTION set_contains(intset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(bigintset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(floatset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(textset, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(dateset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(tstzset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contains(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = intset, RIGHTARG = integer, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = bigintset, RIGHTARG = bigint, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = floatset, RIGHTARG = float, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = textset, RIGHTARG = text, + COMMUTATOR = <@ +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = <@ +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = dateset, RIGHTARG = date, + COMMUTATOR = <@ +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = <@ +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = tstzset, RIGHTARG = timestamptz, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = set_contains, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_contained(integer, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(bigint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(float, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(text, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(date, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(timestamptz, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_contained(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = integer, RIGHTARG = intset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = bigint, RIGHTARG = bigintset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = float, RIGHTARG = floatset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = text, RIGHTARG = textset, + COMMUTATOR = @> +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = @> +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = date, RIGHTARG = dateset, + COMMUTATOR = @> +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = @> +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = timestamptz, RIGHTARG = tstzset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = set_contained, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overlaps(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overlaps(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overlaps(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overlaps(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overlaps(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overlaps(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = && +); +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = && +); +CREATE OPERATOR && ( + PROCEDURE = set_overlaps, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_left(integer, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(intset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(bigint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(bigintset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(float, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(floatset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(text, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(textset, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(date, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(dateset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(timestamptz, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(tstzset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_left(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = integer, RIGHTARG = intset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = intset, RIGHTARG = integer, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = bigint, RIGHTARG = bigintset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = bigintset, RIGHTARG = bigint, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = float, RIGHTARG = floatset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = floatset, RIGHTARG = float, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = text, RIGHTARG = textset, + COMMUTATOR = >> +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = textset, RIGHTARG = text, + COMMUTATOR = >> +); +CREATE OPERATOR << ( + PROCEDURE = set_left, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = >> +); +CREATE OPERATOR <<# ( + PROCEDURE = set_left, + LEFTARG = date, RIGHTARG = dateset, + COMMUTATOR = #>> +); +CREATE OPERATOR <<# ( + PROCEDURE = set_left, + LEFTARG = dateset, RIGHTARG = date, + COMMUTATOR = #>> +); +CREATE OPERATOR <<# ( + PROCEDURE = set_left, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = #>> +); +CREATE OPERATOR <<# ( + PROCEDURE = set_left, + LEFTARG = timestamptz, RIGHTARG = tstzset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = set_left, + LEFTARG = tstzset, RIGHTARG = timestamptz, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = set_left, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_right(integer, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(intset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(bigint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(bigintset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(float, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(floatset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(text, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(textset, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(date, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(dateset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(timestamptz, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(tstzset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_right(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = integer, RIGHTARG = intset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = intset, RIGHTARG = integer, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = bigint, RIGHTARG = bigintset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = bigintset, RIGHTARG = bigint, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = float, RIGHTARG = floatset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = floatset, RIGHTARG = float, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = text, RIGHTARG = textset, + COMMUTATOR = << +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = textset, RIGHTARG = text, + COMMUTATOR = << +); +CREATE OPERATOR >> ( + PROCEDURE = set_right, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = << +); +CREATE OPERATOR #>> ( + PROCEDURE = set_right, + LEFTARG = date, RIGHTARG = dateset, + COMMUTATOR = <<# +); +CREATE OPERATOR #>> ( + PROCEDURE = set_right, + LEFTARG = dateset, RIGHTARG = date, + COMMUTATOR = <<# +); +CREATE OPERATOR #>> ( + PROCEDURE = set_right, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = <<# +); +CREATE OPERATOR #>> ( + PROCEDURE = set_right, + LEFTARG = timestamptz, RIGHTARG = tstzset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = set_right, + LEFTARG = tstzset, RIGHTARG = timestamptz, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = set_right, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overleft(integer, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(intset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(bigint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(bigintset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(float, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(floatset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(text, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(textset, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(date, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(dateset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(timestamptz, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(tstzset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overleft(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = integer, RIGHTARG = intset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = intset, RIGHTARG = integer, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = intset, RIGHTARG = intset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = bigint, RIGHTARG = bigintset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = bigintset, RIGHTARG = bigint, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = bigintset, RIGHTARG = bigintset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = float, RIGHTARG = floatset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = floatset, RIGHTARG = float, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = floatset, RIGHTARG = floatset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = text, RIGHTARG = textset +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = textset, RIGHTARG = text +); +CREATE OPERATOR &< ( + PROCEDURE = set_overleft, + LEFTARG = textset, RIGHTARG = textset +); +CREATE OPERATOR &<# ( + PROCEDURE = set_overleft, + LEFTARG = date, RIGHTARG = dateset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = set_overleft, + LEFTARG = dateset, RIGHTARG = date, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = set_overleft, + LEFTARG = dateset, RIGHTARG = dateset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = set_overleft, + LEFTARG = timestamptz, RIGHTARG = tstzset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = set_overleft, + LEFTARG = tstzset, RIGHTARG = timestamptz, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = set_overleft, + LEFTARG = tstzset, RIGHTARG = tstzset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION set_overright(integer, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(intset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(intset, intset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(bigint, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(bigintset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(bigintset, bigintset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(float, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(floatset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(floatset, floatset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(text, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(textset, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(textset, textset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(date, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(dateset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(dateset, dateset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(timestamptz, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(tstzset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_overright(tstzset, tstzset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = integer, RIGHTARG = intset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = intset, RIGHTARG = integer, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = intset, RIGHTARG = intset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = bigint, RIGHTARG = bigintset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = bigintset, RIGHTARG = bigint, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = bigintset, RIGHTARG = bigintset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = float, RIGHTARG = floatset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = floatset, RIGHTARG = float, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = floatset, RIGHTARG = floatset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = text, RIGHTARG = textset +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = textset, RIGHTARG = text +); +CREATE OPERATOR &> ( + PROCEDURE = set_overright, + LEFTARG = textset, RIGHTARG = textset +); +CREATE OPERATOR #&> ( + PROCEDURE = set_overright, + LEFTARG = date, RIGHTARG = dateset +); +CREATE OPERATOR #&> ( + PROCEDURE = set_overright, + LEFTARG = dateset, RIGHTARG = date +); +CREATE OPERATOR #&> ( + PROCEDURE = set_overright, + LEFTARG = dateset, RIGHTARG = dateset +); +CREATE OPERATOR #&> ( + PROCEDURE = set_overright, + LEFTARG = timestamptz, RIGHTARG = tstzset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = set_overright, + LEFTARG = tstzset, RIGHTARG = timestamptz, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = set_overright, + LEFTARG = tstzset, RIGHTARG = tstzset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION set_union(integer, intset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(intset, integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(intset, intset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_union(bigint, bigintset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(bigintset, bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(bigintset, bigintset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_union(float, floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(floatset, float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(floatset, floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_union(text, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(textset, text) + RETURNS textset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(textset, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_union(date, dateset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(dateset, date) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(dateset, dateset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_union(timestamptz, tstzset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Union_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(tstzset, timestamptz) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Union_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_union(tstzset, tstzset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Union_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = integer, RIGHTARG = intset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = intset, RIGHTARG = integer, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = + +); + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = bigint, RIGHTARG = bigintset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = bigintset, RIGHTARG = bigint, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = + +); + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = float, RIGHTARG = floatset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = floatset, RIGHTARG = float, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = + +); + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = text, RIGHTARG = textset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = textset, RIGHTARG = text, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = + +); + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = date, RIGHTARG = dateset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = dateset, RIGHTARG = date, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = + +); + +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = timestamptz, RIGHTARG = tstzset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = tstzset, RIGHTARG = timestamptz, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = set_union, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = + +); + +/*****************************************************************************/ + +CREATE FUNCTION set_minus(integer, intset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(intset, integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(intset, intset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_minus(bigint, bigintset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(bigintset, bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(bigintset, bigintset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_minus(float, floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(floatset, float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(floatset, floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_minus(text, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(textset, text) + RETURNS textset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(textset, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_minus(date, dateset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(dateset, date) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(dateset, dateset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_minus(timestamptz, tstzset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Minus_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(tstzset, timestamptz) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Minus_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_minus(tstzset, tstzset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Minus_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = integer, RIGHTARG = intset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = intset, RIGHTARG = integer +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = intset, RIGHTARG = intset +); + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = bigint, RIGHTARG = bigintset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = bigintset, RIGHTARG = bigint +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = bigintset, RIGHTARG = bigintset +); + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = float, RIGHTARG = floatset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = floatset, RIGHTARG = float +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = floatset, RIGHTARG = floatset +); + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = text, RIGHTARG = textset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = textset, RIGHTARG = text +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = textset, RIGHTARG = textset +); + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = date, RIGHTARG = dateset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = dateset, RIGHTARG = date +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = dateset, RIGHTARG = dateset +); + +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = timestamptz, RIGHTARG = tstzset +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = tstzset, RIGHTARG = timestamptz +); +CREATE OPERATOR - ( + PROCEDURE = set_minus, + LEFTARG = tstzset, RIGHTARG = tstzset +); + +/*****************************************************************************/ + +CREATE FUNCTION set_intersection(integer, intset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(intset, integer) + RETURNS intset + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(intset, intset) + RETURNS intset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_intersection(bigint, bigintset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(bigintset, bigint) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(bigintset, bigintset) + RETURNS bigintset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_intersection(float, floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(floatset, float) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(floatset, floatset) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_intersection(text, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(textset, text) + RETURNS textset + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(textset, textset) + RETURNS textset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_intersection(date, dateset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(dateset, date) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(dateset, dateset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_intersection(timestamptz, tstzset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Intersection_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(tstzset, timestamptz) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Intersection_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_intersection(tstzset, tstzset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Intersection_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = integer, RIGHTARG = intset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = intset, RIGHTARG = integer, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = * +); + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = bigint, RIGHTARG = bigintset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = bigintset, RIGHTARG = bigint, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = * +); + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = float, RIGHTARG = floatset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = floatset, RIGHTARG = float, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = * +); + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = text, RIGHTARG = textset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = textset, RIGHTARG = text, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = textset, RIGHTARG = textset, + COMMUTATOR = * +); + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = date, RIGHTARG = dateset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = dateset, RIGHTARG = date, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = * +); + +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = timestamptz, RIGHTARG = tstzset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = tstzset, RIGHTARG = timestamptz, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = set_intersection, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = * +); + +/*****************************************************************************/ + +CREATE FUNCTION set_distance(integer, integer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(integer, intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(intset, integer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(intset, intset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_distance(bigint, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_value_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(bigint, bigintset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(bigintset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(bigintset, bigintset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_distance(float, float) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(float, floatset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(floatset, float) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(floatset, floatset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_distance(date, date) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(date, dateset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(dateset, date) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(dateset, dateset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_distance(timestamptz, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(timestamptz, tstzset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(tstzset, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_distance(tstzset, tstzset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_set_set' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = integer, RIGHTARG = integer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = integer, RIGHTARG = intset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = intset, RIGHTARG = integer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = intset, RIGHTARG = intset, + COMMUTATOR = <-> +); + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = bigint, RIGHTARG = bigint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = bigint, RIGHTARG = bigintset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = bigintset, RIGHTARG = bigint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = bigintset, RIGHTARG = bigintset, + COMMUTATOR = <-> +); + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = float, RIGHTARG = float, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = float, RIGHTARG = floatset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = floatset, RIGHTARG = float, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = floatset, RIGHTARG = floatset, + COMMUTATOR = <-> +); + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = date, RIGHTARG = date, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = date, RIGHTARG = dateset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = dateset, RIGHTARG = date, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = dateset, RIGHTARG = dateset, + COMMUTATOR = <-> +); + +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = timestamptz, RIGHTARG = timestamptz, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = timestamptz, RIGHTARG = tstzset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = tstzset, RIGHTARG = timestamptz, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = set_distance, + LEFTARG = tstzset, RIGHTARG = tstzset, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/003_span.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/003_span.in.sql new file mode 100644 index 000000000..933888339 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/003_span.in.sql @@ -0,0 +1,1233 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief SQL definitions for spans of values, which are fixed-size version of + * PostgreSQL ranges + */ + +CREATE TYPE intspan; +CREATE TYPE bigintspan; +CREATE TYPE floatspan; +CREATE TYPE datespan; +CREATE TYPE tstzspan; + +/* Forward reference of the types needed for the result of set operations */ +CREATE TYPE intspanset; +CREATE TYPE bigintspanset; +CREATE TYPE floatspanset; +CREATE TYPE datespanset; +CREATE TYPE tstzspanset; + +CREATE FUNCTION intspan_in(cstring) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intspan_out(intspan) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Span_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intspan_recv(internal) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION intspan_send(intspan) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION bigintspan_in(cstring) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspan_out(bigintspan) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Span_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspan_recv(internal) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspan_send(bigintspan) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION floatspan_in(cstring) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspan_out(floatspan) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Span_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspan_recv(internal) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspan_send(floatspan) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION datespan_in(cstring) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespan_out(datespan) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Span_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespan_recv(internal) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespan_send(datespan) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tstzspan_in(cstring) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspan_out(tstzspan) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Span_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspan_recv(internal) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspan_send(tstzspan) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/* The span_analyze function is defined in file 001_set.in.sql */ + +CREATE TYPE intspan ( + internallength = 24, + input = intspan_in, + output = intspan_out, + receive = intspan_recv, + send = intspan_send, + alignment = double, + analyze = span_analyze +); + +CREATE TYPE bigintspan ( + internallength = 24, + input = bigintspan_in, + output = bigintspan_out, + receive = bigintspan_recv, + send = bigintspan_send, + alignment = double, + analyze = span_analyze +); + +CREATE TYPE floatspan ( + internallength = 24, + input = floatspan_in, + output = floatspan_out, + receive = floatspan_recv, + send = floatspan_send, + alignment = double, + analyze = span_analyze +); + +CREATE TYPE datespan ( + internallength = 24, + input = datespan_in, + output = datespan_out, + receive = datespan_recv, + send = datespan_send, + alignment = double, + analyze = span_analyze +); + +CREATE TYPE tstzspan ( + internallength = 24, + input = tstzspan_in, + output = tstzspan_out, + receive = tstzspan_recv, + send = tstzspan_send, + alignment = double, + analyze = span_analyze +); + +/******************************************************************************/ + +-- Input/output in WKT, WKB and HexWKB representation + +CREATE FUNCTION intspanFromBinary(bytea) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspanFromBinary(bytea) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanFromBinary(bytea) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanFromBinary(bytea) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespanFromBinary(bytea) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intspanFromHexWKB(text) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspanFromHexWKB(text) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanFromHexWKB(text) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanFromHexWKB(text) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespanFromHexWKB(text) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(intspan) + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(bigintspan) + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(floatspan, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(datespan) + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tstzspan) + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(intspan, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(bigintspan, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(floatspan, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(datespan, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tstzspan, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Span_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(intspan, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(bigintspan, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(floatspan, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(datespan, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(tstzspan, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Span_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructor functions + ******************************************************************************/ + +CREATE FUNCTION span(integer, integer, boolean DEFAULT true, boolean DEFAULT false) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(bigint, bigint, boolean DEFAULT true, boolean DEFAULT false) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(float, float, boolean DEFAULT true, boolean DEFAULT false) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(date, date, boolean DEFAULT true, boolean DEFAULT false) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(timestamptz, timestamptz, boolean DEFAULT true, boolean DEFAULT false) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION span(integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Value_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Value_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Value_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(date) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Value_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(timestamptz) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Value_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (integer AS intspan) WITH FUNCTION span(integer); +CREATE CAST (bigint AS bigintspan) WITH FUNCTION span(bigint); +CREATE CAST (float AS floatspan) WITH FUNCTION span(float); +CREATE CAST (date AS datespan) WITH FUNCTION span(date); +CREATE CAST (timestamptz AS tstzspan) WITH FUNCTION span(timestamptz); + +CREATE FUNCTION span(intset) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Set_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(bigintset) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Set_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(floatset) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Set_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(dateset) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Set_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(tstzset) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Set_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intset AS intspan) WITH FUNCTION span(intset); +CREATE CAST (bigintset AS bigintspan) WITH FUNCTION span(bigintset); +CREATE CAST (floatset AS floatspan) WITH FUNCTION span(floatset); +CREATE CAST (dateset AS datespan) WITH FUNCTION span(dateset); +CREATE CAST (tstzset AS tstzspan) WITH FUNCTION span(tstzset); + +CREATE FUNCTION spans(intset) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Set_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(bigintset) + RETURNS bigintspan[] + AS 'MODULE_PATHNAME', 'Set_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(floatset) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Set_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(dateset) + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Set_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(tstzset) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Set_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNSpans(intset, integer) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Set_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(bigintset, integer) + RETURNS bigintspan[] + AS 'MODULE_PATHNAME', 'Set_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(floatset, integer) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Set_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(dateset, integer) + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Set_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(tstzset, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Set_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNSpans(intset, integer) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Set_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(bigintset, integer) + RETURNS bigintspan[] + AS 'MODULE_PATHNAME', 'Set_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(floatset, integer) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Set_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(dateset, integer) + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Set_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(tstzset, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Set_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intspan(floatspan) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Floatspan_to_intspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspan(intspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Intspan_to_floatspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intspan AS floatspan) WITH FUNCTION floatspan(intspan); +CREATE CAST (floatspan AS intspan) WITH FUNCTION intspan(floatspan); + +CREATE FUNCTION datespan(tstzspan) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Tstzspan_to_datespan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspan(datespan) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Datespan_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (datespan AS tstzspan) WITH FUNCTION tstzspan(datespan); +CREATE CAST (tstzspan AS datespan) WITH FUNCTION datespan(tstzspan); + +CREATE FUNCTION span(int4range) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Range_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(int8range) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Range_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(daterange) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Range_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(tstzrange) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Range_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION range(intspan) + RETURNS int4range + AS 'MODULE_PATHNAME', 'Span_to_range' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION range(bigintspan) + RETURNS int8range + AS 'MODULE_PATHNAME', 'Span_to_range' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION range(datespan) + RETURNS daterange + AS 'MODULE_PATHNAME', 'Span_to_range' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION range(tstzspan) + RETURNS tstzrange + AS 'MODULE_PATHNAME', 'Span_to_range' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (int4range AS intspan) WITH FUNCTION span(int4range); +CREATE CAST (int8range AS bigintspan) WITH FUNCTION span(int8range); +CREATE CAST (daterange AS datespan) WITH FUNCTION span(daterange); +CREATE CAST (tstzrange AS tstzspan) WITH FUNCTION span(tstzrange); +CREATE CAST (intspan AS int4range) WITH FUNCTION range(intspan); +CREATE CAST (bigintspan AS int8range) WITH FUNCTION range(bigintspan); +CREATE CAST (datespan AS daterange) WITH FUNCTION range(datespan); +CREATE CAST (tstzspan AS tstzrange) WITH FUNCTION range(tstzspan); + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION lower(intspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(bigintspan) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(floatspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Span_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(datespan) + RETURNS date + AS 'MODULE_PATHNAME', 'Span_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(tstzspan) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Span_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upper(intspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(bigintspan) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(floatspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Span_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(datespan) + RETURNS date + AS 'MODULE_PATHNAME', 'Span_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(tstzspan) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Span_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION width(intspan) + RETURNS int + AS 'MODULE_PATHNAME', 'Numspan_width' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION width(bigintspan) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Numspan_width' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION width(floatspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Numspan_width' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(datespan) + RETURNS interval + AS 'MODULE_PATHNAME', 'Datespan_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(tstzspan) + RETURNS interval + AS 'MODULE_PATHNAME', 'Tstzspan_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION expand(intspan, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Numspan_expand' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expand(bigintspan, bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Numspan_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expand(floatspan, float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Numspan_expand' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expand(datespan, integer) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Numspan_expand' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expand(tstzspan, interval) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Tstzspan_expand' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shift(timestamptz, interval) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Timestamptz_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shift(intspan, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Numspan_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(bigintspan, bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Numspan_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(floatspan, float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Numspan_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(datespan, integer) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Numspan_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(tstzspan, interval) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Tstzspan_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scale(intspan, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Numspan_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(bigintspan, bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Numspan_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(floatspan, float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Numspan_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(datespan, integer) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Numspan_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(tstzspan, interval) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Tstzspan_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScale(intspan, integer, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Numspan_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(bigintspan, bigint, bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Numspan_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(floatspan, float, float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Numspan_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(datespan, integer, integer) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Numspan_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(tstzspan, interval, interval) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Tstzspan_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION floor(floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Floatspan_floor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ceil(floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Floatspan_ceil' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(float, integer DEFAULT 0) + RETURNS float + AS 'MODULE_PATHNAME', 'Float_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(floatspan, integer DEFAULT 0) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Floatspan_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION degrees(floatspan, bool DEFAULT FALSE) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Floatspan_degrees' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION radians(floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Floatspan_radians' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Selectivity functions + *****************************************************************************/ + +-- Functions span_sel and span_joinsel are defined in the file defining the +-- set type + +-- Functions for debugging the selectivity code + +-- Given a table, column, and span returns the estimate of what proportion +-- of the table would be returned by a query using the given operator. +CREATE FUNCTION _mobdb_span_sel(tbl regclass, col text, oper regoper, + i intspan) + RETURNS float + AS 'MODULE_PATHNAME' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION _mobdb_span_sel(tbl regclass, col text, oper regoper, + b bigintspan) + RETURNS float + AS 'MODULE_PATHNAME' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION _mobdb_span_sel(tbl regclass, col text, oper regoper, + f floatspan) + RETURNS float + AS 'MODULE_PATHNAME' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION _mobdb_span_sel(tbl regclass, col text, oper regoper, + p datespan) + RETURNS float + AS 'MODULE_PATHNAME' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION _mobdb_span_sel(tbl regclass, col text, oper regoper, + p tstzspan) + RETURNS float + AS 'MODULE_PATHNAME' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- Given two tables and columns, returns estimate of the proportion of rows a +-- given join operator will return relative to the number of rows an +-- unconstrained table join would return +CREATE OR REPLACE FUNCTION _mobdb_span_joinsel(tbl1 regclass, col1 text, + tbl2 regclass, col2 text, oper regoper) + RETURNS float + AS 'MODULE_PATHNAME' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Comparison operators + ******************************************************************************/ + +CREATE FUNCTION span_eq(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_eq(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_eq(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_eq(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_eq(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_ne(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ne(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ne(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ne(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ne(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_lt(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_lt(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_lt(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_lt(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_lt(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_le(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_le(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_le(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_le(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_le(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_ge(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ge(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ge(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ge(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_ge(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_gt(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gt(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gt(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gt(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gt(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Span_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_cmp(intspan, intspan) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Span_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_cmp(bigintspan, bigintspan) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Span_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_cmp(floatspan, floatspan) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Span_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_cmp(datespan, datespan) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Span_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_cmp(tstzspan, tstzspan) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Span_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + PROCEDURE = span_eq, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + PROCEDURE = span_eq, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + PROCEDURE = span_eq, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + PROCEDURE = span_eq, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + PROCEDURE = span_eq, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR <> ( + PROCEDURE = span_ne, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = span_ne, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = span_ne, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = span_ne, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + PROCEDURE = span_ne, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + PROCEDURE = span_lt, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + PROCEDURE = span_lt, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + PROCEDURE = span_lt, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + PROCEDURE = span_lt, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + PROCEDURE = span_lt, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR <= ( + PROCEDURE = span_le, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + PROCEDURE = span_le, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + PROCEDURE = span_le, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + PROCEDURE = span_le, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + PROCEDURE = span_le, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR >= ( + PROCEDURE = span_ge, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + PROCEDURE = span_ge, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + PROCEDURE = span_ge, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + PROCEDURE = span_ge, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + PROCEDURE = span_ge, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR > ( + PROCEDURE = span_gt, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + PROCEDURE = span_gt, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + PROCEDURE = span_gt, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + PROCEDURE = span_gt, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + PROCEDURE = span_gt, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR CLASS intspan_btree_ops + DEFAULT FOR TYPE intspan USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 span_cmp(intspan, intspan); +CREATE OPERATOR CLASS bigintspan_btree_ops + DEFAULT FOR TYPE bigintspan USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 span_cmp(bigintspan, bigintspan); +CREATE OPERATOR CLASS floatspan_btree_ops + DEFAULT FOR TYPE floatspan USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 span_cmp(floatspan, floatspan); +CREATE OPERATOR CLASS datespan_btree_ops + DEFAULT FOR TYPE datespan USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 span_cmp(datespan, datespan); +CREATE OPERATOR CLASS tstzspan_btree_ops + DEFAULT FOR TYPE tstzspan USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 span_cmp(tstzspan, tstzspan); + +/******************************************************************************/ + +CREATE FUNCTION span_hash(intspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash(bigintspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash(floatspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash(datespan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash(tstzspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Span_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_hash_extended(intspan, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash_extended(bigintspan, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash_extended(floatspan, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash_extended(datespan, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_hash_extended(tstzspan, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Span_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS intspan_hash_ops + DEFAULT FOR TYPE intspan USING hash AS + OPERATOR 1 = , + FUNCTION 1 span_hash(intspan), + FUNCTION 2 span_hash_extended(intspan, bigint); +CREATE OPERATOR CLASS bigintspan_hash_ops + DEFAULT FOR TYPE bigintspan USING hash AS + OPERATOR 1 = , + FUNCTION 1 span_hash(bigintspan), + FUNCTION 2 span_hash_extended(bigintspan, bigint); +CREATE OPERATOR CLASS floatspan_hash_ops + DEFAULT FOR TYPE floatspan USING hash AS + OPERATOR 1 = , + FUNCTION 1 span_hash(floatspan), + FUNCTION 2 span_hash_extended(floatspan, bigint); +CREATE OPERATOR CLASS datespan_hash_ops + DEFAULT FOR TYPE datespan USING hash AS + OPERATOR 1 = , + FUNCTION 1 span_hash(datespan), + FUNCTION 2 span_hash_extended(datespan, bigint); +CREATE OPERATOR CLASS tstzspan_hash_ops + DEFAULT FOR TYPE tstzspan USING hash AS + OPERATOR 1 = , + FUNCTION 1 span_hash(tstzspan), + FUNCTION 2 span_hash_extended(tstzspan, bigint); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/005_span_ops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/005_span_ops.in.sql new file mode 100644 index 000000000..8305567f6 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/005_span_ops.in.sql @@ -0,0 +1,1694 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Operators for span types + */ + +/****************************************************************************** + * Topological operators + ******************************************************************************/ + +CREATE FUNCTION span_contains(intspan, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(bigintspan, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(floatspan, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(datespan, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(tstzspan, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION span_contained(integer, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(bigint, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(float, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(date, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(timestamptz, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION span_overlaps(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION span_adjacent(integer, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(intspan, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(bigint, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(bigintspan, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(float, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(floatspan, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(date, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(datespan, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(timestamptz, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(tstzspan, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/****************************************************************************** + * Position operators + ******************************************************************************/ + +CREATE FUNCTION span_left(integer, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(intspan, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(bigint, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(bigintspan, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(float, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(floatspan, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(date, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(datespan, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(timestamptz, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(tstzspan, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION span_right(integer, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(intspan, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(bigint, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(bigintspan, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(float, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(floatspan, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(date, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(datespan, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(timestamptz, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(tstzspan, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION span_overleft(integer, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(intspan, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = integer, RIGHTARG = intspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = intspan, RIGHTARG = integer, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = intspan, RIGHTARG = intspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(bigint, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(bigintspan, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigint, RIGHTARG = bigintspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigintspan, RIGHTARG = bigint, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(float, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(floatspan, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = float, RIGHTARG = floatspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = floatspan, RIGHTARG = float, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = floatspan, RIGHTARG = floatspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(date, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(datespan, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = date, RIGHTARG = datespan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = datespan, RIGHTARG = date, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = datespan, RIGHTARG = datespan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(timestamptz, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(tstzspan, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/******************************************************************************/ + +CREATE FUNCTION span_overright(integer, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(intspan, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(intspan, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = integer, RIGHTARG = intspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = intspan, RIGHTARG = integer, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = intspan, RIGHTARG = intspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(bigint, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(bigintspan, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(bigintspan, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigint, RIGHTARG = bigintspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigintspan, RIGHTARG = bigint, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(float, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(floatspan, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(floatspan, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = float, RIGHTARG = floatspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = floatspan, RIGHTARG = float, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = floatspan, RIGHTARG = floatspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(date, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(datespan, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(datespan, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = date, RIGHTARG = datespan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = datespan, RIGHTARG = date, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = datespan, RIGHTARG = datespan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(timestamptz, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(tstzspan, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(tstzspan, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/***************************************************************************** + * Set operators + *****************************************************************************/ + +CREATE FUNCTION span_union(integer, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(intspan, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(intspan, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(bigint, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(bigintspan, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(bigintspan, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(float, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(floatspan, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(floatspan, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(date, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(datespan, date) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(datespan, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(timestamptz, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(tstzspan, timestamptz) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(tstzspan, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = + +); + +/******************************************************************************/ + +CREATE FUNCTION span_intersection(integer, intspan) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Intersection_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(intspan, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Intersection_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(intspan, intspan) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Intersection_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(bigint, bigintspan) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Intersection_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(bigintspan, bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Intersection_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(bigintspan, bigintspan) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Intersection_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(float, floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Intersection_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(floatspan, float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Intersection_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(floatspan, floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Intersection_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(date, datespan) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Intersection_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(datespan, date) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Intersection_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(datespan, datespan) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Intersection_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(timestamptz, tstzspan) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Intersection_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(tstzspan, timestamptz) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Intersection_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(tstzspan, tstzspan) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Intersection_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = * +); + +/******************************************************************************/ + +CREATE FUNCTION span_minus(integer, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(intspan, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(intspan, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = - +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = - +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = - +); + +CREATE FUNCTION span_minus(bigint, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(bigintspan, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(bigintspan, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = - +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = - +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = - +); + +CREATE FUNCTION span_minus(float, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(floatspan, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(floatspan, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = - +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = - +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = - +); + +CREATE FUNCTION span_minus(date, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(datespan, date) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(datespan, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = date, RIGHTARG = datespan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = datespan, RIGHTARG = date +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = datespan, RIGHTARG = datespan +); + +CREATE FUNCTION span_minus(timestamptz, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(tstzspan, timestamptz) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(tstzspan, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = timestamptz, RIGHTARG = tstzspan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = tstzspan, RIGHTARG = timestamptz +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = tstzspan, RIGHTARG = tstzspan +); + +/***************************************************************************** + * Distance operators + *****************************************************************************/ + +CREATE FUNCTION span_distance(integer, intspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(intspan, integer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(intspan, intspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = integer, RIGHTARG = intspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = intspan, RIGHTARG = integer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = intspan, RIGHTARG = intspan, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(bigint, bigintspan) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(bigintspan, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(bigintspan, bigintspan) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigint, RIGHTARG = bigintspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigintspan, RIGHTARG = bigint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigintspan, RIGHTARG = bigintspan, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(float, floatspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(floatspan, float) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(floatspan, floatspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = float, RIGHTARG = floatspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = floatspan, RIGHTARG = float, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = floatspan, RIGHTARG = floatspan, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(date, datespan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(datespan, date) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(datespan, datespan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = date, RIGHTARG = datespan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = datespan, RIGHTARG = date, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = datespan, RIGHTARG = datespan, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(timestamptz, tstzspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(tstzspan, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_span_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(tstzspan, tstzspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_span_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = timestamptz, RIGHTARG = tstzspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = tstzspan, RIGHTARG = timestamptz, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = tstzspan, RIGHTARG = tstzspan, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/007_spanset.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/007_spanset.in.sql new file mode 100644 index 000000000..6d472ceb1 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/007_spanset.in.sql @@ -0,0 +1,1364 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for set of spans of values, which are fixed-size versions + * of PostgreSQL multiranges + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION intspanset_in(cstring) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Spanset_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspanset_in(cstring) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Spanset_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanset_in(cstring) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Spanset_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespanset_in(cstring) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Spanset_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanset_in(cstring) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Spanset_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intspanset_out(intspanset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Spanset_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspanset_out(bigintspanset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Spanset_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanset_out(floatspanset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Spanset_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespanset_out(datespanset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Spanset_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanset_out(tstzspanset) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Spanset_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intspanset_recv(internal) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Spanset_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspanset_recv(internal) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Spanset_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanset_recv(internal) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Spanset_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespanset_recv(internal) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Spanset_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanset_recv(internal) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Spanset_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intspanset_send(intspanset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspanset_send(bigintspanset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanset_send(floatspanset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespanset_send(datespanset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanset_send(tstzspanset) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/* The span_analyze function is defined in file 001_set.in.sql */ + +CREATE TYPE intspanset ( + internallength = variable, + input = intspanset_in, + output = intspanset_out, + receive = intspanset_recv, + send = intspanset_send, + alignment = double, +-- The following line makes NULL if size < 128 + storage = extended, + analyze = span_analyze +); +CREATE TYPE bigintspanset ( + internallength = variable, + input = bigintspanset_in, + output = bigintspanset_out, + receive = bigintspanset_recv, + send = bigintspanset_send, + alignment = double, +-- The following line makes NULL if size < 128 + storage = extended, + analyze = span_analyze +); +CREATE TYPE floatspanset ( + internallength = variable, + input = floatspanset_in, + output = floatspanset_out, + receive = floatspanset_recv, + send = floatspanset_send, + alignment = double, +-- The following line makes NULL if size < 128 + storage = extended, + analyze = span_analyze +); +CREATE TYPE datespanset ( + internallength = variable, + input = datespanset_in, + output = datespanset_out, + receive = datespanset_recv, + send = datespanset_send, + alignment = double, + storage = extended, + analyze = span_analyze +); +CREATE TYPE tstzspanset ( + internallength = variable, + input = tstzspanset_in, + output = tstzspanset_out, + receive = tstzspanset_recv, + send = tstzspanset_send, + alignment = double, + storage = extended, + analyze = span_analyze +); + +/******************************************************************************/ + +-- Input/output in WKB and HexWKB representation + +CREATE FUNCTION intspansetFromBinary(bytea) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Spanset_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspansetFromBinary(bytea) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Spanset_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspansetFromBinary(bytea) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Spanset_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespansetFromBinary(bytea) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Spanset_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspansetFromBinary(bytea) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Spanset_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION intspansetFromHexWKB(text) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Spanset_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspansetFromHexWKB(text) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Spanset_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspansetFromHexWKB(text) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Spanset_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespansetFromHexWKB(text) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Spanset_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspansetFromHexWKB(text) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Spanset_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(intspanset) + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(bigintspanset) + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(floatspanset, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(datespanset) + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tstzspanset) + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(intspanset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(bigintspanset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(floatspanset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(datespanset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tstzspanset, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Spanset_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(intspanset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(bigintspanset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(floatspanset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(datespanset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(tstzspanset, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Spanset_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructor functions + ******************************************************************************/ + +CREATE FUNCTION spanset(intspan[]) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Spanset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(bigintspan[]) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Spanset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(floatspan[]) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Spanset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(datespan[]) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Spanset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(tstzspan[]) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Spanset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION spanset(integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Value_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Value_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Value_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(date) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Value_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(timestamptz) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Value_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (integer AS intspanset) WITH FUNCTION spanset(integer); +CREATE CAST (bigint AS bigintspanset) WITH FUNCTION spanset(bigint); +CREATE CAST (float AS floatspanset) WITH FUNCTION spanset(float); +CREATE CAST (date AS datespanset) WITH FUNCTION spanset(date); +CREATE CAST (timestamptz AS tstzspanset) WITH FUNCTION spanset(timestamptz); + +CREATE FUNCTION spanset(intset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Set_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(bigintset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Set_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(floatset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Set_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(dateset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Set_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(tstzset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Set_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intset AS intspanset) WITH FUNCTION spanset(intset); +CREATE CAST (bigintset AS bigintspanset) WITH FUNCTION spanset(bigintset); +CREATE CAST (floatset AS floatspanset) WITH FUNCTION spanset(floatset); +CREATE CAST (dateset AS datespanset) WITH FUNCTION spanset(dateset); +CREATE CAST (tstzset AS tstzspanset) WITH FUNCTION spanset(tstzset); + +CREATE FUNCTION spanset(intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Span_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Span_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Span_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Span_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Span_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intspan AS intspanset) WITH FUNCTION spanset(intspan); +CREATE CAST (bigintspan AS bigintspanset) WITH FUNCTION spanset(bigintspan); +CREATE CAST (floatspan AS floatspanset) WITH FUNCTION spanset(floatspan); +CREATE CAST (datespan AS datespanset) WITH FUNCTION spanset(datespan); +CREATE CAST (tstzspan AS tstzspanset) WITH FUNCTION spanset(tstzspan); + +CREATE FUNCTION span(intspanset) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Spanset_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(bigintspanset) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Spanset_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(floatspanset) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Spanset_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(datespanset) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Spanset_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span(tstzspanset) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Spanset_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intspanset AS intspan) WITH FUNCTION span(intspanset); +CREATE CAST (bigintspanset AS bigintspan) WITH FUNCTION span(bigintspanset); +CREATE CAST (floatspanset AS floatspan) WITH FUNCTION span(floatspanset); +CREATE CAST (datespanset AS datespan) WITH FUNCTION span(datespanset); +CREATE CAST (tstzspanset AS tstzspan) WITH FUNCTION span(tstzspanset); + +CREATE FUNCTION intspanset(floatspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Floatspanset_to_intspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspanset(intspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Intspanset_to_floatspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intspanset AS floatspanset) WITH FUNCTION floatspanset(intspanset); +CREATE CAST (floatspanset AS intspanset) WITH FUNCTION intspanset(floatspanset); + +CREATE FUNCTION datespanset(tstzspanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Tstzspanset_to_datespanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspanset(datespanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Datespanset_to_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (datespanset AS tstzspanset) WITH FUNCTION tstzspanset(datespanset); +CREATE CAST (tstzspanset AS datespanset) WITH FUNCTION datespanset(tstzspanset); + +#if POSTGRESQL_VERSION_NUMBER >= 140000 +CREATE FUNCTION multirange(intspanset) + RETURNS int4multirange + AS 'MODULE_PATHNAME', 'Spanset_to_multirange' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION multirange(bigintspanset) + RETURNS int8multirange + AS 'MODULE_PATHNAME', 'Spanset_to_multirange' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION multirange(datespanset) + RETURNS datemultirange + AS 'MODULE_PATHNAME', 'Spanset_to_multirange' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION multirange(tstzspanset) + RETURNS tstzmultirange + AS 'MODULE_PATHNAME', 'Spanset_to_multirange' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset(int4multirange) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Multirange_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(int8multirange) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Multirange_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(datemultirange) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Multirange_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset(tstzmultirange) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Multirange_to_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (intspanset AS int4multirange) WITH FUNCTION multirange(intspanset); +CREATE CAST (bigintspanset AS int8multirange) WITH FUNCTION multirange(bigintspanset); +CREATE CAST (datespanset AS datemultirange) WITH FUNCTION multirange(datespanset); +CREATE CAST (tstzspanset AS tstzmultirange) WITH FUNCTION multirange(tstzspanset); +CREATE CAST (int4multirange AS intspanset) WITH FUNCTION spanset(int4multirange); +CREATE CAST (int8multirange AS bigintspanset) WITH FUNCTION spanset(int8multirange); +CREATE CAST (datemultirange AS datespanset) WITH FUNCTION spanset(datemultirange); +CREATE CAST (tstzmultirange AS tstzspanset) WITH FUNCTION spanset(tstzmultirange); +#endif //POSTGRESQL_VERSION_NUMBER >= 140000 + +/****************************************************************************** + * Accessor Functions + ******************************************************************************/ + +CREATE FUNCTION memSize(intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(bigintspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(floatspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(tstzspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lower(intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(bigintspanset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(floatspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Spanset_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(datespanset) + RETURNS date + AS 'MODULE_PATHNAME', 'Spanset_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lower(tstzspanset) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Spanset_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upper(intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(bigintspanset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(floatspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Spanset_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(datespanset) + RETURNS date + AS 'MODULE_PATHNAME', 'Spanset_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upper(tstzspanset) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Spanset_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Spanset_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION width(intspanset, boundspan boolean DEFAULT FALSE) + RETURNS int + AS 'MODULE_PATHNAME', 'Numspanset_width' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION width(bigintspanset, boundspan boolean DEFAULT FALSE) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Numspanset_width' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION width(floatspanset, boundspan boolean DEFAULT FALSE) + RETURNS float + AS 'MODULE_PATHNAME', 'Numspanset_width' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(datespanset, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Datespanset_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(tstzspanset, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Tstzspanset_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSpans(intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_num_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSpans(bigintspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_num_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSpans(floatspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_num_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSpans(datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_num_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSpans(tstzspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_num_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSpan(intspanset) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Spanset_start_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSpan(bigintspanset) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Spanset_start_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSpan(floatspanset) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Spanset_start_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSpan(datespanset) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Spanset_start_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSpan(tstzspanset) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Spanset_start_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSpan(intspanset) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Spanset_end_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSpan(bigintspanset) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Spanset_end_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSpan(floatspanset) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Spanset_end_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSpan(datespanset) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Spanset_end_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSpan(tstzspanset) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Spanset_end_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanN(intspanset, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Spanset_span_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanN(bigintspanset, integer) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Spanset_span_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanN(floatspanset, integer) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Spanset_span_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanN(datespanset, integer) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Spanset_span_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanN(tstzspanset, integer) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Spanset_span_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numDates(datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Datespanset_num_dates' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startDate(datespanset) + RETURNS date + AS 'MODULE_PATHNAME', 'Datespanset_start_date' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endDate(datespanset) + RETURNS date + AS 'MODULE_PATHNAME', 'Datespanset_end_date' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dateN(datespanset, integer) + RETURNS date + AS 'MODULE_PATHNAME', 'Datespanset_date_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dates(datespanset) + RETURNS dateset + AS 'MODULE_PATHNAME', 'Datespanset_dates' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tstzspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tstzspanset_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tstzspanset) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tstzspanset_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tstzspanset) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tstzspanset_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tstzspanset, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tstzspanset_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tstzspanset) + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Tstzspanset_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION shift(intspanset, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Numspanset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(bigintspanset, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Numspanset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(floatspanset, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Numspanset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(datespanset, integer) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Numspanset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shift(tstzspanset, interval) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Tstzspanset_shift' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scale(intspanset, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Numspanset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(bigintspanset, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Numspanset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(floatspanset, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Numspanset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(datespanset, integer) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Numspanset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scale(tstzspanset, interval) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Tstzspanset_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScale(intspanset, integer, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Numspanset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(bigintspanset, bigint, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Numspanset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(floatspanset, float, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Numspanset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(datespanset, integer, integer) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Numspanset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScale(tstzspanset, interval, interval) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Tstzspanset_shift_scale' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION floor(floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Floatspanset_floor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ceil(floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Floatspanset_ceil' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(floatspanset, integer DEFAULT 0) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Floatspanset_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION degrees(floatspanset, bool DEFAULT FALSE) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Floatspanset_degrees' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION radians(floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Floatspanset_radians' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION spans(intspanset) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Spanset_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(bigintspanset) + RETURNS bigintspan[] + AS 'MODULE_PATHNAME', 'Spanset_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(floatspanset) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Spanset_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(datespanset) + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Spanset_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(tstzspanset) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Spanset_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNSpans(intspanset, integer) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(bigintspanset, integer) + RETURNS bigintspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(floatspanset, integer) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(datespanset, integer) + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Spanset_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(tstzspanset, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNSpans(intspanset, integer) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(bigintspanset, integer) + RETURNS bigintspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(floatspanset, integer) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(datespanset, integer) + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Spanset_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(tstzspanset, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Spanset_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Comparison operators + ******************************************************************************/ + +CREATE FUNCTION spanset_eq(intspanset, intspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_eq(bigintspanset, bigintspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_eq(floatspanset, floatspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_eq(datespanset, datespanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_eq(tstzspanset, tstzspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_ne(intspanset, intspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ne(bigintspanset, bigintspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ne(floatspanset, floatspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ne(datespanset, datespanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ne(tstzspanset, tstzspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_lt(intspanset, intspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_lt(bigintspanset, bigintspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_lt(floatspanset, floatspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_lt(datespanset, datespanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_lt(tstzspanset, tstzspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_le(intspanset, intspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_le(bigintspanset, bigintspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_le(floatspanset, floatspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_le(datespanset, datespanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_le(tstzspanset, tstzspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_ge(intspanset, intspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ge(bigintspanset, bigintspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ge(floatspanset, floatspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ge(datespanset, datespanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_ge(tstzspanset, tstzspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_gt(intspanset, intspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_gt(bigintspanset, bigintspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_gt(floatspanset, floatspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_gt(datespanset, datespanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_gt(tstzspanset, tstzspanset) + RETURNS bool + AS 'MODULE_PATHNAME', 'Spanset_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_cmp(intspanset, intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_cmp(bigintspanset, bigintspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_cmp(floatspanset, floatspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_cmp(datespanset, datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_cmp(tstzspanset, tstzspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = intspanset, RIGHTARG = intspanset, + PROCEDURE = spanset_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + PROCEDURE = spanset_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = floatspanset, RIGHTARG = floatspanset, + PROCEDURE = spanset_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = datespanset, RIGHTARG = datespanset, + PROCEDURE = spanset_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR = ( + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + PROCEDURE = spanset_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); + +CREATE OPERATOR <> ( + LEFTARG = intspanset, RIGHTARG = intspanset, + PROCEDURE = spanset_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + PROCEDURE = spanset_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = floatspanset, RIGHTARG = floatspanset, + PROCEDURE = spanset_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = datespanset, RIGHTARG = datespanset, + PROCEDURE = spanset_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + PROCEDURE = spanset_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + LEFTARG = intspanset, RIGHTARG = intspanset, + PROCEDURE = spanset_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + PROCEDURE = spanset_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = floatspanset, RIGHTARG = floatspanset, + PROCEDURE = spanset_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = datespanset, RIGHTARG = datespanset, + PROCEDURE = spanset_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR < ( + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + PROCEDURE = spanset_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR <= ( + LEFTARG = intspanset, RIGHTARG = intspanset, + PROCEDURE = spanset_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + PROCEDURE = spanset_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = floatspanset, RIGHTARG = floatspanset, + PROCEDURE = spanset_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = datespanset, RIGHTARG = datespanset, + PROCEDURE = spanset_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + PROCEDURE = spanset_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR >= ( + LEFTARG = intspanset, RIGHTARG = intspanset, + PROCEDURE = spanset_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + PROCEDURE = spanset_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = floatspanset, RIGHTARG = floatspanset, + PROCEDURE = spanset_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = datespanset, RIGHTARG = datespanset, + PROCEDURE = spanset_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >= ( + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + PROCEDURE = spanset_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR > ( + LEFTARG = intspanset, RIGHTARG = intspanset, + PROCEDURE = spanset_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + PROCEDURE = spanset_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = floatspanset, RIGHTARG = floatspanset, + PROCEDURE = spanset_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = datespanset, RIGHTARG = datespanset, + PROCEDURE = spanset_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + PROCEDURE = spanset_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE OPERATOR CLASS intspanset_btree_ops + DEFAULT FOR TYPE intspanset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 spanset_cmp(intspanset, intspanset); +CREATE OPERATOR CLASS bigintspanset_btree_ops + DEFAULT FOR TYPE bigintspanset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 spanset_cmp(bigintspanset, bigintspanset); +CREATE OPERATOR CLASS floatspanset_btree_ops + DEFAULT FOR TYPE floatspanset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 spanset_cmp(floatspanset, floatspanset); +CREATE OPERATOR CLASS datespanset_btree_ops + DEFAULT FOR TYPE datespanset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 spanset_cmp(datespanset, datespanset); +CREATE OPERATOR CLASS tstzspanset_btree_ops + DEFAULT FOR TYPE tstzspanset USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 spanset_cmp(tstzspanset, tstzspanset); + +/******************************************************************************/ + +CREATE FUNCTION spanset_hash(intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash(bigintspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash(floatspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash(datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash(tstzspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Spanset_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION spanset_hash_extended(intspanset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash_extended(bigintspanset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash_extended(floatspanset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash_extended(datespanset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_hash_extended(tstzspanset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Spanset_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS intspanset_hash_ops + DEFAULT FOR TYPE intspanset USING hash AS + OPERATOR 1 = , + FUNCTION 1 spanset_hash(intspanset), + FUNCTION 2 spanset_hash_extended(intspanset, bigint); +CREATE OPERATOR CLASS bigintspanset_hash_ops + DEFAULT FOR TYPE bigintspanset USING hash AS + OPERATOR 1 = , + FUNCTION 1 spanset_hash(bigintspanset), + FUNCTION 2 spanset_hash_extended(bigintspanset, bigint); +CREATE OPERATOR CLASS floatspanset_hash_ops + DEFAULT FOR TYPE floatspanset USING hash AS + OPERATOR 1 = , + FUNCTION 1 spanset_hash(floatspanset), + FUNCTION 2 spanset_hash_extended(floatspanset, bigint); +CREATE OPERATOR CLASS datespanset_hash_ops + DEFAULT FOR TYPE datespanset USING hash AS + OPERATOR 1 = , + FUNCTION 1 spanset_hash(datespanset), + FUNCTION 2 spanset_hash_extended(datespanset, bigint); +CREATE OPERATOR CLASS tstzspanset_hash_ops + DEFAULT FOR TYPE tstzspanset USING hash AS + OPERATOR 1 = , + FUNCTION 1 spanset_hash(tstzspanset), + FUNCTION 2 spanset_hash_extended(tstzspanset, bigint); + + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/009_spanset_ops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/009_spanset_ops.in.sql new file mode 100644 index 000000000..cfa8fc8f7 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/009_spanset_ops.in.sql @@ -0,0 +1,2829 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Operators for span set types + */ + +CREATE FUNCTION tprecision(timestamptz, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Timestamptz_tprecision' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION tprecision(tstzset, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tstzset + AS 'MODULE_PATHNAME', 'Tstzset_tprecision' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION tprecision(tstzspan, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Tstzspan_tprecision' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION tprecision(tstzspanset, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Tstzspanset_tprecision' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/****************************************************************************** + * Operators + ******************************************************************************/ + +CREATE FUNCTION span_contains(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(intspanset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(bigintspanset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(floatspanset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(datespanset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contains(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(tstzspanset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contains(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = span_contains, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = <@, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_contained(integer, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(bigint, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(float, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(date, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_contained(timestamptz, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_contained(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = span_contained, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = @>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_overlaps(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overlaps(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overlaps(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = span_overlaps, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = &&, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_left(integer, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(intspanset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(bigint, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(bigintspanset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(float, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(floatspanset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR << ( + PROCEDURE = span_left, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = >>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(date, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(datespanset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_left(timestamptz, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(tstzspanset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_left(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = span_left, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = #>>, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_right(integer, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(intspanset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(bigint, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(bigintspanset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(float, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(floatspanset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR >> ( + PROCEDURE = span_right, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = <<, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(date, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(datespanset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_right(timestamptz, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(tstzspanset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_right(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = span_right, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = <<#, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_overleft(integer, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(intspanset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = integer, RIGHTARG = intspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = intspan, RIGHTARG = intspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = intspanset, RIGHTARG = integer, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = intspanset, RIGHTARG = intspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = intspanset, RIGHTARG = intspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(bigint, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(bigintspanset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigint, RIGHTARG = bigintspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigintspanset, RIGHTARG = bigint, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(float, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(floatspanset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = float, RIGHTARG = floatspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = floatspan, RIGHTARG = floatspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = floatspanset, RIGHTARG = float, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = floatspanset, RIGHTARG = floatspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = span_overleft, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(date, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(datespanset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = date, RIGHTARG = datespanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = datespan, RIGHTARG = datespanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = datespanset, RIGHTARG = date, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = datespanset, RIGHTARG = datespan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = datespanset, RIGHTARG = datespanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overleft(timestamptz, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(tstzspanset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overleft(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = span_overleft, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_overright(integer, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(intspanset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = integer, RIGHTARG = intspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = intspan, RIGHTARG = intspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = intspanset, RIGHTARG = integer, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = intspanset, RIGHTARG = intspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = intspanset, RIGHTARG = intspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(bigint, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(bigintspanset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigint, RIGHTARG = bigintspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigintspanset, RIGHTARG = bigint, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(float, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(floatspanset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = float, RIGHTARG = floatspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = floatspan, RIGHTARG = floatspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = floatspanset, RIGHTARG = float, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = floatspanset, RIGHTARG = floatspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = span_overright, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(date, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(datespanset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = date, RIGHTARG = datespanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = datespan, RIGHTARG = datespanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = datespanset, RIGHTARG = date, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = datespanset, RIGHTARG = datespan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = datespanset, RIGHTARG = datespanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_overright(timestamptz, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(tstzspanset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_overright(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = span_overright, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_adjacent(integer, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(intspan, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(intspanset, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(intspanset, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(intspanset, intspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(bigint, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(bigintspan, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(bigintspanset, bigint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(bigintspanset, bigintspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(bigintspanset, bigintspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(float, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(floatspan, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(floatspanset, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(floatspanset, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(floatspanset, floatspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(date, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(datespan, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(datespanset, date) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(datespanset, datespan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(datespanset, datespanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +CREATE FUNCTION span_adjacent(timestamptz, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(tstzspan, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(tstzspanset, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(tstzspanset, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_adjacent(tstzspanset, tstzspanset) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = span_adjacent, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = -|-, + RESTRICT = span_sel, JOIN = span_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION span_union(integer, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(intspan, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(intspanset, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(intspanset, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(intspanset, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Union_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(bigint, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(bigintspan, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(bigintspanset, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(bigintspanset, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(bigintspanset, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Union_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(float, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(floatspan, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(floatspanset, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(floatspanset, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(floatspanset, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Union_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(date, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(datespan, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(datespanset, date) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(datespanset, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(datespanset, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Union_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = + +); + +CREATE FUNCTION span_union(timestamptz, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(tstzspan, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(tstzspanset, timestamptz) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(tstzspanset, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_union(tstzspanset, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Union_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = span_union, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = + +); + +/*****************************************************************************/ + +CREATE FUNCTION span_minus(integer, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(intspan, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(intspanset, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(intspanset, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(intspanset, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = integer, RIGHTARG = intspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = intspan, RIGHTARG = intspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = intspanset, RIGHTARG = integer +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = intspanset, RIGHTARG = intspan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = intspanset, RIGHTARG = intspanset +); + +CREATE FUNCTION span_minus(bigint, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(bigintspan, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(bigintspanset, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(bigintspanset, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(bigintspanset, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigint, RIGHTARG = bigintspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigintspan, RIGHTARG = bigintspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigintspanset, RIGHTARG = bigint +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigintspanset, RIGHTARG = bigintspan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset +); + +CREATE FUNCTION span_minus(float, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(floatspan, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(floatspanset, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(floatspanset, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(floatspanset, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = float, RIGHTARG = floatspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = floatspan, RIGHTARG = floatspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = floatspanset, RIGHTARG = float +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = floatspanset, RIGHTARG = floatspan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = floatspanset, RIGHTARG = floatspanset +); + +CREATE FUNCTION span_minus(date, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(datespan, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(datespanset, date) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(datespanset, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(datespanset, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Minus_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = date, RIGHTARG = datespanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = datespan, RIGHTARG = datespanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = datespanset, RIGHTARG = date +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = datespanset, RIGHTARG = datespan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = datespanset, RIGHTARG = datespanset +); + +CREATE FUNCTION span_minus(timestamptz, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(tstzspan, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(tstzspanset, timestamptz) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(tstzspanset, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_minus(tstzspanset, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Minus_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = timestamptz, RIGHTARG = tstzspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = tstzspan, RIGHTARG = tstzspanset +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = tstzspanset, RIGHTARG = timestamptz +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = tstzspanset, RIGHTARG = tstzspan +); +CREATE OPERATOR - ( + PROCEDURE = span_minus, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset +); + +/*****************************************************************************/ + +CREATE FUNCTION span_intersection(integer, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Intersection_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(intspan, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Intersection_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(intspanset, integer) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(intspanset, intspan) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(intspanset, intspanset) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(bigint, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Intersection_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(bigintspan, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Intersection_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(bigintspanset, bigint) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(bigintspanset, bigintspan) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(bigintspanset, bigintspanset) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(float, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Intersection_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(floatspan, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Intersection_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(floatspanset, float) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(floatspanset, floatspan) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(floatspanset, floatspanset) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(date, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Intersection_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(datespan, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Intersection_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(datespanset, date) + RETURNS date + AS 'MODULE_PATHNAME', 'Intersection_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(datespanset, datespan) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(datespanset, datespanset) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = * +); + +CREATE FUNCTION span_intersection(timestamptz, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Intersection_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(tstzspan, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Intersection_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(tstzspanset, timestamptz) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(tstzspanset, tstzspan) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_intersection(tstzspanset, tstzspanset) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Intersection_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = span_intersection, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = * +); + +/***************************************************************************** + * Distance operators + *****************************************************************************/ + +CREATE FUNCTION span_distance(integer, intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(intspan, intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(intspanset, integer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(intspanset, intspan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(intspanset, intspanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = integer, RIGHTARG = intspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = intspan, RIGHTARG = intspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = intspanset, RIGHTARG = integer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = intspanset, RIGHTARG = intspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = intspanset, RIGHTARG = intspanset, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(bigint, bigintspanset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(bigintspan, bigintspanset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(bigintspanset, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(bigintspanset, bigintspan) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(bigintspanset, bigintspanset) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Distance_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigint, RIGHTARG = bigintspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigintspan, RIGHTARG = bigintspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigintspanset, RIGHTARG = bigint, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigintspanset, RIGHTARG = bigintspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = bigintspanset, RIGHTARG = bigintspanset, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(float, floatspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(floatspan, floatspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(floatspanset, float) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(floatspanset, floatspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(floatspanset, floatspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = float, RIGHTARG = floatspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = floatspan, RIGHTARG = floatspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = floatspanset, RIGHTARG = float, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = floatspanset, RIGHTARG = floatspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = floatspanset, RIGHTARG = floatspanset, + COMMUTATOR = <-> +); + +CREATE FUNCTION span_distance(date, datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(datespan, datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(datespanset, date) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(datespanset, datespan) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_distance(datespanset, datespanset) + RETURNS integer + AS 'MODULE_PATHNAME', 'Distance_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = date, RIGHTARG = datespanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = datespan, RIGHTARG = datespanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = datespanset, RIGHTARG = date, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = datespanset, RIGHTARG = datespan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = span_distance, + LEFTARG = datespanset, RIGHTARG = datespanset, + COMMUTATOR = <-> +); + +CREATE FUNCTION time_distance(timestamptz, tstzspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_value_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION time_distance(tstzspan, tstzspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_span_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION time_distance(tstzspanset, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_spanset_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION time_distance(tstzspanset, tstzspan) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_spanset_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION time_distance(tstzspanset, tstzspanset) + RETURNS float + AS 'MODULE_PATHNAME', 'Distance_spanset_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = time_distance, + LEFTARG = timestamptz, RIGHTARG = tstzspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = time_distance, + LEFTARG = tstzspan, RIGHTARG = tstzspanset, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = time_distance, + LEFTARG = tstzspanset, RIGHTARG = timestamptz, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = time_distance, + LEFTARG = tstzspanset, RIGHTARG = tstzspan, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = time_distance, + LEFTARG = tstzspanset, RIGHTARG = tstzspanset, + COMMUTATOR = <-> +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/011_span_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/011_span_indexes.in.sql new file mode 100644 index 000000000..50ce8194c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/011_span_indexes.in.sql @@ -0,0 +1,889 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST, Quad-tree SP-GiST, and Kd-tree SP-GiST indexes for span + * types + */ + +/****************************************************************************** + * R-tree GiST indexes + ******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, intspan, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_union(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_union' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_penalty(internal, internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_penalty' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_picksplit(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_same(intspan, intspan, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, intspan, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_fetch(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_fetch' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intspan_rtree_ops + DEFAULT FOR TYPE intspan USING gist AS + -- strictly left + OPERATOR 1 << (intspan, integer), + OPERATOR 1 << (intspan, intspan), + OPERATOR 1 << (intspan, intspanset), + -- overlaps or left + OPERATOR 2 &< (intspan, integer), + OPERATOR 2 &< (intspan, intspan), + OPERATOR 2 &< (intspan, intspanset), + -- overlaps + OPERATOR 3 && (intspan, intspan), + OPERATOR 3 && (intspan, intspanset), + -- overlaps or right + OPERATOR 4 &> (intspan, integer), + OPERATOR 4 &> (intspan, intspan), + OPERATOR 4 &> (intspan, intspanset), + -- strictly right + OPERATOR 5 >> (intspan, integer), + OPERATOR 5 >> (intspan, intspan), + OPERATOR 5 >> (intspan, intspanset), + -- contains + OPERATOR 7 @> (intspan, integer), + OPERATOR 7 @> (intspan, intspan), + OPERATOR 7 @> (intspan, intspanset), + -- contained by + OPERATOR 8 <@ (intspan, intspan), + OPERATOR 8 <@ (intspan, intspanset), + -- adjacent + OPERATOR 17 -|- (intspan, intspan), + OPERATOR 17 -|- (intspan, intspanset), + -- equals + OPERATOR 18 = (intspan, intspan), + -- nearest approach distance + OPERATOR 25 <-> (intspan, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspan, intspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspan, intspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, intspan, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(intspan, intspan, internal), + FUNCTION 8 span_gist_distance(internal, intspan, smallint, oid, internal), + FUNCTION 9 span_gist_fetch(internal); + +/******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, bigintspan, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_same(bigintspan, bigintspan, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, bigintspan, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintspan_rtree_ops + DEFAULT FOR TYPE bigintspan USING gist AS + -- strictly left + OPERATOR 1 << (bigintspan, bigint), + OPERATOR 1 << (bigintspan, bigintspan), + OPERATOR 1 << (bigintspan, bigintspanset), + -- overlaps or left + OPERATOR 2 &< (bigintspan, bigint), + OPERATOR 2 &< (bigintspan, bigintspan), + OPERATOR 2 &< (bigintspan, bigintspanset), + -- overlaps + OPERATOR 3 && (bigintspan, bigintspan), + OPERATOR 3 && (bigintspan, bigintspanset), + -- overlaps or right + OPERATOR 4 &> (bigintspan, bigint), + OPERATOR 4 &> (bigintspan, bigintspan), + OPERATOR 4 &> (bigintspan, bigintspanset), + -- strictly right + OPERATOR 5 >> (bigintspan, bigint), + OPERATOR 5 >> (bigintspan, bigintspan), + OPERATOR 5 >> (bigintspan, bigintspanset), + -- contains + OPERATOR 7 @> (bigintspan, bigint), + OPERATOR 7 @> (bigintspan, bigintspan), + OPERATOR 7 @> (bigintspan, bigintspanset), + -- contained by + OPERATOR 8 <@ (bigintspan, bigintspan), + OPERATOR 8 <@ (bigintspan, bigintspanset), + -- adjacent + OPERATOR 17 -|- (bigintspan, bigintspan), + OPERATOR 17 -|- (bigintspan, bigintspanset), + -- equals + OPERATOR 18 = (bigintspan, bigintspan), + -- nearest approach distance + OPERATOR 25 <-> (bigintspan, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspan, bigintspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspan, bigintspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, bigintspan, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(bigintspan, bigintspan, internal), + FUNCTION 8 span_gist_distance(internal, bigintspan, smallint, oid, internal), + FUNCTION 9 span_gist_fetch(internal); + +/******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, floatspan, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_same(floatspan, floatspan, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, floatspan, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatspan_rtree_ops + DEFAULT FOR TYPE floatspan USING gist AS + -- strictly left + OPERATOR 1 << (floatspan, float), + OPERATOR 1 << (floatspan, floatspan), + OPERATOR 1 << (floatspan, floatspanset), + -- overlaps or left + OPERATOR 2 &< (floatspan, float), + OPERATOR 2 &< (floatspan, floatspan), + OPERATOR 2 &< (floatspan, floatspanset), + -- overlaps + OPERATOR 3 && (floatspan, floatspan), + OPERATOR 3 && (floatspan, floatspanset), + -- overlaps or right + OPERATOR 4 &> (floatspan, float), + OPERATOR 4 &> (floatspan, floatspan), + OPERATOR 4 &> (floatspan, floatspanset), + -- strictly right + OPERATOR 5 >> (floatspan, float), + OPERATOR 5 >> (floatspan, floatspan), + OPERATOR 5 >> (floatspan, floatspanset), + -- contains + OPERATOR 7 @> (floatspan, float), + OPERATOR 7 @> (floatspan, floatspan), + OPERATOR 7 @> (floatspan, floatspanset), + -- contained by + OPERATOR 8 <@ (floatspan, floatspan), + OPERATOR 8 <@ (floatspan, floatspanset), + -- adjacent + OPERATOR 17 -|- (floatspan, floatspan), + OPERATOR 17 -|- (floatspan, floatspanset), + -- equals + OPERATOR 18 = (floatspan, floatspan), + -- nearest approach distance + OPERATOR 25 <-> (floatspan, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspan, floatspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspan, floatspanset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, floatspan, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(floatspan, floatspan, internal), + FUNCTION 8 span_gist_distance(internal, floatspan, smallint, oid, internal), + FUNCTION 9 span_gist_fetch(internal); + +/******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, datespan, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_same(datespan, datespan, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, datespan, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS datespan_rtree_ops + DEFAULT FOR TYPE datespan USING gist AS + -- strictly left + OPERATOR 1 <<# (datespan, date), + OPERATOR 1 <<# (datespan, datespan), + OPERATOR 1 <<# (datespan, datespanset), + -- overlaps or left + OPERATOR 2 &<# (datespan, date), + OPERATOR 2 &<# (datespan, datespan), + OPERATOR 2 &<# (datespan, datespanset), + -- overlaps + OPERATOR 3 && (datespan, datespan), + OPERATOR 3 && (datespan, datespanset), + -- overlaps or right + OPERATOR 4 #&> (datespan, date), + OPERATOR 4 #&> (datespan, datespan), + OPERATOR 4 #&> (datespan, datespanset), + -- strictly right + OPERATOR 5 #>> (datespan, date), + OPERATOR 5 #>> (datespan, datespan), + OPERATOR 5 #>> (datespan, datespanset), + -- contains + OPERATOR 7 @> (datespan, date), + OPERATOR 7 @> (datespan, datespan), + OPERATOR 7 @> (datespan, datespanset), + -- contained by + OPERATOR 8 <@ (datespan, datespan), + OPERATOR 8 <@ (datespan, datespanset), + -- adjacent + OPERATOR 17 -|- (datespan, datespan), + OPERATOR 17 -|- (datespan, datespanset), + -- equals + OPERATOR 18 = (datespan, datespan), + -- nearest approach distance + OPERATOR 25 <-> (datespan, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespan, datespan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespan, datespanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, datespan, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(datespan, datespan, internal), + FUNCTION 8 span_gist_distance(internal, datespan, smallint, oid, internal), + FUNCTION 9 span_gist_fetch(internal); + +/******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, tstzspan, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_same(tstzspan, tstzspan, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, tstzspan, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzspan_rtree_ops + DEFAULT FOR TYPE tstzspan USING gist AS + -- overlaps + OPERATOR 3 && (tstzspan, tstzspan), + OPERATOR 3 && (tstzspan, tstzspanset), + -- contains + OPERATOR 7 @> (tstzspan, timestamptz), + OPERATOR 7 @> (tstzspan, tstzspan), + OPERATOR 7 @> (tstzspan, tstzspanset), + -- contained by + OPERATOR 8 <@ (tstzspan, tstzspan), + OPERATOR 8 <@ (tstzspan, tstzspanset), + -- adjacent + OPERATOR 17 -|- (tstzspan, tstzspan), + OPERATOR 17 -|- (tstzspan, tstzspanset), + -- equals + OPERATOR 18 = (tstzspan, tstzspan), + -- nearest approach distance + OPERATOR 25 <-> (tstzspan, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspan, tstzspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspan, tstzspanset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzspan, timestamptz), + OPERATOR 28 &<# (tstzspan, tstzspan), + OPERATOR 28 &<# (tstzspan, tstzspanset), + -- strictly before + OPERATOR 29 <<# (tstzspan, timestamptz), + OPERATOR 29 <<# (tstzspan, tstzspan), + OPERATOR 29 <<# (tstzspan, tstzspanset), + -- strictly after + OPERATOR 30 #>> (tstzspan, timestamptz), + OPERATOR 30 #>> (tstzspan, tstzspan), + OPERATOR 30 #>> (tstzspan, tstzspanset), + -- overlaps or after + OPERATOR 31 #&> (tstzspan, timestamptz), + OPERATOR 31 #&> (tstzspan, tstzspan), + OPERATOR 31 #&> (tstzspan, tstzspanset), + -- functions + FUNCTION 1 span_gist_consistent(internal, tstzspan, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(tstzspan, tstzspan, internal), + FUNCTION 8 span_gist_distance(internal, tstzspan, smallint, oid, internal), + FUNCTION 9 span_gist_fetch(internal); + +/****************************************************************************** + * Quad-tree SP-GiST indexes + ******************************************************************************/ + +CREATE FUNCTION intspan_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Intspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintspan_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Bigintspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspan_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Floatspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION datespan_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Datespan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tstzspan_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tstzspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION span_quadtree_choose(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Span_quadtree_choose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_quadtree_picksplit(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Span_quadtree_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_quadtree_inner_consistent(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Span_quadtree_inner_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_spgist_leaf_consistent(internal, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_spgist_leaf_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intspan_quadtree_ops + DEFAULT FOR TYPE intspan USING spgist AS + -- strictly left + OPERATOR 1 << (intspan, integer), + OPERATOR 1 << (intspan, intspan), + OPERATOR 1 << (intspan, intspanset), + -- overlaps or left + OPERATOR 2 &< (intspan, integer), + OPERATOR 2 &< (intspan, intspan), + OPERATOR 2 &< (intspan, intspanset), + -- overlaps + OPERATOR 3 && (intspan, intspan), + OPERATOR 3 && (intspan, intspanset), + -- overlaps or right + OPERATOR 4 &> (intspan, integer), + OPERATOR 4 &> (intspan, intspan), + OPERATOR 4 &> (intspan, intspanset), + -- strictly right + OPERATOR 5 >> (intspan, integer), + OPERATOR 5 >> (intspan, intspan), + OPERATOR 5 >> (intspan, intspanset), + -- contains + OPERATOR 7 @> (intspan, integer), + OPERATOR 7 @> (intspan, intspan), + OPERATOR 7 @> (intspan, intspanset), + -- contained by + OPERATOR 8 <@ (intspan, intspan), + OPERATOR 8 <@ (intspan, intspanset), + -- adjacent + OPERATOR 17 -|- (intspan, intspan), + OPERATOR 17 -|- (intspan, intspanset), + -- equals + OPERATOR 18 = (intspan, intspan), + -- nearest approach distance + OPERATOR 25 <-> (intspan, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspan, intspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspan, intspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintspan_quadtree_ops + DEFAULT FOR TYPE bigintspan USING spgist AS + -- strictly left + OPERATOR 1 << (bigintspan, bigint), + OPERATOR 1 << (bigintspan, bigintspan), + OPERATOR 1 << (bigintspan, bigintspanset), + -- overlaps or left + OPERATOR 2 &< (bigintspan, bigint), + OPERATOR 2 &< (bigintspan, bigintspan), + OPERATOR 2 &< (bigintspan, bigintspanset), + -- overlaps + OPERATOR 3 && (bigintspan, bigintspan), + OPERATOR 3 && (bigintspan, bigintspanset), + -- overlaps or right + OPERATOR 4 &> (bigintspan, bigint), + OPERATOR 4 &> (bigintspan, bigintspan), + OPERATOR 4 &> (bigintspan, bigintspanset), + -- strictly right + OPERATOR 5 >> (bigintspan, bigint), + OPERATOR 5 >> (bigintspan, bigintspan), + OPERATOR 5 >> (bigintspan, bigintspanset), + -- contains + OPERATOR 7 @> (bigintspan, bigint), + OPERATOR 7 @> (bigintspan, bigintspan), + OPERATOR 7 @> (bigintspan, bigintspanset), + -- contained by + OPERATOR 8 <@ (bigintspan, bigintspan), + OPERATOR 8 <@ (bigintspan, bigintspanset), + -- adjacent + OPERATOR 17 -|- (bigintspan, bigintspan), + OPERATOR 17 -|- (bigintspan, bigintspanset), + -- equals + OPERATOR 18 = (bigintspan, bigintspan), + -- nearest approach distance + OPERATOR 25 <-> (bigintspan, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspan, bigintspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspan, bigintspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 bigintspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatspan_quadtree_ops + DEFAULT FOR TYPE floatspan USING spgist AS + -- strictly left + OPERATOR 1 << (floatspan, float), + OPERATOR 1 << (floatspan, floatspan), + OPERATOR 1 << (floatspan, floatspanset), + -- overlaps or left + OPERATOR 2 &< (floatspan, float), + OPERATOR 2 &< (floatspan, floatspan), + OPERATOR 2 &< (floatspan, floatspanset), + -- overlaps + OPERATOR 3 && (floatspan, floatspan), + OPERATOR 3 && (floatspan, floatspanset), + -- overlaps or right + OPERATOR 4 &> (floatspan, float), + OPERATOR 4 &> (floatspan, floatspan), + OPERATOR 4 &> (floatspan, floatspanset), + -- strictly right + OPERATOR 5 >> (floatspan, float), + OPERATOR 5 >> (floatspan, floatspan), + OPERATOR 5 >> (floatspan, floatspanset), + -- contains + OPERATOR 7 @> (floatspan, float), + OPERATOR 7 @> (floatspan, floatspan), + OPERATOR 7 @> (floatspan, floatspanset), + -- contained by + OPERATOR 8 <@ (floatspan, floatspan), + OPERATOR 8 <@ (floatspan, floatspanset), + -- adjacent + OPERATOR 17 -|- (floatspan, floatspan), + OPERATOR 17 -|- (floatspan, floatspanset), + -- equals + OPERATOR 18 = (floatspan, floatspan), + -- nearest approach distance + OPERATOR 25 <-> (floatspan, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspan, floatspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspan, floatspanset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 floatspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS datespan_quadtree_ops + DEFAULT FOR TYPE datespan USING spgist AS + -- overlaps + OPERATOR 3 && (datespan, datespan), + OPERATOR 3 && (datespan, datespanset), + -- contains + OPERATOR 7 @> (datespan, date), + OPERATOR 7 @> (datespan, datespan), + OPERATOR 7 @> (datespan, datespanset), + -- contained by + OPERATOR 8 <@ (datespan, datespan), + OPERATOR 8 <@ (datespan, datespanset), + -- adjacent + OPERATOR 17 -|- (datespan, datespan), + OPERATOR 17 -|- (datespan, datespanset), + -- equals + OPERATOR 18 = (datespan, datespan), + -- nearest approach distance + OPERATOR 25 <-> (datespan, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespan, datespan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespan, datespanset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (datespan, date), + OPERATOR 28 &<# (datespan, datespan), + OPERATOR 28 &<# (datespan, datespanset), + -- strictly before + OPERATOR 29 <<# (datespan, date), + OPERATOR 29 <<# (datespan, datespan), + OPERATOR 29 <<# (datespan, datespanset), + -- strictly after + OPERATOR 30 #>> (datespan, date), + OPERATOR 30 #>> (datespan, datespan), + OPERATOR 30 #>> (datespan, datespanset), + -- overlaps or after + OPERATOR 31 #&> (datespan, date), + OPERATOR 31 #&> (datespan, datespan), + OPERATOR 31 #&> (datespan, datespanset), + -- functions + FUNCTION 1 datespan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzspan_quadtree_ops + DEFAULT FOR TYPE tstzspan USING spgist AS + -- overlaps + OPERATOR 3 && (tstzspan, tstzspan), + OPERATOR 3 && (tstzspan, tstzspanset), + -- contains + OPERATOR 7 @> (tstzspan, timestamptz), + OPERATOR 7 @> (tstzspan, tstzspan), + OPERATOR 7 @> (tstzspan, tstzspanset), + -- contained by + OPERATOR 8 <@ (tstzspan, tstzspan), + OPERATOR 8 <@ (tstzspan, tstzspanset), + -- adjacent + OPERATOR 17 -|- (tstzspan, tstzspan), + OPERATOR 17 -|- (tstzspan, tstzspanset), + -- equals + OPERATOR 18 = (tstzspan, tstzspan), + -- nearest approach distance + OPERATOR 25 <-> (tstzspan, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspan, tstzspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspan, tstzspanset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzspan, timestamptz), + OPERATOR 28 &<# (tstzspan, tstzspan), + OPERATOR 28 &<# (tstzspan, tstzspanset), + -- strictly before + OPERATOR 29 <<# (tstzspan, timestamptz), + OPERATOR 29 <<# (tstzspan, tstzspan), + OPERATOR 29 <<# (tstzspan, tstzspanset), + -- strictly after + OPERATOR 30 #>> (tstzspan, timestamptz), + OPERATOR 30 #>> (tstzspan, tstzspan), + OPERATOR 30 #>> (tstzspan, tstzspanset), + -- overlaps or after + OPERATOR 31 #&> (tstzspan, timestamptz), + OPERATOR 31 #&> (tstzspan, tstzspan), + OPERATOR 31 #&> (tstzspan, tstzspanset), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/****************************************************************************** + * Kd-tree SP-GiST indexes + ******************************************************************************/ + +CREATE FUNCTION span_kdtree_choose(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Span_kdtree_choose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_kdtree_picksplit(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Span_kdtree_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_kdtree_inner_consistent(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Span_kdtree_inner_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intspan_kdtree_ops + FOR TYPE intspan USING spgist AS + -- strictly left + OPERATOR 1 << (intspan, integer), + OPERATOR 1 << (intspan, intspan), + OPERATOR 1 << (intspan, intspanset), + -- overlaps or left + OPERATOR 2 &< (intspan, integer), + OPERATOR 2 &< (intspan, intspan), + OPERATOR 2 &< (intspan, intspanset), + -- overlaps + OPERATOR 3 && (intspan, intspan), + OPERATOR 3 && (intspan, intspanset), + -- overlaps or right + OPERATOR 4 &> (intspan, integer), + OPERATOR 4 &> (intspan, intspan), + OPERATOR 4 &> (intspan, intspanset), + -- strictly right + OPERATOR 5 >> (intspan, integer), + OPERATOR 5 >> (intspan, intspan), + OPERATOR 5 >> (intspan, intspanset), + -- contains + OPERATOR 7 @> (intspan, integer), + OPERATOR 7 @> (intspan, intspan), + OPERATOR 7 @> (intspan, intspanset), + -- contained by + OPERATOR 8 <@ (intspan, intspan), + OPERATOR 8 <@ (intspan, intspanset), + -- adjacent + OPERATOR 17 -|- (intspan, intspan), + OPERATOR 17 -|- (intspan, intspanset), + -- equals + OPERATOR 18 = (intspan, intspan), + -- nearest approach distance + OPERATOR 25 <-> (intspan, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspan, intspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspan, intspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintspan_kdtree_ops + FOR TYPE bigintspan USING spgist AS + -- strictly left + OPERATOR 1 << (bigintspan, bigint), + OPERATOR 1 << (bigintspan, bigintspan), + OPERATOR 1 << (bigintspan, bigintspanset), + -- overlaps or left + OPERATOR 2 &< (bigintspan, bigint), + OPERATOR 2 &< (bigintspan, bigintspan), + OPERATOR 2 &< (bigintspan, bigintspanset), + -- overlaps + OPERATOR 3 && (bigintspan, bigintspan), + OPERATOR 3 && (bigintspan, bigintspanset), + -- overlaps or right + OPERATOR 4 &> (bigintspan, bigint), + OPERATOR 4 &> (bigintspan, bigintspan), + OPERATOR 4 &> (bigintspan, bigintspanset), + -- strictly right + OPERATOR 5 >> (bigintspan, bigint), + OPERATOR 5 >> (bigintspan, bigintspan), + OPERATOR 5 >> (bigintspan, bigintspanset), + -- contains + OPERATOR 7 @> (bigintspan, bigint), + OPERATOR 7 @> (bigintspan, bigintspan), + OPERATOR 7 @> (bigintspan, bigintspanset), + -- contained by + OPERATOR 8 <@ (bigintspan, bigintspan), + OPERATOR 8 <@ (bigintspan, bigintspanset), + -- adjacent + OPERATOR 17 -|- (bigintspan, bigintspan), + OPERATOR 17 -|- (bigintspan, bigintspanset), + -- equals + OPERATOR 18 = (bigintspan, bigintspan), + -- nearest approach distance + OPERATOR 25 <-> (bigintspan, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspan, bigintspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspan, bigintspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 bigintspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatspan_kdtree_ops + FOR TYPE floatspan USING spgist AS + -- strictly left + OPERATOR 1 << (floatspan, float), + OPERATOR 1 << (floatspan, floatspan), + OPERATOR 1 << (floatspan, floatspanset), + -- overlaps or left + OPERATOR 2 &< (floatspan, float), + OPERATOR 2 &< (floatspan, floatspan), + OPERATOR 2 &< (floatspan, floatspanset), + -- overlaps + OPERATOR 3 && (floatspan, floatspan), + OPERATOR 3 && (floatspan, floatspanset), + -- overlaps or right + OPERATOR 4 &> (floatspan, float), + OPERATOR 4 &> (floatspan, floatspan), + OPERATOR 4 &> (floatspan, floatspanset), + -- strictly right + OPERATOR 5 >> (floatspan, float), + OPERATOR 5 >> (floatspan, floatspan), + OPERATOR 5 >> (floatspan, floatspanset), + -- contains + OPERATOR 7 @> (floatspan, float), + OPERATOR 7 @> (floatspan, floatspan), + OPERATOR 7 @> (floatspan, floatspanset), + -- contained by + OPERATOR 8 <@ (floatspan, floatspan), + OPERATOR 8 <@ (floatspan, floatspanset), + -- adjacent + OPERATOR 17 -|- (floatspan, floatspan), + OPERATOR 17 -|- (floatspan, floatspanset), + -- equals + OPERATOR 18 = (floatspan, floatspan), + -- nearest approach distance + OPERATOR 25 <-> (floatspan, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspan, floatspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspan, floatspanset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 floatspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS datespan_kdtree_ops + FOR TYPE datespan USING spgist AS + -- overlaps + OPERATOR 3 && (datespan, datespan), + OPERATOR 3 && (datespan, datespanset), + -- contains + OPERATOR 7 @> (datespan, date), + OPERATOR 7 @> (datespan, datespan), + OPERATOR 7 @> (datespan, datespanset), + -- contained by + OPERATOR 8 <@ (datespan, datespan), + OPERATOR 8 <@ (datespan, datespanset), + -- adjacent + OPERATOR 17 -|- (datespan, datespan), + OPERATOR 17 -|- (datespan, datespanset), + -- equals + OPERATOR 18 = (datespan, datespan), + -- nearest approach distance + OPERATOR 25 <-> (datespan, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespan, datespan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespan, datespanset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (datespan, date), + OPERATOR 28 &<# (datespan, datespan), + OPERATOR 28 &<# (datespan, datespanset), + -- strictly before + OPERATOR 29 <<# (datespan, date), + OPERATOR 29 <<# (datespan, datespan), + OPERATOR 29 <<# (datespan, datespanset), + -- strictly after + OPERATOR 30 #>> (datespan, date), + OPERATOR 30 #>> (datespan, datespan), + OPERATOR 30 #>> (datespan, datespanset), + -- overlaps or after + OPERATOR 31 #&> (datespan, date), + OPERATOR 31 #&> (datespan, datespan), + OPERATOR 31 #&> (datespan, datespanset), + -- functions + FUNCTION 1 datespan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzspan_kdtree_ops + FOR TYPE tstzspan USING spgist AS + -- overlaps + OPERATOR 3 && (tstzspan, tstzspan), + OPERATOR 3 && (tstzspan, tstzspanset), + -- contains + OPERATOR 7 @> (tstzspan, timestamptz), + OPERATOR 7 @> (tstzspan, tstzspan), + OPERATOR 7 @> (tstzspan, tstzspanset), + -- contained by + OPERATOR 8 <@ (tstzspan, tstzspan), + OPERATOR 8 <@ (tstzspan, tstzspanset), + -- adjacent + OPERATOR 17 -|- (tstzspan, tstzspan), + OPERATOR 17 -|- (tstzspan, tstzspanset), + -- equals + OPERATOR 18 = (tstzspan, tstzspan), + -- nearest approach distance + OPERATOR 25 <-> (tstzspan, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspan, tstzspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspan, tstzspanset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzspan, timestamptz), + OPERATOR 28 &<# (tstzspan, tstzspan), + OPERATOR 28 &<# (tstzspan, tstzspanset), + -- strictly before + OPERATOR 29 <<# (tstzspan, timestamptz), + OPERATOR 29 <<# (tstzspan, tstzspan), + OPERATOR 29 <<# (tstzspan, tstzspanset), + -- strictly after + OPERATOR 30 #>> (tstzspan, timestamptz), + OPERATOR 30 #>> (tstzspan, tstzspan), + OPERATOR 30 #>> (tstzspan, tstzspanset), + -- overlaps or after + OPERATOR 31 #&> (tstzspan, timestamptz), + OPERATOR 31 #&> (tstzspan, tstzspan), + OPERATOR 31 #&> (tstzspan, tstzspanset), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/012_spanset_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/012_spanset_indexes.in.sql new file mode 100644 index 000000000..806570f64 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/012_spanset_indexes.in.sql @@ -0,0 +1,789 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST and Quad-tree SP-GiST, and Kd-tree SP-GiST indexes for + * span set types + */ + +/****************************************************************************** + * R-tree GiST indexes + ******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, intspanset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_consistent(internal, bigintspanset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_consistent(internal, floatspanset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_consistent(internal, datespanset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_consistent(internal, tstzspanset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spanset_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intspanset_rtree_ops + DEFAULT FOR TYPE intspanset USING gist AS + STORAGE intspan, + -- strictly left + OPERATOR 1 << (intspanset, integer), + OPERATOR 1 << (intspanset, intspan), + OPERATOR 1 << (intspanset, intspanset), + -- overlaps or left + OPERATOR 2 &< (intspanset, integer), + OPERATOR 2 &< (intspanset, intspan), + OPERATOR 2 &< (intspanset, intspanset), + -- overlaps + OPERATOR 3 && (intspanset, intspan), + OPERATOR 3 && (intspanset, intspanset), + -- overlaps or right + OPERATOR 4 &> (intspanset, integer), + OPERATOR 4 &> (intspanset, intspan), + OPERATOR 4 &> (intspanset, intspanset), + -- strictly right + OPERATOR 5 >> (intspanset, integer), + OPERATOR 5 >> (intspanset, intspan), + OPERATOR 5 >> (intspanset, intspanset), + -- contains + OPERATOR 7 @> (intspanset, integer), + OPERATOR 7 @> (intspanset, intspan), + OPERATOR 7 @> (intspanset, intspanset), + -- contained by + OPERATOR 8 <@ (intspanset, intspan), + OPERATOR 8 <@ (intspanset, intspanset), + -- adjacent + OPERATOR 17 -|- (intspanset, intspan), + OPERATOR 17 -|- (intspanset, intspanset), + -- equals + OPERATOR 18 = (intspanset, intspanset), + -- nearest approach distance + OPERATOR 25 <-> (intspanset, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspanset, intspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspanset, intspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, intspanset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 spanset_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(intspan, intspan, internal), + FUNCTION 8 span_gist_distance(internal, intspan, smallint, oid, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintspanset_rtree_ops + DEFAULT FOR TYPE bigintspanset USING gist AS + STORAGE bigintspan, + -- strictly left + OPERATOR 1 << (bigintspanset, bigint), + OPERATOR 1 << (bigintspanset, bigintspan), + OPERATOR 1 << (bigintspanset, bigintspanset), + -- overlaps or left + OPERATOR 2 &< (bigintspanset, bigint), + OPERATOR 2 &< (bigintspanset, bigintspan), + OPERATOR 2 &< (bigintspanset, bigintspanset), + -- overlaps + OPERATOR 3 && (bigintspanset, bigintspan), + OPERATOR 3 && (bigintspanset, bigintspanset), + -- overlaps or right + OPERATOR 4 &> (bigintspanset, bigint), + OPERATOR 4 &> (bigintspanset, bigintspan), + OPERATOR 4 &> (bigintspanset, bigintspanset), + -- strictly right + OPERATOR 5 >> (bigintspanset, bigint), + OPERATOR 5 >> (bigintspanset, bigintspan), + OPERATOR 5 >> (bigintspanset, bigintspanset), + -- contains + OPERATOR 7 @> (bigintspanset, bigint), + OPERATOR 7 @> (bigintspanset, bigintspan), + OPERATOR 7 @> (bigintspanset, bigintspanset), + -- contained by + OPERATOR 8 <@ (bigintspanset, bigintspan), + OPERATOR 8 <@ (bigintspanset, bigintspanset), + -- adjacent + OPERATOR 17 -|- (bigintspanset, bigintspan), + OPERATOR 17 -|- (bigintspanset, bigintspanset), + -- equals + OPERATOR 18 = (bigintspanset, bigintspanset), + -- nearest approach distance + OPERATOR 25 <-> (bigintspanset, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspanset, bigintspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspanset, bigintspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, bigintspanset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 spanset_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(bigintspan, bigintspan, internal), + FUNCTION 8 span_gist_distance(internal, bigintspan, smallint, oid, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatspanset_rtree_ops + DEFAULT FOR TYPE floatspanset USING gist AS + STORAGE floatspan, + -- strictly left + OPERATOR 1 << (floatspanset, float), + OPERATOR 1 << (floatspanset, floatspan), + OPERATOR 1 << (floatspanset, floatspanset), + -- overlaps or left + OPERATOR 2 &< (floatspanset, float), + OPERATOR 2 &< (floatspanset, floatspan), + OPERATOR 2 &< (floatspanset, floatspanset), + -- overlaps + OPERATOR 3 && (floatspanset, floatspan), + OPERATOR 3 && (floatspanset, floatspanset), + -- overlaps or right + OPERATOR 4 &> (floatspanset, float), + OPERATOR 4 &> (floatspanset, floatspan), + OPERATOR 4 &> (floatspanset, floatspanset), + -- strictly right + OPERATOR 5 >> (floatspanset, float), + OPERATOR 5 >> (floatspanset, floatspan), + OPERATOR 5 >> (floatspanset, floatspanset), + -- contains + OPERATOR 7 @> (floatspanset, float), + OPERATOR 7 @> (floatspanset, floatspan), + OPERATOR 7 @> (floatspanset, floatspanset), + -- contained by + OPERATOR 8 <@ (floatspanset, floatspan), + OPERATOR 8 <@ (floatspanset, floatspanset), + -- adjacent + OPERATOR 17 -|- (floatspanset, floatspan), + OPERATOR 17 -|- (floatspanset, floatspanset), + -- equals + OPERATOR 18 = (floatspanset, floatspanset), + -- nearest approach distance + OPERATOR 25 <-> (floatspanset, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspanset, floatspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspanset, floatspanset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, floatspanset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 spanset_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(floatspan, floatspan, internal), + FUNCTION 8 span_gist_distance(internal, floatspan, smallint, oid, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS datespanset_rtree_ops + DEFAULT FOR TYPE datespanset USING gist AS + STORAGE datespan, + -- overlaps + OPERATOR 3 && (datespanset, datespan), + OPERATOR 3 && (datespanset, datespanset), + -- contains + OPERATOR 7 @> (datespanset, date), + OPERATOR 7 @> (datespanset, datespan), + OPERATOR 7 @> (datespanset, datespanset), + -- contained by + OPERATOR 8 <@ (datespanset, datespan), + OPERATOR 8 <@ (datespanset, datespanset), + -- adjacent + OPERATOR 17 -|- (datespanset, datespan), + OPERATOR 17 -|- (datespanset, datespanset), + -- equals + OPERATOR 18 = (datespanset, datespanset), + -- nearest approach distance + OPERATOR 25 <-> (datespanset, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespanset, datespan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespanset, datespanset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (datespanset, date), + OPERATOR 28 &<# (datespanset, datespan), + OPERATOR 28 &<# (datespanset, datespanset), + -- strictly before + OPERATOR 29 <<# (datespanset, date), + OPERATOR 29 <<# (datespanset, datespan), + OPERATOR 29 <<# (datespanset, datespanset), + -- strictly after + OPERATOR 30 #>> (datespanset, date), + OPERATOR 30 #>> (datespanset, datespan), + OPERATOR 30 #>> (datespanset, datespanset), + -- overlaps or after + OPERATOR 31 #&> (datespanset, date), + OPERATOR 31 #&> (datespanset, datespan), + OPERATOR 31 #&> (datespanset, datespanset), + -- functions + FUNCTION 1 span_gist_consistent(internal, datespanset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 spanset_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(datespan, datespan, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzspanset_rtree_ops + DEFAULT FOR TYPE tstzspanset USING gist AS + STORAGE tstzspan, + -- overlaps + OPERATOR 3 && (tstzspanset, tstzspan), + OPERATOR 3 && (tstzspanset, tstzspanset), + -- contains + OPERATOR 7 @> (tstzspanset, timestamptz), + OPERATOR 7 @> (tstzspanset, tstzspan), + OPERATOR 7 @> (tstzspanset, tstzspanset), + -- contained by + OPERATOR 8 <@ (tstzspanset, tstzspan), + OPERATOR 8 <@ (tstzspanset, tstzspanset), + -- adjacent + OPERATOR 17 -|- (tstzspanset, tstzspan), + OPERATOR 17 -|- (tstzspanset, tstzspanset), + -- equals + OPERATOR 18 = (tstzspanset, tstzspanset), + -- nearest approach distance + OPERATOR 25 <-> (tstzspanset, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspanset, tstzspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspanset, tstzspanset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzspanset, timestamptz), + OPERATOR 28 &<# (tstzspanset, tstzspan), + OPERATOR 28 &<# (tstzspanset, tstzspanset), + -- strictly before + OPERATOR 29 <<# (tstzspanset, timestamptz), + OPERATOR 29 <<# (tstzspanset, tstzspan), + OPERATOR 29 <<# (tstzspanset, tstzspanset), + -- strictly after + OPERATOR 30 #>> (tstzspanset, timestamptz), + OPERATOR 30 #>> (tstzspanset, tstzspan), + OPERATOR 30 #>> (tstzspanset, tstzspanset), + -- overlaps or after + OPERATOR 31 #&> (tstzspanset, timestamptz), + OPERATOR 31 #&> (tstzspanset, tstzspan), + OPERATOR 31 #&> (tstzspanset, tstzspanset), + -- functions + FUNCTION 1 span_gist_consistent(internal, tstzspanset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 spanset_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(tstzspan, tstzspan, internal); + +/****************************************************************************** + * Quad-tree SP-GiST indexes + ******************************************************************************/ + +CREATE FUNCTION spanset_spgist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_spgist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intspanset_quadtree_ops + DEFAULT FOR TYPE intspanset USING spgist AS + -- strictly left + OPERATOR 1 << (intspanset, integer), + OPERATOR 1 << (intspanset, intspan), + OPERATOR 1 << (intspanset, intspanset), + -- overlaps or left + OPERATOR 2 &< (intspanset, integer), + OPERATOR 2 &< (intspanset, intspan), + OPERATOR 2 &< (intspanset, intspanset), + -- overlaps + OPERATOR 3 && (intspanset, intspan), + OPERATOR 3 && (intspanset, intspanset), + -- overlaps or right + OPERATOR 4 &> (intspanset, integer), + OPERATOR 4 &> (intspanset, intspan), + OPERATOR 4 &> (intspanset, intspanset), + -- strictly right + OPERATOR 5 >> (intspanset, integer), + OPERATOR 5 >> (intspanset, intspan), + OPERATOR 5 >> (intspanset, intspanset), + -- contains + OPERATOR 7 @> (intspanset, integer), + OPERATOR 7 @> (intspanset, intspan), + OPERATOR 7 @> (intspanset, intspanset), + -- contained by + OPERATOR 8 <@ (intspanset, intspan), + OPERATOR 8 <@ (intspanset, intspanset), + -- adjacent + OPERATOR 17 -|- (intspanset, intspan), + OPERATOR 17 -|- (intspanset, intspanset), + -- equals + OPERATOR 18 = (intspanset, intspanset), + -- nearest approach distance + OPERATOR 25 <-> (intspanset, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspanset, intspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspanset, intspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintspanset_quadtree_ops + DEFAULT FOR TYPE bigintspanset USING spgist AS + -- strictly left + OPERATOR 1 << (bigintspanset, bigint), + OPERATOR 1 << (bigintspanset, bigintspan), + OPERATOR 1 << (bigintspanset, bigintspanset), + -- overlaps or left + OPERATOR 2 &< (bigintspanset, bigint), + OPERATOR 2 &< (bigintspanset, bigintspan), + OPERATOR 2 &< (bigintspanset, bigintspanset), + -- overlaps + OPERATOR 3 && (bigintspanset, bigintspan), + OPERATOR 3 && (bigintspanset, bigintspanset), + -- overlaps or right + OPERATOR 4 &> (bigintspanset, bigint), + OPERATOR 4 &> (bigintspanset, bigintspan), + OPERATOR 4 &> (bigintspanset, bigintspanset), + -- strictly right + OPERATOR 5 >> (bigintspanset, bigint), + OPERATOR 5 >> (bigintspanset, bigintspan), + OPERATOR 5 >> (bigintspanset, bigintspanset), + -- contains + OPERATOR 7 @> (bigintspanset, bigint), + OPERATOR 7 @> (bigintspanset, bigintspan), + OPERATOR 7 @> (bigintspanset, bigintspanset), + -- contained by + OPERATOR 8 <@ (bigintspanset, bigintspan), + OPERATOR 8 <@ (bigintspanset, bigintspanset), + -- adjacent + OPERATOR 17 -|- (bigintspanset, bigintspan), + OPERATOR 17 -|- (bigintspanset, bigintspanset), + -- equals + OPERATOR 18 = (bigintspanset, bigintspanset), + -- nearest approach distance + OPERATOR 25 <-> (bigintspanset, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspanset, bigintspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspanset, bigintspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatspanset_quadtree_ops + DEFAULT FOR TYPE floatspanset USING spgist AS + -- strictly left + OPERATOR 1 << (floatspanset, float), + OPERATOR 1 << (floatspanset, floatspan), + OPERATOR 1 << (floatspanset, floatspanset), + -- overlaps or left + OPERATOR 2 &< (floatspanset, float), + OPERATOR 2 &< (floatspanset, floatspan), + OPERATOR 2 &< (floatspanset, floatspanset), + -- overlaps + OPERATOR 3 && (floatspanset, floatspan), + OPERATOR 3 && (floatspanset, floatspanset), + -- overlaps or right + OPERATOR 4 &> (floatspanset, float), + OPERATOR 4 &> (floatspanset, floatspan), + OPERATOR 4 &> (floatspanset, floatspanset), + -- strictly right + OPERATOR 5 >> (floatspanset, float), + OPERATOR 5 >> (floatspanset, floatspan), + OPERATOR 5 >> (floatspanset, floatspanset), + -- contains + OPERATOR 7 @> (floatspanset, float), + OPERATOR 7 @> (floatspanset, floatspan), + OPERATOR 7 @> (floatspanset, floatspanset), + -- contained by + OPERATOR 8 <@ (floatspanset, floatspan), + OPERATOR 8 <@ (floatspanset, floatspanset), + -- adjacent + OPERATOR 17 -|- (floatspanset, floatspan), + OPERATOR 17 -|- (floatspanset, floatspanset), + -- equals + OPERATOR 18 = (floatspanset, floatspanset), + -- nearest approach distance + OPERATOR 25 <-> (floatspanset, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspanset, floatspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspanset, floatspanset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 floatspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS datespanset_quadtree_ops + DEFAULT FOR TYPE datespanset USING spgist AS + -- overlaps + OPERATOR 3 && (datespanset, datespan), + OPERATOR 3 && (datespanset, datespanset), + -- contains + OPERATOR 7 @> (datespanset, date), + OPERATOR 7 @> (datespanset, datespan), + OPERATOR 7 @> (datespanset, datespanset), + -- contained by + OPERATOR 8 <@ (datespanset, datespan), + OPERATOR 8 <@ (datespanset, datespanset), + -- adjacent + OPERATOR 17 -|- (datespanset, datespan), + OPERATOR 17 -|- (datespanset, datespanset), +-- equals + OPERATOR 18 = (datespanset, datespanset), + -- nearest approach distance + OPERATOR 25 <-> (datespanset, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespanset, datespan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespanset, datespanset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (datespanset, date), + OPERATOR 28 &<# (datespanset, datespan), + OPERATOR 28 &<# (datespanset, datespanset), + -- strictly before + OPERATOR 29 <<# (datespanset, date), + OPERATOR 29 <<# (datespanset, datespan), + OPERATOR 29 <<# (datespanset, datespanset), + -- strictly after + OPERATOR 30 #>> (datespanset, date), + OPERATOR 30 #>> (datespanset, datespan), + OPERATOR 30 #>> (datespanset, datespanset), + -- overlaps or after + OPERATOR 31 #&> (datespanset, date), + OPERATOR 31 #&> (datespanset, datespan), + OPERATOR 31 #&> (datespanset, datespanset), + -- functions + FUNCTION 1 datespan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzspanset_quadtree_ops + DEFAULT FOR TYPE tstzspanset USING spgist AS + -- overlaps + OPERATOR 3 && (tstzspanset, tstzspan), + OPERATOR 3 && (tstzspanset, tstzspanset), + -- contains + OPERATOR 7 @> (tstzspanset, timestamptz), + OPERATOR 7 @> (tstzspanset, tstzspan), + OPERATOR 7 @> (tstzspanset, tstzspanset), + -- contained by + OPERATOR 8 <@ (tstzspanset, tstzspan), + OPERATOR 8 <@ (tstzspanset, tstzspanset), + -- adjacent + OPERATOR 17 -|- (tstzspanset, tstzspan), + OPERATOR 17 -|- (tstzspanset, tstzspanset), +-- equals + OPERATOR 18 = (tstzspanset, tstzspanset), + -- nearest approach distance + OPERATOR 25 <-> (tstzspanset, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspanset, tstzspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspanset, tstzspanset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzspanset, timestamptz), + OPERATOR 28 &<# (tstzspanset, tstzspan), + OPERATOR 28 &<# (tstzspanset, tstzspanset), + -- strictly before + OPERATOR 29 <<# (tstzspanset, timestamptz), + OPERATOR 29 <<# (tstzspanset, tstzspan), + OPERATOR 29 <<# (tstzspanset, tstzspanset), + -- strictly after + OPERATOR 30 #>> (tstzspanset, timestamptz), + OPERATOR 30 #>> (tstzspanset, tstzspan), + OPERATOR 30 #>> (tstzspanset, tstzspanset), + -- overlaps or after + OPERATOR 31 #&> (tstzspanset, timestamptz), + OPERATOR 31 #&> (tstzspanset, tstzspan), + OPERATOR 31 #&> (tstzspanset, tstzspanset), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/****************************************************************************** + * Kd-tree SP-GiST indexes + ******************************************************************************/ + +CREATE OPERATOR CLASS intspanset_kdtree_ops + FOR TYPE intspanset USING spgist AS + -- strictly left + OPERATOR 1 << (intspanset, integer), + OPERATOR 1 << (intspanset, intspan), + OPERATOR 1 << (intspanset, intspanset), + -- overlaps or left + OPERATOR 2 &< (intspanset, integer), + OPERATOR 2 &< (intspanset, intspan), + OPERATOR 2 &< (intspanset, intspanset), + -- overlaps + OPERATOR 3 && (intspanset, intspan), + OPERATOR 3 && (intspanset, intspanset), + -- overlaps or right + OPERATOR 4 &> (intspanset, integer), + OPERATOR 4 &> (intspanset, intspan), + OPERATOR 4 &> (intspanset, intspanset), + -- strictly right + OPERATOR 5 >> (intspanset, integer), + OPERATOR 5 >> (intspanset, intspan), + OPERATOR 5 >> (intspanset, intspanset), + -- contains + OPERATOR 7 @> (intspanset, integer), + OPERATOR 7 @> (intspanset, intspan), + OPERATOR 7 @> (intspanset, intspanset), + -- contained by + OPERATOR 8 <@ (intspanset, intspan), + OPERATOR 8 <@ (intspanset, intspanset), + -- adjacent + OPERATOR 17 -|- (intspanset, intspan), + OPERATOR 17 -|- (intspanset, intspanset), + -- equals + OPERATOR 18 = (intspanset, intspanset), + -- nearest approach distance + OPERATOR 25 <-> (intspanset, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspanset, intspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intspanset, intspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintspanset_kdtree_ops + FOR TYPE bigintspanset USING spgist AS + -- strictly left + OPERATOR 1 << (bigintspanset, bigint), + OPERATOR 1 << (bigintspanset, bigintspan), + OPERATOR 1 << (bigintspanset, bigintspanset), + -- overlaps or left + OPERATOR 2 &< (bigintspanset, bigint), + OPERATOR 2 &< (bigintspanset, bigintspan), + OPERATOR 2 &< (bigintspanset, bigintspanset), + -- overlaps + OPERATOR 3 && (bigintspanset, bigintspan), + OPERATOR 3 && (bigintspanset, bigintspanset), + -- overlaps or right + OPERATOR 4 &> (bigintspanset, bigint), + OPERATOR 4 &> (bigintspanset, bigintspan), + OPERATOR 4 &> (bigintspanset, bigintspanset), + -- strictly right + OPERATOR 5 >> (bigintspanset, bigint), + OPERATOR 5 >> (bigintspanset, bigintspan), + OPERATOR 5 >> (bigintspanset, bigintspanset), + -- contains + OPERATOR 7 @> (bigintspanset, bigint), + OPERATOR 7 @> (bigintspanset, bigintspan), + OPERATOR 7 @> (bigintspanset, bigintspanset), + -- contained by + OPERATOR 8 <@ (bigintspanset, bigintspan), + OPERATOR 8 <@ (bigintspanset, bigintspanset), + -- adjacent + OPERATOR 17 -|- (bigintspanset, bigintspan), + OPERATOR 17 -|- (bigintspanset, bigintspanset), + -- equals + OPERATOR 18 = (bigintspanset, bigintspanset), + -- nearest approach distance + OPERATOR 25 <-> (bigintspanset, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspanset, bigintspan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintspanset, bigintspanset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatspanset_kdtree_ops + FOR TYPE floatspanset USING spgist AS + -- strictly left + OPERATOR 1 << (floatspanset, float), + OPERATOR 1 << (floatspanset, floatspan), + OPERATOR 1 << (floatspanset, floatspanset), + -- overlaps or left + OPERATOR 2 &< (floatspanset, float), + OPERATOR 2 &< (floatspanset, floatspan), + OPERATOR 2 &< (floatspanset, floatspanset), + -- overlaps + OPERATOR 3 && (floatspanset, floatspan), + OPERATOR 3 && (floatspanset, floatspanset), + -- overlaps or right + OPERATOR 4 &> (floatspanset, float), + OPERATOR 4 &> (floatspanset, floatspan), + OPERATOR 4 &> (floatspanset, floatspanset), + -- strictly right + OPERATOR 5 >> (floatspanset, float), + OPERATOR 5 >> (floatspanset, floatspan), + OPERATOR 5 >> (floatspanset, floatspanset), + -- contains + OPERATOR 7 @> (floatspanset, float), + OPERATOR 7 @> (floatspanset, floatspan), + OPERATOR 7 @> (floatspanset, floatspanset), + -- contained by + OPERATOR 8 <@ (floatspanset, floatspan), + OPERATOR 8 <@ (floatspanset, floatspanset), + -- adjacent + OPERATOR 17 -|- (floatspanset, floatspan), + OPERATOR 17 -|- (floatspanset, floatspanset), + -- equals + OPERATOR 18 = (floatspanset, floatspanset), + -- nearest approach distance + OPERATOR 25 <-> (floatspanset, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspanset, floatspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatspanset, floatspanset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 floatspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS datespanset_kdtree_ops + FOR TYPE datespanset USING spgist AS + -- overlaps + OPERATOR 3 && (datespanset, datespan), + OPERATOR 3 && (datespanset, datespanset), + -- contains + OPERATOR 7 @> (datespanset, date), + OPERATOR 7 @> (datespanset, datespan), + OPERATOR 7 @> (datespanset, datespanset), + -- contained by + OPERATOR 8 <@ (datespanset, datespan), + OPERATOR 8 <@ (datespanset, datespanset), + -- adjacent + OPERATOR 17 -|- (datespanset, datespan), + OPERATOR 17 -|- (datespanset, datespanset), +-- equals + OPERATOR 18 = (datespanset, datespanset), + -- nearest approach distance + OPERATOR 25 <-> (datespanset, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespanset, datespan) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (datespanset, datespanset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (datespanset, date), + OPERATOR 28 &<# (datespanset, datespan), + OPERATOR 28 &<# (datespanset, datespanset), + -- strictly before + OPERATOR 29 <<# (datespanset, date), + OPERATOR 29 <<# (datespanset, datespan), + OPERATOR 29 <<# (datespanset, datespanset), + -- strictly after + OPERATOR 30 #>> (datespanset, date), + OPERATOR 30 #>> (datespanset, datespan), + OPERATOR 30 #>> (datespanset, datespanset), + -- overlaps or after + OPERATOR 31 #&> (datespanset, date), + OPERATOR 31 #&> (datespanset, datespan), + OPERATOR 31 #&> (datespanset, datespanset), + -- functions + FUNCTION 1 datespan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzspanset_kdtree_ops + FOR TYPE tstzspanset USING spgist AS + -- overlaps + OPERATOR 3 && (tstzspanset, tstzspan), + OPERATOR 3 && (tstzspanset, tstzspanset), + -- contains + OPERATOR 7 @> (tstzspanset, timestamptz), + OPERATOR 7 @> (tstzspanset, tstzspan), + OPERATOR 7 @> (tstzspanset, tstzspanset), + -- contained by + OPERATOR 8 <@ (tstzspanset, tstzspan), + OPERATOR 8 <@ (tstzspanset, tstzspanset), + -- adjacent + OPERATOR 17 -|- (tstzspanset, tstzspan), + OPERATOR 17 -|- (tstzspanset, tstzspanset), +-- equals + OPERATOR 18 = (tstzspanset, tstzspanset), + -- nearest approach distance + OPERATOR 25 <-> (tstzspanset, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspanset, tstzspan) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzspanset, tstzspanset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzspanset, timestamptz), + OPERATOR 28 &<# (tstzspanset, tstzspan), + OPERATOR 28 &<# (tstzspanset, tstzspanset), + -- strictly before + OPERATOR 29 <<# (tstzspanset, timestamptz), + OPERATOR 29 <<# (tstzspanset, tstzspan), + OPERATOR 29 <<# (tstzspanset, tstzspanset), + -- strictly after + OPERATOR 30 #>> (tstzspanset, timestamptz), + OPERATOR 30 #>> (tstzspanset, tstzspan), + OPERATOR 30 #>> (tstzspanset, tstzspanset), + -- overlaps or after + OPERATOR 31 #&> (tstzspanset, timestamptz), + OPERATOR 31 #&> (tstzspanset, tstzspan), + OPERATOR 31 #&> (tstzspanset, tstzspanset), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 spanset_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/013_set_indexes.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/013_set_indexes.in.sql new file mode 100644 index 000000000..a1869c674 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/013_set_indexes.in.sql @@ -0,0 +1,774 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST, Quad-tree SP-GiST, and Kd-tree SP-GiST indexes for set + * types + */ + +/****************************************************************************** + * R-tree GiST indexes + ******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, intset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, intset, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intset_rtree_ops + DEFAULT FOR TYPE intset USING gist AS + STORAGE intspan, + -- strictly left + OPERATOR 1 << (intset, integer), + OPERATOR 1 << (intset, intset), + -- overlaps or left + OPERATOR 2 &< (intset, integer), + OPERATOR 2 &< (intset, intset), + -- overlaps + OPERATOR 3 && (intset, intset), + -- overlaps or right + OPERATOR 4 &> (intset, integer), + OPERATOR 4 &> (intset, intset), + -- strictly right + OPERATOR 5 >> (intset, integer), + OPERATOR 5 >> (intset, intset), + -- contains + OPERATOR 7 @> (intset, integer), + OPERATOR 7 @> (intset, intset), + -- contained by + OPERATOR 8 <@ (intset, intset), + -- equals + OPERATOR 18 = (intset, intset), + -- nearest approach distance + OPERATOR 25 <-> (intset, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intset, intset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, intset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 set_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(intspan, intspan, internal), + FUNCTION 8 span_gist_distance(internal, intset, smallint, oid, internal); + +/******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, bigintset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, bigintset, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintset_rtree_ops + DEFAULT FOR TYPE bigintset USING gist AS + STORAGE bigintspan, + -- strictly left + OPERATOR 1 << (bigintset, bigint), + OPERATOR 1 << (bigintset, bigintset), + -- overlaps or left + OPERATOR 2 &< (bigintset, bigint), + OPERATOR 2 &< (bigintset, bigintset), + -- overlaps + OPERATOR 3 && (bigintset, bigintset), + -- overlaps or right + OPERATOR 4 &> (bigintset, bigint), + OPERATOR 4 &> (bigintset, bigintset), + -- strictly right + OPERATOR 5 >> (bigintset, bigint), + OPERATOR 5 >> (bigintset, bigintset), + -- contains + OPERATOR 7 @> (bigintset, bigint), + OPERATOR 7 @> (bigintset, bigintset), + -- contained by + OPERATOR 8 <@ (bigintset, bigintset), + -- equals + OPERATOR 18 = (bigintset, bigintset), + -- nearest approach distance + OPERATOR 25 <-> (bigintset, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintset, bigintset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, bigintset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 set_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(bigintspan, bigintspan, internal), + FUNCTION 8 span_gist_distance(internal, bigintset, smallint, oid, internal); + +/******************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, floatset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION span_gist_distance(internal, floatset, smallint, oid, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Span_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatset_rtree_ops + DEFAULT FOR TYPE floatset USING gist AS + STORAGE floatspan, + -- strictly left + OPERATOR 1 << (floatset, float), + OPERATOR 1 << (floatset, floatset), + -- overlaps or left + OPERATOR 2 &< (floatset, float), + OPERATOR 2 &< (floatset, floatset), + -- overlaps + OPERATOR 3 && (floatset, floatset), + -- overlaps or right + OPERATOR 4 &> (floatset, float), + OPERATOR 4 &> (floatset, floatset), + -- strictly right + OPERATOR 5 >> (floatset, float), + OPERATOR 5 >> (floatset, floatset), + -- contains + OPERATOR 7 @> (floatset, float), + OPERATOR 7 @> (floatset, floatset), + -- contained by + OPERATOR 8 <@ (floatset, floatset), + -- equals + OPERATOR 18 = (floatset, floatset), + -- nearest approach distance + OPERATOR 25 <-> (floatset, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatset, floatset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 span_gist_consistent(internal, floatset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 set_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(floatspan, floatspan, internal), + FUNCTION 8 span_gist_distance(internal, floatset, smallint, oid, internal); + +/*****************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, dateset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE OPERATOR CLASS dateset_rtree_ops + DEFAULT FOR TYPE dateset USING gist AS + STORAGE datespan, + -- overlaps + OPERATOR 3 && (dateset, dateset), + -- contains + OPERATOR 7 @> (dateset, date), + OPERATOR 7 @> (dateset, dateset), + -- contained by + OPERATOR 8 <@ (dateset, dateset), + -- equals + OPERATOR 18 = (dateset, dateset), + -- nearest approach distance + OPERATOR 25 <-> (dateset, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (dateset, dateset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (dateset, date), + OPERATOR 28 &<# (dateset, dateset), + -- strictly before + OPERATOR 29 <<# (dateset, date), + OPERATOR 29 <<# (dateset, dateset), + -- strictly after + OPERATOR 30 #>> (dateset, date), + OPERATOR 30 #>> (dateset, dateset), + -- overlaps or after + OPERATOR 31 #&> (dateset, date), + OPERATOR 31 #&> (dateset, dateset), + -- functions + FUNCTION 1 span_gist_consistent(internal, dateset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 set_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(datespan, datespan, internal); + +/*****************************************************************************/ + +CREATE FUNCTION span_gist_consistent(internal, tstzset, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE OPERATOR CLASS tstzset_rtree_ops + DEFAULT FOR TYPE tstzset USING gist AS + STORAGE tstzspan, + -- overlaps + OPERATOR 3 && (tstzset, tstzset), + -- contains + OPERATOR 7 @> (tstzset, timestamptz), + OPERATOR 7 @> (tstzset, tstzset), + -- contained by + OPERATOR 8 <@ (tstzset, tstzset), + -- equals + OPERATOR 18 = (tstzset, tstzset), + -- nearest approach distance + OPERATOR 25 <-> (tstzset, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzset, tstzset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzset, timestamptz), + OPERATOR 28 &<# (tstzset, tstzset), + -- strictly before + OPERATOR 29 <<# (tstzset, timestamptz), + OPERATOR 29 <<# (tstzset, tstzset), + -- strictly after + OPERATOR 30 #>> (tstzset, timestamptz), + OPERATOR 30 #>> (tstzset, tstzset), + -- overlaps or after + OPERATOR 31 #&> (tstzset, timestamptz), + OPERATOR 31 #&> (tstzset, tstzset), + -- functions + FUNCTION 1 span_gist_consistent(internal, tstzset, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 set_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(tstzspan, tstzspan, internal); + +/****************************************************************************** + * Quad-tree SP-GiST indexes + ******************************************************************************/ + +CREATE FUNCTION intset_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Intspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION bigintset_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Bigintspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatset_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Floatspan_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION set_spgist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Set_spgist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intset_quadtree_ops + DEFAULT FOR TYPE intset USING spgist AS + -- strictly left + OPERATOR 1 << (intset, integer), + OPERATOR 1 << (intset, intset), + -- overlaps or left + OPERATOR 2 &< (intset, integer), + OPERATOR 2 &< (intset, intset), + -- overlaps + OPERATOR 3 && (intset, intset), + -- overlaps or right + OPERATOR 4 &> (intset, integer), + OPERATOR 4 &> (intset, intset), + -- strictly right + OPERATOR 5 >> (intset, integer), + OPERATOR 5 >> (intset, intset), + -- contains + OPERATOR 7 @> (intset, integer), + OPERATOR 7 @> (intset, intset), + -- contained by + OPERATOR 8 <@ (intset, intset), + -- equals + OPERATOR 18 = (intset, intset), + -- nearest approach distance + OPERATOR 25 <-> (intset, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intset, intset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intset_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintset_quadtree_ops + DEFAULT FOR TYPE bigintset USING spgist AS + -- strictly left + OPERATOR 1 << (bigintset, bigint), + OPERATOR 1 << (bigintset, bigintset), + -- overlaps or left + OPERATOR 2 &< (bigintset, bigint), + OPERATOR 2 &< (bigintset, bigintset), + -- overlaps + OPERATOR 3 && (bigintset, bigintset), + -- overlaps or right + OPERATOR 4 &> (bigintset, bigint), + OPERATOR 4 &> (bigintset, bigintset), + -- strictly right + OPERATOR 5 >> (bigintset, bigint), + OPERATOR 5 >> (bigintset, bigintset), + -- contains + OPERATOR 7 @> (bigintset, bigint), + OPERATOR 7 @> (bigintset, bigintset), + -- contained by + OPERATOR 8 <@ (bigintset, bigintset), + -- equals + OPERATOR 18 = (bigintset, bigintset), + -- nearest approach distance + OPERATOR 25 <-> (bigintset, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintset, bigintset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intset_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatset_quadtree_ops + DEFAULT FOR TYPE floatset USING spgist AS + -- strictly left + OPERATOR 1 << (floatset, float), + OPERATOR 1 << (floatset, floatset), + -- overlaps or left + OPERATOR 2 &< (floatset, float), + OPERATOR 2 &< (floatset, floatset), + -- overlaps + OPERATOR 3 && (floatset, floatset), + -- overlaps or right + OPERATOR 4 &> (floatset, float), + OPERATOR 4 &> (floatset, floatset), + -- strictly right + OPERATOR 5 >> (floatset, float), + OPERATOR 5 >> (floatset, floatset), + -- contains + OPERATOR 7 @> (floatset, float), + OPERATOR 7 @> (floatset, floatset), + -- contained by + OPERATOR 8 <@ (floatset, floatset), + -- equals + OPERATOR 18 = (floatset, floatset), + -- nearest approach distance + OPERATOR 25 <-> (floatset, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatset, floatset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 floatset_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS dateset_quadtree_ops + DEFAULT FOR TYPE dateset USING spgist AS + -- overlaps + OPERATOR 3 && (dateset, dateset), + -- contains + OPERATOR 7 @> (dateset, date), + OPERATOR 7 @> (dateset, dateset), + -- contained by + OPERATOR 8 <@ (dateset, dateset), + -- equals + OPERATOR 18 = (dateset, dateset), + -- nearest approach distance + OPERATOR 25 <-> (dateset, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (dateset, dateset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (dateset, date), + OPERATOR 28 &<# (dateset, dateset), + -- strictly before + OPERATOR 29 <<# (dateset, date), + OPERATOR 29 <<# (dateset, dateset), + -- strictly after + OPERATOR 30 #>> (dateset, date), + OPERATOR 30 #>> (dateset, dateset), + -- overlaps or after + OPERATOR 31 #&> (dateset, date), + OPERATOR 31 #&> (dateset, dateset), + -- functions + FUNCTION 1 datespan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzset_quadtree_ops + DEFAULT FOR TYPE tstzset USING spgist AS + -- overlaps + OPERATOR 3 && (tstzset, tstzset), + -- contains + OPERATOR 7 @> (tstzset, timestamptz), + OPERATOR 7 @> (tstzset, tstzset), + -- contained by + OPERATOR 8 <@ (tstzset, tstzset), + -- equals + OPERATOR 18 = (tstzset, tstzset), + -- nearest approach distance + OPERATOR 25 <-> (tstzset, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzset, tstzset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzset, timestamptz), + OPERATOR 28 &<# (tstzset, tstzset), + -- strictly before + OPERATOR 29 <<# (tstzset, timestamptz), + OPERATOR 29 <<# (tstzset, tstzset), + -- strictly after + OPERATOR 30 #>> (tstzset, timestamptz), + OPERATOR 30 #>> (tstzset, tstzset), + -- overlaps or after + OPERATOR 31 #&> (tstzset, timestamptz), + OPERATOR 31 #&> (tstzset, tstzset), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/****************************************************************************** + * Kd-tree indexes + ******************************************************************************/ + +CREATE OPERATOR CLASS intset_kdtree_ops + FOR TYPE intset USING spgist AS + -- strictly left + OPERATOR 1 << (intset, integer), + OPERATOR 1 << (intset, intset), + -- overlaps or left + OPERATOR 2 &< (intset, integer), + OPERATOR 2 &< (intset, intset), + -- overlaps + OPERATOR 3 && (intset, intset), + -- overlaps or right + OPERATOR 4 &> (intset, integer), + OPERATOR 4 &> (intset, intset), + -- strictly right + OPERATOR 5 >> (intset, integer), + OPERATOR 5 >> (intset, intset), + -- contains + OPERATOR 7 @> (intset, integer), + OPERATOR 7 @> (intset, intset), + -- contained by + OPERATOR 8 <@ (intset, intset), + -- equals + OPERATOR 18 = (intset, intset), + -- nearest approach distance + OPERATOR 25 <-> (intset, integer) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (intset, intset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intset_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintset_kdtree_ops + FOR TYPE bigintset USING spgist AS + -- strictly left + OPERATOR 1 << (bigintset, bigint), + OPERATOR 1 << (bigintset, bigintset), + -- overlaps or left + OPERATOR 2 &< (bigintset, bigint), + OPERATOR 2 &< (bigintset, bigintset), + -- overlaps + OPERATOR 3 && (bigintset, bigintset), + -- overlaps or right + OPERATOR 4 &> (bigintset, bigint), + OPERATOR 4 &> (bigintset, bigintset), + -- strictly right + OPERATOR 5 >> (bigintset, bigint), + OPERATOR 5 >> (bigintset, bigintset), + -- contains + OPERATOR 7 @> (bigintset, bigint), + OPERATOR 7 @> (bigintset, bigintset), + -- contained by + OPERATOR 8 <@ (bigintset, bigintset), + -- equals + OPERATOR 18 = (bigintset, bigintset), + -- nearest approach distance + OPERATOR 25 <-> (bigintset, bigint) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (bigintset, bigintset) FOR ORDER BY pg_catalog.integer_ops, + -- functions + FUNCTION 1 intset_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS floatset_kdtree_ops + FOR TYPE floatset USING spgist AS + -- strictly left + OPERATOR 1 << (floatset, float), + OPERATOR 1 << (floatset, floatset), + -- overlaps or left + OPERATOR 2 &< (floatset, float), + OPERATOR 2 &< (floatset, floatset), + -- overlaps + OPERATOR 3 && (floatset, floatset), + -- overlaps or right + OPERATOR 4 &> (floatset, float), + OPERATOR 4 &> (floatset, floatset), + -- strictly right + OPERATOR 5 >> (floatset, float), + OPERATOR 5 >> (floatset, floatset), + -- contains + OPERATOR 7 @> (floatset, float), + OPERATOR 7 @> (floatset, floatset), + -- contained by + OPERATOR 8 <@ (floatset, floatset), + -- equals + OPERATOR 18 = (floatset, floatset), + -- nearest approach distance + OPERATOR 25 <-> (floatset, float) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (floatset, floatset) FOR ORDER BY pg_catalog.float_ops, + -- functions + FUNCTION 1 floatset_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS dateset_kdtree_ops + FOR TYPE dateset USING spgist AS + -- overlaps + OPERATOR 3 && (dateset, dateset), + -- contains + OPERATOR 7 @> (dateset, date), + OPERATOR 7 @> (dateset, dateset), + -- contained by + OPERATOR 8 <@ (dateset, dateset), + -- equals + OPERATOR 18 = (dateset, dateset), + -- nearest approach distance + OPERATOR 25 <-> (dateset, date) FOR ORDER BY pg_catalog.integer_ops, + OPERATOR 25 <-> (dateset, dateset) FOR ORDER BY pg_catalog.integer_ops, + -- overlaps or before + OPERATOR 28 &<# (dateset, date), + OPERATOR 28 &<# (dateset, dateset), + -- strictly before + OPERATOR 29 <<# (dateset, date), + OPERATOR 29 <<# (dateset, dateset), + -- strictly after + OPERATOR 30 #>> (dateset, date), + OPERATOR 30 #>> (dateset, dateset), + -- overlaps or after + OPERATOR 31 #&> (dateset, date), + OPERATOR 31 #&> (dateset, dateset), + -- functions + FUNCTION 1 datespan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tstzset_kdtree_ops + FOR TYPE tstzset USING spgist AS + -- overlaps + OPERATOR 3 && (tstzset, tstzset), + -- contains + OPERATOR 7 @> (tstzset, timestamptz), + OPERATOR 7 @> (tstzset, tstzset), + -- contained by + OPERATOR 8 <@ (tstzset, tstzset), + -- equals + OPERATOR 18 = (tstzset, tstzset), + -- nearest approach distance + OPERATOR 25 <-> (tstzset, timestamptz) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 <-> (tstzset, tstzset) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tstzset, timestamptz), + OPERATOR 28 &<# (tstzset, tstzset), + -- strictly before + OPERATOR 29 <<# (tstzset, timestamptz), + OPERATOR 29 <<# (tstzset, tstzset), + -- strictly after + OPERATOR 30 #>> (tstzset, timestamptz), + OPERATOR 30 #>> (tstzset, tstzset), + -- overlaps or after + OPERATOR 31 #&> (tstzset, timestamptz), + OPERATOR 31 #&> (tstzset, tstzset), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 set_spgist_compress(internal); + +/****************************************************************************** + * GIN indexes + ******************************************************************************/ + +CREATE FUNCTION set_gin_extract_value(integer, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Set_gin_extract_value' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gin_extract_query(integer, internal, int2, internal, internal, internal, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Set_gin_extract_query' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gin_triconsistent(internal, int2, integer, int4, internal, internal, internal) +RETURNS char +AS 'MODULE_PATHNAME', 'Set_gin_triconsistent' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS intset_gin_ops + DEFAULT FOR TYPE intset USING gin AS + STORAGE integer, + -- overlaps + OPERATOR 10 && (intset, intset), + -- contains value + OPERATOR 20 @> (intset, integer), + -- contains set + OPERATOR 21 @> (intset, intset), + -- contained + OPERATOR 30 <@ (intset, intset), + -- same + OPERATOR 40 = (intset, intset), + -- functions + FUNCTION 2 set_gin_extract_value(integer, internal), + FUNCTION 3 set_gin_extract_query(integer, internal, int2, internal, internal, internal, internal), + FUNCTION 6 set_gin_triconsistent(internal, int2, integer, int4, internal, internal, internal); + +/******************************************************************************/ + +CREATE FUNCTION set_gin_extract_value(bigint, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Set_gin_extract_value' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gin_extract_query(bigint, internal, int2, internal, internal, internal, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Set_gin_extract_query' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gin_triconsistent(internal, int2, bigint, int4, internal, internal, internal) +RETURNS char +AS 'MODULE_PATHNAME', 'Set_gin_triconsistent' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS bigintset_gin_ops + DEFAULT FOR TYPE bigintset USING gin AS + STORAGE bigint, + -- overlaps + OPERATOR 10 && (bigintset, bigintset), + -- contains value + OPERATOR 20 @> (bigintset, bigint), + -- contains set + OPERATOR 21 @> (bigintset, bigintset), + -- contained + OPERATOR 30 <@ (bigintset, bigintset), + -- equal + OPERATOR 40 = (bigintset, bigintset), + -- functions + FUNCTION 2 set_gin_extract_value(bigint, internal), + FUNCTION 3 set_gin_extract_query(bigint, internal, int2, internal, internal, internal, internal), + FUNCTION 6 set_gin_triconsistent(internal, int2, bigint, int4, internal, internal, internal); + +/******************************************************************************/ + +CREATE FUNCTION set_gin_extract_value(date, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Set_gin_extract_value' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gin_extract_query(date, internal, int2, internal, internal, internal, internal) +RETURNS internal +AS 'MODULE_PATHNAME', 'Set_gin_extract_query' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION set_gin_triconsistent(internal, int2, date, int4, internal, internal, internal) +RETURNS char +AS 'MODULE_PATHNAME', 'Set_gin_triconsistent' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS dateset_gin_ops + DEFAULT FOR TYPE dateset USING gin AS + STORAGE date, + -- overlaps + OPERATOR 10 && (dateset, dateset), + -- contains value + OPERATOR 20 @> (dateset, date), + -- contains set + OPERATOR 21 @> (dateset, dateset), + -- contained + OPERATOR 30 <@ (dateset, dateset), + -- same + OPERATOR 40 = (dateset, dateset), + -- functions + FUNCTION 2 set_gin_extract_value(date, internal), + FUNCTION 3 set_gin_extract_query(date, internal, int2, internal, internal, internal, internal), + FUNCTION 6 set_gin_triconsistent(internal, int2, date, int4, internal, internal, internal); + +/******************************************************************************/ + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/015_span_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/015_span_aggfuncs.in.sql new file mode 100644 index 000000000..985fbcbd6 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/015_span_aggfuncs.in.sql @@ -0,0 +1,438 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Aggregate functions for types whose bounding box is a span + */ + +/*****************************************************************************/ +-- span + span + +-- The function is not strict +CREATE FUNCTION span_extent_transfn(intspan, intspan) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_combinefn(intspan, intspan) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Span_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION span_extent_transfn(bigintspan, bigintspan) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_combinefn(bigintspan, bigintspan) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Span_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION span_extent_transfn(floatspan, floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_combinefn(floatspan, floatspan) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Span_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_transfn(datespan, datespan) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_combinefn(datespan, datespan) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Span_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_transfn(tstzspan, tstzspan) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_combinefn(tstzspan, tstzspan) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(intspan) ( + SFUNC = span_extent_transfn, + STYPE = intspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(bigintspan) ( + SFUNC = span_extent_transfn, + STYPE = bigintspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(floatspan) ( + SFUNC = span_extent_transfn, + STYPE = floatspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(datespan) ( + SFUNC = span_extent_transfn, + STYPE = datespan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(tstzspan) ( + SFUNC = span_extent_transfn, + STYPE = tstzspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); + +/*****************************************************************************/ +-- span + base + +-- The function is not strict +CREATE FUNCTION span_extent_transfn(intspan, integer) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Spanbase_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_transfn(bigintspan, bigint) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Spanbase_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_transfn(floatspan, float) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Spanbase_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_transfn(datespan, date) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Spanbase_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION span_extent_transfn(tstzspan, timestamptz) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Spanbase_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(integer) ( + SFUNC = span_extent_transfn, + STYPE = intspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(bigint) ( + SFUNC = span_extent_transfn, + STYPE = bigintspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(float) ( + SFUNC = span_extent_transfn, + STYPE = floatspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(date) ( + SFUNC = span_extent_transfn, + STYPE = datespan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(timestamptz) ( + SFUNC = span_extent_transfn, + STYPE = tstzspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); + +/*****************************************************************************/ +-- span + + +-- The function is not strict +CREATE FUNCTION set_extent_transfn(intspan, intset) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Set_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_extent_transfn(bigintspan, bigintset) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Set_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_extent_transfn(floatspan, floatset) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Set_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_extent_transfn(datespan, dateset) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Set_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION set_extent_transfn(tstzspan, tstzset) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Set_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(intset) ( + SFUNC = set_extent_transfn, + STYPE = intspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(bigintset) ( + SFUNC = set_extent_transfn, + STYPE = bigintspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(floatset) ( + SFUNC = set_extent_transfn, + STYPE = floatspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(dateset) ( + SFUNC = set_extent_transfn, + STYPE = datespan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(tstzset) ( + SFUNC = set_extent_transfn, + STYPE = tstzspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); + +-- The function is not strict +CREATE FUNCTION spanset_extent_transfn(intspan, intspanset) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Spanset_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_extent_transfn(bigintspan, bigintspanset) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Spanset_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_extent_transfn(floatspan, floatspanset) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Spanset_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_extent_transfn(datespan, datespanset) + RETURNS datespan + AS 'MODULE_PATHNAME', 'Spanset_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_extent_transfn(tstzspan, tstzspanset) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Spanset_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(intspanset) ( + SFUNC = spanset_extent_transfn, + STYPE = intspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(bigintspanset) ( + SFUNC = spanset_extent_transfn, + STYPE = bigintspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(floatspanset) ( + SFUNC = spanset_extent_transfn, + STYPE = floatspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(datespanset) ( + SFUNC = spanset_extent_transfn, + STYPE = datespan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(tstzspanset) ( + SFUNC = spanset_extent_transfn, + STYPE = tstzspan, + COMBINEFUNC = span_extent_combinefn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION intspan_union_finalfn(internal) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Span_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION bigintspan_union_finalfn(internal) + RETURNS bigintspanset + AS 'MODULE_PATHNAME', 'Span_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION floatspan_union_finalfn(internal) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Span_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION datespan_union_finalfn(internal) + RETURNS datespanset + AS 'MODULE_PATHNAME', 'Span_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tstzspan_union_finalfn(internal) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Span_union_finalfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE spanUnion(intspan) ( + SFUNC = array_agg_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = intspan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(bigintspan) ( + SFUNC = array_agg_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = bigintspan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(floatspan) ( + SFUNC = array_agg_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = floatspan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(datespan) ( + SFUNC = array_agg_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = datespan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(tstzspan) ( + SFUNC = array_agg_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = tstzspan_union_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION spanset_union_transfn(internal, intspanset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_union_transfn(internal, bigintspanset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_union_transfn(internal, floatspanset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_union_transfn(internal, datespanset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION spanset_union_transfn(internal, tstzspanset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Spanset_union_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE spanUnion(intspanset) ( + SFUNC = spanset_union_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = intspan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(bigintspanset) ( + SFUNC = spanset_union_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = bigintspan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(floatspanset) ( + SFUNC = spanset_union_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = floatspan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(datespanset) ( + SFUNC = spanset_union_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = datespan_union_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE spanUnion(tstzspanset) ( + SFUNC = spanset_union_transfn, + STYPE = internal, +#if POSTGRESQL_VERSION_NUMBER >= 160000 + COMBINEFUNC = array_agg_combine, + SERIALFUNC = array_agg_serialize, + DESERIALFUNC = array_agg_deserialize, +#endif //POSTGRESQL_VERSION_NUMBER >= 160000 + FINALFUNC = tstzspan_union_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/019_geo_constructors.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/019_geo_constructors.in.sql new file mode 100644 index 000000000..65849ded3 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/019_geo_constructors.in.sql @@ -0,0 +1,70 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief SQL constructors for PostgreSQL geometric types + */ + +CREATE FUNCTION point(float, float) + RETURNS point + AS 'MODULE_PATHNAME', 'point_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION line(float, float, float) + RETURNS line + AS 'MODULE_PATHNAME', 'line_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lseg(point, point) + RETURNS lseg + AS 'MODULE_PATHNAME', 'lseg_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION box(point, point) + RETURNS box + AS 'MODULE_PATHNAME', 'box_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION circle(point, float) + RETURNS circle + AS 'MODULE_PATHNAME', 'circle_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION path(point[]) + RETURNS path + AS 'MODULE_PATHNAME', 'path_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION polygon(point[]) + RETURNS polygon + AS 'MODULE_PATHNAME', 'poly_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/021_tbox.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/021_tbox.in.sql new file mode 100644 index 000000000..083a97937 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/021_tbox.in.sql @@ -0,0 +1,625 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Functions for temporal bounding boxes + */ + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE TYPE tbox; + +CREATE FUNCTION tbox_in(cstring) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_out(tbox) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Tbox_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_recv(internal) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_send(tbox) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tbox_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tbox ( + internallength = 56, + input = tbox_in, + output = tbox_out, + receive = tbox_recv, + send = tbox_send, + storage = plain, + alignment = double +); + +-- Input/output in WKB and HexWKB representation + +CREATE FUNCTION tboxFromBinary(bytea) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tboxFromHexWKB(text) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(tbox, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Tbox_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asBinary(tbox, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Tbox_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(tbox, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Tbox_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Constructor functions + ******************************************************************************/ + +CREATE FUNCTION tbox(integer, timestamptz) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Number_timestamptz_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(intspan, timestamptz) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Numspan_timestamptz_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(float, timestamptz) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Number_timestamptz_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(floatspan, timestamptz) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Numspan_timestamptz_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(integer, tstzspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Number_tstzspan_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(intspan, tstzspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Numspan_tstzspan_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(float, tstzspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Number_tstzspan_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(floatspan, tstzspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Numspan_tstzspan_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Conversion functions + *****************************************************************************/ + +CREATE FUNCTION tbox(integer) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Number_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(float) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Number_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(numeric) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Numeric_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(timestamptz) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Timestamptz_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbox(intset) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Set_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(floatset) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Set_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(tstzset) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Set_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbox(intspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Span_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(floatspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Span_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(tstzspan) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Span_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbox(intspanset) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Spanset_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(floatspanset) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Spanset_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(tstzspanset) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Spanset_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (integer AS tbox) WITH FUNCTION tbox(integer); +CREATE CAST (float AS tbox) WITH FUNCTION tbox(float); +CREATE CAST (numeric AS tbox) WITH FUNCTION tbox(numeric); +CREATE CAST (timestamptz AS tbox) WITH FUNCTION tbox(timestamptz); + +CREATE CAST (intset AS tbox) WITH FUNCTION tbox(intset); +CREATE CAST (floatset AS tbox) WITH FUNCTION tbox(floatset); +CREATE CAST (tstzset AS tbox) WITH FUNCTION tbox(tstzset); + +CREATE CAST (intspan AS tbox) WITH FUNCTION tbox(intspan); +CREATE CAST (floatspan AS tbox) WITH FUNCTION tbox(floatspan); +CREATE CAST (tstzspan AS tbox) WITH FUNCTION tbox(tstzspan); + +CREATE CAST (intspanset AS tbox) WITH FUNCTION tbox(intspanset); +CREATE CAST (floatspanset AS tbox) WITH FUNCTION tbox(floatspanset); +CREATE CAST (tstzspanset AS tbox) WITH FUNCTION tbox(tstzspanset); + +CREATE FUNCTION intspan(tbox) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Tbox_to_intspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION floatspan(tbox) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Tbox_to_floatspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(tbox) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Tbox_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tbox AS intspan) WITH FUNCTION intspan(tbox); +CREATE CAST (tbox AS floatspan) WITH FUNCTION floatspan(tbox); +CREATE CAST (tbox AS tstzspan) WITH FUNCTION timeSpan(tbox); + +/***************************************************************************** + * Accessor functions + *****************************************************************************/ + +CREATE FUNCTION hasX(tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_hasx' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION hasT(tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_hast' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION Xmin(tbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Tbox_xmin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION XminInc(tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_xmin_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Xmax(tbox) + RETURNS float + AS 'MODULE_PATHNAME', 'Tbox_xmax' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION XmaxInc(tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_xmax_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Tmin(tbox) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tbox_tmin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION TminInc(tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_tmin_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION Tmax(tbox) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tbox_tmax' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION TmaxInc(tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_tmax_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transformation functions + *****************************************************************************/ + +CREATE FUNCTION shiftValue(tbox, integer) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_shift_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftValue(tbox, float) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_shift_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftTime(tbox, interval) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleValue(tbox, integer) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleValue(tbox, float) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleTime(tbox, interval) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleValue(tbox, integer, integer) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_shift_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleValue(tbox, float, float) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_shift_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleTime(tbox, interval, interval) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION expandValue(tbox, integer) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_expand_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expandValue(tbox, float) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_expand_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION expandTime(tbox, interval) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_expand_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tbox, integer DEFAULT 0) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Selectivity functions + *****************************************************************************/ + +CREATE FUNCTION tnumber_sel(internal, oid, internal, integer) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_sel' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION tnumber_joinsel(internal, oid, internal, smallint, internal) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_joinsel' + LANGUAGE C IMMUTABLE STRICT; + +/***************************************************************************** + * Topological operators + *****************************************************************************/ + +CREATE FUNCTION tbox_contains(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_contained(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_overlaps(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_same(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_adjacent(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = tbox_contains, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = tbox_contained, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = tbox_overlaps, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = tbox_same, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = tbox_adjacent, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * Position operators + *****************************************************************************/ + +CREATE FUNCTION tbox_left(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_overleft(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_right(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_overright(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_before(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_overbefore(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_after(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_overafter(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + PROCEDURE = tbox_left, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + PROCEDURE = tbox_overleft, + LEFTARG = tbox, RIGHTARG = tbox, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tbox, RIGHTARG = tbox, + PROCEDURE = tbox_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + PROCEDURE = tbox_overright, + LEFTARG = tbox, RIGHTARG = tbox, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + PROCEDURE = tbox_before, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + PROCEDURE = tbox_overbefore, + LEFTARG = tbox, RIGHTARG = tbox, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + PROCEDURE = tbox_after, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + PROCEDURE = tbox_overafter, + LEFTARG = tbox, RIGHTARG = tbox, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * Set operators + *****************************************************************************/ + +CREATE FUNCTION tbox_union(tbox, tbox) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Union_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_intersection(tbox, tbox) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Intersection_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = tbox_union, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = + +); +CREATE OPERATOR * ( + PROCEDURE = tbox_intersection, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = * +); + +/***************************************************************************** + * Extent aggregation + *****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tbox_extent_transfn(tbox, tbox) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tbox_extent_combinefn(tbox, tbox) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(tbox) ( + SFUNC = tbox_extent_transfn, + STYPE = tbox, + COMBINEFUNC = tbox_extent_combinefn, + PARALLEL = safe +); + +/***************************************************************************** + * Comparison + *****************************************************************************/ + +CREATE FUNCTION tbox_eq(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_ne(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_lt(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_le(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_ge(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_gt(tbox, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tbox_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_cmp(tbox, tbox) + RETURNS int4 + AS 'MODULE_PATHNAME', 'Tbox_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR = ( + LEFTARG = tbox, RIGHTARG = tbox, + PROCEDURE = tbox_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tbox, RIGHTARG = tbox, + PROCEDURE = tbox_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR < ( + PROCEDURE = tbox_lt, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = areasel, JOIN = areajoinsel +); +CREATE OPERATOR <= ( + PROCEDURE = tbox_le, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = areasel, JOIN = areajoinsel +); +CREATE OPERATOR >= ( + PROCEDURE = tbox_ge, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = areasel, JOIN = areajoinsel +); +CREATE OPERATOR > ( + PROCEDURE = tbox_gt, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = areasel, JOIN = areajoinsel +); + +CREATE OPERATOR CLASS tbox_btree_ops + DEFAULT FOR TYPE tbox USING btree AS + OPERATOR 1 < , + OPERATOR 2 <= , + OPERATOR 3 = , + OPERATOR 4 >= , + OPERATOR 5 > , + FUNCTION 1 tbox_cmp(tbox, tbox); + +/*****************************************************************************/ + +CREATE FUNCTION tbox_hash(tbox) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tbox_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbox_hash_extended(tbox, bigint) + RETURNS bigint + AS 'MODULE_PATHNAME', 'Tbox_hash_extended' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tbox_hash_ops + DEFAULT FOR TYPE tbox USING hash AS + OPERATOR 1 = , + FUNCTION 1 tbox_hash(tbox), + FUNCTION 2 tbox_hash_extended(tbox, bigint); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/022_temporal.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/022_temporal.in.sql new file mode 100644 index 000000000..a80850147 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/022_temporal.in.sql @@ -0,0 +1,2188 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Basic functions for temporal types + */ + +CREATE TYPE tbool; +CREATE TYPE tint; +CREATE TYPE tfloat; +CREATE TYPE ttext; + +/***************************************************************************** + * Utility functions + *****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION mobilitydb_version() + RETURNS text + AS 'MODULE_PATHNAME', 'Mobilitydb_version' + LANGUAGE C IMMUTABLE; + +CREATE FUNCTION mobilitydb_full_version() + RETURNS text + AS 'MODULE_PATHNAME', 'Mobilitydb_full_version' + LANGUAGE C IMMUTABLE; + +/****************************************************************************** + * Input/Output + ******************************************************************************/ + +CREATE FUNCTION tbool_in(cstring, oid, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint_in(cstring, oid, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat_in(cstring, oid, integer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext_in(cstring, oid, integer) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION temporal_out(tbool) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(tint) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(tfloat) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_out(ttext) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbool_recv(internal, oid, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint_recv(internal, oid, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat_recv(internal, oid, integer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext_recv(internal, oid, integer) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_recv' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION temporal_send(tbool) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tint) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(tfloat) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_send(ttext) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_send' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION temporal_typmod_in(cstring[]) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_typmod_in' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_typmod_out(integer) + RETURNS cstring + AS 'MODULE_PATHNAME', 'Temporal_typmod_out' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION temporal_analyze(internal) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_analyze' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE TYPE tbool ( + internallength = variable, + input = tbool_in, + output = temporal_out, + send = temporal_send, + receive = tbool_recv, + typmod_in = temporal_typmod_in, + typmod_out = temporal_typmod_out, + storage = extended, + alignment = double, + analyze = temporal_analyze +); +CREATE TYPE tint ( + internallength = variable, + input = tint_in, + output = temporal_out, + send = temporal_send, + receive = tint_recv, + typmod_in = temporal_typmod_in, + typmod_out = temporal_typmod_out, + storage = extended, + alignment = double, + analyze = temporal_analyze +); +CREATE TYPE tfloat ( + internallength = variable, + input = tfloat_in, + output = temporal_out, + send = temporal_send, + receive = tfloat_recv, + typmod_in = temporal_typmod_in, + typmod_out = temporal_typmod_out, + storage = extended, + alignment = double, + analyze = temporal_analyze +); +CREATE TYPE ttext ( + internallength = variable, + input = ttext_in, + output = temporal_out, + send = temporal_send, + receive = ttext_recv, + typmod_in = temporal_typmod_in, + typmod_out = temporal_typmod_out, + storage = extended, + alignment = double, + analyze = temporal_analyze +); + +-- Special cast for enforcing the typmod restrictions +CREATE FUNCTION tbool(tbool, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat(tfloat, integer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext(ttext, integer) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_enforce_typmod' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tbool AS tbool) WITH FUNCTION tbool(tbool, integer) AS IMPLICIT; +CREATE CAST (tint AS tint) WITH FUNCTION tint(tint, integer) AS IMPLICIT; +CREATE CAST (tfloat AS tfloat) WITH FUNCTION tfloat(tfloat, integer) AS IMPLICIT; +CREATE CAST (ttext AS ttext) WITH FUNCTION ttext(ttext, integer) AS IMPLICIT; + +/****************************************************************************** + * Constructor functions + ******************************************************************************/ + +CREATE FUNCTION tbool(boolean, timestamptz) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint(integer, timestamptz) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat(float, timestamptz) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext(text, timestamptz) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tinstant_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbool(boolean, tstzset) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint(integer, tstzset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat(float, tstzset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext(text, tstzset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbool(boolean, tstzspan) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint(integer, tstzspan) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat(float, tstzspan, text DEFAULT 'linear') + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext(text, tstzspan) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tsequence_from_base_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tbool(boolean, tstzspanset) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint(integer, tstzspanset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat(float, tstzspanset, text DEFAULT 'linear') + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext(text, tstzspanset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tsequenceset_from_base_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION tboolSeq(tbool[], text DEFAULT 'step', + lowerInc boolean DEFAULT true, upperInc boolean DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tintSeq(tint[], text DEFAULT 'step', + lowerInc boolean DEFAULT true, upperInc boolean DEFAULT true) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloatSeq(tfloat[], text DEFAULT 'linear', + lowerInc boolean DEFAULT true, upperInc boolean DEFAULT true) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttextSeq(ttext[], text DEFAULT 'step', + lowerInc boolean DEFAULT true, upperInc boolean DEFAULT true) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tsequence_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tboolSeqSet(tbool[]) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tintSeqSet(tint[]) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloatSeqSet(tfloat[]) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttextSeqSet(ttext[]) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tboolSeqSetGaps(tbool[], maxt interval DEFAULT NULL) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tintSeqSetGaps(tint[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloatSeqSetGaps(tfloat[], maxt interval DEFAULT NULL, + maxdist float DEFAULT NULL, text DEFAULT 'linear') + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttextSeqSetGaps(ttext[], maxt interval DEFAULT NULL) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Tsequenceset_constructor_gaps' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +/****************************************************************************** + * Conversion functions + ******************************************************************************/ + +CREATE FUNCTION timeSpan(tbool) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(tint) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(tfloat) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timeSpan(ttext) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_to_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueSpan(tint) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Tnumber_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueSpan(tfloat) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Tnumber_to_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tbool AS tstzspan) WITH FUNCTION timeSpan(tbool); +CREATE CAST (tint AS tstzspan) WITH FUNCTION timeSpan(tint); +CREATE CAST (tfloat AS tstzspan) WITH FUNCTION timeSpan(tfloat); +CREATE CAST (ttext AS tstzspan) WITH FUNCTION timeSpan(ttext); + +CREATE CAST (tint AS intspan) WITH FUNCTION valueSpan(tint); +CREATE CAST (tfloat AS floatspan) WITH FUNCTION valueSpan(tfloat); + +CREATE FUNCTION tint(tbool) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tbool_to_tint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE CAST (tbool AS tint) WITH FUNCTION tint(tbool); + +CREATE FUNCTION tfloat(tint) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tint_to_tfloat' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint(tfloat) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tfloat_to_tint' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tint AS tfloat) WITH FUNCTION tfloat(tint); +CREATE CAST (tfloat AS tint) WITH FUNCTION tint(tfloat); + +CREATE FUNCTION tbox(tint) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tnumber_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox(tfloat) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tnumber_to_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE CAST (tint AS tbox) WITH FUNCTION tbox(tint); +CREATE CAST (tfloat AS tbox) WITH FUNCTION tbox(tfloat); + +/****************************************************************************** + * Accessor functions + ******************************************************************************/ + +CREATE FUNCTION tempSubtype(tbool) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tempSubtype(tint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tempSubtype(tfloat) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tempSubtype(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_subtype' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION interp(tbool) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION interp(tint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION interp(tfloat) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION interp(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION memSize(tbool) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(tfloat) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION memSize(ttext) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_mem_size' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- values is a reserved word in SQL +CREATE FUNCTION getValue(tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValue(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValue(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValue(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Tinstant_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- values is a reserved word in SQL +CREATE FUNCTION getValues(tbool) + RETURNS boolean[] + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(tint) + RETURNS intspanset + AS 'MODULE_PATHNAME', 'Tnumber_valuespans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(tfloat) + RETURNS floatspanset + AS 'MODULE_PATHNAME', 'Tnumber_valuespans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getValues(ttext) + RETURNS textset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueSet(tint) + RETURNS intset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueSet(tfloat) + RETURNS floatset + AS 'MODULE_PATHNAME', 'Temporal_valueset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startValue(tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startValue(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_start_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endValue(tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endValue(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_end_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minValue(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_min_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minValue(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_min_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minValue(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_min_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION maxValue(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_max_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION maxValue(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_max_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION maxValue(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_max_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION avgValue(tint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_avg_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION avgValue(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_avg_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueN(tbool, integer) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(tint, integer) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(tfloat, integer) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueN(ttext, integer) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_value_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minInstant(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_min_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minInstant(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_min_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minInstant(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_min_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION maxInstant(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_max_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION maxInstant(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_max_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION maxInstant(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_max_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- timestamp is a reserved word in SQL +CREATE FUNCTION getTimestamp(tbool) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTimestamp(tint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTimestamp(tfloat) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTimestamp(ttext) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Tinstant_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- time is a reserved word in SQL +CREATE FUNCTION getTime(tbool) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTime(tint) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTime(tfloat) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getTime(ttext) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION duration(tbool, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(tint, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(tfloat, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION duration(ttext, boundspan boolean DEFAULT FALSE) + RETURNS interval + AS 'MODULE_PATHNAME', 'Temporal_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numSequences(tbool) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSequences(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSequences(tfloat) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numSequences(ttext) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startSequence(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSequence(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSequence(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startSequence(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_start_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endSequence(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSequence(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSequence(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endSequence(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_end_sequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequenceN(tbool, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequenceN(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequenceN(tfloat, integer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequenceN(ttext, integer) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_sequence_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION sequences(tbool) + RETURNS tbool[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequences(tint) + RETURNS tint[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequences(tfloat) + RETURNS tfloat[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION sequences(ttext) + RETURNS ttext[] + AS 'MODULE_PATHNAME', 'Temporal_sequences' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segments(tbool) + RETURNS tbool[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segments(tint) + RETURNS tint[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segments(tfloat) + RETURNS tfloat[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segments(ttext) + RETURNS ttext[] + AS 'MODULE_PATHNAME', 'Temporal_segments' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lowerInc(tbool) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(tint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(tfloat) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION lowerInc(ttext) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_lower_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION upperInc(tbool) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(tint) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(tfloat) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION upperInc(ttext) + RETURNS bool + AS 'MODULE_PATHNAME', 'Temporal_upper_inc' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numInstants(tbool) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numInstants(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numInstants(tfloat) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numInstants(ttext) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startInstant(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startInstant(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startInstant(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startInstant(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_start_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endInstant(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endInstant(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endInstant(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endInstant(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_end_instant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instantN(tbool, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instantN(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instantN(tfloat, integer) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instantN(ttext, integer) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_instant_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION instants(tbool) + RETURNS tbool[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instants(tint) + RETURNS tint[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instants(tfloat) + RETURNS tfloat[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION instants(ttext) + RETURNS ttext[] + AS 'MODULE_PATHNAME', 'Temporal_instants' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION numTimestamps(tbool) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numTimestamps(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numTimestamps(tfloat) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION numTimestamps(ttext) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_num_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION startTimestamp(tbool) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startTimestamp(tint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startTimestamp(tfloat) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION startTimestamp(ttext) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_start_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION endTimestamp(tbool) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endTimestamp(tint) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endTimestamp(tfloat) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION endTimestamp(ttext) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_end_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestampN(tbool, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestampN(tint, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestampN(tfloat, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestampN(ttext, integer) + RETURNS timestamptz + AS 'MODULE_PATHNAME', 'Temporal_timestamptz_n' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timestamps(tbool) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestamps(tint) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestamps(tfloat) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION timestamps(ttext) + RETURNS timestamptz[] + AS 'MODULE_PATHNAME', 'Temporal_timestamps' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Transform a temporal value to a set of records + *****************************************************************************/ + +CREATE TYPE int_tstzspanset AS ( + value integer, + time tstzspanset +); +CREATE TYPE float_tstzspanset AS ( + value float, + time tstzspanset +); +CREATE TYPE text_tstzspanset AS ( + value text, + time tstzspanset +); + +CREATE FUNCTION unnest(tint) + RETURNS SETOF int_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(tfloat) + RETURNS SETOF float_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION unnest(ttext) + RETURNS SETOF text_tstzspanset + AS 'MODULE_PATHNAME', 'Temporal_unnest' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/****************************************************************************** + * Transformation functions + ******************************************************************************/ + +CREATE FUNCTION tboolInst(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tintInst(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloatInst(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttextInst(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_to_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tboolSeq(tbool, text DEFAULT NULL) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tintSeq(tint, text DEFAULT NULL) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloatSeq(tfloat, text DEFAULT NULL) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttextSeq(ttext, text DEFAULT NULL) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_to_tsequence' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION tboolSeqSet(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tintSeqSet(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloatSeqSet(tfloat, text DEFAULT NULL) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttextSeqSet(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_to_tsequenceset' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION setInterp(tbool, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setInterp(tint, text) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setInterp(tfloat, text) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION setInterp(ttext, text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_set_interp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION shiftValue(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_shift_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftValue(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_shift_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleValue(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleValue(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleValue(tint, integer, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_shift_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleValue(tfloat, float, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_shift_scale_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION shiftTime(tbool, interval) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftTime(tint, interval) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftTime(tfloat, interval) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftTime(ttext, interval) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_shift_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION scaleTime(tbool, interval) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleTime(tint, interval) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleTime(tfloat, interval) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION scaleTime(ttext, interval) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION shiftScaleTime(tbool, interval, interval) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleTime(tint, interval, interval) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleTime(tfloat, interval, interval) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION shiftScaleTime(ttext, interval, interval) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_shift_scale_time' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tprecision(tint, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_tprecision' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tprecision(tfloat, duration interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_tprecision' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tsample(tbool, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tsample(tint, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tsample(tfloat, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tsample(ttext, duration interval, + origin timestamptz DEFAULT '2000-01-03', interp text DEFAULT 'discrete') + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_tsample' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION appendInstant(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(ttext, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendInstant(tbool, tbool, interp text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(tint, tint, interp text) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(tfloat, tfloat, interp text) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendInstant(ttext, ttext, interp text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_append_tinstant' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION appendSequence(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendSequence(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendSequence(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION appendSequence(ttext, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_append_tsequence' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- The function is not strict +CREATE FUNCTION merge(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION merge(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION merge(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION merge(ttext, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_merge' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION merge(tbool[]) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(tint[]) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(tfloat[]) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION merge(ttext[]) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_merge_array' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Restriction functions + *****************************************************************************/ + +CREATE FUNCTION atValues(tbool, boolean) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(ttext, text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tbool, boolean) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(ttext, text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tint, intset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tfloat, floatset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(ttext, textset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tint, intset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tfloat, floatset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(ttext, textset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_values' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tint, intspan) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_at_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tfloat, floatspan) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_at_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tint, intspan) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_minus_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tfloat, floatspan) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_minus_span' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atValues(tint, intspanset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_at_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atValues(tfloat, floatspanset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_at_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusValues(tint, intspanset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_minus_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusValues(tfloat, floatspanset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_minus_spanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atMin(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_min' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atMin(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_min' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atMin(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_min' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusMin(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_min' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusMin(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_min' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusMin(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_min' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atMax(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_max' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atMax(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_max' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atMax(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_max' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusMax(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_max' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusMax(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_max' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusMax(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_max' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTbox(tint, tbox) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_at_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTbox(tfloat, tbox) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_at_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTbox(tint, tbox) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_minus_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTbox(tfloat, tbox) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_minus_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tbool, timestamptz) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tint, timestamptz) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tfloat, timestamptz) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(ttext, timestamptz) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tbool, timestamptz) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tint, timestamptz) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tfloat, timestamptz) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(ttext, timestamptz) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueAtTimestamp(tbool, timestamptz) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueAtTimestamp(tint, timestamptz) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueAtTimestamp(tfloat, timestamptz) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION valueAtTimestamp(ttext, timestamptz) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_value_at_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tbool, tstzset) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tint, tstzset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tfloat, tstzset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(ttext, tstzset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tbool, tstzset) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tint, tstzset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tfloat, tstzset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(ttext, tstzset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tbool, tstzspan) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tint, tstzspan) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tfloat, tstzspan) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(ttext, tstzspan) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tbool, tstzspan) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tint, tstzspan) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tfloat, tstzspan) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(ttext, tstzspan) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION atTime(tbool, tstzspanset) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tint, tstzspanset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(tfloat, tstzspanset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION atTime(ttext, tstzspanset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_at_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minusTime(tbool, tstzspanset) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tint, tstzspanset) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(tfloat, tstzspanset) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION minusTime(ttext, tstzspanset) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_minus_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION beforeTimestamp(tbool, timestamptz, strict bool DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION beforeTimestamp(tint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION beforeTimestamp(tfloat, timestamptz, strict bool DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION beforeTimestamp(ttext, timestamptz, strict bool DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_before_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION afterTimestamp(tbool, timestamptz, strict bool DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION afterTimestamp(tint, timestamptz, strict bool DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION afterTimestamp(tfloat, timestamptz, strict bool DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION afterTimestamp(ttext, timestamptz, strict bool DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_after_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Modification Functions + *****************************************************************************/ + +CREATE FUNCTION insert(tbool, tbool, connect boolean DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_insert' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION insert(tint, tint, connect boolean DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_insert' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION insert(tfloat, tfloat, connect boolean DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_insert' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION insert(ttext, ttext, connect boolean DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_insert' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION update(tbool, tbool, connect boolean DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION update(tint, tint, connect boolean DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION update(tfloat, tfloat, connect boolean DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION update(ttext, ttext, connect boolean DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_update' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tbool, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tint, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tfloat, timestamptz, connect boolean DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(ttext, timestamptz, connect boolean DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_delete_timestamptz' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tbool, tstzset, connect boolean DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tint, tstzset, connect boolean DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tfloat, tstzset, connect boolean DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(ttext, tstzset, connect boolean DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tbool, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tint, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tfloat, tstzspan, connect boolean DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(ttext, tstzspan, connect boolean DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deleteTime(tbool, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tint, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(tfloat, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deleteTime(ttext, tstzspanset, connect boolean DEFAULT TRUE) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_delete_tstzspanset' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Segment Duration Functions + *****************************************************************************/ + +CREATE FUNCTION segmentMinDuration(tbool, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_min_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segmentMinDuration(tint, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_min_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segmentMinDuration(tfloat, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_min_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segmentMinDuration(ttext, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_min_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION segmentMaxDuration(tbool, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_max_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segmentMaxDuration(tint, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_max_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segmentMaxDuration(tfloat, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_max_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION segmentMaxDuration(ttext, interval, bool DEFAULT true) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_segm_max_duration' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Stops Functions + *****************************************************************************/ + +CREATE FUNCTION stops(tfloat, maxdist float DEFAULT 0.0, + minduration interval DEFAULT '0 minutes') + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_stops' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION stops(tfloat, minduration interval) + RETURNS tfloat + AS 'SELECT @extschema@.stops($1, 0.0, $2)' + LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Local Aggregate Functions + *****************************************************************************/ + +CREATE FUNCTION integral(tint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_integral' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION integral(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_integral' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION twAvg(tint) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_twavg' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION twAvg(tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Tnumber_twavg' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Selectivity functions for operators + *****************************************************************************/ + +CREATE FUNCTION temporal_sel(internal, oid, internal, integer) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_sel' + LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION temporal_joinsel(internal, oid, internal, smallint, internal) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_joinsel' + LANGUAGE C IMMUTABLE STRICT; + +/****************************************************************************** + * Comparison functions and B-tree indexing + ******************************************************************************/ + +CREATE FUNCTION temporal_lt(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tbool, tbool) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = temporal_sel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = temporal_sel, JOIN = scalarltjoinsel +); +CREATE OPERATOR = ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = temporal_sel, JOIN = scalargtjoinsel +); +CREATE OPERATOR > ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = temporal_sel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS tbool_btree_ops + DEFAULT FOR TYPE tbool USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tbool, tbool); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_lt(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tint, tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR = ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +CREATE OPERATOR CLASS tint_btree_ops + DEFAULT FOR TYPE tint USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tint, tint); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_lt(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(tfloat, tfloat) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR = ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR > ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +CREATE OPERATOR CLASS tfloat_btree_ops + DEFAULT FOR TYPE tfloat USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(tfloat, tfloat); + +/******************************************************************************/ + +CREATE FUNCTION temporal_lt(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_lt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_le(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_le' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_eq(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_eq' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ne(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ne' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_ge(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_ge' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_gt(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Temporal_gt' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_cmp(ttext, ttext) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_cmp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR < ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_lt, + COMMUTATOR = >, NEGATOR = >=, + RESTRICT = temporal_sel, JOIN = scalarltjoinsel +); +CREATE OPERATOR <= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_le, + COMMUTATOR = >=, NEGATOR = >, + RESTRICT = temporal_sel, JOIN = scalarltjoinsel +); +CREATE OPERATOR = ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_eq, + COMMUTATOR = =, NEGATOR = <>, + RESTRICT = eqsel, JOIN = eqjoinsel +); +CREATE OPERATOR <> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_ne, + COMMUTATOR = <>, NEGATOR = =, + RESTRICT = neqsel, JOIN = neqjoinsel +); +CREATE OPERATOR >= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_ge, + COMMUTATOR = <=, NEGATOR = <, + RESTRICT = temporal_sel, JOIN = scalargtjoinsel +); +CREATE OPERATOR > ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_gt, + COMMUTATOR = <, NEGATOR = <=, + RESTRICT = temporal_sel, JOIN = scalargtjoinsel +); + +CREATE OPERATOR CLASS ttext_btree_ops + DEFAULT FOR TYPE ttext USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 temporal_cmp(ttext, ttext); + +/******************************************************************************/ + +CREATE FUNCTION temporal_hash(tbool) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_hash(tint) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_hash(tfloat) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_hash(ttext) + RETURNS integer + AS 'MODULE_PATHNAME', 'Temporal_hash' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR CLASS tbool_hash_ops + DEFAULT FOR TYPE tbool USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tbool); +CREATE OPERATOR CLASS tint_hash_ops + DEFAULT FOR TYPE tint USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tint); +CREATE OPERATOR CLASS tfloat_hash_ops + DEFAULT FOR TYPE tfloat USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(tfloat); +CREATE OPERATOR CLASS ttext_hash_ops + DEFAULT FOR TYPE ttext USING hash AS + OPERATOR 1 = , + FUNCTION 1 temporal_hash(ttext); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/023_temporal_inout.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/023_temporal_inout.in.sql new file mode 100644 index 000000000..45b5ba1a2 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/023_temporal_inout.in.sql @@ -0,0 +1,190 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Input/output of temporal types in WKT, MF-JSON, and WKB + * representation + */ + +/***************************************************************************** + * Input + *****************************************************************************/ + +CREATE FUNCTION tboolFromMFJSON(text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tintFromMFJSON(text) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloatFromMFJSON(text) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttextFromMFJSON(text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_from_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION tboolFromBinary(bytea) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tintFromBinary(bytea) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloatFromBinary(bytea) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttextFromBinary(bytea) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_from_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tboolFromHexWKB(text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tintFromHexWKB(text) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloatFromHexWKB(text) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttextFromHexWKB(text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_from_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Output + *****************************************************************************/ + +CREATE FUNCTION asText(tbool) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tbool[]) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Temporalarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(tint) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tint[]) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Temporalarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(tfloat, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(tfloat[], maxdecimaldigits int4 DEFAULT 15) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Temporalarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asText(ttext) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asText(ttext[]) + RETURNS text[] + AS 'MODULE_PATHNAME', 'Temporalarr_as_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asMFJSON(temp tbool, options int4 DEFAULT 0, + flags int4 DEFAULT 0) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asMFJSON(temp tint, options int4 DEFAULT 0, + flags int4 DEFAULT 0) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asMFJSON(temp tfloat, options int4 DEFAULT 0, + flags int4 DEFAULT 0, maxdecimaldigits int4 DEFAULT 15) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asMFJSON(temp ttext, options int4 DEFAULT 0, + flags int4 DEFAULT 0) + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_mfjson' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION asBinary(tbool, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tint, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(tfloat, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asBinary(ttext, endianenconding text DEFAULT '') + RETURNS bytea + AS 'MODULE_PATHNAME', 'Temporal_as_wkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION asHexWKB(tbool, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(tint, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(tfloat, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION asHexWKB(ttext, endianenconding text DEFAULT '') + RETURNS text + AS 'MODULE_PATHNAME', 'Temporal_as_hexwkb' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/025_temporal_tile.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/025_temporal_tile.in.sql new file mode 100644 index 000000000..491dbef01 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/025_temporal_tile.in.sql @@ -0,0 +1,316 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bin and tile functions for temporal types + * @note The time bin function are inspired from TimescaleDB + * https://docs.timescale.com/api/latest/hyperfunctions/time_bucket/ + */ + +/***************************************************************************** + * Bins + *****************************************************************************/ + +CREATE FUNCTION bins(intspan, vsize int, vorigin int DEFAULT 0) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Span_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION bins(bigintspan, vsize bigint, vorigin int DEFAULT 0) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Span_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION bins(floatspan, vsize float, vorigin float DEFAULT 0.0) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Span_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION bins(datespan, tsize interval, + torigin date DEFAULT '2000-01-01') + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Span_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION bins(tstzspan, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Span_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE FUNCTION bins(intspanset, vsize int, vorigin int DEFAULT 0) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Spanset_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION bins(bigintspanset, vsize bigint, vorigin int DEFAULT 0) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Spanset_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION bins(floatspanset, vsize float, vorigin float DEFAULT 0.0) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Spanset_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION bins(datespanset, tsize interval, + torigin date DEFAULT '2000-01-01') + RETURNS datespan[] + AS 'MODULE_PATHNAME', 'Spanset_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION bins(tstzspanset, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Spanset_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE FUNCTION getBin("value" integer, size integer, origin integer DEFAULT 0) + RETURNS intspan + AS 'MODULE_PATHNAME', 'Value_bin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getBin("value" bigint, size bigint, origin bigint DEFAULT 0) + RETURNS bigintspan + AS 'MODULE_PATHNAME', 'Value_bin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getBin("value" float, size float, origin float DEFAULT 0.0) + RETURNS floatspan + AS 'MODULE_PATHNAME', 'Value_bin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getBin(date, interval, date DEFAULT '2000-01-03') + RETURNS datespan + AS 'MODULE_PATHNAME', 'Date_bin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION getBin(timestamptz, interval, timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Timestamptz_bin' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION timeBins(tbool, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_time_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeBins(tint, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_time_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeBins(tfloat, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_time_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeBins(ttext, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_time_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION valueBins(tint, vsize int, vorigin int DEFAULT 0) + RETURNS intspan[] + AS 'MODULE_PATHNAME', 'Tnumber_value_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION valueBins(tfloat, vsize float, vorigin float DEFAULT 0.0) + RETURNS floatspan[] + AS 'MODULE_PATHNAME', 'Tnumber_value_bins' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/***************************************************************************** + * Multidimensional tiling + *****************************************************************************/ + +CREATE TYPE index_tbox AS ( + index integer, + tile tbox +); + +CREATE FUNCTION valueTiles(tbox, vsize float, vorigin float DEFAULT 0.0) + RETURNS SETOF index_tbox + AS 'MODULE_PATHNAME', 'Tbox_value_tiles' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION timeTiles(tbox, duration interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF index_tbox + AS 'MODULE_PATHNAME', 'Tbox_time_tiles' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION valueTimeTiles(tbox, vsize float, duration interval, + vorigin float DEFAULT 0.0, torigin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF index_tbox + AS 'MODULE_PATHNAME', 'Tbox_value_time_tiles' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE FUNCTION getValueTile(v float, vsize float, vorigin float DEFAULT 0.0) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_get_value_tile' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getTBoxTimeTile(t timestamptz, duration interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_get_time_tile' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION getValueTimeTile(v float, t timestamptz, vsize float, + duration interval, vorigin float DEFAULT 0.0, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_get_value_time_tile' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Boxes + *****************************************************************************/ + +CREATE FUNCTION valueBoxes(tint, vsize int, vorigin int DEFAULT 0) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_value_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION valueBoxes(tfloat, vsize float, vorigin float DEFAULT 0.0) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_value_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION timeBoxes(tint, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_time_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeBoxes(tfloat, tsize interval, + torigin timestamptz DEFAULT '2000-01-03') + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_time_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +CREATE FUNCTION valueTimeBoxes(tint, vsize int, tsize interval, + vorigin int DEFAULT 0, torigin timestamptz DEFAULT '2000-01-03') + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_value_time_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION valueTimeBoxes(tfloat, vsize float, tsize interval, + vorigin float DEFAULT 0.0, torigin timestamptz DEFAULT '2000-01-03') + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_value_time_boxes' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/***************************************************************************** + * Splitting + *****************************************************************************/ + +CREATE TYPE number_tint AS ( + number integer, + tnumber tint +); +CREATE TYPE number_tfloat AS ( + number float, + tnumber tfloat +); + +CREATE FUNCTION valueSplit(tint, size integer, origin integer DEFAULT 0) + RETURNS SETOF number_tint + AS 'MODULE_PATHNAME', 'Tnumber_value_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION valueSplit(tfloat, size float, origin float DEFAULT 0.0) + RETURNS SETOF number_tfloat + AS 'MODULE_PATHNAME', 'Tnumber_value_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE TYPE time_tbool AS ( + time timestamptz, + temp tbool +); +CREATE TYPE time_tint AS ( + time timestamptz, + temp tint +); +CREATE TYPE time_tfloat AS ( + time timestamptz, + temp tfloat +); +CREATE TYPE time_ttext AS ( + time timestamptz, + temp ttext +); + +CREATE FUNCTION timeSplit(tbool, size interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF time_tbool + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeSplit(tint, size interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF time_tint + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeSplit(tfloat, size interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF time_tfloat + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION timeSplit(ttext, size interval, + origin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF time_ttext + AS 'MODULE_PATHNAME', 'Temporal_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + +CREATE TYPE number_time_tint AS ( + number integer, + time timestamptz, + tnumber tint +); +CREATE TYPE number_time_tfloat AS ( + number float, + time timestamptz, + tnumber tfloat +); + +CREATE FUNCTION valueTimeSplit(tint, size integer, duration interval, + vorigin integer DEFAULT 0, torigin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF number_time_tint + AS 'MODULE_PATHNAME', 'Tnumber_value_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; +CREATE FUNCTION valueTimeSplit(tfloat, size float, duration interval, + vorigin float DEFAULT 0.0, torigin timestamptz DEFAULT '2000-01-03') + RETURNS SETOF number_time_tfloat + AS 'MODULE_PATHNAME', 'Tnumber_value_time_split' + LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT; + +/*****************************************************************************/ + + diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/026_tnumber_mathfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/026_tnumber_mathfuncs.in.sql new file mode 100644 index 000000000..3c5bc3b21 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/026_tnumber_mathfuncs.in.sql @@ -0,0 +1,424 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal mathematic functions and operators + */ + +/***************************************************************************** + * Temporal addition + *****************************************************************************/ + +/* integer + */ + +CREATE FUNCTION tnumber_add(integer, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Add_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = tnumber_add, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = + +); + +/*****************************************************************************/ + +/* float + */ + +CREATE FUNCTION tnumber_add(float, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Add_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = tnumber_add, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = + +); + +/*****************************************************************************/ +/* tint + */ + +CREATE FUNCTION tnumber_add(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Add_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_add(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Add_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = tnumber_add, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = tnumber_add, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = + +); + +/*****************************************************************************/ +/* tfloat + */ + +CREATE FUNCTION tnumber_add(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Add_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_add(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Add_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR + ( + PROCEDURE = tnumber_add, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = + +); +CREATE OPERATOR + ( + PROCEDURE = tnumber_add, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = + +); + +/***************************************************************************** + * Temporal subtraction + *****************************************************************************/ + +/* integer - */ + +CREATE FUNCTION tnumber_sub(integer, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Sub_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = tnumber_sub, + LEFTARG = integer, RIGHTARG = tint +); + +/*****************************************************************************/ + +/* tint - */ + +CREATE FUNCTION tnumber_sub(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Sub_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_sub(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Sub_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = tnumber_sub, + LEFTARG = tint, RIGHTARG = integer +); +CREATE OPERATOR - ( + PROCEDURE = tnumber_sub, + LEFTARG = tint, RIGHTARG = tint +); + +/*****************************************************************************/ + +/* float - */ + +CREATE FUNCTION tnumber_sub(float, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Sub_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = tnumber_sub, + LEFTARG = float, RIGHTARG = tfloat +); + +/*****************************************************************************/ + +/* tfloat - */ + +CREATE FUNCTION tnumber_sub(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Sub_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_sub(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Sub_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR - ( + PROCEDURE = tnumber_sub, + LEFTARG = tfloat, RIGHTARG = float +); +CREATE OPERATOR - ( + PROCEDURE = tnumber_sub, + LEFTARG = tfloat, RIGHTARG = tfloat +); + +/***************************************************************************** + * Temporal multiplication + *****************************************************************************/ + +/* integer * */ + +CREATE FUNCTION tnumber_mul(integer, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Mul_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = tnumber_mul, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = * +); + +/*****************************************************************************/ +/* tint * */ + +CREATE FUNCTION tnumber_mul(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Mul_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_mul(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Mul_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = tnumber_mul, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = tnumber_mul, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = * +); + +/*****************************************************************************/ + +/* float * */ + +CREATE FUNCTION tnumber_mul(float, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Mul_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = tnumber_mul, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = * +); + +/*****************************************************************************/ +/* tfloat * */ + +CREATE FUNCTION tnumber_mul(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Mul_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_mul(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Mul_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR * ( + PROCEDURE = tnumber_mul, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = * +); +CREATE OPERATOR * ( + PROCEDURE = tnumber_mul, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = * +); + +/***************************************************************************** + * Temporal division + *****************************************************************************/ + +/* integer / */ + +CREATE FUNCTION tnumber_div(integer, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Div_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR / ( + PROCEDURE = tnumber_div, + LEFTARG = integer, RIGHTARG = tint +); + +/*****************************************************************************/ +/* tint / */ + +CREATE FUNCTION tnumber_div(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Div_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_div(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Div_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR / ( + PROCEDURE = tnumber_div, + LEFTARG = tint, RIGHTARG = integer +); +CREATE OPERATOR / ( + PROCEDURE = tnumber_div, + LEFTARG = tint, RIGHTARG = tint +); + +/*****************************************************************************/ + +/* float / */ + +CREATE FUNCTION tnumber_div(float, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Div_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR / ( + PROCEDURE = tnumber_div, + LEFTARG = float, RIGHTARG = tfloat +); + +/*****************************************************************************/ + +CREATE FUNCTION tnumber_div(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Div_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_div(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Div_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR / ( + PROCEDURE = tnumber_div, + LEFTARG = tfloat, RIGHTARG = float +); +CREATE OPERATOR / ( + PROCEDURE = tnumber_div, + LEFTARG = tfloat, RIGHTARG = tfloat +); + +/******************************************************************************/ + +CREATE FUNCTION abs(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_abs' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION abs(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_abs' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION deltaValue(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_delta_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION deltaValue(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_delta_value' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION floor(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_floor' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION ceil(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_ceil' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION round(tfloat, integer DEFAULT 0) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION round(tfloat[], integer DEFAULT 0) + RETURNS tfloat[] + AS 'MODULE_PATHNAME', 'Temporalarr_round' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION degrees(float, bool DEFAULT FALSE) + RETURNS float + AS 'MODULE_PATHNAME', 'Float_degrees' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION degrees(tfloat, bool DEFAULT FALSE) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_degrees' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION radians(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_radians' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION angularDifference(float, float) + RETURNS float + AS 'MODULE_PATHNAME', 'Float_angular_difference' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION trend(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_trend' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION trend(tfloat) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tnumber_trend' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION derivative(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_derivative' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION exp(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_exp' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION ln(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_ln' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION log10(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tfloat_log10' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/028_tbool_boolops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/028_tbool_boolops.in.sql new file mode 100644 index 000000000..50cba9bae --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/028_tbool_boolops.in.sql @@ -0,0 +1,124 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal Boolean function and operators + */ + +/***************************************************************************** + * Temporal and + *****************************************************************************/ + +CREATE FUNCTION tbool_and(boolean, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tand_bool_tbool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbool_and(tbool, boolean) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tand_tbool_bool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbool_and(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tand_tbool_tbool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR & ( + PROCEDURE = tbool_and, + LEFTARG = boolean, RIGHTARG = tbool, + COMMUTATOR = & +); +CREATE OPERATOR & ( + PROCEDURE = tbool_and, + LEFTARG = tbool, RIGHTARG = boolean, + COMMUTATOR = & +); +CREATE OPERATOR & ( + PROCEDURE = tbool_and, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = & +); + +/***************************************************************************** + * Temporal or + *****************************************************************************/ + +CREATE FUNCTION tbool_or(boolean, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tor_bool_tbool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbool_or(tbool, boolean) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tor_tbool_bool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbool_or(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tor_tbool_tbool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR | ( + PROCEDURE = tbool_or, + LEFTARG = boolean, RIGHTARG = tbool, + COMMUTATOR = | +); +CREATE OPERATOR | ( + PROCEDURE = tbool_or, + LEFTARG = tbool, RIGHTARG = boolean, + COMMUTATOR = | +); +CREATE OPERATOR | ( + PROCEDURE = tbool_or, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = | +); + +/***************************************************************************** + * Temporal not + *****************************************************************************/ + +CREATE FUNCTION tbool_not(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tnot_tbool' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~ ( + PROCEDURE = tbool_not, RIGHTARG = tbool +); + +/***************************************************************************** + * Temporal when + *****************************************************************************/ + +-- when is a reserved word in SQL +CREATE FUNCTION whenTrue(tbool) + RETURNS tstzspanset + AS 'MODULE_PATHNAME', 'Tbool_when_true' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/029_ttext_textfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/029_ttext_textfuncs.in.sql new file mode 100644 index 000000000..226426979 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/029_ttext_textfuncs.in.sql @@ -0,0 +1,84 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal text functions + */ + +/***************************************************************************** + * Temporal text concatenation + *****************************************************************************/ + +CREATE FUNCTION ttext_cat(text, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Textcat_text_ttext' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext_cat(ttext, text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Textcat_ttext_text' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext_cat(ttext, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Textcat_ttext_ttext' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR || ( + PROCEDURE = ttext_cat, + LEFTARG = text, RIGHTARG = ttext +); +CREATE OPERATOR || ( + PROCEDURE = ttext_cat, + LEFTARG = ttext, RIGHTARG = text +); +CREATE OPERATOR || ( + PROCEDURE = ttext_cat, + LEFTARG = ttext, RIGHTARG = ttext +); + +/****************************************************************************** + * Temporal upper/lower case + *****************************************************************************/ + +CREATE FUNCTION upper(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Ttext_upper' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION lower(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Ttext_lower' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION initcap(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Ttext_initcap' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/030_temporal_compops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/030_temporal_compops.in.sql new file mode 100644 index 000000000..d16ec001c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/030_temporal_compops.in.sql @@ -0,0 +1,2026 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Comparison functions and operators for temporal types + * @note In this file we need both definitions of the functions with 2 and 3 + * parameters to be able to define the operators. This is not the case for + * the temporal relationships while a single definition of the functions with + * 3 parameters is enough + */ + +/***************************************************************************** + * Index Support Functions + *****************************************************************************/ + +CREATE FUNCTION tnumber_supportfn(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_supportfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Ever/Always Comparison Functions + *****************************************************************************/ + +CREATE FUNCTION ever_eq(boolean, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_base_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_base_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = boolean, RIGHTARG = tbool, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR ?= ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_eq(tbool, boolean) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_base' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_base' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tbool, RIGHTARG = boolean, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_ne(boolean, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = boolean, RIGHTARG = tbool, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_ne(tbool, boolean) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tbool, RIGHTARG = boolean, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION always_eq(boolean, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_base_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_base_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = boolean, RIGHTARG = tbool, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR %= ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_eq(tbool, boolean) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_base' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_base' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = tbool, RIGHTARG = boolean, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR %= ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_ne(boolean, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = boolean, RIGHTARG = tbool, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR %<> ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_ne(tbool, boolean) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = tbool, RIGHTARG = boolean, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_lt(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_lt(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_lt(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?< ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?< ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?< ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_lt(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_lt(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_lt(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?< ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?< ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?< ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_le(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_le(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_le(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<= ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<= ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<= ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_le(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_le(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_le(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<= ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<= ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<= ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_gt(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_gt(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_gt(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?> ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?> ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?> ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_gt(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_gt(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_gt(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?> ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?> ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?> ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_ge(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ge(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ge(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?>= ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?>= ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?>= ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_ge(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ge(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ge(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?>= ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?>= ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?>= ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION always_lt(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_lt(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_lt(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %< ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %< ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %< ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_lt(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_lt(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_lt(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %< ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %< ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %< ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_le(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_le(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_le(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<= ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<= ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<= ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_le(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_le(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_le(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<= ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<= ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<= ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_gt(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_gt(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_gt(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %> ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %> ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %> ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_gt(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_gt(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_gt(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %> ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %> ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %> ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_ge(integer, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ge(float, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ge(text, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %>= ( + LEFTARG = integer, RIGHTARG = tint, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %>= ( + LEFTARG = float, RIGHTARG = tfloat, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %>= ( + LEFTARG = text, RIGHTARG = ttext, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_ge(tint, integer) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ge(tfloat, float) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ge(ttext, text) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %>= ( + LEFTARG = tint, RIGHTARG = integer, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %>= ( + LEFTARG = tfloat, RIGHTARG = float, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %>= ( + LEFTARG = ttext, RIGHTARG = text, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_eq(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_eq(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_eq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?= ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = ever_eq, + NEGATOR = %<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_eq(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_temporal' + SUPPORT tnumber_supportfn + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_eq(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_eq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %= ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR %= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = always_eq, + NEGATOR = ?<>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_ne(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ne(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<> ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = ever_ne, + NEGATOR = %=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_ne(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ne(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<> ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = always_ne, + NEGATOR = ?=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION ever_lt(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_lt(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_lt(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_lt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?< ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?< ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?< ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = ever_lt, + NEGATOR = %>=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_le(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_le(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_le(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_le_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?<= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?<= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = ever_le, + NEGATOR = %>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_lt(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_lt(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_lt(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_lt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %< ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %< ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %< ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = always_lt, + NEGATOR = ?>=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_le(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_le(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_le(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_le_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %<= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %<= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = always_le, + NEGATOR = ?>, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_gt(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_gt(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_gt(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_gt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = ever_gt, + NEGATOR = %<=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION ever_ge(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ge(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ever_ge(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Ever_ge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ?>= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?>= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ?>= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = ever_ge, + NEGATOR = %<, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_gt(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_gt(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_gt(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_gt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = always_gt, + NEGATOR = ?<=, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +CREATE FUNCTION always_ge(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ge(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION always_ge(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Always_ge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR %>= ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %>= ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR %>= ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = always_ge, + NEGATOR = ?<, + RESTRICT = scalarltsel, JOIN = scalarltjoinsel +); + +/***************************************************************************** + * Temporal eq + *****************************************************************************/ + +-- Temporal boolean + +CREATE FUNCTION temporal_teq(boolean, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tbool, boolean) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = boolean, RIGHTARG = tbool, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tbool, RIGHTARG = boolean, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = #= +); + +/*****************************************************************************/ + +-- Temporal integer + +CREATE FUNCTION temporal_teq(integer, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tint, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tint, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = #= +); + +/*****************************************************************************/ + +-- float #= + +CREATE FUNCTION temporal_teq(float, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tfloat, float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(tfloat, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = #= +); + +/*****************************************************************************/ + +-- Temporal text + +CREATE FUNCTION temporal_teq(text, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(ttext, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_teq(ttext, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Teq_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = text, RIGHTARG = ttext, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = ttext, RIGHTARG = text, + COMMUTATOR = #= +); +CREATE OPERATOR #= ( + PROCEDURE = temporal_teq, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = #= +); + +/***************************************************************************** + * Temporal ne + *****************************************************************************/ + +-- Temporal boolean + +CREATE FUNCTION temporal_tne(boolean, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tbool, boolean) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = boolean, RIGHTARG = tbool, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tbool, RIGHTARG = boolean, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = #<> +); + +/*****************************************************************************/ + +-- Temporal integer + +CREATE FUNCTION temporal_tne(integer, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tint, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tint, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = #<> +); + +/*****************************************************************************/ + +-- Temporal float + +CREATE FUNCTION temporal_tne(float, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tfloat, float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(tfloat, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = #<> +); + +/*****************************************************************************/ + +-- Temporal text + +CREATE FUNCTION temporal_tne(text, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(ttext, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tne(ttext, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tne_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = text, RIGHTARG = ttext, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = ttext, RIGHTARG = text, + COMMUTATOR = #<> +); +CREATE OPERATOR #<> ( + PROCEDURE = temporal_tne, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = #<> +); + +/***************************************************************************** + * Temporal lt + *****************************************************************************/ + +-- Temporal integer + +CREATE FUNCTION temporal_tlt(integer, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tlt(tint, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tlt(tint, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = #> +); +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = #> +); +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = #> +); + +/*****************************************************************************/ + +-- Temporal float + +CREATE FUNCTION temporal_tlt(float, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tlt(tfloat, float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tlt(tfloat, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = #> +); +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = #> +); +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = #> +); + +/*****************************************************************************/ + +-- Temporal text + +CREATE FUNCTION temporal_tlt(text, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tlt(ttext, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tlt(ttext, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tlt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = text, RIGHTARG = ttext, + COMMUTATOR = #> +); +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = ttext, RIGHTARG = text, + COMMUTATOR = #> +); +CREATE OPERATOR #< ( + PROCEDURE = temporal_tlt, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = #> +); + +/***************************************************************************** + * Temporal gt + *****************************************************************************/ + +-- Temporal integer + +CREATE FUNCTION temporal_tgt(integer, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(tint, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(tint, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = #< +); +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = #< +); +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = #< +); + +/*****************************************************************************/ + +-- Temporal float + +CREATE FUNCTION temporal_tgt(float, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(tfloat, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(tfloat, float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(tfloat, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = #< +); +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = #< +); +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = #< +); + +/*****************************************************************************/ + +-- Temporal text + +CREATE FUNCTION temporal_tgt(text, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(ttext, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tgt(ttext, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tgt_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = text, RIGHTARG = ttext, + COMMUTATOR = #< +); +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = ttext, RIGHTARG = text, + COMMUTATOR = #< +); +CREATE OPERATOR #> ( + PROCEDURE = temporal_tgt, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = #< +); + +/***************************************************************************** + * Temporal le + *****************************************************************************/ + +-- Temporal integer + +CREATE FUNCTION temporal_tle(integer, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tle(tint, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tle(tint, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = #>= +); +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = #>= +); +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = #>= +); + +/*****************************************************************************/ + +-- Temporal float + +CREATE FUNCTION temporal_tle(float, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tle(tfloat, float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tle(tfloat, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = #>= +); +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = #>= +); +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = #>= +); + +/*****************************************************************************/ + +-- Temporal text + +CREATE FUNCTION temporal_tle(text, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tle(ttext, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tle(ttext, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tle_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = text, RIGHTARG = ttext, + COMMUTATOR = #>= +); +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = ttext, RIGHTARG = text, + COMMUTATOR = #>= +); +CREATE OPERATOR #<= ( + PROCEDURE = temporal_tle, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = #>= +); + +/***************************************************************************** + * Temporal ge + *****************************************************************************/ + +-- Temporal integer + +CREATE FUNCTION temporal_tge(integer, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(tint, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(tint, tint) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = #<= +); +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = #<= +); +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = #<= +); + +/*****************************************************************************/ + +-- Temporal float + +CREATE FUNCTION temporal_tge(float, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(tfloat, integer) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(tfloat, float) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(tfloat, tfloat) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = #<= +); +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = #<= +); +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = #<= +); + +/*****************************************************************************/ + +-- Temporal text + +CREATE FUNCTION temporal_tge(text, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_base_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(ttext, text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_base' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_tge(ttext, ttext) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Tge_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = text, RIGHTARG = ttext, + COMMUTATOR = #<= +); +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = ttext, RIGHTARG = text, + COMMUTATOR = #<= +); +CREATE OPERATOR #>= ( + PROCEDURE = temporal_tge, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = #<= +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/032_temporal_boxops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/032_temporal_boxops.in.sql new file mode 100644 index 000000000..adcc7f93c --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/032_temporal_boxops.in.sql @@ -0,0 +1,1246 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Bounding tbox operators for temporal types + */ + +/***************************************************************************** + * Boxes functions + *****************************************************************************/ + +CREATE FUNCTION spans(tbool) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(tint) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(tfloat) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION spans(ttext) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tboxes(tint) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_tboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tboxes(tfloat) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_tboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNSpans(tbool, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(tint, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(tfloat, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNSpans(ttext, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNSpans(tbool, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(tint, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(tfloat, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNSpans(ttext, integer) + RETURNS tstzspan[] + AS 'MODULE_PATHNAME', 'Temporal_split_each_n_spans' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitNTboxes(tint, integer) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_split_n_tboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitNTboxes(tfloat, integer) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_split_n_tboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION splitEachNTboxes(tint, integer) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_split_each_n_tboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION splitEachNTboxes(tfloat, integer) + RETURNS tbox[] + AS 'MODULE_PATHNAME', 'Tnumber_split_each_n_tboxes' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/***************************************************************************** + * Temporal boolean + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tbool, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tbool, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tbool, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tbool, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tbool, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tbool, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tbool, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tbool, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tbool, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tbool, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tbool, RIGHTARG = tbool, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * Temporal integer + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tint, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tint, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = intspan, RIGHTARG = tint, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tint, RIGHTARG = intspan, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tbox, RIGHTARG = tint, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tint, RIGHTARG = tbox, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tint, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tint, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = intspan, RIGHTARG = tint, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tint, RIGHTARG = intspan, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tbox, RIGHTARG = tint, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tint, RIGHTARG = tbox, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tint, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tint, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = intspan, RIGHTARG = tint, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tint, RIGHTARG = intspan, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tbox, RIGHTARG = tint, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tint, RIGHTARG = tbox, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tint, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tint, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = intspan, RIGHTARG = tint, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tint, RIGHTARG = intspan, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tbox, RIGHTARG = tint, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tint, RIGHTARG = tbox, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tint, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tint, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = intspan, RIGHTARG = tint, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tint, RIGHTARG = intspan, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tbox, RIGHTARG = tint, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tint, RIGHTARG = tbox, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * Temporal float + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = tfloat, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tfloat, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION temporal_overlaps(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = floatspan, RIGHTARG = tfloat, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tfloat, RIGHTARG = floatspan, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tbox, RIGHTARG = tfloat, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tfloat, RIGHTARG = tbox, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = &&, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = tfloat, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tfloat, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = floatspan, RIGHTARG = tfloat, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tfloat, RIGHTARG = floatspan, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tbox, RIGHTARG = tfloat, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tfloat, RIGHTARG = tbox, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = <@, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = tfloat, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tfloat, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = floatspan, RIGHTARG = tfloat, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tfloat, RIGHTARG = floatspan, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tbox, RIGHTARG = tfloat, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tfloat, RIGHTARG = tbox, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = @>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = tfloat, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tfloat, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = floatspan, RIGHTARG = tfloat, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tfloat, RIGHTARG = floatspan, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tbox, RIGHTARG = tfloat, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tfloat, RIGHTARG = tbox, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = ~=, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = tfloat, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tfloat, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = floatspan, RIGHTARG = tfloat, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tfloat, RIGHTARG = floatspan, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tbox, RIGHTARG = tfloat, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tfloat, RIGHTARG = tbox, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = -|-, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * Temporal text + *****************************************************************************/ + +CREATE FUNCTION temporal_overlaps(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overlaps(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overlaps_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = tstzspan, RIGHTARG = ttext, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = ttext, RIGHTARG = tstzspan, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR && ( + PROCEDURE = temporal_overlaps, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = &&, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contains(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contains(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contains_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = tstzspan, RIGHTARG = ttext, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = ttext, RIGHTARG = tstzspan, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR @> ( + PROCEDURE = temporal_contains, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = <@, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_contained(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_contained(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Contained_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = tstzspan, RIGHTARG = ttext, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = ttext, RIGHTARG = tstzspan, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR <@ ( + PROCEDURE = temporal_contained, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = @>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_same(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_same(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Same_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = tstzspan, RIGHTARG = ttext, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = ttext, RIGHTARG = tstzspan, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR ~= ( + PROCEDURE = temporal_same, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = ~=, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +CREATE FUNCTION temporal_adjacent(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_adjacent(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Adjacent_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = tstzspan, RIGHTARG = ttext, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = ttext, RIGHTARG = tstzspan, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR -|- ( + PROCEDURE = temporal_adjacent, + LEFTARG = ttext, RIGHTARG = ttext, + COMMUTATOR = -|-, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/034_temporal_posops.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/034_temporal_posops.in.sql new file mode 100644 index 000000000..4dde59895 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/034_temporal_posops.in.sql @@ -0,0 +1,1248 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Relative position operators for 1D (time) and 2D (1D value + 1D time) + * temporal types + */ + +/***************************************************************************** + * tstzspan + *****************************************************************************/ + +/* tstzspan op tbool */ + +CREATE FUNCTION temporal_before(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tbool, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tbool, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tbool, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tbool, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* tstzspan op tint */ + +CREATE FUNCTION temporal_before(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tint, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tint, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tstzspan op tfloat */ + +CREATE FUNCTION temporal_before(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = tfloat, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = tfloat, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = tfloat, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = tfloat, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tstzspan op ttext */ + +CREATE FUNCTION temporal_before(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tstzspan, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tstzspan_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tstzspan, RIGHTARG = ttext, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tstzspan, RIGHTARG = ttext, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tstzspan, RIGHTARG = ttext, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tstzspan, RIGHTARG = ttext, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * intspan + *****************************************************************************/ + +/* intspan op tint */ + +CREATE FUNCTION temporal_left(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(intspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = intspan, RIGHTARG = tint, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = intspan, RIGHTARG = tint, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = intspan, RIGHTARG = tint, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = intspan, RIGHTARG = tint, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* intspan op tfloat */ + +CREATE FUNCTION temporal_left(intspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(intspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(intspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(intspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = intspan, RIGHTARG = tfloat, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = intspan, RIGHTARG = tfloat, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = intspan, RIGHTARG = tfloat, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = intspan, RIGHTARG = tfloat, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * floatspan + *****************************************************************************/ + +/* floatspan op tint */ + +CREATE FUNCTION temporal_left(floatspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(floatspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(floatspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(floatspan, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = floatspan, RIGHTARG = tint, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = floatspan, RIGHTARG = tint, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = floatspan, RIGHTARG = tint, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = floatspan, RIGHTARG = tint, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* floatspan op tfloat */ + +CREATE FUNCTION temporal_left(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(floatspan, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_numspan_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = floatspan, RIGHTARG = tfloat, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = floatspan, RIGHTARG = tfloat, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = floatspan, RIGHTARG = tfloat, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = floatspan, RIGHTARG = tfloat, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * tbox + *****************************************************************************/ + +/* tbox op tint */ + +CREATE FUNCTION temporal_left(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tbox, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tbox, RIGHTARG = tint, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tbox op tfloat */ + +CREATE FUNCTION temporal_left(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tbox, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tbox, RIGHTARG = tfloat, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * tbool + *****************************************************************************/ + +/* tbool op tstzspan */ + +CREATE FUNCTION temporal_before(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tbool, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tbool, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tbool, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tbool, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tbool, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* tbool op tbool */ + +CREATE FUNCTION temporal_before(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tbool, tbool) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tbool, RIGHTARG = tbool, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/***************************************************************************** + * tint + *****************************************************************************/ + +/* tint op tstzspan */ + +CREATE FUNCTION temporal_before(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tint, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tint, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tint, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tint, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tint op intspan */ + +CREATE FUNCTION temporal_left(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tint, intspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tint, RIGHTARG = intspan, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tint, RIGHTARG = intspan, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tint, RIGHTARG = intspan, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tint, RIGHTARG = intspan, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tint op tbox */ + +CREATE FUNCTION temporal_left(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tint, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tint, RIGHTARG = tbox, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tint op tint */ + +CREATE FUNCTION temporal_left(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tint, tint) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tint, RIGHTARG = tint, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * tfloat + *****************************************************************************/ + +/* tfloat op tstzspan */ + +CREATE FUNCTION temporal_before(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tfloat, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = tfloat, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tfloat, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tfloat, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tfloat, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tfloat op floatspan */ + +CREATE FUNCTION temporal_left(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tfloat, floatspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tnumber_numspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tfloat, RIGHTARG = floatspan, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tfloat, RIGHTARG = floatspan, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tfloat, RIGHTARG = floatspan, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tfloat, RIGHTARG = floatspan, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tfloat op tbox */ + +CREATE FUNCTION temporal_left(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tfloat, tbox) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tfloat, RIGHTARG = tbox, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ + +/* tfloat op tfloat */ + +CREATE FUNCTION temporal_left(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Left_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overleft(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overleft_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_right(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Right_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overright(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overright_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_before(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(tfloat, tfloat) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR << ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_left, + COMMUTATOR = >>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &< ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_overleft, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR >> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_right, + COMMUTATOR = <<, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_overright, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR <<# ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_overbefore, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = tfloat, RIGHTARG = tfloat, + PROCEDURE = temporal_overafter, + RESTRICT = tnumber_sel, JOIN = tnumber_joinsel +); + +/***************************************************************************** + * ttext + *****************************************************************************/ + +/* ttext op tstzspan */ + +CREATE FUNCTION temporal_before(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(ttext, tstzspan) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_tstzspan' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = ttext, RIGHTARG = tstzspan, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = ttext, RIGHTARG = tstzspan, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = ttext, RIGHTARG = tstzspan, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = ttext, RIGHTARG = tstzspan, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = temporal_joinsel +); + +/*****************************************************************************/ + +/* ttext op ttext */ + +CREATE FUNCTION temporal_before(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Before_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overbefore(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overbefore_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_after(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'After_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_overafter(ttext, ttext) + RETURNS boolean + AS 'MODULE_PATHNAME', 'Overafter_temporal_temporal' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <<# ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_before, + COMMUTATOR = #>>, + RESTRICT = temporal_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR &<# ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_overbefore, + RESTRICT = temporal_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #>> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_after, + COMMUTATOR = <<#, + RESTRICT = temporal_sel, JOIN = tnumber_joinsel +); +CREATE OPERATOR #&> ( + LEFTARG = ttext, RIGHTARG = ttext, + PROCEDURE = temporal_overafter, + RESTRICT = temporal_sel, JOIN = tnumber_joinsel +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/036_tnumber_distance.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/036_tnumber_distance.in.sql new file mode 100644 index 000000000..93e0d0373 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/036_tnumber_distance.in.sql @@ -0,0 +1,242 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Distance functions for temporal numbers + */ + +/***************************************************************************** + * Temporal distance + *****************************************************************************/ + +/* integer <-> */ + +CREATE FUNCTION tDistance(integer, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tdistance_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = <-> +); + +/*****************************************************************************/ + +/* float <-> */ + +CREATE FUNCTION tDistance(float, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = <-> +); + +/*****************************************************************************/ +/* tint <-> */ + +CREATE FUNCTION tDistance(tint, integer) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tdistance_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Tdistance_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = <-> +); + +/*****************************************************************************/ +/* tfloat <-> */ + +CREATE FUNCTION tDistance(tfloat, float) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tDistance(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tdistance_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = <-> +); +CREATE OPERATOR <-> ( + PROCEDURE = tDistance, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = <-> +); + +/***************************************************************************** + * Nearest approach distance + *****************************************************************************/ + +/* integer |=| */ + +CREATE FUNCTION nearestApproachDistance(integer, tint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = integer, RIGHTARG = tint, + COMMUTATOR = |=| +); + +/*****************************************************************************/ + +/* float |=| */ + +CREATE FUNCTION nearestApproachDistance(float, tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_number_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = float, RIGHTARG = tfloat, + COMMUTATOR = |=| +); + +/*****************************************************************************/ + +/* tbox |=| */ + +CREATE FUNCTION nearestApproachDistance(tbox, tbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tbox_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tbox, tint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tbox, tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tbox_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tbox, RIGHTARG = tbox, + COMMUTATOR = |=| +); +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tbox, RIGHTARG = tint, + COMMUTATOR = |=| +); +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tbox, RIGHTARG = tfloat, + COMMUTATOR = |=| +); + +/*****************************************************************************/ +/* tint |=| */ + +CREATE FUNCTION nearestApproachDistance(tint, integer) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tint, tbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tint, tint) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tint, RIGHTARG = integer, + COMMUTATOR = |=| +); +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tint, RIGHTARG = tbox, + COMMUTATOR = |=| +); +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tint, RIGHTARG = tint, + COMMUTATOR = |=| +); + +/*****************************************************************************/ +/* tfloat |=| */ + +CREATE FUNCTION nearestApproachDistance(tfloat, float) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnumber_number' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tfloat, tbox) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnumber_tbox' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION nearestApproachDistance(tfloat, tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'NAD_tnumber_tnumber' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tfloat, RIGHTARG = float, + COMMUTATOR = |=| +); +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tfloat, RIGHTARG = tbox, + COMMUTATOR = |=| +); +CREATE OPERATOR |=| ( + PROCEDURE = nearestApproachDistance, + LEFTARG = tfloat, RIGHTARG = tfloat, + COMMUTATOR = |=| +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/038_temporal_similarity.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/038_temporal_similarity.in.sql new file mode 100644 index 000000000..2b489ec21 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/038_temporal_similarity.in.sql @@ -0,0 +1,89 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Similarity distance for temporal values + * @note Currently, the discrete Frechet distance, the Dynamic Time Warping + * (DTW) distance, and the Hausdorff distance are implemented + */ + +CREATE FUNCTION frechetDistance(tint, tint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_frechet_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION frechetDistance(tfloat, tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_frechet_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dynTimeWarpDistance(tint, tint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dynTimeWarpDistance(tfloat, tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION hausdorffDistance(tint, tint) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_hausdorff_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION hausdorffDistance(tfloat, tfloat) + RETURNS float + AS 'MODULE_PATHNAME', 'Temporal_hausdorff_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +CREATE TYPE warp AS ( + i integer, + j integer +); + +CREATE FUNCTION frechetDistancePath(tint, tint) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_frechet_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION frechetDistancePath(tfloat, tfloat) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_frechet_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dynTimeWarpPath(tint, tint) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION dynTimeWarpPath(tfloat, tfloat) + RETURNS SETOF warp + AS 'MODULE_PATHNAME', 'Temporal_dyntimewarp_path' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/040_temporal_aggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/040_temporal_aggfuncs.in.sql new file mode 100644 index 000000000..d984ca130 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/040_temporal_aggfuncs.in.sql @@ -0,0 +1,730 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Temporal aggregate functions + */ + +-- The function is not strict +CREATE FUNCTION temporal_extent_transfn(tstzspan, tbool) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_extent_transfn(tstzspan, ttext) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Temporal_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_extent_combinefn(tstzspan, tstzspan) + RETURNS tstzspan + AS 'MODULE_PATHNAME', 'Span_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(tbool) ( + SFUNC = temporal_extent_transfn, + STYPE = tstzspan, + COMBINEFUNC = temporal_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(ttext) ( + SFUNC = temporal_extent_transfn, + STYPE = tstzspan, + COMBINEFUNC = temporal_extent_combinefn, + PARALLEL = safe +); + +-- The function is not strict +CREATE FUNCTION tnumber_extent_transfn(tbox, tint) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tnumber_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tnumber_extent_transfn(tbox, tfloat) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tnumber_extent_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tnumber_extent_combinefn(tbox, tbox) + RETURNS tbox + AS 'MODULE_PATHNAME', 'Tbox_extent_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE extent(tint) ( + SFUNC = tnumber_extent_transfn, + STYPE = tbox, + COMBINEFUNC = tnumber_extent_combinefn, + PARALLEL = safe +); +CREATE AGGREGATE extent(tfloat) ( + SFUNC = tnumber_extent_transfn, + STYPE = tbox, + COMBINEFUNC = tnumber_extent_combinefn, + PARALLEL = safe +); + +/*****************************************************************************/ + +CREATE FUNCTION taggstate_serialize(internal) + RETURNS bytea + AS 'MODULE_PATHNAME', 'Taggstate_serialize' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION taggstate_deserialize(bytea, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Taggstate_deserialize' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, timestamptz) + RETURNS internal + AS 'MODULE_PATHNAME', 'Timestamptz_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tcount_transfn(internal, tstzset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tstzset_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tcount_transfn(internal, tstzspan) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tstzspan_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tcount_transfn(internal, tstzspanset) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tstzspanset_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tcount_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_tagg_finalfn(internal) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE tcount(timestamptz) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tcount(tstzset) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tcount(tstzspan) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tcount(tstzspanset) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tbool) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tbool_tand_transfn(internal, tbool) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbool_tand_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tbool_tand_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbool_tand_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tbool_tor_transfn(internal, tbool) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbool_tor_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tbool_tor_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbool_tor_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tbool_tagg_finalfn(internal) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE tcount(tbool) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tand(tbool) ( + SFUNC = tbool_tand_transfn, + STYPE = internal, + COMBINEFUNC = tbool_tand_combinefn, + FINALFUNC = tbool_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tor(tbool) ( + SFUNC = tbool_tor_transfn, + STYPE = internal, + COMBINEFUNC = tbool_tor_combinefn, + FINALFUNC = tbool_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tint_tmin_transfn(internal, tint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_tmin_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_tmin_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_tmin_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_tmax_transfn(internal, tint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_tmax_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_tmax_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_tmax_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_tsum_transfn(internal, tint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_tsum_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_tsum_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_tsum_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tavg_transfn(internal, tint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_tavg_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tavg_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_tavg_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tavg_finalfn(internal) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Tnumber_tavg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE tcount(tint) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tmin(tint) ( + SFUNC = tint_tmin_transfn, + STYPE = internal, + COMBINEFUNC = tint_tmin_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tmax(tint) ( + SFUNC = tint_tmax_transfn, + STYPE = internal, + COMBINEFUNC = tint_tmax_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tsum(tint) ( + SFUNC = tint_tsum_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tavg(tint) ( + SFUNC = tavg_transfn, + STYPE = internal, + COMBINEFUNC = tavg_combinefn, + FINALFUNC = tavg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, tfloat) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION tfloat_tmin_transfn(internal, tfloat) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_tmin_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_tmin_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_tmin_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_tmax_transfn(internal, tfloat) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_tmax_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_tmax_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_tmax_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_tsum_transfn(internal, tfloat) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_tsum_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_tsum_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_tsum_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_tagg_finalfn(internal) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +-- The function is not strict +CREATE FUNCTION tavg_transfn(internal, tfloat) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_tavg_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE tcount(tfloat) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tmin(tfloat) ( + SFUNC = tfloat_tmin_transfn, + STYPE = internal, + COMBINEFUNC = tfloat_tmin_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tmax(tfloat) ( + SFUNC = tfloat_tmax_transfn, + STYPE = internal, + COMBINEFUNC = tfloat_tmax_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tsum(tfloat) ( + SFUNC = tfloat_tsum_transfn, + STYPE = internal, + COMBINEFUNC = tfloat_tsum_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tavg(tfloat) ( + SFUNC = tavg_transfn, + STYPE = internal, + COMBINEFUNC = tavg_combinefn, + FINALFUNC = tavg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tcount_transfn(internal, ttext) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_tcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION ttext_tmin_transfn(internal, ttext) + RETURNS internal + AS 'MODULE_PATHNAME', 'Ttext_tmin_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttext_tmin_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Ttext_tmin_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttext_tmax_transfn(internal, ttext) + RETURNS internal + AS 'MODULE_PATHNAME', 'Ttext_tmax_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttext_tmax_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Ttext_tmax_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION ttext_tagg_finalfn(internal) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_tagg_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE tcount(ttext) ( + SFUNC = tcount_transfn, + STYPE = internal, + COMBINEFUNC = tcount_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +CREATE AGGREGATE tmin(ttext) ( + SFUNC = ttext_tmin_transfn, + STYPE = internal, + COMBINEFUNC = ttext_tmin_combinefn, + FINALFUNC = ttext_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE tmax(ttext) ( + SFUNC = ttext_tmax_transfn, + STYPE = internal, + COMBINEFUNC = ttext_tmax_combinefn, + FINALFUNC = ttext_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION temporal_merge_transfn(internal, tbool) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_merge_transfn(internal, tint) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_merge_transfn(internal, tfloat) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_merge_transfn(internal, ttext) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_merge_combinefn(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_merge_combinefn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE merge(tbool) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tbool_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); +CREATE AGGREGATE merge(tint) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); +CREATE AGGREGATE merge(tfloat) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); +CREATE AGGREGATE merge(ttext) ( + SFUNC = temporal_merge_transfn, + STYPE = internal, + COMBINEFUNC = temporal_merge_combinefn, + FINALFUNC = ttext_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = safe +); + +/***************************************************************************** + * Append aggregate functions + *****************************************************************************/ + +-- Default interpolation based on the base type +CREATE FUNCTION temporal_app_tinst_transfn(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(ttext, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- Interpolation given by the user +CREATE FUNCTION temporal_app_tinst_transfn(tbool, tbool, interp text) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tint, tint, interp text) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tfloat, tfloat, interp text) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(ttext, ttext, interp text) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +-- These functions are not strict +CREATE FUNCTION temporal_app_tinst_transfn(tbool, tbool, interp text, + maxt interval) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tint, tint, interp text, + maxdist float, maxt interval) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(tfloat, tfloat, interp text, + maxdist float, maxt interval) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tinst_transfn(ttext, ttext, interp text, + maxt interval) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_app_tinst_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE FUNCTION temporal_append_finalfn(tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_append_finalfn(tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_append_finalfn(tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION temporal_append_finalfn(ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_append_finalfn' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE AGGREGATE appendInstant(tbool) ( + SFUNC = temporal_app_tinst_transfn(tbool, tbool), + STYPE = tbool, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tbool, interp text) ( + SFUNC = temporal_app_tinst_transfn(tbool, tbool, text), + STYPE = tbool, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tbool, interp text, maxt interval) ( + SFUNC = temporal_app_tinst_transfn(tbool, tbool, text, maxt), + STYPE = tbool, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tint) ( + SFUNC = temporal_app_tinst_transfn(tint, tint), + STYPE = tint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tint, interp text) ( + SFUNC = temporal_app_tinst_transfn(tint, tint, text), + STYPE = tint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tint, interp text, maxdist float, + maxt interval) ( + SFUNC = temporal_app_tinst_transfn(tint, tint, text, maxdist, maxt), + STYPE = tint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(tfloat) ( + SFUNC = temporal_app_tinst_transfn(tfloat, tfloat), + STYPE = tfloat, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tfloat, interp text) ( + SFUNC = temporal_app_tinst_transfn(tfloat, tfloat, text), + STYPE = tfloat, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(tfloat, interp text, maxdist float, + maxt interval) ( + SFUNC = temporal_app_tinst_transfn(tfloat, tfloat, text, maxdist, maxt), + STYPE = tfloat, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +CREATE AGGREGATE appendInstant(ttext) ( + SFUNC = temporal_app_tinst_transfn(ttext, ttext), + STYPE = ttext, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(ttext, interp text) ( + SFUNC = temporal_app_tinst_transfn(ttext, ttext, text), + STYPE = ttext, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendInstant(ttext, interp text, maxt interval) ( + SFUNC = temporal_app_tinst_transfn(ttext, ttext, text, maxt), + STYPE = ttext, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ + +-- The function is not STRICT +CREATE FUNCTION temporal_app_tseq_transfn(tbool, tbool) + RETURNS tbool + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tseq_transfn(tint, tint) + RETURNS tint + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tseq_transfn(tfloat, tfloat) + RETURNS tfloat + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION temporal_app_tseq_transfn(ttext, ttext) + RETURNS ttext + AS 'MODULE_PATHNAME', 'Temporal_app_tseq_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE appendSequence(tbool) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tbool, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendSequence(tint) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tint, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendSequence(tfloat) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = tfloat, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); +CREATE AGGREGATE appendSequence(ttext) ( + SFUNC = temporal_app_tseq_transfn, + STYPE = ttext, + FINALFUNC = temporal_append_finalfn, + PARALLEL = safe +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/042_temporal_waggfuncs.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/042_temporal_waggfuncs.in.sql new file mode 100644 index 000000000..b07a0e4a8 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/042_temporal_waggfuncs.in.sql @@ -0,0 +1,173 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Moving window temporal aggregate functions + */ + +-- The function is not strict +CREATE FUNCTION tint_wmin_transfn(internal, tint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_wmin_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_wmax_transfn(internal, tint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_wmax_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tint_wsum_transfn(internal, tint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tint_wsum_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION wcount_transfn(internal, tint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION wavg_transfn(internal, tint, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_wavg_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wmin(tint, interval) ( + SFUNC = tint_wmin_transfn, + STYPE = internal, + COMBINEFUNC = tint_tmin_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wmax(tint, interval) ( + SFUNC = tint_wmax_transfn, + STYPE = internal, + COMBINEFUNC = tint_tmax_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wsum(tint, interval) ( + SFUNC = tint_wsum_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wcount(tint, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wavg(tint, interval) ( + SFUNC = wavg_transfn, + STYPE = internal, + COMBINEFUNC = tavg_combinefn, + FINALFUNC = tavg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ + +-- The function is not strict +CREATE FUNCTION tfloat_wmin_transfn(internal, tfloat, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_wmin_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_wmax_transfn(internal, tfloat, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_wmax_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION tfloat_wsum_transfn(internal, tfloat, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tfloat_wsum_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION wcount_transfn(internal, tfloat, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_wcount_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; +CREATE FUNCTION wavg_transfn(internal, tfloat, interval) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_wavg_transfn' + LANGUAGE C IMMUTABLE PARALLEL SAFE; + +CREATE AGGREGATE wmin(tfloat, interval) ( + SFUNC = tfloat_wmin_transfn, + STYPE = internal, + COMBINEFUNC = tfloat_tmin_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wmax(tfloat, interval) ( + SFUNC = tfloat_wmax_transfn, + STYPE = internal, + COMBINEFUNC = tfloat_tmax_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wsum(tfloat, interval) ( + SFUNC = tfloat_wsum_transfn, + STYPE = internal, + COMBINEFUNC = tfloat_tsum_combinefn, + FINALFUNC = tfloat_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wcount(tfloat, interval) ( + SFUNC = wcount_transfn, + STYPE = internal, + COMBINEFUNC = tint_tsum_combinefn, + FINALFUNC = tint_tagg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); +CREATE AGGREGATE wavg(tfloat, interval) ( + SFUNC = wavg_transfn, + STYPE = internal, + COMBINEFUNC = tavg_combinefn, + FINALFUNC = tavg_finalfn, + SERIALFUNC = taggstate_serialize, + DESERIALFUNC = taggstate_deserialize, + PARALLEL = SAFE +); + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/043_temporal_gist.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/043_temporal_gist.in.sql new file mode 100644 index 000000000..7c2a01c2b --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/043_temporal_gist.in.sql @@ -0,0 +1,392 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief R-tree GiST index for temporal types + */ + +/******************************************************************************/ + +CREATE FUNCTION tbox_gist_consistent(internal, tbox, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Tnumber_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_gist_union(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbox_gist_union' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_gist_penalty(internal, internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbox_gist_penalty' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_gist_picksplit(internal, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbox_gist_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_gist_same(tbox, tbox, internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tbox_gist_same' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_gist_distance(internal, tbox, smallint, oid, internal) + RETURNS float8 + AS 'MODULE_PATHNAME', 'Tbox_gist_distance' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE FUNCTION tbool_gist_consistent(internal, tbool, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbool_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tint_gist_consistent(internal, tint, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Tnumber_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tint_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION tfloat_gist_consistent(internal, tfloat, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Tnumber_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tfloat_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION ttext_gist_consistent(internal, ttext, smallint, oid, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Span_gist_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION ttext_gist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_gist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tbox_rtree_ops + DEFAULT FOR TYPE tbox USING gist AS + -- strictly left + OPERATOR 1 << (tbox, tbox), + OPERATOR 1 << (tbox, tint), + OPERATOR 1 << (tbox, tfloat), + -- overlaps or left + OPERATOR 2 &< (tbox, tbox), + OPERATOR 2 &< (tbox, tint), + OPERATOR 2 &< (tbox, tfloat), + -- overlaps + OPERATOR 3 && (tbox, tbox), + OPERATOR 3 && (tbox, tint), + OPERATOR 3 && (tbox, tfloat), + -- overlaps or right + OPERATOR 4 &> (tbox, tbox), + OPERATOR 4 &> (tbox, tint), + OPERATOR 4 &> (tbox, tfloat), + -- strictly right + OPERATOR 5 >> (tbox, tbox), + OPERATOR 5 >> (tbox, tint), + OPERATOR 5 >> (tbox, tfloat), + -- same + OPERATOR 6 ~= (tbox, tbox), + OPERATOR 6 ~= (tbox, tint), + OPERATOR 6 ~= (tbox, tfloat), + -- contains + OPERATOR 7 @> (tbox, tbox), + OPERATOR 7 @> (tbox, tint), + OPERATOR 7 @> (tbox, tfloat), + -- contained by + OPERATOR 8 <@ (tbox, tbox), + OPERATOR 8 <@ (tbox, tint), + OPERATOR 8 <@ (tbox, tfloat), + -- adjacent + OPERATOR 17 -|- (tbox, tbox), + OPERATOR 17 -|- (tbox, tint), + OPERATOR 17 -|- (tbox, tfloat), + -- overlaps or before + OPERATOR 28 &<# (tbox, tbox), + OPERATOR 28 &<# (tbox, tint), + OPERATOR 28 &<# (tbox, tfloat), + -- strictly before + OPERATOR 29 <<# (tbox, tbox), + OPERATOR 29 <<# (tbox, tint), + OPERATOR 29 <<# (tbox, tfloat), + -- strictly after + OPERATOR 30 #>> (tbox, tbox), + OPERATOR 30 #>> (tbox, tint), + OPERATOR 30 #>> (tbox, tfloat), + -- overlaps or after + OPERATOR 31 #&> (tbox, tbox), + OPERATOR 31 #&> (tbox, tint), + OPERATOR 31 #&> (tbox, tfloat), + -- functions + FUNCTION 1 tbox_gist_consistent(internal, tbox, smallint, oid, internal), + FUNCTION 2 tbox_gist_union(internal, internal), + FUNCTION 5 tbox_gist_penalty(internal, internal, internal), + FUNCTION 6 tbox_gist_picksplit(internal, internal), + FUNCTION 7 tbox_gist_same(tbox, tbox, internal), + FUNCTION 8 tbox_gist_distance(internal, tbox, smallint, oid, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tbool_rtree_ops + DEFAULT FOR TYPE tbool USING gist AS + STORAGE tstzspan, + -- overlaps + OPERATOR 3 && (tbool, tstzspan), + OPERATOR 3 && (tbool, tbool), + -- same + OPERATOR 6 ~= (tbool, tstzspan), + OPERATOR 6 ~= (tbool, tbool), + -- contains + OPERATOR 7 @> (tbool, tstzspan), + OPERATOR 7 @> (tbool, tbool), + -- contained by + OPERATOR 8 <@ (tbool, tstzspan), + OPERATOR 8 <@ (tbool, tbool), + -- adjacent + OPERATOR 17 -|- (tbool, tstzspan), + OPERATOR 17 -|- (tbool, tbool), + -- overlaps or before + OPERATOR 28 &<# (tbool, tstzspan), + OPERATOR 28 &<# (tbool, tbool), + -- strictly before + OPERATOR 29 <<# (tbool, tstzspan), + OPERATOR 29 <<# (tbool, tbool), + -- strictly after + OPERATOR 30 #>> (tbool, tstzspan), + OPERATOR 30 #>> (tbool, tbool), + -- overlaps or after + OPERATOR 31 #&> (tbool, tstzspan), + OPERATOR 31 #&> (tbool, tbool), + -- functions + FUNCTION 1 tbool_gist_consistent(internal, tbool, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 tbool_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(tstzspan, tstzspan, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tint_rtree_ops + DEFAULT FOR TYPE tint USING gist AS + STORAGE tbox, + -- strictly left + OPERATOR 1 << (tint, intspan), + OPERATOR 1 << (tint, tbox), + OPERATOR 1 << (tint, tint), + -- overlaps or left + OPERATOR 2 &< (tint, intspan), + OPERATOR 2 &< (tint, tbox), + OPERATOR 2 &< (tint, tint), + -- overlaps + OPERATOR 3 && (tint, intspan), + OPERATOR 3 && (tint, tstzspan), + OPERATOR 3 && (tint, tbox), + OPERATOR 3 && (tint, tint), + -- overlaps or right + OPERATOR 4 &> (tint, intspan), + OPERATOR 4 &> (tint, tbox), + OPERATOR 4 &> (tint, tint), + -- strictly right + OPERATOR 5 >> (tint, intspan), + OPERATOR 5 >> (tint, tbox), + OPERATOR 5 >> (tint, tint), + -- same + OPERATOR 6 ~= (tint, intspan), + OPERATOR 6 ~= (tint, tstzspan), + OPERATOR 6 ~= (tint, tbox), + OPERATOR 6 ~= (tint, tint), + -- contains + OPERATOR 7 @> (tint, intspan), + OPERATOR 7 @> (tint, tstzspan), + OPERATOR 7 @> (tint, tbox), + OPERATOR 7 @> (tint, tint), + -- contained by + OPERATOR 8 <@ (tint, intspan), + OPERATOR 8 <@ (tint, tstzspan), + OPERATOR 8 <@ (tint, tbox), + OPERATOR 8 <@ (tint, tint), + -- adjacent + OPERATOR 17 -|- (tint, intspan), + OPERATOR 17 -|- (tint, tstzspan), + OPERATOR 17 -|- (tint, tbox), + OPERATOR 17 -|- (tint, tint), + -- nearest approach distance + OPERATOR 25 |=| (tint, tbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tint, tint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tint, tstzspan), + OPERATOR 28 &<# (tint, tbox), + OPERATOR 28 &<# (tint, tint), + -- strictly before + OPERATOR 29 <<# (tint, tstzspan), + OPERATOR 29 <<# (tint, tbox), + OPERATOR 29 <<# (tint, tint), + -- strictly after + OPERATOR 30 #>> (tint, tstzspan), + OPERATOR 30 #>> (tint, tbox), + OPERATOR 30 #>> (tint, tint), + -- overlaps or after + OPERATOR 31 #&> (tint, tstzspan), + OPERATOR 31 #&> (tint, tbox), + OPERATOR 31 #&> (tint, tint), + -- functions + FUNCTION 1 tint_gist_consistent(internal, tint, smallint, oid, internal), + FUNCTION 2 tbox_gist_union(internal, internal), + FUNCTION 3 tint_gist_compress(internal), + FUNCTION 5 tbox_gist_penalty(internal, internal, internal), + FUNCTION 6 tbox_gist_picksplit(internal, internal), + FUNCTION 7 tbox_gist_same(tbox, tbox, internal), + FUNCTION 8 tbox_gist_distance(internal, tbox, smallint, oid, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tfloat_rtree_ops + DEFAULT FOR TYPE tfloat USING gist AS + STORAGE tbox, + -- strictly left + OPERATOR 1 << (tfloat, floatspan), + OPERATOR 1 << (tfloat, tbox), + OPERATOR 1 << (tfloat, tfloat), + -- overlaps or left + OPERATOR 2 &< (tfloat, floatspan), + OPERATOR 2 &< (tfloat, tbox), + OPERATOR 2 &< (tfloat, tfloat), + -- overlaps + OPERATOR 3 && (tfloat, floatspan), + OPERATOR 3 && (tfloat, tstzspan), + OPERATOR 3 && (tfloat, tbox), + OPERATOR 3 && (tfloat, tfloat), + -- overlaps or right + OPERATOR 4 &> (tfloat, floatspan), + OPERATOR 4 &> (tfloat, tbox), + OPERATOR 4 &> (tfloat, tfloat), + -- strictly right + OPERATOR 5 >> (tfloat, floatspan), + OPERATOR 5 >> (tfloat, tbox), + OPERATOR 5 >> (tfloat, tfloat), + -- same + OPERATOR 6 ~= (tfloat, floatspan), + OPERATOR 6 ~= (tfloat, tstzspan), + OPERATOR 6 ~= (tfloat, tbox), + OPERATOR 6 ~= (tfloat, tfloat), + -- contains + OPERATOR 7 @> (tfloat, floatspan), + OPERATOR 7 @> (tfloat, tstzspan), + OPERATOR 7 @> (tfloat, tbox), + OPERATOR 7 @> (tfloat, tfloat), + -- contained by + OPERATOR 8 <@ (tfloat, floatspan), + OPERATOR 8 <@ (tfloat, tstzspan), + OPERATOR 8 <@ (tfloat, tbox), + OPERATOR 8 <@ (tfloat, tfloat), + -- adjacent + OPERATOR 17 -|- (tfloat, floatspan), + OPERATOR 17 -|- (tfloat, tstzspan), + OPERATOR 17 -|- (tfloat, tbox), + OPERATOR 17 -|- (tfloat, tfloat), + -- nearest approach distance + OPERATOR 25 |=| (tfloat, tbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tfloat, tfloat) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tfloat, tstzspan), + OPERATOR 28 &<# (tfloat, tbox), + OPERATOR 28 &<# (tfloat, tfloat), + -- strictly before + OPERATOR 29 <<# (tfloat, tstzspan), + OPERATOR 29 <<# (tfloat, tbox), + OPERATOR 29 <<# (tfloat, tfloat), + -- strictly after + OPERATOR 30 #>> (tfloat, tstzspan), + OPERATOR 30 #>> (tfloat, tbox), + OPERATOR 30 #>> (tfloat, tfloat), + -- overlaps or after + OPERATOR 31 #&> (tfloat, tstzspan), + OPERATOR 31 #&> (tfloat, tbox), + OPERATOR 31 #&> (tfloat, tfloat), + -- functions + FUNCTION 1 tfloat_gist_consistent(internal, tfloat, smallint, oid, internal), + FUNCTION 2 tbox_gist_union(internal, internal), + FUNCTION 3 tfloat_gist_compress(internal), + FUNCTION 5 tbox_gist_penalty(internal, internal, internal), + FUNCTION 6 tbox_gist_picksplit(internal, internal), + FUNCTION 7 tbox_gist_same(tbox, tbox, internal), + FUNCTION 8 tbox_gist_distance(internal, tbox, smallint, oid, internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS ttext_rtree_ops + DEFAULT FOR TYPE ttext USING gist AS + STORAGE tstzspan, + -- overlaps + OPERATOR 3 && (ttext, tstzspan), + OPERATOR 3 && (ttext, ttext), + -- same + OPERATOR 6 ~= (ttext, tstzspan), + OPERATOR 6 ~= (ttext, ttext), + -- contains + OPERATOR 7 @> (ttext, tstzspan), + OPERATOR 7 @> (ttext, ttext), + -- contained by + OPERATOR 8 <@ (ttext, tstzspan), + OPERATOR 8 <@ (ttext, ttext), + -- adjacent + OPERATOR 17 -|- (ttext, tstzspan), + OPERATOR 17 -|- (ttext, ttext), + -- overlaps or before + OPERATOR 28 &<# (ttext, tstzspan), + OPERATOR 28 &<# (ttext, ttext), + -- strictly before + OPERATOR 29 <<# (ttext, tstzspan), + OPERATOR 29 <<# (ttext, ttext), + -- strictly after + OPERATOR 30 #>> (ttext, tstzspan), + OPERATOR 30 #>> (ttext, ttext), + -- overlaps or after + OPERATOR 31 #&> (ttext, tstzspan), + OPERATOR 31 #&> (ttext, ttext), + -- functions + FUNCTION 1 ttext_gist_consistent(internal, ttext, smallint, oid, internal), + FUNCTION 2 span_gist_union(internal, internal), + FUNCTION 3 ttext_gist_compress(internal), + FUNCTION 5 span_gist_penalty(internal, internal, internal), + FUNCTION 6 span_gist_picksplit(internal, internal), + FUNCTION 7 span_gist_same(tstzspan, tstzspan, internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/044_temporal_spgist.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/044_temporal_spgist.in.sql new file mode 100644 index 000000000..a3dc40724 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/044_temporal_spgist.in.sql @@ -0,0 +1,654 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Quad-tree and k-d tree SP-GiST indexes for temporal types + */ + +/******************************************************************************/ + +CREATE FUNCTION tbox_spgist_config(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_spgist_config' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_quadtree_choose(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_quadtree_choose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_quadtree_picksplit(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_quadtree_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_quadtree_inner_consistent(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_quadtree_inner_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_spgist_leaf_consistent(internal, internal) + RETURNS bool + AS 'MODULE_PATHNAME', 'Tbox_spgist_leaf_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tnumber_spgist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Tnumber_spgist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tbox_quadtree_ops + DEFAULT FOR TYPE tbox USING spgist AS + -- strictly left + OPERATOR 1 << (tbox, tbox), + OPERATOR 1 << (tbox, tint), + OPERATOR 1 << (tbox, tfloat), + -- overlaps or left + OPERATOR 2 &< (tbox, tbox), + OPERATOR 2 &< (tbox, tint), + OPERATOR 2 &< (tbox, tfloat), + -- overlaps + OPERATOR 3 && (tbox, tbox), + OPERATOR 3 && (tbox, tint), + OPERATOR 3 && (tbox, tfloat), + -- overlaps or right + OPERATOR 4 &> (tbox, tbox), + OPERATOR 4 &> (tbox, tint), + OPERATOR 4 &> (tbox, tfloat), + -- strictly right + OPERATOR 5 >> (tbox, tbox), + OPERATOR 5 >> (tbox, tint), + OPERATOR 5 >> (tbox, tfloat), + -- same + OPERATOR 6 ~= (tbox, tbox), + OPERATOR 6 ~= (tbox, tint), + OPERATOR 6 ~= (tbox, tfloat), + -- contains + OPERATOR 7 @> (tbox, tbox), + OPERATOR 7 @> (tbox, tint), + OPERATOR 7 @> (tbox, tfloat), + -- contained by + OPERATOR 8 <@ (tbox, tbox), + OPERATOR 8 <@ (tbox, tint), + OPERATOR 8 <@ (tbox, tfloat), + -- adjacent + OPERATOR 17 -|- (tbox, tbox), + OPERATOR 17 -|- (tbox, tint), + OPERATOR 17 -|- (tbox, tfloat), + -- overlaps or before + OPERATOR 28 &<# (tbox, tbox), + OPERATOR 28 &<# (tbox, tint), + OPERATOR 28 &<# (tbox, tfloat), + -- strictly before + OPERATOR 29 <<# (tbox, tbox), + OPERATOR 29 <<# (tbox, tint), + OPERATOR 29 <<# (tbox, tfloat), + -- strictly after + OPERATOR 30 #>> (tbox, tbox), + OPERATOR 30 #>> (tbox, tint), + OPERATOR 30 #>> (tbox, tfloat), + -- overlaps or after + OPERATOR 31 #&> (tbox, tbox), + OPERATOR 31 #&> (tbox, tint), + OPERATOR 31 #&> (tbox, tfloat), + -- functions + FUNCTION 1 tbox_spgist_config(internal, internal), + FUNCTION 2 tbox_quadtree_choose(internal, internal), + FUNCTION 3 tbox_quadtree_picksplit(internal, internal), + FUNCTION 4 tbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 tbox_spgist_leaf_consistent(internal, internal); + +/*****************************************************************************/ + +CREATE FUNCTION tbox_kdtree_choose(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_kdtree_choose' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_kdtree_picksplit(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_kdtree_picksplit' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; +CREATE FUNCTION tbox_kdtree_inner_consistent(internal, internal) + RETURNS void + AS 'MODULE_PATHNAME', 'Tbox_kdtree_inner_consistent' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tbox_kdtree_ops + FOR TYPE tbox USING spgist AS + -- strictly left + OPERATOR 1 << (tbox, tbox), + OPERATOR 1 << (tbox, tint), + OPERATOR 1 << (tbox, tfloat), + -- overlaps or left + OPERATOR 2 &< (tbox, tbox), + OPERATOR 2 &< (tbox, tint), + OPERATOR 2 &< (tbox, tfloat), + -- overlaps + OPERATOR 3 && (tbox, tbox), + OPERATOR 3 && (tbox, tint), + OPERATOR 3 && (tbox, tfloat), + -- overlaps or right + OPERATOR 4 &> (tbox, tbox), + OPERATOR 4 &> (tbox, tint), + OPERATOR 4 &> (tbox, tfloat), + -- strictly right + OPERATOR 5 >> (tbox, tbox), + OPERATOR 5 >> (tbox, tint), + OPERATOR 5 >> (tbox, tfloat), + -- same + OPERATOR 6 ~= (tbox, tbox), + OPERATOR 6 ~= (tbox, tint), + OPERATOR 6 ~= (tbox, tfloat), + -- contains + OPERATOR 7 @> (tbox, tbox), + OPERATOR 7 @> (tbox, tint), + OPERATOR 7 @> (tbox, tfloat), + -- contained by + OPERATOR 8 <@ (tbox, tbox), + OPERATOR 8 <@ (tbox, tint), + OPERATOR 8 <@ (tbox, tfloat), + -- adjacent + OPERATOR 17 -|- (tbox, tbox), + OPERATOR 17 -|- (tbox, tint), + OPERATOR 17 -|- (tbox, tfloat), + -- overlaps or before + OPERATOR 28 &<# (tbox, tbox), + OPERATOR 28 &<# (tbox, tint), + OPERATOR 28 &<# (tbox, tfloat), + -- strictly before + OPERATOR 29 <<# (tbox, tbox), + OPERATOR 29 <<# (tbox, tint), + OPERATOR 29 <<# (tbox, tfloat), + -- strictly after + OPERATOR 30 #>> (tbox, tbox), + OPERATOR 30 #>> (tbox, tint), + OPERATOR 30 #>> (tbox, tfloat), + -- overlaps or after + OPERATOR 31 #&> (tbox, tbox), + OPERATOR 31 #&> (tbox, tint), + OPERATOR 31 #&> (tbox, tfloat), + -- functions + FUNCTION 1 tbox_spgist_config(internal, internal), + FUNCTION 2 tbox_kdtree_choose(internal, internal), + FUNCTION 3 tbox_kdtree_picksplit(internal, internal), + FUNCTION 4 tbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 tbox_spgist_leaf_consistent(internal, internal); + +/******************************************************************************/ + +CREATE FUNCTION temporal_spgist_compress(internal) + RETURNS internal + AS 'MODULE_PATHNAME', 'Temporal_spgist_compress' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/******************************************************************************/ + +CREATE OPERATOR CLASS tbool_quadtree_ops + DEFAULT FOR TYPE tbool USING spgist AS + -- overlaps + OPERATOR 3 && (tbool, tstzspan), + OPERATOR 3 && (tbool, tbool), + -- same + OPERATOR 6 ~= (tbool, tstzspan), + OPERATOR 6 ~= (tbool, tbool), + -- contains + OPERATOR 7 @> (tbool, tstzspan), + OPERATOR 7 @> (tbool, tbool), + -- contained by + OPERATOR 8 <@ (tbool, tstzspan), + OPERATOR 8 <@ (tbool, tbool), + -- adjacent + OPERATOR 17 -|- (tbool, tstzspan), + OPERATOR 17 -|- (tbool, tbool), + -- overlaps or before + OPERATOR 28 &<# (tbool, tstzspan), + OPERATOR 28 &<# (tbool, tbool), + -- strictly before + OPERATOR 29 <<# (tbool, tstzspan), + OPERATOR 29 <<# (tbool, tbool), + -- strictly after + OPERATOR 30 #>> (tbool, tstzspan), + OPERATOR 30 #>> (tbool, tbool), + -- overlaps or after + OPERATOR 31 #&> (tbool, tstzspan), + OPERATOR 31 #&> (tbool, tbool), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 temporal_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tbool_kdtree_ops + FOR TYPE tbool USING spgist AS + -- overlaps + OPERATOR 3 && (tbool, tstzspan), + OPERATOR 3 && (tbool, tbool), + -- same + OPERATOR 6 ~= (tbool, tstzspan), + OPERATOR 6 ~= (tbool, tbool), + -- contains + OPERATOR 7 @> (tbool, tstzspan), + OPERATOR 7 @> (tbool, tbool), + -- contained by + OPERATOR 8 <@ (tbool, tstzspan), + OPERATOR 8 <@ (tbool, tbool), + -- adjacent + OPERATOR 17 -|- (tbool, tstzspan), + OPERATOR 17 -|- (tbool, tbool), + -- overlaps or before + OPERATOR 28 &<# (tbool, tstzspan), + OPERATOR 28 &<# (tbool, tbool), + -- strictly before + OPERATOR 29 <<# (tbool, tstzspan), + OPERATOR 29 <<# (tbool, tbool), + -- strictly after + OPERATOR 30 #>> (tbool, tstzspan), + OPERATOR 30 #>> (tbool, tbool), + -- overlaps or after + OPERATOR 31 #&> (tbool, tstzspan), + OPERATOR 31 #&> (tbool, tbool), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 temporal_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tint_quadtree_ops + DEFAULT FOR TYPE tint USING spgist AS + -- strictly left + OPERATOR 1 << (tint, intspan), + OPERATOR 1 << (tint, tbox), + OPERATOR 1 << (tint, tint), + -- overlaps or left + OPERATOR 2 &< (tint, intspan), + OPERATOR 2 &< (tint, tbox), + OPERATOR 2 &< (tint, tint), + -- overlaps + OPERATOR 3 && (tint, intspan), + OPERATOR 3 && (tint, tstzspan), + OPERATOR 3 && (tint, tbox), + OPERATOR 3 && (tint, tint), + -- overlaps or right + OPERATOR 4 &> (tint, intspan), + OPERATOR 4 &> (tint, tbox), + OPERATOR 4 &> (tint, tint), + -- strictly right + OPERATOR 5 >> (tint, intspan), + OPERATOR 5 >> (tint, tbox), + OPERATOR 5 >> (tint, tint), + -- same + OPERATOR 6 ~= (tint, intspan), + OPERATOR 6 ~= (tint, tstzspan), + OPERATOR 6 ~= (tint, tbox), + OPERATOR 6 ~= (tint, tint), + -- contains + OPERATOR 7 @> (tint, intspan), + OPERATOR 7 @> (tint, tstzspan), + OPERATOR 7 @> (tint, tbox), + OPERATOR 7 @> (tint, tint), + -- contained by + OPERATOR 8 <@ (tint, intspan), + OPERATOR 8 <@ (tint, tstzspan), + OPERATOR 8 <@ (tint, tbox), + OPERATOR 8 <@ (tint, tint), + -- adjacent + OPERATOR 17 -|- (tint, intspan), + OPERATOR 17 -|- (tint, tstzspan), + OPERATOR 17 -|- (tint, tbox), + OPERATOR 17 -|- (tint, tint), + -- nearest approach distance + OPERATOR 25 |=| (tint, tbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tint, tint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tint, tstzspan), + OPERATOR 28 &<# (tint, tbox), + OPERATOR 28 &<# (tint, tint), + -- strictly before + OPERATOR 29 <<# (tint, tstzspan), + OPERATOR 29 <<# (tint, tbox), + OPERATOR 29 <<# (tint, tint), + -- strictly after + OPERATOR 30 #>> (tint, tstzspan), + OPERATOR 30 #>> (tint, tbox), + OPERATOR 30 #>> (tint, tint), + -- overlaps or after + OPERATOR 31 #&> (tint, tstzspan), + OPERATOR 31 #&> (tint, tbox), + OPERATOR 31 #&> (tint, tint), + -- functions + FUNCTION 1 tbox_spgist_config(internal, internal), + FUNCTION 2 tbox_quadtree_choose(internal, internal), + FUNCTION 3 tbox_quadtree_picksplit(internal, internal), + FUNCTION 4 tbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 tbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tnumber_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tint_kdtree_ops + FOR TYPE tint USING spgist AS + -- strictly left + OPERATOR 1 << (tint, intspan), + OPERATOR 1 << (tint, tbox), + OPERATOR 1 << (tint, tint), + -- overlaps or left + OPERATOR 2 &< (tint, intspan), + OPERATOR 2 &< (tint, tbox), + OPERATOR 2 &< (tint, tint), + -- overlaps + OPERATOR 3 && (tint, intspan), + OPERATOR 3 && (tint, tstzspan), + OPERATOR 3 && (tint, tbox), + OPERATOR 3 && (tint, tint), + -- overlaps or right + OPERATOR 4 &> (tint, intspan), + OPERATOR 4 &> (tint, tbox), + OPERATOR 4 &> (tint, tint), + -- strictly right + OPERATOR 5 >> (tint, intspan), + OPERATOR 5 >> (tint, tbox), + OPERATOR 5 >> (tint, tint), + -- same + OPERATOR 6 ~= (tint, intspan), + OPERATOR 6 ~= (tint, tstzspan), + OPERATOR 6 ~= (tint, tbox), + OPERATOR 6 ~= (tint, tint), + -- contains + OPERATOR 7 @> (tint, intspan), + OPERATOR 7 @> (tint, tstzspan), + OPERATOR 7 @> (tint, tbox), + OPERATOR 7 @> (tint, tint), + -- contained by + OPERATOR 8 <@ (tint, intspan), + OPERATOR 8 <@ (tint, tstzspan), + OPERATOR 8 <@ (tint, tbox), + OPERATOR 8 <@ (tint, tint), + -- adjacent + OPERATOR 17 -|- (tint, intspan), + OPERATOR 17 -|- (tint, tstzspan), + OPERATOR 17 -|- (tint, tbox), + OPERATOR 17 -|- (tint, tint), + -- nearest approach distance + OPERATOR 25 |=| (tint, tbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tint, tint) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tint, tstzspan), + OPERATOR 28 &<# (tint, tbox), + OPERATOR 28 &<# (tint, tint), + -- strictly before + OPERATOR 29 <<# (tint, tstzspan), + OPERATOR 29 <<# (tint, tbox), + OPERATOR 29 <<# (tint, tint), + -- strictly after + OPERATOR 30 #>> (tint, tstzspan), + OPERATOR 30 #>> (tint, tbox), + OPERATOR 30 #>> (tint, tint), + -- overlaps or after + OPERATOR 31 #&> (tint, tstzspan), + OPERATOR 31 #&> (tint, tbox), + OPERATOR 31 #&> (tint, tint), + -- functions + FUNCTION 1 tbox_spgist_config(internal, internal), + FUNCTION 2 tbox_kdtree_choose(internal, internal), + FUNCTION 3 tbox_kdtree_picksplit(internal, internal), + FUNCTION 4 tbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 tbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tnumber_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tfloat_quadtree_ops + DEFAULT FOR TYPE tfloat USING spgist AS + -- strictly left + OPERATOR 1 << (tfloat, floatspan), + OPERATOR 1 << (tfloat, tbox), + OPERATOR 1 << (tfloat, tfloat), + -- overlaps or left + OPERATOR 2 &< (tfloat, floatspan), + OPERATOR 2 &< (tfloat, tbox), + OPERATOR 2 &< (tfloat, tfloat), + -- overlaps + OPERATOR 3 && (tfloat, floatspan), + OPERATOR 3 && (tfloat, tstzspan), + OPERATOR 3 && (tfloat, tbox), + OPERATOR 3 && (tfloat, tfloat), + -- overlaps or right + OPERATOR 4 &> (tfloat, floatspan), + OPERATOR 4 &> (tfloat, tbox), + OPERATOR 4 &> (tfloat, tfloat), + -- strictly right + OPERATOR 5 >> (tfloat, floatspan), + OPERATOR 5 >> (tfloat, tbox), + OPERATOR 5 >> (tfloat, tfloat), + -- same + OPERATOR 6 ~= (tfloat, floatspan), + OPERATOR 6 ~= (tfloat, tstzspan), + OPERATOR 6 ~= (tfloat, tbox), + OPERATOR 6 ~= (tfloat, tfloat), + -- contains + OPERATOR 7 @> (tfloat, floatspan), + OPERATOR 7 @> (tfloat, tstzspan), + OPERATOR 7 @> (tfloat, tbox), + OPERATOR 7 @> (tfloat, tfloat), + -- contained by + OPERATOR 8 <@ (tfloat, floatspan), + OPERATOR 8 <@ (tfloat, tstzspan), + OPERATOR 8 <@ (tfloat, tbox), + OPERATOR 8 <@ (tfloat, tfloat), + -- adjacent + OPERATOR 17 -|- (tfloat, floatspan), + OPERATOR 17 -|- (tfloat, tstzspan), + OPERATOR 17 -|- (tfloat, tbox), + OPERATOR 17 -|- (tfloat, tfloat), + -- nearest approach distance + OPERATOR 25 |=| (tfloat, tbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tfloat, tfloat) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tfloat, tstzspan), + OPERATOR 28 &<# (tfloat, tbox), + OPERATOR 28 &<# (tfloat, tfloat), + -- strictly before + OPERATOR 29 <<# (tfloat, tstzspan), + OPERATOR 29 <<# (tfloat, tbox), + OPERATOR 29 <<# (tfloat, tfloat), + -- strictly after + OPERATOR 30 #>> (tfloat, tstzspan), + OPERATOR 30 #>> (tfloat, tbox), + OPERATOR 30 #>> (tfloat, tfloat), + -- overlaps or after + OPERATOR 31 #&> (tfloat, tstzspan), + OPERATOR 31 #&> (tfloat, tbox), + OPERATOR 31 #&> (tfloat, tfloat), + -- functions + FUNCTION 1 tbox_spgist_config(internal, internal), + FUNCTION 2 tbox_quadtree_choose(internal, internal), + FUNCTION 3 tbox_quadtree_picksplit(internal, internal), + FUNCTION 4 tbox_quadtree_inner_consistent(internal, internal), + FUNCTION 5 tbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tnumber_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS tfloat_kdtree_ops + FOR TYPE tfloat USING spgist AS + -- strictly left + OPERATOR 1 << (tfloat, floatspan), + OPERATOR 1 << (tfloat, tbox), + OPERATOR 1 << (tfloat, tfloat), + -- overlaps or left + OPERATOR 2 &< (tfloat, floatspan), + OPERATOR 2 &< (tfloat, tbox), + OPERATOR 2 &< (tfloat, tfloat), + -- overlaps + OPERATOR 3 && (tfloat, floatspan), + OPERATOR 3 && (tfloat, tstzspan), + OPERATOR 3 && (tfloat, tbox), + OPERATOR 3 && (tfloat, tfloat), + -- overlaps or right + OPERATOR 4 &> (tfloat, floatspan), + OPERATOR 4 &> (tfloat, tbox), + OPERATOR 4 &> (tfloat, tfloat), + -- strictly right + OPERATOR 5 >> (tfloat, floatspan), + OPERATOR 5 >> (tfloat, tbox), + OPERATOR 5 >> (tfloat, tfloat), + -- same + OPERATOR 6 ~= (tfloat, floatspan), + OPERATOR 6 ~= (tfloat, tstzspan), + OPERATOR 6 ~= (tfloat, tbox), + OPERATOR 6 ~= (tfloat, tfloat), + -- contains + OPERATOR 7 @> (tfloat, floatspan), + OPERATOR 7 @> (tfloat, tstzspan), + OPERATOR 7 @> (tfloat, tbox), + OPERATOR 7 @> (tfloat, tfloat), + -- contained by + OPERATOR 8 <@ (tfloat, floatspan), + OPERATOR 8 <@ (tfloat, tstzspan), + OPERATOR 8 <@ (tfloat, tbox), + OPERATOR 8 <@ (tfloat, tfloat), + -- adjacent + OPERATOR 17 -|- (tfloat, floatspan), + OPERATOR 17 -|- (tfloat, tstzspan), + OPERATOR 17 -|- (tfloat, tbox), + OPERATOR 17 -|- (tfloat, tfloat), + -- nearest approach distance + OPERATOR 25 |=| (tfloat, tbox) FOR ORDER BY pg_catalog.float_ops, + OPERATOR 25 |=| (tfloat, tfloat) FOR ORDER BY pg_catalog.float_ops, + -- overlaps or before + OPERATOR 28 &<# (tfloat, tstzspan), + OPERATOR 28 &<# (tfloat, tbox), + OPERATOR 28 &<# (tfloat, tfloat), + -- strictly before + OPERATOR 29 <<# (tfloat, tstzspan), + OPERATOR 29 <<# (tfloat, tbox), + OPERATOR 29 <<# (tfloat, tfloat), + -- strictly after + OPERATOR 30 #>> (tfloat, tstzspan), + OPERATOR 30 #>> (tfloat, tbox), + OPERATOR 30 #>> (tfloat, tfloat), + -- overlaps or after + OPERATOR 31 #&> (tfloat, tstzspan), + OPERATOR 31 #&> (tfloat, tbox), + OPERATOR 31 #&> (tfloat, tfloat), + -- functions + FUNCTION 1 tbox_spgist_config(internal, internal), + FUNCTION 2 tbox_kdtree_choose(internal, internal), + FUNCTION 3 tbox_kdtree_picksplit(internal, internal), + FUNCTION 4 tbox_kdtree_inner_consistent(internal, internal), + FUNCTION 5 tbox_spgist_leaf_consistent(internal, internal), + FUNCTION 6 tnumber_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS ttext_quadtree_ops + DEFAULT FOR TYPE ttext USING spgist AS + -- overlaps + OPERATOR 3 && (ttext, tstzspan), + OPERATOR 3 && (ttext, ttext), + -- same + OPERATOR 6 ~= (ttext, tstzspan), + OPERATOR 6 ~= (ttext, ttext), + -- contains + OPERATOR 7 @> (ttext, tstzspan), + OPERATOR 7 @> (ttext, ttext), + -- contained by + OPERATOR 8 <@ (ttext, tstzspan), + OPERATOR 8 <@ (ttext, ttext), + -- adjacent + OPERATOR 17 -|- (ttext, tstzspan), + OPERATOR 17 -|- (ttext, ttext), + -- overlaps or before + OPERATOR 28 &<# (ttext, tstzspan), + OPERATOR 28 &<# (ttext, ttext), + -- strictly before + OPERATOR 29 <<# (ttext, tstzspan), + OPERATOR 29 <<# (ttext, ttext), + -- strictly after + OPERATOR 30 #>> (ttext, tstzspan), + OPERATOR 30 #>> (ttext, ttext), + -- overlaps or after + OPERATOR 31 #&> (ttext, tstzspan), + OPERATOR 31 #&> (ttext, ttext), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_quadtree_choose(internal, internal), + FUNCTION 3 span_quadtree_picksplit(internal, internal), + FUNCTION 4 span_quadtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 temporal_spgist_compress(internal); + +/******************************************************************************/ + +CREATE OPERATOR CLASS ttext_kdtree_ops + FOR TYPE ttext USING spgist AS + -- overlaps + OPERATOR 3 && (ttext, tstzspan), + OPERATOR 3 && (ttext, ttext), + -- same + OPERATOR 6 ~= (ttext, tstzspan), + OPERATOR 6 ~= (ttext, ttext), + -- contains + OPERATOR 7 @> (ttext, tstzspan), + OPERATOR 7 @> (ttext, ttext), + -- contained by + OPERATOR 8 <@ (ttext, tstzspan), + OPERATOR 8 <@ (ttext, ttext), + -- adjacent + OPERATOR 17 -|- (ttext, tstzspan), + OPERATOR 17 -|- (ttext, ttext), + -- overlaps or before + OPERATOR 28 &<# (ttext, tstzspan), + OPERATOR 28 &<# (ttext, ttext), + -- strictly before + OPERATOR 29 <<# (ttext, tstzspan), + OPERATOR 29 <<# (ttext, ttext), + -- strictly after + OPERATOR 30 #>> (ttext, tstzspan), + OPERATOR 30 #>> (ttext, ttext), + -- overlaps or after + OPERATOR 31 #&> (ttext, tstzspan), + OPERATOR 31 #&> (ttext, ttext), + -- functions + FUNCTION 1 tstzspan_spgist_config(internal, internal), + FUNCTION 2 span_kdtree_choose(internal, internal), + FUNCTION 3 span_kdtree_picksplit(internal, internal), + FUNCTION 4 span_kdtree_inner_consistent(internal, internal), + FUNCTION 5 span_spgist_leaf_consistent(internal, internal), + FUNCTION 6 temporal_spgist_compress(internal); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/046_temporal_analytics.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/046_temporal_analytics.in.sql new file mode 100644 index 000000000..e976f9727 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/046_temporal_analytics.in.sql @@ -0,0 +1,57 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Analytic functions for temporal types + */ + +/*****************************************************************************/ + +CREATE FUNCTION minDistSimplify(tfloat, float) +RETURNS tfloat +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION minTimeDeltaSimplify(tfloat, interval) +RETURNS tfloat +AS 'MODULE_PATHNAME', 'Temporal_simplify_min_tdelta' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION maxDistSimplify(tfloat, float, boolean DEFAULT TRUE) +RETURNS tfloat +AS 'MODULE_PATHNAME', 'Temporal_simplify_max_dist' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION douglasPeuckerSimplify(tfloat, float, boolean DEFAULT TRUE) +RETURNS tfloat +AS 'MODULE_PATHNAME', 'Temporal_simplify_dp' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +/*****************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/999_oid_cache.in.sql b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/999_oid_cache.in.sql new file mode 100644 index 000000000..b3a385371 --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/999_oid_cache.in.sql @@ -0,0 +1,50 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @file + * @brief Routine that pre-computes the type and operator Oid cache and store + * them in a global array and a hash table + */ + +CREATE TABLE mobilitydb_opcache ( + opnum INT, + ltypnum INT, + rtypnum INT, + opid Oid +); + +CREATE FUNCTION fill_oid_cache() + RETURNS VOID + AS 'MODULE_PATHNAME', 'fill_oid_cache' + LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +SELECT fill_oid_cache(); + +/******************************************************************************/ diff --git a/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/CMakeLists.txt b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/CMakeLists.txt new file mode 100644 index 000000000..c1b8086fa --- /dev/null +++ b/jmeos-core/tools/parity/meos-ref/mobilitydb/sql/temporal/CMakeLists.txt @@ -0,0 +1,39 @@ +SET(LOCAL_FILES + 001_set + 002_set_ops + 003_span + 005_span_ops + 007_spanset + 009_spanset_ops + 011_span_indexes + 012_spanset_indexes + 013_set_indexes + 015_span_aggfuncs + 019_geo_constructors + 021_tbox + 022_temporal + 023_temporal_inout + 025_temporal_tile + 026_tnumber_mathfuncs + 028_tbool_boolops + 029_ttext_textfuncs + 030_temporal_compops + 032_temporal_boxops + 034_temporal_posops + 036_tnumber_distance + 038_temporal_similarity + 040_temporal_aggfuncs + 042_temporal_waggfuncs + 043_temporal_gist + 044_temporal_spgist + 046_temporal_analytics + 999_oid_cache + ) + +foreach (f ${LOCAL_FILES}) + process_file(${f} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/${f}.sql.in ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql @ONLY) + list(APPEND PACKAGE_SQL_FILES ${CMAKE_BINARY_DIR}/MobilityDB/sql/${f}.sql) +endforeach() + +set(PROJECT_SQL_FILES ${PROJECT_SQL_FILES} ${PACKAGE_SQL_FILES} PARENT_SCOPE) diff --git a/jmeos-core/tools/parity/parity_audit.py b/jmeos-core/tools/parity/parity_audit.py new file mode 100644 index 000000000..ad339f2be --- /dev/null +++ b/jmeos-core/tools/parity/parity_audit.py @@ -0,0 +1,234 @@ +#!/usr/bin/env python3 +"""Symbol-level parity audit for the MobilityFlink generated MEOS facade. + +Measures, per type family, how much of the MEOS public-header function surface +the generated facade (org.mobilitydb.meos.MeosOps*) exposes, cross-checked +against the JMEOS jar export set so a method only counts when it is genuinely +bindable. + +Reference surface = the MEOS public C API (meos/include/meos*.h, excluding the +meos_internal*.h headers). This is the surface JMEOS mirrors and the facade +delegates to, so it is the exact denominator for a Flink binding. A second view +maps the facade against the MobilityDB SQL layer's underlying C symbols for +comparability with the SQL-surface bindings. + +Coverage reported here is STATIC: the facade method exists and binds a JMEOS +symbol of matching arity. Runtime behaviour is exercised separately by the +per-family smoke tests. + +Usage: + python3 tools/parity/parity_audit.py \ + --meos-include /path/to/MobilityDB/meos/include \ + --jar jar/JMEOS.jar \ + --facade src/main/java/org/mobilitydb/meos \ + --mdb-sql /path/to/MobilityDB/mobilitydb/sql \ + --out docs/parity-status.md +""" +import argparse, re, os, glob, subprocess, collections +from datetime import date + +PUBLIC_HEADERS = ["meos.h", "meos_geo.h", "meos_cbuffer.h", + "meos_npoint.h", "meos_pose.h", "meos_rgeo.h", +"meos_h3.h"] +FAMILY = {"meos.h": "core temporal / set / span / spanset / tbox", + "meos_geo.h": "geo (tgeo / tpoint / stbox)", + "meos_cbuffer.h": "cbuffer", "meos_npoint.h": "npoint", + "meos_pose.h": "pose", "meos_rgeo.h": "rgeo", + "meos_h3.h": "h3 / th3index"} + +_DECL = re.compile(r'^\s*extern\s+.+?\b([a-z][A-Za-z0-9_]*)\s*\(', re.M) +_PUBSTATIC = re.compile(r'public static [A-Za-z0-9_.<>\[\]]+ ([a-z0-9_]+)\(') + +# MobilityDB SQL out-of-scope bucketing (PG-only; no MEOS/Flink equivalent). +OOS_SECTIONS = { + "temporal/011_span_indexes.in.sql", "temporal/012_spanset_indexes.in.sql", + "temporal/013_set_indexes.in.sql", "temporal/019_geo_constructors.in.sql", + "temporal/043_temporal_gist.in.sql", "temporal/044_temporal_spgist.in.sql", + "temporal/999_oid_cache.in.sql", "geo/073_tgeo_gist.in.sql", + "geo/073_tpoint_gist.in.sql", "geo/074_tgeo_spgist.in.sql", + "geo/074_tpoint_spgist.in.sql", "cbuffer/166_tcbuffer_indexes.in.sql", + "npoint/092_tnpoint_gin.in.sql", "npoint/098_tnpoint_indexes.in.sql", + "pose/114_tpose_indexes.in.sql", "rgeo/134_trgeo_indexes.in.sql", +} +OOS_SUFFIXES = ("_in", "_out", "_recv", "_send", "_typmod_in", "_typmod_out", + "_transfn", "_combinefn", "_finalfn", "_serialize", "_deserialize", + "_sel", "_joinsel", "_supportfn", "_analyze", + "_cmp", "_eq", "_ne", "_lt", "_le", "_gt", "_ge", "_hash", "_hash_extended") +OOS_NAMES = {"range", "multirange", "create_trip", "transform_gk"} + + +def jmeos_symbols(jar): + out = subprocess.run(["javap", "-classpath", jar, "-p", + "functions.GeneratedFunctions"], + capture_output=True, text=True).stdout + return set(re.findall(r'\b([a-z][a-z0-9_]+)\(', out)) + + +def facade_methods(d): + syms = set() + for f in glob.glob(os.path.join(d, "MeosOps*.java")): + syms |= set(_PUBSTATIC.findall(open(f).read())) + return syms + + +def libmeos_symbols(path): + out = subprocess.run(["nm", "-D", path], capture_output=True, text=True).stdout + return {line.split()[-1] for line in out.splitlines() if line.strip()} + + +def public_surface(inc): + fam, allpub = {}, set() + for h in PUBLIC_HEADERS: + names = set(_DECL.findall(open(os.path.join(inc, h)).read())) + for n in names: + allpub.add(n); fam.setdefault(n, h) + return allpub, fam + + +def sql_csymbols(root): + create = re.compile(r'CREATE\s+(?:OR\s+REPLACE\s+)?FUNCTION\s+([A-Za-z0-9_]+)\s*\(', re.I) + csym = re.compile(r"AS\s+'[^']*'\s*,\s*'([A-Za-z0-9_]+)'", re.I) + langsql = re.compile(r"LANGUAGE\s+'?(?:sql|plpgsql)'?", re.I) + addressable, oos, sqlc = set(), 0, 0 + for path in glob.glob(os.path.join(root, "**", "*.in.sql"), recursive=True): + section = os.path.relpath(path, root).replace(os.sep, "/") + txt = open(path, encoding="utf-8", errors="replace").read() + for m in create.finditer(txt): + name = m.group(1); tail = txt[m.end():m.end() + 1200].split(';')[0] + cm = csym.search(tail); sym = cm.group(1) if cm else None + key = (sym or name).lower() + if section in OOS_SECTIONS or key in OOS_NAMES or key.endswith(OOS_SUFFIXES): + oos += 1; continue + if sym is None: + sqlc += 1; continue + addressable.add(sym.lower()) + return addressable, oos, sqlc + + +def main(): + ap = argparse.ArgumentParser() + here = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + ap.add_argument("--meos-include", default="/home/esteban/src/MobilityDB/meos/include") + ap.add_argument("--jar", default=os.path.join(here, "jar", "JMEOS.jar")) + ap.add_argument("--facade", default=os.path.join(here, "src/main/java/org/mobilitydb/meos")) + ap.add_argument("--mdb-sql", default="/home/esteban/src/MobilityDB/mobilitydb/sql") + ap.add_argument("--out", default=os.path.join(here, "docs", "parity-status.md")) + ap.add_argument("--libmeos", default=None, + help="path to a built libmeos.so; cross-checks that every facade method " + "resolves to an exported symbol (runtime resolution check)") + a = ap.parse_args() + + jm = jmeos_symbols(a.jar) + fa_all = facade_methods(a.facade) + fa = fa_all & jm + pub, fam = public_surface(a.meos_include) + bindable = pub & jm + covered = bindable & fa + missing = sorted(bindable - fa) + + bc, cc = collections.Counter(), collections.Counter() + for n in bindable: + bc[fam[n]] += 1 + if n in covered: + cc[fam[n]] += 1 + + addr, oos, sqlc = sql_csymbols(a.mdb_sql) + sql_cov = len(addr & fa); sql_bindable = len(addr & jm) + + pct = lambda c, t: (100.0 * c / t) if t else 0.0 + L = [] + L.append("# MobilityFlink parity status — MEOS surface audit\n") + L.append(f"Generated {date.today().isoformat()} by `tools/parity/parity_audit.py`.\n") + L.append("The MobilityFlink MEOS facade (`org.mobilitydb.meos.MeosOps*`) exposes " + "MEOS C functions to Flink through JMEOS. This audit measures, per type family, " + "the share of the **MEOS public C API** that the facade exposes and that JMEOS binds.\n") + L.append(f"**Headline.** The facade exposes **{len(covered)} of {len(bindable)} " + f"public MEOS functions ({pct(len(covered), len(bindable)):.1f}%)**. " + f"The MEOS public surface (`meos/include/meos*.h`, excluding internal headers) is " + f"{len(pub)} functions; JMEOS binds {len(bindable)} of them. " + f"{len(missing)} bindable functions are not exposed (listed in §3).\n") + L.append("Coverage is **static**: a function counts as covered when the facade declares a " + "method of the same name and arity that delegates to a JMEOS export.\n") + L.append("Per-family runtime behaviour is asserted by " + "`src/test/java/org/mobilitydb/meos/MeosFacadeSmokeTest.java`, which constructs " + "and reads back a value in the core, geo, cbuffer, npoint and pose families through the " + "facade against libmeos. The cbuffer, npoint and pose families require a libmeos built " + "with the extended modules (`-DCBUFFER=ON -DNPOINT=ON -DPOSE=ON -DRGEO=ON`); the stock " + "library carries the core and geo surfaces only.\n") + L.append("## 1. Reference surface and method\n") + L.append("- **Denominator**: distinct function names declared `extern` in the MEOS public " + "headers `meos.h`, `meos_geo.h`, `meos_cbuffer.h`, `meos_npoint.h`, `meos_pose.h`, " + "`meos_rgeo.h`. Internal headers (`meos_internal*.h`) are excluded.\n") + L.append("- **Numerator**: `public static` methods on the generated `MeosOps*` facade whose " + "name is also a `functions.GeneratedFunctions` export in the bundled JMEOS jar.\n") + L.append(f"- **JMEOS jar**: {os.path.relpath(a.jar, here)} exports {len(jm)} static methods.\n") + L.append("## 2. Per-family coverage of the public MEOS surface\n") + L.append("| Family (header) | Public ∩ JMEOS | Exposed | Missing | Coverage |") + L.append("|---|---:|---:|---:|---:|") + for h in PUBLIC_HEADERS: + b, c = bc[h], cc[h] + L.append(f"| {FAMILY[h]} (`{h}`) | {b} | {c} | {b - c} | {pct(c, b):.1f}% |") + L.append(f"| **total** | **{len(bindable)}** | **{len(covered)}** | " + f"**{len(bindable) - len(covered)}** | **{pct(len(covered), len(bindable)):.1f}%** |\n") + L.append("## 3. Bindable MEOS functions not exposed by the facade\n") + L.append(f"{len(missing)} functions are present in the public MEOS headers and bound by " + "JMEOS but not generated into the facade:\n") + for h in PUBLIC_HEADERS: + ms = [n for n in missing if fam[n] == h] + if ms: + L.append(f"- **`{h}`** ({len(ms)}): " + ", ".join(f"`{n}`" for n in ms)) + L.append("") + L.append("## 4. MobilityDB SQL-surface cross-check\n") + L.append("The facade is also matched against the underlying MEOS C symbol of each addressable " + "`CREATE FUNCTION` in `mobilitydb/sql/**/*.in.sql` (PG-only sections and helper symbols " + f"bucketed out; {oos} out-of-scope, {sqlc} SQL/plpgsql-composed functions with no single " + "C symbol). Functions the SQL layer implements through the internal MEOS headers " + "(`meos_internal*.h`) are exposed via `MeosOpsSqlSurface`.\n") + L.append(f"- Addressable distinct C symbols: **{len(addr)}**; bound by JMEOS: **{sql_bindable}**; " + f"exposed by the facade: **{sql_cov}** " + f"({pct(sql_cov, sql_bindable):.1f}% of the JMEOS-bindable SQL surface).\n") + L.append(f"- The remaining **{len(addr) - sql_bindable}** addressable C symbols are not exported " + "by JMEOS under the name the SQL layer's extension wrapper uses; the wrapper names " + "differ from the MEOS function names they call.\n") + + if a.libmeos: + libsyms = libmeos_symbols(a.libmeos) + resolved = fa_all & libsyms + unresolved = sorted(fa_all - libsyms) + L.append("## 5. Runtime symbol resolution\n") + L.append("Every facade method delegates to a libmeos symbol of the same name. Against a " + "MEOS shared library built with the extended modules (`-DCBUFFER=ON -DNPOINT=ON " + "-DPOSE=ON -DRGEO=ON`), " + f"**{len(resolved)} of {len(fa_all)}** facade methods resolve to an exported " + "symbol.\n") + if unresolved: + hdr_only = sorted(n for n in unresolved if n in pub) + jmeos_only = sorted(n for n in unresolved if n not in pub) + L.append(f"The remaining {len(unresolved)} are present in the JMEOS jar but not " + "exported by the MEOS shared library (a JMEOS-jar / library version skew):\n") + if hdr_only: + L.append(f"- declared in the public headers, not exported by this build " + f"({len(hdr_only)}): " + ", ".join(f"`{n}`" for n in hdr_only)) + if jmeos_only: + L.append(f"- not declared in the current public headers, JMEOS jar ahead of the " + f"library ({len(jmeos_only)}): " + ", ".join(f"`{n}`" for n in jmeos_only)) + L.append("") + else: + L.append("All facade methods resolve.\n") + print(f"libmeos resolution: {len(resolved)}/{len(fa_all)} " + f"({len(unresolved)} unresolved)") + + md = "\n".join(L) + "\n" + os.makedirs(os.path.dirname(a.out), exist_ok=True) + open(a.out, "w").write(md) + + print(f"public MEOS surface: {len(pub)}") + print(f" bound by JMEOS: {len(bindable)}") + print(f" exposed by facade: {len(covered)} ({pct(len(covered), len(bindable)):.1f}%)") + print(f" missing (bindable): {len(missing)}") + print(f"SQL addressable C-symbols: {len(addr)} (bindable {sql_bindable}, exposed {sql_cov})") + print(f"wrote {a.out}") + + +if __name__ == "__main__": + main() From 77c277744c23e997dae54072efba617a7baf8a98 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Thu, 2 Jul 2026 13:15:09 +0200 Subject: [PATCH 08/23] Advance the org.mobilitydb.meos facade to the MobilityDB master MEOS surface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply the 77-symbol drift from pin 588768d7ab to master: 20 trgeo→trgeometry renames (A); 12 pg_*/cstring2text/text2cstring/pose_normalise/temporal_instants_p/ temporal_hausdorff_distance renames (B); 21 removed scalar helpers dropped with no callers (C: add_date_int, add_interval_interval, add_timestamptz_interval, date_to_timestamp, date_to_timestamptz, float_exp, float_ln, float_log10, float_round, int32_cmp, int64_cmp, interval_make, mul_interval_double, timestamp_to_date, timestamptz_shift, timestamptz_to_date, minus_date_date, minus_date_int, minus_timestamptz_interval, minus_timestamptz_timestamptz, meos_initialize_pointcloud); 23 signature updates (D): value_at_timestamptz gains a result out-param and returns bool; value_split/value_time_split/ temporal_time_split gain bins/count out-params; set_spans/spanset_spans/ spanset_spanarr drop the count out-param; super_union_span_span drops the boolean merge flag; text_cmp gains a collation pointer; gbox_make gains hasm and geodetic booleans and min/max range pairs; geom_min_bounding_radius gains a radius out-param; pose_make_2d/3d gain a geodetic boolean; trgeoinst_make is renamed trgeometryinst_make. All xxx_hash_extended functions change their seed and return type from long to int (bigint_to_span/spanset likewise). 1735 tests pass, BUILD SUCCESS. --- .../mobilitydb/meos/MeosOpsFreeCbuffer.java | 2 +- .../org/mobilitydb/meos/MeosOpsFreeCore.java | 334 +++--------------- .../org/mobilitydb/meos/MeosOpsFreeGeo.java | 8 +- .../mobilitydb/meos/MeosOpsFreeNpoint.java | 2 +- .../org/mobilitydb/meos/MeosOpsFreePose.java | 10 +- .../mobilitydb/meos/MeosOpsParityGaps.java | 139 ++++---- .../org/mobilitydb/meos/MeosOpsSTBox.java | 2 +- .../java/org/mobilitydb/meos/MeosOpsSet.java | 6 +- .../java/org/mobilitydb/meos/MeosOpsSpan.java | 2 +- .../org/mobilitydb/meos/MeosOpsSpanSet.java | 10 +- .../org/mobilitydb/meos/MeosOpsTBool.java | 4 +- .../java/org/mobilitydb/meos/MeosOpsTBox.java | 2 +- .../org/mobilitydb/meos/MeosOpsTFloat.java | 12 +- .../java/org/mobilitydb/meos/MeosOpsTInt.java | 12 +- .../meos/MeosOpsTRGeometryInst.java | 6 +- .../org/mobilitydb/meos/MeosOpsTText.java | 4 +- .../org/mobilitydb/meos/MeosOpsTemporal.java | 4 +- 17 files changed, 156 insertions(+), 403 deletions(-) diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java index f967f7e20..aab9b1b8f 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCbuffer.java @@ -125,7 +125,7 @@ public static int cbuffer_hash(jnr.ffi.Pointer arg0) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: scalar comparison/hash

*/ - public static long cbuffer_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int cbuffer_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "cbuffer_hash_extended requires libmeos — set -Dmeos.enabled=true"); diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java index 37df9a023..9830e8fe7 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeCore.java @@ -43,18 +43,6 @@ public final class MeosOpsFreeCore { private MeosOpsFreeCore() { /* utility */ } - /** - * MEOS {@code add_date_int} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: scalar arithmetic

- */ - public static int add_date_int(int arg0, int arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "add_date_int requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.add_date_int(arg0, arg1); - } /** * MEOS {@code add_float_tfloat} — tier stateless. @@ -82,18 +70,6 @@ public static jnr.ffi.Pointer add_int_tint(int arg0, jnr.ffi.Pointer arg1) { return GeneratedFunctions.add_int_tint(arg0, arg1); } - /** - * MEOS {@code add_interval_interval} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

- */ - public static jnr.ffi.Pointer add_interval_interval(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "add_interval_interval requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.add_interval_interval(arg0, arg1); - } /** * MEOS {@code add_tfloat_float} — tier stateless. @@ -108,18 +84,6 @@ public static jnr.ffi.Pointer add_tfloat_float(jnr.ffi.Pointer arg0, double arg1 return GeneratedFunctions.add_tfloat_float(arg0, arg1); } - /** - * MEOS {@code add_timestamptz_interval} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: scalar arithmetic

- */ - public static java.time.OffsetDateTime add_timestamptz_interval(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "add_timestamptz_interval requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.add_timestamptz_interval(arg0, arg1); - } /** * MEOS {@code add_tint_int} — tier stateless. @@ -763,7 +727,7 @@ public static jnr.ffi.Pointer bigint_to_set(long arg0) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: name pattern is _to_

*/ - public static jnr.ffi.Pointer bigint_to_span(long arg0) { + public static jnr.ffi.Pointer bigint_to_span(int arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "bigint_to_span requires libmeos — set -Dmeos.enabled=true"); @@ -776,7 +740,7 @@ public static jnr.ffi.Pointer bigint_to_span(long arg0) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: base-type fn, default pure

*/ - public static jnr.ffi.Pointer bigint_to_spanset(long arg0) { + public static jnr.ffi.Pointer bigint_to_spanset(int arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "bigint_to_spanset requires libmeos — set -Dmeos.enabled=true"); @@ -1460,31 +1424,7 @@ public static jnr.ffi.Pointer date_to_spanset(int arg0) { return GeneratedFunctions.date_to_spanset(arg0); } - /** - * MEOS {@code date_to_timestamp} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: base-type fn, default pure

- */ - public static java.time.LocalDateTime date_to_timestamp(int arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "date_to_timestamp requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.date_to_timestamp(arg0); - } - /** - * MEOS {@code date_to_timestamptz} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: name pattern is _to_

- */ - public static java.time.OffsetDateTime date_to_timestamptz(int arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "date_to_timestamptz requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.date_to_timestamptz(arg0); - } /** * MEOS {@code date_union_transfn} — tier stateless. @@ -1590,18 +1530,6 @@ public static double float_degrees(double arg0, boolean arg1) { return GeneratedFunctions.float_degrees(arg0, arg1); } - /** - * MEOS {@code float_exp} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: base-type fn, default pure

- */ - public static double float_exp(double arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "float_exp requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.float_exp(arg0); - } /** * MEOS {@code float_extent_transfn} — tier stateless. @@ -1629,44 +1557,8 @@ public static double float_get_bin(double arg0, double arg1, double arg2) { return GeneratedFunctions.float_get_bin(arg0, arg1, arg2); } - /** - * MEOS {@code float_ln} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: base-type fn, default pure

- */ - public static double float_ln(double arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "float_ln requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.float_ln(arg0); - } - /** - * MEOS {@code float_log10} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: base-type fn, default pure

- */ - public static double float_log10(double arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "float_log10 requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.float_log10(arg0); - } - /** - * MEOS {@code float_round} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: transform/normalize (pure)

- */ - public static double float_round(double arg0, int arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "float_round requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.float_round(arg0, arg1); - } /** * MEOS {@code float_timestamptz_to_tbox} — tier stateless. @@ -1759,31 +1651,7 @@ public static jnr.ffi.Pointer float_union_transfn(jnr.ffi.Pointer arg0, double a return GeneratedFunctions.float_union_transfn(arg0, arg1); } - /** - * MEOS {@code int32_cmp} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: scalar comparison with width suffix

- */ - public static int int32_cmp(int arg0, int arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "int32_cmp requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.int32_cmp(arg0, arg1); - } - /** - * MEOS {@code int64_cmp} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: scalar comparison with width suffix

- */ - public static int int64_cmp(long arg0, long arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "int64_cmp requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.int64_cmp(arg0, arg1); - } /** * MEOS {@code int_extent_transfn} — tier stateless. @@ -2266,18 +2134,6 @@ public static jnr.ffi.Pointer intersection_timestamptz_set(java.time.OffsetDateT return GeneratedFunctions.intersection_timestamptz_set(arg0, arg1); } - /** - * MEOS {@code interval_make} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

- */ - public static jnr.ffi.Pointer interval_make(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, double arg6) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "interval_make requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.interval_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6); - } /** * MEOS {@code left_bigint_set} — tier stateless. @@ -2630,18 +2486,6 @@ public static boolean left_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) return GeneratedFunctions.left_text_set(arg0, arg1); } - /** - * MEOS {@code mul_interval_double} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: arithmetic op on temporal number (per-instant)

- */ - public static jnr.ffi.Pointer mul_interval_double(jnr.ffi.Pointer arg0, double arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "mul_interval_double requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.mul_interval_double(arg0, arg1); - } /** * MEOS {@code numspan_timestamptz_to_tbox} — tier stateless. @@ -4525,7 +4369,7 @@ public static int text_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { throw new UnsupportedOperationException( "text_cmp requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.text_cmp(arg0, arg1); + return GeneratedFunctions.text_cmp(arg0, arg1, null); } /** @@ -4892,18 +4736,6 @@ public static jnr.ffi.Pointer tgt_ttext_text(jnr.ffi.Pointer arg0, jnr.ffi.Point return GeneratedFunctions.tgt_ttext_text(arg0, arg1); } - /** - * MEOS {@code timestamp_to_date} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: name pattern is _to_

- */ - public static int timestamp_to_date(java.time.LocalDateTime arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "timestamp_to_date requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.timestamp_to_date(arg0); - } /** * MEOS {@code timestamptz_extent_transfn} — tier stateless. @@ -4931,18 +4763,6 @@ public static java.time.OffsetDateTime timestamptz_get_bin(java.time.OffsetDateT return GeneratedFunctions.timestamptz_get_bin(arg0, arg1, arg2); } - /** - * MEOS {@code timestamptz_shift} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: transform/normalize (pure)

- */ - public static java.time.OffsetDateTime timestamptz_shift(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "timestamptz_shift requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.timestamptz_shift(arg0, arg1); - } /** * MEOS {@code timestamptz_tcount_transfn} — tier stateless. @@ -4957,18 +4777,6 @@ public static jnr.ffi.Pointer timestamptz_tcount_transfn(jnr.ffi.Pointer arg0, j return GeneratedFunctions.timestamptz_tcount_transfn(arg0, arg1); } - /** - * MEOS {@code timestamptz_to_date} — tier stateless. - *

Pure per-event; safe in any scalar position.

- *

Free function (not class-classified). Classification rule: name pattern is _to_

- */ - public static int timestamptz_to_date(java.time.OffsetDateTime arg0) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "timestamptz_to_date requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.timestamptz_to_date(arg0); - } /** * MEOS {@code timestamptz_to_set} — tier stateless. @@ -6673,31 +6481,7 @@ public static jnr.ffi.Pointer minus_bigint_spanset(long arg0, jnr.ffi.Pointer ar return GeneratedFunctions.minus_bigint_spanset(arg0, arg1); } - /** - * MEOS {@code minus_date_date} — tier bounded-state. - *

Per-event with bounded per-key state (MEOS handle).

- *

Free function (not class-classified). Classification rule: restriction name pattern

- */ - public static int minus_date_date(int arg0, int arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "minus_date_date requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.minus_date_date(arg0, arg1); - } - /** - * MEOS {@code minus_date_int} — tier bounded-state. - *

Per-event with bounded per-key state (MEOS handle).

- *

Free function (not class-classified). Classification rule: restriction name pattern

- */ - public static int minus_date_int(int arg0, int arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "minus_date_int requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.minus_date_int(arg0, arg1); - } /** * MEOS {@code minus_date_set} — tier bounded-state. @@ -7102,18 +6886,6 @@ public static jnr.ffi.Pointer minus_text_set(jnr.ffi.Pointer arg0, jnr.ffi.Point return GeneratedFunctions.minus_text_set(arg0, arg1); } - /** - * MEOS {@code minus_timestamptz_interval} — tier bounded-state. - *

Per-event with bounded per-key state (MEOS handle).

- *

Free function (not class-classified). Classification rule: restriction name pattern

- */ - public static java.time.OffsetDateTime minus_timestamptz_interval(java.time.OffsetDateTime arg0, jnr.ffi.Pointer arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "minus_timestamptz_interval requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.minus_timestamptz_interval(arg0, arg1); - } /** * MEOS {@code minus_timestamptz_set} — tier bounded-state. @@ -7154,18 +6926,6 @@ public static jnr.ffi.Pointer minus_timestamptz_spanset(java.time.OffsetDateTime return GeneratedFunctions.minus_timestamptz_spanset(arg0, arg1); } - /** - * MEOS {@code minus_timestamptz_timestamptz} — tier bounded-state. - *

Per-event with bounded per-key state (MEOS handle).

- *

Free function (not class-classified). Classification rule: restriction name pattern

- */ - public static jnr.ffi.Pointer minus_timestamptz_timestamptz(java.time.OffsetDateTime arg0, java.time.OffsetDateTime arg1) { - if (!MEOS_AVAILABLE) { - throw new UnsupportedOperationException( - "minus_timestamptz_timestamptz requires libmeos — set -Dmeos.enabled=true"); - } - return GeneratedFunctions.minus_timestamptz_timestamptz(arg0, arg1); - } /** * MEOS {@code nad_tboxfloat_tboxfloat} — tier bounded-state. @@ -9079,16 +8839,16 @@ public static java.lang.String bool_out(boolean arg0) { } /** - * MEOS {@code cstring2text} — tier io-meta. + * MEOS {@code cstring_to_text} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: string/CString conversion (low-level)

*/ - public static jnr.ffi.Pointer cstring2text(java.lang.String arg0) { + public static jnr.ffi.Pointer cstring_to_text(java.lang.String arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "cstring2text requires libmeos — set -Dmeos.enabled=true"); + "cstring_to_text requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.cstring2text(arg0); + return GeneratedFunctions.cstring_to_text(arg0); } /** @@ -9430,120 +9190,120 @@ public static void meos_set_spatial_ref_sys_csv(java.lang.String arg0) { } /** - * MEOS {@code pg_date_in} — tier io-meta. + * MEOS {@code date_in} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static int pg_date_in(java.lang.String arg0) { + public static int date_in(java.lang.String arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_date_in requires libmeos — set -Dmeos.enabled=true"); + "date_in requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_date_in(arg0); + return GeneratedFunctions.date_in(arg0); } /** - * MEOS {@code pg_date_out} — tier io-meta. + * MEOS {@code date_out} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static java.lang.String pg_date_out(int arg0) { + public static java.lang.String date_out(int arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_date_out requires libmeos — set -Dmeos.enabled=true"); + "date_out requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_date_out(arg0); + return GeneratedFunctions.date_out(arg0); } /** - * MEOS {@code pg_interval_cmp} — tier io-meta. + * MEOS {@code interval_cmp} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: string/CString conversion (low-level)

*/ - public static int pg_interval_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + public static int interval_cmp(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_interval_cmp requires libmeos — set -Dmeos.enabled=true"); + "interval_cmp requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_interval_cmp(arg0, arg1); + return GeneratedFunctions.interval_cmp(arg0, arg1); } /** - * MEOS {@code pg_interval_in} — tier io-meta. + * MEOS {@code interval_in} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static jnr.ffi.Pointer pg_interval_in(java.lang.String arg0, int arg1) { + public static jnr.ffi.Pointer interval_in(java.lang.String arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_interval_in requires libmeos — set -Dmeos.enabled=true"); + "interval_in requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_interval_in(arg0, arg1); + return GeneratedFunctions.interval_in(arg0, arg1); } /** - * MEOS {@code pg_interval_out} — tier io-meta. + * MEOS {@code interval_out} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static java.lang.String pg_interval_out(jnr.ffi.Pointer arg0) { + public static java.lang.String interval_out(jnr.ffi.Pointer arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_interval_out requires libmeos — set -Dmeos.enabled=true"); + "interval_out requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_interval_out(arg0); + return GeneratedFunctions.interval_out(arg0); } /** - * MEOS {@code pg_timestamp_in} — tier io-meta. + * MEOS {@code timestamp_in} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static java.time.LocalDateTime pg_timestamp_in(java.lang.String arg0, int arg1) { + public static java.time.LocalDateTime timestamp_in(java.lang.String arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_timestamp_in requires libmeos — set -Dmeos.enabled=true"); + "timestamp_in requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_timestamp_in(arg0, arg1); + return GeneratedFunctions.timestamp_in(arg0, arg1); } /** - * MEOS {@code pg_timestamp_out} — tier io-meta. + * MEOS {@code timestamp_out} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static java.lang.String pg_timestamp_out(java.time.LocalDateTime arg0) { + public static java.lang.String timestamp_out(java.time.LocalDateTime arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_timestamp_out requires libmeos — set -Dmeos.enabled=true"); + "timestamp_out requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_timestamp_out(arg0); + return GeneratedFunctions.timestamp_out(arg0); } /** - * MEOS {@code pg_timestamptz_in} — tier io-meta. + * MEOS {@code timestamptz_in} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static java.time.OffsetDateTime pg_timestamptz_in(java.lang.String arg0, int arg1) { + public static java.time.OffsetDateTime timestamptz_in(java.lang.String arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_timestamptz_in requires libmeos — set -Dmeos.enabled=true"); + "timestamptz_in requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_timestamptz_in(arg0, arg1); + return GeneratedFunctions.timestamptz_in(arg0, arg1); } /** - * MEOS {@code pg_timestamptz_out} — tier io-meta. + * MEOS {@code timestamptz_out} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: IO/serialization

*/ - public static java.lang.String pg_timestamptz_out(java.time.OffsetDateTime arg0) { + public static java.lang.String timestamptz_out(java.time.OffsetDateTime arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "pg_timestamptz_out requires libmeos — set -Dmeos.enabled=true"); + "timestamptz_out requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pg_timestamptz_out(arg0); + return GeneratedFunctions.timestamptz_out(arg0); } /** @@ -9703,16 +9463,16 @@ public static int rtree_search_temporal(jnr.ffi.Pointer arg0, int arg1, jnr.ffi. } /** - * MEOS {@code text2cstring} — tier io-meta. + * MEOS {@code text_to_cstring} — tier io-meta. *

I/O / catalog / lifecycle helper.

*

Free function (not class-classified). Classification rule: string/CString conversion (low-level)

*/ - public static java.lang.String text2cstring(jnr.ffi.Pointer arg0) { + public static java.lang.String text_to_cstring(jnr.ffi.Pointer arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "text2cstring requires libmeos — set -Dmeos.enabled=true"); + "text_to_cstring requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.text2cstring(arg0); + return GeneratedFunctions.text_to_cstring(arg0); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java index fd60c6503..bfb870290 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeGeo.java @@ -346,12 +346,12 @@ public static boolean front_stbox_tspatial(jnr.ffi.Pointer arg0, jnr.ffi.Pointer *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: make/from_base of instant/scalar

*/ - public static jnr.ffi.Pointer gbox_make(boolean arg0, double arg1, double arg2, double arg3, double arg4, double arg5, double arg6) { + public static jnr.ffi.Pointer gbox_make(boolean arg0, boolean arg1, boolean arg2, double arg3, double arg4, double arg5, double arg6, double arg7, double arg8, double arg9, double arg10) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "gbox_make requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.gbox_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + return GeneratedFunctions.gbox_make(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); } /** @@ -1126,12 +1126,12 @@ public static double geom_length(jnr.ffi.Pointer arg0) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: base-type fn, default pure

*/ - public static jnr.ffi.Pointer geom_min_bounding_radius(jnr.ffi.Pointer arg0) { + public static jnr.ffi.Pointer geom_min_bounding_radius(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "geom_min_bounding_radius requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.geom_min_bounding_radius(arg0); + return GeneratedFunctions.geom_min_bounding_radius(arg0, arg1); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java index 097a56762..9bb88f644 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreeNpoint.java @@ -177,7 +177,7 @@ public static int npoint_hash(jnr.ffi.Pointer arg0) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: scalar comparison/hash

*/ - public static long npoint_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int npoint_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "npoint_hash_extended requires libmeos — set -Dmeos.enabled=true"); diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java index 62c54715d..b851e0ecf 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsFreePose.java @@ -164,7 +164,7 @@ public static int pose_hash(jnr.ffi.Pointer arg0) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: scalar comparison/hash

*/ - public static long pose_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int pose_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "pose_hash_extended requires libmeos — set -Dmeos.enabled=true"); @@ -203,12 +203,12 @@ public static boolean pose_lt(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: base-type fn, default pure

*/ - public static jnr.ffi.Pointer pose_make_2d(double arg0, double arg1, double arg2, int arg3) { + public static jnr.ffi.Pointer pose_make_2d(double arg0, double arg1, double arg2, boolean arg3, int arg4) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "pose_make_2d requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pose_make_2d(arg0, arg1, arg2, arg3); + return GeneratedFunctions.pose_make_2d(arg0, arg1, arg2, arg3, arg4); } /** @@ -216,12 +216,12 @@ public static jnr.ffi.Pointer pose_make_2d(double arg0, double arg1, double arg2 *

Pure per-event; safe in any scalar position.

*

Free function (not class-classified). Classification rule: base-type fn, default pure

*/ - public static jnr.ffi.Pointer pose_make_3d(double arg0, double arg1, double arg2, double arg3, double arg4, double arg5, double arg6, int arg7) { + public static jnr.ffi.Pointer pose_make_3d(double arg0, double arg1, double arg2, double arg3, double arg4, double arg5, double arg6, boolean arg7, int arg8) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "pose_make_3d requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.pose_make_3d(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + return GeneratedFunctions.pose_make_3d(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java index f74c2bb16..2c0935dfc 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java @@ -35,11 +35,11 @@ public final class MeosOpsParityGaps { private MeosOpsParityGaps() { /* utility */ } - /** MEOS {@code acontains_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code acontains_geo_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int acontains_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("acontains_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.acontains_geo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("acontains_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acontains_geo_trgeometry(arg0, arg1); } /** MEOS {@code acovers_geo_tgeo} — meos_geo.h · scalar / stateless. */ @@ -49,11 +49,11 @@ public static int acovers_geo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { return functions.GeneratedFunctions.acovers_geo_tgeo(arg0, arg1); } - /** MEOS {@code acovers_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code acovers_geo_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int acovers_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("acovers_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.acovers_geo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("acovers_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_geo_trgeometry(arg0, arg1); } /** MEOS {@code acovers_tcbuffer_tcbuffer} — meos_cbuffer.h · scalar / stateless. */ @@ -77,11 +77,11 @@ public static int acovers_tgeo_tgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) return functions.GeneratedFunctions.acovers_tgeo_tgeo(arg0, arg1); } - /** MEOS {@code acovers_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code acovers_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int acovers_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("acovers_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.acovers_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("acovers_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.acovers_trgeometry_geo(arg0, arg1); } /** MEOS {@code adisjoint_tgeoarr_tgeoarr} — meos_geo.h · scalar / stateless. */ @@ -91,53 +91,53 @@ public static jnr.ffi.Pointer adisjoint_tgeoarr_tgeoarr(jnr.ffi.Pointer arg0, in return functions.GeneratedFunctions.adisjoint_tgeoarr_tgeoarr(arg0, arg1, arg2, arg3, arg4); } - /** MEOS {@code adisjoint_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code adisjoint_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int adisjoint_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("adisjoint_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.adisjoint_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("adisjoint_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adisjoint_trgeometry_geo(arg0, arg1); } - /** MEOS {@code adisjoint_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code adisjoint_trgeometry_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int adisjoint_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("adisjoint_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.adisjoint_trgeo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("adisjoint_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adisjoint_trgeometry_trgeometry(arg0, arg1); } - /** MEOS {@code adwithin_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code adwithin_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int adwithin_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("adwithin_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.adwithin_trgeo_geo(arg0, arg1, arg2); + throw new UnsupportedOperationException("adwithin_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adwithin_trgeometry_geo(arg0, arg1, arg2); } - /** MEOS {@code adwithin_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code adwithin_trgeometry_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int adwithin_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("adwithin_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.adwithin_trgeo_trgeo(arg0, arg1, arg2); + throw new UnsupportedOperationException("adwithin_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.adwithin_trgeometry_trgeometry(arg0, arg1, arg2); } - /** MEOS {@code aintersects_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code aintersects_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int aintersects_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("aintersects_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.aintersects_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("aintersects_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.aintersects_trgeometry_geo(arg0, arg1); } - /** MEOS {@code aintersects_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code aintersects_trgeometry_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int aintersects_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("aintersects_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.aintersects_trgeo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("aintersects_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.aintersects_trgeometry_trgeometry(arg0, arg1); } - /** MEOS {@code atouches_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code atouches_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int atouches_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("atouches_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.atouches_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("atouches_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.atouches_trgeometry_geo(arg0, arg1); } /** MEOS {@code bearing_tpoint_point} — meos_geo.h · scalar / stateless. */ @@ -168,11 +168,11 @@ public static jnr.ffi.Pointer bigintspan_to_intspan(jnr.ffi.Pointer arg0) { return functions.GeneratedFunctions.bigintspan_to_intspan(arg0); } - /** MEOS {@code econtains_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code econtains_geo_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int econtains_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("econtains_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.econtains_geo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("econtains_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.econtains_geo_trgeometry(arg0, arg1); } /** MEOS {@code ecovers_geo_tcbuffer} — meos_cbuffer.h · scalar / stateless. */ @@ -182,32 +182,32 @@ public static int ecovers_geo_tcbuffer(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg return functions.GeneratedFunctions.ecovers_geo_tcbuffer(arg0, arg1); } - /** MEOS {@code ecovers_geo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code ecovers_geo_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int ecovers_geo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("ecovers_geo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.ecovers_geo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("ecovers_geo_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ecovers_geo_trgeometry(arg0, arg1); } - /** MEOS {@code ecovers_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code ecovers_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int ecovers_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("ecovers_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.ecovers_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("ecovers_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.ecovers_trgeometry_geo(arg0, arg1); } - /** MEOS {@code edisjoint_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code edisjoint_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int edisjoint_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("edisjoint_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.edisjoint_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("edisjoint_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edisjoint_trgeometry_geo(arg0, arg1); } - /** MEOS {@code edisjoint_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code edisjoint_trgeometry_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int edisjoint_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("edisjoint_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.edisjoint_trgeo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("edisjoint_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edisjoint_trgeometry_trgeometry(arg0, arg1); } /** MEOS {@code edwithin_tgeoarr_tgeoarr} — meos_geo.h · scalar / stateless. */ @@ -217,39 +217,39 @@ public static jnr.ffi.Pointer edwithin_tgeoarr_tgeoarr(jnr.ffi.Pointer arg0, int return functions.GeneratedFunctions.edwithin_tgeoarr_tgeoarr(arg0, arg1, arg2, arg3, arg4, arg5); } - /** MEOS {@code edwithin_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code edwithin_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int edwithin_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("edwithin_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.edwithin_trgeo_geo(arg0, arg1, arg2); + throw new UnsupportedOperationException("edwithin_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edwithin_trgeometry_geo(arg0, arg1, arg2); } - /** MEOS {@code edwithin_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code edwithin_trgeometry_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int edwithin_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, double arg2) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("edwithin_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.edwithin_trgeo_trgeo(arg0, arg1, arg2); + throw new UnsupportedOperationException("edwithin_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.edwithin_trgeometry_trgeometry(arg0, arg1, arg2); } - /** MEOS {@code eintersects_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code eintersects_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int eintersects_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("eintersects_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.eintersects_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("eintersects_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.eintersects_trgeometry_geo(arg0, arg1); } - /** MEOS {@code eintersects_trgeo_trgeo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code eintersects_trgeometry_trgeometry} — meos_rgeo.h · scalar / stateless. */ public static int eintersects_trgeo_trgeo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("eintersects_trgeo_trgeo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.eintersects_trgeo_trgeo(arg0, arg1); + throw new UnsupportedOperationException("eintersects_trgeometry_trgeometry requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.eintersects_trgeometry_trgeometry(arg0, arg1); } - /** MEOS {@code etouches_trgeo_geo} — meos_rgeo.h · scalar / stateless. */ + /** MEOS {@code etouches_trgeometry_geo} — meos_rgeo.h · scalar / stateless. */ public static int etouches_trgeo_geo(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("etouches_trgeo_geo requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.etouches_trgeo_geo(arg0, arg1); + throw new UnsupportedOperationException("etouches_trgeometry_geo requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.etouches_trgeometry_geo(arg0, arg1); } /** MEOS {@code floatspan_to_bigintspan} — meos.h · scalar / stateless. */ @@ -364,13 +364,6 @@ public static void meos_initialize_noexit_error_handler() { functions.GeneratedFunctions.meos_initialize_noexit_error_handler(); } - /** MEOS {@code meos_initialize_pointcloud} — meos.h · scalar / stateless. */ - public static void meos_initialize_pointcloud() { - if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("meos_initialize_pointcloud requires libmeos — set -Dmeos.enabled=true"); - functions.GeneratedFunctions.meos_initialize_pointcloud(); - } - /** MEOS {@code meos_set_arrow_roundtrip} — meos.h · scalar / stateless. */ public static jnr.ffi.Pointer meos_set_arrow_roundtrip(jnr.ffi.Pointer arg0) { if (!MeosOpsRuntime.MEOS_AVAILABLE) @@ -602,11 +595,11 @@ public static jnr.ffi.Pointer pose_from_geopose(java.lang.String arg0) { return functions.GeneratedFunctions.pose_from_geopose(arg0); } - /** MEOS {@code pose_normalise} — meos_pose.h · scalar / stateless. */ - public static jnr.ffi.Pointer pose_normalise(jnr.ffi.Pointer arg0) { + /** MEOS {@code pose_normalize} — meos_pose.h · scalar / stateless. */ + public static jnr.ffi.Pointer pose_normalize(jnr.ffi.Pointer arg0) { if (!MeosOpsRuntime.MEOS_AVAILABLE) - throw new UnsupportedOperationException("pose_normalise requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.pose_normalise(arg0); + throw new UnsupportedOperationException("pose_normalize requires libmeos — set -Dmeos.enabled=true"); + return functions.GeneratedFunctions.pose_normalize(arg0); } /** MEOS {@code pose_pitch} — meos_pose.h · scalar / stateless. */ @@ -673,10 +666,10 @@ public static jnr.ffi.Pointer spatialset_transform_pipeline(jnr.ffi.Pointer arg0 } /** MEOS {@code super_union_span_span} — meos.h · scalar / stateless. */ - public static jnr.ffi.Pointer super_union_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, boolean arg2) { + public static jnr.ffi.Pointer super_union_span_span(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { if (!MeosOpsRuntime.MEOS_AVAILABLE) throw new UnsupportedOperationException("super_union_span_span requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.super_union_span_span(arg0, arg1, arg2); + return functions.GeneratedFunctions.super_union_span_span(arg0, arg1); } /** MEOS {@code tand_bool_tbool} — meos.h · scalar / stateless. */ diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java index 4d9ac323c..88b034e46 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSTBox.java @@ -298,7 +298,7 @@ public static int stbox_hash(jnr.ffi.Pointer arg0) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static long stbox_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int stbox_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "stbox_hash_extended requires libmeos — set -Dmeos.enabled=true"); diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java index 2e778fd7a..c6346318e 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSet.java @@ -172,7 +172,7 @@ public static int set_hash(jnr.ffi.Pointer arg0) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static long set_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int set_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "set_hash_extended requires libmeos — set -Dmeos.enabled=true"); @@ -256,12 +256,12 @@ public static jnr.ffi.Pointer set_round(jnr.ffi.Pointer arg0, int arg1) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer set_spans(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + public static jnr.ffi.Pointer set_spans(jnr.ffi.Pointer arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "set_spans requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.set_spans(arg0, arg1); + return GeneratedFunctions.set_spans(arg0); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java index 1092c8407..150b3d263 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpan.java @@ -158,7 +158,7 @@ public static int span_hash(jnr.ffi.Pointer arg0) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static long span_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int span_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "span_hash_extended requires libmeos — set -Dmeos.enabled=true"); diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java index 8c0c661cf..6e2e1c879 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsSpanSet.java @@ -172,7 +172,7 @@ public static int spanset_hash(jnr.ffi.Pointer arg0) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static long spanset_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int spanset_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "spanset_hash_extended requires libmeos — set -Dmeos.enabled=true"); @@ -284,12 +284,12 @@ public static jnr.ffi.Pointer spanset_span_n(jnr.ffi.Pointer arg0, int arg1) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer spanset_spanarr(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + public static jnr.ffi.Pointer spanset_spanarr(jnr.ffi.Pointer arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "spanset_spanarr requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.spanset_spanarr(arg0, arg1); + return GeneratedFunctions.spanset_spanarr(arg0); } /** @@ -298,12 +298,12 @@ public static jnr.ffi.Pointer spanset_spanarr(jnr.ffi.Pointer arg0, jnr.ffi.Poin *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer spanset_spans(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1) { + public static jnr.ffi.Pointer spanset_spans(jnr.ffi.Pointer arg0) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "spanset_spans requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.spanset_spans(arg0, arg1); + return GeneratedFunctions.spanset_spans(arg0); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java index 97b369ba1..3a94448be 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java @@ -130,12 +130,12 @@ public static boolean tbool_start_value(jnr.ffi.Pointer arg0) { *

Object-model role: {@code restriction}.

*

Classification: role=restriction

*/ - public static jnr.ffi.Pointer tbool_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + public static boolean tbool_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tbool_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tbool_value_at_timestamptz(arg0, arg1, arg2); + return GeneratedFunctions.tbool_value_at_timestamptz(arg0, arg1, arg2, arg3); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java index 4408c72ff..2dd4a53d6 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBox.java @@ -200,7 +200,7 @@ public static int tbox_hash(jnr.ffi.Pointer arg0) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static long tbox_hash_extended(jnr.ffi.Pointer arg0, long arg1) { + public static int tbox_hash_extended(jnr.ffi.Pointer arg0, int arg1) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tbox_hash_extended requires libmeos — set -Dmeos.enabled=true"); diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java index 838bf00f2..631a99e5a 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java @@ -312,12 +312,12 @@ public static jnr.ffi.Pointer tfloat_time_boxes(jnr.ffi.Pointer arg0, jnr.ffi.Po *

Object-model role: {@code restriction}.

*

Classification: role=restriction

*/ - public static jnr.ffi.Pointer tfloat_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + public static boolean tfloat_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tfloat_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tfloat_value_at_timestamptz(arg0, arg1, arg2); + return GeneratedFunctions.tfloat_value_at_timestamptz(arg0, arg1, arg2, arg3); } /** @@ -368,12 +368,12 @@ public static jnr.ffi.Pointer tfloat_value_n(jnr.ffi.Pointer arg0, int arg1) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer tfloat_value_split(jnr.ffi.Pointer arg0, double arg1, double arg2) { + public static jnr.ffi.Pointer tfloat_value_split(jnr.ffi.Pointer arg0, double arg1, double arg2, jnr.ffi.Pointer arg3, jnr.ffi.Pointer arg4) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tfloat_value_split requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tfloat_value_split(arg0, arg1, arg2); + return GeneratedFunctions.tfloat_value_split(arg0, arg1, arg2, arg3, arg4); } /** @@ -396,12 +396,12 @@ public static jnr.ffi.Pointer tfloat_value_time_boxes(jnr.ffi.Pointer arg0, doub *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer tfloat_value_time_split(jnr.ffi.Pointer arg0, double arg1, jnr.ffi.Pointer arg2, double arg3, java.time.OffsetDateTime arg4) { + public static jnr.ffi.Pointer tfloat_value_time_split(jnr.ffi.Pointer arg0, double arg1, jnr.ffi.Pointer arg2, double arg3, java.time.OffsetDateTime arg4, jnr.ffi.Pointer arg5, jnr.ffi.Pointer arg6, jnr.ffi.Pointer arg7) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tfloat_value_time_split requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tfloat_value_time_split(arg0, arg1, arg2, arg3, arg4); + return GeneratedFunctions.tfloat_value_time_split(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java index ad843cb14..39cac262d 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java @@ -214,12 +214,12 @@ public static jnr.ffi.Pointer tint_time_boxes(jnr.ffi.Pointer arg0, jnr.ffi.Poin *

Object-model role: {@code restriction}.

*

Classification: role=restriction

*/ - public static jnr.ffi.Pointer tint_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + public static boolean tint_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tint_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tint_value_at_timestamptz(arg0, arg1, arg2); + return GeneratedFunctions.tint_value_at_timestamptz(arg0, arg1, arg2, arg3); } /** @@ -270,12 +270,12 @@ public static jnr.ffi.Pointer tint_value_n(jnr.ffi.Pointer arg0, int arg1) { *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer tint_value_split(jnr.ffi.Pointer arg0, int arg1, int arg2) { + public static jnr.ffi.Pointer tint_value_split(jnr.ffi.Pointer arg0, int arg1, int arg2, jnr.ffi.Pointer arg3, jnr.ffi.Pointer arg4) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tint_value_split requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tint_value_split(arg0, arg1, arg2); + return GeneratedFunctions.tint_value_split(arg0, arg1, arg2, arg3, arg4); } /** @@ -298,12 +298,12 @@ public static jnr.ffi.Pointer tint_value_time_boxes(jnr.ffi.Pointer arg0, int ar *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer tint_value_time_split(jnr.ffi.Pointer arg0, long arg1, jnr.ffi.Pointer arg2, int arg3, java.time.OffsetDateTime arg4) { + public static jnr.ffi.Pointer tint_value_time_split(jnr.ffi.Pointer arg0, long arg1, jnr.ffi.Pointer arg2, int arg3, java.time.OffsetDateTime arg4, jnr.ffi.Pointer arg5, jnr.ffi.Pointer arg6, jnr.ffi.Pointer arg7) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "tint_value_time_split requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tint_value_time_split(arg0, arg1, arg2, arg3, arg4); + return GeneratedFunctions.tint_value_time_split(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java index d2a2654c7..bf636bd56 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTRGeometryInst.java @@ -46,12 +46,12 @@ private MeosOpsTRGeometryInst() { /* utility */ } *

Object-model role: {@code constructor}.

*

Classification: constructor of instant/scalar

*/ - public static jnr.ffi.Pointer trgeoinst_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + public static jnr.ffi.Pointer trgeometryinst_make(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( - "trgeoinst_make requires libmeos — set -Dmeos.enabled=true"); + "trgeometryinst_make requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.trgeoinst_make(arg0, arg1, arg2); + return GeneratedFunctions.trgeometryinst_make(arg0, arg1, arg2); } } diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java index 1e124a1d9..7dfb069b3 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java @@ -186,12 +186,12 @@ public static jnr.ffi.Pointer ttext_upper(jnr.ffi.Pointer arg0) { *

Object-model role: {@code restriction}.

*

Classification: role=restriction

*/ - public static jnr.ffi.Pointer ttext_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2) { + public static boolean ttext_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "ttext_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.ttext_value_at_timestamptz(arg0, arg1, arg2); + return GeneratedFunctions.ttext_value_at_timestamptz(arg0, arg1, arg2, arg3); } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java index 7e3c01850..20dabbf8c 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTemporal.java @@ -1068,12 +1068,12 @@ public static jnr.ffi.Pointer temporal_time_bins(jnr.ffi.Pointer arg0, jnr.ffi.P *

Object-model role: {@code accessor}.

*

Classification: role=accessor

*/ - public static jnr.ffi.Pointer temporal_time_split(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2) { + public static jnr.ffi.Pointer temporal_time_split(jnr.ffi.Pointer arg0, jnr.ffi.Pointer arg1, java.time.OffsetDateTime arg2, jnr.ffi.Pointer arg3, jnr.ffi.Pointer arg4) { if (!MEOS_AVAILABLE) { throw new UnsupportedOperationException( "temporal_time_split requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.temporal_time_split(arg0, arg1, arg2); + return GeneratedFunctions.temporal_time_split(arg0, arg1, arg2, arg3, arg4); } /** From 90394e413bf67427d5bec38cc9a426b711024fc3 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 3 Jun 2026 09:36:59 +0200 Subject: [PATCH 09/23] Add the set-set spatial-join helper to the shared facade MeosSetSetJoin exposes the MEOS *_tgeoarr_tgeoarr family as eDwithinPairs / tDwithinPairs / aDisjointPairs over two arrays of temporal-geometry handles: it marshals the native pointer arrays the kernel prunes in C, keeps them reachable across the call with reachabilityFence, and reads back the flattened 0-based index pairs (and, for tDwithin, the per-pair tstzspanset of in-range times). Both JVM engines call it from the shared org.mobilitydb.meos layer, so the NxN spatial-join surface derives once. Verified against libmeos. --- .../org/mobilitydb/meos/MeosSetSetJoin.java | 151 ++++++++++++++++++ .../mobilitydb/meos/MeosSetSetJoinTest.java | 51 ++++++ 2 files changed, 202 insertions(+) create mode 100644 jmeos-core/src/main/java/org/mobilitydb/meos/MeosSetSetJoin.java create mode 100644 jmeos-core/src/test/java/org/mobilitydb/meos/MeosSetSetJoinTest.java diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosSetSetJoin.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosSetSetJoin.java new file mode 100644 index 000000000..67c904815 --- /dev/null +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosSetSetJoin.java @@ -0,0 +1,151 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2020-2026, Université libre de Bruxelles and MobilityDB + * contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ +package org.mobilitydb.meos; + +import functions.GeneratedFunctions; +import jnr.ffi.Memory; +import jnr.ffi.Pointer; +import jnr.ffi.Runtime; + +import java.lang.ref.Reference; +import java.lang.reflect.Field; +import sun.misc.Unsafe; + +/** + * Shared set-set spatial-join helper over the MEOS {@code *_tgeoarr_tgeoarr} + * kernel family. It marshals two arrays of already-parsed temporal-geometry + * handles into the native pointer arrays the kernel prunes in C, then reads + * back the flattened {@code int*} pair list. The kernel pair indices are + * 0-based and returned verbatim (the array-language convention shared by every + * JVM binding); SQL-like surfaces add their own +1. + * + *

The input {@code Pointer[]} are MEOS-owned and remain owned by the caller + * (it frees them); this helper frees only what the kernel allocates. The native + * argument buffers are GC-managed and kept reachable across the native call via + * {@link Reference#reachabilityFence} — the documented fix for the set-set + * SIGSEGV under JVM GC pressure.

+ */ +public final class MeosSetSetJoin { + + private static final Unsafe UNSAFE; + static { + try { + Field f = Unsafe.class.getDeclaredField("theUnsafe"); + f.setAccessible(true); + UNSAFE = (Unsafe) f.get(null); + } catch (ReflectiveOperationException e) { + throw new ExceptionInInitializerError(e); + } + } + + private MeosSetSetJoin() { /* utility */ } + + /** Result of {@link #tDwithinPairs}: the 0-based index pairs and, per pair, + * the hex-WKB of the {@code tstzspanset} of times the pair is within distance. */ + public static final class TDwithin { + public final int[][] pairs; + public final String[] periodsHexwkb; + TDwithin(int[][] pairs, String[] periodsHexwkb) { + this.pairs = pairs; + this.periodsHexwkb = periodsHexwkb; + } + } + + /** Index pairs {@code {i,j}} (0-based) ever within {@code dist} of each other. */ + public static int[][] eDwithinPairs(Pointer[] a, Pointer[] b, double dist) { + if (a == null || b == null || a.length == 0 || b.length == 0) return new int[0][]; + Runtime rt = Runtime.getSystemRuntime(); + Pointer arr1 = marshal(a, rt), arr2 = marshal(b, rt); + Pointer countPtr = Memory.allocateDirect(rt, Integer.BYTES); + Pointer res = GeneratedFunctions.edwithin_tgeoarr_tgeoarr( + arr1, a.length, arr2, b.length, dist, countPtr); + Reference.reachabilityFence(arr1); + Reference.reachabilityFence(arr2); + return readPairsAndFree(res, countPtr.getInt(0)); + } + + /** Index pairs {@code {i,j}} (0-based) always spatially disjoint (never intersecting). */ + public static int[][] aDisjointPairs(Pointer[] a, Pointer[] b) { + if (a == null || b == null || a.length == 0 || b.length == 0) return new int[0][]; + Runtime rt = Runtime.getSystemRuntime(); + Pointer arr1 = marshal(a, rt), arr2 = marshal(b, rt); + Pointer countPtr = Memory.allocateDirect(rt, Integer.BYTES); + Pointer res = GeneratedFunctions.adisjoint_tgeoarr_tgeoarr( + arr1, a.length, arr2, b.length, countPtr); + Reference.reachabilityFence(arr1); + Reference.reachabilityFence(arr2); + return readPairsAndFree(res, countPtr.getInt(0)); + } + + /** Index pairs ever within {@code dist}, each with the {@code tstzspanset} of in-range times. */ + public static TDwithin tDwithinPairs(Pointer[] a, Pointer[] b, double dist) { + if (a == null || b == null || a.length == 0 || b.length == 0) + return new TDwithin(new int[0][], new String[0]); + Runtime rt = Runtime.getSystemRuntime(); + Pointer arr1 = marshal(a, rt), arr2 = marshal(b, rt); + Pointer countPtr = Memory.allocateDirect(rt, Integer.BYTES); + Pointer periodsPtr = Memory.allocateDirect(rt, Long.BYTES); + Pointer res = GeneratedFunctions.tdwithin_tgeoarr_tgeoarr( + arr1, a.length, arr2, b.length, dist, countPtr, periodsPtr); + Reference.reachabilityFence(arr1); + Reference.reachabilityFence(arr2); + int cnt = countPtr.getInt(0); + if (res == null || cnt == 0) return new TDwithin(new int[0][], new String[0]); + Pointer ssArr = periodsPtr.getPointer(0); + int[][] pairs = new int[cnt][2]; + String[] periods = new String[cnt]; + for (int k = 0; k < cnt; k++) { + pairs[k][0] = res.getInt((long) (2 * k) * Integer.BYTES); + pairs[k][1] = res.getInt((long) (2 * k + 1) * Integer.BYTES); + Pointer ss = ssArr == null ? null : ssArr.getPointer((long) k * Long.BYTES); + periods[k] = ss == null ? null : GeneratedFunctions.spanset_as_hexwkb(ss, (byte) 0); + free(ss); + } + free(ssArr); + free(res); + return new TDwithin(pairs, periods); + } + + private static Pointer marshal(Pointer[] xs, Runtime rt) { + Pointer buf = Memory.allocateDirect(rt, xs.length * Long.BYTES); + for (int i = 0; i < xs.length; i++) buf.putPointer((long) i * Long.BYTES, xs[i]); + return buf; + } + + private static int[][] readPairsAndFree(Pointer res, int cnt) { + if (res == null || cnt == 0) return new int[0][]; + int[][] out = new int[cnt][2]; + for (int k = 0; k < cnt; k++) { + out[k][0] = res.getInt((long) (2 * k) * Integer.BYTES); + out[k][1] = res.getInt((long) (2 * k + 1) * Integer.BYTES); + } + free(res); + return out; + } + + private static void free(Pointer p) { + if (p != null) UNSAFE.freeMemory(p.address()); + } +} diff --git a/jmeos-core/src/test/java/org/mobilitydb/meos/MeosSetSetJoinTest.java b/jmeos-core/src/test/java/org/mobilitydb/meos/MeosSetSetJoinTest.java new file mode 100644 index 000000000..d7d63182e --- /dev/null +++ b/jmeos-core/src/test/java/org/mobilitydb/meos/MeosSetSetJoinTest.java @@ -0,0 +1,51 @@ +package org.mobilitydb.meos; + +import functions.GeneratedFunctions; +import jnr.ffi.Pointer; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfSystemProperty; + +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Verifies the shared set-set spatial-join helper against libmeos. Requires a + * libmeos that exports the {@code *_tgeoarr_tgeoarr} family, so it runs only + * with {@code -Dmeos.setset.enabled=true} (set where such a build is on the + * library path). + */ +@EnabledIfSystemProperty(named = "meos.setset.enabled", matches = "true") +class MeosSetSetJoinTest { + + @BeforeAll static void init() { GeneratedFunctions.meos_initialize(); } + @AfterAll static void fini() { GeneratedFunctions.meos_finalize(); } + + private static Pointer[] tgeo(String... lits) { + Pointer[] a = new Pointer[lits.length]; + for (int i = 0; i < lits.length; i++) a[i] = GeneratedFunctions.tgeompoint_in(lits[i]); + return a; + } + + @Test + void setSetSpatialJoin() { + // A[0] and B[0] coincide at (0,0); the rest are far apart. + Pointer[] a = tgeo("POINT(0 0)@2000-01-01", "POINT(10 10)@2000-01-01"); + Pointer[] b = tgeo("POINT(0 0)@2000-01-01", "POINT(100 100)@2000-01-01"); + + int[][] within = MeosSetSetJoin.eDwithinPairs(a, b, 1.0); + assertArrayEquals(new int[]{0, 0}, within[0]); + assertEquals(1, within.length, "only the coincident pair is ever within 1m"); + + int[][] disjoint = MeosSetSetJoin.aDisjointPairs(a, b); + assertEquals(3, disjoint.length, "every pair but the coincident one is always disjoint"); + assertTrue(Arrays.stream(disjoint).noneMatch(p -> p[0] == 0 && p[1] == 0)); + + MeosSetSetJoin.TDwithin t = MeosSetSetJoin.tDwithinPairs(a, b, 1.0); + assertEquals(1, t.pairs.length); + assertArrayEquals(new int[]{0, 0}, t.pairs[0]); + assertNotNull(t.periodsHexwkb[0], "in-range period spanset is returned"); + } +} From 69148148762effe7a33b14374a6f419ead773384 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 5 Jun 2026 21:30:20 +0200 Subject: [PATCH 10/23] Bump the MEOS facade to MobilityDB 54a9d4bc54 The IDL and bundled libmeos carry the 54a9d4bc54 public surface: the per-thread PROJ context, the box3d_in/gbox_in parsers, and tpose_to_tpoint. The parity-gap forwarders bind the value-at-timestamptz wrappers through their result-returning form and drop the pointcloud initializer absent from the surface. --- jmeos-core/src/libmeos.so | Bin 2053616 -> 2969864 bytes jmeos-core/src/main/resources/lib/libmeos.so | Bin 2053616 -> 2969864 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/jmeos-core/src/libmeos.so b/jmeos-core/src/libmeos.so index 9cc9bdbd499f0834c899dc861b3330a2373c5ca4..24ebd35a6a4b67fa68e941681b5de2f7a67a673a 100644 GIT binary patch literal 2969864 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 z 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 z­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

%2&~J3&G*aW_k@h98 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�t@w^!n1+HaNQ{3hgfu(=lj~XW{)aAJukp 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⪼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
)r%JmmMgq!xNxx260^E)@B=-s7SCFb5V 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 z zy_w#seYC$9Maz@Z*U+JXYSM4ugJ9jAUSEF$hT1F zTljzMy?K09)xH0nFlbbChZZ#st+7qpq*@J1EvINrNCNx7IS>aBt0>largDy?0wFc$ zD97zVe)rmIXWQQP)(-b}uwreiCZGwRBA_CuOb)O&M`dtG9C_ZKwe}eT*0#@m{&-%` z>)}O`J*>6%THp0u-}RjrNy~s_VXzD>KTZfl={T>ZwlpOh0lukghijy~$(l&-zUtz) zPNQ@n#{mHTEm-0KE4Pgy_>bXPz1Q;@dj84XZ&C@=9b)_W6aI{R9;^sn;VXspH1hf2 znbLbrhmi%xutI`q{IYbT_?&hEO>+Ku59OgXf2Eb+S=*G>RlXfhZt$W=SGWgeUKBz3S@7nb;1#wnk&L-~$jyHFkW)ja41AUb zRqbb}$q4nK;J-&&`CU42e5|I z9HiPeYWIS>{J>7DcpRzM{ou`kQ<7Xw3)=lCvGy^X7c=R7_ptnibs)8k6)Lkd=(xNf zE{83A+#VhD{As0mUv>v&2m{JVplTa6r*dCT8(j&kRq;auv! zX)bYpWXEX{7cZsWiChpHaoDMY5m@$f(wmF`(^9y9QcM@hyav{^^-AYvhHm6|Uaw!R zw!V`(C=_JggT-^aiX)T^A&L;chBPiRX2 zF3a3ma}U=%`fcIS?KQvWTE&)y&z#|@ntqDwZw1fvw<`Qw8~!!=MxML6uS?a49_g?A zkM*}B{JThhDfego>hO-yPU>19W5zvlxdDrkKHARf7)&W_P_g;9epzb|V5`=&#HUSB z0kkS)&#|tVR{ZIvBrgQJMgUqqa*bi)2rc;DDHdunPwAgpnQ1^`@8ODmYmb}El3^1V z7;%Glf~QPLdiMK#S+4(Fa@|#Oy{zQABfJ)_%=8ytU_wJ?%jhywTEDh9c|=Yk-+Z3m zF&Q_sUyTv&v0v)UOKr@b{gn2R*R)?=!U3FE2Gl**`)$on^f&Ulldd*ww+59Th(ILE z7};^3G7gNoH^UA~_%G})(9#k0W+sP4{=DW7OiwKG8ev0*PYCz5H}C{4-Pisd`H@oE z*Qls%6Z2o*Tw(U@Z&E@@=uvEW5=4cQZlkODzPR3rg5E1fF-$2|zo5Rr zS^r6jZIK4l+WuXmS%8}KJXG@&PB6w#=$uMnx9D{vJqg&cUjLLb2A}y`I0b(*m;jfP z_>@}E^y{17)Hi9t%#&Kk!$5tna3ha8DXkRqVP037@x~Z$T=TD^tYj<1df<*3`ro4t zhx0ys2*s&v>@;!ja%_G3#|5)L^2u1{rQBTjSzg1?RYko?yxz}^tV|q+)GsY}t>3;! zI~7;a%p^***Q(PhK3W~_IuaD~%nL@j(r=|Sg(_8u^G9#2R-qqI=%EJly*_^-H?q;l zX7r_)ce2>T9T<#VFG{Zu?mL-Yr*ux93c)w-SuIv*E%Hx1b2%Nr5M?_s+jQV`nqydc zfkuC;|Kx}2!2Em%W}6NiS?s_b|6p~%fD^rpyyR^_eFXmYfEHH@c^P{pB_ z(nCW?EK6xgkAEx5M=c7(yYoeKHY5uC1*R#w?4%On?>$Zql|)N>DYeJgHrXoa=k+!J|8g9SQ*Rnd6{SxD#HMFusbxaE)tlTzMy4@dQR9})9>2|(T<=k?i z2A#bLlTQ?_T)M)*U>E}MurB5UQ|Zndc7*+w@D34pm~~#}U%pOzXRklGQUhU=cog_^ zX~=!+qt^X&K$MVO+~e1H6 z{TmqTU>U#i^A_?3^rtHLCB4o+|MEp6i}U%5VI_DFY&J0J5KagaQ4?f<({dfsR+e|} zCBh_pJrn^%5o#eDp5H!$2r)Bx*8KF6>p3OY2bWxr=DH|~7&w^f*pS`h#*?4Ce{e}E z=aTnBH=F<+k^(uie{jHCZwg3Oezx_8KFE6;GH%NFue>P~CQ?s}JlLNBgzLnX-=Fa% zM!4Q=8tirJdV*I_B%1Gi)c55w@IIV1r?a@;F(OW1EPUV6rv!AXNb9~!W1@90MZKem z*?2zjMVa~elt`UOPH-b7LcFs0n!H~pkRm7Qbx9vWf5UzH`{j@AF9yV&p}!n?&;2n@ z`YxfShvNWH&b;T=VXBlddgl!$4~`{+)-RxY>yVgtIVg-R$-8_v)5oTDZCb2s*t#+`0tE%p^{hz251{@Xq&Uf{TR`K!@#GRt4g^1hnl zg#^FIfNLH^O8m?YrqzsBJ{!*#Ot?;oLjrF4m!l6oQI2X@)xj6+yJ5Ts<{nf?kdC_T zX3y8Tlvs{n{km_s(pZh&mzse)Kd7;5(Fld48ifT4Sr1Kho>|Bm?_lHMvwC-$nOt_`dsq{m352 zjVyCHPtX~+&h36_aPBsjxG_5f!<6~w57yTSGs^wEAmLNVO8D8MjR`O~gVvaa^Zv#( z{NOdFp|G8o&PQHZS2`bB6EW`#_$^95t@%)h&R?e3e?!geOb`>N*?BLTc`H`;BK)b7 zdb(tGt~RqXlwx?0j9e}i-~LfBRg+W|t0Oh!skMw|I0$BE>KhQ&cDObUeFKDcre@*H zYG>-@BDT5* zh15o4qxsqD|Bq2NF+U6Uo}VHFmZ41P##m&x-P%#$5}ou@zH>uTrehwh(? zmCZa+IjYJ*)Xvkre_@{9$YB5u&zp?&IjJjP-1C8b_SCb^S6w-(k%3$KCvUp;CMVTv zcw{11KKHFU@pcWU#y30Z&xr5$hJL43&n8y6-W+n3T>-H;&W*g|q(+GKU_nT&P%D?a zdijX3bl!`3#~EGSYNpRRDupff@F4`Es<<}~M*CVsrVsOsID0z_RV^?@VGD`*Q7_K7 zqx5HslWq@d^U%~T<09N|iPWlp|kQo;ML6Ax~f(qPG3{t%bp)ZtOh_{sl zh*;uAj;?XiIz3DEs>MX2Q#Tke2Rvy4_Fa-~XW_1+z107nD#GXC9#CnF`KK7Zb!g=C z;FiT2<7C6xCfS*+rfX_yiv-8@aLDv%6V7S92#1`v@<=Lv7y*!$r&BM9hutP8^_U=> z*RsvUqG)AtoJZzCM#mE|riiRwl?7gTN={k9?c_1-mRZA(5D8ZdGZ2+6;0L zQZLOQyUsqFH*HO=imlnSkQz%4~J^rs$!{{Ag zyR~>UJz{$th5(5$0$wU#L#*&@ZrsixlK9z~%#`E)Yg}v$jtRYL4G9Vv2_x7x7Ms}Q zj|x8;i(uw*(w{^;JwInpLqilDN}|Il{PXs7L+fBUDm zjb7`Y6Uz=69FJ^{JL5KEZ@%GB&ZjGyQ61b=V$S%@Hft-I7PFs?s_`!}o;?H&WJhe! zCvp2C|4BWE`kq4vE-Iy6J>{)lCcNH|I)&Au3d=ZfYp| zNPW|jC_hW}O&6LT?4@t|HH8Ya;73xI8dVcs+fG_JB}6BgD3SC8{H<=#D|$1 z*1e9zV-t4<7g9UKch-m6;UGp9I4xa5OSwN`zgDF}jin)fTEdbtzn^;Y7*1%Ha3>UD zo?&I0p#7kBX8%~^ZT39&JN#7cfQO1_X0uKe7Z7UOj)L`s(qociCxX_m*iX}dgsOYG zPpj}nOsmmQP8Ui@H462w0N)DuGf+QyaJBH~LW4gP%wta;YX<5k30?X~{bZHDal1tr ze4su8VX93}i~7mmQ+gl$lfZz0A2;Rds?%v(5&afUGxi{af+ZLt7mqkuX!G-TFq0dK+?N?#?+ z`E8Lu-xq(1($qjo0SbvyDEuKWY%X(Bt(wHl8~7`LyRpbyPD)CKP||d6{wWLJ$TJ6- z$sUA)%eDTwHk+=rhZU5e4V2Hh#PQg2B|hN|S@*j9GoYb)IywP5x(+&;z2qx$U`dRK z)?wb*X8cBW$IIXJ+fjvRU5SYUT03aMKhlV-LNY@6p#7zl-6rLMehgB3hR5vQUBcf{+;%%f3&{0 zGv@#G`u@_aZ*_lH|QZhbeHo)*{lDoXFOzK^0%VM91X^BHakAF;k?1IK@5 zeLswlTDra`n-1)?zQ0eQ!hVo7V(mY(zK<%d?=wNUwUW&xO-wW`h=xP?O}j<%ADqC; zJYSdJFY@dDOs)GnOYtX~F=s|S+yFv~6>v-J<5*kqnYcjqA4Te10m2Vma0Fg2aR^eCS%`q~GRBT2>_<}LF z&8m%;e~8M17_V9N613{!y{gt7zR5u8yI_Xj7YePR* zrIn1X!J7rs*2N}mM8m--3lf}MxyOI?r8n8CB}}ThaNw8`n?{>0T9k=B`tzDM4`+N! zstm)SO0n7hdnQ%eByNfYwVRqg3Bz;9bhjW&HYs> z4or%B5}cp8|DIMepklS84omV!oXkg%IEL}Js4WQd13XYrl@_x(ns{vj6}&IRi1REc zOS|0%irPN7i`TR+kRH*!XFfp17*|BdY(2E9?0lRUK@dOZ=>sB0uox^)GW(o@xBW@* zN8q;H{l{9Wm6?g+wB8v$2uJrso12{lv$3V%dwC!qA=Q!;w>t}a^fB(SJx;2g4@k_* z>{frXZT$*W?c7uC+%8`SS!s6i<1$R~~vV`W$_6cy6={_S16qT#O4KM@iDmu0r5 z;;v-uDA9+D92SU@=dcuESK;^dgQ;ef7`u>GiDInEaR+m&0-an1a8uetfL}Xdc{?$; zxU07#nV+c`vsgK)6zzLDj<@0Ujr5_L@pm!LZL4_jEnv{V_}du&>g4*u$cHfU&4Z)a z5&IFhVN8Nw=W|qGvuI%SC%KuimBBdMg=W5wy}`Np1g2yFqFUbWRCLa&f6&W44%`Q6<~a(==o@9+Gu zJF|?f`5l?2BD-)Q7G^}&I;o2dimZxa=d2@{Zr!qI-7@kd3`Z#!Ei6T8ONi+tqe1`R zxc*{ssq0qQdFpuTL=XSxYvy_A?aEP{g}o4qzKXKEWl# z*vAe5c*73CLFjx3go)McY+i6a&+3|MHa9PbIlLW$t*slQ^P1!mT0Ik7UQ1MXU%!Gr zQ#$oGo>>yDTNTSNlCU##JD76weN%&2EiHvQdehbZb+@+ zhI&hivkwQyvYa8LDHM!$$5d>JsnUgYwr=N?vtp4RC%ec_o!ZR~vw1SIBOF2Nta!E+ zE#{vXj`>-=S|(CqSKv-mRfE++?o=Bytdri@%81KL9Ik`2hSuw!n z(ag~YMKh;z9k6!RTKe0!F`7N~4U1@S)e114Ml0vVGRtIYW+n{1if5K8(s)gDbNlxFT(ax7XB(8G<{Q!a^9P$Ii72NV7i#qBZ81s&d zXO46;2L`JxF|qUt9^5Ve05`_+P0`h_V(fFS=U5khkKjZRIrX1?C_a!wxYEbJ?2hqK&`2fNvG9HC+7yPuwoBVzB!F1PN<;*RfnBg&)R zDDZd`@E@Ud0POpdBsA#)uw|Iv*=JhIsRs1f!PvdR^*W^71T!$)qsztMt8S%stC#46 zJT^qBm42bTi@46j|F|ABnh}m9q{X&w@OMIC({Iq<_@symetKLi2|j|#74)mXA9pWQO6~_ssm|Qt4h3%Z`Q7>UO(>(_;iquVw}Bp8vVr$r_id^e7p?fro*Ax?8@= zY}~B+mGiE_hzg=S$^QCm9Cbou*<5l-pr@4*2Uv9olXyvPlGjKxlG&~HqMfe}61!r) zwZ(jEMHpkBJ^K@iVtqE|u|x93Wx>VFeAo_DwAgk@!WX$lNcKaPz@&2(bM=^$lJ?xK zTOUQsQ-`&}hkaVkkCFt*$@qC?@man*>U?pPu6p%r9mlP{xZ63mn;!ye&*gd=Q7X0T zx#nlu3%i{QxZgph@Dta~zKGvLk63a@*^T2VLn39)m#y%tyWdohEtfnPQp1~Wf0%uS z?A!TB6(2gjYj?~!ehJ~k=do$m7U0BZR`Ihe_d7eETtCInW4XJ-`6Zk!t$04Qqa*~G zB|6+~k$hPmM}eMs3ceumP24$>C+4my;xj98f0E7+$KO>2QZ_)y$M-ibU_l^}jV1e0 z;xxB&PDNQ_t=l=DKe#d?*rDZTD<0I|P4$CR6(L2{U8*m&q=S_? znr|peuH*SpJg?%*_IXdq^e-}-O$$_3N+pcYT07QUp1lyEhP1(vjl^70AcQ0KM+M+{ zP+IiI-XsdR6~rZjGR_aX-0amAoFLGKC5QOSeqk{FCkFfRg@9-Hs@u1YEb5q1GZ0qR zhu5?dF&5&ILz&iOYPjeUkTwo{Nc_70bqsE?$a~3WFj>PAT#7ca@a}6e#$oTclGd!+ zE&OQiq!91takT81y&C?6ZMfW6^1?yr^IlWG>p^iQR3w+V#5+a4I)4eZW0}wL$z+xf zCGP@#!WC)~sxNY}Wk)KVySsvNkPCi5oA;*#&nZw!*x0vlJTfLQnOd|>EBV%6C8pT@ zzVjyeB(8Q+#y_WXUIh~CeBPp9biL8W+#4A^f2Qk=6;u8RNtB3{tDL$KHKaXS#53Wf z3jqD91#T@U3bM8Bq|NTci zpnqRfTTb2aSQ~f~d{b~rKFy0Hr2ZsgA1W7&t;~hrwd+w!!W;<3s@##R%W;@y$8q6;dOdNv*5kE>_1IomkN6w>!}a)jvO8M$f>~_w;`%QxyFXT$HCb48A)M-1 zydPAxpFlzUS7^b{*n;88o&R9+amG4u3I0X2E2#-R%r4n+W@)ks1#N(*WPuizr9q>& zj89+P1{CDd*BOf^8lvjZm|e?6#ImQJSP*7^4Q3%n!k$7@-EV&&e$ZLi2&0&Xr>61S zORdZKM*nN*5hPt9h@Pgh^ATRqb8YfJCk4Z|KTtVm;lF|2QrlM&j8WEzlN7gq&5QVj z{pJ!v2O^hX1iIbCh#=l!_idK9jI;^a;|+ry&mKQyLiX&>l@Y-@*v0i>v{)K6elmGi z%P%kU3~Kk%`PhNm+{A3+H2A^*is`Q~eMThT4#gztodoBnqLHWDpOzU57D0`&{mQN= zS2Fo}P3k7Pm#wuSnoT^)QrYdNG(f&@`dDp^Y_~tGk&8d)S6yVWu~F|J!b7gZ^$PqL?M7C( z&Sbj$&VVjA(va=w9Sh;u_EJ-Z-?z#qoC;$ z^$)mAWjkqRIkMKM1p$2FjEUWYtHS;Zl1!B!&kBPN^E!FjngwIHA` zHBmS06Qc9bf{8xaK#-PNm=SG0ds+WGRLU&~urb-JpDWp25Ml?&hughFsMcSqBwaN#w`ioI#6dXMgqVOY?FBU@g@Toyn*N=!eKjeSS~9ILm|Z5C9qca|msWW3G+L zLo99#xC4PxvOY+|Z9czbfPQ3qe!Vl+WBIwVpdaDpn>(H1Ggdjnuh{GipSjcMN8qOo z#|@4Y^&>u~LZg8?7Yao!I7TT*5NS}5wD2t4&!iubwST}|lyBOBUlkL;KT+r7IBXZe@D(+gSNpio@A(_*8CL(!pm_9 zn^7i7X-Q^;u2|ipu{w_Xz(t)s6;-mE!AafU&dT;+b@2>iD>aH`zL^6}F z`3O5Wlox@1H@cs#1z&*RFBB=#(~|v0J?9jL9jCMB#L!JM1|1-fp{q4`$0&pVc!<%` zP9%WHzr`dLmGeuS9%1y%9ct-h-LhErCRlYd!uAv7P%XH;W8ty_xIAm&a*%<`k@3h8 z^UxD66Fk-w;UVXZnp}s-v#Vm+ z%d1?piv|Qr|0LK5{($UVw{siQ{wzAU_f4OYD=C)T5FBZ`+<<^b1efFw0RtD1Rc>F&&M1=!+9vCEv<7~F%6&FuOr33O-U#FzRC;oSHgtZ75Hd0^IEiyFMI%(PM86VYOD?yL;Mi@XrMKP ze@t9^FzIiJBVe{!jsB-YP+7a@dKnVM*VPJYoO)kebZ?m{W!_D;Mb`IgjHEw~x=uh{ z{lSFn@vqzYWE{tZ$YFI|W*FqT(m2`}$4wQ9Bj;5M=Rg*OhduGSK5{+}4w~r9B1>WB zZ#LummKk5}H_U^5?%XkiLevc&5AhL;r$l^7;s?6kxoA5stVn!j-hR={VRBevEX7f< z77FXZ^^R~O$Fy(Ett}Dec#m3u{MBc>b);Dgu~ABv&Ua?EpA8~$cAbquLAE%??S2nY z=yiV?eF|~!!4ROGk3j0y14a-J;)nYyS$6ve8-ND)805F>gC2(ZieNaoGz@=Eo>nmN3r`p81{UiBvVv=Lv(=^bZj5H&-L%vW(m&C54P8R5vJAsV1^ z+P1-t%eof4o?H_ze-%JhDFspiXDz){Y*wE%XMi*hPx(7PWpt{MzT{QG%2If`CaB|N z>1e$}qFyVyhi^)h}4!A0)>FzSEqVoe+lq_hCfC*c1dM97i3=gw%?fSO-{Zfo>K#davGDn1QCE zrNiG44MFFlC=6crx4=di4D{iX>gSU#Nz2S%A?~8{z0uA>-CS0GMe80EF%Xx>HYt#@aBYw#OjzMOL z4GUEok!RYUaU)M5gUa~sOnQpFX%NMqR&nL}(pM0$kq_t2g;TR%&epu99+Z3-q3t8S zx6L^9!|)fs_msW|q2Fb`H~E?TxBjNU0)580Lw2RT2%!8m1ykrei)EJ^@ljknY6}@X zgY*rV-BLFMH_(#GBmWr?8Mp+8@6%{-F8fOXUe>eO+H~H+$l2}O@hgT1*JFH8ITh%G zD$95oCkaOIq~DKM3+8QDs=6q~|KoGl7WZTEI!8ohhbEyF?9K%~DJL7zD30r=Y@*2| zL)@k>7%l&*Xy>;=tzr~#^x&mC*=oKIFb!yPog zl?x^l2h*MSt~9`;l$ZLKE^f5kBlZZU11A`^qffWXy!Z)c_~Fjt391&0Y)@Q<*{~|t zo5#mkWQCKOz$C=#u<^c2_kKk8*k$^rb2@=_FAjc55T%p;En6h*oe0$GtkI#dGPsL} ziIdn!LSNWD`F%9o3ddlYY`@yAdzKbghNLu@MsqZ@9}Sf|i=_(1eM2pLpvsuZH6XiZG%A+9+=%R?FJay&aBams?~h z%bzoh7DxYOo`M!2JS;QJjNyUAYs%a{ZwO5*0f5fOGFlPsi_q8HA$FXKYthzcy!)^% zg5Vf`%Xi^J^aMC5WPE|m1g<_BshqbO_Ai#bGA~xlUv8FHQCfgQiw}^V$VwW;NPYXG z2H7?_w>L{=h90!S1V`$zp#g-mZo!enY{gQw)a}$IN+i-UEWF6{eTBhcIAmNPC5xfx zH4%}pivEpqTJ3~cg#L(iRN$NzJ$`^dm%=xEDz*M%0v)8O1lZj{nbS60>8#>3F2qx&0(A zq@?B;!!9TNfY4V7DkZ)k?>-C8!>&W1cMB-hem@e5fKr{8i2r8O7il)2-P73k3;`$v z7xYr0xDUH|0tZo_ZZbbGUTt6DM4CC&d4EhFA3dLG827yWqM12^2?i%B4Sofa%{HH+ z+hIGqVz{_~fYKUTqNGGP2H(IHrca1c+WvmV|5eYJX69NS)-;1|7G)Qj`a2Ao02R83 z7lWEAZKdl&xuumhKzk|*CRc#>Iy%wrUzwF5%I<@3b4?rjBAivNmv6Qsp3a2X^{%CF z%wBX#_*ZYjFLB4lYp=xbq$^1tkjZF7nyQ9=*TeyhX9r(NqZ$`|ex7CqIAYysz=Cte6B2GUv?99b((}8q701FD`1gZ?jbP6OF~8w&M#2o)?m1mR~^=2n#OtJwRI z9(u5{3~#8k@qYNM$$Ay`%Vm#k<%liovf~auqeA{UE95G5oH@=5@301rygYXWZaLj@ zKjakcbBDh4<3q~uhcQmyh+fCisP;qnGP$v1hbeq^EX*0_H!WRc-xH67 zV6!Arr3`x^xgBc|w%L~21Y%MPbU3fukn@0rf4=A)xqAxzBXlM1A66D(FivF%hWq<} zG>HRbJf~j=%jQ(C(23j=^7+3;@sCJ3N^VnA(x1`A{x6}Rvf8|23lh|EoEl+DH|5jX z+)a`E_!)vq-=AA$=1J(bbdiO(jQaj3l|zgSJ);5EdBLUBEa|^;?7UWVB@3YtZj3#SL!#|v#7auRq59mC78uK$_-}!kjuXPFM zXBzV}!_3c&e|CPn@xw4gBodr-llY3xFTM$@0yj?Tbq4C((Zz3_*^!bxUM7pQf|0$c zqtUV7DX+q2lgYDv)Sl#MT&0!L)A}Rb@ncoM$2BE?(av|NIZQRjjqY33?H@x;vSxO+ zk19`$=DLG2yc?BS()XO>u2OE$^5iz#VB+%mQ@Bku&`2U(67Qb>-ksE)f0Bw^YrgYC zwKZupTlbIEL%KageO<)2;mN+EXB`xwQ|5UAf4%n6hy!_!9HRwYlCn4mfua z1G%o$Dsmm)1^v$&5Q+?@&|E5g0~x2@rR7Wr_`~Uz&#l zooeO$g-`Kal*>Rt2ltc0zU(++SX|j!3A=hiK55B_l{CYO+ zjIX7QMp8;8kKh|+215IJt@Y(oM*%~+-;+2(@Wb|1p4`Fat5H4lkg74?#8$l_zntoC@7z*OEJMChksyTh-5U=T9ao(=5KUuG zW~chc&RRHE@vIm}MS9o4GEaq^Uyek!E~b>Uy;Y6kuLX$wdU*t=XUv+Yb$+wZ1oVL8OY&ryOJHn zyvCW0UPE=aKL~W^v3l1~-Q%QBG;b$YIE(+#L920e6lv?5Gaf`Oi;ZbjY&~xpzIwk3 zIO(7A+q=G=tSJjmHD4QB1$_89J?7P7G9+fbf*mf3O0Le2VnFN5nMlKBWZH`My(-qk z7mMyo=GZAlZD(vG|KD{FAivgNn)Dj$!KQ^dJ`^=Ax6%4!gsgS4o7b(5)@|o3I`QjR z5YPY!I@?Wls#We0>*fybe7pR-%+6A6vU<+yxE@TH0AI4XCH)%Ovk8?{HD^l^>x_?l zADm2&i^R|2azr8Z<-iZ|UPtsdI6vx*PbO!lllpfC=YM+ro19>gxXSgetwm1^2el`8WMI6~^82@UZEN@@F-II>Zk?(m zw{axU6x&WWD3tl&}EODrzH|9O=?%m1VD)}Hit}w;alo#Tgy02kq zNE#Xiswr5>-%4sZ={nFPs28qS`rJECHU)^-F7k-*INvIKTL}ka_))`O!u%MUO3b?q zkPH%w22`)Dyo@tPp13UPT=yu4i*(zg1HT@Pw3H>9AFk&E=A_#HSfZTi*MAZRRjI#c z0J4T!eI9>l(g6^qCnmQ=+Kw>gN`7C!3JyHRRwVz3+AFtd5!_8#VnVUyQ*FyfeMHMu zr7cIHDAfa+7dkV3FAgw$<8=J1V6Na(oE+w_fNwya_|eI2xLda+B9MI&=C)QPPM4W2 z@|DDipouo-1e7~0L_S9fMJU8EZl=&@%I|RYnw8dhlUtV9 zKWqX6w+5q#lkn#+D;^CnlEgxxd{L4O z26A%&&3Hr1AlUFz&-m&xcgzKqiHjHs)@e?NCLYK;*$m1*i-7j1C++%F zGlE8M5*@E+Yz-N=VnORLhU6w@6o=G+Nl=VZVpLChGtHM<(F}E3^49}Fnw-dJD)Rz3 z(*>Rt3S0m5+!G<4akKMABeVNMkWP#v4~*u27(n{XinQy4c-t%2mI^UJ0^PQbn;g5Q(Fdip$(?2ocP0WYCu%|fIpO7rb@^`qB zpyah@WJ@MzRUVG-@(^~DfpZT_Y|cu4Sc+?%^85h~0V9{&^)i-Y#Rn;b8PyE|#%K!G zCIjgrQ;Ssm&nMe|#Gi3e@mb1qlpU5K=`IG=Cyl?kzv?E933ZFMFW4)Bt15aMssShP z>{6)0I+MR4nmzlF%4n8FPe@o@Pv_Q(L{)eKB2VFnS0$}$_DsjpBgile-uJ*d8!c-gl@JZ3i{ zdTYqel~G}tag$5#38Ya(&_bJ)JG4rh-h|R&#XxLrgr4nS-LC&2^QmEF+ zGHENLAXSGWn-epmn!nQXyy12A0!5rQmlcWENuQR8Dy;`JdxcyVOi;;Y8pxf5K9Oub zGPTepCv`gTX!NF3XV!ME9MqUeR;R$GTX@*HV!y`B6ebzH_50!af3(VE)cFlur_2>l zb%9-pcgM_vhq}tl$SIb7DjP4hp#pt$(l_v$MO$K3zapvQQ6LiazUbQos7rW5O863VYK3zt&N%YVLmF_ z*`PWoRF+zv7}7bZdWf>@w!j^cA!(a=cI(>oW{<0^^icP;hAnRX8KH}@Eo$OYQ@h` z+YFo2p3U4eLtYwrRh?Pgxtw{xP7>Ti8-;I%)ycO@)!<5A*~BKOQ2*xf`5&+i?ZdwzXu%F=);fz<$FgoUPVvBedGOOMlr{T(_#P1K-_x;~L6jr+5k%`w zGgTU(_{)PED4wTpA}Ebh2`=9SEoY-eH~psZnj0+(c zX>y{2GIKGY-nUAm^cu8_vPU5sCu&1}!Rl3~u`p=Lo-I)O0ELxr+ZIMM$+oW*WHgih z0ea1HsVyv*rr#r9!&>zDaDOUkVW|I&|6)V>fL+N>X>V{Y zhFW|5XmB~#1%0NB3Ln}{IOhG*2W~O%cRTq5b|x&AF%df}j^-7p?Y^V?}q|t5y z%nymMGAjQRZjc&hNKHzKgF6P&UyECP}3RSG}GuebW{oqlx)HJ%Msk*GEb2BA@XjAKX z1Ni-+2d|R;T!OuVvT0y{f6!~H_@JPmUX$GPzJ6WP`Cl$JuewTJtqNb=ZeN*>hqW}{ zs`X9#$_zPt^^@?`RP$=y%>0Ks!slPJ&!^?*{R*{H$3t}04b1Rp>8n3$`59w>s5h*l zm`i^U#bi`?MdgGEphVKu{D(>Dx7-JPvV7-PqpVTS!* zsIK`g)-t8d8#7z{J~5q!-`DYuvn$w<%7Qt+fvgqRo7&5p+7vz2USF1&B{~JCeFnq< zH=gGb&BgLC*-#%HBr}f^;fKCh;KF&JYR35R9DaA`jo^e3)f$agsPb1l=lB2Gl0x%| zFz>!0q5cK;Dy~4f2fIFyk?Wz2!PP7SOMlc~p~b_R5;2>5$xtK_JAy_)j-3>Epi&b@ zYK1PrIdgQ)8}4u9<8WNsppo&;8_e05LZn2q5_B1GnYt)qDtHWO*wNL~)P|O$sb2T2 zpz6KkiKE1>=PPJg?}I` z5lOy*Zbz}yv5mJGvF6f7ucbcUDLPaxb)e$ol+WKN2*?XoMQL-c4Wc5LyPvkKs zgESZW=T75KVq#bbeNbj1%)ODT9Qe_9i?e@wep%2^GDH3Z|x_Y?A=6Wcnzg(zL;HKBEGV|_n| zhpG(Vza_Lvn1go8B2QkgVgjCLt+jS_mArYMl9n#Es%s6VYq*P@sjhWfoNTQQ%wflZ zo9U$a;*qz*?AZtt``oY4lgF5J=viaO+?r!4eN}bhd?1#`T|nTPAtVnnc78 z`=Ze?_l_;BZ`?*%yR&E{I*3Wn$L+G?dI7|}9cV(-#MSXD9;9IGlZ3Mf=C=Y)8v z6Q{7yu#CQC@q9u>aIYCdhyAkKU{sQ5kVXVz{PXp!zVyO^zEtkpE2J-7QmQZIfc7O; zUkU|Al!oA%E@wWz%jW0_GcSd8vm)_O?h!sNd_?@{N!4u81!vy|gEh9uisUbHKgho~ z`^P!Z$k+IJnV&Vrg@cRdL$!xdqq^k!fI=c6dN*O?xfBlUS~{5!Q&^%Ll7he^;u4L2 z41~&DS8aSrF$)smTDMt_1wPz877tx+)mzx{7vz&Z^~{3p(3;BdSeCkMl_uazQr_Nl0?yvRNaP zNMzN#L&}_+*U*YwYe}dB7d`|z1-w4^_O?Tqxmp^pB|k{z(BD$_GUx0q)O*CabsTkA zxZu1^Y{F3wOw(X)F?D?f+eJk@+k9G?Qk|f{*coTYT(0Bc!DVjwJB9w4hl)(=!p~1d zd|qu(Ga3yy%7tRbp@b+K?1QtH#UhuI?!jj|?jEK|*j-I&jtQfbOoQZJ^Yo#8gaTdAKjE3fksYz+_`lgU7@D}ZntyS68@}q?&=!7ByqXGBsS|n%NjrOTbOI@zv3b9 z=VosKe3{7R-U4_7N`-5QGm=$MBTnlSr9krtD4tP!kg=aF8I=n}d`L}4+pz#& z!mto#>8r9ck#LzYk#rKF1I?@K-jc%V{ZX7W6;v7O)4@Y6KbtU~Lp7 ziNbhF<%v5qdy*%jp~WWXF%*aT@d*Ch={+>(%E!My__}#h2DbQ`5Fyp$+-wGQo=^%L zFxWnQf+vsbNe~RCx@Fvc@vD$=qx0Cm^4uG6V9LkW`^$~45^|Zx+VX?@>tz^UFz9e0AnXVcrl&75=!#e zO@k8OAbT3EzRk~`uqa+;c#p1DEiKm`ex4N-0kfChG$c_!dy=}r-HO?00iYnn*LYqH$8lblYiMxqAzvRO z`&MDdJu23xUmsF-;9x5fP0p?Nfx3kOpR8`o`Vu9#^0R{hzrvFj0m~7y4-dQ9edEDA z+v421oSN+KQR$7e*Igh%iMwO5xd{(=jJ1!Nc=;^hoanJ&pWC zJNf3FTYe3K@rhl|ElQ3Uyv8ryYcDr8Gi5queT1D}?c6HmIOV&YPWflh@x5kCHftw! zwtn9-$(CK=+@fVpt(DF#U**aW7rz6I1?(35&-G(WM?-2!-b>c?tmQN*r5ea?mpm*OYiL~q<2w)jgY$<*3X?kL zz=OQnF{ceKrJ4t%0IoKtdQRacPU;M0rHw1K&V4mUc{t@oIpxOZaQ zyAWP*ZVf6k&ZUuh(lzi?^f6=&6(!+e91e3z91T!KyzWV2AL4aPV!v4^kK&}Dcw%&d z^{(txxExc{dS2rxzyw$51|aCy$ZnD6N_XT_?g8ta)cy1!7D?!!-bHi|nn=elV;;>( zSK=PrrdM}ow(7-^n{#v+>%leDEZbo_ap znoTrVjI~~sT46v)NF&1Bt6y53hB47gh_dys1n1T{w`>Ec)fyueJ&w$*PE3sh5Adna z?4t3^WmW#nUuX$kP^t6MQ!i0Pz%v0zYq?P>-wz+RldWwd?wt_Fm?x{m=-_T1n0YqF z?Lwn`!L)oBE$4o&kJAI;;sE#sU%0X$A4x2F8iD?;v;5)ryt&7lQg7A@bgrkNjjVm? zHF5@ZCO<?)*Dx&ue_smm>~OQ^`1F`QHhZ4fWciw{%>YX=bn7sE=3kmQsZiHXv!tI>bz`DGd0w8Id&3lG{ zr{0#c(ic`+q@x`cDTBpKhaI1~co`I@+530fGwv&C$-7Utxc8;Eo8dLJHG1=gHOm`= zZ#3h1XZqfve5{Ko;kAtNCdxH1^;K#Qj@M@<{^ z&r8yV9;+vt=~v%#gHZ`JFY(T*&oqsqmpXq?`6udDW$5x*qk{8Ac?zv}Yt>BAIvif8lunIwpH&ssD4a{_g8Uy^)f~T!A_0EX`+cgO)UZTN=#Yf<{F` zvEYr>W(|YCb4li`(O!IX{$>iG9F;=Dj2Lduy1|eM)%_7 z?!|92*~zb&)v$pP-h*%KGyFxDWj$`ind7UPILf33QIv%SyHK$iCOzvty4V{xh#)bJ zY{7Nk&-00${e&3Ip>XgZVF;!3U&JYYKJH+-KNvVsuG1*;_m|{0SC48AzS<#XK=OnDn_^iATBPLG2?fc2^I)R+a=7(=psg zdzzWjklxdd*6}LH^4O~2L13C^olQ)AqdJj#l}?Caq<^IM0OyW7%>}t@MYDrjbZ1zG ztEz%;akGy-%%*xkRz;(p*FHhmX5wTCdA_dIDvr##ZJq56W%$8mr&judt`WY&engro z5>vUN_lijvGYtf~Rufe~|E2~e9wuTI%{8?u5ch!Y!~_o8&L?{r*Q&ZhVtDL?&g7f? z-9OG_aHvT#2@dHOUmRDFco{Dx+fs6Ibjlu*%4f#fQNz;}NB#bf zK*143{ESAX*E*^H68KE^7=H{Xtz*htqs&b3JTq+9Z73-PO1-A>@7tT7uGQ*Q3L5|I z?`dFWj5#i8FZuf@K9DxDN%T}8u_ajW{^GVbS(15}rId^!N>b*qweRvaPoMIW5PXrf zf||NE_>2nc!r_VapDWF}k5}*g%LESZcU}A$pzf*A!P>7osbBB{^tAfH7K%<`SDIE0 z<4f%sFv2%gON^}w1Sh-C75G{Cd4~KfA~a>rWx|W_l}<%!1oUq6;dys58H^h}6e}(Y z*NNKVB816JiOU*0=Ao(X#VLt@PFnlDO$+xZ;m)r+>2HYIiHR+kF`cv&C{U-+htD8z zp5LP{x9ejgpC9lk%}(vznjM{4)+_c&s;H9vs*Q0sfUcX9*!WRBMCMm>UN^ll9kfRY zN6A+gs6&guQ^tqRQ0ae}SL*5>eop;2K9;W{L_nf?ar!!C5q}fMg@w=;cFwOiqjXXu zG(7xYk4iDw#r!r}T9lTp_=|lS=b2DyT-sz}VZKH55$cQu+qsvy?aXeu?ha1y@nm zDke63H`HSk6%(j1Xs;f_4w9#T>LS47LuLJ&f2!rSjboH@FBRv{=tE&ErEoMV(Z;j6 zT0<bRM5>e#eWAzCE*>AbO5x_h_ zZXC$~uf#J?AiqBvuiK#8XUJv~t@}WiC<9Sr7@=Ta1*rVnqnT&uQ5Q9%nKx8}n(tA; zDh|1So|}CXpiZZf{Uc-yee4P;L7(6b*>p~&LlF znHL{|eyOslmS6E&w4!K5&PJb7dFaY3r6oOaiF3>26z6J%#D+@e7Uc)yw%fT?KJaK{ zAlLq%e<4(r94N^!qz8&2k9vQq`L3`GOJ8)%pK5-hZ>J70ZCr1pp9^qW=m96LBkkjj zo1>YqJP26yEpXCjP=jS1dMIETQ(RhmQ?*g=q5T^PvyG0gjxL1b-tF9eBuJzzDrwma z0>u%kp2jl!D*4PilUH#AfCMOv4Wjf8tA!0@g||xmgp(hWdWeFll66jI62FKju;rfGfv0M}J7ot9|kZoalOm z(S;l%EWm%qSc&rdFUCy{54=K$8OAf$UBRiGPD&_;vLty#AU?s4pMK8ZWa7kpN+fPV zpIjY{jIW;ON4*QDk!ztq@7c$uk%`6f6yg~lW3yGxnynlHJ43rXSUnky&V*_9?-?^V zlX4n*bes_I^@?S_HABi}j#--#&$LgA5~On+K_z@UnF1exY$6s8Dbb{oLbZxuREVD@ zw!AE!x&8_QL`8>VY>p7fD`+DaLm>`auh%o(AE$foTICA0)-BgdOIUOxX~BRnv%NM$ z-Hz-k(VW=%FS?3W58wwVYt-Q51$oYGg=&(^-}*H+l0QnPl0A`HlRVHJGrr16Nppn{ z1)on=$j2aA(UPKLT30L|NaZwIc*LZT#{C&y)XWYF184vV|x139r* zJ}Md_zk0GlZvA|RRu1H=WTR6XsxR*y(}vEF1oPa;kQ$CC(zcB1wj%jZZiD4(xG}7> z(xDccG#!)NG_XmI1$iNHalW}Ha$R}+lg48Nnl;=2m6BV2-A?)o%!?ckKp*9=50rO4 zq$4t@L2%$%>?V`EfH^UF+;!&X(nZago$}s%&hT8vO|ky&C_%<%XW%wNzV{7;5(Eyol?Kn+8U? zPPWH%%Ho%^@XzM%Ms`39w@(`ll>~@VdOQ_V+!~$Ny-|q%f^meL#UTSuxwhb3e-!y=j^@A3Md3)xu-{kwUx4GRL`ABzvt}^KdnB?n)fzP>?-7l?_F4%wNJjgsOjsbdfo@5h>&3igD3I4y zn|pp=d^ATd^|SsPm$6nU??C9f;wP zSCbn#ii<^k?@qlx?p~iiNIN<_$X|>Pl-bn31G=MS<^bNW?bGf>yo1yh+FiY{&~E!a z?e>j)&9rIVFk$VmpSFY5`2yEYH5Q--)7R@)4B;Ob5hq)I_w5L_zPnx^Pih;m%O5O zjKJRKZ~GY>sPUPj|3)G3jGicwc43@p)>iN{euezn02l&X+&snw50$(}W~O_^;hmKI zCx$nV2F&nCNW!|2i^6gX(t(2`i|%K7J_^L|pKs_;M>vjyH4fR~{K5FPO4vdRAAAzc zM}cqN>%3Z=^h+E}YC{e~cxX8cPUnHcNORwqc^i{Jk-gCQW>UUKu`pF6hDPCXVK7*p z4W=^dr49BHr+T?JgmxO_rYFTGH>aZT74re}sqhpU+djW>tygzpQ$G8VU$NZE1}7!A z1H}P)$3bb6KaEA^R3v|p+q_5@iSh8&|Jv8&hq&*U_!^69L*mT*mwa4@eq`1q+9(LY zJeb?*Xg6wKDc^G2UNuHi!@v0d zhz}~rJ4I*D|24gRAXA`=f0y18m}ltiePF@gqqpDYT`9f2sMzku&|6yGi>Qg-{>fmf z=qNITxXnDh-KmfK%k&oF;D3ThSEj17f)+iBx;w0f^BgEjpYq)?gtyoy|Nb*A37(}EMR5E4nx8C-zweH^7Qz}CGYnh^UrSmC&oOT2KJ)IYd(q|kErqg4VFGX z;Nn>G@PFhCJLE)u$UFRzcQb-Zxc4t-=gZUPAHnGCB@g875hllzjK3z64{N@JP$RvO zI-Cp&V}?e4dYJUF23v2ef?%Ln+UTUuh@WAgPI@;pZ3Y|2=Z%+n{=0O2CcnPd+FT?; z+K+i24!T~}kdEe@@5I42o*(&$VSM8;_ z+bn*oht?-c^1iXTe*4u01}Cq>epEu|+N7Wv*Ct(ZEAfSG@;I5RN4TXSNJI<3*nCS@8tA?jVta*l@Aw9(3Gk(At&WW$3*HbpOXAK$*UzTwZEa=Ak+Ku~UYLfBKpFw|3%PTU zV!yKor?7F_56XJR^>b{AEog?ai!!lDawdM$>OBdCmW2U0 zu{qd=tqT23;J+#yej3fLnj$)!KCF)=P$_l8;9%v7~ZQh4s4+fpl(g_Tz*tTu1|N`s5A^wMlrYuWF# zSsLj=rCYueot<;LN7uFAAV{BBmN<~qPmDe?M6Lmo&3I76S1G|fLt-jXKTgAiLw;CB zyH>D%Z}Z=s5SrDu`J3=LRdUzSCY9}n`f9yq@GkTKT1mk>?-%*EA{^85?FrstA}(9> z_d&BnDEPkw&7_!+<>Ntf$3i+8yd1(uqRb50f$jl?{R_^ezLfhT4Awy3gyzBhrf>%( zI1hGy18SZ366ZF1*%S|q?^`{S9?M=`85=WeW*GlyNDiyi|4UTpEdu1<4V8>VX3b1) zVOmZA9Tb#fR(n1oX#;VL0HGCiH0st~_kd>;S4dr$deJP6(*Ps=Qq9zU1VueBU+6Rz8xP1dqH6oyblBp^cLCE9bD`3b0OEo_v9f+o3$% z?4gguX}yKBOplWuHc$EqZnFsy2$0s|HiSPIM8k&87RW)dT+W<6o%#tw`)J>k8FSdp zSMlwb(S3?wLQhy!T6`7$NR;ea=Bzs{G?^8&)D~91N0;veskGios+wA+zW+A+O;|Oo zb-TQ!OhbE-qu@i18I;_ca=a$IWH0(Cg053fKV}9(gggYvJ=h4Y z7be}9F!Sp{#^#AI_rVDDDUbPeC4Jd2j+tZ6FXTS>B+K-tJ@`FXjH#n)Uf!Hyx9(8(b%r~HC zCkWAXB6g;wl`T--ch3Wudq_+cR|hY5q1GDNh4Pkg z*{HW)V{eNVIMhkhAAX}j2Q^(PBU>$=KQpD0=Uk6!9$pJEjgy!w*~UghZWZam6fLpL zxota5*fS7esE3Yl2?iQ7rE*?{?hfH@H`O8b;sRHikD&~Y%)-p~D-mU~->0sCd}Bgy zs&#JtEhUKAie^xGFAcQ)hU>)+=&+9;5ZF^i=fU9$jg2W#$n24fVJ4lJQpT_83}i}G z^tdTDn{6}`uhyvSQ138_8&PT^wm6X)L5^uMtu-9hnklVx~^ zKQ1A(X=$^!*1=eQx&CPoU@txl2PixwN40o3R+26y)y_P2zC(0pmW!73+l|h5dT{dj zP8W`qiQ&x$>}({xAG$A`iJQg$0mSrT+B53Pai&b%nHH+*fh$&8PG7E#8-m_0HGkyVjLWe z;tEL!8R0B;0GVw#tH}QZYrFWw|IeFrivbVEEWAr(o^7gf($|FG5P(SJS1(TA0Lmmi zk^Ubuj0ZZ8xliM^@wG8S+F4aR_s9}ZM~7D){`K;@J2Aj`6y?p+0!5GtN zXcA|pPhdmja0Z>vzD)UpR`;7dPHRy$v!k9Rx6zYmKuB#lmy{so!Bhh|_G4)Pd|U*= zaJ3$J$ty4%?kuw|ijO?m7xCyBhi4YS5Se6ye;~Lft8vmsgyVx*4PV~{(J{N6Gn}xi z1`Orns)My)KsbMj&fvSEjb=YFNO!l8j-#jLavGLv?0)?i62u0x%%cXgAR3zG&2s|l z^tNf*7E&LI1HZ@eaSWMZ1CmT#~E=;GBo?5lqUz4&xI8dC3*}|M%g1 z&)w|$50%{uJ{x9KwP7o7_pX0vTHN@&9(;FW_f_6~pjwPtZE z(+<>Y0e}g`74!D$FN^B)Fx1y%$QLkgra$T=p(k+g#`Om}kEbw>T}F+FH20PMU>7e; zh5>2}Dy<>k9$Q4|G5xI|yKTRyZwX~?{Lb!@>=W~D6&wcaBv?n{iUGffMNi6FdcM4H3?JwA9x|6PFnaTXtQqAVwVgs4;?#b+I)oNWl z1^Cgzn6H4wUCaDliwc?X_%@zniYjwJbRiTENJYKH%S=}kmd6p4!@PXT6{Mx%b-{c-fXj-fEDYiOFNvIh{Y! z4lQ8x8z*ALG`oSutvYFkYJPUtb3ujJ%zma63*^x@uTwyp%VjOfzS1gHDU_!F=M{G9*|Q$ygM) zlu&a_r^|FIjy_Wg{15ehZ8(p~`9H3DFSeyFQC!ePS?{!w z;9@yGSL3Iu_ebje$-Uo$&i2u|woI?feBJ^Zqog4A!lu%`S|59Uv@k_zaJc#effpRV%-?bxomR! zJGpClnsgrAlDdR^VzplkxR2}J>jUVL1Wlh5weKzrunh~n7P%l6T0MG(v51!}^q+IX zq13#YzF5CNCuG=x{ixk%N-Z@zYkFlPt zQtx%Mr3S$lCBHzYR7LZ)MC^4cZ>Dmpvl6j%qbj?miPkiovcn$3gADeCQ#JM(jQE-+ z_80~E%UfsQ2{g#j=k?498cbwAXqferWbxM;q+2*-#rJ{+kn=WhK6=A{$;lT7-K8&` zuW7_YqIe;zK;wo0s7viOaqgr4zUmlRa~xm8b;h@xIfh`L@iSd~c@zXc+XcMhS06ufOva9JZ3RQcCr|piPW>%`#qXJ|9KFU_ck30;6w4>h!6Hp zEjGD(hj}`r*K55+J?ItV4NoYG@upIYHN>382wk4-3Is{Bb45K=k{-9ocv z&^?bf&aKP*(JdTFHo{qVCqmB^OXccRRe2dzS{B%#%FNyDyK1MNs`DZLGznN08$9+7 zlG2&0p_7yON6PS+C^(6wdov6=ak87=SB)IJpkDV-M0MT=munJq#?Tb87#YEbnMYE^ zVZ)Mf_F*p0FjCl|g)w=DFe@URCn@!U8cdj8sv4Yv_)tPl4Cbkgpv(7`WA&*i*e1 zQ!l`jS>=CVBm?6M^EFzywry?Waj*$2O#cQ3b}e7yO^vhZXppawbxr0;1dmhlynhq% z3Kz}BnWsG0E(z`#J7PSy<{85FD5;t{TO9U;`bW}5MhV#fRko5e^(Q=~)Y*koErrCz zfC>7E+-G#q7KaHfEARPbKv0-3TM5Ere@jsryf3ZZojDsZqF@ z#h*Z~$I4Rp4>SEnuS&|n8Azz-8jlp)31l5~?rc)n2kXtaNmLc&JtRrEZQWA?pZ6~& z6>oq9*iNp4Z4vM$0w1!;J*u!ZF=miN^rY9&pf%tdbqWiKV%^QCNAVfl4j*8*Z*Rz` zX=W4}D2F5@xFpmK-oZa*UrGr_c0RT@N^-A;M-p0t`dL!y#Ny9BT1Kd-a3&D*2;KnY z-v;oe+K6D?!!aCgON97bgkd++-xh-^%;R;BYMPJ~D)N!9Ot2J5TcB zO9b&R3tv)&8mCv(Tkh6y^1Ghke}+zk`-p7S@!`&mPnpDEg@3C7bSv`<4|S4r(J4xK5Vn9DPR$!N!^;lLB#OK z_}%eGH8Q+fnha(WU%O}`QzWMhme}T(R_v&XA(h-V^Xgz#ix-~AIk&``4&mogg&27r zvb4OO^GyKcU{Bay5moW5bXnP5EULkL?*x^4&zigg9>P>zk4oOb zQIS%9J=GU%Ix4Dyx~sP%i4Nenm;5TS6eH&wVyw$sd+{(h56#BK*U62Hj?h0aT6`#{ zyOxAKio0b%1;WPp>!yGYj~>Q?y&G;2n|o&QT?Sn&V8AiS#AnhAUj5q@ez$qr+k{oLJl4Tv^Jkryzmro+Kb+!b0qx| zvEYLcjKFtXN645Pi2l3ZKJayDma#c z#Q9dC%!?KJboTuM9N<}Aui-4;d89Dx)F%0kz(meg0nCghvI3|(n!G_x<@cG_U=So2 zb>rE4_#uQi%k)zdHGfR>XT?dlhP`qLOca*%&*|g*LL1j4#`PY~WQ^+-9#@Zx_}VtE z!M(>d>*8ok^0rpnr61bl>#~oX6gCbgcMvNhx~Xa$V?I|kj%Xq}m2xz2B4Q0FpJH0R zMi)0WZwpbSchV$a{;O0d{$&sE57YZ^P|s!a!)nuat3#vF{yKloYR1DgrhXT!HgQLZ zINxV-_0=7vdn>CG*n`WRK7t3~H|__yL(iz!=Bi3HW9M%0zW?HBhZ5~rh`tNP54w=3 z21PU{SkK^*!9{U$jd%M6jGt~zGFoQc0!i*J@W0Q~N)N*NGJj8fV}klF@DHQH5N-?~ zqmND&uNo9k!a96*Q%Ltem<;JZ zcK+66l=0=@#v5R`^CRoqmbCX5tfJ(uFvXKNKdQ60%%)n=&*{fXpPcXJH#B3>yxsdF za6=U+rXf|;$jCwL?BKNVmYgL>K|)^mW?ktgnzIvrq9@huq>uA%(|O(NVW#93PpQuw z(8rsKY|th%zqqtOy!adxn!)wEFzE-M9cu`{a#or=fQf#$Qe5e*Z z|BNBtPluGv7vW*n5(~X--xaLac?cF1ICBRu8$Yu?y$?zBg7Yz1*e6-&OUAn-q)K)P zNpC*td-Y*%0p4)vck3);nyV~**`0l-q4pe(JhZChv>}A^qt39z)psJbAncR2K_yE46zDaotz@3SG)T>o;d)? z=#cb~2=1jWI-c0f=wnyOclS)!0>k*vPYC1~kw89px`d}ljfa$02K6Hj=px?=f$Ag_ zj4knhZJ)ufRZU%G|J*k|_}4!SNh{umv>0=O5L?U^dyl$Zn)b+E-}1+v`UT^@Z+V znK1o3(miSg!33P#7VQf~yMcCtOmmqvj^uY6uKtqA&xBJDpLLPUeIWw))2aE)9V9p; z-vXrNff2orWGVKMck6jVmqU{^Z=`Bo1(!lykPD*He?t2plcb8(?#fMQny0zl8_2fv zQDyzE+6UR!IegPC=~xpt=WlTax+|Q4V|obXy2Xt@o_R)GShnXQG)}Ezb`r&8e*)C* z$i9SyiJT?)szDNPXW&tUBCe;SPUrbN4+A{6f`37d8~so6j2(4O4Lj*N0?uGcSj?%&6I6SBe9tIU&dLOodqZzArz4o^1=q7VhgjzE`MOF952 zmoVA|%Vgw;?;sK~ZKRan?$z?nmu6GXQ_>oVc&3FL?VF#V}ij1yp;NLe_1w#IwOn)kiGm>B~1 z1f)q1PLO$&jU5z-ZSc-AXwlpJUf5J{o?J=gy`+Oi*F3ldQ0Ct(iQ>hIc|Z7)P6)IP zCho%uo7^mP1OdO2RXd$6l(s1O_B{x9%3s~TSRFfea%wDdol(n(ci?uvT3foyy|417 z+jY*sd}KXn^RW^hY^NOk5zFyaj?>`$X&bNe#o~R*Xe_j}C*9T3Gc>Q3Wyl{3{>d*+#@8cY#Bc?R6|4eq5QTqEL4yoTzrclk zmL{3kY_(zZl}PDpu$d*}1@f5ZV{vQK*l1bOS{%V!a3C>XJWPlcr z#c)f0k$Sb*?8w)7kKIsB9C6O6jPf(Q+0jfSb9t!*QPZw_T~u+hFq2*p=romozl!%E#1&-9+JRo_4j7 zfY!qD9mLD_{5wQ^Zq2=sIl_MuiCu)}zr!axoOycW%Dy80W@cmC@J;FSlZEfF-;jJK zn4)cop(iC{TN6mCu(KFCx-PNZ{^7OisP620p&aLFOj+oksBtnPN%{}xy4%>XKRY22w3Mmb*PqI z!AG&GnCLC$R&s-hvY41e+*2p_ODaqj9%#J5KEh@`m4Bq8d0VpZ&tW|nl*7_t%&Y{U!{9+QfO*7ii&BN-+Hbh9 z@wAToT3{iiI8d)A%bE2E2YEA`zhO9AKD15kA672=x~$RaP0Q3eW6AZo^wFq!t-Ww=EAiqCpFN5=-%&|J1e-$>l?qQ8vS%TUw zRPY^=?p!vXelKQb_{lRse&mW%?q}~s1_|>r1;*$cr3#r%(A#VN0X&t*L7!5N$(;d6 z?LMT$UwN;8v&#h9tQ6Z`XF1dWB*o}u%yZI7c1b*eMGH?>phV#br2bMCcys0{ykoN; zHB{nDPmncJPR57H8n|u*TC3geO_;U9U3|o0$9E@$s(!T1}i4a}nsDG)RJ95vZN0bgM<3oFKD1cyC^$ok-o7=WvGL8x8s&2YY z1uqN2g*bz9PjTD9a0+aU;@8P=`KeuS{?gHL>jkGQMVU2UsBL4>wim>(b=R~*u zG_FVk_<|s&1yhz=7iuuU1|QA<{qYnC@Nhyz#B=7w!esyn{z5)%?kas>L;PVf4g_YJ zv~e0VU->8eE~zjeTK-@*;=AnL^r7BQM~g{YWRvS=wOJp4~KN$MDZ$8$JmGx`C5lTIGra^hi~qR;eLld`jxxD z>IS9j>~cnJkru4`)qbTPmiZ&zEP+452X>eOk@xWxp#UD~qb=}Aryjkh^%A|mri>Py zaxw+uUoU6LKBwt~Ad;?E{Hq0k5#$p@YFje4(Nra?v;qPDI_2w%(`+dcnx9i9*1ZY0 zIIu1idwX> zSWbXFr_uFs@2|}FIyZlCqjz|_svtBRhSD{QN^^pJLG&|YdutoL^D!0TC9ThbA=5eo z0cf~mo4l{sDh+5X5jrreUwr8;6^IsJn*SS9kFMtBex>h=j*4`{ET(tG7u7mWVx@ns zUXp-iEgtch`fN$3SdwpUW=VeAP`xC9{71rKY4Nmu5E4X*q!gwf5)er$0y`-fVqvJT zElyT(Lj&Uy*}+C4Hpi9>dKXkU$5Qkb&t~lMVJi;UOQSY9;5toY<(rx=Rv8#tm@JN1 ztPac0deP}`?>w_O0+?Owh6X;eDbJPkEeMh=wzLjWYWGY1ygQE4HhRP9lp_=K>~zWs z+$|{N?`Lt&Ufd^H1L!En&>n;dvnk7_w(Wqg2o;xVkQx_jk-AA(%czSJpj@BzPNN-L z=4TT5vnjVLh(H&W<*kwYfc?Q@jOwl)+iPvqV`hxKM@TSj?Lrx*MetyHFqFBQy#q0M zGhs;#?fz@tF|w5%Ovw-rON2-t^P*3g9ZSJ*1;X}@jK#MAtLe!qQy(Dd)!Z||2_hZeNJ6?7fQ?}B&?L0Uor!pn0%Jqb^g zR?LOc7ZaqIi{G4u}6k&?F!S^q|C>>9t*le>*k)KT##)p^3BnwxP z(rjE~O)9=|#y+XyST3HPrQ~%)ScJTMdd2|~=~U!7x#gKObwY%VY{<~Yq_miuD?d-+Db?K44GldC}DB^)yI*cG_<1S+U>$pD15HAB%a}R_$57UK$a-{g2Am zo3U{Ie@4E(a07_5?;sFomA*q3P7yiUFLbVh#FxI~B-3}uBecKhi<}}`LVXbnCK=mi zeApp8!4?SmeyKC33p`{RGDV!ezkxexJC+lbrLWBE2PJDBcMioC=u^rnn8JuR(0wd3 zUh~al4KjD>NcQDF{#LSR&o0E2-bGzEW(x#c1{cE#4N`y{k*X*_p!h=l$1tsc&cJPH ze4{V~HETUlgxkC%lWZ@cl@eH4Lb8~5&aU=e?t?v`ApXsQHjwfpp!)+cT>gYcFB{iE zbprO;CYXZ>5KIh8h)R`Sq`}h3%%}S`Q~u3;$m-g;6MB0G)C$zjhtT=`OTQ`;mAqLB zjfPtFwf?*<-2kC+_^Yhbmk~8r4me}i%8K3H`7u|-J?wly+)Ls6mq=M`+}UI;RK%UR zF&`Uh@($YSh1{9Z{o>A!)6<9-YkNSVVsUCj`YqNv=(9r}t$s;sJz23!9GM6L^ImZN zuy&k3yX$$yu)U0_ho>%Pdv;(dy?2v%w?=q3leoN?D2}4{UOyT5sZqcpRr9v@(s4{U zh~IcQae2`9Gi?#H74tK&cKg~Mc{$^^5)VXtg*9SwRPk{S7=yx~;7cqzfrsLJBy zgDloqg}A$Gpr+&ObObu>dfyj+RaV zmEiiM)Pnf9IOGLRlR&0>2kONwQ^rYS=H}Px0CtN956!+>kB|krIf>yaQ{T#6edy89^1Vr1rRZ-U6Coq|_t6Lr4SI|` zZAJR<3Vin($BGOLF@y@%0qfF-+d2SO3@g%yo(Vcwl)(yoXZrAPrw8m1Bl7+sTv~vG z>0rBe_tYk8mL+Sj)MR~?EoE0Wl$GjQ&q{4LkUbZ+hyGstn}j`O`-i)t)nnru$Si`UY27dz|msb=8A$MC-2D{4q!^gp@G<&L37( z!7YrKI{UWvec5CIzUt6Kd}+cNwG^&%$|1CLp!?U#HV7HZVXel70t05|__Y&4GG5WT ziU-rD_iNHFGAW=ffQA+BN?g1)F!+xGla19j-@A=}NihCTxY?Iwo^b)SEp(TjUN!i> zWDnr5SNWwh?VSz)sFS!kzn zrsw9T0ErK0Ugmt#;X?FlNgJ>P2b^@cY-ZF(8Q@Gf3#(haL~6U_C%~$3yDPMrJhylr z_A6Zq^uv4R0A1?~8#djC|O1>=-)dVZn5KMw%@MK1#UzGJ{Ijv}DHWoP++0=~MZ zSwQ>$8ov71i1qys;j8)=Sh6o3P>rw3$jR(i@{g3IT_0z{g4FhGZF-{%OazG37KeKC zkBg+XmQPJ|fh=)}6VtC^!g85&XkTX_tnh~P@fM?)eHEIq0D1dX@U;uHmhD$Q68VNX z-8yz{5(Ps@zP*P`Gg%-52y)xQBDt+zBfFi)3fVjDEn@b|1AZ4VQKX04&3;AFG4C;q zO4Rp|Y7-3@*|7wJsKwG@gVU*~6JdODqu(OJ7}ZjhoVK=#ev=7`$!TSOh6Re~w=X}( z+T1c=H~Q`WKTrOn=gA@PTqYL!Kk7WWE#fr)r=BNM*RlbAw$HBTiDEHM!s;eKRFO#% z4v4aa8Dw;T?2ase($ZQG6JE%LPk+5#p2Drj>Ut35^0`~+|E)9hOexf_sdtN$FlHi( z#JgmFLyBVJa4cXKznuqo^R;6jqTC{4(#^K&?aL^L?4kzvwEGfw{ zrD&(MR@u1T2g9l`W4vGhk9*T8t!v&lNI6N_{@#x$w7|9QZ1%p#jkz5wGO|*0$qb1T zo({qZ?cTz9`R-5l+;R}#7PA*Fegj*xhiDaTqry?XE6{pH`8P{js z`0Df#B3588>b)oaLBrxIkv})gTSlPgXmHbPaL?f;&c{?BQ?u3H&-q5zR9YF_pD7d$ zZoBs{ax6Eu7Q&2ND#FCZ#e|5?7yH+M0z(x3tjcGb1AlZrbK^(gu5$>2Mt#?y1Y(FW z3<9nJPDawbuJl3pkF*B1)?Qrg74&XwJ#H*c?u!DRLjQps3KL*ZBYiizsAO?6^d5#q z6@EoZ5Vt^>H$dtcouTH>9D>xvRFt#;q!;mB2A%slC-*nauu_P30N`CghCp+F4k77q zYn`YtnlK=?~D1g*1Ackl0CQMX^#l0YL;F&w9x%23c}76?@VF7 zaH)8@z|3BH1FSB4!_&g#XifI@j*h;ug<-C|dY&Y*i#Z`TJDnr6Fa*`cEihPch+$js zjWM-#5$q7*RN|y&_$32|*bL}Npb*-5XL@F$fXP${WP96Qyc!reuRfJONkDd38OXkI zvFbA*J8#f@GB8H)b+t8j4bAZ#-_A1lYN5EUmAkRLdCsL!2wywBguY-H>YQyJnR9|` z2%oGC2agha(QAypkZR~KZrp4wK)|f?hb2eT-PtFCF@e_*LqUv;h{sdavbP>Dh;Z(( zALK@j%EFK^ZJ)$W2g0SwH8t{oz&ml3e-V=#(dXN_f1_*Sm{CQ;}u@?u68;v(6laSV%lTul3JK7Hj*Z;ys8L zdXNuEywF$?FF3GVh!=VS4+U{rvdcjNSMwPG1`@d9!BUT~sc;P((bT-n+g>ZD{|}87 zQy6^=5b=cGl0@89^JX}2#2hHw5lqI8U|HsM&IRBu&>$N@iiGKiV*`p)+m};#385VV zZccf9dg&*j_i`&a?(XWlE4>$4EMLuLfe(vs0@CvD3$W&q4F;zMI85n`;L%OrQKr}T zU~kb|z9)N&F~U0et+Ka>Z8CA56hWcp-kGD_XWIMy^t9U8qV0iQtS$DE6mJ+DI#N8z z@?x9hKPGVt|EugRkl9u2EdrTcD5E>|FvhcsjPBV_YnfQLe@8~QC+Qq=Tklhi`c}d^ ziE*o?bBqK5U6qvuSfk{0o(4GiiegKrYo^>;nMoEH>KrX`qiMiPKP`)|A_X$3^#o%6 zclCAglz)7JwS2Kp^;(Kw5A?lNCKc>^DeylhGiqeSlDZ*4%YB8}R(a6B@EwN=4=|iC zhoqMNzi3eofXi)3`rmo#q1aeo#p!%GK!t1zZif&dW`%Jd%ZFFBKa*dR7l3?%^Z0D$ zgB7cg8TH<2U)FSSFrYryfg54U;3PhW$t2fecoIME4WzW4%0gP3nFdq-;e z?IeC7jTTfCLV9zeaDb>Dw`KpeCo_oLH*B_X04GzzN^oihK~8I*RQ__I&vBU*}uI07=Rh%9YBW# zFsLo|05A>K(+a@!oVN#ndH<;La&7lEaT5W|@w)@e9m54MU*7}3>=|Beqq=H%x!5|u zIbRJg->r0Dr}r&&Ky%4jEACh410lpP!>zWl>@5@^{uq=r_`Bc- z&;1B~z68;@+RbA!6I)xVkAiU*I<*Gch?N zPY~K^cu4%;rS#8||GD{gtk1i=caJcc);EWkU>${BE2SU_CLkVr7(OP!t|KHItb(#p z5GxHe5~mDS9v;?-jS3ZR(sW&zKZq_GREI8FbwSE8_)CR>hS2@)UZ5%1?^IzXm}M{b zuaT#ik}Ad)oBn7D@3D5qAX#Q(hlvl8^Fyn68+=OhFP0jEdAQ6uxSJIRc`rsfJ#vc} zuHgw7j9g!UQ+-8TM=%_D7k8jY8nVou>5g8V|2O_)YC?>;AS+rjUdsHgeCngyS}QF8 z6E(=RTcVe~Cr(`^(MK7oJs6$!LTApsx*_gOX9ur^G~s6tt!>091&suLDzU8!0)UZ9 z4OAL*E^^JI|jk&ZMCM5jWkJRJv;>q+A17ar}N~yR4iDe(M#b53xv{anbHu< zpIaQox%?SdQ9fBIn+L{LiO5EjY_q)A1QGM70;-X|NOY7l=O@5G*`N?frzw4Kltt3n z4(9`Jm_FQqki$lUgec-ru^CL%FoU%)TSzLD3;@-5y}yQwGXLTY=iAFj;?ad#k;?Ez zGQd()XK~xD2DXBq&MwTo0Um!t<@@_0=!?2y=@h9vC%^^To>Y{2^p4jcujtvzR1sYO z!2mPWx*i%))dlc?=}lZS{Tzp|JoCU!VxkN3QxNynaAHIPf)6l(gS2p z`S2K)H!mTAYAjr1gbz4EnRd%Z{}T+<+6N$ZKl;CF*tq{KCm?n(Dv-&X|8eKP_3bMA zf@1%<^S{A6fL?2<8uont)7@(P-GkZqZutBC!BzNs6F2`3{=TE>KZd_=qq=JReX(_5 z7ySL*N(VUq)q%p_bN;h7lA!4PPc)b~1mjuo_fV?=`ps~+cLcZoGFa)|=t#993PbT$ zOSe|w4UXIYsd(?mLY4i3b>JB*q~jHX0En;g|E3bXwqj-kT*r__a2=E0-n#RlApoy; zz?%SU@x(j6Z~%aeMfGCugYz}OUR&5)%DhE(a#g>u*bYk=CeR?*9iD6fjO``71;t{e>R!gbRs-<;ahZt?BzON?=9Mi=CgQC!hZXRM@iAPqZ z+rgd0**blPeQOLa_k`?z%`Kj@!!7I!GO95s2)q{@d8+7x&g;{g>>8zl&9it6BXx`~1JOQee;a`3nvSn*Yz+ z3qQJ-YWVx?^Z)h`dtpDeR7G5B{GQy)%}BON6ov=$yC(gg=53QoNsC_b_rEpX%t__BdR%D(cuMu9C zMW0e9GsZ-GOZte?b?kFJwXs~GIOaLU(<%K zm)mkst8?4Zw&9R9QVEDZbq1cri4^4YOaGcF+W$eUk@QuU8}DbSW%mCgPk@lKhWI-f z#r!CH!ow@H3SqtlMF>M8GKj8%+ov&iTbxcMLZT;RsH3%H;h@sz0(nv^F<2_iX7Y@P z2`8Za6a+5QnVRZ!!5N9y5fKB6R4{iE$9TxK50z zN+(b+yH)4|4h{?UUL3=u*`YC-jeojlCr3G&O>k;#VBd3aaO`g+DC)Qstj1LbI)BEZ zm19I_N81fl3`+&-tehh3x6*1mJ2s*&s7b8+(9%Yg>Dh=sEJyyC&WB-xJ08HFd0NKdNlh7F}JSLl_E^eZKPhF-s5y&L!|YDE#TiK(q<+BBB=QEx&c^Eqa+nu)=luJg;l zpO)`4mg0$vE7@n?s`pRlxmWCETpP;Y+s;kpmx!)-%;*Z3d(8Zv#+c@PgxzgBSHRs7 z6yX#b?dgIUb|odyP$YFhnjIVixb^%oR+9rtWW`*Y8d{Y3E`Z1$izu#G$rs(!Cj z@v5Dv;t2;Q^CiT{Q|ud{I$UrQ=h zL_B?*oMIgF>fXlNxqyI__1*(Pe$V{UMEB;?6qvp#Q3L0~22^DF*2GFeMlPN?Nr_UM zG{U;l$ss+>IQAmJ8**vm~&pEJDc2++=KdwrOFWNo#I1kFuydVz>_7jgiCa9 z=&$jh_F_m9@juPBzRUI`k|g$ID{HSsS7*RQLu*Yo<#bAM!ET%sK>*PK?7YD%i~8Ie zq*@woW(s}>Cg&!$3JC@X{U)o;)39E&etAyk77hRsNE~l*zDPHatm$D!ngnxEP!?SGK&Ucyeke8vAnj7?-?19W?}xohWRK<#Ku%H(-W+3fNfLxca$e0z?j5sDNX&H zmN-C2s1q6(X@Hb?x+_j7{oLpn#Wh|ZB!}>R^C;8=2FKXwhhvnZtE(}lkt(k9k7tS* zO@AyRIA9j{N)JIQ2dinL#u)UE=9B#e)Rq+@8Au|5oG3NK7bUjO2B{(L!#@;sAIfj| z=4-&@3;Ytc?)6|GiP#&o(7Y|eBgs66JvQgc4?*Rs0MugQ&ZlfKAh?Wa&NYx0AULfw`VadX1IE?m2 zB%3`LGs*S5Kv3>+jhsvEja?>AY;WvQ9Maf|1S(;`53j<_cp2jMjgz4TO97YF42LMr8D=W6+K%-n3G#=HwyEyj8Oi_ClySg+qtQ$YK4RSqW13; zR=x+{%M>8qydu@SEV)lt`g%RJ{wQXWMl^>=)xoU5J!={V5Ps}LrkqD|4Z(48bJh%lv=f+h9o7KEUV4T0No(Z*~SY5D#Ot z>W-fW+i?t6{y;vRufE?#(4l2Pc#NC6{21>l{e=~$?y+^5>-_bA+x+nQX|BV4`W4<^ zOq~zGJ@^ks&kcT8CkMZH?e`4+UUUbqc8VYI8gB6o{=dTiRbm-gBrcy*{^lP2S*<_o z&_pce|D)(10NLXKoa?+}HNd`ruE0fJV?mj@~Sz3snu!;fyiS-0YO`Oirdi+T{y4$JT zo>|d-Y$_vpK5(?36$00qSFY2=saOG2Jy`8k-g^D{}nxA zWjw8jPHS5_FapndaAtlCSQyr=mjVhFPoW`$Xk5&2@r)0ex3w1z{(-soWV`xxJf#5uNyktDs6`ORI641}AvmF_aS+u{?J&pV4M^M@`* zLt00XkiF=7LgM3h@8tf(3urCE3CAG+9?cl^YTI1k{F8hW{e=#Cm?T=;U^)0nzy*k z@3CnzcT#Ek5|=-RCh~4WGT%0Yn2gHun;|_JaGMB-0(cGb@6-^KPF8QAYiEx9a0GGH zvG4aqO$s4`?LlOCz(mfb%bWzu(|?SbNEFUj6X{(rqd!KrS0bPg#KGP24!m7vP_)zg9nT2f+p-t46>4W4dO2SauUplHd z;zMAcxN0*7!QUtjnX2i4%|KoI=VamTE*>QdKh}c#-M#TUbzPu}(wXq{Tj_k;f?5?7 zM1}JezP!?2@~4ll`6l0I(B?z-Tv`PGWIZnnkiz%>YVY^b`@{G2{vCTiK=0q{)xY-q zo9#!vyREw>-O5Z1apR{G96m6>d(fk}8IQY#KW*VUfoV25VRvvzm?UaUVo=QjxOscc ze6;1CXv@A;KiaJdZtpdeTQ89I5h|mpT zdvZUpgC*Rb9kN9`i6I0Pj}N~nKx=gLapoG=CN=oM6mg3WPFE#`Kh5SR?EMW~I=KUT z^MD)b zTjOf3@~K|?Z`-Hz`@*2*ws zXZc(CRImL%@C5)6#OY+w{1H58%WkNpA!^m4gzKgS`G7I9D+1VMcrI1YN7-+NeVo9h zlUq!=N<(_>j|%Fo>&S0!TVPOpLeO+}JzID~U!Dhs(0V} zM*nBQ>SpCBs+B|fUd~-mNO7BL@QF1R*z>pD9gbU)S$RpYbejIY=BFK zIh)?&<|pwx5vIW1lFWa52>GlV$QQaJnJ2J*d*h@k@yUlW%g8=Fodc=raJX!KD*iQS zowL~>sr;tW^7+;sGBnD-VUoP{Th$3!`?zK{p+^(+$ot{(Fr|e*c5yAadzaXhA#jT_ zvvBhO>cl$6(crfHaT!IN+~?`M8|jzqGYel9;#+DGduM4*$g=f_raFOpv&{ChYw*rk zQOWmfrZ>eA4_V&f;)v;PA$tSgx*f`3pfIOx_e0mR^8L6wYSiz;N< zb(qG`trDr~drH6XP!GM7t+uyyJ9<5>P2pgSXJKs$whmbDFsearzaI%K$_p2z$1PY^ z5Y~tCt#y|roGTv>Ca1qD*3>uytsZ;IeK+?4lmvOLT`S}t&Q>hTD+KdH+~WOe&D*>R z&_7zQ%jblWwR0JPBRIw5|pSV-4rQ$#jfyS#pu z*Nb?4JFopadyPlug#bc16^O`i8f$@kZUnkGJ;YgAC+OI(o?>wqL;txYEJLqnmfW1db6=VwMy&*kgVE zrl8Oz#ntpxz<{f%$xoduo`)`&jmOAIR*k=skv%ks;%y5=r}%AbqqB`XAD+nf^^;sWofq&$ z_+X4(R`2x8Vczn^`s~D@l$$?ehq1WcTOVpLy~-+C$D)Cx78nI!1^l1zV{sIG+USP1 zd{%?I+hMaBkZZb^?1e6Ks4TzG|JD$;3dHrLI&T_Z6#Bs}{H%N9r)pNv zc5FqyA9+9K!_VZqyWc&s+y7L}GCg0`yd0!*^95!-R<6N6!P*Su{n?Xio$E)5;z9uT zj&v}>`;US1>kEC|;vpy8hB?e7wR4bPpSrUrlIsvCtIL`58`hO5TP1kq*<1p)%5#pl zuwLf%fMY>s+%m?Arw7)}c!5__rns6N36R?AW?m%5w`Ff=Th1Hg-1rwY+k#x9cq*G&)$k+i zUTYTZvs?=TEECOcvg9P(@szLe3%(J3*1#Q$v zou2WcHDQs})dWUSHM0&><#f4^znPW-c!W7~Th0IrJf#iMa>gKMZk8(xd&#^sFSo7k zVt(iKF;lG$jtL=}0tR_Z8qH|Eovbv_{!jU{sEVT4)xQ6_*M-}vNQhjcofERpkDpOD z17|L#n1d(2_qD^^Lh!cgn0{3Z+;tDDlB#3c;DaM*C?=Qh!1C8mdpM*^+?MORD4WJI z)h?v4nW$q6ZjFDIj4$mxZa5k%v!m4%`Y;S|^DcHWBEQW>b#SVdj?0oYkmbOsg}Q zzrV8KHWIUiQ!{8@P4)94E*iQ_VdR(^+Vls_14DO+~B}6 z^-~dlh9ArV9Z7P6^Oj(Q!`mr7)uMUg@32NE_CPqW-&sTQ5Wx41To}w6?>la z)+DulT`~?V7E}w?A|^fEU;IrRequaNk(W`R*u^EsL(_e#&RF`A(Y!RE^+LmK%D39a z(lwRy9`#cb?7%PhhOof3Y0^-TM^n1B28)!ilSrzKW7;uu#mx?s)Ngzr@8)|otaRfT zm7Rbwf*F{21JPCMajPD?vcFm9eP{+$^uYRaf%;=dUg6+IDVd}>TGuY;S8wcF!Eq9l zY_^gaVMCyAxglekm-?hNS-b{{HQjiE?#8HptwC1-t#O~ibKJF#&j zM0n+oTgg!FbPh1QpeZo~#)Y|KmFXiUb;bpnW<(jpm4C#^J)*^7e&?RUoHO~eF4e@( z9cwG_h;!p~E?C4Sq25H{3tGBh>^0HY{j1pJA)H0k&TCR_(Q?*XWvept2o~xT_v0>z zw|+byM(0N~v4J%YbNfpS+x*+C>Q=Usx=X)Y2B?0|lg`0F4yV@?86pPIv3vkVMINHn| z<%$oZoPQ>N>^va?y(UBX z`8nj6Y=HDN33++5A4Qj)T^#l*-}O1OH~^(zjd_aC=H4w#LdZ0!Aw4ZoI4K3il89{y zvm;NPYUj>?7m;S9_a%+SkYxOvhRj81A~_Y;W?qp*viZ3X-t*)#jD(X@e$boHbUNcY z*I+-Z4z=*RrNFkZxT-4sWj+Yb%$p%iTKT`2A9R3fgCZw;4YKxSg zPYrSNUvEg|C-Z+4B3@|pMB(4M^gWzP;KiJ1`L|^}aB_oL&(LNvk+(t#T;BB&oK!2D zZ%GC>G)MC+Kxp|Jov9`CMh|9ihz z*c$X8<2O~2Si`@Bht9iH^C(?Og<`C&d3nwMwU&K_8#5^4hfyGd= zz{oKf$_>_H#b@$ZO9_#dh@;9{#C7X%(wOMA00p*+o~QcZD?PpL!{0YbTKhZIhPcgEuBkY*W|4}Rx{t%D(K~&l4V7?hhFT=iFjk zz$EDL4!&1@2upNzW`5XlwD13c*K{uU{!mS#9DUIpM7>gFtPJOV2c9Nf>63}W03u)| zAIImwC3~^fy|HYK4jfE4A*YP)}4sctBWHz}5Cwu~>M{om3GXj0UX*juN ztxF(EPLQ(ICQPXyrq}t0&@-e=29AlqbltB}ZwYW>cp-fDhQxKk?)n%?MoBHubGvTw zK5ad5#1H{S-y|D{c!w?whzVerLgKPpMT9rG1uJen5Fs)|iM4n!+`mbUVh?Q%GXtmW zaR!bx$YL5uwNV*=D%sMM!H&VUizX+8LMYLRn7OibM?tMmu1}xu7H2XqUv%@+fhm?C z%?4v5vdNnCnZK7sN1&e4gBs&Rh)4}{h;jU0Yj-dz;9Jk=KXX~{|BmIh*aCb2ZLSZR z^uZ9%;R9fowhq-NP5NX=sna_NyXE--9;udJ5(gkkyLBbR>7hC~stwn2VcIRzaY^4I zeXT4YSX1SdTg5S*6d5F^rtC)LZyIM*QE>ofXz$nRoFKM(5R;}WICw0lq-2**)=?kH zhzx;Bt3FqDW)f@8JNf{lu*T@vYkR;BKb<{>2U+u^(vmYpPX>JD7o-Fh1%~m`qI&O| z{dBy)kipW~@Ma+xMHP=U$Dy4dSxnV&5}ot$H?JK^ZXbxNXPkNS_t)AoE9Gu~KInGF zu^{{6Kd%Ppg5tSj?Pb@s$7vWh#@W^yVX=OnU_5LK#-qOy2L$v9b2f$t2;yG}`im>e zg!cTUjZI`m3PtmFp!0l;r7ssvG(n&6+YrpYg@fV1_n+f&FmCAlF}3Zi|2QW%n<)h7 zlhXR;UgjpC;{{LX9kFZ`O+C3C5E>rQ{7my0@Af;lqCNP?su`Xh43ZtwPJ-3?b{(6q zdH=d|>rS;WTqbSQd=8xvh)-7a)5RFSraECJ6msb0eZ(!$jvI%swC}K!vCi1G8P_<; zKJoq<7MwsRO=phurF=C;X^+N*yaf9tfu)SH48A6K@b=yiY?R=Wf8mpW?88n{ysY@u ziN>@Nn&VXAyZw;wVJ`-MQ}Y&F#J(Duc#f2ekzppV?`|BYSz$*qI}bF@rcUi48dHry(-!i@b+~4*_4z;_R#aVvALpk~b~%YN^+s#RuWO3SmTg zR|+NDF`&uyW!m!H?Xl(gN47ufxGOFD)Kn-vI*n?#s>c+U;#jug$&UOJ&?D{2aV`Mx zZdn8vVlSG^l>B>`v@-lR)Ef9Xowx8*mks{>^85S~u{HURw!i4O+bz-ET;?7WPqX=D z;gGts>-)vJ<15Q8Yd$OO9!zQdVXX)l^-O?zvK-80aPM31CKq_JytZe8O4 zmM6fY?B8Rn38-7=eD8*LRp@D_^Q*wW|6T5ET~nX}j+GTo?kaIJTG1BP+&F(R!ABS` z$f93+ASt#f_m8Y{zi|JwlYts+2Qu;E?*)Lzbbt{7D}NP?Y*;QjgM$|Z&4rySZP^dN zN}G0wZUm`dqv7Jh;>AgxO0T&z7RYv&-zn%sQz*q z(YwiYrNgS$FS`^T1UsTZDr70nTz#`ocx&IeWHw9WeX^P@X8iRm93+V_d0|jT-fO?% z3KIEYztTd|M<=%m%=~frBL`civr7I*T*N7De7$m5{)k2`q2%{Z zb3hBQw59Dj{h=XDPtRg^zQhy%K>h^vbvbi)a$}^z0bH~_V9b4gHjenM5JM!`f~{?0 zGMS<=I95yIAs;@%P%m+Z-rG1^Z-&k_aFso)Wg#R@hafiA;X{6tW_nN;{VKj)6 zLu4vtiFxC6o@^J)>R%|LS2y0n#eGaC=dQ09ElzI1JA(hV9=Gsq&&_ToomW=|0n|2U z?l`_q86EecGw*V{8BJ(H8fXj}NdGRWAPwt<*F>$3rSb%rdhVIl996X0ldaC&;aq4~ z><@;ezy7CHNN6|0jqN&*gdl&uF`%Lv{PRH+yOkNPGFOLXhWoctkFA&DJOmj^F|x{-$=KQ? z>Gu-bUsuSE{8|i&u}vd246!b;7)}i?Idf%6i?B}Czp@Elp^CC>Vi+vjdeVV#{xuP9 z12iZ)5#x#*uXtNMyA(}-cu06(?g}Ke7TK|QYvV-feNgOC0$6V_nh<#o7;D^+I`0?I zoQXoD6rsWCgV^c;4tH{g0Z4B44V=L6CeMDjCG&v)!PWp?!XxxgK%bCnw;|WQ{;v%h z+be6|c_jGU7I=z!Dlqyw7bZCM?`2v;JR86YtG+=~9e;7=C;r07(bs16iN!Oq*A=gQ+35!;G(F!&wA6C1+un@-@cZov%gA z<>+&eb#NS$C(uv|!_GPi;5Z8QvnA;m?m0OXNLngWwu7_)7>8P*cuZnr8xlinQbYd% z6GL`4`x+X1jims3-H=F-%GB&IqIAa2+)>tIuWf{BFV^Vui3Jr`7{7 z^tfzGGquiN$_}+%+5AR=Ex3Z$d)j?RvYS3`_YuN0yO^D~NIS1J)8)@05DGzmf>v9m z)~AoHYO%D+`_&6DZN-}!XIo#^d0)B*j^R`~QvL809+rMHzd{d~{6hJc%r_qM++IR% z8tZGK=_3rXU95-PAx`c9-9eXhF3+6n%h(heh&j6J4+$f$}TaOQX! z0poHL$VV^;V2t~jNI1SM{Xin$)_@&NGVc!Y`vGg-n&-;#Jp8)}DYff*jZ-s7n^+uF z*Gq$_8P34H#fpCe_7%#eL3ua6lE@$2NW9EDi0+XnFnfhbJohqQkZLzdp$pLLefb|tL)~d zPQ*DKPa8Cy6NECV7EidDt@;b!~!`JMWSi9e@j6B)qN zMBwrn2#WCt2 z9``Y7AX~?eRiXmJeGWe(l_(t&uEn6#lz1iF){qj|fdpQFe@fjizEXu!4 zWCu#*&qMtPwKvE=0rE@x5*X<}|L1s$4IJs}`ljG|f`1SNWQo!$SwNltuNnes1j(IW z^R8r<`ENoi5|-~fpWJP(GX1^h@87!9yV^p!>@txV&pYxLm2>Bt#Nh}K`y&5xu6yY_ zG&lcw{Juu4O%;BZj*7S;0e)vthT#8=hu~v{Q5QBh-t2+k z_&8YT_)2oYKf)nT&d#^Q<>R%QbVd`IdJRwB)6BzZW;iB^!>X(vqqm5XP@dW3G9vCe zb3bD}vY<3c%P>!j8l`U=y(0nbeB<7{4zY3)vw;Y^2DsKvC84>5Z@ycBzONe3*73PO z#v;f>coxIszXQ+SeS@0A`1|AVY*L=x6+F8~G{Nev5=FIL)KshHQWqieMIvSvKl%e^ z3g}5MgAFU7YnEq#;}tSe`t3dXl6X4Uo$>CH>DZwOgH95{B@8#X7SlJ%f}=4%YvNib z0-XymFp?J;o3)nB&t|JWpc>0|$Tm4eLbrX45gMJmFhIti2+se)X`%Vq(mL;qzd={W zH&5AUooKL5)XV*!0sXE~%_xfFF`CGxvhmr0e55mrP7&e(L|bDIsxea9G=6ZN-~ByQ8m@dyNr0H(tkIu~GYgFU8As-p&JpLqWh8^>EZb z27-eQ-pe^jy+KmFEdm%s!`HDifp+vtWr6#gN9FUQp^8b%FXZH_{^~CKU0#b`P;`=?8?fV zP@XzfHN#rxrR;-DCajiSJhE=asM2xe`H#9n*`tE8iLfkGFl7&?Kz(KOAKt3bXU2vj zw|TKq*bJ_-x9O2|4f3kb1@|!n<){FG+*lu$t5eA= zib8%a?h396RW@);4;No)APLzP%+)D|++ZVJgNcFm^O~xTSkB|CvHEy55qpPIC~y+_ zK(bOfi6H7o7Hc1p4~YBFZ$s}7a?+85aR8ke*?@-#2E@GOnL?BOrQ#t%la{Bh(1MX4 z!qOg;3kd|H<{;9Q0Dh;X%{jz-7Sxo`SxBe9CVa$D8n{;YnMw6rWEcr~FObkDixZg$ z$zCtP@}c5E0m0rRgbZbN#Zpe(;bPV!_YXyDt-x2ZIHm7d#o8}wQs(F=G8eoTbW!{c znjj?O^wk_FjK;!&!W&Kx;iiTV%7K@1N?qv@P6j)kk#wWVF=9E@h?>6qO?`k~}MgN)^?8m3-?60caSA^Hn|8SD#V zZziymz(2*uKLZDlClc{(X5`jvA4z&l^45+h5gLA`c4itPZU@OB&;%R2 zP{|-90S$@bc$mBKtltlM*tR^bcgx-6MQdXFD_BNh0HEk#wLf%gx)22eIhUFyqNbad z<&9L8zr%$Tbc-XNrsL==HjZ#|BQ#T;KZ*{7rJny2oo+8qJt$E)H9Yf{)Oll35SKjf z`In-Ci@f>h3WWsk;{z;{0H+y1Y2Z-f9YcA-C}~de9d+J6SA91j{B9zOG0lHDm57p< z4w0QzvViajF-bWY<6UCRtFvNOXOMJq*MSZ#QV!ux-a-0|2iHfb*lUUS+fME!(OOC^ zj9CUam;AyFdZGY{a!eq~w9e`JRLy2lon?yL46K@r97lN=Lp7!-PPqa4woI){8ad|~ z9(nhg?T;B8j%Ffo?m>A-IDMR4puQmkA5R}85`9%Dj|OiHAmYY=dOJz*eTGh7k;qFH z@UoMeW_=#%5v8U)1^e3Y_n40oN9z;#0;h42>aiXItpQVnRQ^gD-jn~ldmr*-{e$=i z_hYx^t$aua!D9b0=&bnzH}$EsJsDufa%|t7-ihepHpu} z$HBSJ^bu!U#-qC>SJhI26#7L2@jp+gsJ}We@*B;-(dd9wezU(1Es-?W|0jOE{eI8p zE@yK!E`?04yH>f5qBxiR%QwKQ{?8*6vDEv;4{_A!d?T~J+$|>JLg4-UMIj5MJQ9w6 z#FUm^52;VD6;Bl56BiG_sDA-|_-_;M_80f4_y47Mx8HwIRUF(X&&HZXr8(jH<)47# zGpE7jzNVoY@SW9WcD`831%vu(-P zMl6-k>+1w64nTU*J>~1>K>t2ZnxAW4-iC~{*gmi}6?=PhaYRGDb|8|gS>IwpW*%x% zb$H9AniB5-8%?krmvZ8P0%x#SNynA#m0PJY0QY_b8v4h+Ugsjd_TEEc@$arj-22$| zIMvp2Kw~Kz!K?P+lv}EhAbErGezMGK56VXSwW?6HmfjvEzWnt2))Dz4Q?bL6r?bAB@L(Yr!`DX`XbhDIkWH)?>VU^eTvwiz$ zE<5T3ri;CYuT@`w`bA#;MlL}h46Cn(mCO%o^xB^YhK5-ULmL|mt=K>Lwf)%>jF76A z(B$1PbQ;?DHG47G&EDNhRqZ2%);N<*j8XBS&b}>e;#WsrRba z?ugg5Sm_4p{w3rcmxpMI)P;4;t1h_6e}9dTdoXW+Oto`mByXs$?@`VKDuGs^5~B32 zTM%c~spsWv?|RB~75%B=OT9u+!C|T(5JdbntYQ7_(Eql6>POZ0;%U9H!FNY$b`G0o zvlM*D>F$4q#sjnr}900VpUr^7nn)RL7g)o>;v^sx&TBKchG;EB6m@Vcd z;LDZFFMuzDr_h7>LjcLUKd1u~`Tie=Gd&5hsCWKt@ z3Wy3K5>RAqBLqRYc;owg&3f;h9f-D{-+w;32Tm-TGn)mkg-`wtQn$5O=8tb5B)9yEN#meLI_N3~(5&-Kn$Pn<$k z#v0ud4Z?ZQpl~rV`Q^HTJN%c<^cU&R%JV|{%WCh{)9}yqm#_ZQ=lQ+90L%^+6#cy& zwORhwc~6|^Q*5-|UD*6pr;%rPaxN6zBf-Sp}6|x7tk&cV|+`;-iyN?zrsh9PjoQ+4Ne|rA!X|>W^luh zojvm_7EeBP1mHbAoF9e#9lmM>qjCJ75lo*HpGpkh%ZJQ7E~3Qy-H$<#(F4N|Fld+V z80bB|bW~HrDz0ec1VF^XYPqr7ff0!$q#v!{MY}t3vp!(Q7X#bVn`K)2Mu=A5FQ`w0a4VgWHp^0vm50SrAq8*dW3c3+FT@g8 z=UV)Vct`vhM6~+O>|M=~x^inPJAw1%95XIAobNx>?>V^kB6k4{i#bL>#T9Tt{w#HO{Y{@t2Izpc zMIx2yr7c)kpyKt*riCkadOdfS(*VQ3g#A7pv=Bt2cCjv--*+PpD>p>kPeu-c&~5;; zoMrYy+`uPrz^z5`ZvI}GKYHze1z$f@-`Hj#TH{8Z*bZ3R#ItUk%FlmYG0+QEOb;dw zpMH~q@>dOi%Wvw)_i`3<|vN^2@Hl}L-Q#)`qJX=`s2aCX#&AxEZ%TiF`1iQ z)VjXG)$x~FD3t6%HS6Jzqt+$g(}&dh(i<;z!#qwlh5PA z$62AL-xM)uXF4l}cb(#c82wCE#NAiC-R@(*`ZFb6v^z}#19-&Ri2Ck6J9_k+zcx)xAl%DPkX*S$CE+O^Bqy|;et?BmxqZ+LJ0nprLD*L00a1*BE&aT_Ar^Y|E@%@3ou1)H*1^7>m=h|n~*bh3^B-d_SKj0Vhhh(YI zpk4=>Y2h*9%kv)-N+YfdVO#4hxLCoIfoRmt==u0&41;}Fvu~*9C>HFXQZFOvJX1Kl zZ`klZsf2Zw0Z7X!P{)i|u@+n{FLV!IViU#m=L6(%EGoWg#$}2;yM&w&u z!f*&{XmLxW=Y}3tJ@BV>myGt3XF**V^F6fBDwIwMp>)FOA8{i+G}Wbm^EcE|z~S)N z7WWX1^ISTv=9BW~ExP)-JbQ!tU)E#`F5OzTaO=F2!ulESQpT9^*2b-S^7{g^Y)?he zM|E#?4Vb=I&gjrvh898~_zV`2#{aK3czk;N-}6?E-w%AO_2}*UlldnSIG$!?7F&N6$ZsiqR&@7VesVWY;t#!Sz}0H=9ITIj=)UgerKWw%mX2 zz71dfcz3+bO`=gO6)Q{PZ?G}*`lzi$L*tBZTu)V4BKc%YPo+rwWR3XTF4G?G>I?8?uWZ4XY_~VdtrSPW{|Ff!g=fYW5yDG8VE5H zkH>?FAmd?#GBhwtTd@=~4>l?+eluY@kxEv3kqU9lgB|8y!7{x=i{af6bK|AHsC2(qKtb2LJBG-x^;N8tcBGh2`A2n79mv z^m-%2&9E%B>rLO-;NtLLNaF?N^q&ye^8ruuB@OT4A!;!y&a=k*zu089XZl!#M_n*&F|BUWzg_b5~EZ zw-B7mO!?U0E>435GJPW%(53JRF$MU6A3g2+Ly$Yr2{xh=yh$wg&N(sCCPP{i3HW{r zK^O@sADqPB!WDB)MGaVO9w59fB~aF%NUK6*Q=Tf+jFb3V`3#B8!CeZly+9mQ<7c;! zm<}4sfLoBOjow?`>pYeOOX>!VOI#K4(U{}S@$K;)UQuKpPMYHGm7msc$wpaB+<2DP z6e|+nfeOn9p)ZcuW7=gOYGeGF^6X_goceh>C&N<4dcQ?AZP&I{sD7q&PqytOX^%s{ zsm8p_|KS_<};_LPw&sm>6p0j$7=bXF12+3ZLV1#`FKkao~8e9OZ@+`)F1zh=~0&O;oO3xJ&#O!%ikY zPw7F%a@@gY7{hu6XZdus!HE80cEDpzD&ZuKy|QVh#bIBk_`>Dpe9CL4up6$IvBu#~ z{&RR%ayu)#@#Dtfe|(Df&Yt&k{=xf-p7-OiZzY?0-cMEjN5c1#%VY~~OEF1T>7hJB z5Lfu;f)L_sueJ^xsYthN{u?k)P2TgYmIvgY6x>rY)+1Za-@M$`t9$xbuPpuWDW9J{ z%cu9X-dXue|5f?w&#hm3V@ur&&+M1U+t+$lkBB?_CF3*!0+3%xd-R1oORC)*OCaw^ zDcgVR)Ikg-Df_0!tfdFN-s zW73l+_M<&C2YDWheMU4C@o*4*7My(aimYlkMJ0rG^BiAllwMM_`o`yMHJjfWESZIo z@}gW@e*TTM2l#VK?8N7YJ**nRlA9=gfXx!`lkDdBp42+l9;q8z65q2Ddqih8i&sP-mC;4?!{d^3ToS$ux?#E=;J{ezn^Cn%*L!^z`N5&jxrpU*lddhv{Znh`pec2Zb!wi{M6Z$l(_hd@2Ye7bMX;~ z28_Xv=U_aw#^5x4yDZQ(H$>vZoyAJxZeeM`b4|M%QQaA9-tY0&Sc0R&-rt-WlV9r^iOiYvvEed2m~KV$7Zk`;WorXt!(r_D(K*eXH&{nZ7g2%zrLc zpOc@h^LyBA1O!)o{7BJ%7u=ZtrECSZiIyGtR!RL^yRo^J)Gs@!G``9G*Io2)R)j~n zeK!0Lf+-gNJ@SUK;2dB`B}RMtY2M74oL3% z+uzbt=yIqqWnX&Q^46Mt>F_xkBpI~I>3}9}Xps9ZL*K(N4`}a(f6-nSgOO_Ql8pAw zUy(8ZuKi7~_CBoo-1ZLn7wz4U(cT8c587VcV-VcR*zsj)Xb_y*yXpCAx~H!xeX%CaEK+sEUX|9#BD}BOe}qjYHEuAWpGy?I|2rK9&$9^E=nKi&h#(AlHx(P zl@hJ&c-}c)xhZ z&jFsgmyv>c80M^WfAjCEW~TdXuf%EYC%&43o@&adhT{HyBR7Y1XxA!h$X@`=?n?hj z_04sYd!@^;;!64CJN8VDAll%*$`_RVT?i59{5QT!!IJSrENsZn5@t`_P7H^Wwj+6b z8q~*FahTPk;mf(r@8rNX3+gwS<~%Oa+Xd%E~`GFPUG zTm7+EqSoq|M%l0UqR7abN9;)#+C#S%(0Z!e9OC$Q+!5f#nP2Gmo<#l!UE!wSmi!aFiRnKG2Y2`2fE7uB>o!Xt|!%{)l zsS1|Tb|n&;YO>1!o2YTEQkIiawVaacl;wF!L{I$(9$o5!fbF0Vd&%4$NQ+5zfi3XD z0r!*T2ba-VE+Q-oPTRb*G?;g4|0^Jo+ZTeXVBvgz1?f(bCw{in7XVCa?kmAr63kl$XJUryuNpqN%E_RQWC~LQfN#XidaZ zy;MzV==TJ->b8(kqzt`d*xC6^bq-E<~V z(&mlifcVi|d@cON?xprSmfcSssvSBmd~tRVt5GC7YHzTV7$NH(r=M9x?eiaAxQe*H z_{OVRf42a2bLAgbnvg~DUfAQ{3P`zw#``CqlN-J5Z_Ge+4%s2PSZQKzKR1a_Vvj5L z@TDZXJ$Z0=ZW$)(Mw1xw;#B_QGxL{b?}3dLBpY>5nUyPI_1hAV%KyO&8TI@8dC6hq zmz(Gs68Wq4Q~6sD%%7Y5AA-|>7RK~#oQioG@|ACCOxN(Hkx%LxQpW7x7}Cw4eA#CW z>1|fu&^v78%wH~9K+RsB7dp+`GsJDwqyHfWMR#C>=o$kq^d~e1rJqmqvjeK(a%nPAUb~b>2(V~6ZBgBwthB=d2EI@3O^2R9iefDDhx!AlS`5Ngp3vM}^r%a@%=lowUDsR@$niRc5#Z~J-BrL9PTG!3qrgmFoAD8tLZx8c2 zn;lo}Eqqu^17^b>Atw|*D)1xMs%rv>)=s_j7C?kc1d!(E(gH|<`nMc4MJS5LNO9IcauNhynV?ZLG+)Q;z#p{4rsEnDJ=y^ z@)(^G0XpO~Ux4_LE%Af3B07TqRT-kkY7zLe`-vXoQ{_$cC{BqUGbwvSTJ%_*Av4tM zq55g5QYLs*9w>OQc4SH(t2IBKE$wOBB#$IttCIUm9(iKmaQ5oez%V_+!<#%*@-X#f zC9Pwc6}%RHo}zT*kjl$V^guMIUPH#sn!K;6znk>5iBGyD_&Lv1s+I|lY2hO!Fd%#c z1?`$^O+0jvpLLFXBg7IDKAs^7afFGVA$^=Pg*7fMeITO9;eUVmBaci$y#iQhl?U2S zsaQ-9p{WYl0!~M(tMp?NUTtfxYrhK7$mTjXH}r8e(p(vBodu$FkR? zRul`t7HhmaU-L9W(f^5v_2y-o^u1({1$@W?tC`Z#=1G8j`xX+o$I&NeNJqPZTXc3@ z64IE<{L*hC(plAFZC^0frWLu8%kbE3yJdj?vQ#7TmVV%3Rm~cjjrv)uo-Y+2U|RQP&Z*iupAts90jxnU7Rq zxu!o7>oTOT!Xbb9h6wJ*h*%g-$*_j{AY#_1^}H6o5iI(WuU-i3R}`ZE952X~n~Z<3plxGG|P z8+9|sCqU)s6G7pJ!ClQkz2Z(cAUIiEN61~6>cXz0b#*7#U(i;H&Qo*1uXu-$BD)pr zDVmnRd!%vBB_>(-O}>h>rTM+dGc)_S4_Y(ipOS1&G$8xPejxd34T+iZ75Q8FMA*8y zgGyvD$6B7fJNXC1AL{RR50MzIaH;z5$*jLLdpk=@Uh+%|XhocB_4mkE)PL21`E!#` z?J=2Qz=}#uvvZ(-M(%mW;|0*i@%WSdmuEEO>1n1#!;3T~M;HT3PqXFeX~xCt6Qo{A zxUYUu(@YZXd%>-*2;(&?B+RUq0Bw;h5+*_wq{JJvi(t5X+nZ+(nI5!p@{%A@%Iu>- zUP-4iruW#@( zL9f-Xlev0>Cvs0L`)C)qJx}mdvdus#g)@`~r(kz9#@Vo{E|+WghJnpbgo2L*#fD@Y z$k6ZX#=~qolNO6-C+`%z;mld4jGHK;`|6oG0A;}2)UjE!Nid4y`(kJ+y*BwQAh}72 z40|9Z&SXQ0KBWCiq8!S|Etyar=bnI-CF9BAzFG{G)h|Pb>#=yH_otLUPyb6MjN@{1 zviI*JJM+c%OVj@P-@|3Jx4*tD_wKiUwWd=3`r7Vr=aUsnT!8pv=CR9@6E4Bul#Q-T zfNXyzdBQE~%mS*i_L5)N?|o43ckFea5OLWb3AkvyO(yx26!WNkN%MDUS;%)q8K_?t z@c`fjGbK5ATrU%#_XorN7KUrlR*epy<;H5}M>wJ|*bLlXfMH{>8H|y8;jVdAMCjzs zuH12Kqb=560>CHDucMsronVO%y?8_&6@Wbs7KFH=+xPKLHb7#yi&7Y9YBkt$E4)d@4k$*nOUc@e`;920${(!5_-8+5Ah`P zaaR-mKI?p6y8d;4F%S*@7ya|ePZfmqztQO7Kd}Cst3SJb<6k>35?^U|A2FV~fyHQ% zGj#3Ap8|Am`@NkH^jL*$phz3n*vK5mB~sqoXN_7{0k@F+VeFx1+~D%WFb?gF>3}2j z6Gy0FU!#;u6jN@wB}MD!uPPNo5Ip=vd` zoOw#aWqDogxjtA>inqZW#?sdwx^QzZvwGxy{QONOimS?gxAT>l`prEo1i4P@kH@!< zgqwlyQEbrKHulzeRioC8BbaS&*WqQ2#FE3(vz|ThmTV^FymMIL6_L26BA-c|qe*N# z)|$khBJ|*8UAJ5Zgu2}&-`ly*x2|bwbj=c9nmq>iVra?`BBD z%dg%a|AP>mh-?3Y<-Q?Z`31i6@2c|O`^2fCh;)&*$ZK>|q}5iflkYUHLzvHnP4n_b ztqaG2`(-#ca?GVl^yfy3rew`0c0#xNDPt%xAoR!d{`~rYoP0SSjZ9KYRtW{a zwUV`M%)FNgCSix>Hn{g}rB|RC@cXdaG=D$*esZZ+lNR#^dl}?YlUUAcREz?J^vR@e z9CE{d4QKJE!_k-uCTuw++_VV45p4=Ti}%uRRhd6raA!IAzb)XUipx4KAOMu_Ql z2aQy6-EdrcxaW&WJ*uhe%9Q>uVxJ4s=|i;XWdDle6H72di?#=eg_L&7maRkPf--; z+T6>mD`|WMOI8`PPIgOj>CvuJ@(AgpmM2#!(a%ql$8;1hh2fjueT05zAi2SevEX^| zLx#J#X*@TcZy&y`o^=1#o*8t*bJN%DwL(e5{%8k3iiyz=;EH)WUTB{(TDZa$tJ@uS zy*+9K7M-Sob?4g%nB6%Yu!sX>Z1{wh;hfNWY!Sd>85YbLN4QdQn(MH&+Q#d7pk@&o?EIfj(X_$AmfrC$v_^WV|0u0Ei=g<)BJh6n(;lxe!ZzGG9< z+YKV_ALpt^P-DBBR?8zW5$7*b^0;)KOG_R*jz2~{HY#*q z@Bij`;ism9{(twp@Q=xCtgqW0@m(JO)p_BS5RlRHBxA|C^6FitQ=_L6%{c-P*h%4S z?o8^AC1%MQ;2!@D&zN0xIN0Z{OCJuti8?bz)Av{7$?<4fdC8bBJhXE^|1!@r9T+mltw+6xdmG$wke$vPgG~dme|L`)tN@L*RDg->x*AJ`|eLCVwhi# zxhCX*^M*^APPBB4IuR^+R*@9b>ru&+WX&%%VQjvbQ+LQ{Kc_wld`^9L-S?UG5#@s; z9{mzpcz4^}Qp}|R`0~#*_AcKqv-}@P^gO?dg{;r= zx6lOb>!#MWWGlJS>jmv!MIvj$|Me~$+V6b(7y9;n`GxzHKb1tvf3NTIjl&0|`}dFD z22Sf={&~F?f!VjKqgE@k(e^>p2 zM*Q4@4}S-(C{2G#>4Tp#|9jOpsi(f<0Hs%bNB%qY8E}H^5MR@=K(=E4n)b22ru2>! zTp44XTHn>*bbbH$s`XU$-4@>uvOo1zUwWxE`oNxC8>_+XS+37#5KS#?f5H6XtlDwx z;(ePf?C2FllqlR7{6xFFYlELG9lf%akQfE*53{WiL<{3=16QxE-;vEuHl9z>E26w> zOPiOz7F1BQ;ZLN}@_$BYZRH$!GF+H9hl81g=jG0M zt+8L@^*M<%Mi*_r>4jL$_Hjfq&)yyOc^^t>)3`*=c7tcZT>7ou%W3L&rS-cw_(?kz zt>tf9@#x*Xx?T`}!MeUH)%D6gy3WzurdS1c;r%KF?!pPk67i0fQOo(s7-HiWJA>#Y zIs9CZW1Nd^t2xl9w$M07n2|X}4<(bwaY#J1h2UlNmmv_H%O>6waTk{$AnS$~oIYj} zt8r%JfKxi}aYA&Xoe-@U6`l}{ZyC{n^H?88bIP;ZTn$y)xl!#h#uBked{6wtjKeyI z#y?%TPvMES5T5AkzDkw@i%`_(IUTf3j_J8WsMj{L>@*R3n8nmSlVb=?T)^t2%8PV^ZJd+TrtO_o?Ao6s$AIWpAot^s`VaFkkca71 zd2Zm2s`|IH35N?R6~C{KlOlG@5a3j=SIS4^UQG**Ny7iB+8wMS-gvkXe;B+bdtxwwyV5eW)@Ysfic0!zS_%`CB@I29fV@1#2G^@Pm z#d+W3D?9Aw9b&E#!d#^sY&QrNIg3{>TC7*;h#>8y|}! zp5~zQdO@Ts6=y{L4rF_74pGFEtsMw8{mJSd5ggK5wmGSK`3UHrOP*uW`vR2!hFu!8 zcQhv2jAd^Y5MI|0u22f|Bp*%tiUVCR0srjE_0)ntaW$T_1vm<@e;ZWewx=>X^dt8k z+=r|2lQDlDB1p*xv{Gf*iLN?z;AlhdOTrxy?S>u0M|=r{q^jY`vq&U?Xv;ZA5@>q< zK?*I))uM6kC|Oe+{Ib15cM0Fu7Atx!_+@iN(T7|m+EhBCxwv6>?XeBZ>j;65hlTkM zvOkQ+U^5%*A>U@;8=m1cL~hh0H=6u~WkG+?ma@D$4fj#M0sfbs^7Qy)5g0q>1+DOp zST6y4^e7GL$AlVcQ>JCQf=!5(uT1plPW2j+)MC&M37ylfo(5HW_0jgCS7-o)1kul4 z%>(UDSMQO>^MIjW#a#p+kWPLI-wbYDso|sE0drL^1?7TW1t->+-~g$DqWdNwz>~IK z`9sf2Rnfgpg@-quK@5Y$Fv51p*%za5iG0+B;iN28Z&*B8YecX zgDt_Wmq4aW#&hl+H6-f^ac5>EUBgo+njCE;T+F8lHrH1@k)yhRwVl$#R$1#59&kB@ zg>N-Or-oU_c$vD?E}=?xGq&!(uQic}^;X#9zd4m@8V2=6sHeizfD;)llHO4xaG+}E zkpgDq$zFxOaskUKV;xk9;G5OrcA;=PnZa%J)EB=7EPP-t$br6^^9%*sn8~|n>4RX= zi`K;nTR~bSle>T#ClC1fNGoIPcdFzIoUa#>(Uv}52P}mwW_@2kX$*I#Mz(T=fRfjB z^$ttat9>&so*h6}xO4Wjbdq6gr82!F^uIQTIjPAm*9cfNz|w<3G}tyfhcP${Ka$!J z9?0%prX;B;vAPh-TdrV;Fx+(S>Uz9Ko~ML*oq=E7Ps|rCS|~7D^Qa9fMgA80;S&L+ za|bEx!dk$thFU2QoyYF?#j{h`74lg(svY?XUk(;^^o84V3%vuD#zMpn!vhv zuY!7JeaG511lzQc3%emxBgupO{I*fNQcSe4Yj#a9q{7t5lYvyRQz2C+9stph+G78R@0ybgTM`SR-RRL*Gr#xeQE9d$ zK(!|Ku%t6i*L3-JS<<{yd$S~6bg5PcY*sb@nk6a!<9Ljrm~{%4%^LHqs$uv}#)h+> z#%KS3;!E8bd`Wfd97Dk#<4$x~@`O2pdT$|({*(`ac?1Ec~0cUhtrV-E9^5W5>n0;F7M}C4ez*wJ50Ib!75=^&fqs z1z#&pD{yy0S1kMa@|x#Miwc5<5jM-C{ggJcH1Qq8=E2Lk)CIq_=wbZ-77}a$w^MKk z-G|^D$5MPP3khdtB7DCf3T|0AIW3dNFB^RBJuK~%=b)E0%py3zv zxg>a$+vvDvIsVGZcj`Bpj&RKp{bDs+b*F>eK7v2J#HDrh+*ZZek#&rZN07ph6W+@s zXrXQ#z!jl(YFYMHVKq`-!&&Jwnsl|6Zhl~=W{W$tQNq6x6~MDJKUNXXv&ul8VK!D1 zN$PT=O#QvG$J?i6u~q$4)?vW?WHHcFb=`xQMchlXdaCaFb-Mii`qYB?M;sa~x|q@Q zry|>YluB(*yi9D_CnJYup;^gA3!~H6BVsiI1!txA$-;ke6CW)oYnbG_{Y-bX9xG%qn@!)|gKiz{Et{{IN`Awx%-WTSrw9wL= zhPj^-w2!}PL5o{?jg`4lr`$N|ARP%{{h0?IuC(U-UIqE(yx;E5@$GP5Hfv^uosVnC z*S-Z+_`|b&_ZKa?@2h^6g44mnX=lE9qWB&#$p1aKJ$H~?+jS>UxT4)b!zJYLwM#-~*~caQY`&E@UOTcPTc?Rm zJM%i)RHWfMJ%HmPV*CUHpm%rJ9*jYKzok}}<+`V}Q-EUTmheE@IG`7Wlc()pf8ERT&cOD zBL2_(HMFNy3#Z0Ynsgy#Mf`91j*nco^*n!ge>lIBzhY1vqmOZPXaTRXm#E+8%qd{) zWt&MKFHYna2nV`04j_!tf(2yoKCplU2zz&r%G57B{2vd#P=V#{3lmmmw5v~*xn5<& z)(scdPH$Y8S|WoJxEPCCpauvl%&!o~ACKs3pe|nQuq1;v69D9o44K`lu83rt`~w#w zGCZ7~C5t3v6DJ=q+6NtI#U`g!e?(H1US#rsx|L?4wd7G`K+X<~q}o#tI@wE=FOk3U zHAb(nE2w{6fC{vcD)zRx{i9V|JO(3nZF@8aXIyG0QlmRa|^R=(wEq>zP^0ynX zm8bw(k0uW3mv0k-MF3O`X*g*}*6bgs+SU5uaDudo$-}Fa3ly`?PF=x&iWa^yTPyC- zaVqBRwP4Ys0Ox^`Sjo5NXP-ch;otT-R?a@Myr#XRzCD{x-my%8q}PXv!~+IdS>lrH z5-&8wH;tstJkQhL?6P>JR{NtJS8}$3H+GUi)V3Yx2hlUo zUZO|ez+C1_8)JuFRk$Wtq#2BbF_K~^3C4;Y>0n{+Q$TQjww1e)zgAT=3 zaz=wj)!y z1V7q>aG?Aim%v@PclH3)e+X+;th{Jz?Jy;u4N`OjfwPc{k{ng7X!LBQqA}zojh=&~ z*y+MQ>uf44L#s`Of2X$)g%KRDD>yaQr$TB0wOL_sRA-X^{G+YJF zhyf@vSF&tIAguDGWE=ew|Dv8dJW1GO{sZ8GS@Ms!o%r&P*k?5t;z9T)WU8+Lrj0NC>!G#J@ce58!5dg&5un}0xB4NY5*y3p1=iOF$XD$Sy*ppW zJpF;nJ8r@L62jH}XRPxI)M7b55y+x8<-En-m!#Fb^d2TS~?2fk7py4=5#@b<11Yo&` z3f)_TU(~FY7vHfQ3Aki% zj8H;|2+Eh|U43sHkjuu0a{g$Knref5y?lrCy?fn=7Iz1ZIf-HGBcuYTS>J0`HSZZD z>-oK0IE6t`2beg`hbPPxWG0t%PN_^$cd`GVV%}8G*8(@1uf%+{h+n(TQ?QTew2PRJ zX4TCM%ijIkh^11r+@a*ucMwDv>Rr~n4!95=!O>)yo5&+LlaEjpevdr%U?Ju|WMHAiox!(WI9PZ) zR4$$8sGi(xWYjnHGo0n{m7W)<5<66%-I1)M1mnrwT306r1GDJE#!Wb6>~wx096Q5Q z3WMM&MA04$Tm|o>FqMkTX&9WMwPGXxTU_P)`-m`f6BzpqNKYY4M!dG*R^4F@o+cTd zVu_n_Ik|I+Y(R)fk95~kB{*2_ zuH?b86j&D348SRs!k|%!(eCV2iLa`JXVO$1u+lW~AC_PdSXlB3R|fTO3sklMZ?g8M zMD@&}Yzo}OYQRw4>p{~N9}8Se3usz{{Ad3CVJf?INFBvW{agM5eME}ZQdZq%AV?N_ zR*ToON?@i)ysZ{FkYzU@v5SZJY$Ej*N}SqytSz48f@t!{|0(}_8OWg!2o;>8>BL$kpO2OQ1@lpz(F^PKkS+r|-U4)S!%Qvpk z<6HCW<}zVu?FKd3r*&ze+0JF|Gz@$7k?DDJj}J zZv@rkh=U(YtsS%3dl}k~|AU*oJl#Bh1AYW1PnQ>cSceo7J@cWXhGdl_N(=_K#7Q^@yl8XR+y+W_2){HR!JI9k~Dn2{nIPzJl&TP5<-a_a+zsF193)= z9(v6FlD2L$XIv!TK$4Z%G^&QQe91=GWC3Os?My|KrB8c<`mR0p^GRBw#$ z%Nh*icjS&@sORn!ZK5WT@PdBU%jPU$%}Z~L@(S{sG+*tl7o@G>KLb|@&3P${ELWP~ zOhgyht18k~n(1@=sb%54$C>2fkp!t1knRP(!tJw%Q-K$Y4Vw|e<}}%~iarP${uf?| z_#H{U3@ooG6InrCVy@g|Fs-mGJGc}!4J?l6YLCV%krr9s(B z7-7ReQk0_`$-7LBS=6dID4l2l_1P;di&xLg!l_x_j-|ws{X{Nl8(WagG#ENZLpbz0 z&B>v2Bm)e+E|2rG2gvk)W<2_m>D8zvKFH_CPR{OSJStxoLS;}_*nsL+shF5T>}>L% zAy9M&JGm}P@bUixsbT`xjM*5}{|MAUGjH*RA`{fl=N&qM`b{xFhObn0l}!}IH^O>C zJHy(6eJlp!VLB~6^ol%Q1F1I^MGu?VCTLK!LHuB^C`it-gW|%L<^iMXX8;r-eGNV7 z5#KBHh{yD#l6&C7p&N{o48pXT-{2(Sy*AX2i=!Fe4WIN|Zzc%k{G{`CqokHvrUr z69pp${Yp<#EDV|+)_ABuX)3N3fUE~Thyc)6nodg!?AO$*70I=z6}D~(>K6UHnp{M) zi>Y6jQdESQ{N5eL5CEApP1Ueh0*+A=51-HmqbwHyI;|qiciS&Thns4C8!P#cp?ygi zocgK~lambsjT7sHYWq}Btk;hjP81ozxC2u;miVVk zw55u~WNAwmCcea($m&7471=LYt~;~g2NhCJFn3pp(1dVrA^6lgV35(U#_W6 zB`5-)2vby+XX@XAxdmA!yK2sk4(c~pYNHA^6p+|9{jz6Q|SCeTB;|QMe^ImKtwZKAI~n- zy5P=J1Ty0o9T#t7D091JdOesb)7V`=J>eJ{<|^Xv?T1@2x_2^0RoKk^EVb&-J6Xtz z&|rf*{|`t?7R&>SuvZM3*igR~)Jqmk9qudD;XWA1{@T^+fzZ?{?P{Yx17sKr&jT68 zmh-(YjE#^L9gO|Xms3~L>QJ7$i?9BGdP?EkZoVTaxvhR#tZ)4a|8$B%mAxt)W9P%D za7=n67>MFN^ec1ODJSl*KQ%1%YP1cGx5%*|!C88#Ptv{`FNkncb;VNR{3a^dF6fHi zm;V;{Bi7R&vHNf7=Qd3irm%*U$D6ncn5jCtJTVr3Nan2G#_K7TTuf!?d74%0N3^;- zI4+VHwlzXkeb_%_U1)JL$dh6A$aRzb2lX^Gd$hXq`Ib^}z0u=6TB4XWb9_%TnvX27 z`h$_e&)qahB~CGe3sxJa`SNwnaM=tLJ!-8u#LzRcG(HkaTq-LlA5vS$x$gh4Qjp8` z2xuhF?vPbZ_x=P+Vam&dqVMwWK~tb~0l%y=Zl*8oWk>&+Ij(H(@4k4o?Fdl4?ibJw zSf?Hc_ymqwM&t#82*lzaRKAJ)P6U%-ti8i3W82MmR8hn(T+q-T zEHMeNU~%$wJlxnWmMUec=9bq?#-=rfF>st(2PfU``N2AHGCz`yO$J-cyyL8Bxf#DE z4uBeT!2QO zDsRTr$#s={h0=2~Dg9wec>7GZ8*QahEXtcR^4xL06cHhMCY-`ChW0q^ehUS~PYg4% z9#c-e+YhVC*yfya=A=R7lOGhGxQr5L$e+&J|BTWaqy68zO|J3?~oX5x_T3yj}$^ zQaFKu!ghK88^2%?MoyKIC~hW^aRRYQI1V&i85lM)8g`b|7;EZ!YZIoeKnX( zgI2q5uyRC;NZ@LUq!tCHtfZd(=B${6O#zT(@lvC)h-*MR@spN97%O0EHf3$XEA+?*JE z1S?q+mj$_FvpZJqA@DFew(*@M!8b~8%Rx+78r<56(ICFG=#?8+DPI21(C;{TP(hTN z8RHZ;KW9lQ#v>m23$&*zvyTWZ*PL(C@;Uy)lLyp9q)B1G0u9&+h5${2MX3fW9Rg9( z=VrkKXRX{E_Cu;Z+KAwX39-Yv=zPGS>!>cOb;#${it^((jZoc6DW(=SYVCesO`zv7 z2y=r)8+}sY$9$;GuM8IL!Hi>oNF|5}+~C%U-UP7MKarCqK>PwVZdgUpH87Kg?~nz^ zZj?IJ-6Txv9+JX6b5Jv(j*KU2vRtLc4W{$j6YQAtEA4YF z0IQ1mKfb(Xif6UPFPq=w>ZUOrK1dMKFY)gOh0K+u2mU%QFU?#lvUi58HP_`$ zq>GDw*fY1!_0KldPUqQXS+nf}$mUz3t$=!I+Y-8%&jEQ7gTu{-P-tG>GnG3umAg0; z#yr#^2DiaKTm3Kb+*kcwh|HS6Td4m}Rt*Svm>l9O(y)+(ll0X?{Ip9DJktEU6 zoqm={CANT)jy$aIW)1A3?P^W=%9X0|HEQ(s!X}IpnlL_2F`KxBGG%nkfy`_NQM-Sy z@}ILk>FMTY*a|8$9aX0iDnDXcoYo#J8igRGX@aJ0{{Kuf)vk*7pRktx>AE5=xUldnxyTF_-+HA91wf6+K|F0CxhW~;1 zd*;}}`%LRB)r9aiacuw_+o@+AwK1I;EAq=_u<%)S=~#c=2^_hndU$`=H$(XtxG-p7 z@@2^REdY*Zf?J;vOlbVZIY8OnoQqBqnFb5^D>;3}%n{+>|_qfI6U@C^?N)yES zyNOSFw=F2CQWFee#aTu`1>tZN7_)s=W{C(e(b3R>K}OXkI-`M9#5@pSMkb#8UV*;d z5jsd=$h%*8`4rma^{|*v?t+zO1way2ixyZt%)%t| z*X%NBYjNdvKBi4#wn57?wKKsQQPAcldW>ZD=9WrtYe5ze-9f?IgGJXOktY9a zgT4TWG&)SHK09RNcE9p)$VptlIwSk6^@aDlJu#?PA%+V!7_mG;Dc8IrvyWjZ;a{nl zJ#FG$ov@CoBI@{?_g7=Y0bB=|z^<_xc`}3u0D_crlvuoR7k80b6%l0&>u!dXZ{*QX z$-0)V-pq?|Gi;4Mj(Z`D=~%z-Pm8o|b3q{_A+q}g98W%oJBe?L-C`TWJ_p;@QKTw` z>9$i|a-}MGMW1B6t76+|>Kd5erVs{NhC^!ks5S=?tKn5%E7`W;doZ<=m#Hh%f*8JB zq0GxlOrH%b7(Z2OD_EOk3fzml2OW7MrhQicORXVr|Dbw6IRdcSCU?~wPqkKV&NcK0s^`hQJ@&E+R8YLIxgYvEEh;^W!?b>Gnm!@c z^z6u&W_Ko+?*P`cKdKZc6u&L*bSs}S5+!Ezb0ZEYp6!xHsWiCM(HCT5(8c<&$ItQm z{067^h*+|6q+EGfaEuYy6gPgsliv)nfxX|?@XriZq=iLQ+(;z$>Bq95LyOiRyudfe z1m5m5!3rQ!7KX50QktwrxKr3Jv>mp~w}*UUxE6^Y-y2rsHxQEVL4q!8H1f6lojZDN z-FC zE0coxI0gCbG_9`)wCZd4+y;al!JzygTsGm;i`G7436t^ zyADgOm%bvdy?PYb{4Hr7wr#y&ONBh^cK`6a+QWusWUxtT?zsN1b$`}Emb@15Q}ru) zp(!91O(BedV*XLAYThMN>sG}5^%|4$gb4-o!Q!f|lV*2OmswFkl5!nACM5|b2hob| z$G~VyBiJD^pYPXFX8o5^|ALzaV6PKi@usRhCG4ndyPMxpD;vUA9z8qVinhk2C-&73 zn)F?e-67At=bf$(=t11-?hfm|JY9F!o$h;QB6IdkUg*W*W%%>u6ML+Pgh2r>5)e#^9r zBxe1Aer&UFTqJg{Uf#B2^p{D!t?a}jPs~Z?EDp~H(eI#mMvE#=lnj7vnA7wfO4k}_ zF6Jhj(O{lh)tye*RWJt+WSO?}o-(%}E%Wn^eq?9iY6~jY;#>UzujsZ+CS6g2c%jEF zR`+P7vr^KGWW!3ti>a*D1s_s)p0;M~1_##nsZtw|@TSTY9=Dm)G5xBXd;=nk!EKw= zaK4c00hZvdRVG@?Fmj+ut25f^Q+zE}Ozmrnj~=l>f1^FB364oQ}k z>R=_u*QYA0Kh(L$1V*86qm@Kxup|5{l;cf433B~?i{4>qKsWcgE^=`-wt&LbvoF+f zb`({Ao~9yukDV~TFMk2h^7t6+U;ICF11ZIijX|Ge3|hJAYV-_nEbD|oLRbNXLAB@t zN!QNR$YGk`>i%w}oytWw@jox%6G=MMTg}EEzn=oJ&hoztcA*jtJ!kpB(c0klzXDXS z@Q?hG@S3_sMm*^`O&px|dT@KarQhV!5dyh`j8pfyJlH)<=0-qI)$^5v+Ac3@=g5A0 ztf++p{B7k$uLk!u$BJGm34R%#+z%QKqOJzwGW?LgDO|-G@5oobg)oA*uY$Yx=;K)m zVwD!TQl6pj;Lgn6Y%kBy5otZ%^nY^jSMxco|3}?le7PQB4Uba!*7)`m`E0S3+uf^N z#9i;pnUO5zi8?l;T(_&Vaw*X;<*s>NAMJgdE+?zTZFHQt_G4mkX1DhZ;xYNW-vntO zRf98iXY%?Ud6f6=A(BA8JH ztTA_7yrTkKvtVGJmnAxq{KvO?Es@Hf5s!yJRvEGzFt{&v?MQ{Jzc$u5p!&Swc#htH zMZCL7B1CR1o|7+`!Q=`36zFHPdvll~59)Hm5r9k6UkV;Qe_(y*;OX^y221A5n$E}L zgS$)f^J_=x*dyBwgyq|W*xZ`+}Bibbk))D#QxcdDN6`Cx~wL-97uzV213(0a_$JecrCVT?YL^N8mc zUn3(GB3UZl&*$Rn?1}0(ZO#D1(@KU*4{Oq{)@b!PMA@+XV9BL9Y2+|cM5@m*6oLpa zb?HDu%=nOq;u!;TU^o8LSvS6^M&JI18n=jx7uneRUbMOOyb;l~S1*o~G{Q{? zz9;k|V!ha{UaueNd+{=VrDZ;^_ud^)lseoNJ5!d<7T0l-(C_)fzk&ZGd)3g>wT9~r z?!$p|pTMc-#dob>fVur-WtO`MDb+7MDO*A$A)NA3Jzcu;(wDYweMf^_S0sog0Fn5zm`$3V zf`#vS(!K zvX&QI7owFc{a3uf%TB!@8eX9dkrqXJK`tyrSm<6idl;YICjID7-&5<=n^>h@Clxih z`z=dF2#X%y=~EHjrf#_;k^eNMJ{=eL@@TBQ`7IU&g$Wr(W+dKXo``R}B{*>m0udtZ zXnrSZ+Yj};Kv!`_-KRtarRFm)qqqFUR0CppAOp99E6EBVO;I>Xo#lzzR*=89BJMmt z=5ui#!68Qr39t4k^d%oBVCrQGslyY@JHl9t{2AW8|MJk*JNA4!x`?3m#Q` zF5cJZ-8FBDlpds4ck`xwS^I>P=92h|lIG4F$}KB7Xhq4*odN&OOAK460Vns(n@;Cn zX(Hz^k|kFu&m{f@kFF}=R+;9Fk&=T}mfXBi6_&=IY2K7mdeAdBZ&Ed-iNW`%8lOS+ zoSztW5XsrAZr=2J{!xE?!XvT9@yMnV_QZgow3A_>;KF>+2bi&q3gJ17dAD- z^-K1H{OujY5_N8DxKNQZ^(}0 zx0lB+qv7VdW!6A}+bCXahIU=LMjNzz5_0}&9l@d>qb!;Uk5j69oel2Mk8hO$(+NJd0(82f`(ZGxm*(zf+#wq9f{kE9$1%_R^x3 zAh8yC7|(BN9p3h?bx|_=^CzyU$nM}_DV_ni^iOPMfL1IfS6(<@rK3H^`!tG9d6O49 z8l6VBuju3jEJvqlzH0Mhb*yNG=Ib!=hWu^`@ zFW_TvVz><>dYU17-Ldp^OuwLE6@MGg#}F6Xxd1C2K^7_!SLV-%5wChCq5LWcT$|!g zam+jU&)YTODRrd7IKs7 zWW+HUeD_4ZYqQ$`>Sl#BaMLh7cIO zMGI*BWi3h@eC>l%wI-X{O`5Lp8nFExBj6!fNsaEXCjKu^&OwGZ*gU{Mn5@!-6vYAM z`){jKt6%q(Yk^MSytCCm6BcmVAlJ!DMPp8WN%O~Pm#vcex4h3*!!D3Pv69`dtHP2I z%iJU6r?pG5ZPw<`fb(pQXqaU7-~?S z5Uy&+or+GJ+jd~iTKZj4v-zULm%r^)Fito4m6U=)XesLPeg-u`Dk30Qp#_j6tH zHGyNKaZ0|sM|lYCg}vmP zuD85=(;w)NZ_XWM!N9LVCKkR}*+1MK$~4&5THKhI?2V=*;ym>gPpeD#3qTnnPHKMa zr+?+TKdkrd-SxI_PyIP-yj7#7TirWIpC$?#aXq)n014Z>*xKuM7ySF}HI9{ZS@#9N z8*nUbhB8%V^PS7LDcT9GX07EtCwqz-@kV~C_PZV4M9EJ+N~|zb^gEw zb%Ph&Fd(~jpzO(YXQmN_*bmFtASo?*HwTSnHx`(4HyfC}?tu`^+>f#cx+DPK!=q_* zZSK39cCbtp0_YDO^i_8)-4DJ{zD%nRH@_>@K105QJ)#OP?v!vDG;D|cX;?ZhmYf(Y z>m9?8(A=yYRGD`qFt;N036?=`p#duMoLx;vfTNPiI7=ZT3x{zp{)3* z`0T{|VGB7<^aq}I5@qm)w+1ui&mTak8RjiHO?4<%Ua=NqJ&YHx{08YNA zy#E*l_7NvP_eIai=l@y$S-EgIRs~sRmVB8z9&}wn0$4$v;_K(RY2$LTM(rB4&pfEr z@hdJl1aL4v#zx^+C)ud8CIv znPuF0i`#_?OSjV8d~QGYCZ94m`5ucHNuaCbbChupeo-oNY05s4q1(IL*O(svHO;_d zF3MnxE4PG$$m-MLzKm)SGK10ZenB^qzu`!w^*zs@eEk+O-d%s5soQ6${?j-MPD!!d zFWVyuw6XckN2Y6kEzj4!iodDad+?+BV~t;nHJ+P%@1mTn#r2;kJT*?2z?X@}Exp^9&g||g*9}nz*B**pF(X}g*>fR$OKWzE`=645x`DI~ z(eeC9tPwJv8>v6He_gIS{E9upgYFAzO3?V*nQ@fkB7vc)!$3qK-R=~3(I8$ z!wq?hiE#DQU^?^kaDIqGcJ`Blv)sr-xeb%_j1}1QeQhasUMfA*t_Q-lm0^>#5Uwn) z=Eu)ka;4k=<$cUAk)q!ne6ZFCdq-`|m0U;kAuUvS=n>M9TU@)(WJO8T03)uDw9GwB zlGt~i#fJ7NBi(P78;0DW2M^2|wQAHZPZHY?!b9H-U_#wthw#Si&T|h1)FI8w{UUrC z>F(AOxO)8{co95ZQC5d}gPksOU~7T<4|2o%5415EaV4+?t+}v;uk=sT;UT9{LH#o9 zYut4c-p^n$Hg@$~!Flt$4m4+=%^!7V3A+|QZ05Y+{T7eGl8cB=eRafQRYThG4%E^; z{jj?4YL3($8h>%+UIJ7TSUYiJ5Qe}`T#O-X_Mj1a2v6;cvC&3rS@02yMa|Axd~eM;-D54HZY-Nh#Q6qCo-V*V-4T6lD(!aP82gA*PCo z0ke`{AW@q;_46@J@mVnO9XPAr0WwOl~rxwZaYO&T`Fj| z)UTklg34C1BWuCPWNl;55@#=M>nV2ZD!s@7*aA8r_tOJe=BQCgm1|U--Vt$~JXS(& zd_aauV6N1jK27p`vc9DPg0 zx2S*SLi4*EEi^v3hZ}Q{)|!8s6~`5ZFE%{Kg)a+$%?%G7O4A;ciSPX^m-O7RGe(wyB&WrEbLy-fVMxF^Nk+)gt=e1 zKDhN%?V0lUMsVwK;p1z;tzX~~@@As&)1gUX!5`k}P4dYI*;4X|X3WmnzoVHQ%p10q zd&=)uYL)h!7xOWkN1s{!@5tze4V6IZx;Ns3ZhWo7{lZo3TC#S zzE2Q2?SPF&na^_EGLEuwKRLHYg(BQtyM?O_XcE6;XMDds!b4~&DuGVdVEqoUxEDOB zm;j=>ohBOox3~I8FKM*LP%jai`R>{s`%vx&+O=?-HDYsZhtTXI*YZeQjf(t1x}P;- zWPpnNuPL-VG0sbgb^!`i)FC+bA^35%%D*f4ZRvyHD-vTk9D5EFkG%CY{S-p)A6$P# z-7vje5Mh>{HZ~%+&1a1Cv4(11K;>8QaN3IN53L)_-%jNa7gH(D8}d7kbjALtmLKF= z{-PP!3eCD*DThl$xN3I2CLSGIA$#wHCYVUeoUik{I^I6}0&={_|2Fr#)uCLz!QJTx zRpT)0I3|G6iw&bLti=={{T>y;J$RZ(ucb?S7&`3K>S}x~U5|Ns)rL6IJ<#{eFKd{{0O#boq0DM7L(T76 zk)Z&3ecba`?iQ}!2hiHU)!nMhdG{PTlHs&f?j(Sum>9J`bPf1z#9N4pQTxMK4Tt-N z)NjWi9Z^Zv(p}H@%kno|-pFUZ#M|6gnPvZB4SxQOWaf;(l^ArdDgXZc(gpinZ23VyY&20W${Yb0S$G=1LFG#Zcd$U2bfe zQ6Nx%({@L$JL-Fo>HzWE4tJ>%`i)3~*cxx=Qz@vNCY*zU{y=mEzC5`8B@@hQW z-R10R`tiIiHJ*EnQoIKW<2jlAtg+GJV9Bn_r-Y;Wh1?Px1a2IZn|v4>sTXkro~8QSnM6I#z)mW2o~SLVlXry8!u>2yd26)IqIZO8Yj`IL`w#{ zjdaT9YRJyzAK&c?QqX1iCk}Rp@fFkO;IvVb(}voK&7cPOHOn`8vOFx%zzbLjkmagh z;LW@I%35LGw3v#R)}Q1O~|;vE*+z_JpO#i#4>I&4h4;ZQpCd?v7p{kjs)GEq6Sii88fYuY%KjGtE)qJJs|s6(%I)- zpUNs`|1x&2bhTZtFl13%|Gd!pI$OgsoNJs{@GLrWyaeikrEI7M>?N}gHn z_C1UH(`|IW*Gj?mlm;Wu-I&cx!oZKT|2BexOqr4YkF;}vud+D)enJAK8az>;rV5H0 z6}&;JR3fNE5jZiaWHOP-4Ws}^pr)Hab`EKZu~Lv zptsD@baX{}Iyx8gPcTL_fPfw{>)$GsYBgul64Phc@4L_hfg5SDm+w}_o_w`3;a~>u zT$OyjAK4B%7#bJ+NX}+bAl*8vHQ}ztF&Y_QK|CPz<2*t3d$68RKBiJ!U1eN-%@^+& zYvDN)xhBS*ywi4!Dg2ZqG!-QkI!mQGLfR(VG6lcyi4-ok-AA$M*TL82jhpkTS}rb* z-7=?o$X=T~8Q|#MiT9{r5uM8V>FNw!_0<(Yne>CMM(T<{=DGaDSu?0fd{dM7{(7yy zBo?;zmmXF<au4EI~ROz-03q4~SXrvq)zyfZPpX z$(+T)SWf+gAuGhLJ=RA)xbNrtp8Qqm*PAP7I$i-p6`VyV5C#ge!GSsSCVC3+K!9QH zc4jTg4P&4;?LbY2t}bk?p>-e81BTHO;B{XybXspo&oGK^scu}88+#HS^!wY=Z1`i? zP#qp&L)IzYc1JTvqW0WL6^TXR={tVBNd)>dxnhXP70ox6oB{o{gN6U)?VFsTR z^S*SJl$==8lX#LOPtJ(9JW(^|7UQXeV=opv-T;f+RU6`D$+>K5;u zl2TEXSFsbka*L7PvL`W7vZdcW#9m#?7!;e{msYHM^f8k3!aVML(n!yh=k~P0NscLI zinA5`AME56lls6&9tE5GsTeNlW10Mw(>G2j@Wdqq(YSlFK;ql9_cy8 zc=^;WtVh97;-p~#Gv7^Q2MEY*ti8E{%w2`TV$b>lh>1B5zdI{@!4%50$>hl=Leo6} z|Jf%4?Tv(=Cytx$-*|!eyltywihailtAg;<2dKW1ns{O@-e(>$S43AaR4&M=|9N_- zw8Fq*jfotk<922HoyN%(8YdT$pH0|}71nSW9gf51AwZC01<^N=c|v*rraeI&MoV4z zL9$0EUo}q1+45_RliMcD(D;~~9v@=T^!T`d@uAcVk?~>78E=_V9B*#QJS?F8F!8Jb ziiBS5flP6#!5!2_7VW?^C_g>f{LNY|4qoe)!uno5TS`MMHy5a)4X;%&pbD_!woC3h zN3j~RN0PO~9%tFN>m z_pnrmjLjXAZ~C&g-jp|fl{-#Yq)2G`wO(0INBToFVrUADU^B z{xJF3Q)@HjU-^lZ=r6d{G);!5Gl!EU1gpTqtew?HrVOdK2tqMC-ij5h&=~DUN*NPH z^rjx(&O_-_6N5t6+r2`2++i>HBK1L$mi>H4%{kmxv#{5fLbyEKvM0T^$*4gEVghu( z*(l|VD}~*!|En2M=gWwa`k(-qkAO_EFE{WjW)`Hde!eZb#-?>wi}X}cWpK9DmlcT{ zJ(BW|^`_x=vqy4Qd~2RROJ_0b-_$)&ezGQ>*fi5%+f6>wQ`;LTf z>JQ1pDnJ5sA`Gye^?8p6QAh00Ka@YN6u)aK-o8=>TcCWVSpo-z22eo-0&Jwar^Kws z$*B(CZI*Sz1?ucZ|MGOx;a0deffu_M&8LkH+U(Bmk62?A0T=hLloO$93!U>#^IL_E z?v96jD30Kpw0Z63v8TYv#aXKNu$<=vf9t2^ooo)=0p1byuV8g#E9%}C16(CF5jlWnQ zp%$@T$VaD~+`8DEvH=V;{2#V!K6&jvm=1<7@Yi$G0sK$_#Nn4hBc@LHE{;EwjYYL# zQJKa9ORu^6+ODFTMidM7%=((U|EN8D4PiAMz;~^jMPdKf zbCasi#&NGBHLy&DNG_x=BKD7mXX&#cJpO)8>K>lNknDah6=c!tk>@+27o#TjBw~Uv zqXo(DR#0t6{r!<%gzzroCIxTMUTORG8WdG8GG^eP(cVJ@`E}Ud&3X~GH;tQAd!9bW z-Y4&Im!>yI^c)h+qZWy!+Zv!qPBRX z=GQj#&~TpAly+QD=sFX4rXco)5al3Q8{CO!Etaz+6oxEMV zVg~;;GZ%N*znAJoNbhsFNzp6d_mhD!i=U={yv6<` z0l`yF4wam=d>ChnPPkGP&||U3D2JT^roSv^gn!LG*3jOx^?gO1&9~6mrwR5IR@XLO&c6Foy) zIG)kreV&uBp~oiPIYsCRHTc@}Uat+e<42!~JfmlDX35nNng6{)ist(sE2_for|4X% zkvZlGp%828BP$6E{t*;1tI2d#*Tt}mHGM0pgnf1Z^P;}{gomiEGT~79G2zy`9btJ) zIn{O@@DC_P<-D+E`93N8@SudM%EQ_4TD4DA2Z*;F@_ti*?6T z&j)<0W^(!#ymavg1 zP}R4F-?678Cn5||^H2E;k`2jI`Qz5GGso6Dz5L7U08aFdP#?z{q(9yGBG$A`l=SaC z?n%EE#MJ7cK_S_*LI2PnL7|tekV(opJv`~3Rk^S~{y?mW`opi6^twD3gZ0S~`M9HI zvHfHyMJ*)(tNo-T2(k|JmV0df4P@oJm<_-aXRRa$0fm)cka2l-Nf9@e)L}yGEwsqG z?P5<=cC(`?ZkdHoWpB&jAdpBG(VYe>uD`HkA9Ei%^3hw4Y&Hl&Z&^-tJa#3z-yu3>tDTeKN}kR}!s2oB0N8%eEQ ztQ91AEFhnIOdG}U^A)rfrssc5HuRY^{>DG%<_g>}?obcmX(<$*dDPmkQTu)T%kmUs z-05Eq4DlhT0a$mp)4PQsCek>79ACPW0EFX!C>Sr}c!qE>d9RgPd~N0U+JYk+3*6ZR zW83J(D>>KwSmvM4pRgPhYd9DEKt?V0>-%nrt(uL|W`0@sGk1p49>3(>d=`#R5-OB8 ze#1dn^9pEsnw%+J3;>{Et5am^Rr#7)_j-fbQ_-#=x8Kanrp8rSBQas;CS z+GV&+Y$QNk?!v(Z^6lXnIw2oB@jI#1>U_&$aoCGO^D_y6F2X~*^f$3JKaPt&WSM`z zr7sAlV!abq2qHW#;{cZ7r17|FXWaK|Ez(07=WALH&WTO`@wTeMr)wE@{p6CXv^i`f zgh}t7oc(I)3IOh~mqgBIl(J&$AEB`5T6YSl9mVf>pS7~mXsCnzggUuBJn zw_-Y1C_q=Is|~F3enVu!KF4w&eUvO%ZXcL=$1TWaSLX3OcEO#vvsvO<@OtQ{( zCx}+u561EB{p{`t9@T&fKD^IrnlHwquJ!C{8!dllda-E%ANZfSmc*{M)7v+*ilnSI zOe_nv;)ScajyUu#s2Qi6tTm*O;8NY}7eeF^5!Q0RUKTg$B225w=EDeFu@@WPM$Zxw zBE*{Z(E}<2^ES8i!#pPEp(WF1RmZCEM2c>GgLIN#x+m;yPu^C=j$J02#gh)7yU?(V z8?85obXyJGE)?BX0tcj7&OHmQczt5mo==NbJb4CJ$Uh-QD^!;TR*jxlMKaA>=Lp;? zK)rQ#-z9YuVo%nUTvbzcY(e?cdr)_E;#Il(uZ&f$ttrDx7pt73D3!$8*prK@6K}cK z{w6ZADn;+juRBK@wa%b(pt7s{FrfBaw=J`n_>fm^ZWCfSPAch&c~hy-<(Tyz635K6BsVI*|HtI~0!k?<5tj znI}nPTX9lHce=kwX-`R%R?O%?qCBdaBvBr+;po$-ipqapsxOcz?BAmdTdzpova>B| zbfx;15yiur*`NQV|lIS5(oHAA<@a&?kL zi+zUw#7@!@jo#x%NG{c{2&nNwq#NWeXdY(q9y-4X#`n^9gDPc3h5m9EzZ^ChYg)zj z0x^DZd&a+QzBMhz@BLMj@h^T@FFIxX)9t&E@n_$s!p3EL8_dS|yBIEQu7`n7^X^CX ztnpPG`tlB< zrNRA*07G549t_17OI``cKF|G)G8N4u3M!{9j!iE%Auzl+9z;m7N-xa%Y9td09IR*9 zbQGuh+hiTz$e+Ema%zPb68M0lP^7)mQSeKc?TASj=bzu~YE z%?Fd|q|N;dTMV_3#lfK^%-9^2+%yb!uV%Ulk>HRgkSXpviP>5o zaRMuoPpE44CnRoZbE}w$N|$04R}$k-LXoL71JmXAAZQq0&zyp)vSsx!_X>9s5T(Y~ zXU0*_YGAwRzXccsPN3bLPB#a`<#5lv;S_O>0Tzyw+pvCvk@6q=#74?jTnetF9%-w? zN_+5`dxziTyQB-5X^sATgT5xI#!GNQ3akz8n#JI=I{7FC)A~Q}r8`0L($(&CN+f6S zJ|L>-If7>atbT~O{^6(snuJSuE-|x zrQ7k2KytOYw^=Ph+KZS&Z}PR|^NA0E^{l9sTdg=Zk1Eh{@5Y|-+HcXbdRyG`RmB!P z{DP)So@wM1!Ey8WB{6es`e4=P*TAlyLs76_7rn~_A#hM(QY4T@< zL%-hKdT%f;UIeNf_azY`t^=v=}ZzStb62`0ad1y8AWtB`uPR zSqOdF@cPIGE~ZrM$!~$pUHE${>#xdGDBiq{M|znl`yid{&O7%hbETI*-kyzeB8v%b zLN_x@&r0#zC-<5_GW)v9zr?;aKKtG6_UdP1!vl$B_Q0=T1TZnX-YYfO7`P(+aUm2~ zl|DNN>x1)(e6R)H1?X$=C?4MDfsQV1kBp2C@1J=Q;)})Qk4}Mls0a0O!E=`ts5?IZ zwe2Em8Nc42!pjeM zi4$~JJxeni{409N3&5AD-A50=Wy~IaUMNYd;$(KG*%LbUWn}NRfKan`|1wKzcinb+qJU!Q{#t1z>`a^`C%XkSrU(vI6 z^z`39p7s6B>>5e+$F2VR20d&4eRHpR-Y5H};SoV?xvda%B4335|8*JbSBZ_O^3N~o zu>AczPK_7vKOiamQILhdu~71lR2jgV*cfn?fsoLPP=5*N6@6c&CZq3teLvM>gO~QY ze?fc0g7)aXb)G*P?xak6de|zxc=~&!LC5c#yFZ@A|9hm?OR4`>U;p-c*1mq|&HLn| z4+Z|+%vBF9-?&={DV3oUfa*U z_v6VsubE@s!neVP0TpdK=APah@q+I}NN#hE#GQlz!cJ-h^GOHtPyFY(<*v6oqF45+ z&eN>2fyUXXA$JJfzykyV`CI+VqXWFYxY=F}PT{hP$7P@D=B~w`^hD8NL!{(7M0YT; zfKBd%Y7oq0fgdu1KeFI~-UBm4HPLjgr-2b`dLl~yo0zQBDR+wyz{=_Nc7Id4P@6m7 z3e`0P2we3aL*SAW0;g=U2d6P)h^x0OPJM&2mk`7Z9fpJ3(0?Hfn!EP`C7~!Ml4i(a z_Yy2+SH7qIihR~>U-w75V%kdS3FJLU%k>}8a|5j_-R*CRJib3|JXshPR;=3Wt^vVU+F>D$746zgH+a1Vb zmUjJ)CU=*w?G$LcCk6wwIF8(Kqyj~O|IGE(bevc?ZFR%WrAx#5nhSfx6NNM<{r%1Q zwsDCsO<^DZY#E@#4Da0lPp0B^I^qW@v~Ew|^pq4Ldw4`HmQ9HJq-)~!#A}VKwjsY* zZrx8NOj}%kYU7+@CCY0a+GAWYA2}&Ki5GP{C0?H}``@t%vy1t!FV0~`xj1;Pu;f71hhhsjF88C+8Lv!n2C!J@* zKP$>=3nni>S*0IGbxpjISk(Bb^<(|<6Q-@FyIz?v`+K_U%kH^r)Lm8}q5Mfv*5Zn^b;60`hZsvk^$upGA)`z7?ZK3X7?bu_O31@$U$}|5Ll2;-C5+ zB|;>;eWRgxaD3YGx*bvj{N_K|(_Pa&ViKP2EoL1e+F!;7QTj5TGA4K!MZuN%?u|VQ zr77)!d7Y1=;Z`$-BHN(%q_JX?$K)7WH?hzsWwE4V=m@hgvs&l5Dx9vV@gL5o?b=Ix z8Xo!K)t0lXgv1(_DTlLQ%p4x~saUWGCkm0Cwd`jo-f9k5X zuKn)W?Z3nNDea#bX}>)^6Q8=1wyyq%FUg{#)@P|d_lN8M$Q3-JlyUW2qF+sR{l&ii zdtXY^uLJl$a=o74s`^)7oCW{WFB<&iTdMz{cekqkmhAe+`ubPl3HA0&NBo>vK{wr|5Uhu>3Z}`FY9rVwq zuFuX}HGXO?%IcqDkKes`K7W9IAGyPRv{m)5zA&r)r(f{>zoq)utlFynY00jCtgn9+ z25ks`fjj=QPU(v`N*RSZ;u4nJnjVuY^T`3se#3NtzzS~Ny7_pFn)|ly5PR|hVkqY3 z+AHl-V8wTS`TB~A+`jc6yM_koJoAT5-83*Z?HS(UV$E$_xnk(p*fiU(5Uf2=LznV} zm0}?D&`+N&vfmZ%u4U5T=a;iPTYlXS^jN}>g+t4(BF||bVix<#UD?ywdQ)@Gk?SkY z$n6_zdPK#wB(l(|Yjc;d&M6(~DXXW#1ZsY;A7@XwRZW!$bw!(h+;dkO3b7~i^yNoZ z(|fIb!uezUJk~B$U+l>vA;g?qG|FwuV^8H*te@AnZdJIr5=D+!3{$peV^*b+YuZyz z&BVJ1^q0>s#BW==I-Rl7O?wWvryXx>C7xW~u0*X$D1acCH(PrBf>asb=9j-!M zqWWhxfXS=1d=zwxn>l&yW)TnV5r_W~eCV1NWT+g0ezfVu9Vld(U)*1q_Nx-fXY{1H zrR&aMqeYLzLd&x|Q;(Spd)(`l15@3y=A*I=Z0Sz>OXJ+%nstA3#{KuP-(=lqzTc4X z-j;Bw^is|1W#7jrn=v0JZ@W7~|15AYjIcq(EG1n_3zmz9IYUj ze+%5GZ+`gwLAb|Ne+SABkw(Y5*3}$XVMiJ<&*oM zUPiu8?z2Ag{?B)1-cQPGFL}t*8SkzAJ+JcZPateJi=XWMK?*+tzE0mOhNS)bAQp}t zqe$qM-s>1V5*}9NFomro<`ezaF!q?1gZISoQ@T9BE8e_q9P4Vkcsop> zpA*PUFEh9GZ~qj?Rp@XYD{N^x{F36n!XuSeD zoWWF(ro)4j@N{^`7rQQ?=jCT-(DPY)o17pj9ge0Q@#cj7jp){mc3eYvue&hEG_Mod zv&oGNU2lNGC#>DO<+)b$Xz_`d`61GfWbw&yX+FXKl%92A@?Ju_z~i%6_^68WP=3;Q zpOV6RCBeAx(Y@|m6!3_AN%<=owH>4Luyxv~_UOFu2fEkX)gGIBAF+~EAvPb74I>Mi z<5SoO-Yk4RcoTdEdpH+{_}q>QB8|_^DSV22xx3wMne&H_??)a7@Cku1v?QF^4*4&-XD46W_{KIQp*4YAzbKP<=7T#9TT7O?_oIWJSBb$NuvO&)~jJ#?;fPcW)p0?PkM zd|e$3b_GgSV|1a5A@b|dG6{#}@8pvIfwna*`3JY|G{e(%bXO!oNZ18+JBzTNRMn2g zTNqNdI`^a2x0HWsRpLDcnEJTrX=BCeGIb>^^U-uw8p6`z{m_iwU|4=zM zmqO~q=Q0Y9PZd7M7rvfedvs}rfclBOF*mLI0}6Ab_k#6|nF9q}Vv`~5mEN9s;^Z9E zE{?gb+fF8Qb_M|k#)_H5YO>Ol9I!E!mr36Cz8Rpc1qzSH?f9qkrFT!J=PuzT{u$Fj z`?sJ1rrRI)w)ISQ`+p-}NvI#t{yj+FG#wvLwJ-nJ54ErP%qt`vnT$*%`3x)p5SwQE zLuyH~CEw}n&$_r96`cbAE^p{Tq{(KZvIh<69RX6<~_VMS(v`l_DC$0C?ZaZ!972A@s54EQ%QTPp7Pky}YZR7+T`v`)W z)J;v-@~IEgig9K0r~7Ck?Pn+u*-VHOrfpURHhqU8oz}mfuYVg5Mlk23>iv_i*I{tiZL10`F<&;l`iNdn zv#!qP@1^)T>JNVj-T#N+9}H#)MHaV@Glmb> zE0fo;h#Z-}lasRU&&|A#a~6#1NggphLt2FRDW4ko!2G5~+uIjxYbhpty1>1=%6lbd zQ-xS!ad7___Z5izDnyHX5BG9kRr_I_bLAvGj%3zmCSX}*At5`Y{i{G}Q|FqKh1U}S)VVVzjnXKn^4ib$^Hei%R#5d(6KmGb=C*LpU zlhpUezTDCGKKnE2o`Xf4b~>Hw<}2UBM@vQg_Eiuk43L;gAEn{0_3g4XxXmqGVKB@_ z)vd7n8*Z;Z+mpY=n|l&W%G%bST^FnkPoHoZ(3U=n9C`PRUo?ZJhG)L7exj;B&sTr8 z*OT2H=NtXyOFKSZOZSrM*8PjQiCnBX(-t@MiO*h@SIX`itw#}3Pj1442{M;4xum`g zj*W}$+zHQ0esUE-5qa1_{6{MK?HeT5%K;JFd2rqA4~0j4pLRryi^BrzC57OgR~m(g zLt=lYeObp;yo%wmEZ7$N`d3!s(G(3Ia5K?xJLV5$#>fn7Esi!fz}Gu&<`IxqWAG7d zWSHd`Z8*Y!jkk0?74?xfwvmW1&JyjEP-#WfNk-^Jf&K)?RKNc(Mo#8_JVs+YWvz zH-B#)yucn7y^L$^$RjofE4(#A?(n>r*bbaSeN++u`|^Jv|A)DqFNe=iGT10)n{O_D z)~g!YKa7+asMz+SxF#9eUQhngPEI`F|M=CJErW^OC4rhUU~@*M_?azVXR{B3VB0D< zm87dA8QjQ2_FC~5!#%}xt7BL4DuHgS`TL)caWIWW=Ymw zMiTQYLI*>~@MmMD9UKuDENH`zFJ_AFbw6x*6Z{4iy(V7a4^TaWUw}gr^jw}iMfQ6G zs&f1Bqw&2i&KCV(A1R&O_{Dh~K^5s?_75_k?s}bwfyPa_4TqGsRDK_C8Beaz3+ETb z6D-|({YJT2F@Q;2>V83Ce};|Q`))3od{#-|j7?*xJoe`W=($y>v9|t!rK**CEf$}b z4FXM3zw1TaaZaU^^jLhC7i5uobwm>N&UG!+8CA%QpQ(4OI69+lmEiL0i?{vRVIKdslbb-dq&yEz@(*i~n7F-8*e>RJuLWKgw^B*lLI& zjLBF(E}3_&!Gqnv)+TQ-Fc@nVFc`1DSNgJ#i%RJ)xqRQaar-ITTLrn}l1mjcBL7wN z`$~Nu&-y;(A3Q9Cx?T#)WO8miu~J<|a1cJhc!Hhz-1%MkOcS;bA3IkwTgb)X%r@8+ zGDUXW!6%^gdwnHrKeJUEFAu-41$u`q1>@xp%y=C)_c6h;S^ewrT|yI?E&u=E+q+W$ z&H{if;(PzI{~f*$zuy_YUq9Fhz9-Pc|1Z9wW-!?8-zfl>0zf9d7VOyl+2=cNAO95` zSX9T6qGB;^V>U6lKOvgvxpP8xlXepJ{9xBlK7EmMxd&6l>C2gFjm&IBq1dCb2esj$GXpvp(Nu!#j3zTnERGa8N}q6J}+B zTizC^3sMUzbKFbZD}<;(QL;tB2J~Xr2gfhoF=@@ymewC6r23^*zaxzRE6zkRQkYTQ>{LZJapV{sZ|Uq9wnJODW|=@H~J@az5ORglJ%K|YXOd$Fe7QJP{; zo!(8RGCPqr$_}V7)&6ZvjmD2H_iBMQh!;(0{0`~BQOHf&H>Izqe**x75Z1K(ytqQ! z=w5BzSN5D-+Hqn6O(o@^WbNRq%AMzWPLa`(Us72%si5IfQkx!4lP47(+fw3}xa`Oe zcTC>?WHMc?S@}=kLR7P~KDSMyKAu(Ha#XJ1t0?<=%5AyJ39QA#&q4}^qF2A8LmN0a z-F=56TD$ZSWNeAMD5RTqDAy$Zjd@VD3xAH^Iq{*leN~HQdv61WZejM5&bd$gtykeX zmz}Ue26e?{5>h=-NekEr4Mc9xt=bjIl_!^-xd(@jl$yZy`}vnD=l`JHej&w*bj2ef zKsf|Bo@mEkKtI4$WpGRH*Q)YP%|$P%WA}UR*9d!e2ex2HiA~q|c8b&v-r@z;7jtcQ z?5L3F8>}v?)!liu$f2s63roryf2kuea%0o~&KH8$nvMH>^bERTbSgfGijsrV`dEc> zAajB%ySYZP{eGA~S)`?>ZSWpj-CVK*{Y&7h-_f1R&VMryi`*(EDBZMhw(K&0P3XpX z+qgyCl+WHomW(-1Yw{{@{3JMA_7&KgPs%rZP`>+ocMs(_PQXn0l&rU zjoaunpW8Y7QD;_NZq;L(QmDG+3gR_+ps@EM-{Og#w%D5%tzgjR{*}vNj&ue-6Ats)l|X)lhWUcomGt_9gZ6oR7OvkaM-hzR#PzM)77sY|KX! zVkdHV5Xb!Sr5Ol(4!N;;%3olNiqE`FLvn1!>#>}{uOL9K^xw>pk-5(_k;pT}2G*P#Y?gnenP_LvX8``V- zFIZa@+m}4w9K={1+kXv5KD7)tK~Q!ojCxZUW1Pv zGe`n?pxuIAj9|B0hIf@)2rC%V22g-k}t~!M7DHoJKsKN2!l0ayKTs*~0D65?eHL zKLcJHwLW2*fxZh1nKn?9hZt<$UW&$s`#F!e^eI|LGPh253^v^F3UfaPSDgv$tJ&ME z^yg#9EnTC1s-LkU79^F{7S+Xa8PGq4sokj+%kUr0g9*+ln8KkF%6i9E)HY+gh{PP& zO!lnO^{pR7<{;^>=zr}dVp;S>uH->mw>W{`h6~(3T*~OygJO3d51##$m2zC0Vlm}j zFR-&>+}!KbB^mRlQi2XvXb*NidU0xsM6W)%61{lfZ*87j?4CkFj`(}aPb}py+w>a8 zz)Y>7d7DyL;?tIqx$dr|+bS}uyg8plEDdK?wJIvW`-B)g z#)0K%AHK%D#jVkd^km4eR1iQay#{49ncV*7wmIcx`-gO;+`LwQ|sMdcg+dT-&yFMf0(5~CY^aa)YRLX zKIL8usju_3#)>qSeD7hvEjW)E+J#Io*PSYdM4J809@o(Zk0LuFWDT>y#S7o%<{P zdw{q~9W2PWGQ zXGHt&zD9~Gc6#PfwAHy-Z$=F)NK7v+PYM%pKFSv-W#+GCv#; zw6Ezudw#0wwEftB-Tpb9;Qx=)J^mfdPm5W}>;!+jI%!?j^iJ=OS0LmZq0%zwxiW2c z_|APzjEKBy_xi^rhwJeQ_dbttbI2lR<89M4|2APCt#C8_TXFQXrF9ojU0v|zKL1AU z5#Ainn{mOL8~mGm|K+Y1B~t}e>4@h-XG}eExq1-I2y)> zA9N(eC0SZ;aLaxp>4zN{*q=WDf3D!~Qg`6A_4VY{VHadF1y%jNS>T@=fIrOO@0mul z?k(W|=4V;(zle<*f&WlyZoMxB|MA)I&!D)$pK!gR@XI#M%xKhZdUZ{6%&)y^p8VSN z{Z&n-trnZs022Z~9%di3AJCQfHUI5w`?hW#37Zj>7kE**HKH+kQuhxW)IC3XP`5uP z$-L__aw`iYTsPu-S_U`fm~XG~V-69V8_#{oUHwjIN2_R#yU5?eS!Qm#@!`F^?|JUn z@V2d!Q{LmZ#XeeZ3TlYEao1c4tQ%ims`@)OBVp%1FqoSFO! zAB6oEJfES8lzlXO-s`c4viS08w%;Vrr-(ZojXy)68h@I-Xv@{@Lr~tY^*jM*$_#Jr zReLWI{&uOHmg0#u6u(}#f4Fuc@v4;Bsl~e8A*jj^cBjv2C+Wg)llx|9!1(o(AA+Yk z8=k!T|95y^o!u!sJtOd>;vExjOLfZ-MVOuL>9ax_S*{mP9Fn69{F5d_d>0S|8|j&o zgJmZX!&aQ4BvYQOzG+fD@z-{sDJWp9f %Nwo6*9?6#!e2T|h&Pzgs@MQMtdmrsL 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 U2Sr2 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%0D7S0crfIfiBaCbdm~CNXEI=3m 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
Xj|6YsO1u(-0_Td`z`0p&=q*A2eCa`Js3d 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 literal 2053616 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�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͜xyEEFNSfVnp1p@`$E>oG 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®M5 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�e4J4|n1lZ$^>5`?1 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%0D0bjc?pE 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 z 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

    -+FkXN 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

    9IgQKqpMPCn$z8>H#%L6TKUCX=LiuwMcv`JZX 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 z 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 z­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

    %2&~J3&G*aW_k@h98 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�t@w^!n1+HaNQ{3hgfu(=lj~XW{)aAJukp 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⪼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
    )r%JmmMgq!xNxx260^E)@B=-s7SCFb5V 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 z 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 %Nwo6*9?6#!e2T|h&Pzgs@MQMtdmrsL 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 U2Sr2 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%0D7S0crfIfiBaCbdm~CNXEI=3m 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
    Xj|6YsO1u(-0_Td`z`0p&=q*A2eCa`Js3d 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 literal 2053616 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�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͜xyEEFNSfVnp1p@`$E>oG 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®M5 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�e4J4|n1lZ$^>5`?1 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%0D0bjc?pE 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 z z*!WdbW$0c_HiKR6dgcc2+lnZGnrzNQ#N8ZXQ!!c^;5v3vDYdfHBc@-{V2)rgK@goH zoxRR*1Wj<1%rYvm<4Zv^gsP~AJ+ri@erAx@&peF_gDz0wVB{@aw7SDx-m6c}7}^Ug z#n}d1uiwk&fjKyccF|q^2oUomWRiLhe03Ko4TC>tF_-D0^8xI7g+y!IDX!Cid+=AB zmBw1ETlwCn<18-qUsmHH`0|RkiLY3(XZEUDM|IYv_TdR_@SC|(FvW2@RW!H(Gf$O7 zI=uCa&)rM^r;)QEx%d?G3VE3>sf7C@P8XJa)*3}Y%%x#MZ7nZs<)w1P%s!HoI_EP` ziZJ`!9Qt9|hVSK&Yi3c!S(L~|)tVxS8N{a7UBzO0X-Gs-bJE$Z={aM{rP=Jk`qczZQ?1I!%9*YAeM zW{pj-Ui|%Ia*E7CsO&n7p0HGK)>(dZ?M#BiAyty3U6XN`+a zL`Ry+jh`!XI|m_@ajXMIimpRCiNN(qX!L<)P-Zv_?vXt3u?uxj^YR0aAjxVeU&r~T zx52A1utjgHLJCud5nc|RT$z6hMXb8Z^EX2M-sbi;@{M1I4xh3SYdb<}iQZIGUtiM* zrj(2&@2pz8N|{y2YK^Qq7QPzn(-b=?@b@!TZY2ozv`X}N8rNe^`4$``DaFfD}F zF6Ny`4U9nW{^rWHFTA;Oy&^Y&r{pQr+uF??ouN5%8MC#|ul)@86kVW1e+6SbVjRzr z(N_pWz?xWE43K()Gp2W^i!M@)t?&_7UPY;}AXxjnc~55aH^Ms8I+w^K zCuua!fugN)j4{SL?IA;el8g0X1dJGeD^jud{5}sz3P($jq2{(?_aV$AZ&f?_VP&?1 z3M;{oqEdRRpKz=&NP>~KG3GZM0~;(KZIhdU=aW5a65Ns#@%JE1;C*CeAoxW)6yTqV zoBp{(Q=8n5XyD=6M@LefNOgd)wprtWd}H+AEIQ2}53a_sTNbzy^S1g#OeukLstK}% ziim^ji8Ef+Iwt;(U3*9jqt=6K5>rO)j#aK`Bu=fv7=k4=VjIG|2h1px$1sEIbgdd= z-yoI8Ji^(qHsT)@HlL%5U}?ziDW#9>5xSDJ3@c1c{EJ#qgXJmu6?&5M{X~3BT%Q|l zoyo19o8n8?I3jxxVJlJHt5>Y`(lB?ChMri-|K;4`_`Hr5=IW;w#pjTviVDMdjR!bG zLfVCe`YrHPEpszT4&>A3H;l+=&z{bsabUqG>9YbisSfu5FEY!Oz)bO7XPn#{cjo7? z4dv-Xos0-(vD0bGzBy7Uzm_$g{^&>U2f&_(A}TFj8wPUFl~!sX{tW!>f)(n8CRHnE}#p*&}QM^L4AUQ90_#-l`4paE?tjU?ZoL3b9XkvMdysS6+4dPmr< z=&&V@AtnE%Ga&MeJ_q)>om#k7V+&!tt@O#306ueA*%EFtY~-<}w28{~HjK}~5mzOP z@Valq6sy)Um@4q1ADoG>3Qvm_uJxxv;Vz2y?c-kN1xf+&Bnd95ACY?cE#cG9LU$Ut z&i>=RvojxWp1e|_6+I3$CuzdeEQOQ^=jymHc#K{eRz!=f9+V3E6(`F=p_bj#TH>rb z0+H2)p5S)7CzjObZm!K;?p|22KLQYF7jQAxwcE)*^Rs57cVmKgiEX-Oet7UMNmj^u z7ViwJLa@7Y9}>u(IRG`?o`-oyaZv0Ydo{fz(M>OR`Ca)rO*2Z*vcWH>o1xhkvtHcq zzLjsYWnSb)hv*eItTLU7a9VxVt;M0cb$+Cpq?k{dYRhV>&?MG+#){wvpPrY;yPBr}%#Ow-Sn>YTbsllReYjC5;M-8ou;-MHLzs-1*+8d$!jU zunO9+1Q&Qc2_YWP3`1Gn3>v{#E@R&Tqn&ilcq!g3JutOR|69Jv;1(&P%_SRTQeQ7A zhE{j+MnxLD5(H#XYheHL?S(mZa6sjs>R!I`&g}BTd81I!5BJQ|={ll(Nm^t8?U&TE zg?bd94JF?2#Ek3N1E-*Sl2kY8K93I;w(Wcbz}h7r^fvjfw)Mh7JRYDWLk@RO+`AuI zd)u@64#gQ{$l-Daa*kwZ&3DV;J+-#C)W(PItgT$vxKyZF$mW!1=&{@FMr;Ytb1FiA zQZ9-C{RO_8fX^0cyX*g;4Po*|G8o^8E4iIvGYUs zNwccxaJL_wG3HMQjQPh*&ca2jKd|FB^pS0`5$Ep?_p7a1t6e%Zqb7Rj_x<^=P|E}e zhqp&wE*fthr=|ye7dpN*bYs{kFAt-6;@W$j#zTz>3c=Il^3cHFmNrp4yHO-XXlq*b zG+buPeuo?Tyhx6YZ=-Gw0g*9YI-blq-j$(yuJZbeO*eOwF&4XiXdTI#|KiC9IBRKQ!)c)zu zXNKl{swvBMsPpxCKY=qDl(d!FNBNi{e>yw`00{GRA@$0k4!;2_C#$9%u)H(y6*QtJxhheXujsv`M0$@54J#xLc^fEX?nmSpc= zn=Z@SfA8lx`BQ#U^k|=cccIz8vMjWNW+7JjQE2v0Xd*d|)Kq^`c4N+GX8GNj_aX3k z`!;szKT%G$a5hi#yQ44o-OcBiw4Ik|Io4(-I6-?TFPzW(S8e>W`go_g+nu@jYB>(L z0N&cxL8abrKnD~U$LsMM81%pOx!Y2H3D;9ERvdqRA@Ccpu#>RX_}fj{glz~fN?Dx6 z*LY6K``XFkEWZKs#PjDf)qng39-k<`0jjkKHS%@(=5M{DMF?+mD*w@eHJ~_Q|2-_xP|6`nZ4za{u}U{%#{aYyK?v)&b2sdp8^wP&R$cqHObp z%CP|{in)B+@d3pwXW-MjxArx~`9?J|OKYUzHi{|I-w5|H?XbDAvE4FLtiYbe5F`iw zGPT9CSWM~LR&UhRld(C9gU7b*$y^!EQby*IW77Rf`>_UoL9#U1`eVP{2~Uz7L{{L! z{}*_Ya(mF|ZwUOF{xCtvyKZm4rfJuAqgC^XYbn3q*;@17Keu5q81X{)AUC1*4IM!0fDwMensyJCff7+ zNh6IXyNv2J0XKb4?F-LpUwA6zPjobJ^z^q*`xD*BNAo9=Ut8Lr=wM##fLS$6ft&{I zJip@OdJB!^H80}O>^{m{z>jpO^c4EUB*}9~of?w-Sh$~=E#&!3G`r@H$GiGNMLxLU z#J$IpXcXMo70qAtZkW{kMW2T6iab4jnB@r~o)YiG%82CbxlJVJ{f6@c8go@`hQ>^* z_w)sgnrlaIZB$87aK;D9$zVN_pk{+apDiPwbUv1vmqh=yFp=F1N)N$%YyFKb<&fiJ z0X@Ey8`x*Akcun&5V-o93*6AE1954TD_cM>BtP^w!3sg3!;X8qpOL_T(!(Qy9wO9q zxQDFc<^pj)kLG#2(O>u;=h$eQ``dMr&XkGm0wLB>+l+T_=B}Gv z{mdifz+;a+K%)^tm!Xi0ll`WIG}h(b46@`{7A{yZewa1lN9Q&^`_b7m&9nS-7%vJ+ zcQ%7Z!q|DK>PLS^5JM5r;b!w>(P5-B)12jlVWKS>dUOCsi)sN(0a9$(C zw*&fE%$zNAGl)4ZrRKpTnxw7cs=&R@25(teU-H1 z22_pw`wc3nktgIp)#TRfgw<)Bz92U=d$hjraveM9>}KkZY+p|D_eq|;s9Q0FQxscF2YM~2@k!`6j{tP28s4n4Of8hVakmR&AB+e9v5&&%jZKoGZm ziEyFat$)?t{h?~Du<% zuLYJ#2dSPSzxN9YE$r7@8jj}0xlNyuOZLW=R~j8A@aGQYIp`_Vb&Ei}8od>MapUJV zeOexB`5DzTeR@ZzMdyB=mYW|0U4Y%NM)tT+i?rX`O;OQrbieplK8cNI>-p?g(&~?Q z-y?a`^aF*;o882@rceL@NAFV~q{2-rk$?Z<>2RD|>U3_X1uIRAX{hB=(OeXqXGNRN z;qDWK$#LbTVF0jqk6EZ$K!AhP$=L(c z2h8K&xnJLrEl~%pa6i1dfYc9(GPg#0MtPIQZ!7>+Fu8|X{)Y<1KDWCwu(Ku~;5D@$ zi2;|bHl-|f$JAl2mHtIF>qON%%)k3MynoJfAEH-Qhr6&^CYK9+GWx4T|0VElHb)uV z+X{|lBo_;RgaLC+TO@Y^LHyRly&!($27_2le2#g7$%$z8ZldkvrPN~b14c|{|B-_N zikWhO8>6O1k*N;8Ye$;zQe7KXFh2{s)6Y>An}V&R&_y8skdk8sV@oJ6=eaz?9QF|I z`-|G5mTq>{KUmDL)&7)sx9Yf`HN7rkZp*EzkNY01nvE$$bna!d3RjDZD{igAZLD$h z>`k-KS#-E(6tjj=hxX$C>{~*P#iz#GKczkHaJTNJCxnuYFhg~vC7CUQ5&7|ftcOu3 z$~qs^IN?Y7y$UigwnrEuAM&@|yi7u7xaMvD0h=-;x za;xL-9?o8<(WzL~{NWePEArgDtJ92z#eLtF_hrs?nzB&ge5XFEGzXg%kz3t(S<@Z8 zE^fRi`i!h8+Wh}|pd!m*_-2K*xpn8J0qi9JgWL2n_)8@d8-GtFxA-a={wm*0=<+in zpPj#}*c6!OQ}Hnry>FBcj^g$-_z9n5ZFks&vlv~$6qXVr1%GlO6Md3~@mNknG4W^W zxt$p0{1tLd>BvCk<%z-~iUR{-vXtUm1T>)PFQi1nK$R z)cN~v^Beg4DE^&}z-@Ks2S7_;ih7i1Xo=irLpzJ14bA>3-!#0T**~H z{tVVZIxIw+<|8zF8c1Pt@|@ahm}duPOn#2q4w$@+4ECO$ALBkJ%{R9uEd1P;I@Qo; zrUtq@r5ijfJw1bs;<-LW0hQCB@3+f?ceJ^-*etDBM-seK;i`v?3v?lvoW%!l_Ud5ODZE8e$RVN(8livfE!7~K3`uG_vp4BJ{Rvy)gP zOkVB|`3YM5#PmF2^$EWd{usYHNRR>aCG&73$#R-X;e)LwV-?*+)<)xjnJdm&e_Aqw zedCfJ+zeU{s=k>=$Y>DF;k`x1>jKGN-tkTTfxi(5!Q!`bkiF7BHve3di4t1ybMdLn; z_~!5a4n}Jc(^&=WRbg#Wg8vz8DYG}-CPA$b8aiKpZ49|28fIaS{3%kLbHtrtQiqf`)TIcyJ`Y%BwEQMd%kKyyEAQt{@B=u~6YI;_z?m^Y zGw*G~n@F1OXg|a-ICOFf0~`O!pv)SZqS#_dq1gBQ7WQUS=Q8f2-qcCpwtdn4Ulc(1 z$C1$-z*F;0ZTrD^W${d#++byDv=tN3+wGX$JiX1{56f>dB;=;04%bj9Jn+XPngB|w zD)$7wPuMoOgsa4z&d^nCA|lx!Wq<4~>u9h?vJVAQvPkp7d5?S>=mv#bbCu`%30yMR z|2-VcO1md~Zl<{o_oz8+E*CLY^YVASlOAY&>!8hR1rpN)Aba)7pv;z~`@)E~*vn{E zYY5k!%pT?US78HMZU{yo_3rvpO4yQ15mjFMs~!2Ro#$f5>}Q*@MsYOqrMDmEL9IVb)sHT>L4U0ise=vZi_lwK0X}Ir% z~BiM&kE9nzTi~3ZApzaNB3~>e#CkGh@dh@`wz146ceJChvxj&e?7U>zREs8 zUP1$e=KRre>S`c4ww{q^Bf#5`UZIvt(f(4u-tt4U3waYF&bI+;cV&Lc`5GMJ4bAya zDho8(|IGoev?g2QvFh?*JW~7bo3fna3Y`ii76_b8)FG0$q-XvG|=5~?{i+s^>eexBjpKzl<_+ea7G&B_~(@vp#jo&F6zk%tx zE&-OqUJgc)@e67snJjoDkb+*D&Q2`Va(-vpFG)eF;`xnfKcPnJlw}!%A6aQuJlXdE;U30+j7HTu;;a$&i&{6%h9?TPNl=orb|-|b+lo!ei=_W| zowtZ}UY-omM=8v;;8B=2ER^){2d}PgcwD!)H9XR}cs_e2@f<&6azw!nVxW?D(NbEz zGJUD-ktV}0H;{I5=GiUX(_7FXgWTbMnqxC2Z9(g`I+CW-bp%Q^<3Phy<_Q<8JB7=! zLU;I7?|TRm`3(a^ugP(zQBd6c|CsMfhx^35SZtsDnUY|<0=9=3;A!~WuHC&;2TVp- z*V{UmFit6c`d^oTjI3XAK~0Z%c_Bu1@Ik+`{R71~Omm8b8|{WuADdyrDPZz(Onx^^ zK8G6UME-{dL&MW2^w{|si7pqmqPdNCXegU)c<`_JjgZ)Q>zgde#JE1}47rWB$d!zE znD~=XL`TJbc_XvOWgO+a$ZM?2{RX6Fn2Z>3zrki@3Uyig zYid84%bAH}jpx@;a{VBSV_^TuulnzzoaQ~DX$Qp!0+Gmn{t^PWw&v~h{EVOf_*UbR zo}h!~vH*f{bM{%N7khDm)N=k7He8M0RpWRb_Y1XXAJvGgU+pJOVb{_;KtO*!@1+nS zlx}u~Lx_SRx2;!IXcck*ws1w$Dw&qsQB6L#EcBiJgAw zw?;DDpD{%S+{pQ$n@64$1RAHHo^?+cwu&eA^ef;8mwzGTmdDkh40mG0&L#}kCk^S< zaDv-keMZ=4&qq`d5=GL+}levtcbO^6`=@xK|ok2^o+J((){?&iaiU$ z4F_)GMZm2dH{e*`N)>nS|4jsJU zp~k`mk;dbN*ZRbkIc})-P5p$2MU<1DzC$B`^j7k=aasBpah)=^;$JzDqb5r$7Pq|8 zuzw8gWuaRw^9cN4_6eN5?GK~f&Iw+MYGU0o!QY?kUvK8MI`rfnb&GO&a;M#Zu`Rya zJfxR#C4FR4^sWz@a-!SY!=aXO&6mlQ;rgHY!A(TlA`ojH{H2MuC}FLrMnKv5q9?m33kyP3(?&bBn(y#3^+IQ zuB`HRQ;VUNqk8%J%BXK-kUJvUu-sKEGm^-2>Km9lLb6Dre?G8r3EpM6gzsr6Es2ie zmxxDovT5R?EA8EAH~1P;SNe2)Cbyy*NgiNOR?-gSUjdQH#a%RxeV4xbGYQgiq_-fa%mRexSW6=(wQ z4YCFk*vxD6vQ&SA>6=GaDi&+bzI^s>XZbM1<;k-F9{qv>B=Xt$J}6FLrF0IGt%>KPn!QAiTUR#88%kS&u{cHTDuF8#2WGK(Xg7?S5q&I zHDF5=JGu!X4~vw4Hl>rptxohUnZ2~oojTqW0N)hlGr#4Irw^wLs*^Jx3h+*!B|T3 zc2xPChlS%KJAgB2KcmbF#wUmm|HVkOYFA~|H!`SChM|8TjdwM_T!Lkh>R-2tlMhqr zr1?GT<9j>I>K1Y1OE%=;t{RO*<4dFQTD+~FFNw5lCn-0|eJ}bH)=!DP^S3+Xt`Z%$M6R(nm+Lo* zAdz)3Eh!fbwsbY$ppVNahJyvqe$b0( z)8G>trz{%5OtVQ$Nl9Eh+bJH2cs#?n^UDIi7V^%TvV2&%u}{6uD}n(-wT&ng+hr1*L=DM|JUC9A0FmsWC=fG z%K4eVv9TPEpKt_aL`kUc=yERRjb!fQ)%lM%)c@@PXKZK5V(d%T)dAOqCHxF4Zk-h) z9{vXUF*$E}t)2LBrTk?WsVU%+{2eLt-F4S=1KUGT0M7)mCRGt1(<;5bW9>sDKo9s` ziz^nxb1*M`_(LbsYz&u9hMv5vjzfRL(EJ>FAr)Rw$oJyyOG_FKnZ$jRgUv8JDRl5< zWud;8mc^GeuPVIj-6rY{)hwA5?~{=y)DCTyt4-e$4Gt}#l40fi&=U2A`X01>SY1g& zKj0U41XOxrMq!a!hsEMU%Tx3We$p_c&>b_zh}t=!MN{h*iS)SD5JAY?phYpgeb3m1 z4pWaWcV|emW@HmvM%H~1*>Q?Au9^CmUSYKj&D4LBum6nDqC4tb^S$=@ghhkZ*fy9m zFezy4jsMDS%=m%qcCzJ#w3f|W-xZNG^yH0o(fB5z`y?@7p%$;L310;z313sL;~9~d zoiMO_@>}+*jqK+-Sn5u<7qC;do)1^(OM`Am+342tqG+ zLBdI)E1&28Qe8o}GAO@+zp=zKRu3?G9zg5TJ@!kJFWiBs!b4AvARtQ{*MP@Ya{)NR zsv9_A7iv~dijVB)2L4fFZA#M3T@o&Hb$YqOEonoLxNDilFfG{P@dW9De}NL6%KvF$ z8#A6}i9%f^3Uy6HPW$RxXrRBRGZII-37h-n>#oWHr?FAGx6#w$grUCWZPh3H800 zT&3rR`kq(bym3*a>2FQZ<_(3)5kIeviCblhHLAsWp2$vA)aJZM{FYcY`+&VqW=#w0 zS?F#8PC9+mb0Zj2e{!=Y(89|K>Jk?gE<$ID zv(+on_^a{N(IubZarItd6k(9aO`~dB-flc7{>GZmkReG*%s33;{E5#NyMi%z!Nd}I zQr_gCkZs;jEKxsqXI<_}hJq#1w-0|Kg*@cyL8mhN=GcD!|6XZru2>C@oT^qHqE>B+ z9@?%Mn2uo@Cc8T}_0G{)p#(dGkxcpBrSQw>F~`^X_GWW{6jw1`Rg6+qL_Yro?(>f& zsCUJyVj=`J@sFWHjL7@B@ufnT=Y=r1WWqDWmzJK}{O%%nC^QY?q2g6_ZXCr;$9o?` zLp|0pPZxNn<_{_w4XF`%IPSpQO#u z!72jS@(n$d0mh?|(FwLc?HW}Pb=@|pv@XZ5M=67#7Vp9qDNdL!WevL>a4)Qayi!%l z|6*1AtX0fLL~T}k=WoDAyB*Lr3HPf@44ub`_Tbee9HL?^9g^H<$7Ts@bp;#V_t*w*tkBW>iqDL`NN$bbv+JSKS% zmK9H5MF)*PhAZC2iuH1cA$s%2qq&X3Jxt|X+>tx;^k|}HcPueZ?xV|rJ-DypEJ;Ys z9A~?YjEudo@yPGiVtc zjt@}aqB)juoS*iQk~GsexlOJRX?BQye;I!wa5At&QoROULU3)d)?p0z(C||c+ME<0 zTGy80pYFaWfG35LYuMufFo35G_ALX?2Y3DdhUY@4nE)#34p6u0&F1gkW$*ifOFf&aP(dww^kuubQnBa1IVe{NLZRvMh*e-Hky>8`-M{De{J!x*>w2nu zpPt{_{dX9Lsyc0VS^P5VeOnsk9<+Ro2MBsoI-pNtmCg0VliRE6!VT|1Myt@5LQj-U z%y&lHVEjR*z6Z)yoFzA8!B_I{)%V1{>-+g$^=Ui$H{iQ! z-}S{Z^_BSXgTwlF>I?0=zMb_p-Rf^ppEk6A1HMI8aIf)Okf|@y@SZHPvG}Nc%&y5( z+4yqfzUv#^t-jF0k-g@otLuhur|!Faakuio15HX-kcDk~!PCL!w-5YSX~~8k^bdG? zXTg(3|6=!$FD|Jyzm&^w!S7<@T3Lq~R{uL*P<)HgZ)yb5yt-mIC^A;-V(jn|Uyj%< zOLU)4hnsxur+cKVfgzUJ_BOV1l9{q<^fL!|^$w3gbKN@V_tyds*dYR}b;tfWS^Gr> zu7}x8pnq>?QpU4+ld{U>+ee!1<(Yi}EKo@w4jPReUN*)c5A=Q6{##);ldYEl{)PbQ z1t5SNHm)MAPs+4@u!qN7kS4KDqr0&oJ6U6pKhv0&U>GYk;krP$a6BqE@r@mTAJ9HGlTPq$B!Fe>jcx*$E*ieamcoz zNW0E0?3!Tj1sbsb7PAv@`sBwTB(uG7y*iFp1%c37`q7QjTFzATJf{d(+?dvvW3aZ2 z%|)91j28mE;JWE!fMxGqMo-e4;k~~78!`|_<{3m|Jp=X%gA#gjY8_^@nu^6j5#io- z5%jUlYWx#kCJ1xJ44$-Pb3P9vg?Gctu~-%~e<%smi_9NQ%4S8f`L=9$v}2$Q{$iLw z2(`S{Z76@8@TrSPr495)Xj|d*R-tfu2&wB-E)_2Wu?XUE&u@I5;Vg@>!;!$sUd0ur z|8eW(Kzr(%sj~#5XxZ=*d%sbNnik!os1Fe%5cUBcxx)lLw;!Ap^_coH9FtHt9c|Ir zm6JlF+mYJQ21c|7BN~iSf?bV8K|OjrRrOU8+GFOVEJbIHb@FdbG%DH0xAF*@gzl|O zPPMW;)e5jS-rxD0#?8txU{icCoeuM`-IOY|B2_AA-peUj`%|&|(NLT4>x7QY{`sm5 zI#m3~zH)96pJDDxnX5HyL1n+A_fIZ26*}9pxV9fT|*E}0td;#CeHFWj6~*qa zH7eP7SPe&5XsbHD+RIIWK3iS=xn*fs7h2Rim6uAzbiK9~l`N=c+Hq>%8 z8adgp(Oz6qdO+u+8SfL9>mlbnW@^h}Usjc_+N$3O9fv>NUc>J?r8oJe6bq-3M<^~0 zJ%Eyljy#>}oa##U0l;AX)BFJTVPEf{%&?#H11tOu&F{e|@#2$X45FCetoiF^ugiEp z7rThBuMR7RyKjosgmKix{o|P=S9Ud=l~uoxYwW4eVN#UA_+1AHB68D=TQRdi|Z`CmUJ{K+uWx0eHdax>N9P} zLaW!|4ig;sYe~cR_T8G#E?0FGe;JFkfdmjWKO|*)x3IqKSOkI;_lnk)9;ogX)$tUP z?&ct;tC*OdX+&o#%4rbcsDY%MT2(x4BF|N<-cxJJr;S#+C{$I+G})D^1}lB=vPkvhl-^q&5- zHipR=_Bn4LCs+7(zMbZGV)2~>_C`OF?8Uck^3T5eHwG`Xef6*0_fLK8*1y5Nf9mVL z`WNy2Q(yP)UjX%JuRHpx{skj3kDT56_qFrYiZ`5gq!x&^pR*wveEM-pRdMJCGe~Z{ zT`A1mDOKgS-_STkZ}jJss*>BsH(seXX77}$!M9)BIKt200436=Q>w~tKfCcPy)lEQ zR7Gw-wee&>hlfc{VYVtq6(Z1x1*ohEb1>p-)<+h7FLVzY?A_#{%v!(r9>a?FL@2yH zD&kYt2pr85y2YQVz3lbht^RYrs{T)A_pE<|PqF%i=hSbfy}z{nj?XmqUjqNVd)42R zsb9KR@a${gpY>JspSD;1B|Yme{u=m?`l|Y0!3x7d$r}H~KE=jI>!E7!*TBE%)2|qx zTlT7dd{+Hnr0W0b@rUGn`S>5aSN%De`m6kU{u=oA?EH%Q|LEELtnqosr)Ye9{Uu)m z|ASvu|1n-mlU0A%r`Y%#agBTp{O5jE{Y$-Ul2!ljeTvo3azC{y@-^^x?D&fD`QBdj zkI2+thHBz{ad`=!p7g~FZ&w!kNT?mza0PlHY=u+ZT_$S!M2mpz;&ZP zi?)Bo_Tmms`uA-63i!Vq|GU-ycK7Nt$>t{qiiZQUtURwp7EuVd_(K9zy@_Z#fS8c#C zE6HDk>2bS|{+99oCH}w8{|*CaK)T{GUng?qRg;h_$K4P?EQf)um)HgzNenzUfn~uQqP%#;P$6v#~GfG__P?uPxrC{qV z21O#MIW<3o)b+zD2K>vXC^_2P8sYP)h1Ikd34M+v6yuc;D! z2yu##Y;}pJt}cz;PTG~JG_ZoS5l@ppC-lH#EcwavBvgBOrdzRI4bAo*6j3z_F(sN* z5+m4eap=CK@zu$3Ry;MH08PFw#<*Kur0MG5?6QlKt4K-BC*=y`tLb`=lG%X%Lisb3 z16~CF5E+}&E>DQBk<8iUpU0$Rd3VmKHWTN!HX1>G;z#y+mRHyvjgaqW4CfS7h;k-e zce~~2%M74S+~8FqOa%H*;$c9a@z?BpHw&a5@RYgh3x3p=;l_EN`wr4$LbtiSttKHNdK7sZ@KTF_q1lM*1AOf2p%}5;{o(A znIkK>9?pP9St&?WiFJXRwp^5{iO6M%#6xs@@5<7&w_9Zb#x$y92J^JiJ(8*{Jy5_z zWdH$8RKCS3Hy}jFzq~TQbEAB1)_{Q~pFL`$W7+-mpiM00Sb}CuKL8`O?`U=zl)(mC zVXCq;XzB6spv||+J!oH9nLv9QtfcNNj7US_Yun&!Gv#y7j;ceNUjq#+a#N@cuq?&n z7X!u{VEEd~wZR5k9}w={(exw;xFf{Upw1198Jt8*=}|~b+cYfM(-V+APeZ5ib+gXu z*)>DwklFJnZ8 z6oxZ7pv+CkGn5!vk~J^t`|xs_sMyX^waU_KweK-~wARlDUUOgW%Xgaz@-wWd^5%vO zn)>nqevj7r464|K5aHVa25Zt6Ni~_m+F+3F7^)UMW`uMdk5fnYG0&n`-Q@uzkKObI zB3TP8xgi;PvZiiQWmR2c2Q3JKQ)-HDf3?x%8M<&vP08)c8#!N$g-mZ{w?EnVXT50` zswuzy@y1{4O`A#0;M*T){Ds~kdW+niXl!k*iB(p`8kgR(IV=|X;Slg;=KjWL*}h3X(|X0wle6mfxtBk&iZCbA0ETA257L>s zD%A40t=e!s)X92%>XOi$_eg_}S{a%X*h}hJI9{ses~iRWSMg1@U9n@i}yTrbfn2Shd zP2G%Y!oe|=#i50$!^M>N^<*QW^njnx{62)SKpbEZ`*`Pjem{PS=RIxq+qpUmUu^v6 zV6fISEpbQn9Dn(;X^Xt`h6>rzXKR~z%N4GDFG#(|V|w_>9+`PSNfWOk?`|>^zxiM#%tqWqzoN@)x_{` zmW}j*gN#44fFV*6nhcolfw56#|1T~!V%-%CRK zoptJd#g^LVQvHl21_bbK2s-j7vRX${AGX#Vy@4JkeKl^uCE};*-x4 zHqeGD(f>E(vm>=`&DCj7vkbh+Loh=ENAjC#Qmx$%A#{UI^YXnah6VPA9Lv|224jBzXT#@cwF$|AEvyN^s?G4c-s&-;>il zez;x!dvbE{-Wq%#9lZAr-WAl4advkE?}K~1mj&;~dU%q>!TZ)Ae_`;Rs&6MKr~2Lw zzB~Uusd4VQB3ksIv!Ts{8` z?;f_W)AjtockTIvitXF0bW6uaBt}B_uMpiD)4bx8ammNO4MwE)FC}N&zq_@!=Xk5j z;=7&h+dJw@>K!sJc@g!>-=kZ7w!Z{E9%b8y^+D#+{_h&-3XsJTlMCHs|E!bz1#S#4 z(IubvLS}plkxq0ncl&uz}IIOjbd*Td`AerZD)Q7e6;1tJXjhB zJW;C?lY6=TBr!_94@l~kU)L(werfUbJhwMt7O^vT+XX2# zu&~JU?1(c5*Cnnm*4-#g017@Y!vB3jeNk=Vl64$b8nQChdq}Uk+%ESC3L$RVdxv?BjKHfbZ#-`Bh`h#Fe5Eix!w*`v_(~SD=MT{^|KX6H@h`ArRjdk1rpAr9OFi?A zw|t$iXOZvuF^><99rp7g{(he+Y4e z9%8-}J?bgV8#CfAVx@0FugEsVbCm)UYJFakeJnvuJqLW))xpmg> zqVaJ#8pO0dC_BE?BCTp;UECUYGx0d6k^UP)uWoJaYzr+K)`!ZeTj$tnv$8*&$^LB* zSWO??5Dc(-02|c}u=`5X=e*M74JkTK86c%KyLBNwpZFh0G5>#n6`VcHNJ8Pz!kKw6 z&6E1LenUk%LoKq$b2#k%5(X$5x}W>EZh~xZ=9`|xSGY|qbSU@b#$a7n*LvoQrFboI z)`vKV9qvZxIsnK;?<%}f@Fo1GKZt=Q)_o666RARQHT&X8#RmbiZx$ zQ~Cj#`u=f!bJFMLsqp4o(o5%ffV7~JPiy!EYBl zt#4Q^;@?cs$xII3Y`g z(Kc?4;`%(CXTKrb<(9kWPO+hFcdKeN%foiYI9RhKLOZo@NVJrom1 zdEQHa63nLtpsuyNcEU_>e~;0F(UgX~67ziKsQSbt`E#b}V{K^B&~WX9ON)jl&iEK9 zWp%7~zdrHJ^@$t&hFzEh2kw{>RW`SH9?Vo~MRRCdk!D=xf4`>-f3 z(21t%_--CA{YKQfo~9gI2WWOsE5&rXFbpX=y;wXqu;(qIXZlw8W@vUL$jQPOq@gT< zune}*ORbCORmrk%ilz4S8L~K1H2$jAVH}#>Rj~;Q|1I~S$kfz+T6?WkvSqb~Yg_Y5 zo2KXIHXP?1h=T%*WcO^P9=Tr~D`v`}*z>VJ0n5phy4RNYP954${Z1OhFS_wa<+1qH z{SM`kjYY@k{h6te{$QJpg7rX$q<#tLc1VhTN#&4xvadF}x? zCHkSsi_|3=3I3vcpVRoAwO{uma)kVkbD5VBnVoxwn~Rg0cI;R8rqV(Cb%`5`Z6upN zo=lCG!2w)Y)G9y*JRj>l_ORl*+)g{zcqfR)#fF4ax?0#3-)5KPq4ZD92di7-*`Fps ztzn?ng+<(fHav032i)DXjANtPa>j-WsZkj}mg+;Y_YNYJjc|9K26d%j+NiGFFzXLM zjHM?ns-q7HTp|CDa-e!qj||oym>jXK^5m4UcRKa4nEF`0vr~E1jHKbY5amS;gW? zDv_coF=TgL?(W>>IFd(MB{-AYVcGM04>{iCF@}N>*yA>RUzcugnh{NnU%EaO3#zeF zT(B3E`3q&dP{;VyRagagw%gs3K;_rh2&_^48V=?heez<_`ZT_fqaR~7J!??)$}y`< zN^&E6CulGYG`OsYF#!+yy&mg*$+wHOeQ^-D*qs3o)Fo1vU6;-~r)^K6g|qV9+ZT%b zH(p4L+`LHBp3@sncGJDmyUQGiY|8&Z5zfC*>Tif&R;~#Ba3pBMB0&?snE$Kb+55*9E3D*+T%W<)5m!8C zZ;N5PWoAH0e+dB(PFXu`05~!Elh7b@I}R+?>HX%D7#~z2Mc$;E<91OEfhAY-;l!1M zn_Sz6imhtAz}{W@|(hzm<5kmjdU@DI$=@$m!xX zt6QfPra8_~OPh6kH|(_J+Gz7;>oRJo6Nz+lrH=XZAF)V14IeT2Su+o2dU~FEiHr)l zHd@`qwqx|q8%*7UtfQ!c4Vdy}I%g=dfwp~Sukq-#M!s@9;*1CISv zebi3cOf{cD@-(a!?<$v!0Kg?X~G3+0Kpy1gzj9BK(Y2Om4n zvi{X3@+#^NrZg z)X+RbzQoYowTbHs>k|#jxqln?4D$n5c+U__g^#fA{_jB3MaU#PjxJ%Lv*R-g{c{zu z1N6=h78m=@FOd!OKG?qV+ZRIz)@Wxt4K!mEescUsC zbRo)W9?fN#*Se*m5hR6cD>sK`i%!VMLVSdkCC%@4m{z-5(Gg}58iBVxL2Lxp?C31? z59qb==NA0PU-R&yF<5nRq8sAy-da!%E)}7$na-7~d)&NQ+f1(I=AP3V2eJPaasP^i z`R{VCAV^fty{=dF+zGvD3+^h-Hn2WaI_G@xXv>OI`_A~h19HZ23VEDuJkhZP#^Z`8 z7|dU@XQlR;_*+5!-$TOe{4Y2Pi4Jfp%y9ez2{Qwwj7m&pXXtXz4zwodXdu7swI99^ z+iO3ZOs{||y&taZ-D5vIEDIj;rT4=wxU3YM+3DY|OQ)OK;I)yl*2BQ;^Vk_{6bj~i zw#IsGjTf^uj?&h61zY1dZH?b!YrHxFcFr6GV#X3z5msO#ArMpg5bg^#E)$+$da-+{ z3=HLzn-MnKPyHzxe}3YN_>Mpws|*nm@`#M+xn@*XaHZxOx~ftBr;veWvvx>JRqCo5h)bUVOj|d+Bg8JdH2f!~j zhU+H0S3BX(BKAsl#33I5Yfg2dh_g(U+(w@kIkvOEo)gXGMCInX+#S{0ab0{Igi(8J zVk$z_%Xi*lRzCaYbsBEq`g($lByjtzkMFL|eHqy^zP&y%@r+)afbE^aGYNCk)WI#{ zS>x+zs+?^bIi|}UM;m^!-P5HUjII2z@g-~1cLWBtNUY@ux>IDLNvJyhf?XdM%&Ts{ zDq&{&)$vmnjeje7ExU4c{KQ~lGSob|3J=3HKS{jF2`hvTCi126AvWPEwuVbe%PP0p ztb{JWHXCqhwZ$3_$&L(nNp)pgXkIQ(JJHsmh1Hdd{RI6Yx`TV*c={97Jk(pPIf_kKXBJ3QD}>w{vd+)f0EvioCL%_2+nCp({i?Z8 zl$C3O0OtW2)WI6iGyX~M(UF7`HM!BswwX6R#c(hlq-fFxy6W6FvDdE&;`YEY1nQ2{)wgia) z2`m67F0P%h3=y-*oFP5eJ!lJSrFvUz$-8;6+@+ZoTIj@jqy*)H6?1B@n~Zv^tL-u7~~2xO!GP@$9UhodiqiXImb z%NmH~KIzUs`?<`B2L$o@IXc6@ROVbuTK3Q!8(= z2~`^Voay-BgKSHZ9E3=<|8Y%3fzJ(Zqcv#nLu~HfMbUq?W{~@+} zI?~FGh1IPm#9C+J3(7sK*dQTvd7*_%`GcQhkWfSj2qX}%fO*&iEq;e>qZ`h zUW8++x-$|<=R^8We0DaZ0bU&f&ENuLyjY?8rqHg7?s1356agv*!Ak2Jxr&K4! zs7o;qMWr{LXYGFG1_jDD>2qd{P}6 zv;oAM&H!Z)&(p8Hg!LDw>fg|pWKYNnw*p&3=P$M1fTln`H?czb$K9%kdVM2>I*1Yp z2X8Xc4lA@wbS9mt*fNy_nH1W$@ig%B6!7ghm9V21F}xYmCBRUsjRYm6ZnO4>DI8!p zR+g31PQpaWZ~c>jQ{E|OkwCw1_Rl~!T?}SkQ`j1+Yn>LZiEoUq`B#in%WzW<9gejk3sf#|d=!+C zzB-Hkw9N-9*sayHpaxas8#LJY_a6P1a9kVr!ZAylSf!jv7LJu1Q;1{nedu_6BiT4i++=aL|lxiyQA@U#LdJ}pfySoo;{3C4x8d>hU0b(t8RksZdROPyv zOW>a2RKmGH;uYUIhS9H~Z|KQUh3d>3$+IBG;-l#|V_(*7Ur<75A(z;_n^|_rA4vHP z52XApwv7xeysBWyuHJ6d1B&R_?xHbnsB67R zCh2HvAM8}aEl@9W)^H&6WqQQL2o}BFuTl1J%^uhw4p~JMDClBBW#Pf}T`TIZN z;7HaEsNr!l0EsKHW9YC_^2#sB0t&SDM*cspKK^mVCeP0x!=jpEeYjuek)ydiCVsv0 zq*;U{!wBvEAwsf$K-WMHKXBP9XzJ<7AEJH`-nxF=;>Fkrf8#a6+v$L}Jla|S-dn3c%eS|&2#7dFx!t)aYHffB|1C*fwz_T66zZR*gI$l(IerukyrSvq1 z?yFmiN)aThA)#1zmdtE4X;SM?SrH~xog6gEt8-Vz7uP4I{@ zutr5K;?GydOG{CdGX^yn-}jp@=L0DjkPvlEAfy8Ju8n3-YwgE~Ln_|dDN?blu5w%B zD=-Bn3|7Yn2ZCHr{g(U=%1kH>GUiA)>|*C)6E!$sK~8)f{?UvM2GkTbsQ4z}K|kJ) zz(}6{)j$cm76S?Qq)cZVUFeAd8L<|_;N_K?rw3*e6Jxi?o)LhKD0@zIrJDh%+sr6d z58UmF=|N2*uORt-+pC&vPPv4eZoAJp@{XV*V7bR@MdO^B_|9aMd=+n-Ag)ufhK{wM zWf~e zJ^z-n19mc4pDFqgwHRhPQX=C=v1|E!rwN$yvl2;c2;LvH_b&Hnl_!~slPsY)5AD4K zQt@g+poVfIlhaXIc%8311_Nk7CRfOhkGR8Kt{#Z7uw|3WYx`u#>)ZF-qHfACsLz5M}jXe%AZ<*(U$yqAZKEn7;@0)whl9w3hyRkuFu zMT7%>Wg-G6uzH9G^=adqC$>Mx7el&mR6)QVKy2HWeAXM`$esF0nn}3t?i9t%-YF-| z-%FmjgLc1Ko=DzdXzBTJIQ{$>MUq1-k#U9Z*yE0)xlZnw3-%KmAECrZF{>iYVYl>N zKSWnBM8<8jiQ9OQQ3=gks9A?D8?%v3lIO=-+3-b=Z!PS7Xok-~=c%O$lVKdjt!#iW zv)31h2J3#L=#npb>p*`sGG-BbUuP)5*I4Ut=*jZJ^IQ83gs2O*v@lz5FT|SI4t+!` zxWs*kjsfBb%8+ql9S&-INHZ;$)!wi_VPKu0fsLV!F?pU(G< zA0K>rfUSd1he@ertg$t|Efny-J@t`{=iX8C3f*kq-gga<>6@+bOVrvF{~;E%cAy8O zQlFNfrokzic&FwijVV9NVapxKB_1wypgS+7)KI*kQhbiiNh&AL*zT z73}}d&%!zOCHbI|GuUhV=|0Qfy6^H=eOdW=G(r0ntJHXyiI1pZ^nfaPqhIui)Lo-%+|Z{H^^jN`GIp&+q^I)Y^YoA64JczW#et?`!y; zY(YTu{CfXfz9$v3Q-G z;Xf62YueDYGfIz)4eV4z!4cxs!yQvfxoD%h^vHKm12w%^Gzqb7z}hLL13D16_)G9X z3dUp}>m_e=;{rj^a$%?GztZ{vQHxzrARV(O8cn|ig`wHkAQLP=gY%?qhxz62b5J{R zU+F`_&yD_@FjTghc?h+vhST<)0yWg+O`42|JMCMl z^1jk0#v?N$FFvhC@9+TOt*n@5=NC+<-`#H<{QY=#TjQy2P|%+egLS z#k_YUEMA#hB&7mEsXu6SUGFIca#Nzy^|{-cXBC3iKLQV;vM|B&i9%>Z3CzLpa1m4T z*QC$4cpzGECDIs4CndIe1*;c&ZPkU{n^)uuR?6~w^8egpn9sa1^H*P1uzO4<&tcO+C?8O z03uq1xG{D+ryV2AxdOOI)9^Jfi=~#o-Qr1o8f_b4!_;7q-SL#^d|vcAB`=N=?i4f3 z5)SZe3C;TfbA?i^RzBs|2y^mEE8d*aBZ6xF_GE zE1M0Q+ogH>IfoX2un18dTf~7zldZnG_+XZaT;$z-qw{m*6aOF?^XzDBx1P{L+V6aK zKA%tEzwR@-OlWig)IkB6!zc3p3Z>la>BV9mhZe4@F6CkD(zX23`8P=%7ABDg1>Yd7 z#s-r1BZa?Xu?LaD%!F%Il83P`Sjjro5igF_;3ehCuHC{!ltwUS2qrXnJ)uPra zNf?8ufCEHia@?07lgi-4|MOk@+#!hV`+MH!|Ge+>>O<~1`|NS;wbovH?X}kKe17%j zHEV_W4>ALtjE%5gt*bVuZk{JbDbd-n_O0-JJnzq~o!{BM`tqoIEfuDYA$3XTb8Fi= zm#%#yO!I>{V86!w^431v`RrPNvMT+Jy6H#z+KtM)cFEedwcA*DHE7;7Z8`|bn{p(N zg%AB6AJIEQ|DQFhvj5`~G#iJWtr%aTIWn8UML1vd6e2ZlDh=kGgJsW>s>HL2#kqG| zX@$KTg61kJ{JZoJJhFsqKC1qyk~vpfRkdx<-BzO}ba1iNsAMd{7PGQJS@>(wS1TE&B948e?)Rjj~=S;slDo>u9`$Eo#8a2HhCV3)~kCbw&CVV zO|g5Zt2V!t+pZE@sk3iYVyn(|*5?y|Zdh`BxoXVmTe_}TawO96BlFBzmhz}W&*)u~ z9Nfc?raHlKNh=q7(YMd<>1XR*7E5p}^1OPQu36!ROJezL?p}7MOcaZucv-WlR53vn z4;ACCj2*Ws)Pr$L0t}}$mcI&lNZ*F&w{d={$wdmpows~9=6t*6 zoMUdy`IxV&r$G8}{vFF4@l#{xvYE@*;0F))5gDUT!@8H@13ok^H$AYwPo!Koo%by zUmF;Gtth&7QD?`h#juZdNc%ZRdvoWK)f?BmdTo#Rk2*0*fO*n^!UJdSmj@@&OWy%e z<0EhSw|>#JOW|T|tHO7x?BM;`waU$-7{UP6VO+dz%29BF1Ag{vIKhp#aX{DAH`I@0 zxqI89iEk}!@sUGrK6la}GfQnbDwy?BykX!p=$!j8s zZ8iDxVMCyzv9!I|PqnchW}^rHMk4b3-0q8{!?j6&Wn?Ye1WEU3(~LqxeB@x|*64$z ztJzqhC>l1p6%mnx$QRtdMw{Ge-u$YuVTub1(G{>No*;rzt9_5f0c9Yq=|0&U45FS@SPgEGF2N zW`cJ`%k(+X!|x4mm@g#Ekv;a3w@rAdg>@F!(p1Tg5xpbv{Zn(kr0uHCA!^x{avaKc z)7_;mM~jzJ1^TI+6VFQb?weA61Wj^-Gi}Igula<2)~PLSX_%oPeBU%(T3Zw$^WE~V zNfDwu0cM>py+_crj;@E=nu(@K@%r2_=?>GU1Wiwp%i3x!Fm;KfVE3ETd=>IL*86a@C3JVcPrZAuA;2YYH#?V zAGqVK;=HbZ?WNz&!O}7};&l(i!_rVag+o3Ku~&$d$AlSngg_jAO$JL(kVB+l>4u>m zh|4XL=@g&Y?&}d;LoDsu=#vz;O!ILXRS6OA58wB{R#h+X#+pIXCX!|JsB%b`KdZbZU2I;FcT#u1@gh>O#fV* z%6+xhQY`~F_TjESOX>#}{jLYodXjZ+oEpX@uek7RRhJXVbu+XhQ|Mx01g#(w!gk%M zsEUF)QwppB6i)7UaHX#M1eAvWPHl3!PHzkt07bm@1GcVR2e4jqY`~U#N@T{_p{1oD zRKSH1o7vrCJI8*B&D~K^upw`_y_XJb5H;S;4M;$+dr|e>mJ9 zuB%OKa1rP%r+XV+Z@QOKz#k4q@8%~xQ(Yb1`Dd~F^E!_$TH}nT{d}cQ@aLRc+^u1T z-&h9deR`PTCnN~JT29Q+djpRiRZqeF97Xa~8M6MZvB&s#G6{Ees-5`g5Nl6n0g%>! zb5QJy7r8@Dut}_KxisQZ*so;fgZ1%kHbJ}VJ_UeAxzXUOs{&YS#LN5WYd$)CfK zoZwF>ei^=wf5)o2UB&-OaSj9;P1io*ZO`=OvoZBkMkqBF^&ICqIG?uYF(UD*Jue9p z;YAU*o-;8z&Z8;*+-%k;GIHRbUdc5CZ zAT)il`cvZj!yP_?fa_yNeevhP9UqH*5(;}D^)&bWRK~x+eLt0PV+Q2?ipR5GLF`Q+ zs4*51=)FB#-l2?z&UnRt2@ z3Q)Oe%pnkZxe0z+{-kJkRr17ae6zCtJFduv!x+{`bF`VMFlLW`(?J|!hDe6K0MNKg zzig+xfEm%TYR@bDm6Gfl4&Bs)EBTf8WBv5HSn%U{b`SdO8k0gLp_Za~bw{!~`I909 zTKB*~eue5M-JT*c&Oll)h%R&!=n6t>7&&4cy>gYTf+(ZA#g}$Zv7~YIoT~HsLFw}x zXKd;CX?x-KyHt_J?;9HSf!{{Yi&hx$jGmve5@3^rm%sQAxEF14?Ht`Pvyu!S=g|}Q zkI)SO_6IY3>oq?`w`UTb4Glf6rN0yhm~Im0Bq9rz-KGhayvY3q8P7foi4J2xA@ZEX z_Z;#ydg*>y(>OQnO233Z$fT*Klfw7e_6{+=(Q5bL$Dc@L7JdA%0fG`5M&`4y|0C~9!m0$?3kRB{pXQ|`UZ*#Cg`~B?szTj8pJ_^_0gOSDzej8u#@arLY zjlsSeX4npB49Ppf3>!j#b{>;K^yhi>0BtfR8#L)OBZJ#pLMZDbBa`@QIA3>Kbq4yW z7!t!ZwR+Fg>U}`_B6Jkn<_Hb3u!Ahlt}Be7{!ytY8DB_BB^@@%9z08Kj#1( zgK~`IzGXs0(4=z!o2WZjQ$V)s?WM`TOeQKoFH3mT3ku)1jiUI-TiVw!rwFKpr-&J% ze;=SfMfy{wO`tz;B6rO(3;%4Zq*hbFROt{AIW=P-xcu z+Riff9R>iT!CQA8kDdm!sw_4NjbpBOCPuWq(}%*j(t8HKt<+9;w=dGS#zxXMAU(roH|#?x56#}vkYXv&Mi>-e2=qhb?U)doF(K-7w= zBCW4omKq}n+IdYaA#gGdmg$%}5r68Z13w=Or57O=&_K&b`2(3;eL>~T)eh6s zs*2%}8E44jku$XOI3`?oR1^wL<){5`Hk6vr}NzhgMpL0{qizydH= zn)+bQR|oRQMXEl?iFqev~T)Sq$1 zT^FSB-JM2r&!{=<%ygWPXy@d=shI?*taYR4Xtfl1?fJnY94_~JnJ;;bua|^%FM|;z z0a~_xv|wXP45tv)mQUrnN4edM(p_a<$vd``56iCpM&sfFyq{_YwQ}E1EU3o%Ar0Of zizal)i!uX_pV}iWSE$ZmLxP*M@5Pmj@Eeay|2CEd^Q0HA{(j@)VlAS-wzMH=kU7gL zE)2eJNY_5K#nQ_MVevSgBifVNgP*lgML$#FRgy@s7sdI$6s+sBSljROcnW(utXog% z$HkRbmk?}1#$dOnzG8@~4R`Yoc~mdvrs{cuq*!0PJy16cu&_jfVTTAplf@DrUSSKA zNcCNIBS>aq&WVMV)c@_=`hSIFKx0<_@XypgXa$`Qtnvm?#Q#$N_t;7v_J8}LZ2fQh4>|p} z`X4z~3)8=?AI9%}v2QOwS z#^cK|XiN_5D$U{#smp_(>M+%>zj~jV6NgkaSuF=n< z&Pv!DA}pD$-Pl?{f#-L4DuD~Bj^wIaE{jzqIyi#WiQH}ih`x?<(1!eBO~l`PpOt!8 z69&M~^1%5=GKQ^g<_NAWEkyXk6Xb}H{pp;JqrO;jhR)?Ky_roP!q27DOJLKWtX1;Qq!{{h*ftgh0D#si-4xa-z(6_vQc+VYztqfM+6$Vc zzs7zLuhqojoJG1Su~?_AEMQD@vO3Zu^+lcQX5!B==Q^(1E7NDrwpkpR>DuIQJ0#aM zc}xh=U~yub&SSfsS8dbL=>~svT02N9HMF83e35_O6AA#ml{pxo^HQC~dkjEE4G%@j zG&hqYsgL2wv;A~Sl*V+#!?cw8e6S>xs#?2%7%EU#^o;S;7WgJcD1gk#q13s)A7$*9oNOMwi4>?ean9-^F>%VxR#Kt*77dS zR|jl$ttbehw0*kx?x17Q{qDXS&B@Q zSSY`EaAFan$ zx{w#|-;BLOlcfiDp*3%^bbM{^V*JohICTcyh?xRDFEcjE|5fFKrn$Ugyg(nya9Avx zhda<9?#0`Ab8WQLO<@bn0I9~3d1Q9^d%0E!B8nw;Qe-9np6A~JS55Xs#0JSV$fGc!BFpMx{#7R(RnK9C&u@m`6Sb@^p-93dysWXD+_+ERseZ5s=Z zS`uq}L;ggFC7kV*yAq_ySaLdbR7Z!n{dn_RxN2N&w4u}Pt)}PrUc_qy4PyByxYxOJ zk$I4D&h9U5H=%XZ_H8q0Tl$L#V(`nL`KkC0(L`C5kCSN^ldw1q6n*gdlvskuiS(_s zYjP-;At8acq$;O_-sA}9;D9DBQjLYrCIh{L!OA}mn78R1A41h zRgLrW7gk44QOsPT|6uC5zltUXMisDzt?JoqRapZu1XZiWM;_hG2RkAS{T*4WQq2*9u$Hg)&{x5}j1pt+J6L)D=W<_P6K$kYFFMU=hdXm2`2 z-%8y*TocQ}S_$WJ|MV?jc3NDJ=K{>F=qj54x?-cq%G3V~mA1wL)yac@KBys492I`dyj0 z%tPp3>>}G#WOv@P+ZeX*BDT5oPay-;8!I0Qhsl9$qS}*_1%W3Gb2>=?y>Vdr(Yy1{-eD}bc#N3AJ679X;4)6F`yfyvKH zV^=D?4`ggGhd}oz*TNf=mJ$%g>!RZam^N^KGl-}Us1O2JWj7J9uk^2M;8I^lIi01z zOgxoP?XXlKy>*b28=!yDbK2M~ROD{y55b-JgI15i>JQoPB~W5uJZBqeZp(@3<268EEVmoA4sGtvDXMqA(Oy6<0)N&TU>Dzlf=*G7W*j zFtOI=O$QLq*wMuTIzXh}qs&x6{#85OZ#l(dh|r14!dCi0`6KOgzXQlV9`>NsXnN-6 zj^8WCybsqW=bAg{klG1X0KCCb+3!RTml?W1px`XSi1b28(UkxhK(d6?Odw#$ zS;^{8U;~43;Z}I-0mT9+@u&q)k?&$zgrNU^lzsk_u?a5|hNx#v%XNo>dT<|iO}nUD zTq~GE{C@Be{Z>tK;Gxp0(X*)QjpQVDQDT4=cGtA@id9UG)c2yym}q}dNvWu!n5og^ zh(W2t$;s$X2P^`{;(AmOb^XCFqKb1PE=#&A;;he)>h|N|2(x1o002?zsuG*fG9+G9 zh|jS#Em*nJyw@~VT#157=hHP4kTtI_t7(ZpzY7*rF@tp3+Zbm{UWgMmVd-}I&S0PQ zifl*UcK4xIs9^|34WGaR*rXpPB)EYSH?Yg%v=@UcLlSGXi%v(~Ox^JGu06Als#bfaPxJ2A| z6_1+53<-~#UcuutYHKF^2*iskqTI)IZLY8m##mR?wyBU9E#^Cq@z7zX}G_98M=P0#8> zN^m1*72V>7w;Fy^^RWIf-Eu{9v<0!g4-)72=wLuEqq+y_dR625`PE-SpodjWTq?%uHd#fRrpb3lh3Nie5g6d zR)T4A;1Vrn$NVYD3b4Ft)OFgxLh#; zVNakG(p%8nv%nKP+u5Dfp!+0Ok*;Er_Igj*cUZ05*lQDy*=9vkJdS34fk?LkJ*>dR zk+6}U`wda^a7#wY_hrVc5*NFU9*^Xyg-9;y^dzZz?+t}D>?mWzICws2T1iSR7&nSQ z-MutEoozDIpyQ^Z=MVK%S zrE5*1GuGm>g9-{N^&nyyg{X(THea1kssfUNISaLn9k{@AtQqQ>;R*oYWI!yzkV?oz z$O>1e)j}xaCqx4kUBV<{i2~ysLs)Qy&Jlsgo&2(Kk%=KT{GN8xd;``~GocMsh9NDj zW$H>iC#p(bpcNaQYa)NS%$YZH2$4Yp$sO)v?9ue)CDeIUiOy7>u@u1%$;gxDHLrt| zGILlcdYIco8d}F0di*M{uo`gNAw?GZmHpE@1 zyj{F1#}TRbHH4h~(inE1>CKXR{xMo6W)Fv$UlXe*E&}&Uz3=Tgv7lL~>Am;QB54ee z7PwE*ESNOV<=(SL_NQj4u2||@cud{;D$G3F9QLe!!#noeVD1$#qmSA?>CyOBPx&D*z08F{rsp-7JCl97;=C3t;u!xlWL-j_x?3S%;TD~@ zD_`8RP${CxVRTbbw9mJSc68bj!@4G0x_8`7m@wFSJkPD>Q#iU(Kf0R4CU*#rVQg-1 zmtocH`8d-bd!Nb9EN8Ilx9kgR?0x|S>M(WKw3cs2z=b1FF!gWz2xq`uqQVL9c`=(C zx7_c|R1?uxJM@FZ0Fvz2h>C?Bjsn+;PqG!Qj`rtafZ?NUFA2De@LQ9teiy2aOCI+7 z%kZwFQUbX_|NZmgeT`OS5cqMiSyUY(IpYWx_yNF4>2X2;DiiiR1zQBog6f{rB30&Y z!UngZYi5$JH1C;7$N_S}ZVzIn5qx2$xm)(|Yjxs7_cu%;eFYpxcVy>rD)DSbuojyh zBw4VK**vvGHPH{uE4b$-yQf=&0ho<<(7UNdXwKgsrGr2_7R@<5p5$)$yDgSk|BuOk z@Cjaq-Qq3{Gu#9GF_*$D^L<%mR_<6>95g>gqKwIcX8ASfd<#$jnor%6T3gKq(>;T& z2go%N(%K;ledzpUg(e=(oXJZ6JbtT@0KH-CR(umwC0kZW(9EHG8jLoE+J%*j>;>#_ za;G}v&w zJ}7Z43!m1A0f^YV5>EMD89f_+v`{SJJSyG!pf;AAcmd~A%zZXs?i2Lrx-~rEmaSLj zxF6C-UAEmH`ClT4)iD=-rIpRdY3>+|7U9p@9H(tX-WYDSBIjruJmOhCH_k^8S?@6? zd;h3AK^O^vX77KLMv&+?n0(1lz!yk0VOZ|hqpZEiY8Wtx#^#z*Srkt6P+i7@uB@ezhID2W}-mDc25yLcRXP;D0cZM#6gD_NS!(8 zT|&*8BD1?5)9c<$ky+#&IWYZt$4%BQ4p#R+*JJL`W{2>UHZd1GZ&Pl1%r&B^&(~wF zWpV1J$MpOR<32c>bCKcqr@z;i02bc z8YGh=c0BkX?PaxAjcSEDSk(2!G(XAFTh2#s`90K@s{keIir4?5w0x`ksv^;;*oZA$ zU&@~{`0ZP7S?=198&swoFirie+H!~+E%adBD*KGuQjGO{(^?MDf>O%9BdfKX-(71t zK>H;(5$wroEzd(^U}L&{ps|%oJNMwKi(OSR3|@fk2y0pVf>3c;mZP|o-EPf<7e1r7 z>=F~EsnVJW%c{`I(4|mwDNj+ay!_OyL0_3sURJ`_-~~g)7v>}1qP#rahC^87wQj}3 zyR)CnMm zpBGKa`ppIGu*C(2`_9k@gn`{OkGC0oH>e^gqF4JAyVtq#Kpo`Ht%a`s@rZ52I50E6 z;KG+}5A1%yhF>8~DBV)d-EeMcWlj|j#>fJF+9QeCl#&d$RI<;6;TzpOL!1VV1> zafNgOLPOZitmt;em*-Y*D#)8#qQTl}vaGSkA!lZ`@Isu@42GqCZVEQ`2@Nxk$m5hx zAh&_sb}F=#Jku1?A!HMuQnpy?!7@SLL*4VrWI>y8;?eG@-|pJ;?J5*Z3_CVqys7aG z7^cmgZIG)!+ym^iX_1)+3K+4}awFw*Klb~3zyUoRg%8^be9kkl*&mJ$8pJ_MkKc>x{gx5inPodvzn8cp ze<{rTRJ`!3$j7SoCTr>O@zGv&jc=3&&5v4@%&|7QquAZD1Pe5^8WnYMp;*vVCWboU zRg~GFmcK2?J@km09sCRB^LtaFpWE+UtD=kV zdDqctxn8UQ_u2xtnA0eArj=iHrefoa(KRhYx1bJr4mg-;GAg6_?g3yOZp))X%_Zmw z0+}k!l)YBVNcn z;R>uhHA{l62Y>jBW#T|(LGuo#XU5fX=%tZ?h?@(Bw-h{T@w4w251r6@R?BrCFk^$! zkt)P8RlH5)^f3!C3bS#uD=O$sI1<*P+TK)B+k>OZ){+>Zl;0edzsUVdGPC&{Gea{U z;(Bm(Fb4F5fyH#s-Afit@E!abx@>WWBHt??%Yu=;5vJRU1OZ$z`o}10v1*I<})Uc6y?Q_G&r!2yey)}G!Gl8Wdc z*L+_Ne^pO6A}Pu{8-*5Y%>wt&`!p;-#!1c>s8)Fn)o)8dG$p1yN;|tf7OzmOravOS zmiL{m7&*$e7U?B^oy{CwU*slM*!F9%ptacKTxQoj!;|I_glsMsPtkg`fCp9g5Fb+t zlrE2VrrHF*@#qVg*sjO@C6e^5{{r9;Rns9sur0#Ra?n&_E*BGSD zyXpJ(rR+P=lzqQt?xpNA5Af9K_jK2%odcSu>G^Z?egA@5CCO#^z#rX9Xh9;bWa2iaarc4BVF#|E@AxT!x+ zV!Ecy`oOmA zJfEM|2f|Nv!PQ|UCJlyl?yV7g3i*M32KvD1&}Mr7ymw6C8#YY?bneH$^h@tg>702+ zT>Mj?&}_XWp1Wm;Un5Gn^5oEwb)h?tHP6T3E!u668mA29Y{EdbTGccPwcY`84s`di zY?6A4)qkW}Z*dIkTcT zM-Ak&m~$Mw44flGMF801`Z5-}5#!V){^h#HTcb3Y%AG2||gMa3` zxf+JEqsh{W<422~*4!%!S*JGt(q&7e_$^4TQT<8$DcR&>L#b!*crt#VO&^#K4BT#; z(xB-EvNlXFWP7P-I@LH!R_Ua>=^Wl_CTumTw2L=HmIX{~H7wDD9TNy7C&iLymT)8r zA(pC91!Yom;HRjglpXIB9JgdX#|>_%5MKbr(RUYo)s~I?UB;8xV!C>Z*y;Os0sWJl z69I3IQ$60SOI^Q>J)Vf8%)Zmql2BF8#W}ht1M`}yip4W;GYJAv0cr|qlxma5{9Xz^^_3 zws%f9`;j8~0p)HV|Iy<-FWn%9jU`vm9zMW*yDc2fg!uO2yqi; zwB`nIBmT2}mq_q$zK;;9fByGaVjCJSLadDl)yi8F+tV)13nTS=xp;alb1aF~+?<-; zIjUxir0~N;&z!$3v7{zBG!O3)3&WOCQSZaE1^<#(l-B#MCYHa@J#|YTGbZ(8xAFd8 z-QU%Bck6HHUn{@hjGB3zF@!~KS-AyS5R$?X+W)IiY{&gTYd^7RgE{q5Lb_YLjEBjl z!mvg>TS~p(qmUz*^m?AYZ{vfE_E}Mbr9HatSJVc*N6;V67(OcbT|#Uw9E9sy$nRK> zhhg6^M8M;>d=A)<(oas1OSi zcEs|x#gbPMcz$;<=i1&3;lnh4`}~j%8x>kqe&*?;v>g6M)T~yL74>+(YY*qG!>%z1 zZux}X;Jvaqn3d#-&)<~S&4m%Ntgwu$!;G7J##e(`8VPy6!xR<&07teH-?WVHh8ZQ# zP~)ax)@k;1VuyWheS){V;Fdr8&-l9x@Sj)P=M~{+MHHv>i@~f<$WG<&2Dgm$8Q%Rx_)eCoLNc>cCtdl-e=3{F$uP>E|#=kJQ?2Urrh)tm>b5n$0p2Tk z@*7~j;@DK}Xyr)~vk#(7P~iP7im#kXFX%~F;8&rCSYx}7nd<2qhtVoIF1=j>@{gLJ zC<*ztCIV$W8b5-P@*bvBoi~b40Och+;c}TNJ59B`j*@MK(Z< zo&mNWwTzMFVcM~L7fe}v>5OE&SC7;Ww4KQK^AhrQ`5qmZFY1~46(ps?)8pCiv^87} zj#PuK*G}ed$6Oi}FnL}KB!giu0L-RGDXrY%6C=eZTCc5DZUeo#=Cij4!ah4bBxW7rv1 z%&$Kzm~(D#j@o)BmJe#%(UxD|E3x?DNPNHW798y>%(O&8OKKZZ>g*hB|F``8CHj`j zdwTx=$a~%kW*ibfdcQn)J+M9C8Xot-^DR2`cmOsA41mMm_!M0ve-+a=o-2Yg>Aw!s znW*uVOjMZvCxW?Ovoyi~TjPmiTVrxF?dPle|A=O~|4$zObN8q8f?Ls_eGGt(X7Teg zk(0Zcjh@p>LTa$kJtuz_UzSHR__C14|1rKSXM^qcH^09F5dyh^8ys`Fr{pJsE;ZC2 z)c8(m{E%2n;W2j>=P@ey4KEkW=7rx4cUYpQhwk|g{Yg&#l<6k6KxG04a9zccd~xuz%m?PdHjGI-f5tDTW8{5QQL!BpD7|G z-Rv{h@0aKL(xRDT(OicA>|LML0T7Dghs%yEesEpemfm%3n|u2hK9xgu))xpb_R+`< zYUEFgGL0CVv3r044DUT?8It9G>7}!BU*)S*{_@Y1AKp87{QO>RyLxIHxITYKd;R|D zYBZ0Z9qex6OuJ~do*anP%}#SGl{0IX6VS`RwbaPLoR?p(vTcD@ zlY4mdQRB|`>d1xZ;BdBXJo#3RK19PB)UmG-AH={I?dC$pH0aaBHUx~s;(3_y?g-}Y zanax6KroN4VIFbFv5Y87KM?CH9G7!a&iI2lBYJ;zc<+bv>$}T=`+&=aYk|wpDH+1W z(}NuA=9~vfxx(~h1b2zmdip=ty~=1aJ^2N7bn8iN*pqaA9QA4+E{?O%`Z^7HnPTc@ zmXF&j)@9`hn|C`Fc52sE8B$xhZzsG-Q|6Uva=a>Ia zeDA1f8vo~%7rfnwBYWm0+C4#jm>=)I7Za*f2fnt?3jF%m+sbnzEtuB$VPSAryVzBq zW#IFm|Dnr0phLV;dQ-4Nn(hYyI{D=Gc z+$EGo*C3{HCZ>y?sqE$)hsF=cUd^a=B`cTqxh;pkg!N(iRg3Ya@BKYy5K&*0k!mR~ zdu;#pTKnpm+9fw+nA*8K`u4A}_Tz0Tq7cEx)ZUyC>cg_~(v?m7=%=01oPV8x;%%wJ z&azx_i#>bA5t-qRA-IljZa?4LlQ|YPUbI!|5$(3t&!PiK#Sf}Ce~%{jpsR~nqF|? zGv9z6xK9`4p)$n{OQX()5+94^`8!8%0{E z;ao%N;frsz<7v)cW_$yy5O3y+dscpbDts0nF>6;HkfYm8yIiJ^Hl zjd4}Q+L_C8b;1}MyyF$Z^jmhP?Ad{Dt~$7oskQa!KlJbEmVeVfj*&;@<&+tTmE6?52XB{9T%mZvcl-0#G}1j z?G6*0F}AoUrTFou72dNLSSDE?E9tmyez;q z(1EDS*cd)`d>^FCAl{Tu&H z`JbiBTSR5bADS&M8ejQ<3LBp7v;A=W|MD|h59qUdg~fsassAcJ)f(Std5;e{tD^2q z=xzN8niNvec+QR~sxN4g*S-Mx_H_S#n`Jl?iVT|W<5@mqQiaAQOwTMK{cp;k)M@_a zl6Rp~*b4_j6YTyLEVsHXAh9>NxP?>qvl0cH6#sZw#panWFlRV^h(X&qySR_{C`(;1 z&5)sqc4?Vxn%eYNm|}yaV}BBgiSA}|k*?;Q%-yn9TKTMa61MO-1;Tm+FPs4szd9qz z-e4h9+;VVRKuXY_L9O*Fn}zEHvB&IVe6pS$q5-orQO`vOnQS|5RPzpR3HVW8OBf*w zy18UTRweHcy8(d$7?-*-&PsO-V_$SF+PT6HOBIK$U#r~I%9W5Jq3cI!d|8df%3=Yg zo27R~zRs<88N##b#XkY2j%MruYSQ8G5W;<7X8LAI7b|_ z7w*l}!}kL259LCy#JZqwEk5dGxl~V+g1$a#0D8#--W_aJc-vq~H$@w0!YaL#D)3Rz zZO!+PrvC`4N0dS`>14w`$1+KB1-GQpnWQI3av$9zu8$21?u|lI`NIfJ9Tqv3%}l!Nc6+>8A=lR9*4u z%ojrYlAW#{#>2rU%T3TU&Fkh1KmD3?uK)t5aC&-|4MdYipWAZ==A$B#Sh$oDHe?&j zi5d)MKQb;p<1W>|t~T+8JC(&bB>b9Yj^pE_C8^W9D{rCObaX1eroy(1UFTGf_Zxty;r-$(e8Ms%=$`kLGkt>e z+8RF0c%Azd8Y5-b!SC-v*n{ASc8nT-N|l<6gl%JnJcZfK1UD+NIUW3Jq3xsadD<}p zYPa>eWsJ-L`t`&*nII?&>NmqI)Jzw00oBSppcqk2NfCaTmiQ?G)*rv58!5K9M=_%? zo6~vDA;QU9t&zKWY7;KxC0;)wQ*qKsPBV_~`aTmiOnPs(#U_5Xf#e@QHj+o`_BcrvLPxBG~_8^zP{v9+Gje5E_n zH-Emhc#3bHi}$v)a;ro`Fz2iS5iZC7)mU`$r!0OlSH+(=y*SS{6*2Rb#L^2xzkX5K zgSj66vL02Y<;?k&T8k)j+%yVlH~WB|WT=krs;&5_{_R@mM&qweZ1hIocXai_e_^7Qg?Xd$KlXgBrscn4=xht! zqw8>n!n9>n#oP58&B%25Yy$ug>FzVrpdMBwTy-La?(oZ#6i_v*Lvi=v%8{i%r0u6X zzGixZ+dwb6LNB_0mWE$OYGp1Jq6aErE{rcm+@!dN-b`4TM#OQGrgD}{0a~h~1=u&= zZ1Jg*C;w<9RFV9~EBo~U&Tq+WqD;MYV_B3jT(b~fY$V0xi`|1o%Jq&c-TqP7N4^zu zDQl{s+8Fg>c)4a&;sc!WduGQYA4MD^0QdspsTT?0!*<0g*3`d^p?d+bo@g<+P4=o- z02Ua7W}k%t`iCqR*wVQpHppfN2L%?o+WZf~`E!HU;_g<_RnLOA(~Y2G@;fJj6NbjJ z%lk)ftf;7w$(YAw{8OVN)7^EN{Xwg9=bvn;Ytwu-3zZoo zvJe3r-UR;uf*t{gR4?*-U{Pr?m0E>^R@;G&?X=t(s`pFeV+dW3rSV_>iYq+{egFxE z?10f@x$RCefh1@WV`iXIgAE`F^*_G0+|hSeYh`3X(EK+($C4)xiW%8qM9`@pc}+%$bm1r=eiT7hNxGau5Zr=B-A4lMRbwMwEGO0Pj%*qFo{RrC z2nYZoBNGMNF!~IdWNe~OQg=M*9-|t}#rlDZ7ns{={a;M)AZyV`VwDWhT86f}Z$Oh3 zbh$uE93hl@R1?d$+eAIhtyRI@i@Iicx-+}=+9+1#*qv6h+#R>JFi(cE%>s+r zsJXXMd&q01Og{C$r5{nTRVhSjk$hn{_@SI?{Yk9B#*N+(-|$^b+6QlP$3vZpQv}6e z);iR=dv6abJ8gV4de!q{7QZN1Yf6W%s|eML#D}r%PPs4k)22XJd)!;P3~DEf;yGx0 z^3qL~2b_m|B zJl~JbEu7`vp?&a(@A{_GrL!6Q`N6T__kEnNtN*~FFwWrpIQ|KeNJjZ=Wk!Et{_0Hr zTf+QS`RrI?Sq3DS^!~Wj{h<4I$}7FyZJ+;n@bcgPo?EUPJlqJ*O4P;A8IM~u>vO-0 zzjA+37!t=6Xjo&>G z(1RH`vgr?`(+8~<4;X$c12K5NhM<(X%f4EDW*^dD_9RC)zFitGWtZG>MXo(aOJU8A zy1%#OzIQ91Z{-tvmG6_ApZageeeYJ@w|~Rs-P`N|ODvOl@6iR|+{*Ayi}1$zpy_d3fH2%J3tw*}$TjM^sD$XGbFR0G;C&J7dx_X; z7s2z5;|JYdk*qiCVIXAJwC&c7@Z5)?8{um!bhQ-bmlyZ0GHz^UzeDYAsp>>~ZE{!y zgRA9@@01YgI5uHLEdRr5Hq`mAR3~2bS7B8pmRIeV7pXspl&a+)h1QzGlVke#sBGQR z8&k(CdV5<<42rTg#j(W7>co;^i4@hZ$gRF6$stYtGBz{m`d3u#SYY*UtXlqw)&Exh z@Z|X8b>)1qZgari?1I(Q#z;t#ZSu5;H)*RA3!fx=wDz=Rm7A)@~H z6*Yy7iS5;7iipNpqIEr5I9KW=G z!Mm1)7paK`N7ocYd48Ga0{=YzMV|ZVxpQ;pv#Yz-tPXCG-ZE&ui@$4D>3{Ri#-D%P zp5>BDo9~1(b;Z*1wa>F=Ro5w=Pi5YZ>HbcRe&VP67WrTQ-Oj`(b(1BGuPpzNDXUJ7 z?3p?ZH>B(W+}XbBfYOW58nt*GnZ&Kyfr0MYd0{Kj@8?)Ee@IvL{eDO z8Qi3JR$T>aI_qZJINu9yRNUdt^_|bIxM@8xg^#?h|m1>oo%b$=-jZT@U)NnqljNvQR;j?d&>+r4nV zC|3o1sV0BEVv|0|EO|Hz9?}9T)TL5u6R_eY9}qH8V)4LJcfz)-63fhd+4~3J8-O)N zVr6J@i|uqf{KE5u;E|Ou4r3JTjLpOt?ty(HIBqOr!U`Gj%6sXt7JY+lmZK!=4 zP4Q2pJbnSs++lJ7H*}Rbe)(ryKqUSq&mZuQ3Nn=a63<0@Q+Dbo-RY4-ubrUSdc*M# zg~>nQGx!a~Kq<2(>TPdqUfTgS8!mqqkGu9adBxMc0^t5N#6rWy1dh@@ZGWEXr*6zv zyPoP=$p_VKc+Jz>hn*d%1X;rU+nQDMX#3Tr{O;YGbYD_0kR95CWKz@B?T*z%+w9b( zFN6l+xp?)^=r_L!6%UQ-iz{Z2y&BERYa4hi=cyDr-_3I=&!bnhS`jW!Iqy75xYr-H z+?5EGrA!i4uHCSDU{n=!LeZ&L3D;>&@@h?1TCGE)qerKkEO)=~m6WbcsodIaVH4%w z`j(oQ>A#j|ny4h7HBp{QnT+M_b<^^dmrox0UU&K8-o4%{>Ti8~wN7(*(!+8*xFI+%X!ef|Ue&nR%`v1c`f408MR?qRxZBDLvKzi!`HANY2q zyH(#LDN1Yhz|I~f(O*eOfS_r)AqJl;_8b!EOBpHtrt74u+UaKS%Zea*zV$PmX`pi`<1_yY`@54`}lX!QI%%sA=?+k{vWV6 zt~%}8B~z*tF@BGG;Ce5=_kL1sE@Bk*FPMz{QrEH&Ppu)JCJEf%9+{S>-Cxj-Xk5SJ z7scAovvRYii53!a4(Cn(P{Rf%JW`X_`>@3PvFA$5y@^OJ@#p||?Vr_|1?qT|J#?*qGk)vGRNp)? zdaOGQivfBW^SzvBxZAZkGoSnHZ^R9|#P?Urm|^YU^L)Z%B&i|gFOa3B@+$cc~mVVTxKAV1@F^7;hTc~z}iGg*Dk9rA6m}M zU@noV4A~Tu{wsG zu}D2jS@W>p9Uk7zqvD9EIgZ+g3+mE#up%uucf_t;C5 zvghq{z9VkzMFMDcz9S);`1wBdTm!ew_X(CWGv5R0N_xH!l&KYu3IeL^N7(PoNc|%~LdEMZV4BnX&Is!=M$+ z8QJ`_i3nTX&6#?s`~B3H@TBzs`0q8J{UOpU{QZ3PQrhRvr{nnebLaC}KJH^aAG0#y zeE!~E8Z&hj0d;lpL{DRM6L-(!h(O@3-c9c^Nt2B7xvE|X%`DUV;TT$An(_|@TG zLj3Y-aOor7b9+1zjHhx1KHEAv-9h3*`A<~@@{+>nEi}_i=~p#l6Ej7=RHPfe!{x5n^|H~`_kUWzgMAj~9(P+m zZN}D}W1}WE{ucM*`SwhpU0XX|y2W0f(Wf%TLol+|`oHSbz21tx?~MkU?*(T7npp+7 z+i}9sLIb?(dvjj~=Tk#DazeDyTFvTzu%fXUo`tJ@(TsjNNuW{IdA95Ecb=9aQB(4z zDQNB#&?P(XVc&)zv%yVo{sJEjN;?wkapa}tSPmlR$+Y}l-e&AP3PmgYteMr+| z$FJ-)OOG*D`Onhh858Kk=g{Lqur$-ZC;dyo#02ZD4g4(N38Qt=u^X{5KsSL(#{4B0io$%=u;t57|(ZPmi(6{TS9{f z{$`WrbpeP=vgPuMZj;&F#ecW=DirQ_Qo@VrH}gaQE0p{opd=-ts%>%Y6qOwaNX$w5 zBDcNEu&n7X;PWs=ciRF?vG1pFYJUnEkyuAdX8Tiyb>b@@-LDp{Gn1(i8d8nS)gt$x z)mYDAmdxn(yvzqoU%8omr!doPyFw-3aVdUN{|%aA`s5|kcmbExp%~lgjVX_cpReLw4bUMm>WzoG>%5wY09y)Co zElVyoV0MMX{_8N${v1=NjO60X?7#A3pE$!Zt#dbF-A9EAl-B}vu`_|3g%211)!wR@ zm^&#W5Z=PCb|Z&KEUivQFb@xW846K1{X)jMK5|9R^N|U=?Nd|tz@5|Ub=ALs>YlDg z)9)UhJ3#UbJX8LqJ3Mo!UgvGD-?#jT-q$cCBljHX6W$2n@SZKg{+<6J$4<0p7ho@`+|ADfbFB*JO$DX`-hgEXW4Uh3+dndU}!pSMZ3v ziJGd(FRB^JFM+|E_82@vvCn|%#}5SC#u^0C(5FQNFC1EI=|5c}SRzNU|H#>2WX|6` zJWqiY`1<_&F`4&_wNqV9Fk^m(kuDhR$M|s?oR7tPf`#3t-@gentj-eODI z;Y{)3vk#H{ZTb{6AsXJ+@F5C|cM`+LBbA^8i z@%cOfp2MWQ@6V`oRp)p(>0H%ttbBw|*ahI!kJ2!M0&VLR z>$q5IfupF*s|6k|QZ&9$F;ErUHNP5V02+bI(Fi;V14*>WS{Nv`|bK1cz61j4F8b6rb;HzqkNRYkH^-U zicP2BoJX8rIoVzWabbXBwaEt{*LYJluG`b8L_L02`&_`3&yXlO0?Dmm#nG_-X?(6 zD;MY0p|CHF_opTfh{m5adV6rmStWKHuss;KJTW#>*SNki(MD*1#MameXO`CzC;#5q z&grFRB&w5nvi+G%&j?&d>3-@Y*YegNifSZW`$2Wf__7rBc;B&ks$553eMd#OZiLGO z`Lu?_i%OJuadBO9NBpSRaa)BP{OiyW&RL~)kVCFEWzw~(jq}H)XAeP!`J2MQ#<}IX zXM|XYXcGb0M7uXYj65EvAA)A{D@zCJ$6r3WK4d)d4oE- z)?n|*sp^VKyTyG=t8vpY!;%xf+QV-~ZrD`D%wvQ-f=K)4voNCNj&YCBrHUi@Aedmc zcoCTnx9y?JMkRK~dUA`B5@Q@w*5(sV*2#2oG$dACjo`r035c&hlU+F{ZH?0jaev$0 zoNkSp@DemQm^!&F=hkSe{azlOJTh5uw-RMM8LR*)gcKHrW)-6Z`?Tj6rIX zKaZ~Gx2pnX?D+whQ#fsFAI~?aejb&!C;H8bB}eBArTew&Z^69UimmYp824ycRV}s6 znU3%V*vmB(J1LwDRgdwV;u0Uf1ne zc^?3xH}-eq4Qg%Nu#1RetunYd1dcxR(2B)ZVO7?zS1jM{U=|DF1uc18PRS$=(L9aA zY|CcP6@VL>jd2PLj+pk=u*Ca{1z%dr`?yhwHOkI>jpyz;=@o!OlflN+GlO(iU0l0> zQJw_QFJ2ssz^th?pWe1rESUK^CIYo6MH}Zc2jiMv5{z4#?h=Ueo9=4h2eNH?X*~~4 zCq2~_Z`A)1b7*x4Za{}dCAP~xaU42t-7y=X<|`&fC-e7DhPj4^yglXvhYCq`bJ3;w z+?7i|g5&;V)Ds-%ug9wx5eaS|#E?PX!8nYF=yJG_^sg-^-|;T?d@E#JwJ_BmE@4n( znKVe4{fi1-h*W1mwm)jpj@7t-Myf+n`w$nP4IKw z=D}|5+;IjXpdez60oui>8itUwxu)M$=L@ktUxB4?s(^>0$X}L}w|W1ib}S!j63=0i z0%hyAAV~EJIe+lV{cNzxEPmnlN?8!02#KX8vC1yQ9+@0tz9HrU%gEsXDfx%IuuB6( zH?z|{_MvnKyE2z*&zu9NFJmgYfw@xrzpR`8Qn%q$=EJxJp4z5oVt%d!C)oEF+U(3>0NY`cio4 z_K_6?=$t1P$D`B0YS4n`KSdiT!NZv7WD+F+;2ET)4JOE63Yt|Mz+6}K)v`kEBKs(&1R#}BWBgUcnX49Jgpmfsgy zZZ=%~HHJB`mGO3vw4QQbIc}pSYV0zNfARL9eFL)dn73e*OY4I3mXHgM3Q!c__duqc z!S4kX>!4&Bp_KYv8Un~Y|C6x$*{^+v$1Kkf_cwhc``Iy#qOsFP@s&qiIEqVIjcEB2 z074&@@$U`#r9o_D&7>ph6%G9rurfueX?SINqCmE`EOOaw8NTg}XRHN=trMdqenCEI zeK2bpl_%N_`x;+gm(qSPv;HFD*2U*$JE^n@BB9a zc~BoS0J&IGi^4V$Z2u(tYPu`#T06WYAY8lwEQP_cH$+(xnj+dAfO8cfK)AVP{ zKTG%jefiYatk2E~@X?l~(oN7ua-TO^ z*mUwr54`Wb9RhEXiDJSgCOS_2V(8%QA!v}NYz;P$8T^A6SDP%8Av09@eJVji;)R`$J-94DB2aB4JK*l2r`td z;ok@RdyaoxC8&-y>lCgQqn!pi7|i*oIW{zf6g> zVS`e_X|u$IuCJVDOv@ z+B{1z;%RxjfzmOYrLS)}u(@N#_gd~2)S2DJ-TCojy}ZGZ=p$opvMp&v+syZ>@|U&T z^|Z2SZ(6Z?=GyA~c4F+kuI*^-9`2#-)i3zTK=K7)XdC# z@#$KT%{t{}XaetnvH1kKX7^B!Q2z9TWCn)KnyKoRQIi$9by!bQek4TwuJH6?B%I>A z{bUsKav0yE>`}O!!UQpK87n|YZ9D-bhnp=&vuudirvVe zUSstus+Uai_3-^p-qFE^QHkCR4O*_V)akYEy(uadzXG?Is42SK4L4fK#gg+QKIz9k zX{2uDyjb8m(v*w3XPNsOSU;)ZD{6$;fe20CLy|#@QeV^cgYHJc8zzHYW$ ztg&uEH0~w{TTgu@U-FgU_Edl*dboggEQf-$G*1fPr@n5_kJ}|Nn_-hJXU6CaqWb`M z#R@w}ZDFQ*+Y-~bAfj!2IhEvT6Hsa~Mia{uD-+8UN&B4$7T>ZjUqD5bD3v2-mz%t* zXYk0j?v~}rejlh7OhnDzdl@@Q6jJ3(a3xzU<54g+Ox-rIW!#43$3}n+8FqQvn~ff% zdub(U8S`U#QAzDx>3DI_7h}1r&`bjw(WRGuv9}5yuZ$ysx7D@1ThRDceqG~+Qe4{> zNR1WTZGy>(yMkNFA)lc6c>dPuXrqR)JTscU8g*2eE0`-_CONKv_dTbJm?MMU)ooW1 zq}!UrYjh2BlCH!8=rP&vej)oXHd>Q$a%HbjP@{ctHCr5ZpSAfPYL#P4svl{f_<viQtPsq;*z_L4J;Nd{%cP*2%*>Uzu9geY zs=78J;MU-gSJ25y$Ee<)De>aW(P}0wUPy3O zmpAxk=#WX=TWQ9r8P@0aZRsv!hJT)xP2^o`VsSP24>A$6qUFpXMoOqlRfUS?XfY{6 z&0}aR-B4@T(0UqLrre9uBK;dwo+Hv*L#;HlwPwOX&&ZR58@NNLz@5*Gnm6)};P#PB znB5NV<(v#Tt5ZhOW>uS!k8_E*hcXv~PVAC1)ZEWodcR(hEHHxB{S-(K#c}RW5E-Yw zj-;C1{|hx9e65e+%calt$@AnSw7Ba3W9?nwqpr^U{|rfB(BL;z&{R=lcdVgB2ragx zqGlw~2~LnIDwe41Mv;1@ng~UNXcBRn4${_c@2%Z!t!rEDww7A8k`N$(H^du=+`Mtd zpx_M-FdLBJ;hR@3}nZInR0SXY=5^%w{oQeWhnEsY$J2A6TwK zRo>z3jz2Cy<(m7RZm+LRbx@`wkphp()}ms8iOn=q()1Vc3&LO-LNw1mPr+ul?9>*b zLzl)^vCP(S!#2PoHqMESMpCwt-?xfUG5z@uDWj$c3MGR9S}uX2l!yA#h!20u`ly6G z9q+c>EE=S(?ipfGrby3OF1iKZ#E_BC`FojkVuW^qk}Q1fbyH&r{wAd$hrEqxk3HxG_v4d|gwGc_-#N~%XLIfQ>b?Ubt*(nQmge?Wy$8!jqn++O0A9)2 z0Uy84`nOJxLVELe|L7ljRN_g{-Tu+NYG(gU_QfxC{g!tV`o6Vt3maSSG^n}u#|CJ} zma+J+T#9yAQ%3o-h21JU!^V<6pKYuq)}$N$r8>mKoK?nj@h^jc~6c}~3Qk`ShWFlewa)K(<)H+(pHjs!wXo`m>+P47_e9o{aB zrEgRO587HD$jCJ~`>sUhPQ?K5)ZSIPH{nNEOP9sYVG*q}Fh2*u0O2#o@jH|FLHv=v ztQiSfKg(j}+^u@O$nqz^UqPH@?!4<|%WEW7n7a^)y~k~QVz|NmPbrYZ0A+=92Hdfo zu!LXnC(p-kF$#S2^{_a#+iog93Do`^h${UAAXifb_J~;=Ogp34 zI~y5(r&cM?hT>5(f9OBnU2g7JgGb9gD4pO_f`-smTV|$;_K_>-5!9gA8-%ZnxcdPl zEJ{g^zm48={*EsKTYe=fV-j4nW=rb5R&z~i9SYPdBO;5?#si{!qI-nwUz9B?{XqP} zv1o5eN7$Ef2@jB};BPY<63q)r^MYTsYrdj0;~hH-p%4Y}=2s(43v~+CEnuIeqYD4g+Nig&1M2a%76z2 z$;d8DQQj%0@ez0WYq@nSd_=J5Gj_`lX-RK!&iYb?szt?s(R3OKjotA}Gw0DC`UPD6 zX_0lWg0Gvpf08pJCLdTlGV(z+XE&SnHFW1 zY*ic)SikOcoFI%(zfq(QOgk{z_LoxaDR9Y&6dcNRm+>8-n!(2)Gpmok9H7l#HUJTQ z_~tyiW6%X?P(Kj+>?F2R#X= z0{TAAlFtCT-NAPxdIzm?>{_K=7!YN2sI=+Bdd07QLo!6jxh-d>ImaFaE!VMAsvyUeZp3P*32*P5_je(KcKs_tMlZT ze;_?|f(72rcdj%n)x<-(g4CuN!?Z$hW{V0UDEp|i__ zp>r$g4gq7{x%r9;KYYIqO+xk3>3u8`t%SSv%W4srt5T)ito`iy4q1Bf1BwWQ|1iwd za)G{RI&)Hsv4dzm&;5dmHoOG3B6?o&3I*9Tc<-5V85P61BdE=+zusk-Xvt zM08hhFUR4wiF4674YacgwnbP0e$yh1Ac==pC3VCyO7A4T5Uk&g?51@&cD=1k+>G6+ zNUU*Zh5BWI zZWAn;y$sDtErZ_iR1&r7hf6Eg+YQ|32?JW}(wgQ~ccJu`;tTw)xGhJp&8`>WbNuTb zqp!@%#pzp3wq8+|!#o4WFn^vhcac_)mD(P+r^?CX_?-A3-*-H#%Whj<5z(Bow<0+y$?QB-K z`IW6!1J%b^L&KkV*sNTpXxf0H=`m@vo|Li-jg|xq1Wl~8pi6qh#OjKj-mg2+R?XzU zrBS(u-^m#g!si0&H~ty?lybwmO*#_ErTc6dLCl`wKdLxcuiPOlYRa8@>j-7x9J4RD ztsE?@PVK8oWpH=R&BSFjyKm314>+BDkkQB{VOt#0M0xe9DjuV0_7UMjwPwC@osvIn3BU zq(7!;ecbEvz^xMA=jttlIi*x&C}d;_rN&2kz&|ddl-ECfv)f$G0pv$w=u0iifGI(TrjV82XzmIXvO?)q}M_w^0PN1!YNj`ye+~$oY$@ zay+Z->siwyRwWOPyeu|%W^g#}U_t8%(Y_(J{oMM_NOz~U7_L9Hs~|5uF+!*QM5Tae zo3A_TkHfGhfG}Q@PsQ_N)2MiUY)VCEaO)WZ)ge~JT>heVVhP|b$6w?=S9q1-^a-av zXiNBk?9l!YQ}?MC{a5Rd2E56i)wn#PMZJqf zjf(mLK4MXe9w@{tXqix8-8vzkkCG|x|2CGqCPVM^wg>Gtg8M2KTS%fI_ZPJWVilp$+M0mzrG?x{*&6#+QSf8>@b z;3y3^Q>s#qwSbNt4sHg$l@=UM4batfF>|86lvf%Y%WETa@PwwyK#FcP`wkn*?N)di z4=GdC6FU%FIy{kHXT?BIEW}O7_ zV2`eZJivh)u^^M{KDV`+Y>iZ1JPa$-pr9EWHl`hBviRhdBST0w&oj=HR@{`YYP0Tg z47#M)B*w8pEl;kVEYj_^qS_)jO@8$e0eEA4{Jq;!1 z#f*H+^5C}Fe43r_?A!vAbwR7R^MC(}^_)HX4|>m5(e4HuW1pe4w~zT~cd+QENV(xHPoO7kaXdzgt+%=6W4LyotumaToT@{GXx)R8IRwdcEO z5|v9Yj!xm;`}_)7wMkqiuKpqrQwUnO4>+;uf#B14hu%AL6T^pp$#yqrxt^f`fUAak z0IbVwMy6fDu-Dyq1W*@okMx!PO`#_Xncte^o9E7hh129eoHVeV)J#1zXw&Y3TQBo- zr`;l_mP>3U>{_2`%o+DczRVf3QoZHK_idg;Fbe1b$OsaNLW4x2i9ySk{o?YQCM43H z;yynEs;R9YGY`+szWS)=&e&?6bK#xHT}o^*BYB$uHD<9L@D=`$d7}h5&aMjIK4WhY z$N=-SaSAr@pJ%_Qw=b}z`pQ|aB~)O=MFlb+;yerd`OfbZAV*?of8=lhfnyZ7(>9aL zDSWY{Zw6{SP5Z8GwVAax4VCI72(=28EFTuW1wZ%bFh-~Gj6K{8GmM8>$<~v~x-DL` zj-@)hl@EfJ6RA2o<(U=z;FaBfnFc{Nfrt4NrdFGjZBe5#1)^=h+wA9MF_z(-v2x*7 z`jJ?re%X_CuYbB8A6|>m(feTJZ>&lpLRxTu7MeZ(-PkNH+#N#(!>}}rP?h>jRjLF{ zxf|@A9S65AI4FT<7h$rD`n&d#cpUz-#ngS*Izo3@BFpWt(BYSTM)YAS+uixNvR?r8 zQEsy0ArCyQ1%FB5&+V7}Jx?8)>=*6{XZo)S5B$ltPmC1X_sB*tm4+vVx0iMU;)MD=7{tP?jdZsF$aVC7uP!=;3j{DoebG{LY8oS3} z@e5wqcHkcK??iaQcmLJq_cvJ%gD~remv@Wb<{q zf4LMnhgJO8t>g--*xC5H)Pfu6kjt>xk!e@kR~!1tw3RH8;Wb10lNC?L{&Jp;9VzBy z7C6K6goN_(zVbF|VY&s#d)hM3e>g0bSpY#|@hm?Gzcv;bt%MAn(_8dDipJ9kRQ$uc z4pVo=wi_UmDdSyX-Q4GVVJ?$x^lIn3!YD5V^p!fJt*)uS?LeFoEY6YIu09kD>Yvef z^q3kF>4Hjhwi?w6aSb3d2mGGNmgj!&zh$TEpd)^(KXSOiV#q?Cs1hrlJ@I|WMJCpI z7A*1OoGm_R`7U+SNH4dgjvBMoczmxsX8CXl28Y=K-Q9=((#LEek%i3GsC{wtw%6hM z<=dCRtvWArCkr%@K4}gR?FAV|7q9T_kPU7k-gk&D(JPDTFQqjAWA2l=216_Ma2>Vavn2a$0?5 zeM^Zin)!l7(&3Kc1IF09_}yS0WY!20Z9|4IOydo5ra^Pq5wteIC*)$H=7M_j4~1~7 zB6`=b>Kqm7$y~MjQ^-{xt@18c->W%@P<=;zV8_xJ^-ntB|D#BpIoh^+)}!)d5fnTO zW1V~Ac*4{Hhd)>#+Sj-H{wlRseW9?9gT`o03xVTk8 zo~3R+H-@pL{DqwvaXdK`I@wfpZm#9rCrqR&#A-jVX<4rL(+&Gs;{~qw|a?1{`Xvas1F;&M2wGU&~mKNu)S{J zFjy6)bp!o|>R{<`?;b9+=+v@L+&ch$?Ae3xXN%GjZ*jSNP&-cQiPV#+wH+VlcN`di zza5?v9Ae&3Z>P)O%X@t5cau)l61EmRr#Vc$gIPYC1Qw@26e`8}{67!2ju2RvJT96S z{B6px=CzU3)6FmMZC(?_AFcZ7nW-r{->L+^Pa79aG!C{yw5!tb0bx53$7lWzZPCp6 z$A-s=?#dAu-)?37*7` z5faIvaai-}2m!ONHq2>WP0d?prX~(^tygMxFxIYcM*%T^uvPPlQWi2gYVApx?;{;@ zzSkxWim=9u!^S@oHvZ01fQ@zf3J) zG^T?jyb{G(NhScZfRCjU*%OA`rJftRK1?fA;+BC?GQoId^Hz5qbtFVq`M#>Hd{TPC z`&vUfDx%1}{8=+XaK=x=H}HB;$SHJ0>ju|tjtd+MZn znW?U+*wS!}JepzX&%Jw~tvqxV_ysjCZDwgaumpDkB>^O4c!y^-ryJS6*heVTc`^_l z12%hzL8<@wVmZhmeVm;)m`FW|`}z}%`x$o=#yg-tv6PiYh|`#k8!Nf}7yj1@Z;v_p zw}z%Co&A7u@QsRWHElyrDV=m zBEF;C8FjJ?V+Z7pE%akM-s74hMR!xV)qD^b_yLw)v{_!#=glbq(y`%`K@zP zn)x1sK<*YDMSa;BeCH`WXjPO4_m2hN(V)&-xPW+?t8i+_8T^FmISI|&v=XEIx zd_LYWLrbJk!*IUW-G;4}-|F-ncs!`(5l4y1<1_#}gc5v4op!*elWQ|u-Jsg~1DFet zsIHDh7hI1s6GYcyQ)|*yZ^A*1;QY=J#mPuFq|WUvVw9NGN@dAXFzX0ygK-uR6K)cs zc4E2E1d9}f>pLE_p2M|u_4OmHtC=Z!Y3s6zT1Lg2dm@d6WNB!e#(A&gJq)uh=j+9S zahO7@Vn_3LYV0Tpcj85+A=IThru((m=M7bOh`e7}@3sz&0BOUA-_duTpZZr>Evca& z(emxuS4@$8nC(P&8}lUko%JSDIPf%`b}Qtlg!4);NqKZNXt|Q9kMB8iU=tK_qXg7+ z;rC$(5<%5+;fbbxysL!Gm)jUenBIt~5HzZ(Ka(5<@I?p=%WLwhjwm5hG_W<4a!rTg zLejh-D!v^koOu)uACrT{@6o9EzTzks|Da*$>Z>|viD%{9<#m6(Zv(Q_LTK-4zdAiX z7U@|hyeQK)61G!5IURfb(c}5fEjvmiv;cGK4n>I!w`EW3{}d7s9VW=;Db}5Jv-i39YuJraE*f*MfK5)g3%M@+~bZt z%-gS(e_UrrwTdU|ZCb;PS6mZac#HPk6Eu}&?xqtg6Kg^<*>8_&(a@Q17NhzFY2V#l300-%M%;9Ir!)hAm_HcW zNCCvTSy+@CV&|NbzHCI)`kg&DYZQGP`^MI zMTlE;CUxQb5N*2oh)BZ##4ZjCiZG9B4rfpXP$E@5AP zJCVLFD%t@6<_z+VV7pWAWFfZd6aH&>sM!!N%0kSboK2(N4{V9Z%GByUcpa8{62=|S zZwK^;g`j6Jmup0|0+`}fHvHVS{A0H9o2`|7c12FjUJ&^ryRg#m)UD(-!75XUJ1Ikz zKXpHh$yON8c7C_q@HzgzJLiPNgC!?bP5tor4^HQPXX2st$A5X@{EeTfOax~x2P%qH z)Bc5seIniz*^M~%=^y0($B!h`sn4C}R zpJl{^=)ux+2Bp>l;Qa%<(>nOLM)=4vAHv7vV7bMICwv^_vEGqd2d;J`)03m-Xb6c6 zmQEg26KOxV#m+<14<#x=jp?{st+e;XoKS_j6gk9~x{+J{y4}k-Cl^gJ3PRT)RBJu6-J zMb!yt2P-s-DcdE7eO(Vtq_YixDlTjR49e6*)>1j(-^q(Nuvt-h!~l%qyzJKF;78=B z8vk_A(#F_%hzfl4v-1WtEaZBln&AGWd4puv&TF_5bU9($qe7PpSMXnKFuL+fWO)kD z?(muZsd+W&=GSk8mmb}rvna;4zm(ayX2X!>e7&V(bK#3W(E$@T9I?6Z9-jC-|JRpr z4#z;@&*lxHAAX}zo{Nq1W9Cm(nS^Fzu-yKTTpKuHLwr~8H!?PF9Tf{R@Uux`+qUy5 ziu~aghb7yJVzm*{n8BIZP7`%MJwgQAR|XxCiBz9iy)a+Nwy2wl^3;b$SPJzE>2&ABP1!S*(|nCU zGC6qny0VtAiYd&A`2b*Mh%(iOQSp$U^08*^#$hOxH3E|mvg@^v*!~-p=a%q%Wmet> z3h#$bf!U_rPb#AzVECeBOnpP9v=n&loH_FFbd;fC(TO zkU!bpIL2h8$2}}PG5V`RYwDkmbA}=O)3Z8+x~k%;=)w-Bh%*B}?G)-~KHe+)8<7cD z;GVFnox}{U`ryo9^qHmeKG#?ZaLz27_u0lHrFIBfmIDesDxWtnX!)yVmf84)Yy@Nm z!is)wM3>uPvEE1PAqM@fx7oVII$dcKCaPHwt3q73@K8V}Q~WNM#N5NL6ertY_9i35+SVr9)e1A@ilpp-On8CVOST?>m_0)4^t^&AmI#@bwko&M_Z%@aE z191O04Ieac&l!WFK}$1yVQ~KjtyRRL@$MPQrH5@6PaZ6-gj-wRv2RdFP8IB{rc2_K zj&f1n%=wXv9k>>MR9|>sH{<2AdLHX>*wYc~l97Fr@<)^>BOhwkub?e{3Dk#)r$%>y zf1rjvGr-efuF{_Re)~?JMvI7W!}vJ3e;si!!`#snvPa_OEoX>osT!H#)E0G(QD`hW z{t8BoG-Gi55dgV6_58@UDxM4$D_<&nbh*vEsTsrpV{9(YYtBR}GLY{!`>y6!8XM2TJX};mdJ}l8c+Dxw2(X!%e&*YA>FyMR**u z@A|7)H7wWXb9H-HJE->9LHhJmXJqQ#GudsfF8qVC3nf%DqNm-1VQ6 z0HB_duO_IA!y-&Ae3(MC;%>Ol_+%^@^8V|-Bb*n3-?4NBLEt3Lw0!`580XgWlunJ) z4YgH&Mr4yd1Y$%g zxA+C5S6kZ~M8%qd|10}IXJ+2Aa~5a>)GpARpNR&(?gD^VcV;O*xQV|P0qsQkk=R}Q zCey!($$VD@ghoj+EMlI{FQ zWqI){w0X?2f7eXf5+8xd4Tq9qoz>n$lOphoSeu-)-h6;(1V-kyombSnA7b$%t`qeK z5V*&STJRzAADEJKzb!oxgQfq*pG=Xf5uu*b@YB6;_%o&t#recw6LmizcFc;i&2J>X zo_7V>^=7IAKT~%0pzJmNZ!~99E|$9iEHVX$NHJmJwENRJy(_Sgj!Ec)k=d#~{}2xc zF4gBZuoc0FXiXfPl>&Vf?H0r+X}v0UCw*W#Ge0SrnYPh2F+gqRVUcefmosmfiB_ai zhJfy$i0*lQWFj*K@@fH6J<6j*e%0YHbtJQNYk;S=|FM|(3<5%c%zj(@=(7}UdBORK zP$q>r`u`-8ek&`JnjD*z9@!rHMEOt1q)#D}?vON+o*y8SO1Pz8rkB1vlu3tFEjDBu zp5zzpquIt(>no-p=uAY&j8KR8Fjc;I>#qMSQ-*T8ZlcMc{$ap^Gk_1DbDwB<*-lzH z=FndlsUT3WY^75Fk`Y10(Y!9gI!Liy?Y5+Nv@Q5)dr-Zc2#XPl6yE!gCWhy`gP-~5 zL2H^%sC6Rr$<7^=K>WI@1)-*Hr|c`iqOa2ns(m$E?TY@@?#WjBUSG8XeYH@eI)UXP zWFL{pY>j968vW5IG}6&q+C#q6A8XAzqPlH;08!p5KPGq60F*dwg|VNR z3Sr1cZH7l0t=Vte3a|VF$iVfw%oVm9%YPa@`=a0bI*eP@pxsz%qJy4&_)O#WWC6?u~ zd0~{zQi^hS5!#s=xNJ7T5lRy_P_KR?cai+C;j=s?IHv|pCV4UoI?#9*mDHpg3QAnVHf(|F zgt&BZ$;niCuvpYNi~~t+OQy!fh$~6$tW6!z#(TWi@57LySWU90#hX`{T-4(g zXGRxXM{{S=+KpK3$UKuS*ld(GJz+Qe_}D#@@+XkBijKY6FrqeCc0MJmi#XM_q&8i& zd{Vk#;N<)wEFe$14O=0oY?XxQir{A=QBE^&Y-OKt|G3yZ;?>;3?^!HM%Te?h!%a!P zKQ}<4eH7MWgyjxfRzMfr9M0WjoB;RCVJMqPIlJuuhDw=DhUGzl^k8rETGCC=j~$^0 zN-H_c-G$Ya;!*=t)2^1t!5pEbx;m0gVluge&om&jGaOce0$^Z?&57nnkP6Rb)4;r%`o}d}=~0jM;cr&2{2M+_ zRCG(PZ1w<5p_wAI{C;lR%DZ>;$?IABibqB?7x<`ne0)pzxTcZ=5D4HONdGS=9=j(c zA$Hr$_${vr1wl$!YBQu{Z79j~{6YY+i3luqO8_xZfXHr<4f%*+XCgSkWv1uiztv+( zfd7PsiO&J?j6r#2vk=mZFOn8hUBTjY%$;ODwY`BjHV7;|5xuQJU=LDEOrO5i56B)5HgpxF=y z=AE5_<&+yq(5jeaOxc+;`GucwAAUm}oE&ZbU_ir_ZR29dY-7nVlPim{$y^noVxphYu#OBpDp3Pk)88?E_ zkivPVHl9+I+FgTi)?k7~(x=0rf@vID=7nDc9 zS7iK1b;a&r@hkM*ca~mHN{=v4kb^pYIvv-bG(Dd-u;aq_HbJ=sY#1Jv7N3n_NT2P{<{#mGFO}gmF?f`hnh|t`DHqtdD zn=0}ecEu}JG=2?zVLV-VpsHf`!bfE$)XM!_l$8s-MFdMyW|OQ$uDJ&|_i5`oNj7AB z1Ua`*o~*=OHMtUIxHtlXwt@fRToLexaXq}9|9hl_nf&a?&NyBnSUisl^c&=t=&4v9ES8A{;8@L1u`A;o4Cv4(F{0-f zR@D=*VaX?i$!6IoO{BjO0XCa0McrT>D{g0tJB}m2_&rLE)}yDnyL6|nw(IISy?hPK zFMA%QcX-#UFsD_)Q09|oW7Y?Yu7O1H?eIV94Y}-}Zw;#LUrz%bF`+)rsoCCj?I}Ss=aC?@)#Ldfzk(7YvO;c^@wb(!EGPH z3ac_Y`vKJmARh_~==WxI^Z>oltQ4R0_CkYxoqUT9e0pymrHJqCF&?pmO+qaCi+Y%^xxbn;rGu+m*9Uh@ z(a>7g2DhKZMLhLX_291R!Tfz8X!$9%*gC{_e}qmCIg-yBKBLdP>rhsIPA^CAmP=7y z@UxDf`l%L5A^$v{y$f0o0r`R6=+&PrwX?6(t1K73d$)g~!+5khTc{B`@Mzb+KsnGv z*vdA2Jgcm#VtXUv`{>p44sRUF@0NLo1}&H4+HB*2xQ!BJE3byngc^;HuPQh)0{dQt z&tK*&^lP4PMAZ?SB8K0+cpc8c%b^Gw`$^PeOIohvAU3pzzr;}DzAi-fnFBbbgDg{P zy5ra*+Nw6Qq{c*p+cJE@l`v?dDS&RA!EI$USfupCp)_B%PO?P2Vso%qPxX0TJf&0{ z5^mY$f-xKC+{@p`Z%kUW2CdEP9qJ>DmVx!JR=GM7so1E$i*dAcx8c2dv$hRlW5HEjfg=7c*P00#`+WL=qt} zl3hh^P%Z+XOQ%W$d@)o=lT3qNs=siz`@UF_Bd*t`2Trs5;IS4)@CYnuj@)GzW7U06jS^J{9yVTg?pUEbyO2Jt5!L zi>#T9`nH67k6f9J*?W)7#tqM0qB;JBpX2Ty!XNaNuVBmJd#IZB@fDe`vy|W@GV4%v z8WU=KuxGnH_q**?&;5pcPE~sLfKPI(4^ya@y{W<`@-Oe(F&&-*ZKm>1M?3lm&ydNd zS2+dj>FmrahB5N@%lh+hIP5L2?8RHSame(s=6Vy-iPSDP%U(3#%CpOTcb`UGBq|)r*D~b$wi4 zV+E+pd}9ycphbbd=QQ?0w`{>pAX9F8|7|rLG#+bj$H2b!+QRniK(Z(Oizn2$>__29 z7jfwuKh-z>hwNFnHr9JyQu8fpJ}9N4$8z}@h!!DWo|6M4t|cA(s{8esOUAZ$FU@g3TcZBCA8og~jy7Pti0KA+9>!S5?wOwXu)y-5;^b-m z5LW&QU;baL{Jp;X5tKJ7JUz48KJnw%cb{nQ#N6+%%=sSjn>Rgk`~UDgRPgisKLmf3 zlV{8kpHO^EI|p89iE(|cc8zoSQwI+;RW{NM*B`+9_m(xf#z&@3Pq63kmN!#l_7PWC_b+3of9wv1lA^trzNzX# z?*`X>Ef`v{(Q!Umcz>Gi-|AdKy`%Ym2nJ<*6c-duxY1yA!p}KQ!^5HY#y%KPazQbF zzQL&w!PIufvh8|Q;AN|T14^>+QP8Y&J}4%5T_JesI5%&(W#$T8rf%fOEfOa0R z0a_s>4XPVE!n=cDMw5Dv7gP>h8$JP7%20xN2y2-i1I~lDthEVRzH!awi;8_55TO3j zM)Hx3O|+eX)+%1i)Qe6sk}gKp*$1RsH$g-xK7Qj{%mpD8Ve!7XGx~?UXkVC8Sji$E z4;^csK}k1@&dZozjCUv2cm=9dCZwN4qD2RX4RUhAJbld6Q;TMe^EY`S9oiH=Gmk!e zqeFM+(YD_M+bCoB!tmNH^EG}=XtTo%$FilFQIX? zvv%ZbPdkNOKQ^Qqa{6O9c!4#;^dHt<(ajtHsFPMKa?=7BEb^)v8-^HqDeGTKn&IL+ z9H@G6vfQ#I?%Dh#@BUyWP4nq)DO z!yM~jt3VBeUq==A@}9lYzH|DRdx1-KzCo$Z=50|tf?C?is=q2|?eh4BiNm^4E|2_K zJj>gZHJN+sn9c=4G+_=6U4>L=*X^5VZ&8c;w*bewwN{WNBm5IOhQ+z+D^4M5uLL!p zv4RLbS?mpq8*HcP?bO%|{KWQfqDkrv_icrOHm{hSoj=<*!+OWAVZ8WfXojZrb<(Ze zV1_&Dp;dF?V_K$k-)r%1Aw+eqmyc?a&xrI$!O{x{?OBfY>{^MhxRA$FPm{ARnZ7m} zZ_jYI{ONrPs*IztB7?6SQ&am0r6j@I69OYnH9A`oU)k63MBPTY?Iqj=EeCj+o|2Ed z>3SbanT+5B{>(!Nt>iOrC)xBqT+;E?!6kj_cx=$m<7;lomo0%c&a7t6&hfbQ)yVHw z$(L(zv)=u`Icz7>55$^i5bgA*d!{E-ZxBN%;c5H^x0V5|jc(&M%554I`=m}zbOR-$jTR6rH)pLRAsOT<{^x^F#s<|u zKcWoY{LBB@;MZ#K|C^7w9DVx6j$7=fcm~+;#|>f)x!cxj?8GJP)!56{t>ptsOgO_0wEG>Jj&LCE-FGO$Muj&F?z(J9EQ7tS_9MglaGLJ8#&`8c{4$WB z`GUT#-S7|JTRCu8Z+qN~@KHIBthb}Nptps8Bb_GHj9T|h90WR7dhK6$`i1gj&E|DG z|IJ$tu7k~M^y)eIXnnms^BD+Msq&Rq83Qn5q&#rm|$DJ(;eSsjDir z+B>ALjeDZ!fVqn4ETfXPw!Bu{04muD1P71bDM>6@&ugH z{n;h>{gdupe*fJ?{@3%*V>e~K!8%)#>gUXq8Ok%GFJhEts{yq<*-mJCg)sHFlP=58d-MyuW7gaZQiY7|F(FmxB((TAEwo_Awexz5 zkGZDZD937}9+hxH1VCKU>F!4UR+@Z2`J7kU8k|Kz+Iu$Y0unFrfeO zuX9ofx_NgNW& z4*$oRqR%Wjoj7H1el(XzeM2KiUWaSkG*Wpj_%Ld%h zg3TTLTzA8T;H6sc3mWxumR?@Zil%|_R?S>}rl-LV+QV;h7%F&e+duyCANW+<3SNKO zm)HNmo-&PfEwLsV{U59J`U(zRO{9n1_DE09Lm2<^G9!jW@^VB9=yy%(1rOAZbskKj zeoG>?InnV7au*KdJEQL27X?T#3%-%AK2Vc}MIHNQ zZMtDavDRfhVJcrH`f&xZkt=CA&po|mP#)|C0bTicOyhDe3TC@Anyh%Y@o65!Q)9pZ z)?04c+a=}}-Tg}M{$(3V+v(E(T*e8g&HM8k;FmZ!H+5j_dhb0`(M|ddd>ImLhsyQh zK=YH4J@H`?ye>G<2%igO$#^o#qbQH`0F6$rJmOYQ8<^Mq55KOJ<~Q23&?5PI+%Go| z%Hy=!u1xh21>U}r>px&2C4ek9cI4`fvJ7_;JF?)K+VmAN%-TArsh{Ib_h+Yvy$6VP zC-X-QsExcPN$8%Z^i7v5C6!f8TO(&>T^A)Y@w4}d0 zpGn{-e9Q8tiPwyul$!c}X#akH;jiMsvg-ya32kaCz68y$<-^JMl;W+BTG9M*K0Xwm zfVK6DQ$(4?*7gOMV5Aqouc=#s;O>=8gYx1P*F_h;Dbh3ijlDhHk1)?Z{@F`NCX8}8 zuRH5R2)L9QqI@3jb2tPEWham zO!hYvle1cbPo&^8+LsNoOCm>p;RcZY8)THPP0K<)w4P?sa!r(%xE^(8d)&9(g?gGq z{fpt^bVF&$1ZL*A%l+j9xhLa9W{ZGEYe+)eHoMq;fhKF(&ZjGurex0J2$wWI(NnZ#O?{_lW)ne$#QNNM>^Ve#QnaxEb!8pO z?m}rf>N!UHtF4i>KaKG*rv6 zT$?xBb5L&c9!jk^*d)VwMvv{y`dXsFU;Irzf^6A|?A;^6`In!~*{NYGWb90ziNW)% z=z^=L>Ovf_=HPEr^*(IOgm)78^9R6}?{d$s1taP^VM`{Z{Si@|uhRH;j{Ymy$C+JX z*U+b+fpC*HgVu6Z6Ju74=KfB#m2G6<&-}cnwwO4p&3rJ9`BFjP_PF4+y*-2ljL2&g zefxy>BlL_Nw2(|lAl_D2JXG_tReoI6dMh$GT$0cdCcvJ#WmwR36(zmSGx%QF zR5l!|Ih%Te=4_X%6Dz27)#<*c((o!a(Js5xjj&fjj)=myU^MD0PQ8`d=ziUy@+-T4 zAif=Ms|$&?ISbb+r7Q97pGTIcvgrr|gG&0Qr)KruKKa>_G$GT9Gb-;gGZPVA9C>sD zHad{?L>w^(R$7eZ*5=(s_Y^gr&~#JbfCl4jShN$K(_GU&+pl=WEIrjduWvSL1D=NW zPtZip?j(7;M(4L=m6F*0`6r_8Qv1H4{n6vW7VWrOSXz|2ADJ8U7`xsGIy|-4JS5XTxpmd;Xf)l+Pz}m9 zOJJ0|pJ@AoWyrQ~S=%(wee9A%%0E?}I+fBtsX@h@(z)tF#c5p#rBs~O-}uF!u!W>o zuX3rN$d)!rf&jkFCyA}0ViJi}4@`B=JfSJC`4w~cEuV=nSeB^2n6+W7tb4_ns;%lr z!adJTU%zJ1hCIOTQq}3|lCf*DdfBm?RDKFh?3HTpTDeM&PeNK}%e`!_(Pu?hg)X8X zRUD-Hda>dLry$a16Q7WRV<-zr-l>yuA-@306pc2kN$&6RQGLPVD%?iPPw_*eqBDji z>#@+JCz11`pq=ah$@~JPVu?@>f=<>)eic6Qtt-CF^08Mqbig8PfYKL#6!(W}D9>Sox)Go!)cf1?d0gXtUgr4gku9k$u#oUsc^#g-a|1JNQ+ zC8#r+*Ki!Z_K+_dAin?PC`lK!)1f0K6e>@J#l%PUQJ_Y?(pVoK0HAjF^T-hZ6# z)!)oW6@Co8;*HzJ!`4mN#>fO8EPh0YU?{IeSY|WBC%Q2Q3^0F+`aM^ekDF z>_aEtTU9bWkrG9#QSc=Qwx~^y($_u`Lo^%YA1>rCEOF=EhbEJtXnb-lO2izFOR)^B zt4$prEUp5iV>iW3S(0S&jW^C&>pJx=@gh2`xVXD)<`NbKUdOm0*^|fy_Cl0_>|yA5 zivR=JSA?iP+MWWf!x<;#VaS6*^-qmePlI;5O+y54R z`*DR^tio@9ER)+1DQUi0u|)$l@qS^JyZ1@_B>V*ziw)^n)WYG^DkJi*8q z&Spo3*XV<8w3}tu9X1 z*V55O=x-4yjDTK*M(auU#_yr21Vo^~cnxuTg&YDIkpSmx)kocL zUmRd@5+$Cnur9-BiKzCqFj~T%lAxq4(so1&RZaTF82R%+U( zosq5@9|2sI=x2zl;Q4rY{#8r^1un!NOn76RyjGo@Egwpd0nbM!e^&40Cz$+O+d2yJ%r*5nXG%Z6|K65G-g8)!1MmW&y6e}j zh9wyni#)$!nzpXzSrk(uXntzypG5hiO=329`~(^x^4LiH7Q{-a46Cx&dq~b&8Fe3$ zY(7!3x$&*cFB#+#PeC$iuBAG-TL}OE!>BXw0a3-ID4iBGalfCDNS6XS=KdGYQY$lW z^RAaOS(7=9g`K6-W7lN9M3=-LN||R~X=Hi9Ex>)}5%Fa~%X*NJ_2nKy(X0FA;r%4y z`gQ+je;+Kpc#yk$DmsJI3jFep5I^<;uO<|ruK-z7n=9Mj%qQ+a4B7!<@3xO86b7xz z$|HjC`$$1v+Z41OT~eJKrA3Xc^mb4JR6&d+hb45jSKl^aK*P!U{8?&p*YPbO@g?L( ziPltXZn(Y%ZPcW;3ChqyM;Zzy6f{0bs<;V}InOAUO84_i;Lw^^ByvRkkpCyo-bf<8 z?ew{2!|5Ap<{5;;%j&Sheg5;PSyu_KbT`Z3+u8k^_A}I+^#_8b^cOCErD%?LHJ_@n z6kC2x>P`2fl~hF1mdk`;U@u7>Q}1(u=L4j?`>VDu@;p)hzP6I|#gWuzEW5kG@0j}n z^g~JXgmB?VIbz6?_VI*8P?S(*8gu~sc~RQwE|GH%8USEVsV{n)KKcPe#h@RZ4xow7pEZUyt|eTLVV7S>mqxofcQsF|77ZAzkBZ=G$$p z04i2Yn1;hLDY-}f=6kc$Xk=wxY71!cT-cp+JR)U&VlSHn5Ad+&zYoI04ewz-y@4_u zPMoA?S`@%3vzJlme9kVGaEkMH<0+14ukCfIlF(V^9)8edydx#!H7j{gu7DSwKe~fW z8By#dE%!Dn->^=IzR+L88bLkXxBMLfJ8Xoj_jmUoY*)+hQ7sdt!W%dfC$wBDRYP5M zseg7V(_k5q^it>TR;Au1XPCDs-Hz64{lmiZE^;3QElTtWF)3sNDvF7sRPd1q$nW@# zw_O;OZnb43G$2uLq%W||o)rC~mP_-3iUSB08y9;NPuhmXY%dG+xI~2Jk5nXn(i0i- z`;Ln@9~jhdWUzGZ5mmPr#oXbavyHPTMo?43!1$w5$*N_ai;1i-*Qy5GQBihWs2m(` z+SVOtp|Md7d)^XQqQQ#1fw*;f#b&FE*=7xmWU>LnmP~!!oN$jev^vSncH~knFh~ zeJh=o9@`}RuwCpQjS}&^((Qd+YX~>Jm2QOTXF9d;XCzZ)GA9T$vp~gE#NAgKLZJIc z5H3^jrJlxKjO|8M*R+|&dhXLw3|nLQ9K}YcMejYSLF{W>VbZ6Wi0*Ss&h>LXSlBNaQzGgKLJ;)*?ay+c<%g5 z2v2i<5IhsWI5U7LtgJkYHR0>L%l+@kx)LV9{@x{ZEJ7 z89*-60Y)2ti^1$$bk*cxtpN74fS*q?um zPZhExF{qjgthm6Pn4K%N@CY=ouO)}_FlBg?Bq|wRYKZ&^1Co&)?wfzMT6qI{t**E@ zx^OKRB`?+vVN}+BFI+6^$aVHt{T46q)&I6V_;4wvAFdmmhXFZ@f2Iq*0)oo^yG^=a zuLLfU5*Xk%95+4lci#4vXBdho=!Ng}%vvh%yU+aoqkbCT9D6`*`sNZ#NRFN}%y|a@ z;iJs#b2R8{MDPtxTf!K8^FZZd&@Sq3M*^@M&DuPnqlmic*t**M%L+?sBOi%T_&j~6 zfpv|VCYXMUw0A)B1<3J@+T=7r1`Y zg_Z6sFbz+DV?}q7|K$15qYSOru4YDTUTogTHE7lV>x4Ul=53c%AJ|>Dd)fQ-g)M9# zwMvk7{!v+04f2c#EVT+OQXiSf901co{!h6)Oj$vg$MF%;MkoLmuYI@ORFAhM!+FWPONT9%MbX4_S{ki^T~{`}E8scyM+UC3J<~J0**hp?D4h8+ou~d>e~9xeRmZGE{dLjG+Z$p5VhSuAiMHVdNWYgr zxmYU0Uzr5?@h%Pr$}8>9UlB99iNO{3Y9b|$ww?x3EAN_e;wws^5-vhqA3D!*hTCM= zV#fp1y9xWS_^-AbVe!bcR&gL$EPsC{fCTI0e6ciZpeZ)W5vZRnk^N`@BP|5b?{Y(B z+zN59(&ONx|LA*^ut%0T!`;nulyL!xGzvayXv=;z#ea3XeFYmCr!!#g2iXqYp#$Gp zvE%5oWVLd+&K>QM7|w*d3y-Q!?RIA|jY9oWZdji7JPzCEOTyLJcdj%nR>qT-O^xHg z-dR~x$oe|~V7CE@$`6v|m-$0K`tEz6hQqZ)GgU0paxJG4_m6vhPmGo9UwsJgFu!c` z&T?0d2XpYZiw7d#q#1pZKV@>6Eu|9#*ri_Vc!Rvj`7_aHSK=SJs!}ft<5wzT7t~wtHY%~HddGru^D&s&m+pF9HLn28%ncyxKS9AV z_66iEH{0(!5FF~XlyB>nfnb(TX{Eb0x7rhWt35ir;(UdJ8u0jbkp5-7`vTdm$l`kW zK&(+wVLOq_HL1<0coeVL$Diw>lll{{2^t#M$m@AUU>O-W#PjDaIs0qZq)DWslnf# zXcCU(p;T<6O^MWc5B+3#u8DDgzJ5+`;D#NBL+Lb)3g&<@(7d|A_%%>m8^wJnTC^YC z%`bBa*13KNU1{}3jd1}W^0GR_gU3XNvl3O||+_Pfii<2Q4H7}{QVs-qi! z`zak=!9zNlc|fbRue(0p@ptza3HR}fZ(!wto*$unndrtFkw4~>hNX3{;pKutrFktVWx96;ZO_-UI zLG`wT(&1z?;ow1$Z=M3r(nX%0hlB7+5-xGjLeZ+6#7l>Oi4z98`zU218EitQD~0`o zP2ez*Euw}!&nB?++4N?SpmT{2=2ePP&$o?j&*j+Ahk9Koxt=A6$vICVz6}3JXJGp< z(v(zvRZ$!WMa^<%`YB_z;iQWmOQcWj{*^|2LQFqF^^QdT)Wh~sM}jTmnMC~*1iWES z^Drt!cX5f^3F;@(HqS>MQH9Xwo6KkA3vsY}zb zbomFFO&j{nnazd_esWN_1N1eIOFlAZgHS)zg~bFEaoP;7vN8=Xh3Eo|{8ND<1+u#cKW310SSUoB>R@#oW>4pq!1b-J^%Of< z?~i)*ZGZi1k6A>pL>oTi?nDbNa^H^FOCV17ZSI|)hflh9=FlLWf2A-n7O)|8rMvfI zwHma1->B9uca&8hwBD+9I}tLJ9{yD-7a+x%LbQHN%@#U^FXM7F^cJFS!Rlpj*)ca4 zPCAha59wg@93fV?>h{ZGCm_6OqdlIg?_s4E9!BUn$JTrvu&|NK<{ooLeZbev#Ij3v z#D9H7rIuP&j?C$L!Yzcp`c)pZq^L9a+t~vlF}I_QPoz(N`)2@v9$Q!UbTk>0LYMby zD9vvd^;+ngxA*pHCfPY9N%Q%+ztHEi+qZEZF}y;W_FG;hyu{ve-vb_dn# zZl4+>G+?WZ7Jic{aaT$=jt#|pk&J)e8!k!%`7JwTCbl$>>65RWi!m&H>I>r)s)^lD z##m#frp*K(Gu>piLhpn+7i%`i_hN|CZS8-}FmBj4~zC8>eW zrJG({B&A+zf6W&Wijx)VZ+;5*#h`T$Y!@8!f&$loCKjx0eMy?ZrUeCG4qDOnGN!$5 zWF6>`;@pZh0pPe@Ge8A5XI_(e^<^8BA2;mUF1jk?0G)Dp!Dg5^&07{i^vQZ6_*L2kGMhkRc5{ z(Wy_IbftcoTf-}8gsd|%!$oUxkVKEbu*%%GA2ngDB(GsY8*v{rdjp&OMEnq>8^I$n z9fS2)iTJ%T@9cEd33NJp7E7yk(;ES2*uE3^bWO^o}DvmOp$DgvmB z(jWz6BOU3Bgz$;_50Gf5+ID!=e`)ra2TBxU3%UJ6>OvB(q;JLQdqP(D@tI%q7`Qjx zB-9xQUeRw-I@X_E#4g9~_ClYgpvT?zD^=R%#GeLBXQN|Ggwa;-5QmyQjpne_-lq@X zSC6GEJ^!l~SjX@W)-bNh)iCZ(L=<}*;eSokEyG}nMEjl`aH}fbpZ_)6ol*=}1o-RX zT>pnoZvQ3h?Ije_{>Nx5HBd%N8g*9QRHGA$)Tv;LHQkVOQ;(oH$t*N&UlS1NXC6@< zQ1=Wm+g6pkV-(lxCrS5gLe#D&$WWiv7t(mm!Hqx2UYdykIDPW_2f6uIK2ey`Ts;~2ob`=0 zXKo0<6OxXz!^pRi^{bE|%WI$w$uI=Yb%P=l;m~Rpp*)))16`=4Mknf@&!~5~%bJt)%!gf|_D?ZvK#CGwec?_49IFu7B5*Xzrb@;w}~*omZ8f$fQ7h8Vk5Q zP{k!-(N~l}Orjujsk+N=OutofWvM{Z8Ke&pnO>3r(Mp+&vzQB#-KO4@V~KRgm@yS! ziWyTtY6Jq_rF7gV=!$)yE}M@vN{Dh?_jb5*C!5tCC1JXn_ zBb~t=I@_bSVXqXH=`?@BKvh*>4bCY_)IXMO50%E_bZa+7h)CbzwgY0?se&4o`c~a! zYqB9NLW*X;6P_j(Syd2;s9iNGr)k!GsbFJZ`0j@wk>|%^s;La<)oJHyhDCv);VjNM z>Mlj?)z+_q z<~LzblU*i1s);x|GKwA>j}HL0jd+0e^kTQSsE~iY=2=iRXxv#x zkK6)9TUY?8IvJ_JBfPOZO~)&+4;%nzPQfr#gl!lS}U{8B~s@zXLtIO zCa_6-z#!U#rK=@A--|LpCy#RZE2&oKe5HDz9ib!@b>HD(_gFM1L2DCRtvQFd_o15R zpV6sVD|7El)j=it*n550JVP4$TL|)Wm{ExJ^xrtoXPJgx<7v?kMe0^%9;7MJIRG6u zLJE9ZzXyB}D4_i6$_*J#pdP06#scc8X&Yn)!4CLT zRix_2uF;9Bsa?hlsa}`AT8)7|^b-tn?_x^IJU|01LoFl|1}=f!$ytEsh$UKYGbGLa z;u0VsEq)2UQ~+7gP@BKTSw7EfIN$W+(Xzh*n!r1ZGgxXp7>gavMXs~dYG<@LK8=qO#r7mQe8 zy_2DmS%t8oXv^~dnlH@33-LH>Fl(@~st-gg0`dh4ocujTg6jO4A7MA_makg1VzAdF z+6r(vgZCuhmrcDYRVrULmNS8&Ub`8;G}EM6$m%zHwVPJR6r6n}&!iESAbb>E>;8{^ z`nRkG%f*)%Cw8i_7A;zj+7Sg1lCg~ef-SN5qhnZLsb^saB}pN<}OTUI}2 z$J=>^q2mQXY^(H|H!g?Itv2s8alm0t05trFQc_P_z28G|wWRsLsD@LT50p2Y*?iy& z4P&K=hUu5R$ixbBtV701rxZTeffMlb$5?a!kGMAhud+J+_!E-A1;HB?G*xQBMokoz zC{$8V6HMerf}kLxfJ?Dx>sn2~1zAi`Z__AkZPmK8F0Hou>tb8CpCSnmB5r_+yHQj) z*Qi0XfE)Zj-#PDlHzM`-f1dyI=XuC|m-C)8XU@!=IWu$SECC4-s;kI}uT5Oulm;L7 zKlydqz5EB2VWKs~Uq1bzG}-m^yDh(%I+wavaa)SquGSdG-;cK}-kmG0tp?otGi_dH zKQv9~_pg}w0bkCbyLCxye6Fi8?U7yikxNdDI}WiU@}gjCO?*=R)`rg`m+aN>&epOe z9H+oatf_7QO$_T_-hK&acnhD&5ck0MJ5$&?YB=0Tqukle{`B|yU)kl}Qn*+Lb+~@KqxaQ~@8MryzikhT-%bOVLc*)d zzeY%%`#Og&rz3Ro#X{%?xBt(D&<$?7daR}7a(5D!sOlhetK_~?3Va>8^vFsf;0&0s zj(q$1#nX~3yBM01GO{}lwF{oDg; zxHsvWn5Rc6T}SlE`%>N~mbH0(J=WCkJNkZ2V$*}c_r2{s@T+`kR3dKCFAV#mY*g;P z&TbB)uUmKISN4i5iv+Bda3~KUJ?Oc)jzW8ETDd{29MZqrcs0UU{_%28Wmh%mks4Z4SAYZ*k+pJyiCCCb&TyeOGa62Q~qdp=t>%aM083C@>5fzn> zjN~t@Ct=t;;B!)JmMt+R6wiHeElX($4Od|bIi9KIZvXoNx>@G-<`TNe&vi@CZH#Wd zid;Ioa`UqM=t9YD+Nooku&146J)#Tc4TXNbFZwwjD}?ALA9r3R>v?&qXGtFn3|aZe z5MO2VhOtoFA`v@~Tk;@{AI_Ib;v~EbND|&J(+Lk55K!L73GEXzxgAj8+s3w{K&w%; zc{UdjCdN=Yi@p?3R?TS-1e-tWB^~(kNo&p6u@{IRN3^Q^2siO*)Y|73$-HM?0x6SO6P)G)cOHY*`KRRk;tt-x{cn@^-l5Vn zy4!Ju{2#>sq5Q8PujzQ)K)dpLN=bCL$%R~;F(SI#>4Ug9Cl=jp=1?v!niAdZ!isc< z@*)E60_W=Cal^CosBhHZuqWXBPP7uAIqLY+}I+z&xKKIWlO6kJ5(3 z{P{BDu%wXpzL2?e8YK&-CQe!)epjw!Ge^1I7YlEw0ATJ^0Z}o3`w?}=xWDK*UwE~V zIP$A)>I*{5rzTF*T%TO;`?~jhn`cHxx(D>BiBB08&9~wG3#9bmKCS;=palJI%;-O2 zKh^(Rq=qCr+g<;Y(9B#EY8#r!-IH&riz6Q^0AYBzPA2D>d%cAauqE|pkX^`xW~_N` zK`cHpx_B}sj*+v@sCfh>di(aS?OUur&H3}2t46PiE}pb&fet#M%d7mxE zfwDW&=n?_AN@vj9cboyaCjDtB4^!1!CBN)^G;Q?2PckZ8bn@hP1UN>Nq>)+|wy{*?OksqYj31>55tJk7K_c%(S zoDG*Vrn-N?%67P75f%5h>7K%abaO*cxR%1G7}13v1DamUO0^(;S{0TA6;2H*e8F5Q z9d2x@=-V&)qF+N%YJ=5GhdVfE!|5US`vl+rI{1DU-BTEyro(N6Y1EiHuhs^yCR#hhh;{jnYleF5 zaeT5GB39pmz_x`_uG1FKO z$P325w;%uAF46ceHujtX9rhNGn$M-}MWFY->sg9<&uU@@i$Jg6j0_3%%ai&3t0z1y z-=jrhQ=Ww+U?Z4r#aW-k;)%t3(q16WnC|zU%V!IpM14D1-_YiDw5i`5^cekKrh5>~ zVx_~KXA~A)_&$Xb-{()N9|0XtxQz)YNh0)iN^j;%)YXf+HFC0)- zO+>7H8?)PSgA3`8vFfA_YO)-oWos56s1I~l?C0*fhkT*mP)Ogmvz`o?@aq=;>I!>h zRrdK`|L7bZF>c$4;!6w(NaA{Z*_1bb#E|-%WOk!A7~9R}apyHVqVAYU^x$~ri^Sek zW^ylB|JG>#nI-eo;zub)wDviSdNgH^K>@Ik&gkM7nEm5zXjDf$A+YLuvGuB4^M+Zc zK4y9J7$T*ziDaK_2(25+Du2{bqJz5O<*oH6n!m0{M=buJhRhL=SV_vXPt58f%D+(= z@7eissDJu;UH=BU)H-vKYr36_6%1k{2$kNx0V7UdchAFUecIdOe#ez&6OQ?udM>f8XeaJ@ ztZdSk7VE7>^5})s$L}m&utteJg3!^wc{SzB>y8&+9H!>jzx4r}dgd>E>u3r~-9K*= z*vpVP7QTb(Xyb$W^%Ue{1KZ}dJz_|=fXs-S&nKY&sk9j>$d^dOkBuX96075L@oPn& z-0B9QdxJ0O!}Y#S%oFZ-1e{=A_Zu0fYU2r8?RL14tKLk#@np$16H`p6;o30&i|c3%yvX#nL6CF=#Ao!g%k@O9b|o~n^oKN;|N;z z`@G4q^&SXB6`y+`e3TjyzZ7@N8Mw3!`9F@#Td(R5y#kY6J?Qm@Ix)B@4K`)D3D_`r zC2UvUN=FKyTj}auraHM3K|m7wVSFL;yYla(GlwA+3M+!}h`)g2h1{j^NPyfT2~Tli zezE%y@gvCYnH|oqgA)iK^~x!2m ztYiqahzg<0c%e*qg|Q~0gLwIZ37NX5V@=}-?065GuBFV5#o0!<0#z>7#QrKYQ^&&wQlIi7Mr{*^Gz?5T%ni-jljRxXUUU7v?g z3L2L65PGlowYfH!sJ3Y&q|^(;*E*b*Q|rf#np!tbh^vv91wnnYEpk(XO9)9j*V_ZwAG&#ntc;J<0RCKcT85eTBolnoW9b7bJg{zsx-} z_&>(pJX-E{r+W~@z8da5J#p-w94`9c=R0-rIw~_enjgxH^{V8O&XkR~tC59%)as%b z9@*Pc}9_}pX1kxM92dOeJVD%!`&`w$0$%CzZFDu0i=NhmU#OSQ>{!jA4Gew zYHZVj@m?*`W{g!#yh6<`WtaU*d9m?9k(Z^ZHnO$h3xfQLR1C!lpiFYP2dyT-S?G45 zS{j^#|ElqCOk{XLqm93{FK~LsH+esj=dX)Us({-B=u)?UFM(P1{x&8AdAH}-u`ILr zx>8d~RW5NyTWMyfdCvx6UxZn-%j0;t$ygwsUmPQGS#A6y-A}Rk;sf(T+u+l4*CZ9J zVR;e$lP~?gt2xDU=DnhPKrx*;e!jId4u&Yf-h8}OsmexpyaUD@5-?evRA<#vO%W%R zDFaFDW{$UB>JBhHuR5oCBx5^=IhM*niY++4fMPUQ>wd+r>@{F=sIL8?P zv#H)@#BXs|VMYgKK?q}}q&I%>{=2sM6a%CYK|j}7KP8xIG3*3Ryoh%kn_n;?zt*k)J2g8;ZHp6?_RQ}wx(a_CC7e+dnR7e@fUsO&bWE z2LycT%k7&DXIReN0|y#*%?+7Xxk4e7Iqm}H3ecOljRlhDe^6Jb;h4BQAUWtyRJZWw zKobT>Jv2`W0@+QdU;eurnt5pncjQllRmR{+kzXv(Kx*R0KoxR*qKq5qFP7iY%;DTR;U-jQn~$QBE0s>slUr=N1Fa2x&DeiG?ru6CK7?Y zK@k>^CA)4i_TXM|Nv8er!=mUz?Bte};UYY-w9(gFl$exgEV1(9^zvR_2ggi&c5?jL z07)Z+q^hQQk-%eMd!QBRIc~-lRuL95ZPA~~Q{>iOC8}Gca7s@85?)(G5xJ@m%%ek1mc({P?dzU?2Uf1 z42*~;_%;oN^O3Ao@vR^uagISy#k`^YmzF%o&c_OLh6Nug7E!iyDXN848f6(`m|=<7 zaI-~e2EC%IKWO$x_hcqzyWNv&lc!3<=BZ@g38 zU$9IqWrL3%J)dmRy@RrKuV@>!)D!RdzV|XAV0mYY?EA+SXqd76*C|0xBZV|(k@#vu z98tL)Zp;%_Ua9J?m$xJyC5bI$+vQc#%i8tYB+do6-^h`hI6K5o*f6Pw%6zMd81Itw zZXqlpbD9~-tSqo@f==a(vnbNK@1_^|?lV>-@SKAG9bkQ3er|%LEd>zv@eFTMa%Ycw z4|YJ?z1X}dFP~#KGo<=H?O$-roLRq~@g^4Z<}Np=mu)f{#jc-0bv-v%_sXrWsBP-^ z%S)pQJAIb_FA_(^VohI$bdy;5V7ffX-ap9q3w{>O>0BJ@hiR#ps^iN-_khIqAHVDy!~T)Flko2Tx-JU2bnwAZPWpZhUnLR;vd|_10nk_ zK>@!X%!p*nAAFH{L6I%_Mktr6c+*d9oX*kpygTiBDpMbakP$4Fx%iPsXIi5l@dl~b0F7OxB|3^U~s-LoOgEiGWnafE(_yw(lNk(u@6E1 z7~865h__MDpAzqUo#OtlceuS=X(^&zwYV#Z2v&{=!Cl?f&#Z%0g_7Z7Zgz3 zY(VSVSu4WSS4N+_vZq^jx7}QrMD{xvH+VbU&YD$P>Q(+ht*~GAlp+5UkNn9}AH^9& z9EoubPO^pOkLyHWe*UoGuoWldLeX51BJKcCS+SnHM`T~h)1Ufj_1?`P%IsG2wp1pZD+wdtDuTviG^x%~|?<*WcUqPm?%!6a5?l4R%>wAw-gJh@p^TN8hyGk=jx zeJE0yr>ZdSkoPt|eU_0jszUCadLeDbw}MHV6z^ho1!gVJW*hCBRpNo%9yw?X5iK9< zm^k=uFyCp&^r^4R&9rYdUeU%YD5X)lnx!c6?pS&T*r+vHls>`G*&UL`EwNP;@dftV z;r`CAR;>5w7v(0B=%J}9W&EWdn2^YYIAFl}QC&VoT+Qzw%v6!urh?DUi$cOrMITy| z*ca)Q`8}tXS{3mv`ka~$z9@*s0m8%ysw-7ls=WeA1??S_-ChEG1nvEm<#^`zIxRKc z4$Va$TB#skjc{9HJrf2ZTKY@8oj07A&b!3(dYs-odPMsB?F@6b?`=q}ieF?_u_(L! zK!UX;W>8S_!0JzZe_Lh~+D|XWQT$hGQ*OlVZ$ut#Tplvcus|C8E8v3spujyT#<}x% zBKK%xXeT{!d#<^$7X+WYV^wG$5cW>&^YF<}l8mGE9uKgfAhx%d;HaMg;}k;(N%`T0 zN2zJiHmx2ku0b58O{-&#wmYPJR#2yeN8kr&NHdM5+1ofT9HTfCtxs;>CYbBXeU;CG z@?{}A^?~d(ah&!Sl}6F+avkW)32{woOw;tSJ1?|?8OPCRyhN9x7o(J4AjZ>%d=d0r zmZERjf79M-JcE2B{JL$%&Xia=HmthA<7T|9yf#c& ztyXMo)0~$u_O|tK_fWn%zNLayLiC{*YDbcVI@)*)btfaLSvH|`d&AM6AQh#yI#)np z>7v~!a%`SXEj+@(L;e;wfjg}cQc>CXSq=7?;rFq)7BtI>EEYUe3Gp)~^&>+-eZlT3r zb;gOA+^pr;tt)L&U?vOnIUA6L7hxQ*rjr==rQ9^yO*~}QjrmlXLZAG0wrcq)jVI

    %}RK{-*}$Mvjjx>DYtx%vD#eQ&=9jV<#Rxn3;kSzD!6 zKzw_yJF8Cg4_h@Bt1IqjHeoz&H+m@ZzMICw%7(cz&oRXZ|aa7uSTrfSJ~P())cnI)U?d?&>Y4iH4Ct;iCotMtPE>W zj`*gu~LP_zpW*bpUsuJbCpMca|_$f3aSA^ER0rDm!FDg$FM%b&%Mr~DAqGjC#o$N86 zR%7wi+gGWR7ema0s`fj(_@e6gI~;zAMeK{plPWnQljHp+Z2yLt z*g6$+Iw9 z94xq{iERB@(k!>a-7jH|Xc+--cHS4{&*r=x;}9K)x8TEeT4l_tjXz>ObKWnkZ?WbR zaQ!oC@Qmfp6Kh~@z6K~#FZ@X8`L)7H{aN%vw)7S5r(BMcwggpNg;4-ZaW#E! z_e&HN1Z4)-O>mv?V!(BOP)%RT-VE96Mm%<(9L6VbUOObZPv$Fv}#!Kez#e_ zss_K?;F%IPABRI&JQqY8Hf9w22P&L!a*|*%0U%98wUBOb6paX0)TZ5M@vRW&P|2AO zxVQ}RR2PFE2!5KNsc?Cy>JTY`Ov?sYEE#Hj4h-FwR9S5in&=yFbv0Z)nRjBbDMltn zAyjg%wz27a6R6{ayir4qE^0XFgpy~9Y-Fp>Z9f5ik2U2N!}A)gLU-R88Yt|i@5SQz zcmzc2yeM%u@Pd9Jo^4B^MizRiVTTGfFv)_g92Ur^?^7NB3Lb!A5gjpXS*~6aAcA0o z9#v>#6&7AH7{e%1!DdMqFqkF&t02^^f{*leir#X-6)$5!m0lWq!8s^JF4$U@x~J~- z6eP6jv-k(@As+GdC?qD9L)CGy-;QNdBv>7h>spQQ$lD>yxX#Y<_RH=^+m68q20DNW z93tbwA^$&*_a3)rj(1}rAQ*K<8k`tf)8&AxBaJB z)rn!IcoEl69!0^Veeay>tiJn$+X`F_)f(g59zgAjsBNCe7QnNM2U_GIFBw2o5)8Su z@fZ9$5m}-L`taNNRP#2&+wa~VO!rxfe3hRUkDUX(|GP<_r;HF(8X{E z;>q9yE@L?+nSkX=!4)@J?(SI}d)=Vn_`Azh@?q$fmtutUMCM(rGWZ)#8st6>Sb8lbjYr=cC)V?JB=P36K>^uc&71OgP$12Ybjw}-8`+VP zJly{_|4{xJ%s{x8Npfw9lnILAQ;o&XGUY1zHAeT zDUMU)lHSTBym-ys9~nN1DCeDX<0t@KPI+pE4nHGgFD!q7PkK5MLc% z)$mR)gkx^qcV;eps(xBSD-^W`y4+)G;u&l(iVNXI-Ci8!+wysIW=o=9ZhOPqy-M3} zE^TdSC6msv*c+)jf0T z|FrX(?d&+=Y)&iN_YonZ4#$;F@WC$DM*VHFGtIjYqnh7YR-2J2HwAxX{DLz(-%8!H z!1ept9ml^71}m_I1nh_zLstCK73t= zoywo~VT3>ng0&8z9qB=Yt&Ahr#-ukbI#!txf*1|q=gPV*+m!)yZB_ioXR1e@7ejjg zHuWPJ24 zbG5pEQeNPjs++P`rui4?68qUry!{E0m@1rle&MCr&%tI9=0I|bMcjm|wCB36x5+Lb z=uH*Gg{Fu__y+s#z?&7iX|iMCn)79bLg!p*wGz7%tLgt=Xp{%Xkd>j(u#&6M^Ys+q=t}cCl_#Z z6h~`)#6!|DFsHbIS4BOmzG#yFMC5IL2QdQCa>W=^{mw@sCyH z;VX-61beW`)z;3V%?Z+pID8b$suBWwiBin=JZmJHzY;)5*TV7^h zUWC~KFwc`Fa;$%GMiumW6J6!`L~Vv{^4DW118zTaS2|LpvegHYJi?IEDsX>;eq=|t zqeA_JMT%-%Z3=HP_8#`FLRZO(=Lqukh8r2gekM4VnRYEneFcD}qRm&hy%D5poj9F| zl)W?`G$A#@e9`w`B4n605pL;BXNhmY54W&hO7g?pnd6%0TBzaf2ET|oj42$8HB4tM zoS;KNx)`@Gt67}1c-!4OJ#5{Zb#|?Zx$zH>3FO0F*<|+Xxf8|ow zhZr7xc?qoop`S1<^2p>HPttgd{T)bqM192lh?X+CEyO^S|#)v2}6}^aeV)mq0X>a{BxDUna*}kHrM(yeasTgN1v^A-Dd3Bz6#Mh=Mo`!d} zHM9(I`$@AA#h9L=EBfd27jA&?sS5y67JrVkPR&;;lcqrU^9~;N<^B5P3hL$KZ(g5F zN?)Ihs!+H7U#(Aa`IPmXhku7D-!E-4jH7DD^yOX#FXyL1AU61I7#@N7lJ3@2-({Mw zKa({Q>m>C3{H0T+JQOCbK1TYmbby_#tNb^8m)a65SYP!~5=7Qll~nLw;lDNw*+y?+ zz8`i02P*|P!URiwf4|ZQ7aD&4vhHm_TZk{GgV-y(TyKhx%B^3m&7052hB2ot`s7$v zKobk%&&Ast*4tXLe%wq>=iDp)+{~73EEzxUm%C9*#*JuE4K220teNpyjP!ub!#-u@ z*rJtVne~jN?98L3$W-UpeqEb~c2-$fQU0f3Hn*^Iaax~EKR^}y>g0)Tg2|z1<0}js z^NsSD_M>N^eZt#J@Dvh??;4rRq#&}@M-g&phgd@FRKCvYklu=RAewk0O-USLN}~JS zQS!C5<)R}V%uE`oF0U(&%smyQ5E~I-)D@@H!m48Q!h1v$JF7d$;+l`~$7_WJEFm{^ z{zh=6$wIccX64@)k60xjZI_fVT4dwf>nBFOPGa_8E5li%CThEoVyB|AC+&e5Q9|Qw z;hj;R|4b?!Uv6iumNpiGPv6Jl+l=<`=xX)R+t<=B36;ua)H8;`2WJcLa@Qq@$E@51<@H4Nw`mSIO{x+4m({;gU#p$J5euh= z_mFa7KW$#KFzPT(aHGT)cTXrL)M{QjuS z_mS-P+US^8|10ydzRzm^k?i+b?cXQ2(oWjHF8h5}`%|*(&uV`}_WP{%OS0?F>i^cc zDfr@>9#!i$FDJSPaLeK^-m7*0{`qd-t9AeWZ{5CE>;C->JHD@suQCAQn|zUhEPm2J zSfuv?AbkIoghz^f?7aX8-@nn#djSx>f4rObLO}Rl`6ILI&uIVF9p7iP-_84s_Osp_ z?I(K5mSyvj(RyMt+F5X~$`k8T_o^(hHhG_}KQ3XGgEzfi{=yIK=6i_XDVN!0e=%ez zFRCzFbjObw^6(;GAr?OJqx75v?7q<-;`#?fP(CU-28eKA>!~j&i}f z&qE#Grq-u6v>iG<5gVztz5QQLzgb=(QfXqWntRt@ACqipNgTxz(vz7gX4Ss(c8qk~K=U9Kf=&>W%$m%nI^!@<5mOS1WabyD*bos@lY zEMpj)Kb6vtGuzuWt-T)E?VXs`-pM;}ZxrpdYF_y-?cFiTx^SBM_bY#W!s3!(K+Ddw zmq)38|Ate+e3`EQ{A;`3e@OYe_x^gMu3zwLqQf+8F<~i`;D}MV!BixgZFp{bmeji3Ry~P7N$`35&6>n5{>Ib4*Z)0S-d_I2;Rf)ofG{=j zHBK4-U9hgO@-KVd_T^Wmmw%JGGs=gS@s|SaywLs5KCa)@tgqhW$vkO#+dN;@`y!7^ zeH*XZy5CmP9WL5zpe?ucevF*dosV0PXe!dX$c?n`qK(pWtY0tPSF=EZ9FU_xJJFv|70JD%K9wIWaa?`@sXS!REt}4K zdO&=%?T3<8&~}0iY2tH+>bq!Z6;8mvLOYnR zqK%`?u}(}GXA|96TtRFc=x-kW&tar1ZN8_tB8p|8jDBj<;XooN2>on+ptyoVkvfa5 zKMh~z*YAqYFrUEbfzif4(u9zC)dHDf>VLv@*%CXl(UCE#Hol3#t0w)kxSj- zL|0(7d5H6ww)2Kmw`Vdkav;+Opq?4Ms8-&}O6;QT(cO9zE~LJCcSzFCM)7=`sZ$BI z-cdWnsOAFb835}1ONw7&&9@a-(D};v5{`>hrw6nh!C@*niil(2=M2+#UPBEFzWl9SA7Ia?*!2}WkH2b|c=K>D!L83$=H6CM z8Hzy+1-=ThVe;Qace_BVm!amISme%=rI_1b3n{cap9*rCo2mfL(29A-YJU_wxq(Nd z>O4EG&L5}hH2Ol#diI%To)Pj$>-OD~-{1r<4wd41z%4(3u3KDjyrp^A{P?Qo6Tfa* z-(yqspw{LSx0P<>m~kD>-rDd*?yR3arp(5%=-n%$S8G4sV}rxnhAO(*;CfL1Q+&!f z&ZqWEe7`qmLrv*dN&TIpll{0ayC44mOK#HPjP?`(?DG z?{Cxhx2C=i-@gdZdOt_+uiWu{|KR&+dOvl?_hJ2`^nPUOJ)Qi;&~&OPW4zc67;$$I zS6~_WBI-cmWBbP2mrgkmB51xW*KI?I^PaI-Q^7AsNQ8};nrO$Z66#}Eaacpgnhxna zlDAFMa}@W}M_QV9EIt`w8-jbt>aqQHMJwj#*v+(^0v3&U3&_L&MBI(Hm7_NeNIIraOFV_>-)nNz>V zI89M&fTq&wP?RVp+Cq#}wec?>yZXD}rNi^RNm^mu_T>1o7;3eK;9TnPQ?<|A~R=ePVQP zPq*~x{2XhF{t!qLU3iD!!P7`m=ic?dR3tfZsyKd(pdhZ_mG$;=)AAZr#$EhXcgF?t zD&zhc7w=n~Xn+OCz|cHk(IEjH1{wXd$zhP9&Cvmv6x=y{CPWPqqKbs5LX#PBw4VVJ zvp#m^luq1C-Q(h4k{DuK{Oy|f2h~k~6S;(7dYBe`J)cfQ8;5C7&TtZTus2_^DheUOO;&XQd&Tls#EatR=GVqKG&g=(#F!@WLlCSp3u>Cj4}uWw zq3k(LW$~9|9M(R1ZEbY4Qx409mZGDC=lXYjeNDA12dHm zkv+0$z#WH6v~Mx*jck*XaXR_+hkrk-Ec5*jvfj@-}3<@XgA4|M6j&^-s=ve|lE?KgfFDmi2zmtoIjY;cqkZ zT6+K6vfi)#FYh19djD~D|Fhojo8AA^`=$YR0zCVif23#3uLI&BgZq=h`#S-S`_bWj z!k0fhyuXFUdB0!s{!qK$J-lD-%l8QHPxR$C!A#cP&wTlH;r%E6eoc7)6Aw>oct6&_qX`_UxoLpJ^WXP_q+M_FA4AOr2a%P63Fa5^q=+<{ZseCPa;2cpHTVF z;O3zGE!3ZQFYW#i?q5vZuU7eGsrwUE{$Hv4pQ-#ksryfKe`D(YCxWLjbw613)urw= zUWv0)_qXVNQtDp#PgJGucT@Yr!h7TY<7hI2|CzD^`sBO_UTXaHO!V;`!S@-~BkR9? ze*#UWf4^t?_hr1~`yS!<2LHb@zMln%>EEwCKdt>!{dl(OncA;Wf9f*6KLHe_fB)O` z@5?+rT^)WuSoj>4@%^4z@J~+v{&WBR=eP0=%6n|%gPTV}CVIjnW| zshgtHmht}$?pAM#p1yR}iJwO24v3Qvj0*bwl3z7HGdk%tN<2Ng)B`i^yVpLiHG=<_cBVbxOZ%@;{--5TEi{#AiYqL=* z9s>JrMuoSi!p~-WL;T+}0?b2+a0{QN#@@cqNI_It(eG2<-&K6QWqWI5mE!VX+^9U-%K2ZuLYP zuj1BK%#p4bz2OmVf^%Zbz2mf>hF+d^9rFC&+Z-@KG# zY)HzVv+(uk!t42^$akTu_3j@t?Ne7nTnk{9B$Ji}_R^BFkMIn+&|K=}WBirovB|?} z3hY#*zwU524LJij7wMzU8)q)cIuPr(J!LlOaz7r#8tX8bdvvZ&b|Od1_wiSf z2i6p9OH7dY&(`HloUl}#!&@Co#leqX+0MEwfBf%Z4Mri&|NWSZwL}*D5piVoWRHj0 z+t2aeeP8Ufi?G4gC;L#k^=X5d$CCV>9gma>8)o0c_k2C9+%~v9{Pp)LNajZ1FI6t~ zuwb${hd~eQT-p8xU!ON`y60gV`eXGi_1E8vzeR2G*fl&ih@qkSwN`OrcPib{UlNNS zjet8Yxxb@wvUcILSul^gXt>osl1CS|xdr3x?vN+7s&W4uLUno$63iYJoO zArVgxA&n3_V)#Xl*_?S?IHvmKBkl=(SD$Geb?py+p`m0A3&OraKjn zmDLb|o(=GzXdlFie*tNbjCzZEbjq0ifHEhdM)ZY8=Bc%FY0*8G6;df-jQPwMHsp^x9i_Ch8iwT*~2Y`Nh#|uk#hVts{J$7YB7_Q0$dfXWeY- z!}tWXs=n2;$Md&e*D|XM57O*o1k_Z1vIEM~D5cZ)u#Yrxu{)P`R|GtZr-c%rGLlyvS9SRC2GGd+SNTaHQVeZS5fDPS6w zM%=3qr)Biy{7JZ~w!E|c9h#XEAU&=3^h^DrInee34Mp5-qHK8#MBQBzD<3@&qN;pk zKmMBa$^74L^4{=Z!`Rviq2C*;g7Zqy>r>w23GVBCY$QrK*3nZA+o;`TKEkZOrp-Ah zYK8;EQ=o@T@WP6_D$ZQVg6}Ixl9Sr1bE3PEMx?sXLlI|xD<}^kN$aA)^EKW3R0H8I z@bJ`#y3g|0M}ro(IW*UQ&DQS|iX z45O!sVv@0l!ou%f{ttX{agMMlY1L%OLa<;mk6^%8W)+rg*7K=}s{SH7TfcJm+f%@| z;X`zo*1h2TG>zQhHd`}lMvwV>0IF@YJM9MsbT{-kpLrym9ycBmbT6GA{rW))3J5H8 zLl}99qz_Hjbh&9~`TIA5`#1ico6|f2uWD}eTKS1B;mymz%VU^{E!kCU#>SfXXR(&` zdG3FyfK`xfuRe?q%3ddsHpLID-xvs(=LH4_thw_}=NDfLhgGjt*lbO_>ZP2j@^|ZB zQaS~LtA@~lSd)&sn!rXYXFtCn73hHtPoD_@y~aacnL#Kd=yqj(p>GqBuslTfD5GvBEx*OwvK z5>rieE?Jpzny>PUdkw30#(K_oTCeQ_B2g_NH1|D$mTApv23^8b4ie{1sEl)<;~QRo zZX$!(Qeaw+ARXZjVYD;~^$c^_8aDB;M2|HcyOqo~hDkS&3YF$2UcJ@*{p!4&T1Lhn zS0sD*K{&`f?Rh4b#>@T9<9WEuv~f2uQ#dkytkdPq;}pMCP7Z2xSNqz2 z5Y{%D+TvX(O>^7ysL+-9>NPpGPd8<%^7O=Qhj_VT>y*f69%xwHCK@E$~D*H`gP_1%o5>PyTR{Qta<2q~KP8b7( zId9tJH*YOKj5TXl#9q;S%WTfU4#4PqD2-OUehfUl2;mYuE$(~S@EE)s%FQrwhxH=8 zgy@m)SNQk8|EBl%@?Q0CS(Vj7)_VSVCarGz`-naE{msPpwCac~u6zAONH6U7J$}J^ zt2#UDag7NR?lhEy;2Go4`Ns?dAYp+2TFourVmuD(9=@V9_`cnE2tXUJ*$-*Fq!v^c zrpD{e)Oh_i1KbMcwI84iCJLY+FP{bfma3hP-^;wmu=I`N_ppEejpKJyP=9yhCx$j8 z?!LR2TAi4Oe88nVb1a;$h#a=X7kR?WLjAw+4wsz3 zJet=I*6W?t4K>9^_9UGqbtsbA)Nd1co9d71ZQ5VqzL z4f|TXHs7xR5NVA!FmY;^xbl>sjM~vx)7Bd#Wl&;Hd4&cPNwr%h)ox^MbA3@N zjx3cAr2ku~JRn=#_XnbZHC;drK3ur6{LOi5NI3E_-Uc02gEh<~aOL#Wx)%NCnO!mf zf<9{E+Xd7(OG{!-s}jo+C$Q%31z0mqA>_G=jBVuM(gsD6=+5cIj=L`RJh+jTxdrME z6x@OLcy=S|*A4xnt_dE|K{Cka>zf(SvX5-st+JXKvz6yW$MX!_7|R>jqc*ow>@(Zy zCD&uwW`trz#I5~vK@K5719d1^t9xWmqDVmZB64=351YRJW0Bq#QSaWfl_4V-1d(GL zBY_Vaj^`(o3!<|8qDb@x%i~U^g|7YA1=^24re`Hd?Swiut?$F1Q}(tvB<;wDd`hNj zQ~vaLi?=hfzkPlmEEe65XEl8DjpG^QU&$QLyT|QhJj>SjMib2l%d{CY&`)PGsL=h$ zBqMBQea3@>bovTuSAICENBsdh@dV_CDOYprhD}WzN~5WDx9LlY;yOy`f5GQHX z{L$R$<1mxM5S^CKqZ+FsRad8tUsx@(ZmVCmXQv(da6CJ z{WB-C%0k@VfdIuC(dG)yws(UA0xBhM&v1!Qk;C-Fy~C6Akd&*z{FW-T`_a&et>^ql zC$Y3P{o!lk269*^NwfPdswIfmBJyhBgWF?ThqGjBai4ro@04JiX1%+=A}2UM(c~0) zw%B&zE(C`fR4(i75AO@hJ;1m zVixb@Agr{-v~pUw(5`55t8#K}^K74LJhT~+vI)5;DXH|hd2_TId5ileoT?1NG&+GU zVTmqTIrsER+d}P~?0)|9^8Mt#*toGv%Tv!42>>mT-bV6bm1xtnYCMY?sjYu8e<;e| z3jTPjPE|Qa1pgCMVK42F`6Zla6ZbPurAdsyeko}Ot}KmW-7YGe*!>8NkByDH28ED{ zBu+aIBu##Gj&x0h2?t(zjF*9aYxWn|)+@RiRm(P{oa`EiQC1U-ym{_%*3)M zF&R}fOqM*g?K;alQ|F&`LqENH>_|Tg(eQRoKNGR3Ct*y{&okI)c1Ax!yvKS$V&f3( zTKDH>j8BGs`1=Cm!jxR!7dDk#mv(ivf4OhKq6fgDKlHp3`0E$I%sbdqf}!*U#miIo z7cZNBjMF3u%B_;zp*yD*ISw zdxxmK656wMT<5D=-xs-F`bI7nvU@x#Pbr->iRz7-QhwYKB?e@6{;+SF|IrA8`Tyu| zr_VLy`}v=y(^b0X&C0gnG4tR4J`dv3@!!GyF-*m_ZGa<>rlGe?w_;3F*C50cn82UC!+d?RG&Vn9pBl{9Nj~R<`WjM4!|8pQ+%#DEyVd4y zWB`euo-qNj*?)B`Z&E}9SXkt)pp$-bN1zufT6rHePs+EXXs09EWf{vzH|aprtg>Zn54dRjwv{XAI)`%BVp4p z9wPA zsUP@<$`@KY?ex1(S#16ieRBaT?eXWyVHqY16UqP5>FY18o{6EleerX}fWP2xNLCbS==@Atlb`)0v=ViMkd9^MMU`!oM? zSklV!cNU+N4m(hW_Q-A6f!)3FVOMova2U3;C=33tSpa6hUn|dOikt)ZCo_oze6c1` z<8Q+Gcq{v5qK)@JRz}OA_Y}_oqPHsg@XVg>WtJh}bY^AChXwF%!+W_T&UBxkiUkIN zQ>}kynOeTNg3}SttZh2vsUA@lj{cxXcQ%|U{f|vTli1~uZ>O!XeRjRZ>J*TUtYF8+ z1~(SyRNMFI2x_Hdo7a_~&Z?Z8P|i{RS-Ir3W)IzbKxZCtKhx^QPjCkaV49BjNDA1N zDFTg#395iI0{hNCn{yRh#lg()7s+pxTrSC;6?$tU?uKofsZog^T|Od1ERI1i;+@hH zv%S)!RdG*zxjE&Smc4x^{`868)}Iay1^)EYQO9@gPY?ZV^y4MTQk!3zjzK-+ytA)2 zOF=!8T{J_@+q7FT$)C?8*%8lJU(eB3rtO{2x`b~YuNr!6h4 zX*!1Es3We<*JaA?v`l4}cxM!3{_woE{L6Yymf7O!s!cf_QjE82iBek1LV!ohMQ>da zt!|ajypxAsb(Yub-MffdO1@jjJHNkJ(%2aMuFn`8M#MPO56Q`CLqc+Rk<*YbG$7+@ zE2gO7)2M%#&t^><8>7GTZP(ZE9QA@{N1dm3!{=ow^7A&aMIJ!@a&YVX5hA#yfh#oN zC)0dQmUxe0;xt$^MPPh6O1Po5#CzC|ER&m#H||I+T!z5V+%x9n1O0!B=rxiY=d6j$-JEeGcgG{q4~qowgy7d-SN4} z`_V~x|6Ly{MxG1eul>vY1A2WBA%}S1(t6rU{D$hcsR9u4LDM!fCF<1;(IG$#j_z2|`>5a7Zh zqa-N3%e68C8Gy^(mO-kOSpkR3QWy7a$T;$rx0ATF{Dzj13}mt98xN;5$*I$y6$%Ai?nC{WnaRRE$Tv#d(Cb0)2k`@b zK1su=fwd=d6kwgL8h-kf;Z;7T-?L2h=h*1Pnbk)IQ0bV5ph0%TOdWl%v{mowV?+c5RkxA*SN8SQbFM&Qa+d?#bY zn0C0MjsA>hCuRUpodLkh=Ktz&&-0rJNV@;F$VCU(`+{?5n ztNxGs`uf-No2);n`-yJTxU0x@Y&7~-zD>)3jeJN>@S-QWM*IQ(zAfrnIPg!IMDJi7 z6?Iq9Q1l_L0?H;|=bD7{fpEUdXz!w(wD&G!61LaN+GDF!!@Njt-9T$;kF1u0b)QUU z;RzvQNKSgp&J)&-Nk0e#lO#vslsgWO@4PjrZ)cx}d42Qu>U^r({@u{!@oDi=EL+p@ znV0NempjMG5ig+K4`Q-Ev6QCsOkW+Y&*pSwKaLX0Q$s=FE&;OB;{Ci?Ke^T`bh~&M zq6UMPbQ<^MxLyfu(iDNE8(arcg6kIz4n5e{!vTMHxU2soIF?p4epJ7oEk9SddFzeD z4VVU;t2XkTH+gy3rV6H0qVtV3`PQ&0S0r(A6{W*?>Tq4^&an1___8c~y?|)<^g#TJ zhckt*S>I3L>osGqkT{?DFa_e|eHMAl7M_=*8a4T$&za7RLAy5`G&DGjDn`qyPUmAQp zQt)kofl}j}a4Gn{F7WXEhu;vsjQK8U50lWTZJtqtzH1Ip^cEd`HmumrA}_$$W&Y41 zVsEVEsK1ymvxmWmuvqOHeN@FuF<%o*@U)44b+gQutY~ym*%Nj9Ab#o-9>O)PF_juZ9ss4)P z{pY+0PV&h-JC#=0&6r<2GZvk@!usKUgYrS6W8+m{=U|`9tt#I(??yb2q;#BU$5xh#U0_b-G$LgzradubLrOkbB6p>U2OtB4kcVZlT>R!bH>+tv#2q9(2Zdp= zYQdqS!;^xFx>=tlJov%114ut7) z`3b|jl$=MIV=AQ?c-1p{{rO{b4Ao|vUy^Z4W1A*C+SJAzvl1)diw3S~wOiwR3v02YgU!`GqK}=GJ z-ov>E#bi?dq-Mq#&LwHfWiLuq`KIU%XDdvU#T(^3TI0{LRj*~MdmUW|E6sQx&}8eT z{9*+<3CDiKruwsMQ+U4jeGS-r@NY{J`DMc~$XrgbPLW$`1p`cVG`=Fy#9W#tqSO4N zRh;Xq4PMd4d#N~OWjw!Th7W=(gd;(af_{GBou=3uzA64~B5m#v|K^>g?qNpI_<5-t z)k6$yYgG}^Qn!yuL^Pr0?rpoY)y;scV#)cO_Pv{V>hz?expJDhnpIz-FV4EO?k4x6 zFe}-Pq7hAJL>j)N&!tF!WS^sr8--hcVrrh-3;ClZMN~zUe;aWZTWdI_QPCxN;0(fI=gd|ycy;+zk$G#Vp>K0lk6haCs{G@Sql6k>GW@v@vn~(mU!@Mj4iemF&F5b;*Gk`@v*9v77$;=P+xD{V zUH0*@*($HzZ+ub2zU`i+G2`Wpyf!a)Z1RnSuAgfsebiMJ{3RUfTV;r3L)d_vb{x9t?BcK2sC_emkH$^^eb!I>pq)U$Ew+?!El<@fI@h{elsa zGfSKOtu4sH^|H32jU5^;3uyG`<1Tzl4>$z3fNT_-xDJl^@G)|C8nqE47rkENY+)N@ zt`kJ5_L=Xh6u&`mA{xcVeo91|5U-_h-A_ffOiSoA>_m<}Iic|Qc$MOLFDufiS+N-v z!~^twK49ZMTVuH^+%0s$4|gR={~}Cp7q%;VLRER^JjE*&TCis7B&o#BZwgs~Jv_;1 zCeE!qrZ=1O%C?8|RAPT-VJ|N!4~h)Uf#gWUfH$l!Lw~c$>>!4Q1;TO3k^J-Frcn-$ zK6zzN_xPT6!mWE#~Z(XmWFtNw`DxTr;B>w!FKB*{9(QAoyMrU0=BU3Y{E-rWX zz(VREHQ-!Z;f68JhB`jLDI>k`tbcK%xQn4*QmzC29R z4#2zBnb?fx;pwAnO(NlMJbfF#dk@)XoGclPPNBOI9-ya}C2_XLQ0w|R;{VzHCCYM# z8_QZU=qBm7+x@}VAG~kr1C}Nang@Fb$!4&}b=1k! zNV|F@KFgNZ%-2C~sFQqcCqOD&utQVNv1#Xv-H7@FuHeCMIA3gP{A26rbjzeeB+q_` zy&dz@BnRx>*OT2HoD8y4`WK^sAg~be=U&r%j+FB8WcuFS%eNBpI$tZ<`E^WN0DWP1 zXKd|wZgKI88V>f?@BDnNbaQ2RZgJuT8@#|@7R0&jaMV+9K3G!*c?ai%ZFtSYe?vO_ z`+4~1b_f4pz^p%i$1}oC_n@Hn{+E6bbHLeR-JcWoo&Q6B64Gtcx`e;HCjL@p$}ShN z?sb1&SaP_IU>dhG!(NqR>ZMmV>&&ocb!J$*of+2J-I-x0?(CQ^EuF)ozPdRx?C>?3 zML09;9Caa_KXz7OSXp>(*kkZfn!e!%0kp{Q?Qj?+Yo_89(Zi>Cm~mp*Nv7=CiDCcX zUHXY(V^jKs#&Kt7dvOwFaBkR-R%;pl|I@i)NqsEMx)^cMSA>v^^S+YfeJm~)*z-LJ zB4!CB(>pJ3&f32?KCnlpgjFzKU|mLiNIZ}1P9r{>pDjN~=6PYhmYtjzwiiPY=ouOC zKkx0l`*;|GMn6E`NsUhuv`|kW-oT$1b{ErM*8b0V-PLzI6Zp5O?^pOCe0|yHh51@D z&kOq(D@xPvLpk4F|GK5m$?5l0g$VnZZL2@tj-dgfa{P`tKT{<#j`=^^#U~0pcJ?ftu zS3at^z8&GS7HeZCrwQX==_Pty@j}P~^$f>c)?v3)k_K#b()( z&RvmXmT0?mPj@e{;wK>+VI{aej0*fyWW>aJ)$E;qhV59~uiql-!TQb1*_Wea1u|A}$rObs>^ za9&-+4GT_kb9UYge2XJ|_9UjB9Cr)W1+RKW7w*qcft=&kf?~Z4PAzfu%qEHHyewOi zDC4JTI??hck0{%0EldAt>Vq0r{&{rttFh?ljY0Q=Jmayr?|;*r0?Vo%jaj_rAY6H} zCjs6@Esz2nMRz0lP(@+$u?2}zn#vGJqFIYlEqMJULZ+HZbiBdvCPM;5b8u?kDxtMP zdDvuudl0durTEC(g|SQC^1LKLc{6Xq`HI?0w99jy+vE=pDM{Dpw4W?|zlQe=$*!Ts zT4He%=J?^89qYR*C~r&8LR!}cvV#}2UuB^IcCY#k^VrM);sQQm(|_gYXb$_5``CU^ zH{vHOOM>si^`l>*FZgh)*m(m}m*&W88A8pOd*MOX{p{erSE;{0C%E5mE_}1p4dQXU z?I<-CZ5+!x)cH9>e9=+dA~r639Z;K(di;e*j>|=%4d|wkwGX3FuIrNTx}1n$Nvr>o26q(_-P;N@%q4;OftCsrqeYvjNV3EXhTVyGr{RlEn1Dsk;FJ*sG4=`eUO52sR z?b?|wXpduxD{`8zpD_8-JL2u}l@*&;y*ioSWLY^^L^ zQkmNxZ^>QN(vn|Q)>68XlLX@{b6Z+kdsdaTmagJJqWG%Zl`TsmRh$SCUs6iZ%9bUC zl&y@nmr}B_rM(|T`L2|LyrZ5a4cm5^{p;H1fmpUTD^)W5-9;t!thsLwYQ-;q zN)PI6Sy!m9_Oeg&TGkciuBwW!tSW79X{C*p-1f3n@m9J&y18$}cQ(GNvUGLO)pqNu zI-0vmr~+gEy~ojOB}eJ?X{$4O4c?;<&F<5(z9@Gi7rk577urRnWqrghdg;|BUiH)~ zT@>h*F7oYfo(g=zZ4VXDMXm~Pab)f%@wH{ETH1Ck-575xYiViQrSy~db7d=Ap6gY* z$-gQLU*(s6!i$z&OIPy6%1G%dM3G-_QDe7l=S4gJAbR5cH^HBGN`786F*{RaSH?HS zH&-^#7Zt`9u8B6@3c1Ex7^6ZGi3}34F#;>&t3i2HbN?PKEs)z&@s*|R$2Iret)(?m z)~exH!|3!eYO}#&)LK^dt1MexRZ7{a_*2wVwz{&pf3B!J+W1$9ys}~IF41e0nM`p1 ze?e!^UXR?>kXdd9K}G|*%nRrd-hh*;#7g-AtpUDgtJUyMe056;Ox2Rx8nC1IsXceK z=Pu*5*4*|q?pmGO>ba{0?uuSJ*wfm+WHH~7zryhnsTjTK!styG-;Ulyt443SFnZ(S z$lQ$()oRh3$gExTCc5W%~;j8@8jl5X0YiX;xTed3JvTjhzQ<2hka>sbPoknZc z1v3}rjgRE@3h+?cF2RJ{0U2JJluEk9!A1u9a$7wD|4(?E{TujmZ}P7vac25*yd~b6 zc$ir?(C_JS_x#W+@ijWxBHkN6bc0{6EBpNS6D ze7&kz(01Pg>qo^}+@Rq#KOVjz-dZXdUbeEi?@%Q3T9a#K8%tX_E8L`gVc938E8}ZT z*01bWwyAVg^RPZ9?c#n7%<15R^7xc~`lQFU0?d%tNM16ily<043AJw1E`;+})J(Sv?^gJHDSo5XQ z0Al5BvFMnMQrghi4*1+m4A^B7`{*)--=@75d|(*fWElRyFuXdxN*MmcFx&zOJ_l`j z411DI0~tydVM3Mj{~zMsJv^%FdibA7CJ-=iq67pB8a336AcDopXw)2;$QhkcR1{FO z)>ul47pgOYw_KQsw3xkAE4bU1{Jpc!L-?<5iA?1d zomS~LUD{>0p=V@2b`wzJx}#JefpqX2hu@dDod}6}1%c9bb`P2MKrtewHnh^opCRAK z_QAR^xFOs1#t`bY*XO%Mxsv=-`qRwxC$?gLjX%p@Ll>bMim+b$Yz?`&1CT;TdV#BrGaow zGKJSnOY-mFy?s9la6t1eV{P|O1$-eXJ^zPfkT&?VMq9qq+xI+Q!Tl0ZoGZ9}4BT#a zyTgy$Pa^c?3a$}Q)EgPd_BnX$Ern*p4H8=ZVD`IOn1{8=AnLb)5Q zDbHH>?!LhZ!d5imf&S*P;#l_rF$i`%q#d~1{}7v%iYK5P23)|B0qU8iZ2n`J*~O@G6hlHdED(jUwA z&@kUZp>ag^&)u7q+rzHvx&@bYzl+5NW@AEaDd_e&4|d!PCC`FyOP(G!k~%L@UmE)4 z+TrBd?d(w+b?zteoT_3x1&F%LX`G^2EHgOKHKND+X^&my5pLyYn`mwcn1_vyok8>k zvJVQ#g?O;s!jLt#e^Bn!3;No$=mm(7^fhSa5f0>tTpfpx;4xe{l7ngu_Xj~=s}>!s z@^Dyo(D3fkyWe4qp9JA*R2`7>-NumlZov9ccVKfXtsD&TKj=OdavuvsyZVdE^8S$d z70-p*qTNyz_my#ut6VPshZP;>DEA(=hYQmDU0a^l9~uf~x%8Tx{(6n$o9+(ynj#or zFgn%GpjiZCZB-j!Lc7kc4f>90QQ4QP{T;6JA@f);UQ`g0FlPq?-iDyJGw9nC(5?j% zTnX1{c#nsyk&1VYWWKfKgSF)VQtowYa@QE$H8*t!e2tNP0zj@H+#T@R_-qBeyMtUP z=&K`s6|Vtp$|l3RDPTP^lnX0c!lQfmg|=K=*iakE={dFPHKFdBsW|1fMLr4nHfak9 zOzR5ywrUG611uq5lNNmrk`9`66Iz1OWT2xxcqDBjJ@l$mOR%)|K4&JS1< zFA_?#U*^V5hk}UPeNg2_ya}0`utXf{3VOE%Iv`2hhE0`GF60yvH}^v;S6SgK*Huo?2$cCSDHDU&FF=v`D3QrV$Hi!nZyGSA1$vrF)(>-S% zRUULt4of8Z$)S{4hx1(}uXAcj=h{K8^m^Y{o2cZLZ|0AN@W*_0L8QYZf1hHKFwS=a zF!7EL6qB4)Fp0Usp8-N5zDa*6Hs0`U(4x0OonWzgg*_k%%ihr=@W$hDZcLYl~r+XL1u-Nt5{20!F~Q_%fo$SUX`h<@2W zTu6LSI2X?_%v>yIv@-(D>$dQQnrCzB!bi;#I-SW#}s{FsRdcpDWD-3|{0 zQ0NWep`dorMRJkqnJGAE%P&ZA5rZphi)-d}*Id#h?}4~M@BX0o zaL~6N7P?un(204%LDTDi!#|Op#Uf4d&tQSWKtGLq9P+)VE!?CS=!e?EdlduSs6}5^ z40Nr-K*uWv`gXub`I7v;=KGD_ z{RgVhkhwSH{TzZsCEUG*1<{KOm9SD-NB%1xg&p75AbbQ44NO(thOhI!U%*d|Z{nx2 zUl7C0R4WxD5-%vG8sje~Chk_5vV|cAl9I$!-Ztsc0$*g8AV_x@_U7aVH5>*z5zYn^ zfxY!}Fr+#1alm~r`8S8Zs!BUy7XMj3&qF1u=tPi=+WM4l4Y|Kcte{xBy~shQf^YZm zS8nm3{6r7@6}*_pikQaH=E$C)nn#Ku4Vmv@1UEA1-4*EISReLkk5$=4IAPKu^Bs!jnD?u! zi6_Bv2ipV5AsqKdisRC&K2-`Qm9pkx6;r;+zB^rA;ts`lK}wl+?s}zmFf&Eb(mgL% zy(;$WOZPZ&TqafV-&+(&p--eeM|3vg72w4f!+Wgq;R1I!i-ViUDTaB8h>Oa2%b9N@ zel>h*zd8c3mm=}HC+8c)_wh7MF5s?cF_Lj599>IkA3D~wX?}(xW`~eUQwBR#=%b`em(uj6jpJn;oEc{ z5sc_X7-qK1-mYjN6HS2IFo*bS`gSWiIp3YQQSDMH8I>BZ98D@UNqW4Cdd7PeH!Hv| z5g_}F_?AEvEal$n68BxOPX+LFJR~_DnnC-0%SF}(Nh_8-U94`^wI|p3eFwFrvM&Xv2KVV6d`*r&frrzZ zQPLX>Lj@XIY!3ybM>D_HqvD#vcqZ)e&ZzBn!aw$)NHJ)2j7Da%uJ~Eh$|>5+YRB@^ z7pmZ;-^*U%qc`&TWX~X%-y9=H$KPXQi8*R`4!&!#Aa5)bW~Mq(GUC^PCvJh=aOv$3 zBl;kCVsNvv{Sp-17j&wl*1T@>J485IT1Gu5^rDis(Sj?8j!{k0uc)5yPOj^fC-v#p zl`r&Ban10@|58v(L4)7l@LQCxE!r#Tnp})bSYlZwN z(E`UNTX~o1XdJabT?vK|86Df@c8eS?;qseX{pQ>7m>hc#U=?2tkum+|ado$ueE?>} zB^WI4BT2U30%R;kIo0hCY8`C*_B%7uBs{U_%AS-Krczo*^`zD8<3Z<&6>K1$UBO}A zK;BD6wCEizdi0|)lBGHafW~75%lIOiK+y%$mq;PEsaMyf`+YH<4><0;T1+kln2zm< z@2HuOEknOo1z@^jb?Pe~bJr%?s7c`WALBitBKs2tmKZ`^^zqAA=%d6mEy0@eHYaVL zq^W+Bc9oO1MbbF?R{6f`^usWZ>MPG9O=UJ%R;&yEOuoc8`oZ%{eamD}<^=UfG5XQo zy?y%H(W(P;vOxPiFby`^aTl{Sp7EB5&;6}U@F!Q%XstQ}IY{>O*?Q%p?)xJ*>G6Ki z&hxcJ5t;wf)>0iieOrUg2N9>8)0U&hI9r;$X^Wvc^ ze&0@A3+^nA5ksw>F$B#oL*~BbO!4g2o2C@F6E#$7Zt@RUyJ9?PS_xt}6F%JX{LGqm z<)*}H)gxC)tR-?%N%cCv=HKBbAQnymxpeviW=oG>>ACbpDZA(zFjnS1*O~h(JsgT> z5Z$F%aB^1f7yp7TO*&R(3;uTM!86d{Z=hg%ZZt-p6 zah6NFhJ$VD9IL&O^)8q)o97vZ6)OAqfVcV{Fop#~*sJ<{pl5uG6OqWG0oE+o`F@&fwq(3Yj8doAMLyGKc@A?W2r2&71}S&c1zjNZhcp ze*SW{LLYqN{I)`^m7sQ@^pJ3=>CG}Lv)D*@8~-h%1jjbWja;$6k_m8|O+xBHxxa~A z_Nh#S%1?hsLZRA{33N~LZFJVJeqW^eo*3oyTZ>JWUMdUm2`#b?1R-TTy2l;q&#;8* zQWTfjXEf9MpEw$A`9R&8%N7c_8jOMt`ehXH>4;GMJ3bJpaT;%OjaIWOc27sh zo7gP}g|#Ut?3GDKEjR;csqdV|GgJq5F!Bj4Eau8!UNah?Q;cHj5{Ib>63%B!ak8+3 z#2ymT_$$i>Q{qazDY@7=*4gZ#{2e3LY`WG zQJe+~GwZ?$FNqaZn|=2tWffKPV@8;KUgQQmFWIS2TYY?O!5Kz)wd@Gz><3CPdB%uu_!Ts+^PERBHs|?ty+dOR;7s$^djJ9zVn6DpHuVq z2>DDzlb-riUNLRr!*}SUU#M6mmIzb0TWWwiNp0U(&*U?xAPrBBZ3@-2=eiRQ!T}BI zwGg1Oz{;!0%^n4B>Y{KT45eQRfpUa|7D)7-lF-0dQs4 zXf|Wkg4Ck>TO5#N8HwG`H_;JHXcv(I2@Zl#;t=E|dYYfGmy!<9$R)|MQkN7i-k zS9S%oMIZ5uNx{R+3{EJ4(!AQByP^A|)V>ml*7RG!>oz5qEBL1f=(q4o2*`f-kRqPM z<-pi+b4eF$9$lx~i`rUU@46&%5rlmsAc`+XZI{hk10 zU7{Uaky6#4(;*U+@S507D(yyevnwH?2Zd$DTF8N5(OYl549JlzoO+dHk@zjiz4Ayj zac|{Oj9Q)`RS}-C<)e-U9n{dOT?i-9k5195yXltXs=kL@%7`^_E6obNs}-hMFyjOf z^5Vo1MWnJ8f?=Qb(1Ac$#NXN4^eoq%$YvX;Qte;b?5Rj$iVY|HV6H}e z1bI?j(VfC41>$>^*WHG=GsnUOqg`2A^$e1mV`|>Pg z58NFgCfN$FH+uTlR~}FNjb$?hKUrG7L%X`!$mJ#q(-I@p3f3#XD^8!ve?mR?Fk9c0 zeo)~~B_lX--kyh|`m~$iJMI3*lJ@f>YAjz907dp|cSZ?ghgULo`wJQ69l(nh^PpN= z)gs(_K={a%T(t_bK%E_kqi$-@7XF>FPH1(wPIW*SL39e5miKsK(e6P#2WQukT4HXH zImuFD1X-Ogf8$FBIz)#@IdEeri4PBVcY`sxYMZq#wN5A2lG-PCYRJ87_zQe@`mqJb zneVYSpz!}vtyx8EGX&xMesIPR54JfXz6Jf9X%s6dTjclGrJSq*6wMWmUxX2u;sZqs zv*w={&soS~nTrr?l;$ik+@E#t(c^=oN6(*spSh6`;(^Qu*kWSBJ=icg(U(Ki=4{

      -+FkXN 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

      9IgQKqpMPCn$z8>H#%L6TKUCX=LiuwMcv`JZX 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 f{VrSbuj{A1J! Date: Sat, 6 Jun 2026 06:32:24 +0200 Subject: [PATCH 11/23] Extract the canonical named-operation surface for binding codegen Add extract_named_surface.py, which produces meos-named-surface.json from the two canonical sources already in the MobilityDB tree: the SQL CREATE FUNCTION catalog (named functions, overloads, per-argument DEFAULTs -> valid call arities) and the doxygen chain (@sqlfn on the PG wrapper, @csqlfn on the MEOS function) linking each SQL name to its PG and MEOS C functions. This is the layer above the C-FFI IDL from which a binding's named surface and its Spark Connect registrar are generated, rather than hand-maintained. 1284 named functions, asMFJSON resolving to temporal_as_mfjson with minArity 1 / maxArity 4. --- codegen/input/meos-named-surface.json | 137842 ++++++++++++++++++++++ codegen/tools/NAMED_SURFACE.md | 42 + codegen/tools/extract_named_surface.py | 101 + 3 files changed, 137985 insertions(+) create mode 100644 codegen/input/meos-named-surface.json create mode 100644 codegen/tools/NAMED_SURFACE.md create mode 100644 codegen/tools/extract_named_surface.py diff --git a/codegen/input/meos-named-surface.json b/codegen/input/meos-named-surface.json new file mode 100644 index 000000000..9dafa6f8a --- /dev/null +++ b/codegen/input/meos-named-surface.json @@ -0,0 +1,137842 @@ +{ + "source": "MobilityDB SQL catalog + doxygen @sqlfn/@csqlfn chain", + "functionCount": 1284, + "functions": [ + { + "name": "NearestApproachDistance", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "NearestApproachInstant", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "SRID", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_srid", + "meos": "cbuffer_srid" + }, + { + "pg": "Stbox_srid", + "meos": "stbox_srid" + }, + { + "pg": "Spatialset_srid", + "meos": "spatialset_srid" + }, + { + "pg": "Tspatial_srid", + "meos": "tspatial_srid" + }, + { + "pg": "Npoint_srid", + "meos": "npoint_srid" + }, + { + "pg": "Nsegment_srid", + "meos": "nsegment_srid" + } + ] + }, + { + "name": "Temporal_out", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "Tmax", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_tmax", + "meos": "stbox_tmax" + }, + { + "pg": "Tbox_tmax", + "meos": "tbox_tmax" + } + ] + }, + { + "name": "TmaxInc", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "Tmin", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_tmin", + "meos": "stbox_tmin" + }, + { + "pg": "Tbox_tmin", + "meos": "tbox_tmin" + } + ] + }, + { + "name": "TminInc", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "Xmax", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_xmax", + "meos": "stbox_xmax" + }, + { + "pg": "Tbox_xmax", + "meos": "tbox_xmax" + }, + { + "pg": "Tbox_xmax", + "meos": "tboxint_xmax" + }, + { + "pg": "Tbox_xmax", + "meos": "tboxbigint_xmax" + }, + { + "pg": "Tbox_xmax", + "meos": "tboxfloat_xmax" + } + ] + }, + { + "name": "XmaxInc", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "Xmin", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_xmin", + "meos": "stbox_xmin" + }, + { + "pg": "Tbox_xmin", + "meos": "tbox_xmin" + }, + { + "pg": "Tbox_xmin", + "meos": "tboxint_xmin" + }, + { + "pg": "Tbox_xmin", + "meos": "tboxbigint_xmin" + }, + { + "pg": "Tbox_xmin", + "meos": "tboxfloat_xmin" + } + ] + }, + { + "name": "XminInc", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "Ymax", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_ymax", + "meos": "stbox_ymax" + } + ] + }, + { + "name": "Ymin", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_ymin", + "meos": "stbox_ymin" + } + ] + }, + { + "name": "Zmax", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_zmax", + "meos": "stbox_zmax" + } + ] + }, + { + "name": "Zmin", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_zmin", + "meos": "stbox_zmin" + } + ] + }, + { + "name": "_edisjoint", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "_mdb_internal_clip_difference", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "_mdb_internal_clip_intersection", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "_mdb_internal_clip_sym_difference", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "_mdb_internal_clip_union", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "_mobdb_span_joinsel", + "overloads": [ + { + "args": [ + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regoper", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "_mobdb_span_sel", + "overloads": [ + { + "args": [ + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regoper", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regoper", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regoper", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regoper", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "regclass", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "regoper", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "_trgeometry_geom_clip_polygon", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "_trgeometry_geom_clip_polygon_posed", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "aContains", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Acontains_geo_trgeometry", + "meos": "econtains_geo_trgeo" + }, + { + "pg": "Acontains_geo_trgeometry", + "meos": "acontains_geo_trgeo" + }, + { + "pg": "Acontains_geo_tcbuffer", + "meos": "ea_contains_geo_tcbuffer" + }, + { + "pg": "Acontains_geo_tcbuffer", + "meos": "acontains_geo_tcbuffer" + }, + { + "pg": "Acontains_tcbuffer_geo", + "meos": "acontains_tcbuffer_geo" + }, + { + "pg": "Acontains_cbuffer_tcbuffer", + "meos": "acontains_cbuffer_tcbuffer" + }, + { + "pg": "Acontains_tcbuffer_cbuffer", + "meos": "acontains_tcbuffer_cbuffer" + }, + { + "pg": "Acontains_geo_tgeo", + "meos": "acontains_geo_tgeo" + }, + { + "pg": "Acontains_tgeo_geo", + "meos": "acontains_tgeo_geo" + }, + { + "pg": "Acontains_tgeo_tgeo", + "meos": "acontains_tgeo_tgeo" + } + ] + }, + { + "name": "aCovers", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Acovers_geo_trgeometry", + "meos": "acovers_geo_trgeo" + }, + { + "pg": "Acovers_trgeometry_geo", + "meos": "acovers_trgeo_geo" + }, + { + "pg": "Acovers_geo_tcbuffer", + "meos": "ea_covers_geo_tcbuffer" + }, + { + "pg": "Acovers_geo_tcbuffer", + "meos": "acovers_geo_tcbuffer" + }, + { + "pg": "Acovers_tcbuffer_geo", + "meos": "acovers_tcbuffer_geo" + }, + { + "pg": "Acovers_cbuffer_tcbuffer", + "meos": "acovers_cbuffer_tcbuffer" + }, + { + "pg": "Acovers_tcbuffer_cbuffer", + "meos": "acovers_tcbuffer_cbuffer" + }, + { + "pg": "Acovers_geo_tgeo", + "meos": "acovers_geo_tgeo" + }, + { + "pg": "Acovers_tgeo_geo", + "meos": "acovers_tgeo_geo" + } + ] + }, + { + "name": "aDisjoint", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Adisjoint_trgeometry_geo", + "meos": "adisjoint_trgeo_geo" + }, + { + "pg": "Adisjoint_trgeometry_trgeometry", + "meos": "adisjoint_trgeo_trgeo" + }, + { + "pg": "Adisjoint_tcbuffer_geo", + "meos": "adisjoint_tcbuffer_geo" + }, + { + "pg": "Adisjoint_tcbuffer_geo", + "meos": "adisjoint_tcbuffer_cbuffer" + }, + { + "pg": "Adisjoint_tcbuffer_tcbuffer", + "meos": "adisjoint_tcbuffer_tcbuffer" + }, + { + "pg": "Adisjoint_tgeo_geo", + "meos": "adisjoint_tgeo_geo" + }, + { + "pg": "Adisjoint_tgeo_tgeo", + "meos": "adisjoint_tgeo_tgeo" + } + ] + }, + { + "name": "aDisjointPairs", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "setof", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "setof", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [ + { + "pg": "Adisjoint_tgeoarr_tgeoarr", + "meos": "adisjoint_tgeoarr_tgeoarr" + } + ] + }, + { + "name": "aDwithin", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Adwithin_trgeometry_geo", + "meos": "adwithin_trgeo_geo" + }, + { + "pg": "Adwithin_trgeometry_trgeometry", + "meos": "adwithin_trgeo_trgeo" + }, + { + "pg": "Adwithin_tcbuffer_geo", + "meos": "adwithin_tcbuffer_geo" + }, + { + "pg": "Adwithin_tcbuffer_cbuffer", + "meos": "adwithin_tcbuffer_cbuffer" + }, + { + "pg": "Adwithin_tcbuffer_tcbuffer", + "meos": "adwithin_tcbuffer_tcbuffer" + }, + { + "pg": "Adwithin_tgeo_geo", + "meos": "adwithin_tgeo_geo" + }, + { + "pg": "Adwithin_tgeo_tgeo", + "meos": "adwithin_tgeo_tgeo" + } + ] + }, + { + "name": "aIntersects", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Aintersects_trgeometry_geo", + "meos": "aintersects_trgeo_geo" + }, + { + "pg": "Aintersects_trgeometry_trgeometry", + "meos": "aintersects_trgeo_trgeo" + }, + { + "pg": "Aintersects_tcbuffer_tcbuffer", + "meos": "ea_spatialrel_tcbuffer_tcbuffer" + }, + { + "pg": "Aintersects_tcbuffer_geo", + "meos": "aintersects_tcbuffer_geo" + }, + { + "pg": "Aintersects_tcbuffer_cbuffer", + "meos": "aintersects_tcbuffer_cbuffer" + }, + { + "pg": "Aintersects_tcbuffer_tcbuffer", + "meos": "aintersects_tcbuffer_tcbuffer" + }, + { + "pg": "Aintersects_tgeo_geo", + "meos": "eintersects_tgeo_geo" + }, + { + "pg": "Aintersects_tgeo_geo", + "meos": "aintersects_tgeo_geo" + }, + { + "pg": "Aintersects_tgeo_tgeo", + "meos": "aintersects_tgeo_tgeo" + } + ] + }, + { + "name": "aTouches", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Atouches_trgeometry_geo", + "meos": "atouches_trgeo_geo" + }, + { + "pg": "Acovers_tcbuffer_tcbuffer", + "meos": "acovers_tcbuffer_tcbuffer" + }, + { + "pg": "Atouches_tcbuffer_geo", + "meos": "etouches_tcbuffer_geo" + }, + { + "pg": "Atouches_tcbuffer_geo", + "meos": "atouches_tcbuffer_geo" + }, + { + "pg": "Atouches_tcbuffer_cbuffer", + "meos": "etouches_tcbuffer_cbuffer" + }, + { + "pg": "Atouches_tcbuffer_cbuffer", + "meos": "atouches_tcbuffer_cbuffer" + }, + { + "pg": "Atouches_tcbuffer_tcbuffer", + "meos": "atouches_tcbuffer_tcbuffer" + }, + { + "pg": "Atouches_tpoint_geo", + "meos": "etouches_tpoint_geo" + }, + { + "pg": "Atouches_tpoint_geo", + "meos": "atouches_tpoint_geo" + }, + { + "pg": "Atouches_tgeo_geo", + "meos": "atouches_tgeo_geo" + }, + { + "pg": "Atouches_tgeo_tgeo", + "meos": "atouches_tgeo_tgeo" + } + ] + }, + { + "name": "above", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "abs", + "overloads": [ + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_abs", + "meos": "tnumberinst_abs" + }, + { + "pg": "Tnumber_abs", + "meos": "tnumberseq_abs" + }, + { + "pg": "Tnumber_abs", + "meos": "tnumberseqset_abs" + }, + { + "pg": "Tnumber_abs", + "meos": "tnumber_abs" + } + ] + }, + { + "name": "adjacent", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "affine", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 13, + "maxArity": 13 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 7, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 13, + "maxArity": 13 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 7, + "maxArity": 7 + } + ], + "c": [ + { + "pg": "Tgeo_affine", + "meos": "tgeo_affine" + } + ] + }, + { + "name": "after", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "afterTimestamp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "always_eq", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Always_eq_geo_trgeometry", + "meos": "always_eq_geo_trgeometry" + }, + { + "pg": "Always_eq_trgeometry_geo", + "meos": "always_eq_trgeometry_geo" + }, + { + "pg": "Always_eq_trgeometry_trgeometry", + "meos": "always_eq_trgeometry_trgeometry" + }, + { + "pg": "Always_eq_cbuffer_tcbuffer", + "meos": "always_eq_cbuffer_tcbuffer" + }, + { + "pg": "Always_eq_tcbuffer_cbuffer", + "meos": "always_eq_tcbuffer_cbuffer" + }, + { + "pg": "Always_eq_tcbuffer_tcbuffer", + "meos": "always_eq_tcbuffer_tcbuffer" + }, + { + "pg": "Always_eq_pose_tpose", + "meos": "always_eq_pose_tpose" + }, + { + "pg": "Always_eq_tpose_pose", + "meos": "always_eq_tpose_pose" + }, + { + "pg": "Always_eq_tpose_tpose", + "meos": "always_eq_tpose_tpose" + }, + { + "pg": "Always_eq_geo_tgeo", + "meos": "always_eq_geo_tgeo" + }, + { + "pg": "Always_eq_tgeo_geo", + "meos": "always_eq_tgeo_geo" + }, + { + "pg": "Always_eq_tgeo_tgeo", + "meos": "always_eq_tgeo_tgeo" + }, + { + "pg": "Always_eq_temporal_temporal", + "meos": "always_eq_temporal_temporal" + }, + { + "pg": "Always_eq_base_temporal", + "meos": "always_eq_bigint_tbigint" + }, + { + "pg": "Always_eq_base_temporal", + "meos": "always_eq_bool_tbool" + }, + { + "pg": "Always_eq_base_temporal", + "meos": "always_eq_int_tint" + }, + { + "pg": "Always_eq_base_temporal", + "meos": "always_eq_float_tfloat" + }, + { + "pg": "Always_eq_base_temporal", + "meos": "always_eq_text_ttext" + }, + { + "pg": "Always_eq_temporal_base", + "meos": "always_eq_tbigint_bigint" + }, + { + "pg": "Always_eq_temporal_base", + "meos": "always_eq_tbool_bool" + }, + { + "pg": "Always_eq_temporal_base", + "meos": "always_eq_tint_int" + }, + { + "pg": "Always_eq_temporal_base", + "meos": "always_eq_tfloat_float" + }, + { + "pg": "Always_eq_temporal_base", + "meos": "always_eq_ttext_text" + }, + { + "pg": "Always_eq_npoint_tnpoint", + "meos": "always_eq_npoint_tnpoint" + }, + { + "pg": "Always_eq_tnpoint_npoint", + "meos": "always_eq_tnpoint_npoint" + }, + { + "pg": "Always_eq_tnpoint_tnpoint", + "meos": "always_eq_tnpoint_tnpoint" + } + ] + }, + { + "name": "always_ge", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Always_ge_temporal_temporal", + "meos": "always_ge_temporal_temporal" + }, + { + "pg": "Always_ge_base_temporal", + "meos": "always_ge_bigint_tbigint" + }, + { + "pg": "Always_ge_base_temporal", + "meos": "always_ge_int_tint" + }, + { + "pg": "Always_ge_base_temporal", + "meos": "always_ge_float_tfloat" + }, + { + "pg": "Always_ge_base_temporal", + "meos": "always_ge_text_ttext" + }, + { + "pg": "Always_ge_temporal_base", + "meos": "always_ge_tbigint_bigint" + }, + { + "pg": "Always_ge_temporal_base", + "meos": "always_ge_tint_int" + }, + { + "pg": "Always_ge_temporal_base", + "meos": "always_ge_tfloat_float" + }, + { + "pg": "Always_ge_temporal_base", + "meos": "always_ge_ttext_text" + } + ] + }, + { + "name": "always_gt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Always_gt_temporal_temporal", + "meos": "always_gt_temporal_temporal" + }, + { + "pg": "Always_gt_base_temporal", + "meos": "always_gt_bigint_tbigint" + }, + { + "pg": "Always_gt_base_temporal", + "meos": "always_gt_int_tint" + }, + { + "pg": "Always_gt_base_temporal", + "meos": "always_gt_float_tfloat" + }, + { + "pg": "Always_gt_base_temporal", + "meos": "always_gt_text_ttext" + }, + { + "pg": "Always_gt_temporal_base", + "meos": "always_gt_tbigint_bigint" + }, + { + "pg": "Always_gt_temporal_base", + "meos": "always_gt_tint_int" + }, + { + "pg": "Always_gt_temporal_base", + "meos": "always_gt_tfloat_float" + }, + { + "pg": "Always_gt_temporal_base", + "meos": "always_gt_ttext_text" + } + ] + }, + { + "name": "always_le", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Always_le_temporal_temporal", + "meos": "always_le_temporal_temporal" + }, + { + "pg": "Always_le_base_temporal", + "meos": "always_le_bigint_tbigint" + }, + { + "pg": "Always_le_base_temporal", + "meos": "always_le_int_tint" + }, + { + "pg": "Always_le_base_temporal", + "meos": "always_le_float_tfloat" + }, + { + "pg": "Always_le_base_temporal", + "meos": "always_le_text_ttext" + }, + { + "pg": "Always_le_temporal_base", + "meos": "always_le_tbigint_bigint" + }, + { + "pg": "Always_le_temporal_base", + "meos": "always_le_tint_int" + }, + { + "pg": "Always_le_temporal_base", + "meos": "always_le_tfloat_float" + }, + { + "pg": "Always_le_temporal_base", + "meos": "always_le_ttext_text" + } + ] + }, + { + "name": "always_lt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Always_lt_temporal_temporal", + "meos": "always_lt_temporal_temporal" + }, + { + "pg": "Always_lt_base_temporal", + "meos": "always_lt_bigint_tbigint" + }, + { + "pg": "Always_lt_base_temporal", + "meos": "always_lt_int_tint" + }, + { + "pg": "Always_lt_base_temporal", + "meos": "always_lt_float_tfloat" + }, + { + "pg": "Always_lt_base_temporal", + "meos": "always_lt_text_ttext" + }, + { + "pg": "Always_lt_temporal_base", + "meos": "always_lt_tbigint_bigint" + }, + { + "pg": "Always_lt_temporal_base", + "meos": "always_lt_tint_int" + }, + { + "pg": "Always_lt_temporal_base", + "meos": "always_lt_tfloat_float" + }, + { + "pg": "Always_lt_temporal_base", + "meos": "always_lt_ttext_text" + } + ] + }, + { + "name": "always_ne", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Always_ne_geo_trgeometry", + "meos": "always_ne_geo_trgeometry" + }, + { + "pg": "Always_ne_trgeometry_geo", + "meos": "always_ne_trgeometry_geo" + }, + { + "pg": "Always_ne_trgeometry_trgeometry", + "meos": "always_ne_trgeometry_trgeometry" + }, + { + "pg": "Always_ne_cbuffer_tcbuffer", + "meos": "always_ne_cbuffer_tcbuffer" + }, + { + "pg": "Always_ne_tcbuffer_cbuffer", + "meos": "always_ne_tcbuffer_cbuffer" + }, + { + "pg": "Always_ne_tcbuffer_tcbuffer", + "meos": "always_ne_tcbuffer_tcbuffer" + }, + { + "pg": "Always_ne_pose_tpose", + "meos": "always_ne_pose_tpose" + }, + { + "pg": "Always_ne_tpose_pose", + "meos": "always_ne_tpose_pose" + }, + { + "pg": "Always_ne_tpose_tpose", + "meos": "always_ne_tpose_tpose" + }, + { + "pg": "Always_ne_geo_tgeo", + "meos": "always_ne_geo_tgeo" + }, + { + "pg": "Always_ne_tgeo_geo", + "meos": "always_ne_tgeo_geo" + }, + { + "pg": "Always_ne_tgeo_tgeo", + "meos": "always_ne_tgeo_tgeo" + }, + { + "pg": "Always_ne_temporal_temporal", + "meos": "always_ne_temporal_temporal" + }, + { + "pg": "Always_ne_base_temporal", + "meos": "always_ne_bigint_tbigint" + }, + { + "pg": "Always_ne_base_temporal", + "meos": "always_ne_bool_tbool" + }, + { + "pg": "Always_ne_base_temporal", + "meos": "always_ne_int_tint" + }, + { + "pg": "Always_ne_base_temporal", + "meos": "always_ne_float_tfloat" + }, + { + "pg": "Always_ne_base_temporal", + "meos": "always_ne_text_ttext" + }, + { + "pg": "Always_ne_temporal_base", + "meos": "always_ne_tbigint_bigint" + }, + { + "pg": "Always_ne_temporal_base", + "meos": "always_ne_tbool_bool" + }, + { + "pg": "Always_ne_temporal_base", + "meos": "always_ne_tint_int" + }, + { + "pg": "Always_ne_temporal_base", + "meos": "always_ne_tfloat_float" + }, + { + "pg": "Always_ne_temporal_base", + "meos": "always_ne_ttext_text" + }, + { + "pg": "Always_ne_npoint_tnpoint", + "meos": "always_ne_npoint_tnpoint" + }, + { + "pg": "Always_ne_tnpoint_npoint", + "meos": "always_ne_tnpoint_npoint" + }, + { + "pg": "Always_ne_tnpoint_tnpoint", + "meos": "always_ne_tnpoint_tnpoint" + } + ] + }, + { + "name": "angularDifference", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tpoint_angular_difference", + "meos": "tpoint_angular_difference" + }, + { + "pg": "Tpoint_angular_difference", + "meos": "tnumber_angular_difference" + } + ] + }, + { + "name": "angularSpeed", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpose_angular_speed", + "meos": "tpose_angular_speed" + } + ] + }, + { + "name": "appendInstant", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_append_tinstant", + "meos": "trgeometry_append_tinstant" + }, + { + "pg": "Temporal_app_tinst_transfn", + "meos": "temporal_app_tinst_transfn" + }, + { + "pg": "Temporal_append_tinstant", + "meos": "tsequence_append_tinstant" + }, + { + "pg": "Temporal_append_tinstant", + "meos": "tsequenceset_append_tinstant" + }, + { + "pg": "Temporal_append_tinstant", + "meos": "temporal_append_tinstant" + } + ] + }, + { + "name": "appendSequence", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_append_tsequence", + "meos": "trgeometry_append_tsequence" + }, + { + "pg": "Temporal_app_tseq_transfn", + "meos": "temporal_app_tseq_transfn" + }, + { + "pg": "Temporal_append_tsequence", + "meos": "tsequence_append_tsequence" + }, + { + "pg": "Temporal_append_tsequence", + "meos": "tsequenceset_append_tsequence" + }, + { + "pg": "Temporal_append_tsequence", + "meos": "temporal_append_tsequence" + } + ] + }, + { + "name": "applyPose", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Pose_apply_geo", + "meos": "pose_apply_geo" + }, + { + "pg": "Tpose_apply_geo", + "meos": "tpose_apply_geo" + } + ] + }, + { + "name": "area", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_area", + "meos": "stbox_area" + }, + { + "pg": "Stbox_perimeter", + "meos": "stbox_perimeter" + } + ] + }, + { + "name": "arrowRoundtrip", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "asBinary", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "asEWKB", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "asEWKT", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_as_ewkt", + "meos": "cbuffer_as_ewkt" + }, + { + "pg": "Pose_as_ewkt", + "meos": "pose_as_ewkt" + }, + { + "pg": "Spatialset_as_ewkt", + "meos": "spatialset_as_ewkt" + }, + { + "pg": "Tspatial_as_ewkt", + "meos": "tspatial_as_ewkt" + }, + { + "pg": "Npoint_as_ewkt", + "meos": "npoint_as_ewkt" + } + ] + }, + { + "name": "asGeoPose", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Tpose_as_geopose", + "meos": "tpose_as_geopose" + } + ] + }, + { + "name": "asHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "asHexWKB", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_as_hexwkb", + "meos": "cbuffer_as_hexwkb" + }, + { + "pg": "Pose_as_hexwkb", + "meos": "pose_as_hexwkb" + }, + { + "pg": "Stbox_as_hexwkb", + "meos": "stbox_as_hexwkb" + }, + { + "pg": "Set_as_hexwkb", + "meos": "set_as_hexwkb" + }, + { + "pg": "Span_as_hexwkb", + "meos": "span_as_hexwkb" + }, + { + "pg": "Spanset_as_hexwkb", + "meos": "spanset_as_hexwkb" + }, + { + "pg": "Tbox_as_hexwkb", + "meos": "tbox_as_hexwkb" + }, + { + "pg": "Temporal_as_hexwkb", + "meos": "temporal_as_hexwkb" + }, + { + "pg": "Npoint_as_hexwkb", + "meos": "npoint_as_hexwkb" + } + ] + }, + { + "name": "asMFJSON", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [ + { + "pg": "Temporal_as_mfjson", + "meos": "temporal_as_mfjson" + } + ] + }, + { + "name": "asMVTGeom", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "int4", + "hasDefault": true + }, + { + "type": "bool", + "hasDefault": true + }, + { + "type": "wlocalOutlierFactor(geometry[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 8 + } + ], + "c": [ + { + "pg": "Tpoint_AsMVTGeom", + "meos": "tpoint_as_mvtgeom" + } + ] + }, + { + "name": "asText", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool[]", + "hasDefault": false + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint[]", + "hasDefault": false + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint[]", + "hasDefault": false + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext[]", + "hasDefault": false + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint[]", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": true + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_as_text", + "meos": "cbuffer_as_text" + }, + { + "pg": "Pose_as_text", + "meos": "pose_as_text" + }, + { + "pg": "Spatialset_as_text", + "meos": "spatialset_as_text" + }, + { + "pg": "Tspatial_as_text", + "meos": "tspatial_as_text" + }, + { + "pg": "Npoint_as_text", + "meos": "npoint_as_text" + } + ] + }, + { + "name": "atElevation", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "atGeometry", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_at_geom", + "meos": "trgeometry_at_geom" + }, + { + "pg": "Tcbuffer_at_geom", + "meos": "tcbuffer_restrict_geom" + }, + { + "pg": "Tcbuffer_at_geom", + "meos": "tcbuffer_at_geom" + }, + { + "pg": "Tpose_trajectory", + "meos": "tpose_trajectory" + }, + { + "pg": "Tpose_at_geom", + "meos": "tpose_at_geom" + }, + { + "pg": "Tgeo_at_geom", + "meos": "tpoint_at_geom" + }, + { + "pg": "Tgeo_at_geom", + "meos": "tgeo_at_geom" + }, + { + "pg": "Tgeo_at_elevation", + "meos": "tpoint_at_elevation" + }, + { + "pg": "Tgeo_at_elevation", + "meos": "tgeo_at_elevation" + }, + { + "pg": "Tnpoint_at_geom", + "meos": "tnpoint_at_geom" + } + ] + }, + { + "name": "atMax", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_at_max", + "meos": "temporal_at_max" + } + ] + }, + { + "name": "atMin", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_at_min", + "meos": "temporal_at_min" + }, + { + "pg": "Temporal_at_min", + "meos": "temporal_restrict_minmax" + }, + { + "pg": "Temporal_at_min", + "meos": "tdiscseq_restrict_minmax" + }, + { + "pg": "Temporal_at_min", + "meos": "tcontseq_restrict_minmax" + }, + { + "pg": "Temporal_at_min", + "meos": "tsequenceset_restrict_minmax" + } + ] + }, + { + "name": "atStbox", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Trgeometry_at_stbox", + "meos": "trgeometry_at_stbox" + }, + { + "pg": "Tgeo_at_stbox", + "meos": "tgeoinst_restrict_stbox" + }, + { + "pg": "Tgeo_at_stbox", + "meos": "tgeoseq_restrict_stbox" + }, + { + "pg": "Tgeo_at_stbox", + "meos": "tgeoseqset_restrict_stbox" + }, + { + "pg": "Tgeo_at_stbox", + "meos": "tgeo_at_stbox" + } + ] + }, + { + "name": "atTbox", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tnumber_at_tbox", + "meos": "tnumber_at_tbox" + } + ] + }, + { + "name": "atTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_at_timestamptz", + "meos": "trgeo_at_timestamptz" + }, + { + "pg": "Temporal_at_tstzspanset", + "meos": "trgeo_at_tstzset" + }, + { + "pg": "Temporal_at_tstzspan", + "meos": "trgeo_at_tstzspan" + }, + { + "pg": "Temporal_at_tstzspanset", + "meos": "trgeo_at_tstzspanset" + }, + { + "pg": "Temporal_at_timestamptz", + "meos": "temporal_at_timestamptz" + }, + { + "pg": "Temporal_at_tstzset", + "meos": "temporal_at_tstzset" + }, + { + "pg": "Temporal_at_tstzspan", + "meos": "temporal_at_tstzspan" + }, + { + "pg": "Temporal_at_tstzspanset", + "meos": "temporal_at_tstzspanset" + }, + { + "pg": "Temporal_at_timestamptz", + "meos": "temporal_restrict_timestamptz" + }, + { + "pg": "Temporal_at_tstzset", + "meos": "temporal_restrict_tstzset" + }, + { + "pg": "Temporal_at_tstzspan", + "meos": "temporal_restrict_tstzspan" + }, + { + "pg": "Temporal_at_timestamptz", + "meos": "tinstant_restrict_timestamptz" + }, + { + "pg": "Temporal_at_tstzset", + "meos": "tinstant_restrict_tstzset" + }, + { + "pg": "Temporal_at_tstzspan", + "meos": "tinstant_restrict_tstzspan" + }, + { + "pg": "Temporal_at_tstzspanset", + "meos": "tinstant_restrict_tstzspanset" + }, + { + "pg": "Temporal_at_timestamptz", + "meos": "tsequence_at_timestamptz" + }, + { + "pg": "Temporal_at_tstzspan", + "meos": "tsequence_restrict_tstzspan" + }, + { + "pg": "Temporal_at_timestamptz", + "meos": "tsequenceset_restrict_timestamptz" + }, + { + "pg": "Temporal_at_tstzset", + "meos": "tsequenceset_restrict_tstzset" + }, + { + "pg": "Temporal_at_tstzspan", + "meos": "tsequenceset_restrict_tstzspan" + }, + { + "pg": "Temporal_at_tstzspanset", + "meos": "tsequenceset_restrict_tstzspanset" + } + ] + }, + { + "name": "atTpcbox", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "atTpcboxFine", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "atValue", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_at_value", + "meos": "trgeo_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tcbuffer_restrict_cbuffer" + }, + { + "pg": "Temporal_at_value", + "meos": "tcbuffer_at_cbuffer" + }, + { + "pg": "Tcbuffer_at_stbox", + "meos": "tcbuffer_restrict_stbox" + }, + { + "pg": "Tcbuffer_at_stbox", + "meos": "tcbuffer_at_stbox" + }, + { + "pg": "Temporal_at_value", + "meos": "tpose_at_pose" + }, + { + "pg": "Temporal_at_value", + "meos": "tpoint_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tgeo_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tbool_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tint_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tfloat_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "ttext_at_value" + }, + { + "pg": "Temporal_at_value", + "meos": "temporal_restrict_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tinstant_restrict_value" + }, + { + "pg": "Temporal_at_value", + "meos": "tsequenceset_restrict_value" + } + ] + }, + { + "name": "atValues", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography(Point)", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_at_values", + "meos": "trgeo_at_values" + }, + { + "pg": "Temporal_at_values", + "meos": "temporal_at_values" + }, + { + "pg": "Temporal_at_values", + "meos": "temporal_restrict_values" + }, + { + "pg": "Temporal_at_values", + "meos": "tinstant_restrict_values" + }, + { + "pg": "Temporal_at_values", + "meos": "tsequenceset_restrict_values" + }, + { + "pg": "Tnpoint_at_npoint", + "meos": "tnpoint_at_npoint" + }, + { + "pg": "Tnpoint_at_npointset", + "meos": "tnpoint_at_npointset" + } + ] + }, + { + "name": "averageHausdorffDistance", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "avgValue", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_avg_value", + "meos": "tnumberseqset_avg_val" + }, + { + "pg": "Tnumber_avg_value", + "meos": "tnumber_avg_value" + } + ] + }, + { + "name": "azimuth", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpoint_azimuth", + "meos": "tpointseq_azimuth" + }, + { + "pg": "Tpoint_azimuth", + "meos": "tpointseqset_azimuth" + }, + { + "pg": "Tpoint_azimuth", + "meos": "tpoint_azimuth" + } + ] + }, + { + "name": "back", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "bearing", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "isSimple(tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Bearing_point_point", + "meos": "bearing_point_point" + }, + { + "pg": "Bearing_tpoint_point", + "meos": "bearing_tpoint_point" + }, + { + "pg": "Bearing_tpoint_tpoint", + "meos": "bearing_tpoint_tpoint" + } + ] + }, + { + "name": "before", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "beforeTimestamp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "below", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "bigintsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintset_out", + "overloads": [ + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintset_send", + "overloads": [ + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintset_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "bigintset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspan", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_to_bigintspan", + "meos": "tbox_bigintspan" + }, + { + "pg": "Tbox_to_bigintspan", + "meos": "tbox_to_bigintspan" + } + ] + }, + { + "name": "bigintspanFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspanFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspan_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspan_out", + "overloads": [ + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspan_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspan_send", + "overloads": [ + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspan_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "bigintspan_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspansetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspansetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspanset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspanset_out", + "overloads": [ + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspanset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bigintspanset_send", + "overloads": [ + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "bins", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": true + } + ], + "returns": "datespan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": true + } + ], + "returns": "datespan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "bodyPointTrajectory", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_body_point_trajectory", + "meos": "trgeometry_body_point_trajectory" + } + ] + }, + { + "name": "box", + "overloads": [ + { + "args": [ + { + "type": "point", + "hasDefault": false + }, + { + "type": "point", + "hasDefault": false + } + ], + "returns": "box", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "box2d", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "box2d", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_to_box2d", + "meos": "stbox_to_gbox" + } + ] + }, + { + "name": "box3d", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "box3d", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_to_box3d", + "meos": "stbox_to_box3d" + } + ] + }, + { + "name": "cbuffer", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_constructor", + "meos": "cbuffer_make" + }, + { + "pg": "Geom_to_cbuffer", + "meos": "geom_to_cbuffer" + } + ] + }, + { + "name": "cbuffer_cmp", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_cmp", + "meos": "cbuffer_cmp" + } + ] + }, + { + "name": "cbuffer_contains", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_contains", + "meos": "cbuffer_contains" + }, + { + "pg": "Cbuffer_contains", + "meos": "contains_cbuffer_cbuffer" + } + ] + }, + { + "name": "cbuffer_covers", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_covers", + "meos": "cbuffer_covers" + }, + { + "pg": "Cbuffer_covers", + "meos": "covers_cbuffer_cbuffer" + } + ] + }, + { + "name": "cbuffer_disjoint", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_disjoint", + "meos": "cbuffer_disjoint" + } + ] + }, + { + "name": "cbuffer_dwithin", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Cbuffer_dwithin", + "meos": "dwithin_cbuffer_cbuffer" + } + ] + }, + { + "name": "cbuffer_eq", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_eq", + "meos": "cbuffer_eq" + } + ] + }, + { + "name": "cbuffer_ge", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_ge", + "meos": "cbuffer_ge" + } + ] + }, + { + "name": "cbuffer_gt", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_gt", + "meos": "cbuffer_gt" + } + ] + }, + { + "name": "cbuffer_hash", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbuffer_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "cbuffer_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_in", + "meos": "cbuffer_in" + } + ] + }, + { + "name": "cbuffer_intersects", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_intersects", + "meos": "cbuffer_intersects" + }, + { + "pg": "Cbuffer_intersects", + "meos": "disjoint_cbuffer_cbuffer" + }, + { + "pg": "Cbuffer_intersects", + "meos": "intersects_cbuffer_cbuffer" + } + ] + }, + { + "name": "cbuffer_le", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_le", + "meos": "cbuffer_le" + } + ] + }, + { + "name": "cbuffer_lt", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_lt", + "meos": "cbuffer_lt" + } + ] + }, + { + "name": "cbuffer_ne", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_ne", + "meos": "cbuffer_ne" + } + ] + }, + { + "name": "cbuffer_out", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_out", + "meos": "cbuffer_out" + } + ] + }, + { + "name": "cbuffer_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_recv", + "meos": "cbuffer_from_wkb" + }, + { + "pg": "Cbuffer_recv", + "meos": "cbuffer_as_wkb" + } + ] + }, + { + "name": "cbuffer_same", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "cbuffer_send", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbuffer_touches", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_touches", + "meos": "cbuffer_touches" + }, + { + "pg": "Cbuffer_touches", + "meos": "touches_cbuffer_cbuffer" + } + ] + }, + { + "name": "cbuffersetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbuffersetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbufferset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbufferset_out", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbufferset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbufferset_send", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "cbufferset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ceil", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Floatset_ceil", + "meos": "floatset_ceil" + }, + { + "pg": "Floatspanset_ceil", + "meos": "floatspanset_ceil" + }, + { + "pg": "Floatspan_ceil", + "meos": "floatspan_ceil" + }, + { + "pg": "Tfloat_ceil", + "meos": "tfloat_ceil" + } + ] + }, + { + "name": "centroid", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_centroid", + "meos": "trgeometry_centroid" + }, + { + "pg": "Tgeo_centroid", + "meos": "tgeo_centroid" + } + ] + }, + { + "name": "circle", + "overloads": [ + { + "args": [ + { + "type": "point", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "circle", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "contained", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "contained_rid", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "contains", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "contains_rid", + "overloads": [ + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "convexHull", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_convex_hull", + "meos": "trgeometry_convex_hull" + }, + { + "pg": "Tcbuffer_convex_hull", + "meos": "tcbuffer_convex_hull" + }, + { + "pg": "Tgeo_convex_hull", + "meos": "tgeo_convex_hull" + } + ] + }, + { + "name": "create_trip", + "overloads": [ + { + "args": [ + { + "type": "record[]", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "cumulativeLength", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_cumulative_length", + "meos": "trgeometry_cumulative_length" + }, + { + "pg": "Tpoint_cumulative_length", + "meos": "tpointseq_cumulative_length" + }, + { + "pg": "Tpoint_cumulative_length", + "meos": "tpointseqset_cumulative_length" + }, + { + "pg": "Tpoint_cumulative_length", + "meos": "tpoint_cumulative_length" + }, + { + "pg": "Tnpoint_cumulative_length", + "meos": "tnpoint_cumulative_length" + } + ] + }, + { + "name": "dateN", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Datespanset_date_n", + "meos": "datespanset_date_n" + } + ] + }, + { + "name": "dates", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Datespanset_dates", + "meos": "datespanset_dates" + } + ] + }, + { + "name": "dateset", + "overloads": [ + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tstzset_to_dateset", + "meos": "tstzset_to_dateset" + } + ] + }, + { + "name": "datesetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datesetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "dateset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "dateset_out", + "overloads": [ + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "dateset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "dateset_send", + "overloads": [ + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "dateset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespan", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespan_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespan_out", + "overloads": [ + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespan_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespan_send", + "overloads": [ + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespan_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "datespan_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanset", + "overloads": [ + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tstzspanset_to_datespanset", + "meos": "tstzspanset_to_datespanset" + } + ] + }, + { + "name": "datespansetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespansetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanset_out", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "datespanset_send", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "degrees", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Floatset_degrees", + "meos": "floatset_degrees" + }, + { + "pg": "Floatspanset_degrees", + "meos": "floatspanset_degrees" + }, + { + "pg": "Floatspan_degrees", + "meos": "floatspan_degrees" + }, + { + "pg": "Float_degrees", + "meos": "float_degrees" + }, + { + "pg": "Tfloat_degrees", + "meos": "tfloat_degrees" + } + ] + }, + { + "name": "deleteTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Temporal_delete_tstzset", + "meos": "trgeometry_delete_tstzset" + }, + { + "pg": "Temporal_delete_tstzspan", + "meos": "trgeometry_delete_tstzspan" + }, + { + "pg": "Temporal_delete_tstzspanset", + "meos": "trgeometry_delete_tstzspanset" + }, + { + "pg": "Temporal_delete_timestamptz", + "meos": "tsequence_delete_timestamptz" + }, + { + "pg": "Temporal_delete_tstzset", + "meos": "tsequence_delete_tstzset" + }, + { + "pg": "Temporal_delete_tstzspan", + "meos": "tsequence_delete_tstzspan" + }, + { + "pg": "Temporal_delete_tstzspanset", + "meos": "tsequence_delete_tstzspanset" + }, + { + "pg": "Temporal_delete_timestamptz", + "meos": "temporal_delete_timestamptz" + }, + { + "pg": "Temporal_delete_tstzset", + "meos": "temporal_delete_tstzset" + }, + { + "pg": "Temporal_delete_tstzspan", + "meos": "temporal_delete_tstzspan" + }, + { + "pg": "Temporal_delete_tstzspanset", + "meos": "temporal_delete_tstzspanset" + } + ] + }, + { + "name": "deltaValue", + "overloads": [ + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_delta_value", + "meos": "tnumber_delta_value" + } + ] + }, + { + "name": "derivative", + "overloads": [ + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_derivative", + "meos": "tsequence_derivative" + }, + { + "pg": "Temporal_derivative", + "meos": "tsequenceset_derivative" + }, + { + "pg": "Temporal_derivative", + "meos": "temporal_derivative" + } + ] + }, + { + "name": "direction", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpoint_direction", + "meos": "tpointseq_direction" + }, + { + "pg": "Tpoint_direction", + "meos": "tpointseqset_direction" + }, + { + "pg": "Tpoint_direction", + "meos": "tpoint_direction" + } + ] + }, + { + "name": "distance", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "douglasPeuckerSimplify", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Temporal_simplify_dp", + "meos": "temporal_simplify_dp" + } + ] + }, + { + "name": "duration", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "interval", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_duration", + "meos": "tsequence_duration" + }, + { + "pg": "Temporal_duration", + "meos": "tsequenceset_duration" + }, + { + "pg": "Datespanset_duration", + "meos": "datespanset_duration" + }, + { + "pg": "Tstzspanset_duration", + "meos": "tstzspanset_duration" + }, + { + "pg": "Datespan_duration", + "meos": "datespan_duration" + }, + { + "pg": "Tstzspan_duration", + "meos": "tstzspan_duration" + }, + { + "pg": "Temporal_duration", + "meos": "temporal_duration" + } + ] + }, + { + "name": "dynTimeWarpDistance", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_dyntimewarp_distance", + "meos": "trgeometry_dyntimewarp_distance" + }, + { + "pg": "Temporal_dyntimewarp_distance", + "meos": "temporal_dyntimewarp_distance" + } + ] + }, + { + "name": "dynTimeWarpPath", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_dyntimewarp_path", + "meos": "trgeometry_dyntimewarp_path" + }, + { + "pg": "Temporal_dyntimewarp_path", + "meos": "temporal_dyntimewarp_path" + } + ] + }, + { + "name": "eContains", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Econtains_tcbuffer_geo", + "meos": "ea_contains_tcbuffer_geo" + }, + { + "pg": "Econtains_tcbuffer_geo", + "meos": "econtains_tcbuffer_geo" + }, + { + "pg": "Econtains_cbuffer_tcbuffer", + "meos": "econtains_cbuffer_tcbuffer" + }, + { + "pg": "Econtains_tcbuffer_cbuffer", + "meos": "econtains_tcbuffer_cbuffer" + }, + { + "pg": "Econtains_geo_tgeo", + "meos": "econtains_geo_tgeo" + }, + { + "pg": "Econtains_tgeo_geo", + "meos": "econtains_tgeo_geo" + }, + { + "pg": "Econtains_tgeo_tgeo", + "meos": "econtains_tgeo_tgeo" + } + ] + }, + { + "name": "eCovers", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ecovers_geo_trgeometry", + "meos": "ecovers_geo_trgeo" + }, + { + "pg": "Ecovers_trgeometry_geo", + "meos": "ecovers_trgeo_geo" + }, + { + "pg": "Ecovers_geo_tcbuffer", + "meos": "ecovers_geo_tcbuffer" + }, + { + "pg": "Ecovers_tcbuffer_geo", + "meos": "ea_covers_tcbuffer_geo" + }, + { + "pg": "Ecovers_tcbuffer_geo", + "meos": "ecovers_tcbuffer_geo" + }, + { + "pg": "Ecovers_cbuffer_tcbuffer", + "meos": "ecovers_cbuffer_tcbuffer" + }, + { + "pg": "Ecovers_tcbuffer_cbuffer", + "meos": "ecovers_tcbuffer_cbuffer" + }, + { + "pg": "Ecovers_geo_tgeo", + "meos": "ecovers_geo_tgeo" + }, + { + "pg": "Ecovers_tgeo_geo", + "meos": "ecovers_tgeo_geo" + }, + { + "pg": "Ecovers_tgeo_tgeo", + "meos": "ecovers_tgeo_tgeo" + }, + { + "pg": "Acovers_tgeo_tgeo", + "meos": "acovers_tgeo_tgeo" + } + ] + }, + { + "name": "eDisjoint", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeometry", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeometry", + "hasDefault": false + }, + { + "type": "_edisjoint(geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeography", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeography", + "hasDefault": false + }, + { + "type": "aDisjoint(geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeompoint", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeompoint", + "hasDefault": false + }, + { + "type": "_edisjoint(geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeogpoint", + "hasDefault": false + }, + { + "type": "eDisjoint(tgeogpoint", + "hasDefault": false + }, + { + "type": "aDisjoint(geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Edisjoint_trgeometry_geo", + "meos": "edisjoint_trgeo_geo" + }, + { + "pg": "Edisjoint_trgeometry_trgeometry", + "meos": "edisjoint_trgeo_trgeo" + }, + { + "pg": "Edisjoint_tcbuffer_geo", + "meos": "ea_disjoint_tcbuffer_geo" + }, + { + "pg": "Edisjoint_tcbuffer_geo", + "meos": "ea_disjoint_geo_tcbuffer" + }, + { + "pg": "Edisjoint_tcbuffer_geo", + "meos": "edisjoint_tcbuffer_geo" + }, + { + "pg": "Edisjoint_tcbuffer_cbuffer", + "meos": "ea_disjoint_tcbuffer_cbuffer" + }, + { + "pg": "Edisjoint_tcbuffer_cbuffer", + "meos": "ea_disjoint_cbuffer_tcbuffer" + }, + { + "pg": "Edisjoint_tcbuffer_cbuffer", + "meos": "edisjoint_tcbuffer_cbuffer" + }, + { + "pg": "Edisjoint_tcbuffer_tcbuffer", + "meos": "ea_disjoint_tcbuffer_tcbuffer" + }, + { + "pg": "Edisjoint_tcbuffer_tcbuffer", + "meos": "edisjoint_tcbuffer_tcbuffer" + }, + { + "pg": "Edisjoint_tgeo_geo", + "meos": "ea_disjoint_tgeo_geo" + }, + { + "pg": "Edisjoint_tgeo_geo", + "meos": "edisjoint_tgeo_geo" + }, + { + "pg": "Edisjoint_tgeo_tgeo", + "meos": "edisjoint_tgeo_tgeo" + } + ] + }, + { + "name": "eDwithin", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Edwithin_tcbuffer_geo", + "meos": "ea_dwithin_tcbuffer_geo" + }, + { + "pg": "Edwithin_tcbuffer_geo", + "meos": "edwithin_tcbuffer_geo" + }, + { + "pg": "Edwithin_tcbuffer_cbuffer", + "meos": "edwithin_tcbuffer_cbuffer" + }, + { + "pg": "Edwithin_tcbuffer_tcbuffer", + "meos": "ea_dwithin_tcbuffer_tcbuffer" + }, + { + "pg": "Edwithin_tcbuffer_tcbuffer", + "meos": "edwithin_tcbuffer_tcbuffer" + }, + { + "pg": "Edwithin_tgeo_geo", + "meos": "ea_dwithin_tgeo_geo" + }, + { + "pg": "Edwithin_tgeo_geo", + "meos": "edwithin_tgeo_geo" + }, + { + "pg": "Edwithin_tgeo_tgeo", + "meos": "ea_dwithin_tgeo_tgeo" + }, + { + "pg": "Edwithin_tgeo_tgeo", + "meos": "edwithin_tgeo_tgeo" + } + ] + }, + { + "name": "eDwithinPairs", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "setof", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "setof", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [ + { + "pg": "Edwithin_tgeoarr_tgeoarr", + "meos": "edwithin_tgeoarr_tgeoarr" + } + ] + }, + { + "name": "eIntersects", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Eintersects_trgeometry_geo", + "meos": "eintersects_trgeo_geo" + }, + { + "pg": "Eintersects_trgeometry_trgeometry", + "meos": "eintersects_trgeo_trgeo" + }, + { + "pg": "Eintersects_tcbuffer_geo", + "meos": "ea_intersects_tcbuffer_geo" + }, + { + "pg": "Eintersects_tcbuffer_geo", + "meos": "ea_intersects_geo_tcbuffer" + }, + { + "pg": "Eintersects_tcbuffer_geo", + "meos": "eintersects_tcbuffer_geo" + }, + { + "pg": "Eintersects_tcbuffer_cbuffer", + "meos": "ea_intersects_tcbuffer_cbuffer" + }, + { + "pg": "Eintersects_tcbuffer_cbuffer", + "meos": "ea_intersects_cbuffer_tcbuffer" + }, + { + "pg": "Eintersects_tcbuffer_cbuffer", + "meos": "eintersects_tcbuffer_cbuffer" + }, + { + "pg": "Eintersects_tcbuffer_tcbuffer", + "meos": "ea_intersects_tcbuffer_tcbuffer" + }, + { + "pg": "Eintersects_tcbuffer_tcbuffer", + "meos": "eintersects_tcbuffer_tcbuffer" + }, + { + "pg": "Eintersects_tgeo_tgeo", + "meos": "ea_disjoint_tgeo_tgeo" + }, + { + "pg": "Eintersects_tgeo_geo", + "meos": "ea_intersects_tgeo_geo" + }, + { + "pg": "Eintersects_tgeo_tgeo", + "meos": "ea_intersects_tgeo_tgeo" + }, + { + "pg": "Eintersects_tgeo_tgeo", + "meos": "eintersects_tgeo_tgeo" + } + ] + }, + { + "name": "eTouches", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Etouches_trgeometry_geo", + "meos": "etouches_trgeo_geo" + }, + { + "pg": "Ecovers_tcbuffer_tcbuffer", + "meos": "ea_covers_tcbuffer_tcbuffer" + }, + { + "pg": "Ecovers_tcbuffer_tcbuffer", + "meos": "ecovers_tcbuffer_tcbuffer" + }, + { + "pg": "Etouches_tcbuffer_geo", + "meos": "ea_touches_tcbuffer_geo" + }, + { + "pg": "Etouches_tcbuffer_geo", + "meos": "ea_touches_geo_tcbuffer" + }, + { + "pg": "Etouches_tcbuffer_cbuffer", + "meos": "ea_touches_tcbuffer_cbuffer" + }, + { + "pg": "Etouches_tcbuffer_cbuffer", + "meos": "ea_touches_cbuffer_tcbuffer" + }, + { + "pg": "Etouches_tcbuffer_tcbuffer", + "meos": "ea_touches_tcbuffer_tcbuffer" + }, + { + "pg": "Etouches_tcbuffer_tcbuffer", + "meos": "etouches_tcbuffer_tcbuffer" + }, + { + "pg": "Etouches_tpoint_geo", + "meos": "ea_touches_tpoint_geo" + }, + { + "pg": "Etouches_tgeo_geo", + "meos": "ea_touches_tgeo_geo" + }, + { + "pg": "Etouches_tgeo_geo", + "meos": "etouches_tgeo_geo" + }, + { + "pg": "Etouches_tgeo_tgeo", + "meos": "ea_touches_tgeo_tgeo" + }, + { + "pg": "Etouches_tgeo_tgeo", + "meos": "etouches_tgeo_tgeo" + } + ] + }, + { + "name": "edisjoint", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "eintersects", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "endDate", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Datespanset_end_date", + "meos": "datespanset_end_date" + } + ] + }, + { + "name": "endInstant", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_end_instant", + "meos": "trgeometry_end_instant" + }, + { + "pg": "Temporal_end_instant", + "meos": "temporal_end_instant" + } + ] + }, + { + "name": "endNumPoints", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "endPosition", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "double", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Nsegment_end_position", + "meos": "nsegment_end_position" + } + ] + }, + { + "name": "endSequence", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_end_sequence", + "meos": "trgeometry_end_sequence" + }, + { + "pg": "Temporal_end_sequence", + "meos": "temporal_end_sequence" + } + ] + }, + { + "name": "endSpan", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Spanset_end_span", + "meos": "spanset_end_span" + } + ] + }, + { + "name": "endTimestamp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_end_timestamptz", + "meos": "tsequence_end_timestamptz" + }, + { + "pg": "Temporal_end_timestamptz", + "meos": "tsequenceset_end_timestamptz" + }, + { + "pg": "Tstzspanset_end_timestamptz", + "meos": "tstzspanset_end_timestamptz" + }, + { + "pg": "Temporal_end_timestamptz", + "meos": "temporal_end_timestamptz" + } + ] + }, + { + "name": "endValue", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_end_value", + "meos": "cbufferset_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tcbuffer_end_value" + }, + { + "pg": "Set_end_value", + "meos": "pcpointset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "pcpatchset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "poseset_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tpose_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tgeo_end_value" + }, + { + "pg": "Set_end_value", + "meos": "geoset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "intset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "bigintset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "floatset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "textset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "dateset_end_value" + }, + { + "pg": "Set_end_value", + "meos": "tstzset_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tbool_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tint_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tbigint_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tfloat_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "ttext_end_value" + }, + { + "pg": "Set_end_value", + "meos": "npointset_end_value" + }, + { + "pg": "Temporal_end_value", + "meos": "tnpoint_end_value" + } + ] + }, + { + "name": "ever_eq", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ever_eq_geo_trgeometry", + "meos": "ever_eq_geo_trgeometry" + }, + { + "pg": "Ever_eq_trgeometry_geo", + "meos": "ever_eq_trgeometry_geo" + }, + { + "pg": "Ever_eq_trgeometry_trgeometry", + "meos": "ever_eq_trgeometry_trgeometry" + }, + { + "pg": "Ever_eq_cbuffer_tcbuffer", + "meos": "ever_eq_cbuffer_tcbuffer" + }, + { + "pg": "Ever_eq_tcbuffer_cbuffer", + "meos": "ever_eq_tcbuffer_cbuffer" + }, + { + "pg": "Ever_eq_tcbuffer_tcbuffer", + "meos": "ever_eq_tcbuffer_tcbuffer" + }, + { + "pg": "Ever_eq_pose_tpose", + "meos": "ever_eq_pose_tpose" + }, + { + "pg": "Ever_eq_tpose_pose", + "meos": "ever_eq_tpose_pose" + }, + { + "pg": "Ever_eq_tpose_tpose", + "meos": "ever_eq_tpose_tpose" + }, + { + "pg": "Ever_eq_geo_tgeo", + "meos": "ever_eq_geo_tgeo" + }, + { + "pg": "Ever_eq_tgeo_geo", + "meos": "ever_eq_tgeo_geo" + }, + { + "pg": "Ever_eq_tgeo_tgeo", + "meos": "ever_eq_tgeo_tgeo" + }, + { + "pg": "Ever_eq_temporal_temporal", + "meos": "ever_eq_temporal_temporal" + }, + { + "pg": "Ever_eq_base_temporal", + "meos": "ever_eq_bigint_tbigint" + }, + { + "pg": "Ever_eq_base_temporal", + "meos": "ever_eq_bool_tbool" + }, + { + "pg": "Ever_eq_base_temporal", + "meos": "ever_eq_int_tint" + }, + { + "pg": "Ever_eq_base_temporal", + "meos": "ever_eq_float_tfloat" + }, + { + "pg": "Ever_eq_base_temporal", + "meos": "ever_eq_text_ttext" + }, + { + "pg": "Ever_eq_temporal_base", + "meos": "ever_eq_tbigint_bigint" + }, + { + "pg": "Ever_eq_temporal_base", + "meos": "ever_eq_tbool_bool" + }, + { + "pg": "Ever_eq_temporal_base", + "meos": "ever_eq_tint_int" + }, + { + "pg": "Ever_eq_temporal_base", + "meos": "ever_eq_tfloat_float" + }, + { + "pg": "Ever_eq_temporal_base", + "meos": "ever_eq_ttext_text" + }, + { + "pg": "Ever_eq_npoint_tnpoint", + "meos": "ever_eq_npoint_tnpoint" + }, + { + "pg": "Ever_eq_tnpoint_npoint", + "meos": "ever_eq_tnpoint_npoint" + }, + { + "pg": "Ever_eq_tnpoint_tnpoint", + "meos": "ever_eq_tnpoint_tnpoint" + } + ] + }, + { + "name": "ever_ge", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ever_ge_temporal_temporal", + "meos": "ever_ge_temporal_temporal" + }, + { + "pg": "Ever_ge_base_temporal", + "meos": "ever_ge_bigint_tbigint" + }, + { + "pg": "Ever_ge_base_temporal", + "meos": "ever_ge_int_tint" + }, + { + "pg": "Ever_ge_base_temporal", + "meos": "ever_ge_float_tfloat" + }, + { + "pg": "Ever_ge_base_temporal", + "meos": "ever_ge_text_ttext" + }, + { + "pg": "Ever_ge_temporal_base", + "meos": "ever_ge_tbigint_bigint" + }, + { + "pg": "Ever_ge_temporal_base", + "meos": "ever_ge_tint_int" + }, + { + "pg": "Ever_ge_temporal_base", + "meos": "ever_ge_tfloat_float" + }, + { + "pg": "Ever_ge_temporal_base", + "meos": "ever_ge_ttext_text" + } + ] + }, + { + "name": "ever_gt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ever_gt_temporal_temporal", + "meos": "ever_gt_temporal_temporal" + }, + { + "pg": "Ever_gt_base_temporal", + "meos": "ever_gt_bigint_tbigint" + }, + { + "pg": "Ever_gt_base_temporal", + "meos": "ever_gt_int_tint" + }, + { + "pg": "Ever_gt_base_temporal", + "meos": "ever_gt_float_tfloat" + }, + { + "pg": "Ever_gt_base_temporal", + "meos": "ever_gt_text_ttext" + }, + { + "pg": "Ever_gt_temporal_base", + "meos": "ever_gt_tbigint_bigint" + }, + { + "pg": "Ever_gt_temporal_base", + "meos": "ever_gt_tint_int" + }, + { + "pg": "Ever_gt_temporal_base", + "meos": "ever_gt_tfloat_float" + }, + { + "pg": "Ever_gt_temporal_base", + "meos": "ever_gt_ttext_text" + } + ] + }, + { + "name": "ever_le", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ever_le_temporal_temporal", + "meos": "ever_le_temporal_temporal" + }, + { + "pg": "Ever_le_base_temporal", + "meos": "ever_le_bigint_tbigint" + }, + { + "pg": "Ever_le_base_temporal", + "meos": "ever_le_int_tint" + }, + { + "pg": "Ever_le_base_temporal", + "meos": "ever_le_float_tfloat" + }, + { + "pg": "Ever_le_base_temporal", + "meos": "ever_le_text_ttext" + }, + { + "pg": "Ever_le_temporal_base", + "meos": "ever_le_tbigint_bigint" + }, + { + "pg": "Ever_le_temporal_base", + "meos": "ever_le_tint_int" + }, + { + "pg": "Ever_le_temporal_base", + "meos": "ever_le_tfloat_float" + }, + { + "pg": "Ever_le_temporal_base", + "meos": "ever_le_ttext_text" + } + ] + }, + { + "name": "ever_lt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ever_lt_temporal_temporal", + "meos": "ever_lt_temporal_temporal" + }, + { + "pg": "Ever_lt_base_temporal", + "meos": "ever_lt_int_tint" + }, + { + "pg": "Ever_lt_base_temporal", + "meos": "ever_lt_bigint_tbigint" + }, + { + "pg": "Ever_lt_base_temporal", + "meos": "ever_lt_float_tfloat" + }, + { + "pg": "Ever_lt_base_temporal", + "meos": "ever_lt_text_ttext" + }, + { + "pg": "Ever_lt_temporal_base", + "meos": "ever_lt_tbigint_bigint" + }, + { + "pg": "Ever_lt_temporal_base", + "meos": "ever_lt_tint_int" + }, + { + "pg": "Ever_lt_temporal_base", + "meos": "ever_lt_tfloat_float" + }, + { + "pg": "Ever_lt_temporal_base", + "meos": "ever_lt_ttext_text" + } + ] + }, + { + "name": "ever_ne", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ever_ne_geo_trgeometry", + "meos": "ever_ne_geo_trgeometry" + }, + { + "pg": "Ever_ne_trgeometry_geo", + "meos": "ever_ne_trgeometry_geo" + }, + { + "pg": "Ever_ne_trgeometry_trgeometry", + "meos": "ever_ne_trgeometry_trgeometry" + }, + { + "pg": "Ever_ne_cbuffer_tcbuffer", + "meos": "ever_ne_cbuffer_tcbuffer" + }, + { + "pg": "Ever_ne_tcbuffer_cbuffer", + "meos": "ever_ne_tcbuffer_cbuffer" + }, + { + "pg": "Ever_ne_tcbuffer_tcbuffer", + "meos": "ever_ne_tcbuffer_tcbuffer" + }, + { + "pg": "Ever_ne_pose_tpose", + "meos": "ever_ne_pose_tpose" + }, + { + "pg": "Ever_ne_tpose_pose", + "meos": "ever_ne_tpose_pose" + }, + { + "pg": "Ever_ne_tpose_tpose", + "meos": "ever_ne_tpose_tpose" + }, + { + "pg": "Ever_ne_geo_tgeo", + "meos": "ever_ne_geo_tgeo" + }, + { + "pg": "Ever_ne_tgeo_geo", + "meos": "ever_ne_tgeo_geo" + }, + { + "pg": "Ever_ne_tgeo_tgeo", + "meos": "ever_ne_tgeo_tgeo" + }, + { + "pg": "Ever_ne_temporal_temporal", + "meos": "ever_ne_temporal_temporal" + }, + { + "pg": "Ever_ne_base_temporal", + "meos": "ever_ne_bigint_tbigint" + }, + { + "pg": "Ever_ne_base_temporal", + "meos": "ever_ne_bool_tbool" + }, + { + "pg": "Ever_ne_base_temporal", + "meos": "ever_ne_int_tint" + }, + { + "pg": "Ever_ne_base_temporal", + "meos": "ever_ne_float_tfloat" + }, + { + "pg": "Ever_ne_base_temporal", + "meos": "ever_ne_text_ttext" + }, + { + "pg": "Ever_ne_temporal_base", + "meos": "ever_ne_tbigint_bigint" + }, + { + "pg": "Ever_ne_temporal_base", + "meos": "ever_ne_tbool_bool" + }, + { + "pg": "Ever_ne_temporal_base", + "meos": "ever_ne_tint_int" + }, + { + "pg": "Ever_ne_temporal_base", + "meos": "ever_ne_tfloat_float" + }, + { + "pg": "Ever_ne_temporal_base", + "meos": "ever_ne_ttext_text" + }, + { + "pg": "Ever_ne_npoint_tnpoint", + "meos": "ever_ne_npoint_tnpoint" + }, + { + "pg": "Ever_ne_tnpoint_npoint", + "meos": "ever_ne_tnpoint_npoint" + }, + { + "pg": "Ever_ne_tnpoint_tnpoint", + "meos": "ever_ne_tnpoint_tnpoint" + } + ] + }, + { + "name": "exp", + "overloads": [ + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "expand", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tcbuffer_expand", + "meos": "tcbuffer_expand" + }, + { + "pg": "Tstzspan_expand", + "meos": "tstzspan_expand" + } + ] + }, + { + "name": "expandSpace", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_expand_space", + "meos": "stbox_expand_space" + } + ] + }, + { + "name": "expandTime", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_expand_time", + "meos": "tbox_expand_time" + } + ] + }, + { + "name": "expandValue", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_expand_value", + "meos": "tbigintbox_expand" + }, + { + "pg": "Tbox_expand_value", + "meos": "tintbox_expand" + }, + { + "pg": "Tbox_expand_value", + "meos": "tfloatbox_expand" + }, + { + "pg": "Tbox_expand_value", + "meos": "tbox_expand_value" + } + ] + }, + { + "name": "extendedKalmanFilter", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 4, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 4, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "fill_oid_cache", + "overloads": [ + { + "args": [], + "returns": "VOID", + "minArity": 0, + "maxArity": 0 + } + ], + "c": [] + }, + { + "name": "floatset", + "overloads": [ + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Intset_to_floatset", + "meos": "intset_to_floatset" + } + ] + }, + { + "name": "floatsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatset_out", + "overloads": [ + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatset_send", + "overloads": [ + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatset_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "floatset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspan", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_to_intspan", + "meos": "tbox_intspan" + }, + { + "pg": "Tbox_to_intspan", + "meos": "tbox_to_intspan" + }, + { + "pg": "Tbox_to_floatspan", + "meos": "tbox_floatspan" + }, + { + "pg": "Tbox_to_floatspan", + "meos": "tbox_to_floatspan" + } + ] + }, + { + "name": "floatspanFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspanFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspan_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspan_out", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspan_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspan_send", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspan_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "floatspan_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspanset", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Intspanset_to_floatspanset", + "meos": "intspanset_to_floatspanset" + } + ] + }, + { + "name": "floatspansetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspansetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspanset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspanset_out", + "overloads": [ + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspanset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floatspanset_send", + "overloads": [ + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "floor", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Floatset_floor", + "meos": "floatset_floor" + }, + { + "pg": "Floatspanset_floor", + "meos": "floatspanset_floor" + }, + { + "pg": "Floatspan_floor", + "meos": "floatspan_floor" + }, + { + "pg": "Tfloat_floor", + "meos": "tfloat_floor" + } + ] + }, + { + "name": "frechetDistance", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_frechet_distance", + "meos": "trgeometry_frechet_distance" + }, + { + "pg": "Temporal_frechet_distance", + "meos": "temporal_frechet_distance" + } + ] + }, + { + "name": "frechetDistancePath", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_frechet_path", + "meos": "trgeometry_frechet_path" + }, + { + "pg": "Temporal_frechet_path", + "meos": "temporal_frechet_path" + } + ] + }, + { + "name": "front", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "geoMeasure", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "geoToH3Cell", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "geoToH3IndexSet", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "geodstboxT", + "overloads": [ + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geodstboxZ", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 6, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "geodstboxZT", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 7, + "maxArity": 8 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 7, + "maxArity": 8 + } + ], + "c": [] + }, + { + "name": "geography", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "geogsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogsetFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogsetFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogsetFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogset_out", + "overloads": [ + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogset_send", + "overloads": [ + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geogset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geometry", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_to_geom", + "meos": "cbuffer_to_geom" + }, + { + "pg": "Stbox_to_geo", + "meos": "stbox_geo" + }, + { + "pg": "Stbox_to_geo", + "meos": "stbox_to_geo" + }, + { + "pg": "Tpoint_to_geomeas", + "meos": "tpoint_tfloat_to_geomeas" + }, + { + "pg": "Npoint_to_geompoint", + "meos": "npoint_to_geompoint" + }, + { + "pg": "Nsegment_to_geom", + "meos": "nsegment_to_geom" + } + ] + }, + { + "name": "geomsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomsetFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomsetFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomsetFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomset_out", + "overloads": [ + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomset_send", + "overloads": [ + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geomset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geopose_frame_is_geographic", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geopose_frame_name", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "geopose_frame_srid", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "getBin", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": true + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": true + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "getDim", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Pcpoint_get_dim", + "meos": "pcpoint_get_dim" + } + ] + }, + { + "name": "getPosition", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "double", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "getSpace", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_get_space", + "meos": "stbox_get_space" + } + ] + }, + { + "name": "getSpaceTile", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 4, + "maxArity": 5 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 3, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "getSpaceTimeTile", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 6, + "maxArity": 8 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 4, + "maxArity": 6 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 5, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "getStboxTimeTile", + "overloads": [ + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "getTBoxTimeTile", + "overloads": [ + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "getTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_time", + "meos": "tinstant_time" + }, + { + "pg": "Temporal_time", + "meos": "tsequence_time" + }, + { + "pg": "Temporal_time", + "meos": "tsequenceset_time" + }, + { + "pg": "Temporal_time", + "meos": "temporal_time" + } + ] + }, + { + "name": "getTimestamp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "getValue", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tinstant_value", + "meos": "tinstant_value_p" + } + ] + }, + { + "name": "getValueTile", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "getValueTimeTile", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox", + "minArity": 4, + "maxArity": 6 + } + ], + "c": [] + }, + { + "name": "getValues", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbuffer[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatch[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "pose[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geography[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3index[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "float[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "text[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "date[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npoint[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_values", + "meos": "cbufferset_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tcbuffer_values" + }, + { + "pg": "Set_values", + "meos": "pcpointset_values" + }, + { + "pg": "Set_values", + "meos": "pcpatchset_values" + }, + { + "pg": "Set_values", + "meos": "poseset_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tpose_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tgeo_values" + }, + { + "pg": "Set_values", + "meos": "geoset_values" + }, + { + "pg": "Set_values", + "meos": "intset_values" + }, + { + "pg": "Set_values", + "meos": "bigintset_values" + }, + { + "pg": "Set_values", + "meos": "floatset_values" + }, + { + "pg": "Set_values", + "meos": "textset_values" + }, + { + "pg": "Set_values", + "meos": "dateset_values" + }, + { + "pg": "Set_values", + "meos": "tstzset_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tinstant_values_p" + }, + { + "pg": "Temporal_valueset", + "meos": "tnumberinst_valuespans" + }, + { + "pg": "Temporal_valueset", + "meos": "tsequence_values_p" + }, + { + "pg": "Tnumber_valuespans", + "meos": "tnumberseq_valuespans" + }, + { + "pg": "Set_values", + "meos": "set_vals" + }, + { + "pg": "Set_values", + "meos": "set_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tsequenceset_values_p" + }, + { + "pg": "Tnumber_valuespans", + "meos": "tnumberseqset_valuespans" + }, + { + "pg": "Temporal_valueset", + "meos": "tbool_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tint_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tbigint_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tfloat_values" + }, + { + "pg": "Temporal_valueset", + "meos": "ttext_values" + }, + { + "pg": "Temporal_valueset", + "meos": "temporal_values" + }, + { + "pg": "Tnumber_valuespans", + "meos": "tnumber_valuespans" + }, + { + "pg": "Set_values", + "meos": "npointset_values" + }, + { + "pg": "Temporal_valueset", + "meos": "tnpoint_values" + } + ] + }, + { + "name": "getX", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pcpoint_get_x", + "meos": "pcpoint_get_x" + }, + { + "pg": "Tpoint_get_x", + "meos": "tpoint_get_x" + } + ] + }, + { + "name": "getY", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pcpoint_get_y", + "meos": "pcpoint_get_y" + }, + { + "pg": "Tpoint_get_y", + "meos": "tpoint_get_y" + } + ] + }, + { + "name": "getZ", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pcpoint_get_z", + "meos": "pcpoint_get_z" + }, + { + "pg": "Tpoint_get_z", + "meos": "tpoint_get_z" + } + ] + }, + { + "name": "h3_are_neighbor_cells", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_cell_area", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_boundary", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_center_child", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_child_pos", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_children", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_latlng", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_latlng_tgeompoint", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_local_ij", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_parent", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_vertex", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_cell_to_vertexes", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_cells_to_directed_edge", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_child_pos_to_cell", + "overloads": [ + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "h3_compact_cells", + "overloads": [ + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_directed_edge_to_boundary", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_edge_length", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_get_base_cell_number", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_get_directed_edge_destination", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_get_directed_edge_origin", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_get_icosahedron_faces", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_get_resolution", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_great_circle_distance", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "h3_grid_disk", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_grid_distance", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_grid_path_cells", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_grid_ring", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_is_pentagon", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_is_res_class_iii", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_is_valid_cell", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_is_valid_directed_edge", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_is_valid_vertex", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_latlng_to_cell", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_local_ij_to_cell", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_origin_to_directed_edges", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3_uncompact_cells", + "overloads": [ + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3_vertex_to_latlng", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3index_cmp", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_eq", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_ge", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_gt", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_hash", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3index_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3index_le", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_lt", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_ne", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "h3index_out", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3index_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3index_send", + "overloads": [ + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexset_out", + "overloads": [ + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexset_send", + "overloads": [ + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "h3indexset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "hasT", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_hast", + "meos": "stbox_hast" + }, + { + "pg": "Tbox_hast", + "meos": "tbox_hast" + } + ] + }, + { + "name": "hasX", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_hasx", + "meos": "stbox_hasx" + }, + { + "pg": "Tbox_hasx", + "meos": "tbox_hasx" + } + ] + }, + { + "name": "hasZ", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_hasz", + "meos": "stbox_hasz" + } + ] + }, + { + "name": "hausdorffDistance", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_hausdorff_distance", + "meos": "trgeometry_hausdorff_distance" + } + ] + }, + { + "name": "initcap", + "overloads": [ + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Textset_initcap", + "meos": "textset_initcap" + } + ] + }, + { + "name": "insert", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Temporal_insert", + "meos": "temporal_insert" + } + ] + }, + { + "name": "instantN", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_instant_n", + "meos": "trgeometry_instant_n" + }, + { + "pg": "Temporal_instant_n", + "meos": "tsequenceset_inst_n" + }, + { + "pg": "Temporal_instant_n", + "meos": "temporal_instant_n" + } + ] + }, + { + "name": "instants", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_instants", + "meos": "trgeometry_instants" + }, + { + "pg": "Temporal_instants", + "meos": "tinstant_insts" + }, + { + "pg": "Temporal_instants", + "meos": "temporal_instants" + } + ] + }, + { + "name": "integral", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "interp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_interp", + "meos": "temporal_interp" + } + ] + }, + { + "name": "intset", + "overloads": [ + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Floatset_to_intset", + "meos": "floatset_to_intset" + } + ] + }, + { + "name": "intsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_from_hexwkb", + "meos": "set_from_hexwkb" + } + ] + }, + { + "name": "intset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_in", + "meos": "cbufferset_in" + }, + { + "pg": "Set_in", + "meos": "pcpointset_in" + }, + { + "pg": "Set_in", + "meos": "pcpatchset_in" + }, + { + "pg": "Set_in", + "meos": "poseset_in" + }, + { + "pg": "Set_in", + "meos": "geomset_in" + }, + { + "pg": "Set_in", + "meos": "geogset_in" + }, + { + "pg": "Set_in", + "meos": "intset_in" + }, + { + "pg": "Set_in", + "meos": "bigintset_in" + }, + { + "pg": "Set_in", + "meos": "floatset_in" + }, + { + "pg": "Set_in", + "meos": "textset_in" + }, + { + "pg": "Set_in", + "meos": "dateset_in" + }, + { + "pg": "Set_in", + "meos": "tstzset_in" + }, + { + "pg": "Set_in", + "meos": "set_in" + }, + { + "pg": "Set_in", + "meos": "npointset_in" + } + ] + }, + { + "name": "intset_out", + "overloads": [ + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_out", + "meos": "cbufferset_out" + }, + { + "pg": "Set_out", + "meos": "pcpointset_out" + }, + { + "pg": "Set_out", + "meos": "pcpatchset_out" + }, + { + "pg": "Set_out", + "meos": "poseset_out" + }, + { + "pg": "Set_out", + "meos": "spatialset_out" + }, + { + "pg": "Set_out", + "meos": "intset_out" + }, + { + "pg": "Set_out", + "meos": "bigintset_out" + }, + { + "pg": "Set_out", + "meos": "floatset_out" + }, + { + "pg": "Set_out", + "meos": "textset_out" + }, + { + "pg": "Set_out", + "meos": "dateset_out" + }, + { + "pg": "Set_out", + "meos": "tstzset_out" + }, + { + "pg": "Set_out", + "meos": "set_out" + }, + { + "pg": "Set_out", + "meos": "npointset_out" + } + ] + }, + { + "name": "intset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_recv", + "meos": "set_from_wkb" + } + ] + }, + { + "name": "intset_send", + "overloads": [ + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_send", + "meos": "set_as_wkb" + } + ] + }, + { + "name": "intset_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "intset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspan", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Span_constructor", + "meos": "intspan_make" + }, + { + "pg": "Span_constructor", + "meos": "bigintspan_make" + }, + { + "pg": "Span_constructor", + "meos": "floatspan_make" + }, + { + "pg": "Span_constructor", + "meos": "datespan_make" + }, + { + "pg": "Span_constructor", + "meos": "tstzspan_make" + } + ] + }, + { + "name": "intspanFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspanFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Span_from_hexwkb", + "meos": "span_from_hexwkb" + } + ] + }, + { + "name": "intspan_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspan_out", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspan_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspan_send", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspan_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "intspan_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspanset", + "overloads": [ + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Value_to_spanset", + "meos": "int_to_spanset" + }, + { + "pg": "Value_to_spanset", + "meos": "bigint_to_spanset" + }, + { + "pg": "Value_to_spanset", + "meos": "float_to_spanset" + }, + { + "pg": "Value_to_spanset", + "meos": "date_to_spanset" + }, + { + "pg": "Value_to_spanset", + "meos": "timestamptz_to_spanset" + }, + { + "pg": "Set_to_spanset", + "meos": "set_spanset" + }, + { + "pg": "Set_to_spanset", + "meos": "set_to_spanset" + }, + { + "pg": "Floatspanset_to_intspanset", + "meos": "floatspanset_to_intspanset" + } + ] + }, + { + "name": "intspansetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspansetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Spanset_from_hexwkb", + "meos": "spanset_from_hexwkb" + } + ] + }, + { + "name": "intspanset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspanset_out", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspanset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "intspanset_send", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "isGeodetic", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_isgeodetic", + "meos": "stbox_isgeodetic" + } + ] + }, + { + "name": "lcssDistance", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "left", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "length", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "double", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_length", + "meos": "trgeometry_length" + }, + { + "pg": "Tpoint_length", + "meos": "tpointseq_length" + }, + { + "pg": "Tpoint_length", + "meos": "tpointseqset_length" + }, + { + "pg": "Tpoint_length", + "meos": "tpoint_length" + }, + { + "pg": "Tpoint_length", + "meos": "tpoint_speed" + }, + { + "pg": "Tnpoint_length", + "meos": "tnpoint_length" + } + ] + }, + { + "name": "line", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "line", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "ln", + "overloads": [ + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tfloat_exp", + "meos": "tfloat_exp" + }, + { + "pg": "Tfloat_ln", + "meos": "tfloat_ln" + }, + { + "pg": "Tfloat_log10", + "meos": "tfloat_log10" + } + ] + }, + { + "name": "log10", + "overloads": [ + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "lower", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Textset_lower", + "meos": "textset_lower" + }, + { + "pg": "Span_lower", + "meos": "intspan_lower" + }, + { + "pg": "Span_lower", + "meos": "bigintspan_lower" + }, + { + "pg": "Span_lower", + "meos": "floatspan_lower" + }, + { + "pg": "Span_lower", + "meos": "datespan_lower" + }, + { + "pg": "Span_lower", + "meos": "tstzspan_lower" + }, + { + "pg": "Spanset_lower", + "meos": "intspanset_lower" + }, + { + "pg": "Spanset_lower", + "meos": "bigintspanset_lower" + }, + { + "pg": "Spanset_lower", + "meos": "floatspanset_lower" + }, + { + "pg": "Spanset_lower", + "meos": "tstzspanset_lower" + }, + { + "pg": "Spanset_lower", + "meos": "spanset_lower" + }, + { + "pg": "Ttext_lower", + "meos": "ttext_lower" + }, + { + "pg": "Ttext_lower", + "meos": "ttext_initcap" + } + ] + }, + { + "name": "lowerInc", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_lower_inc", + "meos": "temporal_lower_inc" + } + ] + }, + { + "name": "lseg", + "overloads": [ + { + "args": [ + { + "type": "point", + "hasDefault": false + }, + { + "type": "point", + "hasDefault": false + } + ], + "returns": "lseg", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "makeSimple", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpoint_make_simple", + "meos": "tpointseq_make_simple" + }, + { + "pg": "Tpoint_make_simple", + "meos": "tpointseqset_make_simple" + }, + { + "pg": "Tpoint_make_simple", + "meos": "tpoint_make_simple" + } + ] + }, + { + "name": "maxDistSimplify", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "maxInstant", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_max_instant", + "meos": "tsequence_max_inst_p" + }, + { + "pg": "Temporal_max_instant", + "meos": "tsequenceset_max_inst_p" + }, + { + "pg": "Temporal_max_instant", + "meos": "temporal_max_inst_p" + }, + { + "pg": "Temporal_max_instant", + "meos": "temporal_max_instant" + } + ] + }, + { + "name": "maxValue", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_max_value", + "meos": "tsequence_max_val" + }, + { + "pg": "Temporal_max_value", + "meos": "tsequenceset_max_val" + }, + { + "pg": "Temporal_max_value", + "meos": "tint_max_value" + }, + { + "pg": "Temporal_max_value", + "meos": "tbigint_max_value" + }, + { + "pg": "Temporal_max_value", + "meos": "tfloat_max_value" + }, + { + "pg": "Temporal_max_value", + "meos": "ttext_max_value" + }, + { + "pg": "Temporal_max_value", + "meos": "temporal_max_value" + } + ] + }, + { + "name": "memSize", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "int", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_mem_size", + "meos": "set_mem_size" + }, + { + "pg": "Spanset_mem_size", + "meos": "spanset_mem_size" + }, + { + "pg": "Temporal_mem_size", + "meos": "temporal_mem_size" + } + ] + }, + { + "name": "merge", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool[]", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint[]", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint[]", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat[]", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext[]", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint[]", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_merge_transfn", + "meos": "temporal_merge_transfn" + }, + { + "pg": "Temporal_merge_combinefn", + "meos": "temporal_merge_combinefn" + }, + { + "pg": "Temporal_merge", + "meos": "tinstant_merge" + }, + { + "pg": "Temporal_merge", + "meos": "geoarr_merge" + }, + { + "pg": "Temporal_merge_array", + "meos": "tinstant_merge_array" + }, + { + "pg": "Temporal_merge", + "meos": "tsequence_merge" + }, + { + "pg": "Temporal_merge_array", + "meos": "tsequence_merge_array" + }, + { + "pg": "Temporal_merge", + "meos": "tsequenceset_merge" + }, + { + "pg": "Temporal_merge_array", + "meos": "tsequenceset_merge_array" + }, + { + "pg": "Temporal_merge", + "meos": "temporal_merge" + }, + { + "pg": "Temporal_merge_array", + "meos": "temporal_merge_array" + } + ] + }, + { + "name": "minDistSimplify", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_simplify_min_dist", + "meos": "temporal_simplify_min_dist" + } + ] + }, + { + "name": "minDistance", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "tgeompoint[]", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "tgeometry[]", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Mindistance_tgeoarr_tgeoarr", + "meos": "mindistance_tgeoarr_tgeoarr" + } + ] + }, + { + "name": "minDistance_transfn", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "minInstant", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_min_instant", + "meos": "tsequence_min_inst_p" + }, + { + "pg": "Temporal_min_instant", + "meos": "tsequenceset_min_inst_p" + }, + { + "pg": "Temporal_min_instant", + "meos": "temporal_min_instant" + } + ] + }, + { + "name": "minTimeDeltaSimplify", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_simplify_min_tdelta", + "meos": "temporal_simplify_min_tdelta" + } + ] + }, + { + "name": "minValue", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_min_value", + "meos": "tsequence_min_val" + }, + { + "pg": "Temporal_min_value", + "meos": "tsequenceset_min_val" + }, + { + "pg": "Temporal_min_value", + "meos": "tint_min_value" + }, + { + "pg": "Temporal_min_value", + "meos": "tbigint_min_value" + }, + { + "pg": "Temporal_min_value", + "meos": "tfloat_min_value" + }, + { + "pg": "Temporal_min_value", + "meos": "ttext_min_value" + } + ] + }, + { + "name": "minusElevation", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "minusGeometry", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_minus_geom", + "meos": "trgeometry_minus_geom" + }, + { + "pg": "Tcbuffer_minus_geom", + "meos": "tcbuffer_minus_geom" + }, + { + "pg": "Tpose_minus_geom", + "meos": "tpose_minus_geom" + }, + { + "pg": "Tgeo_minus_geom", + "meos": "tpoint_minus_geom" + }, + { + "pg": "Tgeo_minus_geom", + "meos": "tgeo_minus_geom" + }, + { + "pg": "Tgeo_minus_elevation", + "meos": "tpoint_minus_elevation" + }, + { + "pg": "Tgeo_minus_elevation", + "meos": "tgeo_minus_elevation" + }, + { + "pg": "Tnpoint_minus_geom", + "meos": "tnpoint_minus_geom" + } + ] + }, + { + "name": "minusMax", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_minus_max", + "meos": "temporal_minus_max" + } + ] + }, + { + "name": "minusMin", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_minus_min", + "meos": "temporal_minus_min" + } + ] + }, + { + "name": "minusStbox", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Trgeometry_minus_stbox", + "meos": "trgeometry_minus_stbox" + }, + { + "pg": "Tgeo_minus_stbox", + "meos": "tgeo_minus_stbox" + } + ] + }, + { + "name": "minusTbox", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tnumber_minus_tbox", + "meos": "tnumber_minus_tbox" + } + ] + }, + { + "name": "minusTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_minus_timestamptz", + "meos": "trgeo_minus_timestamptz" + }, + { + "pg": "Temporal_minus_tstzspanset", + "meos": "trgeo_minus_tstzset" + }, + { + "pg": "Temporal_minus_tstzspan", + "meos": "trgeo_minus_tstzspan" + }, + { + "pg": "Temporal_minus_tstzspanset", + "meos": "trgeo_minus_tstzspanset" + }, + { + "pg": "Temporal_minus_timestamptz", + "meos": "temporal_minus_timestamptz" + }, + { + "pg": "Temporal_minus_tstzset", + "meos": "temporal_minus_tstzset" + }, + { + "pg": "Temporal_minus_tstzspan", + "meos": "temporal_minus_tstzspan" + }, + { + "pg": "Temporal_minus_tstzspanset", + "meos": "temporal_minus_tstzspanset" + }, + { + "pg": "Temporal_minus_timestamptz", + "meos": "tsequenceset_delete_timestamptz" + }, + { + "pg": "Temporal_minus_tstzset", + "meos": "tsequenceset_delete_tstzset" + }, + { + "pg": "Temporal_minus_tstzspan", + "meos": "tsequenceset_delete_tstzspan" + }, + { + "pg": "Temporal_minus_tstzspanset", + "meos": "tsequenceset_delete_tstzspanset" + } + ] + }, + { + "name": "minusTpcbox", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "minusTpcboxFine", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "minusValue", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_minus_value", + "meos": "trgeo_minus_value" + }, + { + "pg": "Temporal_minus_value", + "meos": "tcbuffer_minus_cbuffer" + }, + { + "pg": "Tcbuffer_minus_stbox", + "meos": "tcbuffer_minus_stbox" + }, + { + "pg": "Temporal_minus_value", + "meos": "tpose_minus_pose" + }, + { + "pg": "Temporal_minus_value", + "meos": "tpoint_minus_value" + }, + { + "pg": "Temporal_minus_value", + "meos": "tgeo_minus_value" + }, + { + "pg": "Temporal_minus_value", + "meos": "tbool_minus_value" + }, + { + "pg": "Temporal_minus_value", + "meos": "tint_minus_value" + }, + { + "pg": "Temporal_minus_value", + "meos": "tfloat_minus_value" + }, + { + "pg": "Temporal_minus_value", + "meos": "ttext_minus_value" + } + ] + }, + { + "name": "minusValues", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography(Point)", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_minus_values", + "meos": "trgeo_minus_values" + }, + { + "pg": "Temporal_minus_values", + "meos": "temporal_minus_values" + }, + { + "pg": "Tnpoint_minus_npoint", + "meos": "tnpoint_minus_npoint" + }, + { + "pg": "Tnpoint_minus_npointset", + "meos": "tnpoint_minus_npointset" + } + ] + }, + { + "name": "mobilitydb_full_version", + "overloads": [ + { + "args": [], + "returns": "text", + "minArity": 0, + "maxArity": 0 + } + ], + "c": [] + }, + { + "name": "mobilitydb_version", + "overloads": [ + { + "args": [], + "returns": "text", + "minArity": 0, + "maxArity": 0 + } + ], + "c": [] + }, + { + "name": "multirange", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "int4multirange", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "int8multirange", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datemultirange", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzmultirange", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "nearestApproachDistance", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "int", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "NAD_tcbuffer_geo", + "meos": "nad_tcbuffer_geo" + }, + { + "pg": "NAD_tcbuffer_geo", + "meos": "nad_tcbuffer_stbox" + }, + { + "pg": "NAD_tcbuffer_cbuffer", + "meos": "nad_tcbuffer_cbuffer" + }, + { + "pg": "NAD_tcbuffer_tcbuffer", + "meos": "nad_tcbuffer_tcbuffer" + }, + { + "pg": "NAD_tpcbox_tpcbox", + "meos": "nad_tpcbox_tpcbox" + }, + { + "pg": "NAD_tpointcloud_tpcbox", + "meos": "nad_tpointcloud_tpcbox" + }, + { + "pg": "NAD_tpointcloud_tpointcloud", + "meos": "nad_tpointcloud_tpointcloud" + }, + { + "pg": "NAD_tpose_geo", + "meos": "nad_tpose_geo" + }, + { + "pg": "NAD_tpose_geo", + "meos": "nad_tpose_stbox" + }, + { + "pg": "NAD_tpose_pose", + "meos": "nad_tpose_pose" + }, + { + "pg": "NAD_tpose_tpose", + "meos": "nad_tpose_tpose" + }, + { + "pg": "NAD_tgeo_geo", + "meos": "nad_tgeo_geo" + }, + { + "pg": "NAD_stbox_geo", + "meos": "nad_stbox_geo" + }, + { + "pg": "NAD_stbox_stbox", + "meos": "nad_stbox_stbox" + }, + { + "pg": "NAD_tgeo_stbox", + "meos": "nad_tgeo_stbox" + }, + { + "pg": "NAD_tgeo_tgeo", + "meos": "nad_tgeo_tgeo" + }, + { + "pg": "NAD_tnumber_number", + "meos": "nad_tint_int" + }, + { + "pg": "NAD_tnumber_number", + "meos": "nad_tfloat_float" + }, + { + "pg": "NAD_tnumber_tbox", + "meos": "nad_tint_tbox" + }, + { + "pg": "NAD_tnumber_tbox", + "meos": "nad_tfloat_tbox" + }, + { + "pg": "NAD_tbox_tbox", + "meos": "nad_tboxint_tboxint" + }, + { + "pg": "NAD_tbox_tbox", + "meos": "nad_tboxfloat_tboxfloat" + }, + { + "pg": "NAD_tnumber_tnumber", + "meos": "nad_tint_tint" + }, + { + "pg": "NAD_tnumber_tnumber", + "meos": "nad_tfloat_tfloat" + }, + { + "pg": "NAD_tbox_tbox", + "meos": "nad_tbox_tbox" + }, + { + "pg": "NAD_tnumber_tbox", + "meos": "nad_tnumber_tbox" + }, + { + "pg": "NAD_tnpoint_geo", + "meos": "nad_tnpoint_geo" + }, + { + "pg": "NAD_tnpoint_stbox", + "meos": "nad_tnpoint_stbox" + }, + { + "pg": "NAD_tnpoint_npoint", + "meos": "nad_tnpoint_npoint" + }, + { + "pg": "NAD_tnpoint_tnpoint", + "meos": "nad_tnpoint_tnpoint" + } + ] + }, + { + "name": "nearestApproachInstant", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "NAI_tcbuffer_geo", + "meos": "nai_tcbuffer_geo" + }, + { + "pg": "NAI_tcbuffer_cbuffer", + "meos": "nai_tcbuffer_cbuffer" + }, + { + "pg": "NAI_tcbuffer_tcbuffer", + "meos": "nai_tcbuffer_tcbuffer" + }, + { + "pg": "NAI_tpose_geo", + "meos": "nai_tpose_geo" + }, + { + "pg": "NAI_tpose_pose", + "meos": "nai_tpose_pose" + }, + { + "pg": "NAI_tpose_tpose", + "meos": "nai_tpose_tpose" + }, + { + "pg": "NAI_tgeo_geo", + "meos": "nai_tgeo_geo" + }, + { + "pg": "NAI_tgeo_tgeo", + "meos": "nai_tgeo_tgeo" + }, + { + "pg": "NAI_tnpoint_geo", + "meos": "nai_tnpoint_geo" + }, + { + "pg": "NAI_tnpoint_npoint", + "meos": "nai_tnpoint_npoint" + }, + { + "pg": "NAI_tnpoint_tnpoint", + "meos": "nai_tnpoint_tnpoint" + } + ] + }, + { + "name": "normalise", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_normalise", + "meos": "pose_normalise" + } + ] + }, + { + "name": "npoint", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Geompoint_to_npoint", + "meos": "geompoint_to_npoint" + }, + { + "pg": "Npoint_constructor", + "meos": "npoint_make" + } + ] + }, + { + "name": "npointFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npoint_cmp", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_cmp", + "meos": "npoint_cmp" + } + ] + }, + { + "name": "npoint_eq", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_eq", + "meos": "npoint_eq" + } + ] + }, + { + "name": "npoint_ge", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_ge", + "meos": "npoint_ge" + } + ] + }, + { + "name": "npoint_gt", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_gt", + "meos": "npoint_gt" + } + ] + }, + { + "name": "npoint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Npoint_in", + "meos": "npoint_in" + } + ] + }, + { + "name": "npoint_le", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_le", + "meos": "npoint_le" + } + ] + }, + { + "name": "npoint_lt", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_lt", + "meos": "npoint_lt" + } + ] + }, + { + "name": "npoint_ne", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Npoint_ne", + "meos": "npoint_ne" + } + ] + }, + { + "name": "npoint_out", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Npoint_out", + "meos": "npoint_out" + } + ] + }, + { + "name": "npoint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Npoint_recv", + "meos": "npoint_from_wkb" + }, + { + "pg": "Npoint_recv", + "meos": "npoint_as_wkb" + } + ] + }, + { + "name": "npoint_send", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointsetFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointsetFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointsetFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointset_out", + "overloads": [ + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointset_send", + "overloads": [ + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "npointset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "nsegment", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": true + }, + { + "type": "precision", + "hasDefault": true + } + ], + "returns": "nsegment", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "nsegment", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "nsegment", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Nsegment_constructor", + "meos": "nsegment_make" + }, + { + "pg": "Npoint_to_nsegment", + "meos": "npoint_to_nsegment" + }, + { + "pg": "Geom_to_nsegment", + "meos": "geom_to_nsegment" + } + ] + }, + { + "name": "nsegment_cmp", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_cmp", + "meos": "nsegment_cmp" + } + ] + }, + { + "name": "nsegment_eq", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_eq", + "meos": "nsegment_eq" + } + ] + }, + { + "name": "nsegment_ge", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_ge", + "meos": "nsegment_ge" + } + ] + }, + { + "name": "nsegment_gt", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_gt", + "meos": "nsegment_gt" + } + ] + }, + { + "name": "nsegment_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "nsegment", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Nsegment_in", + "meos": "nsegment_in" + } + ] + }, + { + "name": "nsegment_le", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_le", + "meos": "nsegment_le" + } + ] + }, + { + "name": "nsegment_lt", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_lt", + "meos": "nsegment_lt" + } + ] + }, + { + "name": "nsegment_ne", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Nsegment_ne", + "meos": "nsegment_ne" + } + ] + }, + { + "name": "nsegment_out", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Nsegment_out", + "meos": "nsegment_out" + } + ] + }, + { + "name": "nsegment_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "nsegment", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "nsegment_send", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "numDates", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Datespanset_num_dates", + "meos": "datespanset_num_dates" + } + ] + }, + { + "name": "numInstants", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_num_instants", + "meos": "tsequenceset_num_instants" + }, + { + "pg": "Temporal_num_instants", + "meos": "temporal_num_instants" + } + ] + }, + { + "name": "numPoints", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "numSequences", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_num_sequences", + "meos": "temporal_num_sequences" + } + ] + }, + { + "name": "numSpans", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Spanset_num_spans", + "meos": "spanset_num_spans" + } + ] + }, + { + "name": "numTimestamps", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_num_timestamps", + "meos": "tsequenceset_num_timestamps" + }, + { + "pg": "Tstzspanset_num_timestamps", + "meos": "tstzspanset_num_timestamps" + }, + { + "pg": "Temporal_num_timestamps", + "meos": "temporal_num_timestamps" + } + ] + }, + { + "name": "numValues", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_num_values", + "meos": "set_num_values" + } + ] + }, + { + "name": "orientation", + "overloads": [ + { + "args": [ + { + "type": "tempSubtype(tpose", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "quaternion", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "overabove", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overafter", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overback", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overbefore", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overbelow", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overfront", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overlaps", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overlaps_rid", + "overloads": [ + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overleft", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "overright", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "path", + "overloads": [ + { + "args": [ + { + "type": "point[]", + "hasDefault": false + } + ], + "returns": "path", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcid", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pcpoint_pcid", + "meos": "pcpoint_get_pcid" + }, + { + "pg": "Pcpatch_pcid", + "meos": "pcpatch_hash" + } + ] + }, + { + "name": "pcpatch", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "pcpoint[]", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pcpatchsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpatchsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpatchset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpatchset_out", + "overloads": [ + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpatchset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpatchset_send", + "overloads": [ + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpatchset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpoint", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "pcpointsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpointsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpointset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpointset_out", + "overloads": [ + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpointset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpointset_send", + "overloads": [ + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pcpointset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "perimeter", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pitch", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_pitch", + "meos": "pose_pitch" + } + ] + }, + { + "name": "point", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "point", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_point", + "meos": "cbuffer_point_p" + }, + { + "pg": "Cbuffer_point", + "meos": "cbuffer_point" + } + ] + }, + { + "name": "points", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "TABLE", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tcbuffer_points", + "meos": "tcbuffer_members" + }, + { + "pg": "Tcbuffer_points", + "meos": "tcbuffer_points" + }, + { + "pg": "Tcbuffer_points", + "meos": "tcbuffer_radius" + }, + { + "pg": "Tpose_points", + "meos": "tpose_points" + } + ] + }, + { + "name": "polygon", + "overloads": [ + { + "args": [ + { + "type": "point[]", + "hasDefault": false + } + ], + "returns": "polygon", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pose", + "overloads": [ + { + "args": [ + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "pose", + "minArity": 3, + "maxArity": 4 + }, + { + "args": [ + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "pose", + "minArity": 7, + "maxArity": 8 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + }, + { + "type": "precision", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "poseFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseFromGeoPose", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pose_cmp", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_eq", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_ge", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_gt", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_hash", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "pose_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_in", + "meos": "pose_in" + } + ] + }, + { + "name": "pose_le", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_lt", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_ne", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_out", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_out", + "meos": "pose_out" + } + ] + }, + { + "name": "pose_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_recv", + "meos": "pose_from_wkb" + }, + { + "pg": "Pose_recv", + "meos": "pose_as_wkb" + } + ] + }, + { + "name": "pose_same", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "pose_send", + "overloads": [ + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "posesetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "posesetFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "posesetFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "posesetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "posesetFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseset_out", + "overloads": [ + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseset_send", + "overloads": [ + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "poseset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "positions", + "overloads": [ + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "nsegment[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnpoint_positions", + "meos": "tnpoint_positions" + } + ] + }, + { + "name": "quadSplit", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "radians", + "overloads": [ + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Floatset_radians", + "meos": "floatset_radians" + }, + { + "pg": "Floatspanset_radians", + "meos": "floatspanset_radians" + }, + { + "pg": "Floatspan_radians", + "meos": "floatspan_radians" + }, + { + "pg": "Tfloat_radians", + "meos": "tfloat_radians" + } + ] + }, + { + "name": "radius", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_radius", + "meos": "cbuffer_radius" + } + ] + }, + { + "name": "range", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "int4range", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "int8range", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "daterange", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzrange", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "right", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "roll", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_roll", + "meos": "pose_roll" + } + ] + }, + { + "name": "rotate", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "rotateX", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "rotateY", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "rotateZ", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "rotation", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "round", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "trgeometry[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tcbuffer[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpcbox", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpose[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeompoint[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeogpoint[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeometry[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tgeography[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tfloat[]", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint[]", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "nsegment", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_round", + "meos": "trgeometry_round" + }, + { + "pg": "Cbufferarr_round", + "meos": "cbufferarr_round" + }, + { + "pg": "Tpcbox_round", + "meos": "tpcbox_round" + }, + { + "pg": "Pose_round", + "meos": "pose_round" + }, + { + "pg": "Posearr_round", + "meos": "posearr_round" + }, + { + "pg": "Stbox_round", + "meos": "stbox_round" + }, + { + "pg": "Stboxarr_round", + "meos": "stboxarr_round" + }, + { + "pg": "Tbox_round", + "meos": "tbox_round" + }, + { + "pg": "Floatspanset_round", + "meos": "floatspanset_round" + } + ] + }, + { + "name": "route", + "overloads": [ + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnpoint_route", + "meos": "tnpoint_route" + }, + { + "pg": "Npoint_route", + "meos": "npoint_route" + }, + { + "pg": "Nsegment_route", + "meos": "nsegment_route" + } + ] + }, + { + "name": "routes", + "overloads": [ + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnpoint_routes", + "meos": "tnpoint_routes" + }, + { + "pg": "Npointset_routes", + "meos": "npointset_routes" + } + ] + }, + { + "name": "same", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "same_rid", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "scale", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tgeo_scale", + "meos": "tgeo_scale" + } + ] + }, + { + "name": "scaleTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_scale_time", + "meos": "temporal_scale_time" + } + ] + }, + { + "name": "scaleValue", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tnumber_scale_value", + "meos": "tint_scale_value" + }, + { + "pg": "Tnumber_scale_value", + "meos": "tbigint_scale_value" + }, + { + "pg": "Tnumber_scale_value", + "meos": "tfloat_scale_value" + } + ] + }, + { + "name": "segmentMaxDuration", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "segmentMinDuration", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "segments", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_segments", + "meos": "tsequence_segments" + }, + { + "pg": "Temporal_segments", + "meos": "tsequenceset_segments" + }, + { + "pg": "Temporal_segments", + "meos": "temporal_segments" + } + ] + }, + { + "name": "sequenceN", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_sequence_n", + "meos": "trgeometry_sequence_n" + }, + { + "pg": "Temporal_sequence_n", + "meos": "temporal_sequence_n" + } + ] + }, + { + "name": "sequences", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_sequences", + "meos": "trgeometry_sequences" + }, + { + "pg": "Temporal_sequences", + "meos": "tsequence_seqs" + }, + { + "pg": "Temporal_sequences", + "meos": "temporal_sequences_p" + }, + { + "pg": "Temporal_sequences", + "meos": "temporal_sequences" + } + ] + }, + { + "name": "set", + "overloads": [ + { + "args": [ + { + "type": "cbuffer[]", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpoint[]", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatch[]", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose[]", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry[]", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geography[]", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3index[]", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "integer[]", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigint[]", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float[]", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "text[]", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "date[]", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "timestamptz[]", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npoint[]", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Set_constructor", + "meos": "cbufferset_make" + }, + { + "pg": "Value_to_set", + "meos": "cbuffer_to_set" + }, + { + "pg": "Set_constructor", + "meos": "pcpointset_make" + }, + { + "pg": "Value_to_set", + "meos": "pcpoint_to_set" + }, + { + "pg": "Set_constructor", + "meos": "pcpatchset_make" + }, + { + "pg": "Value_to_set", + "meos": "pcpatch_to_set" + }, + { + "pg": "Set_constructor", + "meos": "poseset_make" + }, + { + "pg": "Value_to_set", + "meos": "pose_to_set" + }, + { + "pg": "Set_constructor", + "meos": "geoset_make" + }, + { + "pg": "Value_to_set", + "meos": "geo_set" + }, + { + "pg": "Value_to_set", + "meos": "geo_to_set" + }, + { + "pg": "Set_constructor", + "meos": "intset_make" + }, + { + "pg": "Set_constructor", + "meos": "bigintset_make" + }, + { + "pg": "Set_constructor", + "meos": "floatset_make" + }, + { + "pg": "Set_constructor", + "meos": "textset_make" + }, + { + "pg": "Set_constructor", + "meos": "dateset_make" + }, + { + "pg": "Set_constructor", + "meos": "tstzset_make" + }, + { + "pg": "Value_to_set", + "meos": "int_to_set" + }, + { + "pg": "Value_to_set", + "meos": "bigint_to_set" + }, + { + "pg": "Value_to_set", + "meos": "float_to_set" + }, + { + "pg": "Value_to_set", + "meos": "text_to_set" + }, + { + "pg": "Value_to_set", + "meos": "date_to_set" + }, + { + "pg": "Value_to_set", + "meos": "timestamptz_to_set" + }, + { + "pg": "Set_constructor", + "meos": "npointset_make" + }, + { + "pg": "Value_to_set", + "meos": "npoint_to_set" + } + ] + }, + { + "name": "setInterp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_set_interp", + "meos": "trgeometry_set_interp" + }, + { + "pg": "Temporal_set_interp", + "meos": "tsequenceset_set_interp" + }, + { + "pg": "Temporal_set_interp", + "meos": "temporal_set_interp" + } + ] + }, + { + "name": "setSRID", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Cbuffer_set_srid", + "meos": "cbuffer_set_srid" + }, + { + "pg": "Tpcbox_set_srid", + "meos": "tpcbox_set_srid" + }, + { + "pg": "Stbox_set_srid", + "meos": "stbox_set_srid" + }, + { + "pg": "Spatialset_set_srid", + "meos": "spatialset_set_srid" + }, + { + "pg": "Tspatial_set_srid", + "meos": "tspatial_set_srid" + } + ] + }, + { + "name": "set_cmp", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_cmp", + "meos": "set_cmp" + } + ] + }, + { + "name": "set_contained", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contained_value_set", + "meos": "contained_cbuffer_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_pcpoint_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_pcpatch_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_pose_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_geo_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_int_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_bigint_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_float_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_text_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_date_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_timestamptz_set" + }, + { + "pg": "Contained_set_set", + "meos": "contained_set_set" + }, + { + "pg": "Contained_value_set", + "meos": "contained_npoint_set" + } + ] + }, + { + "name": "set_contains", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contains_set_value", + "meos": "contains_set_cbuffer" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_pcpoint" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_pcpatch" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_pose" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_geo" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_int" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_bigint" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_float" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_text" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_date" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_timestamptz" + }, + { + "pg": "Contains_set_set", + "meos": "contains_set_set" + }, + { + "pg": "Contains_set_value", + "meos": "contains_set_npoint" + } + ] + }, + { + "name": "set_distance", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Distance_set_value", + "meos": "distance_set_int" + }, + { + "pg": "Distance_set_value", + "meos": "distance_set_bigint" + }, + { + "pg": "Distance_set_value", + "meos": "distance_set_float" + }, + { + "pg": "Distance_set_value", + "meos": "distance_set_date" + }, + { + "pg": "Distance_set_value", + "meos": "distance_set_timestamptz" + }, + { + "pg": "Distance_set_set", + "meos": "distance_intset_intset" + }, + { + "pg": "Distance_set_set", + "meos": "distance_bigintset_bigintset" + }, + { + "pg": "Distance_set_set", + "meos": "distance_floatset_floatset" + }, + { + "pg": "Distance_set_set", + "meos": "distance_dateset_dateset" + }, + { + "pg": "Distance_set_set", + "meos": "distance_tstzset_tstzset" + }, + { + "pg": "Distance_set_set", + "meos": "distance_set_set" + } + ] + }, + { + "name": "set_eq", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_eq", + "meos": "set_eq" + } + ] + }, + { + "name": "set_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "set_ge", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_ge", + "meos": "set_ge" + } + ] + }, + { + "name": "set_gin_extract_query", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 7, + "maxArity": 7 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 7, + "maxArity": 7 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 7, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "set_gin_extract_value", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "set_gin_triconsistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "char", + "minArity": 7, + "maxArity": 7 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "char", + "minArity": 7, + "maxArity": 7 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "char", + "minArity": 7, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "set_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "set_gt", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_gt", + "meos": "set_gt" + } + ] + }, + { + "name": "set_hash", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "set_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "set_intersection", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Intersection_set_value", + "meos": "intersection_set_cbuffer" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_pcpoint" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_pcpoint_set" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_pcpatch" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_pcpatch_set" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_pose" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_geo" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_int" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_bigint" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_float" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_text" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_date" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_timestamptz" + }, + { + "pg": "Intersection_set_set", + "meos": "intersection_set_set" + }, + { + "pg": "Intersection_set_value", + "meos": "intersection_set_npoint" + } + ] + }, + { + "name": "set_le", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_le", + "meos": "set_le" + } + ] + }, + { + "name": "set_left", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Left_value_set", + "meos": "left_int_set" + }, + { + "pg": "Left_value_set", + "meos": "left_bigint_set" + }, + { + "pg": "Left_value_set", + "meos": "left_float_set" + }, + { + "pg": "Left_value_set", + "meos": "left_text_set" + }, + { + "pg": "Left_value_set", + "meos": "before_date_set" + }, + { + "pg": "Left_value_set", + "meos": "before_timestamptz_set" + }, + { + "pg": "Left_set_value", + "meos": "left_set_int" + }, + { + "pg": "Left_set_value", + "meos": "left_set_bigint" + }, + { + "pg": "Left_set_value", + "meos": "left_set_float" + }, + { + "pg": "Left_set_value", + "meos": "left_set_text" + }, + { + "pg": "Left_set_value", + "meos": "before_set_date" + }, + { + "pg": "Left_set_value", + "meos": "before_set_timestamptz" + }, + { + "pg": "Left_set_set", + "meos": "left_set_set" + } + ] + }, + { + "name": "set_lt", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_lt", + "meos": "set_lt" + } + ] + }, + { + "name": "set_minus", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Minus_value_set", + "meos": "minus_cbuffer_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_cbuffer" + }, + { + "pg": "Minus_value_set", + "meos": "minus_pcpoint_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_pcpoint" + }, + { + "pg": "Minus_value_set", + "meos": "minus_pcpatch_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_pcpatch" + }, + { + "pg": "Minus_value_set", + "meos": "minus_pose_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_pose" + }, + { + "pg": "Minus_value_set", + "meos": "minus_geo_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_geo" + }, + { + "pg": "Minus_value_set", + "meos": "minus_int_set" + }, + { + "pg": "Minus_value_set", + "meos": "minus_bigint_set" + }, + { + "pg": "Minus_value_set", + "meos": "minus_float_set" + }, + { + "pg": "Minus_value_set", + "meos": "minus_text_set" + }, + { + "pg": "Minus_value_set", + "meos": "minus_date_set" + }, + { + "pg": "Minus_value_set", + "meos": "minus_timestamptz_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_int" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_bigint" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_float" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_text" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_date" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_timestamptz" + }, + { + "pg": "Minus_set_set", + "meos": "minus_set_set" + }, + { + "pg": "Minus_value_set", + "meos": "minus_npoint_set" + }, + { + "pg": "Minus_set_value", + "meos": "minus_set_npoint" + } + ] + }, + { + "name": "set_ne", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Set_ne", + "meos": "set_ne" + } + ] + }, + { + "name": "set_overlaps", + "overloads": [ + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overlaps_set_set", + "meos": "overlaps_set_set" + } + ] + }, + { + "name": "set_overleft", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overleft_value_set", + "meos": "overleft_int_set" + }, + { + "pg": "Overleft_value_set", + "meos": "overleft_bigint_set" + }, + { + "pg": "Overleft_value_set", + "meos": "overleft_float_set" + }, + { + "pg": "Overleft_value_set", + "meos": "overleft_text_set" + }, + { + "pg": "Overleft_value_set", + "meos": "overbefore_date_set" + }, + { + "pg": "Overleft_value_set", + "meos": "overbefore_timestamptz_set" + }, + { + "pg": "Overleft_set_value", + "meos": "overleft_set_int" + }, + { + "pg": "Overleft_set_value", + "meos": "overleft_set_bigint" + }, + { + "pg": "Overleft_set_value", + "meos": "overleft_set_float" + }, + { + "pg": "Overleft_set_value", + "meos": "overleft_set_text" + }, + { + "pg": "Overleft_set_value", + "meos": "overbefore_set_date" + }, + { + "pg": "Overleft_set_value", + "meos": "overbefore_set_timestamptz" + }, + { + "pg": "Overleft_set_set", + "meos": "overleft_set_set" + } + ] + }, + { + "name": "set_overright", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overright_value_set", + "meos": "overright_int_set" + }, + { + "pg": "Overright_value_set", + "meos": "overright_bigint_set" + }, + { + "pg": "Overright_value_set", + "meos": "overright_float_set" + }, + { + "pg": "Overright_value_set", + "meos": "overright_text_set" + }, + { + "pg": "Overright_value_set", + "meos": "overafter_date_set" + }, + { + "pg": "Overright_value_set", + "meos": "overafter_timestamptz_set" + }, + { + "pg": "Overright_set_value", + "meos": "overright_set_int" + }, + { + "pg": "Overright_set_value", + "meos": "overright_set_bigint" + }, + { + "pg": "Overright_set_value", + "meos": "overright_set_float" + }, + { + "pg": "Overright_set_value", + "meos": "overright_set_text" + }, + { + "pg": "Overright_set_value", + "meos": "overafter_set_date" + }, + { + "pg": "Overright_set_value", + "meos": "overafter_set_timestamptz" + }, + { + "pg": "Overright_set_set", + "meos": "overright_set_set" + } + ] + }, + { + "name": "set_right", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Right_value_set", + "meos": "right_int_set" + }, + { + "pg": "Right_value_set", + "meos": "right_bigint_set" + }, + { + "pg": "Right_value_set", + "meos": "right_float_set" + }, + { + "pg": "Right_value_set", + "meos": "right_text_set" + }, + { + "pg": "Right_value_set", + "meos": "after_date_set" + }, + { + "pg": "Right_value_set", + "meos": "after_timestamptz_set" + }, + { + "pg": "Right_set_value", + "meos": "right_set_int" + }, + { + "pg": "Right_set_value", + "meos": "right_set_bigint" + }, + { + "pg": "Right_set_value", + "meos": "right_set_float" + }, + { + "pg": "Right_set_value", + "meos": "right_set_text" + }, + { + "pg": "Right_set_value", + "meos": "after_set_date" + }, + { + "pg": "Right_set_value", + "meos": "after_set_timestamptz" + }, + { + "pg": "Right_set_set", + "meos": "right_set_set" + } + ] + }, + { + "name": "set_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "set_union", + "overloads": [ + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatchset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3indexset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npointset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Union_set_value", + "meos": "union_set_cbuffer" + }, + { + "pg": "Union_set_value", + "meos": "union_cbuffer_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_cbuffer_set" + }, + { + "pg": "Union_set_value", + "meos": "union_set_pcpoint" + }, + { + "pg": "Union_set_value", + "meos": "union_pcpoint_set" + }, + { + "pg": "Union_set_value", + "meos": "union_set_pcpatch" + }, + { + "pg": "Union_set_value", + "meos": "union_pcpatch_set" + }, + { + "pg": "Union_set_value", + "meos": "union_set_pose" + }, + { + "pg": "Union_set_value", + "meos": "union_pose_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_pose_set" + }, + { + "pg": "Union_set_value", + "meos": "union_set_geo" + }, + { + "pg": "Union_set_value", + "meos": "union_geo_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_geo_set" + }, + { + "pg": "Union_set_value", + "meos": "union_set_int" + }, + { + "pg": "Union_set_value", + "meos": "union_set_bigint" + }, + { + "pg": "Union_set_value", + "meos": "union_set_float" + }, + { + "pg": "Union_set_value", + "meos": "union_set_text" + }, + { + "pg": "Union_set_value", + "meos": "union_set_date" + }, + { + "pg": "Union_set_value", + "meos": "union_set_timestamptz" + }, + { + "pg": "Union_set_value", + "meos": "union_int_set" + }, + { + "pg": "Union_set_value", + "meos": "union_bigint_set" + }, + { + "pg": "Union_set_value", + "meos": "union_float_set" + }, + { + "pg": "Union_set_value", + "meos": "union_text_set" + }, + { + "pg": "Union_set_value", + "meos": "union_date_set" + }, + { + "pg": "Union_set_value", + "meos": "union_timestamptz_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_int_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_bigint_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_float_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_text_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_date_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_timestamptz_set" + }, + { + "pg": "Union_set_set", + "meos": "union_set_set" + }, + { + "pg": "Union_set_value", + "meos": "union_set_npoint" + }, + { + "pg": "Union_set_value", + "meos": "union_npoint_set" + }, + { + "pg": "Union_set_value", + "meos": "intersection_npoint_set" + } + ] + }, + { + "name": "set_union_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "shift", + "overloads": [ + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Numset_shift", + "meos": "intset_shift_scale" + }, + { + "pg": "Numset_shift", + "meos": "bigintset_shift_scale" + }, + { + "pg": "Numset_shift", + "meos": "floatset_shift_scale" + }, + { + "pg": "Numset_shift", + "meos": "dateset_shift_scale" + }, + { + "pg": "Tstzset_shift", + "meos": "tstzset_shift_scale" + }, + { + "pg": "Numspan_shift", + "meos": "intspan_shift_scale" + }, + { + "pg": "Numspan_shift", + "meos": "bigintspan_shift_scale" + }, + { + "pg": "Numspan_shift", + "meos": "floatspan_shift_scale" + }, + { + "pg": "Numspan_shift", + "meos": "datespan_shift_scale" + }, + { + "pg": "Numspanset_shift", + "meos": "intspanset_shift_scale" + }, + { + "pg": "Numspanset_shift", + "meos": "bigintspanset_shift_scale" + }, + { + "pg": "Numspanset_shift", + "meos": "floatspanset_shift_scale" + }, + { + "pg": "Numspanset_shift", + "meos": "datespanset_shift_scale" + }, + { + "pg": "Numspanset_shift", + "meos": "numspanset_shift_scale" + }, + { + "pg": "Numspanset_shift", + "meos": "tstzspanset_shift_scale" + }, + { + "pg": "Numspan_expand", + "meos": "numspan_expand" + }, + { + "pg": "Numspan_expand", + "meos": "intspan_expand" + }, + { + "pg": "Numspan_expand", + "meos": "bigintspan_expand" + }, + { + "pg": "Numspan_expand", + "meos": "floatspan_expand" + }, + { + "pg": "Timestamptz_shift", + "meos": "timestamptz_shift" + }, + { + "pg": "Tstzspan_shift", + "meos": "tstzspan_shift_scale" + } + ] + }, + { + "name": "shiftScale", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "dateset", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "shiftScaleTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "shiftScaleValue", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Tnumber_shift_scale_value", + "meos": "tint_shift_scale_value" + }, + { + "pg": "Tnumber_shift_scale_value", + "meos": "tbigint_shift_scale_value" + }, + { + "pg": "Tnumber_shift_scale_value", + "meos": "tfloat_shift_scale_value" + } + ] + }, + { + "name": "shiftTime", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_shift_time", + "meos": "stbox_shift_scale_time" + }, + { + "pg": "Tbox_shift_time", + "meos": "tbox_shift_scale_time" + }, + { + "pg": "Temporal_shift_time", + "meos": "tinstant_shift_time" + }, + { + "pg": "Temporal_shift_time", + "meos": "tsequence_shift_scale_time" + }, + { + "pg": "Temporal_shift_time", + "meos": "tsequenceset_shift_scale_time" + }, + { + "pg": "Temporal_shift_time", + "meos": "temporal_shift_scale_time" + }, + { + "pg": "Temporal_shift_time", + "meos": "temporal_shift_time" + } + ] + }, + { + "name": "shiftValue", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_shift_value", + "meos": "tintbox_shift_scale" + }, + { + "pg": "Tbox_shift_value", + "meos": "tbigintbox_shift_scale" + }, + { + "pg": "Tbox_shift_value", + "meos": "tfloatbox_shift_scale" + }, + { + "pg": "Tnumber_shift_value", + "meos": "tnumberseqset_shift_scale_value" + }, + { + "pg": "Tnumber_shift_value", + "meos": "tint_shift_value" + }, + { + "pg": "Tnumber_shift_value", + "meos": "tbigint_shift_value" + }, + { + "pg": "Tnumber_shift_value", + "meos": "tfloat_shift_value" + }, + { + "pg": "Tnumber_shift_value", + "meos": "tnumber_shift_scale_value" + } + ] + }, + { + "name": "shortestLine", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Shortestline_tcbuffer_geo", + "meos": "shortestline_tcbuffer_geo" + }, + { + "pg": "Shortestline_tcbuffer_cbuffer", + "meos": "shortestline_tcbuffer_cbuffer" + }, + { + "pg": "Shortestline_tcbuffer_tcbuffer", + "meos": "shortestline_tcbuffer_tcbuffer" + }, + { + "pg": "Shortestline_tpose_geo", + "meos": "shortestline_tpose_geo" + }, + { + "pg": "Shortestline_tpose_pose", + "meos": "shortestline_tpose_pose" + }, + { + "pg": "Shortestline_tpose_tpose", + "meos": "shortestline_tpose_tpose" + }, + { + "pg": "Shortestline_tgeo_geo", + "meos": "shortestline_tgeo_geo" + }, + { + "pg": "Shortestline_tgeo_tgeo", + "meos": "shortestline_tgeo_tgeo" + }, + { + "pg": "Shortestline_tnpoint_geo", + "meos": "shortestline_tnpoint_geo" + }, + { + "pg": "Shortestline_tnpoint_npoint", + "meos": "shortestline_tnpoint_npoint" + }, + { + "pg": "Shortestline_tnpoint_tnpoint", + "meos": "shortestline_tnpoint_tnpoint" + } + ] + }, + { + "name": "spaceBoxes", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 6 + } + ], + "c": [ + { + "pg": "Trgeometry_space_boxes", + "meos": "trgeometry_space_boxes" + } + ] + }, + { + "name": "spaceSplit", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + } + ], + "c": [] + }, + { + "name": "spaceTiles", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 6 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 5 + } + ], + "c": [ + { + "pg": "Stbox_space_tiles", + "meos": "stbox_space_tiles" + } + ] + }, + { + "name": "spaceTimeBoxes", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 4, + "maxArity": 8 + } + ], + "c": [ + { + "pg": "Trgeometry_space_time_boxes", + "meos": "trgeometry_space_time_boxes" + } + ] + }, + { + "name": "spaceTimeSplit", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 9 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 8 + } + ], + "c": [] + }, + { + "name": "spaceTimeTiles", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 8 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 5, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 4, + "maxArity": 7 + } + ], + "c": [ + { + "pg": "Stbox_space_time_tiles", + "meos": "stbox_space_time_tiles" + } + ] + }, + { + "name": "span", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "int4range", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "int8range", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "daterange", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzrange", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Value_to_span", + "meos": "int_to_span" + }, + { + "pg": "Value_to_span", + "meos": "bigint_to_span" + }, + { + "pg": "Value_to_span", + "meos": "float_to_span" + }, + { + "pg": "Value_to_span", + "meos": "date_to_span" + }, + { + "pg": "Value_to_span", + "meos": "timestamptz_to_span" + }, + { + "pg": "Spanset_to_span", + "meos": "span_to_spanset" + }, + { + "pg": "Spanset_to_span", + "meos": "spanset_span" + }, + { + "pg": "Set_to_span", + "meos": "set_span" + }, + { + "pg": "Set_to_span", + "meos": "set_to_span" + } + ] + }, + { + "name": "spanN", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_span_n", + "meos": "spanset_span_n" + } + ] + }, + { + "name": "span_adjacent", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Adjacent_span_value", + "meos": "adjacent_span_int" + }, + { + "pg": "Adjacent_span_value", + "meos": "adjacent_span_bigint" + }, + { + "pg": "Adjacent_span_value", + "meos": "adjacent_span_float" + }, + { + "pg": "Adjacent_span_value", + "meos": "adjacent_span_date" + }, + { + "pg": "Adjacent_span_value", + "meos": "adjacent_span_timestamptz" + }, + { + "pg": "Adjacent_spanset_span", + "meos": "adjacent_spanset_span" + }, + { + "pg": "Adjacent_span_spanset", + "meos": "adjacent_span_spanset" + }, + { + "pg": "Adjacent_spanset_spanset", + "meos": "adjacent_spanset_spanset" + }, + { + "pg": "Adjacent_span_span", + "meos": "adjacent_span_span" + }, + { + "pg": "Adjacent_spanset_value", + "meos": "adjacent_spanset_int" + }, + { + "pg": "Adjacent_spanset_value", + "meos": "adjacent_spanset_bigint" + }, + { + "pg": "Adjacent_spanset_value", + "meos": "adjacent_spanset_float" + }, + { + "pg": "Adjacent_spanset_value", + "meos": "adjacent_spanset_date" + }, + { + "pg": "Adjacent_spanset_value", + "meos": "adjacent_spanset_timestamptz" + } + ] + }, + { + "name": "span_analyze", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "span_cmp", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_cmp", + "meos": "span_cmp" + } + ] + }, + { + "name": "span_contained", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contained_value_span", + "meos": "contained_int_span" + }, + { + "pg": "Contained_value_span", + "meos": "contained_bigint_span" + }, + { + "pg": "Contained_value_span", + "meos": "contained_float_span" + }, + { + "pg": "Contained_value_span", + "meos": "contained_date_span" + }, + { + "pg": "Contained_value_span", + "meos": "contained_timestamptz_span" + }, + { + "pg": "Contained_span_spanset", + "meos": "contained_span_spanset" + }, + { + "pg": "Contained_spanset_span", + "meos": "contained_spanset_span" + }, + { + "pg": "Contained_spanset_spanset", + "meos": "contained_spanset_spanset" + }, + { + "pg": "Contained_value_span", + "meos": "contained_span_span" + }, + { + "pg": "Contained_value_spanset", + "meos": "contained_int_spanset" + }, + { + "pg": "Contained_value_spanset", + "meos": "contained_bigint_spanset" + }, + { + "pg": "Contained_value_spanset", + "meos": "contained_float_spanset" + }, + { + "pg": "Contained_value_spanset", + "meos": "contained_date_spanset" + }, + { + "pg": "Contained_value_spanset", + "meos": "contained_timestamptz_spanset" + } + ] + }, + { + "name": "span_contains", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contains_span_value", + "meos": "contains_span_int" + }, + { + "pg": "Contains_span_value", + "meos": "contains_span_bigint" + }, + { + "pg": "Contains_span_value", + "meos": "contains_span_float" + }, + { + "pg": "Contains_span_value", + "meos": "contains_span_date" + }, + { + "pg": "Contains_spanset_value", + "meos": "contains_spanset_timestamptz" + }, + { + "pg": "Contains_spanset_span", + "meos": "contains_spanset_span" + }, + { + "pg": "Contains_span_spanset", + "meos": "contains_span_spanset" + }, + { + "pg": "Contains_spanset_spanset", + "meos": "contains_spanset_spanset" + }, + { + "pg": "Contains_span_value", + "meos": "contains_span_timestamptz" + }, + { + "pg": "Contains_span_span", + "meos": "contains_span_span" + }, + { + "pg": "Contains_spanset_value", + "meos": "contains_spanset_int" + }, + { + "pg": "Contains_spanset_value", + "meos": "contains_spanset_bigint" + }, + { + "pg": "Contains_spanset_value", + "meos": "contains_spanset_float" + }, + { + "pg": "Contains_spanset_value", + "meos": "contains_spanset_date" + } + ] + }, + { + "name": "span_distance", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Distance_span_value", + "meos": "distance_span_int" + }, + { + "pg": "Distance_span_value", + "meos": "distance_span_bigint" + }, + { + "pg": "Distance_span_value", + "meos": "distance_span_float" + }, + { + "pg": "Distance_span_value", + "meos": "distance_span_date" + }, + { + "pg": "Distance_span_value", + "meos": "distance_span_timestamptz" + }, + { + "pg": "Distance_span_span", + "meos": "distance_intspan_intspan" + }, + { + "pg": "Distance_span_span", + "meos": "distance_bigintspan_bigintspan" + }, + { + "pg": "Distance_span_span", + "meos": "distance_floatspan_floatspan" + }, + { + "pg": "Distance_span_span", + "meos": "distance_datespan_datespan" + }, + { + "pg": "Distance_span_span", + "meos": "distance_tstzspan_tstzspan" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_spanset_span" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_spanset_spanset" + }, + { + "pg": "Distance_span_span", + "meos": "distance_span_span" + }, + { + "pg": "Distance_spanset_value", + "meos": "distance_spanset_int" + }, + { + "pg": "Distance_spanset_value", + "meos": "distance_spanset_bigint" + }, + { + "pg": "Distance_spanset_value", + "meos": "distance_spanset_float" + }, + { + "pg": "Distance_spanset_value", + "meos": "distance_spanset_date" + }, + { + "pg": "Distance_spanset_value", + "meos": "distance_spanset_timestamptz" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_intspanset_intspan" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_bigintspanset_bigintspan" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_floatspanset_floatspan" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_datespanset_datespan" + }, + { + "pg": "Distance_spanset_span", + "meos": "distance_tstzspanset_tstzspan" + }, + { + "pg": "Distance_spanset_spanset", + "meos": "distance_intspanset_intspanset" + }, + { + "pg": "Distance_spanset_spanset", + "meos": "distance_bigintspanset_bigintspanset" + }, + { + "pg": "Distance_spanset_spanset", + "meos": "distance_floatspanset_floatspanset" + }, + { + "pg": "Distance_spanset_spanset", + "meos": "distance_datespanset_datespanset" + }, + { + "pg": "Distance_spanset_spanset", + "meos": "distance_tstzspanset_tstzspanset" + } + ] + }, + { + "name": "span_eq", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_eq", + "meos": "span_eq" + } + ] + }, + { + "name": "span_extent_combinefn", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_ge", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_ge", + "meos": "span_gt" + } + ] + }, + { + "name": "span_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "span_gist_distance", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "span_gist_fetch", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "span_gist_penalty", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "span_gist_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_gist_same", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "span_gist_union", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_gt", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_gt", + "meos": "span_ge" + } + ] + }, + { + "name": "span_hash", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Span_hash", + "meos": "span_hash" + } + ] + }, + { + "name": "span_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_intersection", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Intersection_span_value", + "meos": "intersection_span_int" + }, + { + "pg": "Intersection_span_value", + "meos": "intersection_span_bigint" + }, + { + "pg": "Intersection_span_value", + "meos": "intersection_span_float" + }, + { + "pg": "Intersection_span_value", + "meos": "intersection_span_date" + }, + { + "pg": "Intersection_span_value", + "meos": "intersection_span_timestamptz" + }, + { + "pg": "Minus_value_span", + "meos": "minus_int_span" + }, + { + "pg": "Minus_value_span", + "meos": "minus_bigint_span" + }, + { + "pg": "Minus_value_span", + "meos": "minus_float_span" + }, + { + "pg": "Minus_value_span", + "meos": "minus_date_span" + }, + { + "pg": "Minus_value_span", + "meos": "minus_timestamptz_span" + }, + { + "pg": "Minus_span_value", + "meos": "minus_span_int" + }, + { + "pg": "Minus_span_value", + "meos": "minus_span_bigint" + }, + { + "pg": "Minus_span_value", + "meos": "minus_span_float" + }, + { + "pg": "Minus_span_value", + "meos": "minus_span_date" + }, + { + "pg": "Minus_span_value", + "meos": "minus_span_timestamptz" + }, + { + "pg": "Intersection_spanset_span", + "meos": "intersection_spanset_span" + }, + { + "pg": "Intersection_span_spanset", + "meos": "intersection_span_spanset" + }, + { + "pg": "Intersection_spanset_spanset", + "meos": "intersection_spanset_spanset" + }, + { + "pg": "Intersection_span_span", + "meos": "intersection_span_span" + }, + { + "pg": "Intersection_spanset_value", + "meos": "intersection_spanset_int" + }, + { + "pg": "Intersection_spanset_value", + "meos": "intersection_spanset_bigint" + }, + { + "pg": "Intersection_spanset_value", + "meos": "intersection_spanset_float" + }, + { + "pg": "Intersection_spanset_value", + "meos": "intersection_spanset_date" + }, + { + "pg": "Intersection_spanset_value", + "meos": "intersection_spanset_timestamptz" + } + ] + }, + { + "name": "span_joinsel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "span_kdtree_choose", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_kdtree_inner_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_kdtree_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_le", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_le", + "meos": "span_le" + } + ] + }, + { + "name": "span_left", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Left_value_span", + "meos": "left_int_span" + }, + { + "pg": "Left_value_span", + "meos": "left_bigint_span" + }, + { + "pg": "Left_value_span", + "meos": "left_float_span" + }, + { + "pg": "Left_value_span", + "meos": "before_date_span" + }, + { + "pg": "Left_value_span", + "meos": "before_timestamptz_span" + }, + { + "pg": "Left_span_value", + "meos": "left_span_int" + }, + { + "pg": "Left_span_value", + "meos": "left_span_bigint" + }, + { + "pg": "Left_span_value", + "meos": "left_span_float" + }, + { + "pg": "Left_span_value", + "meos": "before_span_date" + }, + { + "pg": "Left_span_value", + "meos": "before_span_timestamptz" + }, + { + "pg": "Left_span_spanset", + "meos": "left_span_spanset" + }, + { + "pg": "Left_spanset_span", + "meos": "left_spanset_span" + }, + { + "pg": "Left_spanset_spanset", + "meos": "left_spanset_spanset" + }, + { + "pg": "Left_span_span", + "meos": "left_span_span" + }, + { + "pg": "Left_value_spanset", + "meos": "left_int_spanset" + }, + { + "pg": "Left_value_spanset", + "meos": "left_bigint_spanset" + }, + { + "pg": "Left_value_spanset", + "meos": "left_float_spanset" + }, + { + "pg": "Left_value_spanset", + "meos": "before_date_spanset" + }, + { + "pg": "Left_value_spanset", + "meos": "before_timestamptz_spanset" + }, + { + "pg": "Left_spanset_value", + "meos": "left_spanset_int" + }, + { + "pg": "Left_spanset_value", + "meos": "left_spanset_bigint" + }, + { + "pg": "Left_spanset_value", + "meos": "left_spanset_float" + }, + { + "pg": "Left_spanset_value", + "meos": "before_spanset_date" + }, + { + "pg": "Left_spanset_value", + "meos": "before_spanset_timestamptz" + } + ] + }, + { + "name": "span_lt", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_lt", + "meos": "span_lt" + } + ] + }, + { + "name": "span_minus", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Minus_span_spanset", + "meos": "minus_span_spanset" + }, + { + "pg": "Minus_spanset_span", + "meos": "minus_spanset_span" + }, + { + "pg": "Minus_spanset_spanset", + "meos": "minus_spanset_spanset" + }, + { + "pg": "Minus_value_spanset", + "meos": "minus_int_spanset" + }, + { + "pg": "Minus_value_spanset", + "meos": "minus_bigint_spanset" + }, + { + "pg": "Minus_value_spanset", + "meos": "minus_float_spanset" + }, + { + "pg": "Minus_value_spanset", + "meos": "minus_date_spanset" + }, + { + "pg": "Minus_value_spanset", + "meos": "minus_timestamptz_spanset" + }, + { + "pg": "Minus_spanset_value", + "meos": "minus_spanset_int" + }, + { + "pg": "Minus_spanset_value", + "meos": "minus_spanset_bigint" + }, + { + "pg": "Minus_spanset_value", + "meos": "minus_spanset_float" + }, + { + "pg": "Minus_spanset_value", + "meos": "minus_spanset_date" + }, + { + "pg": "Minus_spanset_value", + "meos": "minus_spanset_timestamptz" + } + ] + }, + { + "name": "span_ne", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Span_ne", + "meos": "span_ne" + } + ] + }, + { + "name": "span_overlaps", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overlaps_spanset_span", + "meos": "overlaps_spanset_span" + }, + { + "pg": "Overlaps_span_spanset", + "meos": "overlaps_span_spanset" + }, + { + "pg": "Overlaps_spanset_spanset", + "meos": "overlaps_spanset_spanset" + }, + { + "pg": "Overlaps_span_span", + "meos": "overlaps_span_span" + } + ] + }, + { + "name": "span_overleft", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overleft_value_span", + "meos": "overleft_int_span" + }, + { + "pg": "Overleft_value_span", + "meos": "overleft_bigint_span" + }, + { + "pg": "Overleft_value_span", + "meos": "overleft_float_span" + }, + { + "pg": "Overleft_value_span", + "meos": "overbefore_date_span" + }, + { + "pg": "Overleft_value_span", + "meos": "overbefore_timestamptz_span" + }, + { + "pg": "Overleft_span_value", + "meos": "overleft_span_int" + }, + { + "pg": "Overleft_span_value", + "meos": "overleft_span_bigint" + }, + { + "pg": "Overleft_span_value", + "meos": "overleft_span_float" + }, + { + "pg": "Overleft_span_value", + "meos": "overbefore_span_date" + }, + { + "pg": "Overleft_span_value", + "meos": "overbefore_span_timestamptz" + }, + { + "pg": "Overleft_span_spanset", + "meos": "overleft_span_spanset" + }, + { + "pg": "Overleft_spanset_span", + "meos": "overleft_spanset_span" + }, + { + "pg": "Overleft_spanset_spanset", + "meos": "overleft_spanset_spanset" + }, + { + "pg": "Overleft_span_span", + "meos": "overleft_span_span" + }, + { + "pg": "Overleft_spanset_value", + "meos": "overleft_spanset_int" + }, + { + "pg": "Overleft_spanset_value", + "meos": "overleft_spanset_bigint" + }, + { + "pg": "Overleft_spanset_value", + "meos": "overleft_spanset_float" + }, + { + "pg": "Overleft_spanset_value", + "meos": "overbefore_spanset_date" + }, + { + "pg": "Overleft_spanset_value", + "meos": "overbefore_spanset_timestamptz" + }, + { + "pg": "Overleft_value_spanset", + "meos": "overleft_int_spanset" + }, + { + "pg": "Overleft_value_spanset", + "meos": "overleft_bigint_spanset" + }, + { + "pg": "Overleft_value_spanset", + "meos": "overleft_float_spanset" + }, + { + "pg": "Overleft_value_spanset", + "meos": "overbefore_date_spanset" + }, + { + "pg": "Overleft_value_spanset", + "meos": "overbefore_timestamptz_spanset" + } + ] + }, + { + "name": "span_overright", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overright_value_span", + "meos": "overright_int_span" + }, + { + "pg": "Overright_value_span", + "meos": "overright_bigint_span" + }, + { + "pg": "Overright_value_span", + "meos": "overright_float_span" + }, + { + "pg": "Overright_value_span", + "meos": "overafter_date_span" + }, + { + "pg": "Overright_value_span", + "meos": "overafter_timestamptz_span" + }, + { + "pg": "Overright_span_value", + "meos": "overright_span_int" + }, + { + "pg": "Overright_span_value", + "meos": "overright_span_bigint" + }, + { + "pg": "Overright_span_value", + "meos": "overright_span_float" + }, + { + "pg": "Overright_span_value", + "meos": "overafter_span_date" + }, + { + "pg": "Overright_span_value", + "meos": "overafter_span_timestamptz" + }, + { + "pg": "Overright_span_spanset", + "meos": "overright_span_spanset" + }, + { + "pg": "Overright_spanset_span", + "meos": "overright_spanset_span" + }, + { + "pg": "Overright_spanset_spanset", + "meos": "overright_spanset_spanset" + }, + { + "pg": "Overright_span_span", + "meos": "overright_span_span" + }, + { + "pg": "Overright_value_spanset", + "meos": "overright_int_spanset" + }, + { + "pg": "Overright_value_spanset", + "meos": "overright_bigint_spanset" + }, + { + "pg": "Overright_value_spanset", + "meos": "overright_float_spanset" + }, + { + "pg": "Overright_value_spanset", + "meos": "overafter_date_spanset" + }, + { + "pg": "Overright_value_spanset", + "meos": "overafter_timestamptz_spanset" + }, + { + "pg": "Overright_spanset_value", + "meos": "overright_spanset_int" + }, + { + "pg": "Overright_spanset_value", + "meos": "overright_spanset_bigint" + }, + { + "pg": "Overright_spanset_value", + "meos": "overright_spanset_float" + }, + { + "pg": "Overright_spanset_value", + "meos": "overafter_spanset_date" + }, + { + "pg": "Overright_spanset_value", + "meos": "overafter_spanset_timestamptz" + } + ] + }, + { + "name": "span_quadtree_choose", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_quadtree_inner_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_quadtree_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_right", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Right_value_span", + "meos": "right_int_span" + }, + { + "pg": "Right_value_span", + "meos": "right_bigint_span" + }, + { + "pg": "Right_value_span", + "meos": "right_float_span" + }, + { + "pg": "Right_value_span", + "meos": "after_date_span" + }, + { + "pg": "Right_value_span", + "meos": "after_timestamptz_span" + }, + { + "pg": "Right_span_value", + "meos": "right_span_int" + }, + { + "pg": "Right_span_value", + "meos": "right_span_bigint" + }, + { + "pg": "Right_span_value", + "meos": "right_span_float" + }, + { + "pg": "Right_span_value", + "meos": "after_span_date" + }, + { + "pg": "Right_span_value", + "meos": "after_span_timestamptz" + }, + { + "pg": "Right_span_spanset", + "meos": "right_span_spanset" + }, + { + "pg": "Right_spanset_span", + "meos": "right_spanset_span" + }, + { + "pg": "Right_spanset_spanset", + "meos": "right_spanset_spanset" + }, + { + "pg": "Right_span_span", + "meos": "right_span_span" + }, + { + "pg": "Right_value_spanset", + "meos": "right_int_spanset" + }, + { + "pg": "Right_value_spanset", + "meos": "right_bigint_spanset" + }, + { + "pg": "Right_value_spanset", + "meos": "right_float_spanset" + }, + { + "pg": "Right_value_spanset", + "meos": "after_date_spanset" + }, + { + "pg": "Right_value_spanset", + "meos": "after_timestamptz_spanset" + }, + { + "pg": "Right_spanset_value", + "meos": "right_spanset_int" + }, + { + "pg": "Right_spanset_value", + "meos": "right_spanset_bigint" + }, + { + "pg": "Right_spanset_value", + "meos": "right_spanset_float" + }, + { + "pg": "Right_spanset_value", + "meos": "after_spanset_date" + }, + { + "pg": "Right_spanset_value", + "meos": "after_spanset_timestamptz" + } + ] + }, + { + "name": "span_sel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "span_spgist_leaf_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "span_union", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Union_spanset_span", + "meos": "union_spanset_span" + }, + { + "pg": "Union_span_spanset", + "meos": "union_span_spanset" + }, + { + "pg": "Union_spanset_spanset", + "meos": "union_spanset_spanset" + }, + { + "pg": "Union_spanset_value", + "meos": "union_int_spanset" + }, + { + "pg": "Union_spanset_value", + "meos": "union_bigint_spanset" + }, + { + "pg": "Union_spanset_value", + "meos": "union_float_spanset" + }, + { + "pg": "Union_spanset_value", + "meos": "union_date_spanset" + }, + { + "pg": "Union_spanset_value", + "meos": "union_timestamptz_spanset" + }, + { + "pg": "Union_spanset_value", + "meos": "union_spanset_int" + }, + { + "pg": "Union_spanset_value", + "meos": "union_spanset_bigint" + }, + { + "pg": "Union_spanset_value", + "meos": "union_spanset_float" + }, + { + "pg": "Union_spanset_value", + "meos": "union_spanset_date" + }, + { + "pg": "Union_spanset_value", + "meos": "union_spanset_timestamptz" + } + ] + }, + { + "name": "spans", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "datespan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespan[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_spans", + "meos": "temporal_spans" + }, + { + "pg": "Spanset_spans", + "meos": "spanset_spans" + }, + { + "pg": "Set_spans", + "meos": "set_spans" + } + ] + }, + { + "name": "spanset", + "overloads": [ + { + "args": [ + { + "type": "intspan[]", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan[]", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan[]", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan[]", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan[]", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "date", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "floatspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "int4multirange", + "hasDefault": false + } + ], + "returns": "intspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "int8multirange", + "hasDefault": false + } + ], + "returns": "bigintspanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datemultirange", + "hasDefault": false + } + ], + "returns": "datespanset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzmultirange", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Spanset_constructor", + "meos": "spanset_make" + } + ] + }, + { + "name": "spanset_cmp", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_cmp", + "meos": "spanset_cmp" + } + ] + }, + { + "name": "spanset_eq", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_eq", + "meos": "spanset_eq" + } + ] + }, + { + "name": "spanset_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "spanset_ge", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_ge", + "meos": "spanset_ge" + } + ] + }, + { + "name": "spanset_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "spanset_gt", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_gt", + "meos": "spanset_gt" + } + ] + }, + { + "name": "spanset_hash", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Spanset_hash", + "meos": "spanset_hash" + } + ] + }, + { + "name": "spanset_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_hash_extended", + "meos": "spanset_hash_extended" + } + ] + }, + { + "name": "spanset_le", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_le", + "meos": "spanset_le" + } + ] + }, + { + "name": "spanset_lt", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_lt", + "meos": "spanset_lt" + } + ] + }, + { + "name": "spanset_ne", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spanset_ne", + "meos": "spanset_ne" + } + ] + }, + { + "name": "spanset_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "spanset_union_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "spatialset_analyze", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "spatialset_sel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "set_eq(geomset", + "hasDefault": false + }, + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "speed", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_speed", + "meos": "trgeometry_speed" + }, + { + "pg": "Tpose_speed", + "meos": "tpose_speed" + }, + { + "pg": "Tnpoint_speed", + "meos": "tnpointseq_speed" + }, + { + "pg": "Tnpoint_speed", + "meos": "tnpoint_speed" + } + ] + }, + { + "name": "splitEachNSpans", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigintspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigintspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_split_each_n_spans", + "meos": "temporal_split_each_n_spans" + }, + { + "pg": "Set_split_each_n_spans", + "meos": "set_split_each_n_spans" + } + ] + }, + { + "name": "splitEachNStboxes", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tgeo_split_each_n_stboxes", + "meos": "tgeo_split_each_n_stboxes" + } + ] + }, + { + "name": "splitEachNTboxes", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tnumber_split_each_n_tboxes", + "meos": "tnumber_split_each_n_tboxes" + } + ] + }, + { + "name": "splitNSpans", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigintspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigintspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "datespan[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_split_n_spans", + "meos": "temporal_split_n_spans" + } + ] + }, + { + "name": "splitNStboxes", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tgeo_split_n_stboxes", + "meos": "tgeo_split_n_stboxes" + } + ] + }, + { + "name": "splitNTboxes", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tnumber_split_n_tboxes", + "meos": "tnumber_split_n_tboxes" + } + ] + }, + { + "name": "srid", + "overloads": [ + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "startDate", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Datespanset_start_date", + "meos": "datespanset_start_date" + } + ] + }, + { + "name": "startInstant", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_start_instant", + "meos": "trgeometry_start_instant" + }, + { + "pg": "Temporal_start_instant", + "meos": "temporal_start_instant" + } + ] + }, + { + "name": "startNumPoints", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "startPosition", + "overloads": [ + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "double", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Nsegment_start_position", + "meos": "nsegment_start_position" + } + ] + }, + { + "name": "startSequence", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_start_sequence", + "meos": "trgeometry_start_sequence" + }, + { + "pg": "Temporal_start_sequence", + "meos": "temporal_start_sequence" + } + ] + }, + { + "name": "startSpan", + "overloads": [ + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "datespan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Spanset_start_span", + "meos": "spanset_start_span" + } + ] + }, + { + "name": "startTimestamp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_start_timestamptz", + "meos": "tsequence_start_timestamptz" + }, + { + "pg": "Temporal_start_timestamptz", + "meos": "tsequenceset_start_timestamptz" + }, + { + "pg": "Tstzspanset_start_timestamptz", + "meos": "tstzspanset_start_timestamptz" + }, + { + "pg": "Temporal_start_timestamptz", + "meos": "temporal_start_timestamptz" + } + ] + }, + { + "name": "startValue", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_start_value", + "meos": "trgeometry_start_value" + }, + { + "pg": "Set_start_value", + "meos": "cbufferset_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tcbuffer_start_value" + }, + { + "pg": "Set_start_value", + "meos": "pcpointset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "pcpatchset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "poseset_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tpose_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tgeo_start_value" + }, + { + "pg": "Set_start_value", + "meos": "geoset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "intset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "bigintset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "floatset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "textset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "dateset_start_value" + }, + { + "pg": "Set_start_value", + "meos": "tstzset_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tbool_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tint_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tbigint_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tfloat_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "ttext_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "temporal_start_value" + }, + { + "pg": "Set_start_value", + "meos": "npointset_start_value" + }, + { + "pg": "Temporal_start_value", + "meos": "tnpoint_start_value" + } + ] + }, + { + "name": "stbox", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "box2d", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "box3d", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "nsegment", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Cbuffer_to_stbox", + "meos": "cbuffer_to_stbox" + }, + { + "pg": "Cbuffer_timestamptz_to_stbox", + "meos": "cbuffer_timestamptz_to_stbox" + }, + { + "pg": "Cbuffer_tstzspan_to_stbox", + "meos": "cbuffer_tstzspan_to_stbox" + }, + { + "pg": "Pose_to_stbox", + "meos": "pose_to_stbox" + }, + { + "pg": "Pose_timestamptz_to_stbox", + "meos": "pose_timestamptz_to_stbox" + }, + { + "pg": "Pose_tstzspan_to_stbox", + "meos": "pose_tstzspan_to_stbox" + }, + { + "pg": "Geo_to_stbox", + "meos": "geo_stbox" + }, + { + "pg": "Geo_to_stbox", + "meos": "geo_to_stbox" + }, + { + "pg": "Timestamptz_to_stbox", + "meos": "timestamptz_to_stbox" + }, + { + "pg": "Tstzset_to_stbox", + "meos": "tstzset_to_stbox" + }, + { + "pg": "Tstzspan_to_stbox", + "meos": "tstzspan_to_stbox" + }, + { + "pg": "Tstzspanset_to_stbox", + "meos": "tstzspanset_to_stbox" + }, + { + "pg": "Spatialset_to_stbox", + "meos": "spatialset_to_stbox" + }, + { + "pg": "Tspatial_to_stbox", + "meos": "tspatial_to_stbox" + }, + { + "pg": "Npoint_to_stbox", + "meos": "npoint_to_stbox" + }, + { + "pg": "Nsegment_to_stbox", + "meos": "nsegment_to_stbox" + }, + { + "pg": "Npoint_timestamptz_to_stbox", + "meos": "npoint_timestamptz_to_stbox" + }, + { + "pg": "Npoint_tstzspan_to_stbox", + "meos": "npoint_tstzspan_to_stbox" + } + ] + }, + { + "name": "stboxFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "stboxFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_from_hexwkb", + "meos": "stbox_from_hexwkb" + } + ] + }, + { + "name": "stboxT", + "overloads": [ + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "stboxX", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 4, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "stboxXT", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 5, + "maxArity": 6 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 5, + "maxArity": 6 + } + ], + "c": [] + }, + { + "name": "stboxZ", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 6, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "stboxZT", + "overloads": [ + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 7, + "maxArity": 8 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 7, + "maxArity": 8 + } + ], + "c": [] + }, + { + "name": "stbox_above", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_adjacent", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Adjacent_stbox_stbox", + "meos": "adjacent_stbox_stbox" + } + ] + }, + { + "name": "stbox_after", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_back", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_before", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_below", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_cmp", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_cmp", + "meos": "stbox_cmp" + } + ] + }, + { + "name": "stbox_contained", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contained_stbox_stbox", + "meos": "contained_stbox_stbox" + } + ] + }, + { + "name": "stbox_contains", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contains_stbox_stbox", + "meos": "contains_stbox_stbox" + } + ] + }, + { + "name": "stbox_eq", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_eq", + "meos": "stbox_eq" + } + ] + }, + { + "name": "stbox_extent_combinefn", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_front", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_ge", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_ge", + "meos": "stbox_ge" + } + ] + }, + { + "name": "stbox_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "stbox_gist_distance", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "stbox_gist_penalty", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "stbox_gist_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_gist_same", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "stbox_gist_union", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_gt", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_gt", + "meos": "stbox_gt" + } + ] + }, + { + "name": "stbox_hash", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "stbox_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_hash_extended", + "meos": "stbox_hash_extended" + } + ] + }, + { + "name": "stbox_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "stbox_intersection", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Intersection_stbox_stbox", + "meos": "intersection_stbox_stbox" + }, + { + "pg": "Stbox_quad_split", + "meos": "stbox_quad_split" + } + ] + }, + { + "name": "stbox_kdtree_choose", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_kdtree_inner_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_kdtree_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_le", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_le", + "meos": "stbox_le" + } + ] + }, + { + "name": "stbox_left", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_lt", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_lt", + "meos": "stbox_lt" + } + ] + }, + { + "name": "stbox_ne", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Stbox_ne", + "meos": "stbox_ne" + } + ] + }, + { + "name": "stbox_out", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "stbox_overabove", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overafter", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overback", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overbefore", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overbelow", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overfront", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overlaps", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overlaps_stbox_stbox", + "meos": "overlaps_stbox_stbox" + } + ] + }, + { + "name": "stbox_overleft", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_overright", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_quadtree_choose", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_quadtree_inner_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_quadtree_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_recv", + "meos": "stbox_from_wkb" + }, + { + "pg": "Stbox_recv", + "meos": "stbox_as_wkb" + } + ] + }, + { + "name": "stbox_right", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_same", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Same_stbox_stbox", + "meos": "same_stbox_stbox" + } + ] + }, + { + "name": "stbox_send", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "stbox_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_spgist_leaf_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "stbox_union", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Union_stbox_stbox", + "meos": "union_stbox_stbox" + } + ] + }, + { + "name": "stboxes", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "stbox[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tgeo_stboxes", + "meos": "tgeo_stboxes" + }, + { + "pg": "Geo_stboxes", + "meos": "geo_stboxes" + } + ] + }, + { + "name": "stops", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "0.0", + "hasDefault": false + }, + { + "type": "stops(tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "0.0", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "timeSplit(tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 8, + "maxArity": 15 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tContains", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tcontains_geo_tcbuffer", + "meos": "tcontains_geo_tcbuffer" + }, + { + "pg": "Tcontains_geo_tcbuffer", + "meos": "tcontains_tcbuffer_geo" + }, + { + "pg": "Tcontains_cbuffer_tcbuffer", + "meos": "tcontains_cbuffer_tcbuffer" + }, + { + "pg": "Tcontains_cbuffer_tcbuffer", + "meos": "tcontains_tcbuffer_cbuffer" + }, + { + "pg": "Tcontains_tcbuffer_tcbuffer", + "meos": "tcontains_tcbuffer_tcbuffer" + }, + { + "pg": "Tcontains_geo_tgeo", + "meos": "tcontains_geo_tgeo" + }, + { + "pg": "Tcontains_tgeo_geo", + "meos": "tcontains_tgeo_geo" + } + ] + }, + { + "name": "tCovers", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tcovers_geo_tcbuffer", + "meos": "tcovers_geo_tcbuffer" + }, + { + "pg": "Tcovers_tcbuffer_geo", + "meos": "tcovers_tcbuffer_geo" + }, + { + "pg": "Tcovers_cbuffer_tcbuffer", + "meos": "tcovers_cbuffer_tcbuffer" + }, + { + "pg": "Tcovers_cbuffer_tcbuffer", + "meos": "tcovers_tcbuffer_cbuffer" + }, + { + "pg": "Tcovers_tcbuffer_tcbuffer", + "meos": "tcovers_tcbuffer_tcbuffer" + }, + { + "pg": "Tcovers_geo_tgeo", + "meos": "tcovers_geo_tgeo" + }, + { + "pg": "Tcovers_tgeo_geo", + "meos": "tcovers_tgeo_geo" + } + ] + }, + { + "name": "tDisjoint", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tdisjoint_tcbuffer_geo", + "meos": "tdisjoint_geo_tcbuffer" + }, + { + "pg": "Tdisjoint_tcbuffer_geo", + "meos": "tdisjoint_tcbuffer_geo" + }, + { + "pg": "Tdisjoint_tcbuffer_geo", + "meos": "tdisjoint_cbuffer_tcbuffer" + }, + { + "pg": "Tdisjoint_tcbuffer_geo", + "meos": "tdisjoint_tcbuffer_cbuffer" + }, + { + "pg": "Tdisjoint_tcbuffer_tcbuffer", + "meos": "tdisjoint_tcbuffer_tcbuffer" + }, + { + "pg": "Tdisjoint_geo_tgeo", + "meos": "tdisjoint_geo_tgeo" + }, + { + "pg": "Tdisjoint_tgeo_geo", + "meos": "tdisjoint_tgeo_geo" + }, + { + "pg": "Tdisjoint_tgeo_tgeo", + "meos": "tdisjoint_tgeo_tgeo" + } + ] + }, + { + "name": "tDistance", + "overloads": [ + { + "args": [ + { + "type": "geometry(Point)", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry(Point)", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Distance_cbuffer_cbuffer", + "meos": "distance_cbuffer_cbuffer" + }, + { + "pg": "Distance_cbuffer_geo", + "meos": "distance_cbuffer_geo" + }, + { + "pg": "Distance_cbuffer_stbox", + "meos": "distance_cbuffer_stbox" + }, + { + "pg": "Tdistance_tcbuffer_cbuffer", + "meos": "tdistance_tcbuffer_cbuffer" + }, + { + "pg": "Tdistance_tcbuffer_geo", + "meos": "tdistance_tcbuffer_geo" + }, + { + "pg": "Tdistance_tcbuffer_tcbuffer", + "meos": "tdistance_tcbuffer_tcbuffer" + }, + { + "pg": "NAD_cbuffer_stbox", + "meos": "nad_cbuffer_stbox" + }, + { + "pg": "Tdistance_tpose_geo", + "meos": "tdistance_tpose_geo" + }, + { + "pg": "Tdistance_tpose_pose", + "meos": "tdistance_tpose_pose" + }, + { + "pg": "Tdistance_tpose_tpose", + "meos": "tdistance_tpose_tpose" + }, + { + "pg": "Tdistance_tgeo_geo", + "meos": "tdistance_tgeo_geo" + }, + { + "pg": "Tdistance_tgeo_tgeo", + "meos": "tdistance_tgeo_tgeo" + }, + { + "pg": "Tdistance_tnumber_number", + "meos": "tdistance_tint_int" + }, + { + "pg": "Tdistance_tnumber_number", + "meos": "tdistance_tfloat_float" + }, + { + "pg": "Tdistance_tnumber_tnumber", + "meos": "tdistance_tnumber_tnumber" + }, + { + "pg": "Tdistance_tnpoint_geo", + "meos": "tdistance_tnpoint_geo" + }, + { + "pg": "Tdistance_tnpoint_npoint", + "meos": "tdistance_tnpoint_npoint" + }, + { + "pg": "Tdistance_tnpoint_tnpoint", + "meos": "tdistance_tnpoint_tnpoint" + } + ] + }, + { + "name": "tDwithin", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Tdwithin_tcbuffer_cbuffer", + "meos": "tdwithin_tcbuffer_cbuffer" + }, + { + "pg": "Tdwithin_tcbuffer_tcbuffer", + "meos": "tdwithin_tcbuffer_tcbuffer" + }, + { + "pg": "Tdwithin_tgeo_geo", + "meos": "tdwithin_tspatial_spatial" + }, + { + "pg": "Tdwithin_tgeo_geo", + "meos": "tdwithin_tgeo_geo" + }, + { + "pg": "Tdwithin_tgeo_tgeo", + "meos": "tdwithin_tgeo_tgeo" + } + ] + }, + { + "name": "tDwithinPairs", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "setof", + "minArity": 6, + "maxArity": 6 + }, + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "setof", + "minArity": 6, + "maxArity": 6 + } + ], + "c": [ + { + "pg": "Tdwithin_tgeoarr_tgeoarr", + "meos": "tdwithin_tgeoarr_tgeoarr" + } + ] + }, + { + "name": "tIntersects", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tintersects_tcbuffer_geo", + "meos": "tintersects_tcbuffer_geo" + }, + { + "pg": "Tintersects_tcbuffer_geo", + "meos": "tintersects_geo_tcbuffer" + }, + { + "pg": "Tintersects_cbuffer_tcbuffer", + "meos": "tintersects_cbuffer_tcbuffer" + }, + { + "pg": "Tintersects_tcbuffer_cbuffer", + "meos": "tintersects_tcbuffer_cbuffer" + }, + { + "pg": "Tintersects_tcbuffer_tcbuffer", + "meos": "tintersects_tcbuffer_tcbuffer" + }, + { + "pg": "Tintersects_tgeo_geo", + "meos": "tintersects_tgeo_geo" + }, + { + "pg": "Tintersects_geo_tgeo", + "meos": "tintersects_geo_tgeo" + }, + { + "pg": "Tintersects_tgeo_tgeo", + "meos": "tintersects_tgeo_tgeo" + } + ] + }, + { + "name": "tTouches", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Ttouches_tcbuffer_geo", + "meos": "ttouches_tcbuffer_geo" + }, + { + "pg": "Ttouches_tcbuffer_geo", + "meos": "ttouches_geo_tcbuffer" + }, + { + "pg": "Ttouches_cbuffer_tcbuffer", + "meos": "ttouches_cbuffer_tcbuffer" + }, + { + "pg": "Ttouches_cbuffer_tcbuffer", + "meos": "ttouches_tcbuffer_cbuffer" + }, + { + "pg": "Ttouches_tcbuffer_geo", + "meos": "ttouches_tcbuffer_tcbuffer" + }, + { + "pg": "Tdwithin_tcbuffer_geo", + "meos": "tdwithin_tcbuffer_geo" + }, + { + "pg": "Tdwithin_tcbuffer_geo", + "meos": "tdwithin_geo_tcbuffer" + }, + { + "pg": "Ttouches_tgeo_geo", + "meos": "ttouches_tgeo_geo" + }, + { + "pg": "Ttouches_geo_tgeo", + "meos": "ttouches_geo_tgeo" + }, + { + "pg": "Ttouches_tgeo_tgeo", + "meos": "ttouches_tgeo_tgeo" + } + ] + }, + { + "name": "taggstate_deserialize", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "taggstate_serialize", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tavg_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tavg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tavg_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tint_to_tbigint", + "meos": "tint_to_tbigint" + }, + { + "pg": "Tfloat_to_tbigint", + "meos": "tfloat_to_tbigint" + } + ] + }, + { + "name": "tbigintFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigintFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigintFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigintInst", + "overloads": [ + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigintSeq", + "overloads": [ + { + "args": [ + { + "type": "tbigint[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigintSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tbigint[]", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigintSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tbigint[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbigint_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigint_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tbigint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbigint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbigint_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbigint_tmax_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint_tmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint_tmin_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint_tmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint_tsum_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint_tsum_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbigint_wmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbigint_wmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbigint_wsum_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbool", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tboolFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tboolFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tboolFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tboolInst", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tboolSeq", + "overloads": [ + { + "args": [ + { + "type": "tbool[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tboolSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tbool[]", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tboolSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tbool[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbool_and", + "overloads": [ + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbool_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbool_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tbool_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbool_not", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbool_or", + "overloads": [ + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbool_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbool_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tbool_tand_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbool_tand_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbool_tor_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbool_tor_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "numeric", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Number_timestamptz_to_tbox", + "meos": "number_timestamptz_to_tbox" + }, + { + "pg": "Number_tstzspan_to_tbox", + "meos": "number_tstzspan_to_tbox" + }, + { + "pg": "Numspan_timestamptz_to_tbox", + "meos": "numspan_timestamptz_to_tbox" + }, + { + "pg": "Numspan_timestamptz_to_tbox", + "meos": "numspan_tstzspan_to_tbox" + }, + { + "pg": "Number_to_tbox", + "meos": "number_tbox" + }, + { + "pg": "Timestamptz_to_tbox", + "meos": "timestamptz_to_tbox" + }, + { + "pg": "Set_to_tbox", + "meos": "set_tbox" + }, + { + "pg": "Set_to_tbox", + "meos": "set_to_tbox" + }, + { + "pg": "Span_to_tbox", + "meos": "span_tbox" + }, + { + "pg": "Number_timestamptz_to_tbox", + "meos": "int_timestamptz_to_tbox" + }, + { + "pg": "Number_timestamptz_to_tbox", + "meos": "bigint_timestamptz_to_tbox" + }, + { + "pg": "Number_timestamptz_to_tbox", + "meos": "float_timestamptz_to_tbox" + }, + { + "pg": "Number_tstzspan_to_tbox", + "meos": "int_tstzspan_to_tbox" + }, + { + "pg": "Number_tstzspan_to_tbox", + "meos": "bigint_tstzspan_to_tbox" + }, + { + "pg": "Number_tstzspan_to_tbox", + "meos": "float_tstzspan_to_tbox" + }, + { + "pg": "Number_to_tbox", + "meos": "int_to_tbox" + }, + { + "pg": "Number_to_tbox", + "meos": "bigint_to_tbox" + }, + { + "pg": "Number_to_tbox", + "meos": "float_to_tbox" + }, + { + "pg": "Span_to_tbox", + "meos": "span_to_tbox" + }, + { + "pg": "Spanset_to_tbox", + "meos": "spanset_tbox" + }, + { + "pg": "Spanset_to_tbox", + "meos": "spanset_to_tbox" + }, + { + "pg": "Tnumber_to_tbox", + "meos": "tnumber_to_tbox" + } + ] + }, + { + "name": "tboxFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tboxFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_from_hexwkb", + "meos": "tbox_from_hexwkb" + } + ] + }, + { + "name": "tbox_adjacent", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Adjacent_tbox_tbox", + "meos": "adjacent_tbox_tbox" + } + ] + }, + { + "name": "tbox_after", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "After_tbox_tbox", + "meos": "after_tbox_tbox" + } + ] + }, + { + "name": "tbox_before", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Before_tbox_tbox", + "meos": "before_tbox_tbox" + } + ] + }, + { + "name": "tbox_cmp", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_cmp", + "meos": "tbox_cmp" + } + ] + }, + { + "name": "tbox_contained", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contained_tbox_tbox", + "meos": "contained_tbox_tbox" + } + ] + }, + { + "name": "tbox_contains", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Contains_tbox_tbox", + "meos": "contains_tbox_tbox" + } + ] + }, + { + "name": "tbox_eq", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_eq", + "meos": "tbox_eq" + } + ] + }, + { + "name": "tbox_extent_combinefn", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_ge", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_ge", + "meos": "tbox_ge" + } + ] + }, + { + "name": "tbox_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tbox_gist_distance", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tbox_gist_penalty", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbox_gist_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_gist_same", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tbox_gist_union", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_gt", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_gt", + "meos": "tbox_gt" + } + ] + }, + { + "name": "tbox_hash", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_hash", + "meos": "tbox_hash" + } + ] + }, + { + "name": "tbox_hash_extended", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_hash_extended", + "meos": "tbox_hash_extended" + } + ] + }, + { + "name": "tbox_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_in", + "meos": "tbox_in" + } + ] + }, + { + "name": "tbox_intersection", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_kdtree_choose", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_kdtree_inner_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_kdtree_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_le", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_le", + "meos": "tbox_le" + } + ] + }, + { + "name": "tbox_left", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Left_tbox_tbox", + "meos": "left_tbox_tbox" + } + ] + }, + { + "name": "tbox_lt", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_lt", + "meos": "tbox_lt" + } + ] + }, + { + "name": "tbox_ne", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tbox_ne", + "meos": "tbox_ne" + } + ] + }, + { + "name": "tbox_out", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_out", + "meos": "tbox_out" + } + ] + }, + { + "name": "tbox_overafter", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overafter_tbox_tbox", + "meos": "overafter_tbox_tbox" + } + ] + }, + { + "name": "tbox_overbefore", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overbefore_tbox_tbox", + "meos": "overbefore_tbox_tbox" + } + ] + }, + { + "name": "tbox_overlaps", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overlaps_tbox_tbox", + "meos": "overlaps_tbox_tbox" + } + ] + }, + { + "name": "tbox_overleft", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overleft_tbox_tbox", + "meos": "overleft_tbox_tbox" + } + ] + }, + { + "name": "tbox_overright", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overright_tbox_tbox", + "meos": "overright_tbox_tbox" + } + ] + }, + { + "name": "tbox_quadtree_choose", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_quadtree_inner_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_quadtree_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_recv", + "meos": "tbox_from_wkb" + } + ] + }, + { + "name": "tbox_right", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Right_tbox_tbox", + "meos": "right_tbox_tbox" + } + ] + }, + { + "name": "tbox_same", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Same_tbox_tbox", + "meos": "same_tbox_tbox" + } + ] + }, + { + "name": "tbox_send", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbox_send", + "meos": "tbox_as_wkb" + } + ] + }, + { + "name": "tbox_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_spgist_leaf_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tbox_union", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tboxes", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbox[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_tboxes", + "meos": "tnumber_tboxes" + } + ] + }, + { + "name": "tcbuffer", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tgeometry_to_tcbuffer", + "meos": "tgeometry_to_tcbuffer" + } + ] + }, + { + "name": "tcbufferFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferInst", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbufferSeq", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tcbufferSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tcbufferSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tcbuffer_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tcbuffer_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tcbuffer_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tcbuffer_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcbuffer_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcentroid_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tcentroid_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tcentroid_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tcount_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tcount_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tdensity_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tdirection", + "overloads": [ + { + "args": [ + { + "type": "azimuth(tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tdistance", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry(Point)", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry(Point)", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography(Point)", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography(Point)", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tempBasetype", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_basetype_name", + "meos": "temporal_basetype_name" + } + ] + }, + { + "name": "tempSubtype", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_subtype", + "meos": "temporal_subtype" + } + ] + }, + { + "name": "temporal_above", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Above_stbox_tspatial", + "meos": "above_stbox_tspatial" + }, + { + "pg": "Above_tspatial_stbox", + "meos": "above_tspatial_stbox" + }, + { + "pg": "Above_tspatial_tspatial", + "meos": "above_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_adjacent", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_after", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "After_stbox_tspatial", + "meos": "after_stbox_tspatial" + }, + { + "pg": "After_tspatial_stbox", + "meos": "after_tspatial_stbox" + }, + { + "pg": "After_tspatial_tspatial", + "meos": "after_tspatial_tspatial" + }, + { + "pg": "After_tstzspan_temporal", + "meos": "after_tstzspan_temporal" + }, + { + "pg": "After_temporal_tstzspan", + "meos": "after_temporal_tstzspan" + }, + { + "pg": "After_temporal_temporal", + "meos": "after_temporal_temporal" + }, + { + "pg": "After_tbox_tnumber", + "meos": "after_tbox_tnumber" + }, + { + "pg": "After_tnumber_tbox", + "meos": "after_tnumber_tbox" + }, + { + "pg": "After_tnumber_tnumber", + "meos": "after_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_analyze", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_app_tinst_transfn", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "temporal_app_tseq_transfn", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_append_finalfn", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_back", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Back_stbox_tspatial", + "meos": "back_stbox_tspatial" + }, + { + "pg": "Back_tspatial_stbox", + "meos": "back_tspatial_stbox" + }, + { + "pg": "Back_tspatial_tspatial", + "meos": "back_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_before", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Before_stbox_tspatial", + "meos": "before_stbox_tspatial" + }, + { + "pg": "Before_tspatial_stbox", + "meos": "before_tspatial_stbox" + }, + { + "pg": "Before_tspatial_tspatial", + "meos": "before_tspatial_tspatial" + }, + { + "pg": "Before_tstzspan_temporal", + "meos": "before_tstzspan_temporal" + }, + { + "pg": "Before_temporal_tstzspan", + "meos": "before_temporal_tstzspan" + }, + { + "pg": "Before_temporal_temporal", + "meos": "before_temporal_temporal" + }, + { + "pg": "Before_tbox_tnumber", + "meos": "before_tbox_tnumber" + }, + { + "pg": "Before_tnumber_tbox", + "meos": "before_tnumber_tbox" + }, + { + "pg": "Before_tnumber_tnumber", + "meos": "before_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_below", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Below_stbox_tspatial", + "meos": "below_stbox_tspatial" + }, + { + "pg": "Below_tspatial_stbox", + "meos": "below_tspatial_stbox" + }, + { + "pg": "Below_tspatial_tspatial", + "meos": "below_tspatial_tspatial" + }, + { + "pg": "Left_stbox_stbox", + "meos": "left_stbox_stbox" + }, + { + "pg": "Overleft_stbox_stbox", + "meos": "overleft_stbox_stbox" + }, + { + "pg": "Right_stbox_stbox", + "meos": "right_stbox_stbox" + }, + { + "pg": "Overright_stbox_stbox", + "meos": "overright_stbox_stbox" + }, + { + "pg": "Below_stbox_stbox", + "meos": "below_stbox_stbox" + }, + { + "pg": "Overbelow_stbox_stbox", + "meos": "overbelow_stbox_stbox" + }, + { + "pg": "Above_stbox_stbox", + "meos": "above_stbox_stbox" + }, + { + "pg": "Overabove_stbox_stbox", + "meos": "overabove_stbox_stbox" + }, + { + "pg": "Front_stbox_stbox", + "meos": "front_stbox_stbox" + }, + { + "pg": "Overfront_stbox_stbox", + "meos": "overfront_stbox_stbox" + }, + { + "pg": "Back_stbox_stbox", + "meos": "back_stbox_stbox" + }, + { + "pg": "Overback_stbox_stbox", + "meos": "overback_stbox_stbox" + }, + { + "pg": "Before_stbox_stbox", + "meos": "before_stbox_stbox" + }, + { + "pg": "Overbefore_stbox_stbox", + "meos": "overbefore_stbox_stbox" + }, + { + "pg": "After_stbox_stbox", + "meos": "after_stbox_stbox" + }, + { + "pg": "Overafter_stbox_stbox", + "meos": "overafter_stbox_stbox" + } + ] + }, + { + "name": "temporal_cmp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "int4", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_contained", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_contains", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_eq", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_extent_combinefn", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_front", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Front_stbox_tspatial", + "meos": "front_stbox_tspatial" + }, + { + "pg": "Front_tspatial_stbox", + "meos": "front_tspatial_stbox" + }, + { + "pg": "Front_tspatial_tspatial", + "meos": "front_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_ge", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_gt", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_hash", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_joinsel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "temporal_le", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_left", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Left_stbox_tspatial", + "meos": "left_stbox_tspatial" + }, + { + "pg": "Left_tspatial_stbox", + "meos": "left_tspatial_stbox" + }, + { + "pg": "Left_tspatial_tspatial", + "meos": "left_tspatial_tspatial" + }, + { + "pg": "Left_numspan_tnumber", + "meos": "left_numspan_tnumber" + }, + { + "pg": "Left_tnumber_numspan", + "meos": "left_tnumber_numspan" + }, + { + "pg": "Left_tbox_tnumber", + "meos": "left_tbox_tnumber" + }, + { + "pg": "Left_tnumber_tbox", + "meos": "left_tnumber_tbox" + }, + { + "pg": "Left_tnumber_tnumber", + "meos": "left_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_lt", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_merge_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_merge_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_ne", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_out", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_overabove", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overabove_stbox_tspatial", + "meos": "overabove_stbox_tspatial" + }, + { + "pg": "Overabove_tspatial_stbox", + "meos": "overabove_tspatial_stbox" + }, + { + "pg": "Overabove_tspatial_tspatial", + "meos": "overabove_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_overafter", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overafter_stbox_tspatial", + "meos": "overafter_stbox_tspatial" + }, + { + "pg": "Overafter_tspatial_stbox", + "meos": "overafter_tspatial_stbox" + }, + { + "pg": "Overafter_tspatial_tspatial", + "meos": "overafter_tspatial_tspatial" + }, + { + "pg": "Overafter_tstzspan_temporal", + "meos": "overafter_tstzspan_temporal" + }, + { + "pg": "Overafter_temporal_tstzspan", + "meos": "overafter_temporal_tstzspan" + }, + { + "pg": "Overafter_temporal_temporal", + "meos": "overafter_temporal_temporal" + }, + { + "pg": "Overafter_tbox_tnumber", + "meos": "overafter_tbox_tnumber" + }, + { + "pg": "Overafter_tnumber_tbox", + "meos": "overafter_tnumber_tbox" + }, + { + "pg": "Overafter_tnumber_tnumber", + "meos": "overafter_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_overback", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overback_stbox_tspatial", + "meos": "overback_stbox_tspatial" + }, + { + "pg": "Overback_tspatial_stbox", + "meos": "overback_tspatial_stbox" + }, + { + "pg": "Overback_tspatial_tspatial", + "meos": "overback_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_overbefore", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overbefore_stbox_tspatial", + "meos": "overbefore_stbox_tspatial" + }, + { + "pg": "Overbefore_tspatial_stbox", + "meos": "overbefore_tspatial_stbox" + }, + { + "pg": "Overbefore_tspatial_tspatial", + "meos": "overbefore_tspatial_tspatial" + }, + { + "pg": "Overbefore_tstzspan_temporal", + "meos": "overbefore_tstzspan_temporal" + }, + { + "pg": "Overbefore_temporal_tstzspan", + "meos": "overbefore_temporal_tstzspan" + }, + { + "pg": "Overbefore_temporal_temporal", + "meos": "overbefore_temporal_temporal" + }, + { + "pg": "Overbefore_tbox_tnumber", + "meos": "overbefore_tbox_tnumber" + }, + { + "pg": "Overbefore_tnumber_tbox", + "meos": "overbefore_tnumber_tbox" + }, + { + "pg": "Overbefore_tnumber_tnumber", + "meos": "overbefore_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_overbelow", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overbelow_stbox_tspatial", + "meos": "overbelow_stbox_tspatial" + }, + { + "pg": "Overbelow_tspatial_stbox", + "meos": "overbelow_tspatial_stbox" + }, + { + "pg": "Overbelow_tspatial_tspatial", + "meos": "overbelow_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_overfront", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overfront_stbox_tspatial", + "meos": "overfront_stbox_tspatial" + }, + { + "pg": "Overfront_tspatial_stbox", + "meos": "overfront_tspatial_stbox" + }, + { + "pg": "Overfront_tspatial_tspatial", + "meos": "overfront_tspatial_tspatial" + } + ] + }, + { + "name": "temporal_overlaps", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_overleft", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overleft_stbox_tspatial", + "meos": "overleft_stbox_tspatial" + }, + { + "pg": "Overleft_tspatial_stbox", + "meos": "overleft_tspatial_stbox" + }, + { + "pg": "Overleft_tspatial_tspatial", + "meos": "overleft_tspatial_tspatial" + }, + { + "pg": "Overleft_numspan_tnumber", + "meos": "overleft_numspan_tnumber" + }, + { + "pg": "Overleft_tnumber_numspan", + "meos": "overleft_tnumber_numspan" + }, + { + "pg": "Overleft_tbox_tnumber", + "meos": "overleft_tbox_tnumber" + }, + { + "pg": "Overleft_tnumber_tbox", + "meos": "overleft_tnumber_tbox" + }, + { + "pg": "Overleft_tnumber_tnumber", + "meos": "overleft_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_overright", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Overright_stbox_tspatial", + "meos": "overright_stbox_tspatial" + }, + { + "pg": "Overright_tspatial_stbox", + "meos": "overright_tspatial_stbox" + }, + { + "pg": "Overright_tspatial_tspatial", + "meos": "overright_tspatial_tspatial" + }, + { + "pg": "Overright_numspan_tnumber", + "meos": "overright_numspan_tnumber" + }, + { + "pg": "Overright_tnumber_numspan", + "meos": "overright_tnumber_numspan" + }, + { + "pg": "Overright_tbox_tnumber", + "meos": "overright_tbox_tnumber" + }, + { + "pg": "Overright_tnumber_tbox", + "meos": "overright_tnumber_tbox" + }, + { + "pg": "Overright_tnumber_tnumber", + "meos": "overright_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_right", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Right_stbox_tspatial", + "meos": "right_stbox_tspatial" + }, + { + "pg": "Right_tspatial_stbox", + "meos": "right_tspatial_stbox" + }, + { + "pg": "Right_tspatial_tspatial", + "meos": "right_tspatial_tspatial" + }, + { + "pg": "Right_numspan_tnumber", + "meos": "right_numspan_tnumber" + }, + { + "pg": "Right_tnumber_numspan", + "meos": "right_tnumber_numspan" + }, + { + "pg": "Right_tbox_tnumber", + "meos": "right_tbox_tnumber" + }, + { + "pg": "Right_tnumber_tbox", + "meos": "right_tnumber_tbox" + }, + { + "pg": "Right_tnumber_tnumber", + "meos": "right_tnumber_tnumber" + } + ] + }, + { + "name": "temporal_same", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "temporal_sel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "temporal_send", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_teq", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Teq_geo_trgeometry", + "meos": "teq_geo_trgeometry" + }, + { + "pg": "Teq_trgeometry_geo", + "meos": "teq_trgeometry_geo" + }, + { + "pg": "Teq_cbuffer_tcbuffer", + "meos": "teq_cbuffer_tcbuffer" + }, + { + "pg": "Teq_tcbuffer_cbuffer", + "meos": "teq_tcbuffer_cbuffer" + }, + { + "pg": "Teq_pose_tpose", + "meos": "teq_pose_tpose" + }, + { + "pg": "Teq_tpose_pose", + "meos": "teq_tpose_pose" + }, + { + "pg": "Teq_geo_tgeo", + "meos": "teq_geo_tgeo" + }, + { + "pg": "Teq_tgeo_geo", + "meos": "teq_tgeo_geo" + }, + { + "pg": "Teq_temporal_temporal", + "meos": "teq_temporal_temporal" + }, + { + "pg": "Teq_base_temporal", + "meos": "teq_bool_tbool" + }, + { + "pg": "Teq_base_temporal", + "meos": "teq_int_tint" + }, + { + "pg": "Teq_base_temporal", + "meos": "teq_float_tfloat" + }, + { + "pg": "Teq_base_temporal", + "meos": "teq_text_ttext" + }, + { + "pg": "Teq_temporal_base", + "meos": "teq_tbool_bool" + }, + { + "pg": "Teq_temporal_base", + "meos": "teq_tint_int" + }, + { + "pg": "Teq_temporal_base", + "meos": "teq_tfloat_float" + }, + { + "pg": "Teq_temporal_base", + "meos": "teq_ttext_text" + }, + { + "pg": "Teq_tnpoint_npoint", + "meos": "teq_tnpoint_npoint" + } + ] + }, + { + "name": "temporal_tge", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tge_base_temporal", + "meos": "tge_int_tint" + }, + { + "pg": "Tge_base_temporal", + "meos": "tge_float_tfloat" + }, + { + "pg": "Tge_base_temporal", + "meos": "tge_text_ttext" + }, + { + "pg": "Tge_temporal_base", + "meos": "tge_tint_int" + }, + { + "pg": "Tge_temporal_base", + "meos": "tge_tfloat_float" + }, + { + "pg": "Tge_temporal_base", + "meos": "tge_ttext_text" + }, + { + "pg": "Tge_temporal_temporal", + "meos": "tge_temporal_temporal" + } + ] + }, + { + "name": "temporal_tgt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tgt_base_temporal", + "meos": "tgt_int_tint" + }, + { + "pg": "Tgt_base_temporal", + "meos": "tgt_float_tfloat" + }, + { + "pg": "Tgt_base_temporal", + "meos": "tgt_text_ttext" + }, + { + "pg": "Tgt_temporal_base", + "meos": "tgt_tint_int" + }, + { + "pg": "Tgt_temporal_base", + "meos": "tgt_tfloat_float" + }, + { + "pg": "Tgt_temporal_base", + "meos": "tgt_ttext_text" + }, + { + "pg": "Tgt_temporal_temporal", + "meos": "tgt_temporal_temporal" + } + ] + }, + { + "name": "temporal_tle", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tle_base_temporal", + "meos": "tle_int_tint" + }, + { + "pg": "Tle_base_temporal", + "meos": "tle_float_tfloat" + }, + { + "pg": "Tle_base_temporal", + "meos": "tle_text_ttext" + }, + { + "pg": "Tle_temporal_base", + "meos": "tle_tint_int" + }, + { + "pg": "Tle_temporal_base", + "meos": "tle_tfloat_float" + }, + { + "pg": "Tle_temporal_base", + "meos": "tle_ttext_text" + }, + { + "pg": "Tle_temporal_temporal", + "meos": "tle_temporal_temporal" + } + ] + }, + { + "name": "temporal_tlt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tlt_base_temporal", + "meos": "tlt_int_tint" + }, + { + "pg": "Tlt_base_temporal", + "meos": "tlt_float_tfloat" + }, + { + "pg": "Tlt_base_temporal", + "meos": "tlt_text_ttext" + }, + { + "pg": "Tlt_temporal_base", + "meos": "tlt_tint_int" + }, + { + "pg": "Tlt_temporal_base", + "meos": "tlt_tfloat_float" + }, + { + "pg": "Tlt_temporal_base", + "meos": "tlt_ttext_text" + }, + { + "pg": "Tlt_temporal_temporal", + "meos": "tlt_temporal_temporal" + } + ] + }, + { + "name": "temporal_tne", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "h3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tne_geo_trgeometry", + "meos": "tne_geo_trgeometry" + }, + { + "pg": "Tne_trgeometry_geo", + "meos": "tne_trgeometry_geo" + }, + { + "pg": "Tne_cbuffer_tcbuffer", + "meos": "tne_cbuffer_tcbuffer" + }, + { + "pg": "Tne_tcbuffer_cbuffer", + "meos": "tne_tcbuffer_cbuffer" + }, + { + "pg": "Tne_pose_tpose", + "meos": "tne_pose_tpose" + }, + { + "pg": "Tne_tpose_pose", + "meos": "tne_tpose_pose" + }, + { + "pg": "Tne_geo_tgeo", + "meos": "tne_geo_tgeo" + }, + { + "pg": "Tne_tgeo_geo", + "meos": "tne_tgeo_geo" + }, + { + "pg": "Tne_temporal_temporal", + "meos": "tne_temporal_temporal" + }, + { + "pg": "Tne_base_temporal", + "meos": "tne_bool_tbool" + }, + { + "pg": "Tne_base_temporal", + "meos": "tne_int_tint" + }, + { + "pg": "Tne_base_temporal", + "meos": "tne_float_tfloat" + }, + { + "pg": "Tne_base_temporal", + "meos": "tne_text_ttext" + }, + { + "pg": "Tne_temporal_base", + "meos": "tne_tbool_bool" + }, + { + "pg": "Tne_temporal_base", + "meos": "tne_tint_int" + }, + { + "pg": "Tne_temporal_base", + "meos": "tne_tfloat_float" + }, + { + "pg": "Tne_temporal_base", + "meos": "tne_ttext_text" + }, + { + "pg": "Tne_tnpoint_npoint", + "meos": "tne_tnpoint_npoint" + } + ] + }, + { + "name": "temporal_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "temporal_typmod_out", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "teq", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "textsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "textsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "textset_cat", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Textcat_text_textset", + "meos": "textcat_text_textset" + }, + { + "pg": "Textcat_textset_text", + "meos": "textcat_textset_text" + } + ] + }, + { + "name": "textset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "textset_out", + "overloads": [ + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "textset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "textset_send", + "overloads": [ + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "textset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloat", + "overloads": [ + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tcbuffer_to_tfloat", + "meos": "tcbuffer_to_tfloat" + }, + { + "pg": "Tint_to_tfloat", + "meos": "tint_to_tfloat" + }, + { + "pg": "Tbigint_to_tfloat", + "meos": "tbigint_to_tfloat" + } + ] + }, + { + "name": "tfloatFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloatFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloatFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloatInst", + "overloads": [ + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloatSeq", + "overloads": [ + { + "args": [ + { + "type": "tfloat[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloatSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tfloat[]", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloatSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tfloat[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tfloat_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloat_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tfloat_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tfloat_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tfloat_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tfloat_tmax_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloat_tmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloat_tmin_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloat_tmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloat_tsum_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloat_tsum_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tfloat_wmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tfloat_wmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tfloat_wsum_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tge", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tgeo_teq", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tgeo_tne", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tgeogpoint", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography(Point)", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointInst", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointSeq", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpointSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tgeogpoint_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tgeogpoint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeogpoint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeogpoint_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeogpoint_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeography", + "overloads": [ + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tgeometry_to_tgeography", + "meos": "tgeometry_to_tgeography" + } + ] + }, + { + "name": "tgeographyFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographyFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographyFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographyFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographyFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographyFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographyInst", + "overloads": [ + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographySeq", + "overloads": [ + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographySeqSet", + "overloads": [ + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeographySeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tgeography[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tgeography_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tgeography_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeography_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeography_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeography_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometry", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_to_tgeometry", + "meos": "trgeometry_to_tgeometry" + }, + { + "pg": "Tgeography_to_tgeometry", + "meos": "tgeography_to_tgeometry" + }, + { + "pg": "Tpoint_to_tgeo", + "meos": "tgeompoint_to_tgeometry" + }, + { + "pg": "Tpoint_to_tgeo", + "meos": "tgeogpoint_to_tgeography" + } + ] + }, + { + "name": "tgeometryFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometryFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometryFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometryFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometryFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometryFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometryInst", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometrySeq", + "overloads": [ + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometrySeqSet", + "overloads": [ + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometrySeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tgeometry[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tgeometry_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tgeometry_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeometry_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeometry_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeometry_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompoint", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry(Point)", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tcbuffer_to_tgeompoint", + "meos": "tcbuffer_to_tgeompoint" + }, + { + "pg": "Geomeas_to_tpoint", + "meos": "geomeas_to_tpoint" + }, + { + "pg": "Tgeo_to_tpoint", + "meos": "tgeometry_to_tgeompoint" + }, + { + "pg": "Tgeo_to_tpoint", + "meos": "tgeography_to_tgeogpoint" + }, + { + "pg": "Tnpoint_to_tgeompoint", + "meos": "tnpoint_to_tgeompoint" + } + ] + }, + { + "name": "tgeompointFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointInst", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointSeq", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompointSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tgeompoint_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tgeompoint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeompoint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tgeompoint_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgeompoint_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tgt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "th3index", + "overloads": [ + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "th3indexFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "th3indexFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "th3index_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "th3index_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "th3index_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "th3index", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "timeBins", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan[]", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "timeBoxes", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox[]", + "minArity": 2, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "timeSpan", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_to_tstzspan", + "meos": "stbox_to_tstzspan" + }, + { + "pg": "Tbox_to_tstzspan", + "meos": "tbox_tstzspan" + }, + { + "pg": "Tbox_to_tstzspan", + "meos": "tbox_to_tstzspan" + }, + { + "pg": "Temporal_to_tstzspan", + "meos": "temporal_to_tstzspan" + } + ] + }, + { + "name": "timeSplit", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "setof", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Temporal_time_split", + "meos": "temporal_time_split" + } + ] + }, + { + "name": "timeTiles", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Stbox_time_tiles", + "meos": "stbox_time_tiles" + } + ] + }, + { + "name": "time_distance", + "overloads": [ + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "timespan", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "timestampN", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_timestamptz_n", + "meos": "tsequenceset_timestamptz_n" + }, + { + "pg": "Tstzspanset_timestamptz_n", + "meos": "tstzspanset_timestamptz_n" + }, + { + "pg": "Temporal_timestamptz_n", + "meos": "temporal_timestamptz_n" + } + ] + }, + { + "name": "timestamps", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "timestamptz[]", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_timestamps", + "meos": "tinstant_timestamps" + }, + { + "pg": "Temporal_timestamps", + "meos": "tsequence_timestamps" + }, + { + "pg": "Temporal_timestamps", + "meos": "tsequenceset_timestamps" + }, + { + "pg": "Tstzspanset_timestamps", + "meos": "tstzspanset_timestamps" + }, + { + "pg": "Temporal_timestamps", + "meos": "temporal_timestamps" + } + ] + }, + { + "name": "tint", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tinstant_constructor", + "meos": "tcbufferinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "tposeinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "tpointinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "tgeoinst_make" + }, + { + "pg": "Tsequence_from_base_tstzset", + "meos": "tsequence_from_base_tstzset" + }, + { + "pg": "Tinstant_constructor", + "meos": "tbigintinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "tboolinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "tintinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "tfloatinst_make" + }, + { + "pg": "Tinstant_constructor", + "meos": "ttextinst_make" + }, + { + "pg": "Tbool_to_tint", + "meos": "tbool_to_tint" + }, + { + "pg": "Tbigint_to_tint", + "meos": "tbigint_to_tint" + }, + { + "pg": "Tfloat_to_tint", + "meos": "tfloat_to_tint" + }, + { + "pg": "Tinstant_constructor", + "meos": "tnpointinst_make" + } + ] + }, + { + "name": "tintFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tintFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_from_hexwkb", + "meos": "temporal_from_hexwkb" + } + ] + }, + { + "name": "tintFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_from_mfjson", + "meos": "tgeompointinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeogpointinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeometryinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeographyinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeompointseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeogpointseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeometryseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeographyseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeompointseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeogpointseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeometryseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tgeographyseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tbigintinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tboolinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tintinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tfloatinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "ttextinst_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tbigintseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tboolseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tintseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tfloatseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "ttextseq_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tboolseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tintseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tbigintseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "tfloatseqset_from_mfjson" + }, + { + "pg": "Temporal_from_mfjson", + "meos": "ttextseqset_from_mfjson" + } + ] + }, + { + "name": "tintInst", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_to_tinstant", + "meos": "tsequence_to_tinstant" + }, + { + "pg": "Temporal_to_tinstant", + "meos": "tsequenceset_to_tinstant" + }, + { + "pg": "Temporal_to_tinstant", + "meos": "temporal_to_tinstant" + } + ] + }, + { + "name": "tintSeq", + "overloads": [ + { + "args": [ + { + "type": "tint[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tsequence_constructor", + "meos": "tsequence_make" + }, + { + "pg": "Temporal_to_tsequence", + "meos": "tinstant_to_tsequence" + }, + { + "pg": "Temporal_to_tsequence", + "meos": "tinstant_to_tsequence_free" + }, + { + "pg": "Temporal_to_tsequence", + "meos": "tsequenceset_to_tsequence" + }, + { + "pg": "Temporal_to_tsequence", + "meos": "temporal_tsequence" + }, + { + "pg": "Temporal_to_tsequence", + "meos": "temporal_to_tsequence" + } + ] + }, + { + "name": "tintSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tint[]", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_to_tsequenceset", + "meos": "trgeoseq_to_tsequenceset_free" + }, + { + "pg": "Tsequenceset_constructor", + "meos": "tsequenceset_make" + }, + { + "pg": "Temporal_to_tsequenceset", + "meos": "tinstant_to_tsequenceset" + }, + { + "pg": "Temporal_to_tsequenceset", + "meos": "tsequence_to_tsequenceset" + }, + { + "pg": "Temporal_to_tsequenceset", + "meos": "tsequence_to_tsequenceset_free" + }, + { + "pg": "Temporal_to_tsequenceset", + "meos": "tsequence_to_tsequenceset_interp" + }, + { + "pg": "Temporal_to_tsequenceset", + "meos": "temporal_tsequenceset" + }, + { + "pg": "Temporal_to_tsequenceset", + "meos": "temporal_to_tsequenceset" + } + ] + }, + { + "name": "tintSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tint[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Tsequenceset_constructor_gaps", + "meos": "tsequenceset_make_gaps" + } + ] + }, + { + "name": "tint_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tint_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Temporal_recv", + "meos": "temporal_as_wkb" + }, + { + "pg": "Temporal_recv", + "meos": "temporal_from_wkb" + } + ] + }, + { + "name": "tint_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tint_tmax_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tint_tmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tint_tmin_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tint_tmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tint_tsum_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tint_tsum_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tint_wmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tint_wmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tint_wsum_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tle", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tlt", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tmax", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_tmax", + "meos": "tpcbox_tmax" + } + ] + }, + { + "name": "tmin", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_tmin", + "meos": "tpcbox_tmin" + } + ] + }, + { + "name": "tne", + "overloads": [ + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "cbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geography", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "geography", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "boolean", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "npoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tnpoint", + "overloads": [ + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "npoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tgeompoint_to_tnpoint", + "meos": "tgeompoint_to_tnpoint" + } + ] + }, + { + "name": "tnpointFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpointFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpointFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpointInst", + "overloads": [ + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpointSeq", + "overloads": [ + { + "args": [ + { + "type": "tnpoint[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpointSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tnpoint[]", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpointSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tnpoint[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tnpoint_gin_extract_query", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 7, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "tnpoint_gin_extract_value", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tnpoint_gin_triconsistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "int2", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "int4", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "char", + "minArity": 7, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "tnpoint_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tnpoint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tnpoint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tnpoint_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tnpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnpoints_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tnumber_add", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Add_number_tnumber", + "meos": "add_bigint_tbigint" + }, + { + "pg": "Add_number_tnumber", + "meos": "add_int_tint" + }, + { + "pg": "Add_number_tnumber", + "meos": "add_float_tfloat" + }, + { + "pg": "Add_tnumber_number", + "meos": "add_tbigint_bigint" + }, + { + "pg": "Add_tnumber_number", + "meos": "add_tint_int" + }, + { + "pg": "Add_tnumber_number", + "meos": "add_tfloat_float" + }, + { + "pg": "Add_tnumber_tnumber", + "meos": "add_tnumber_tnumber" + } + ] + }, + { + "name": "tnumber_div", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Div_number_tnumber", + "meos": "div_bigint_tbigint" + }, + { + "pg": "Div_number_tnumber", + "meos": "div_int_tint" + }, + { + "pg": "Div_number_tnumber", + "meos": "div_float_tfloat" + }, + { + "pg": "Div_tnumber_number", + "meos": "div_tfloat_float" + }, + { + "pg": "Div_tnumber_tnumber", + "meos": "div_tnumber_tnumber" + } + ] + }, + { + "name": "tnumber_extent_combinefn", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbox", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tnumber_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tnumber_joinsel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tnumber_mul", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Mul_number_tnumber", + "meos": "mul_bigint_tbigint" + }, + { + "pg": "Mul_number_tnumber", + "meos": "mul_int_tint" + }, + { + "pg": "Mul_number_tnumber", + "meos": "mul_float_tfloat" + }, + { + "pg": "Mul_tnumber_number", + "meos": "mul_tbigint_bigint" + }, + { + "pg": "Mul_tnumber_number", + "meos": "mul_tint_int" + }, + { + "pg": "Mul_tnumber_number", + "meos": "mul_tfloat_float" + }, + { + "pg": "Mul_tnumber_tnumber", + "meos": "mul_tnumber_tnumber" + } + ] + }, + { + "name": "tnumber_sel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tnumber_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tnumber_sub", + "overloads": [ + { + "args": [ + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "integer", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "float", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Sub_number_tnumber", + "meos": "sub_bigint_tbigint" + }, + { + "pg": "Sub_number_tnumber", + "meos": "sub_int_tint" + }, + { + "pg": "Sub_number_tnumber", + "meos": "sub_float_tfloat" + }, + { + "pg": "Sub_tnumber_number", + "meos": "sub_tbigint_bigint" + }, + { + "pg": "Sub_tnumber_number", + "meos": "sub_tint_int" + }, + { + "pg": "Sub_tnumber_number", + "meos": "sub_tfloat_float" + }, + { + "pg": "Sub_tnumber_tnumber", + "meos": "sub_tnumber_tnumber" + } + ] + }, + { + "name": "tnumber_supportfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpc_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpc_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpc_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpc_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpc_typmod_out", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcbox", + "overloads": [ + { + "args": [ + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpcbox", + "minArity": 4, + "maxArity": 6 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pcpoint_to_tpcbox", + "meos": "pcpoint_to_tpcbox" + } + ] + }, + { + "name": "tpcbox_above", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_adjacent", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_after", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_back", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_before", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_below", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_cmp", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Tpcbox_cmp", + "meos": "tpcbox_cmp" + } + ] + }, + { + "name": "tpcbox_contained", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_contains", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_eq", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_front", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_ge", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tpcbox_gist_distance", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tpcbox_gist_penalty", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcbox_gist_picksplit", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_gist_same", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcbox_gist_union", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_gt", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcbox_intersection", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_le", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_left", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_lt", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_ne", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_out", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcbox_overabove", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overafter", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overback", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overbefore", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overbelow", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overfront", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overlaps", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overleft", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_overright", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcbox_right", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_same", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_send", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcbox_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcbox_t", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpcbox", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_union", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + }, + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "tpcbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tpcbox_xt", + "overloads": [ + { + "args": [ + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpcbox", + "minArity": 5, + "maxArity": 7 + } + ], + "c": [] + }, + { + "name": "tpcbox_z", + "overloads": [ + { + "args": [ + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpcbox", + "minArity": 6, + "maxArity": 8 + } + ], + "c": [] + }, + { + "name": "tpcbox_zt", + "overloads": [ + { + "args": [ + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "tpcbox", + "minArity": 7, + "maxArity": 9 + } + ], + "c": [] + }, + { + "name": "tpcpatch", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "pcpatch", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcpatchFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpatchFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpatchSeq", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tpcpatchSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch[]", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpatch_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcpatch_out", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpatch_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcpatch_send", + "overloads": [ + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpatch_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tpcpatch", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpoint", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "pcpoint", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcpointFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpointFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpointSeq", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tpcpointSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint[]", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpoint_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcpoint_out", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpoint_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpcpoint_send", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpcpoint_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tpcpoint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpose", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Tpose_make", + "meos": "tpose_make" + } + ] + }, + { + "name": "tposeFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeFromGeoPose", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpose_from_geopose", + "meos": "tpose_from_geopose" + } + ] + }, + { + "name": "tposeFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeInst", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tposeSeq", + "overloads": [ + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tposeSeqSet", + "overloads": [ + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tposeSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "tpose[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tpose_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tpose_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpose_out", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpose_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "tpose_send", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpose_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tpose_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tprecision", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "timestamptz", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzset", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspan", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tstzspanset", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "trajectory", + "overloads": [ + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpoint_trajectory", + "meos": "tpointseq_linear_trajectory" + }, + { + "pg": "Tpoint_trajectory", + "meos": "tpointseqset_linear_trajectory" + }, + { + "pg": "Tpoint_trajectory", + "meos": "tpoint_trajectory" + }, + { + "pg": "Tnpoint_trajectory", + "meos": "tnpoint_trajectory" + } + ] + }, + { + "name": "transform", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Spatialset_transform", + "meos": "spatialset_transform" + } + ] + }, + { + "name": "transformPipeline", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "cbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "cbufferset", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "poseset", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "geomset", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "geogset", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 4 + } + ], + "c": [ + { + "pg": "Spatialset_transform_pipeline", + "meos": "spatialset_transform_pipeline" + } + ] + }, + { + "name": "transform_gk", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "translate", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 4, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "transscale", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeometry", + "minArity": 5, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + }, + { + "type": "float8", + "hasDefault": false + } + ], + "returns": "tgeompoint", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "traversedArea", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "bool", + "hasDefault": true + } + ], + "returns": "geography", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_traversed_area", + "meos": "trgeometry_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferinst_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferseq_discstep_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferseq_linear_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferseq_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferseqset_step_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferseqset_linear_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbufferseqset_traversed_area" + }, + { + "pg": "Tcbuffer_traversed_area", + "meos": "tcbuffer_traversed_area" + }, + { + "pg": "Tgeo_traversed_area", + "meos": "tgeo_traversed_area" + } + ] + }, + { + "name": "trend", + "overloads": [ + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "tint", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_trend", + "meos": "tnumberseq_trend" + }, + { + "pg": "Tnumber_trend", + "meos": "tnumberseqset_trend" + }, + { + "pg": "Tnumber_trend", + "meos": "tnumber_trend" + } + ] + }, + { + "name": "trgeo_typmod_in", + "overloads": [ + { + "args": [ + { + "type": "cstring[]", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometry", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "pose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "geometry", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "trgeometryFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometryFromEWKB", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometryFromEWKT", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometryFromHexEWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometryFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometryFromText", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometryInst", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_to_tinstant", + "meos": "trgeometry_to_tinstant" + } + ] + }, + { + "name": "trgeometrySeq", + "overloads": [ + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_to_tsequence", + "meos": "trgeo_to_tsequence" + } + ] + }, + { + "name": "trgeometrySeqSet", + "overloads": [ + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "trgeometrySeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "trgeometry[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "trgeometry_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "trgeometry_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "trgeometry_out", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometry_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometry_send", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "trgeometry_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tsample", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "minusValues(trgeometry", + "hasDefault": false + }, + { + "type": "atValues(trgeometry", + "hasDefault": false + }, + { + "type": "minusValues(trgeometry", + "hasDefault": false + }, + { + "type": "atTime(trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "trgeometry", + "minArity": 7, + "maxArity": 8 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 4 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": true + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tspatial_analyze", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tspatial_extent_transfn", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "stbox", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "stbox", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tspatial_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tspatial_joinsel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "tspatial_sel", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 4, + "maxArity": 4 + } + ], + "c": [] + }, + { + "name": "tspatial_spgist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tspatial_supportfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tspatial_typmod_out", + "overloads": [ + { + "args": [ + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzset", + "overloads": [ + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Dateset_to_tstzset", + "meos": "dateset_to_tstzset" + } + ] + }, + { + "name": "tstzsetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzsetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzset_out", + "overloads": [ + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzset_send", + "overloads": [ + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzset_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tstzset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspan", + "overloads": [ + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspan_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspan_out", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspan_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tstzspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspan_send", + "overloads": [ + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspan_spgist_config", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "void", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "tstzspan_union_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanset", + "overloads": [ + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Datespanset_to_tstzspanset", + "meos": "datespanset_to_tstzspanset" + } + ] + }, + { + "name": "tstzspansetFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspansetFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanset_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanset_out", + "overloads": [ + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "cstring", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanset_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "tstzspanset_send", + "overloads": [ + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "bytea", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttext", + "overloads": [ + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttextFromBinary", + "overloads": [ + { + "args": [ + { + "type": "bytea", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttextFromHexWKB", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttextFromMFJSON", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttextInst", + "overloads": [ + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttextSeq", + "overloads": [ + { + "args": [ + { + "type": "ttext[]", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 4 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttextSeqSet", + "overloads": [ + { + "args": [ + { + "type": "ttext[]", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttextSeqSetGaps", + "overloads": [ + { + "args": [ + { + "type": "ttext[]", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttext_cat", + "overloads": [ + { + "args": [ + { + "type": "text", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "text", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttext_gist_compress", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttext_gist_consistent", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "smallint", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 5, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "ttext_in", + "overloads": [ + { + "args": [ + { + "type": "cstring", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "ttext_recv", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "oid", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "ttext_tagg_finalfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "ttext_tmax_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttext_tmax_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttext_tmin_combinefn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "internal", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "ttext_tmin_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "twAvg", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_twavg", + "meos": "tnumberseq_twavg" + }, + { + "pg": "Tnumber_twavg", + "meos": "tnumberseqset_twavg" + }, + { + "pg": "Tnumber_twavg", + "meos": "tnumber_twavg" + } + ] + }, + { + "name": "twCentroid", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Trgeometry_twcentroid", + "meos": "trgeometry_twcentroid" + }, + { + "pg": "Tpoint_twcentroid", + "meos": "tpointseq_twcentroid" + }, + { + "pg": "Tpoint_twcentroid", + "meos": "tpointseqset_twcentroid" + }, + { + "pg": "Tpoint_twcentroid", + "meos": "tpoint_twcentroid" + }, + { + "pg": "Tnpoint_twcentroid", + "meos": "tnpoint_twcentroid" + } + ] + }, + { + "name": "unnest", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + } + ], + "returns": "SETOF", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "update", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "trgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tcbuffer", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tpose", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeometry", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeography", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeompoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tgeogpoint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbool", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tbigint", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tfloat", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "ttext", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "tnpoint", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Temporal_update", + "meos": "temporal_update" + } + ] + }, + { + "name": "upper", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + } + ], + "returns": "textset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "ttext", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Textset_upper", + "meos": "textset_upper" + }, + { + "pg": "Span_upper", + "meos": "intspan_upper" + }, + { + "pg": "Span_upper", + "meos": "bigintspan_upper" + }, + { + "pg": "Span_upper", + "meos": "floatspan_upper" + }, + { + "pg": "Span_upper", + "meos": "datespan_upper" + }, + { + "pg": "Span_upper", + "meos": "tstzspan_upper" + }, + { + "pg": "Spanset_upper", + "meos": "intspanset_upper" + }, + { + "pg": "Spanset_upper", + "meos": "bigintspanset_upper" + }, + { + "pg": "Spanset_upper", + "meos": "floatspanset_upper" + }, + { + "pg": "Spanset_upper", + "meos": "tstzspanset_upper" + }, + { + "pg": "Spanset_upper", + "meos": "spanset_upper" + }, + { + "pg": "Ttext_upper", + "meos": "ttext_upper" + } + ] + }, + { + "name": "upperInc", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspan", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "datespanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tstzspanset", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Temporal_upper_inc", + "meos": "temporal_upper_inc" + } + ] + }, + { + "name": "v_clip_poly_point", + "overloads": [ + { + "args": [ + { + "type": "geometry(Polygon)", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "v_clip_poly_poly", + "overloads": [ + { + "args": [ + { + "type": "geometry(Polygon)", + "hasDefault": false + }, + { + "type": "geometry(Polygon)", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, + { + "name": "v_clip_tpoly_point", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry(Point)", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "v_clip_tpoly_poly", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "geometry(Polygon)", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "v_clip_tpoly_tpoint", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "v_clip_tpoly_tpoly", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "valueAtTimestamp", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "boolean", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "timestamptz", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tcbuffer_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tpose_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tgeo_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tbool_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tint_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tfloat_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "ttext_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "temporal_value_at_timestamptz" + }, + { + "pg": "Temporal_value_at_timestamptz", + "meos": "tnpoint_value_at_timestamptz" + } + ] + }, + { + "name": "valueBins", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + } + ], + "returns": "intspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": true + } + ], + "returns": "bigintspan[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "floatspan[]", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "valueBoxes", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "valueN", + "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "cbufferset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "cbuffer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpointset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pcpoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "pcpatchset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pcpatch", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "poseset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "pose", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geomset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geometry", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "geogset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "geography", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "h3indexset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "th3index", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "h3index", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbool", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bool", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "ttext", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "intset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "integer", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "textset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "text", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "dateset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "date", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tstzset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "timestamptz", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + }, + { + "args": [ + { + "type": "npointset", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + } + ], + "returns": "npoint", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Trgeometry_value_n", + "meos": "trgeometry_value_n" + }, + { + "pg": "Set_value_n", + "meos": "cbufferset_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tcbuffer_value_n" + }, + { + "pg": "Set_value_n", + "meos": "pcpointset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "pcpatchset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "poseset_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tpose_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tgeo_value_n" + }, + { + "pg": "Set_value_n", + "meos": "geoset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "intset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "bigintset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "floatset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "textset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "dateset_value_n" + }, + { + "pg": "Set_value_n", + "meos": "tstzset_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tbool_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tint_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tbigint_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tfloat_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "ttext_value_n" + }, + { + "pg": "Set_value_n", + "meos": "npointset_value_n" + }, + { + "pg": "Temporal_value_n", + "meos": "tnpoint_value_n" + } + ] + }, + { + "name": "valueSet", + "overloads": [ + { + "args": [ + { + "type": "tgeometry", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeography", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false + } + ], + "returns": "geogset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "intset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigintset", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "floatset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [] + }, + { + "name": "valueSpan", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + } + ], + "returns": "intspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + } + ], + "returns": "bigintspan", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + } + ], + "returns": "floatspan", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tnumber_to_span", + "meos": "tnumber_to_span" + } + ] + }, + { + "name": "valueSplit", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [ + { + "pg": "Tnumber_value_split", + "meos": "tint_value_split" + }, + { + "pg": "Tnumber_value_split", + "meos": "tfloat_value_split" + } + ] + }, + { + "name": "valueTiles", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 2, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "valueTimeBoxes", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "int", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 3, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 3, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "tbox[]", + "minArity": 3, + "maxArity": 5 + } + ], + "c": [] + }, + { + "name": "valueTimeSplit", + "overloads": [ + { + "args": [ + { + "type": "tint", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "integer", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "bigint", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 5 + }, + { + "args": [ + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 5 + } + ], + "c": [ + { + "pg": "Tnumber_value_time_split", + "meos": "tint_value_time_split" + }, + { + "pg": "Tnumber_value_time_split", + "meos": "tfloat_value_time_split" + } + ] + }, + { + "name": "valueTimeTiles", + "overloads": [ + { + "args": [ + { + "type": "tbox", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + }, + { + "type": "float", + "hasDefault": true + }, + { + "type": "timestamptz", + "hasDefault": true + } + ], + "returns": "SETOF", + "minArity": 3, + "maxArity": 5 + } + ], + "c": [ + { + "pg": "Tbox_value_time_tiles", + "meos": "tintbox_value_time_tiles" + }, + { + "pg": "Tbox_value_time_tiles", + "meos": "tfloatbox_value_time_tiles" + }, + { + "pg": "Tbox_value_tiles", + "meos": "tintbox_value_tiles" + }, + { + "pg": "Tbox_value_tiles", + "meos": "tfloatbox_value_tiles" + }, + { + "pg": "Tbox_time_tiles", + "meos": "tintbox_time_tiles" + }, + { + "pg": "Tbox_time_tiles", + "meos": "tfloatbox_time_tiles" + } + ] + }, + { + "name": "volume", + "overloads": [ + { + "args": [ + { + "type": "stbox", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Stbox_volume", + "meos": "stbox_volume" + } + ] + }, + { + "name": "wavg_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "wcount_transfn", + "overloads": [ + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "trgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tcbuffer", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpcpatch", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tpose", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeompoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeogpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeometry", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tgeography", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tbigint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tfloat", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + }, + { + "args": [ + { + "type": "internal", + "hasDefault": false + }, + { + "type": "tnpoint", + "hasDefault": false + }, + { + "type": "interval", + "hasDefault": false + } + ], + "returns": "internal", + "minArity": 3, + "maxArity": 3 + } + ], + "c": [] + }, + { + "name": "whenTrue", + "overloads": [ + { + "args": [ + { + "type": "tbool", + "hasDefault": false + } + ], + "returns": "tstzspanset", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tbool_when_true", + "meos": "tbool_when_true" + } + ] + }, + { + "name": "width", + "overloads": [ + { + "args": [ + { + "type": "intspan", + "hasDefault": false + } + ], + "returns": "int", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "bigintspan", + "hasDefault": false + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "floatspan", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "intspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "int", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "bigintspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "bigint", + "minArity": 1, + "maxArity": 2 + }, + { + "args": [ + { + "type": "floatspanset", + "hasDefault": false + }, + { + "type": "boolean", + "hasDefault": true + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 2 + } + ], + "c": [ + { + "pg": "Numspan_width", + "meos": "intspan_width" + }, + { + "pg": "Numspan_width", + "meos": "bigintspan_width" + }, + { + "pg": "Numspan_width", + "meos": "floatspan_width" + }, + { + "pg": "Numspanset_width", + "meos": "intspanset_width" + }, + { + "pg": "Numspanset_width", + "meos": "bigintspanset_width" + }, + { + "pg": "Numspanset_width", + "meos": "floatspanset_width" + }, + { + "pg": "Numspanset_width", + "meos": "numspanset_width" + }, + { + "pg": "Numspan_width", + "meos": "numspan_width" + } + ] + }, + { + "name": "xmax", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_xmax", + "meos": "tpcbox_xmax" + } + ] + }, + { + "name": "xmin", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_xmin", + "meos": "tpcbox_xmin" + } + ] + }, + { + "name": "yaw", + "overloads": [ + { + "args": [ + { + "type": "tpose", + "hasDefault": false + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, + { + "args": [ + { + "type": "pose", + "hasDefault": false + } + ], + "returns": "float", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Pose_yaw", + "meos": "pose_yaw" + } + ] + }, + { + "name": "ymax", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_ymax", + "meos": "tpcbox_ymax" + } + ] + }, + { + "name": "ymin", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_ymin", + "meos": "tpcbox_ymin" + } + ] + }, + { + "name": "zmax", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_zmax", + "meos": "tpcbox_zmax" + } + ] + }, + { + "name": "zmin", + "overloads": [ + { + "args": [ + { + "type": "tpcbox", + "hasDefault": false + } + ], + "returns": "float8", + "minArity": 1, + "maxArity": 1 + } + ], + "c": [ + { + "pg": "Tpcbox_zmin", + "meos": "tpcbox_zmin" + } + ] + } + ] +} \ No newline at end of file diff --git a/codegen/tools/NAMED_SURFACE.md b/codegen/tools/NAMED_SURFACE.md new file mode 100644 index 000000000..f8c1669ea --- /dev/null +++ b/codegen/tools/NAMED_SURFACE.md @@ -0,0 +1,42 @@ +# Canonical named-operation surface (codegen layer above the C IDL) + +`meos-idl.json` describes MEOS at the **C-FFI level** (`temporal_as_mfjson`, raw C +params). Bindings, however, mirror MobilityDB's **named** surface — `asMFJSON`, +with overloads and per-argument defaults — and need to know which MEOS C function +each named function calls. `extract_named_surface.py` produces that layer, +`meos-named-surface.json`, from two canonical sources already in the tree: + +- **SQL catalog** (`mobilitydb/sql/**/*.in.sql`) — `CREATE FUNCTION` gives every + named function, its overloads, argument types, and which arguments have + `DEFAULT`s (so the valid call arities are known: `asMFJSON` → minArity 1, + maxArity 4). +- **doxygen chain** — `@sqlfn name()` on the PG C wrapper and `@csqlfn #PgFunc()` + on the MEOS C function link `SQL name → PG C function → MEOS C function` + (`asMFJSON → Temporal_as_mfjson → temporal_as_mfjson`). + +Run: `extract_named_surface.py ` → `../input/meos-named-surface.json`. + +## Why (North Star) + +Every binding's named surface — and the Spark Connect registrar that injects it — +is then a deterministic emission from this one spec, never a hand-maintained +function list: the camelCase Spark idiom is a mechanical remap of the canonical +name, the UDF body calls the linked MEOS C function, and the overloads/defaults +fix the call-arity exactly (no runtime null-padding heuristic). A new function in +the SQL catalog flows into every binding with no per-binding edit. + +## A2 — emitters that consume this spec (next) + +- **MobilitySpark UDFs + Connect registrar:** for each function, remap the name to + the Spark idiom, emit a UDF over the linked MEOS C function for each overload + arity, and emit the matching `SparkSessionExtensions.injectFunction` entry. +- Same spec feeds the PG/DuckDB identity dialects, PyMEOS, and the Flink/Kafka + facades. + +## Refinements tracked + +- Group each overload with its specific C function by first-argument type (the `c` + list is currently per-name; type-dispatched families like `speed` carry several). +- Parse `@sqlop` (760 operator tags) for the operator surface. +- Raise C-linkage coverage past the current 434/1284 (alias and multi-`@csqlfn` + resolution). diff --git a/codegen/tools/extract_named_surface.py b/codegen/tools/extract_named_surface.py new file mode 100644 index 000000000..855d8392e --- /dev/null +++ b/codegen/tools/extract_named_surface.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python3 +"""Extract the canonical named-operation surface of MobilityDB. + +The surface that bindings (MobilitySpark UDFs, the Spark Connect registrar, +PyMEOS, ...) must mirror is the MobilityDB SQL function catalog: the named +functions with their overloads and per-argument defaults. The SQL <-> C linkage +is already canonical in the source as a doxygen tag chain: + + SQL name <-(@sqlfn name())- PG C function <-(@csqlfn #PgFunc())- MEOS C function + +This tool reads the MobilityDB tree and emits one spec, meos-named-surface.json, +that the codegen consumes to generate each binding's named surface and its +Spark Connect registrar from a single source -- no hand-maintained function list. + +Usage: + extract_named_surface.py [out.json] +""" +import json, re, sys, os, glob + +# ---- 1. SQL catalog: names, overloads, per-arg type + default --------------- +CREATE_RE = re.compile(r'CREATE\s+(?:OR\s+REPLACE\s+)?FUNCTION\s+(\w+)\s*\((.*?)\)\s*RETURNS\s+([A-Za-z0-9_\[\]]+)', + re.IGNORECASE | re.DOTALL) + +def split_top(args): + """Split an arg list on top-level commas (ignoring commas inside parens).""" + out, depth, cur = [], 0, '' + for ch in args: + if ch == '(': depth += 1; cur += ch + elif ch == ')': depth -= 1; cur += ch + elif ch == ',' and depth == 0: out.append(cur); cur = '' + else: cur += ch + if cur.strip(): out.append(cur) + return [a.strip() for a in out if a.strip()] + +def parse_arg(a): + """One arg -> (type, has_default). Forms: 'type' | 'name type' | '[name] type DEFAULT v'.""" + has_def = bool(re.search(r'\bDEFAULT\b', a, re.IGNORECASE)) + head = re.split(r'\bDEFAULT\b', a, flags=re.IGNORECASE)[0].strip() + toks = head.split() + typ = toks[-1] if toks else head # type is the last token before DEFAULT + return typ, has_def + +def parse_sql(root): + funcs = {} + for f in glob.glob(os.path.join(root, 'mobilitydb', 'sql', '**', '*.in.sql'), recursive=True): + text = open(f, encoding='utf-8', errors='ignore').read() + for m in CREATE_RE.finditer(text): + name, arglist, ret = m.group(1), m.group(2), m.group(3) + args = [dict(zip(('type', 'hasDefault'), parse_arg(a))) for a in split_top(arglist)] + req = sum(1 for a in args if not a['hasDefault']) + funcs.setdefault(name, []).append( + {'args': args, 'returns': ret, 'minArity': req, 'maxArity': len(args)}) + return funcs + +# ---- 2. doxygen chain: SQL name <- PG C func <- MEOS C func ------------------ +SQLFN_RE = re.compile(r'@sqlfn\s+(\w+)\s*\(') # on the PG C wrapper comment +CSQLFN_RE = re.compile(r'@csqlfn\s+#(\w+)\s*\(') # on the MEOS C function comment +PGDEF_RE = re.compile(r'^(\w+)\s*\(PG_FUNCTION_ARGS\)', re.MULTILINE) +CDEF_RE = re.compile(r'^(\w+)\s*\(', re.MULTILINE) # a C function definition name at col 0 + +def _next_name(text, pos, pat): + m = pat.search(text, pos) + return m.group(1) if m else None + +def parse_doxygen(root): + pg2sql, meos2pg = {}, {} + for sub, sqlmap, defpat, tagpat, key in ( + ('mobilitydb', pg2sql, PGDEF_RE, SQLFN_RE, 'sql'), + ('meos', meos2pg, CDEF_RE, CSQLFN_RE, 'csql')): + for f in glob.glob(os.path.join(root, sub, 'src', '**', '*.c'), recursive=True): + text = open(f, encoding='utf-8', errors='ignore').read() + for m in tagpat.finditer(text): + target = m.group(1) # sql name, or referenced PG func + cfunc = _next_name(text, m.end(), defpat) # the C function this comment documents + if cfunc: + sqlmap[cfunc] = target + return pg2sql, meos2pg + +def main(): + root = sys.argv[1] if len(sys.argv) > 1 else '.' + out = sys.argv[2] if len(sys.argv) > 2 else os.path.join( + os.path.dirname(__file__), '..', 'input', 'meos-named-surface.json') + sqlfuncs = parse_sql(root) + pg2sql, meos2pg = parse_doxygen(root) + sql2meos = {} + for meos, pg in meos2pg.items(): + sqlname = pg2sql.get(pg) + if sqlname: + sql2meos.setdefault(sqlname, []).append({'pg': pg, 'meos': meos}) + surface = [] + for name in sorted(sqlfuncs): + surface.append({'name': name, 'overloads': sqlfuncs[name], 'c': sql2meos.get(name, [])}) + spec = {'source': 'MobilityDB SQL catalog + doxygen @sqlfn/@csqlfn chain', + 'functionCount': len(surface), 'functions': surface} + os.makedirs(os.path.dirname(out), exist_ok=True) + json.dump(spec, open(out, 'w'), indent=1) + linked = sum(1 for s in surface if s['c']) + print(f'named functions: {len(surface)} with C linkage: {linked} -> {out}') + +if __name__ == '__main__': + main() From 65438ba4546bb1c992f999aea1c1de44732ebfbb Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 6 Jun 2026 06:45:05 +0200 Subject: [PATCH 12/23] Derive canonical-function to Spark-impl mapping for the registrar emitter extract_spark_impls.py scans the MobilitySpark UDFs (register name + field + body GeneratedFunctions call) and joins on the named surface's SQL->MEOS C linkage to recover canonical name -> Spark impl mechanically, so the emitter needs no hand-written remap. The join classifies each function for emission: single-impl (identity name over one impl), multi-impl (identity name with a WKB-type-tag dispatch builder), and join gaps to close. --- codegen/input/spark-impls.json | 17983 +++++++++++++++++++++++++ codegen/tools/NAMED_SURFACE.md | 36 +- codegen/tools/extract_spark_impls.py | 78 + 3 files changed, 18091 insertions(+), 6 deletions(-) create mode 100644 codegen/input/spark-impls.json create mode 100644 codegen/tools/extract_spark_impls.py diff --git a/codegen/input/spark-impls.json b/codegen/input/spark-impls.json new file mode 100644 index 000000000..82ffc7e1d --- /dev/null +++ b/codegen/input/spark-impls.json @@ -0,0 +1,17983 @@ +{ + "implCount": 1308, + "impls": { + "trgeometry": { + "field": "trgeometry", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "trgeometryInst": { + "field": "trgeometryInst", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tpose": { + "field": "tpose", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "trgeometryFromMFJSON": { + "field": "trgeometryFromMFJSON", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_as_hexwkb" + ] + }, + "trgeometryFromText": { + "field": "trgeometryFromText", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "trgeometryFromEWKT": { + "field": "trgeometryFromEWKT", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "trgeometryFromHexEWKB": { + "field": "trgeometryFromHexEWKB", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "trgeometryFromBinary": { + "field": "trgeometryFromBinary", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "trgeometryFromEWKB": { + "field": "trgeometryFromEWKB", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "trgeometrySeq": { + "field": "trgeometrySeq", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequence", + "temporal_as_hexwkb" + ] + }, + "trgeometrySeqSet": { + "field": "trgeometrySeqSet", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequenceset", + "temporal_as_hexwkb" + ] + }, + "trgeometrySeqSetGaps": { + "field": "trgeometrySeqSetGaps", + "class": "RgeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String[]", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "tsequenceset_make_gaps", + "temporal_as_hexwkb" + ] + }, + "cbuffer": { + "field": "cbuffer", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "geo_from_text" + ] + }, + "point": { + "field": "point", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_as_text" + ] + }, + "radius": { + "field": "radius", + "class": "CbufferUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [] + }, + "cbufferContains": { + "field": "cbufferContains", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferCovers": { + "field": "cbufferCovers", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferDisjoint": { + "field": "cbufferDisjoint", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferIntersects": { + "field": "cbufferIntersects", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferTouches": { + "field": "cbufferTouches", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferDwithin": { + "field": "cbufferDwithin", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferSame": { + "field": "cbufferSame", + "class": "CbufferUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbuffersetFromHexWKB": { + "field": "cbuffersetFromHexWKB", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb" + ] + }, + "cbuffersetFromBinary": { + "field": "cbuffersetFromBinary", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb" + ] + }, + "tcbuffer": { + "field": "tcbuffer", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "tcbufferInst": { + "field": "tcbufferInst", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "tfloatinst_make", + "temporal_as_hexwkb", + "temporal_from_hexwkb" + ] + }, + "tcbufferFromText": { + "field": "tcbufferFromText", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_as_hexwkb" + ] + }, + "tcbufferFromEWKT": { + "field": "tcbufferFromEWKT", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tcbufferFromHexEWKB": { + "field": "tcbufferFromHexEWKB", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tcbufferFromBinary": { + "field": "tcbufferFromBinary", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tcbufferFromEWKB": { + "field": "tcbufferFromEWKB", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tcbufferSeq": { + "field": "tcbufferSeq", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequence", + "temporal_as_hexwkb" + ] + }, + "tcbufferSeqSet": { + "field": "tcbufferSeqSet", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequenceset", + "temporal_as_hexwkb" + ] + }, + "tcbufferSeqSetGaps": { + "field": "tcbufferSeqSetGaps", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String[]", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "tsequenceset_make_gaps", + "temporal_as_hexwkb" + ] + }, + "points": { + "field": "points", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_as_hexwkb" + ] + }, + "tcbufferRadius": { + "field": "tcbufferRadius", + "class": "CbufferUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_as_hexwkb" + ] + }, + "pose": { + "field": "pose", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "rotation": { + "field": "rotation", + "class": "PoseUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [] + }, + "poseSame": { + "field": "poseSame", + "class": "PoseUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseFromText": { + "field": "poseFromText", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "poseFromEWKT": { + "field": "poseFromEWKT", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "poseFromHexEWKB": { + "field": "poseFromHexEWKB", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "poseFromBinary": { + "field": "poseFromBinary", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "poseFromEWKB": { + "field": "poseFromEWKB", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "posesetFromHexWKB": { + "field": "posesetFromHexWKB", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb" + ] + }, + "posesetFromText": { + "field": "posesetFromText", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_as_hexwkb" + ] + }, + "posesetFromEWKT": { + "field": "posesetFromEWKT", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "posesetFromBinary": { + "field": "posesetFromBinary", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb" + ] + }, + "posesetFromEWKB": { + "field": "posesetFromEWKB", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tposeInst": { + "field": "tposeInst", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "java.sql.Timestamp" + ], + "retType": "String", + "meosFns": [ + "tfloatinst_make", + "temporal_as_hexwkb", + "temporal_from_hexwkb" + ] + }, + "tposeFromText": { + "field": "tposeFromText", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_as_hexwkb" + ] + }, + "tposeFromEWKT": { + "field": "tposeFromEWKT", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tposeFromMFJSON": { + "field": "tposeFromMFJSON", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_as_hexwkb" + ] + }, + "tposeFromHexEWKB": { + "field": "tposeFromHexEWKB", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tposeFromBinary": { + "field": "tposeFromBinary", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tposeFromEWKB": { + "field": "tposeFromEWKB", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tposeSeq": { + "field": "tposeSeq", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequence", + "temporal_as_hexwkb" + ] + }, + "tposeSeqSet": { + "field": "tposeSeqSet", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequenceset", + "temporal_as_hexwkb" + ] + }, + "tposeSeqSetGaps": { + "field": "tposeSeqSetGaps", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String[]", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "tsequenceset_make_gaps", + "temporal_as_hexwkb" + ] + }, + "tposePoints": { + "field": "tposePoints", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_as_hexwkb" + ] + }, + "tposeRotation": { + "field": "tposeRotation", + "class": "PoseUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "geomBuffer": { + "field": "geomBuffer", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_buffer", + "geo_as_text" + ] + }, + "geomConvexHull": { + "field": "geomConvexHull", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_convex_hull", + "geo_as_text" + ] + }, + "geomIntersection": { + "field": "geomIntersection", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_intersection2d", + "geo_as_text" + ] + }, + "setSRID": { + "field": "setSRID", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_set_srid", + "temporal_as_hexwkb" + ] + }, + "transform": { + "field": "transform", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_transform", + "temporal_as_hexwkb" + ] + }, + "asText": { + "field": "asText", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_as_text" + ] + }, + "asEWKT": { + "field": "asEWKT", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_as_ewkt" + ] + }, + "atElevation": { + "field": "atElevation", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "floatspan_make", + "tpoint_at_elevation", + "temporal_as_hexwkb" + ] + }, + "tContains": { + "field": "tContains", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tcontains_geo_tgeo", + "temporal_as_hexwkb" + ] + }, + "tCovers": { + "field": "tCovers", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tcovers_tgeo_tgeo", + "temporal_as_hexwkb" + ] + }, + "tDwithin": { + "field": "tDwithin", + "class": "BerlinMODUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tdwithin_tgeo_tgeo", + "temporal_as_hexwkb" + ] + }, + "bearingToPoint": { + "field": "bearingToPoint", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "bearing_tpoint_point", + "temporal_as_hexwkb" + ] + }, + "bearing": { + "field": "bearing", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "bearing_tpoint_tpoint", + "temporal_as_hexwkb" + ] + }, + "twCentroid": { + "field": "twCentroid", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_twcentroid", + "geo_as_text" + ] + }, + "geoSame": { + "field": "geoSame", + "class": "GeoAnalyticsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "geo_same" + ] + }, + "tpointConvexHull": { + "field": "tpointConvexHull", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_convex_hull", + "geo_as_text" + ] + }, + "tpointExpandSpace": { + "field": "tpointExpandSpace", + "class": "GeoAnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_expand_space", + "stbox_as_hexwkb", + "tspatial_transform_pipeline", + "temporal_as_hexwkb", + "stbox_from_hexwkb", + "stbox_transform_pipeline", + "geo_from_text" + ] + }, + "eIntersects": { + "field": "eIntersects", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_isgeodetic", + "stbox_srid", + "geo_from_text", + "geom_to_geog", + "eintersects_tgeo_geo" + ] + }, + "eDisjoint": { + "field": "eDisjoint", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "edisjoint_tgeo_geo" + ] + }, + "eTouches": { + "field": "eTouches", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "etouches_tgeo_geo" + ] + }, + "eCovers": { + "field": "eCovers", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "ecovers_tgeo_geo" + ] + }, + "eContains": { + "field": "eContains", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "econtains_geo_tgeo" + ] + }, + "eDisjointTgeoTgeo": { + "field": "eDisjointTgeoTgeo", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "edisjoint_tgeo_tgeo" + ] + }, + "eIntersectsTgeoTgeo": { + "field": "eIntersectsTgeoTgeo", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "eintersects_tgeo_tgeo" + ] + }, + "nearestApproachDistance": { + "field": "nearestApproachDistance", + "class": "GeoUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "nad_tgeo_tgeo" + ] + }, + "eDwithin": { + "field": "eDwithin", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "edwithin_tgeo_tgeo" + ] + }, + "eDwithinGeo": { + "field": "eDwithinGeo", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "edwithin_tgeo_geo" + ] + }, + "aIntersects": { + "field": "aIntersects", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "aintersects_tgeo_geo" + ] + }, + "aDisjoint": { + "field": "aDisjoint", + "class": "BerlinMODUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "adisjoint_tgeo_tgeo" + ] + }, + "aDwithin": { + "field": "aDwithin", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "adwithin_tgeo_tgeo" + ] + }, + "aDwithinGeo": { + "field": "aDwithinGeo", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid", + "geo_from_text", + "adwithin_tgeo_geo" + ] + }, + "tgeompoint": { + "field": "tgeompoint", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tgeompoint_in", + "temporal_as_hexwkb" + ] + }, + "trajectory": { + "field": "trajectory", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_trajectory", + "geo_as_hexewkb" + ] + }, + "geomFromText": { + "field": "geomFromText", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_as_hexewkb" + ] + }, + "getX": { + "field": "getX", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_get_x", + "temporal_as_hexwkb" + ] + }, + "getY": { + "field": "getY", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_get_y", + "temporal_as_hexwkb" + ] + }, + "getZ": { + "field": "getZ", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_hasz", + "tpoint_get_z", + "temporal_as_hexwkb" + ] + }, + "cumulativeLength": { + "field": "cumulativeLength", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_cumulative_length", + "temporal_as_hexwkb" + ] + }, + "stops": { + "field": "stops", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_stops", + "temporal_as_hexwkb" + ] + }, + "isSimple": { + "field": "isSimple", + "class": "GeoUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_is_simple" + ] + }, + "shortestLine": { + "field": "shortestLineTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "geo_as_text" + ] + }, + "tpointTransform": { + "field": "tpointTransform", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_transform", + "temporal_as_hexwkb" + ] + }, + "tpointAsText": { + "field": "tpointAsText", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_as_text" + ] + }, + "tpointAsEWKT": { + "field": "tpointAsEWKT", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_as_ewkt" + ] + }, + "tpointSRID": { + "field": "tpointSRID", + "class": "GeoUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_srid" + ] + }, + "tpointSetSRID": { + "field": "tpointSetSRID", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_set_srid", + "temporal_as_hexwkb" + ] + }, + "tpointRound": { + "field": "tpointRound", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_round", + "temporal_as_hexwkb" + ] + }, + "tpointToStbox": { + "field": "tpointToStbox", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_as_hexwkb" + ] + }, + "expandSpace": { + "field": "expandSpace", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Number" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb", + "temporal_from_hexwkb", + "tspatial_to_stbox", + "stbox_expand_space", + "stbox_as_hexwkb" + ] + }, + "geoAsEwkt": { + "field": "geoAsEwkt", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_as_ewkt" + ] + }, + "geoAsGeojson": { + "field": "geoAsGeojson", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Integer", + "Integer" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_as_geojson" + ] + }, + "geoFromGeojson": { + "field": "geoFromGeojson", + "class": "GeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_geojson", + "geo_as_text" + ] + }, + "geomContains": { + "field": "geomContains", + "class": "BerlinMODUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "pg_timestamptz_in", + "tpointinst_make", + "econtains_geo_tgeo" + ] + }, + "geomCovers": { + "field": "geomCovers", + "class": "StaticGeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "geom_covers" + ] + }, + "geomDisjoint": { + "field": "geomDisjoint", + "class": "StaticGeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "geom_disjoint2d" + ] + }, + "geomIntersects": { + "field": "geomIntersects", + "class": "StaticGeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "geom_intersects2d" + ] + }, + "geomTouches": { + "field": "geomTouches", + "class": "StaticGeoUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "geom_touches" + ] + }, + "geomDwithin": { + "field": "geomDwithin", + "class": "StaticGeoUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "Boolean", + "meosFns": [ + "geo_from_text", + "geom_dwithin2d" + ] + }, + "geomDistance": { + "field": "geomDistance", + "class": "StaticGeoUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "geo_from_text", + "geom_distance2d" + ] + }, + "geomLength": { + "field": "geomLength", + "class": "StaticGeoUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "geo_from_text", + "geom_length" + ] + }, + "geomPerimeter": { + "field": "geomPerimeter", + "class": "StaticGeoUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "geo_from_text", + "geom_perimeter" + ] + }, + "geomCentroid": { + "field": "geomCentroid", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_centroid", + "geo_as_text" + ] + }, + "geomBoundary": { + "field": "geomBoundary", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_boundary", + "geo_as_text" + ] + }, + "geomDifference": { + "field": "geomDifference", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_difference2d", + "geo_as_text" + ] + }, + "geomUnaryUnion": { + "field": "geomUnaryUnion", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geom_unary_union", + "geo_as_text" + ] + }, + "geoReverse": { + "field": "geoReverse", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_reverse", + "geo_as_text" + ] + }, + "geoRound": { + "field": "geoRound", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_round", + "geo_as_text" + ] + }, + "lineInterpolatePoint": { + "field": "lineInterpolatePoint", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "line_interpolate_point", + "geo_as_text" + ] + }, + "lineSubstring": { + "field": "lineSubstring", + "class": "StaticGeoUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "line_substring", + "geo_as_text" + ] + }, + "tdistanceTgeoGeo": { + "field": "tdistanceTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tdistance_tgeo_geo", + "temporal_as_hexwkb" + ] + }, + "tdistanceTgeoTgeo": { + "field": "tdistanceTgeoTgeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tdistance_tgeo_tgeo", + "temporal_as_hexwkb" + ] + }, + "tdistanceTfloatFloat": { + "field": "tdistanceTfloatFloat", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tdistance_tfloat_float", + "temporal_as_hexwkb" + ] + }, + "tdistanceTintInt": { + "field": "tdistanceTintInt", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tdistance_tint_int", + "temporal_as_hexwkb" + ] + }, + "tdistanceTnumberTnumber": { + "field": "tdistanceTnumberTnumber", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tdistance_tnumber_tnumber", + "temporal_as_hexwkb" + ] + }, + "nadTgeoGeo": { + "field": "nadTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text" + ] + }, + "nadTgeoStbox": { + "field": "nadTgeoStbox", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "stbox_from_hexwkb" + ] + }, + "nadTgeoTgeo": { + "field": "nadTgeoTgeo", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb" + ] + }, + "naiTgeoGeo": { + "field": "naiTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "temporal_as_hexwkb" + ] + }, + "naiTgeoTgeo": { + "field": "naiTgeoTgeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "shortestLineTgeoGeo": { + "field": "shortestLineTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "geo_as_text" + ] + }, + "shortestLineTgeoTgeo": { + "field": "shortestLineTgeoTgeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "shortestline_tgeo_tgeo", + "geo_as_text" + ] + }, + "minDistanceTgeoGeo": { + "field": "minDistanceTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text" + ] + }, + "minDistanceTgeoTgeo": { + "field": "minDistanceTgeoTgeo", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb" + ] + }, + "minDistanceTgeoarrTgeoarr": { + "field": "minDistanceTgeoarrTgeoarr", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "Object", + "Object" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "mindistance_tgeoarr_tgeoarr", + "spanset_as_hexwkb" + ] + }, + "nearestApproachInstant": { + "field": "naiTgeoGeo", + "class": "DistanceUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "temporal_as_hexwkb" + ] + }, + "minDistance": { + "field": "minDistanceTgeoarrTgeoarr", + "class": "DistanceUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "Object", + "Object" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "mindistance_tgeoarr_tgeoarr", + "spanset_as_hexwkb" + ] + }, + "stboxHasx": { + "field": "stboxHasx", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_hasx" + ] + }, + "stboxHast": { + "field": "stboxHast", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_hast" + ] + }, + "stboxHasz": { + "field": "stboxHasz", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_hasz" + ] + }, + "stboxXmin": { + "field": "stboxXmin", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_xmin" + ] + }, + "stboxXmax": { + "field": "stboxXmax", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_xmax" + ] + }, + "stboxYmin": { + "field": "stboxYmin", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_ymin" + ] + }, + "stboxYmax": { + "field": "stboxYmax", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_ymax" + ] + }, + "stboxZmin": { + "field": "stboxZmin", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_zmin" + ] + }, + "stboxZmax": { + "field": "stboxZmax", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_zmax" + ] + }, + "stboxTmin": { + "field": "stboxTmin", + "class": "STBoxUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "stbox_tmin" + ] + }, + "stboxTmax": { + "field": "stboxTmax", + "class": "STBoxUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "stbox_tmax" + ] + }, + "stboxTminInc": { + "field": "stboxTminInc", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_tmin_inc" + ] + }, + "stboxTmaxInc": { + "field": "stboxTmaxInc", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_tmax_inc" + ] + }, + "stboxSrid": { + "field": "stboxSrid", + "class": "STBoxUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "stbox_srid" + ] + }, + "stboxExpandSpace": { + "field": "stboxExpandSpace", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "stbox_expand_space" + ] + }, + "stboxExpandTime": { + "field": "stboxExpandTime", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "stbox_expand_time" + ] + }, + "stboxArea": { + "field": "stboxArea", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_area" + ] + }, + "stboxPerimeter": { + "field": "stboxPerimeter", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_perimeter" + ] + }, + "stboxVolume": { + "field": "stboxVolume", + "class": "STBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "stbox_volume" + ] + }, + "stboxIsGeodetic": { + "field": "stboxIsGeodetic", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_isgeodetic" + ] + }, + "stboxToGeo": { + "field": "stboxToGeo", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_to_geo", + "geo_as_text" + ] + }, + "stboxToTstzspan": { + "field": "stboxToTstzspan", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_to_tstzspan", + "span_as_hexwkb" + ] + }, + "stboxRound": { + "field": "stboxRound", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "stbox_round" + ] + }, + "stboxSetSrid": { + "field": "stboxSetSrid", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "stbox_set_srid" + ] + }, + "stboxShiftScaleTime": { + "field": "stboxShiftScaleTime", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "stbox_shift_scale_time" + ] + }, + "stboxGetSpace": { + "field": "stboxGetSpace", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_get_space" + ] + }, + "geoToStbox": { + "field": "geoToStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_to_stbox" + ] + }, + "tstzspanToStbox": { + "field": "tstzspanToStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "tstzspan_to_stbox" + ] + }, + "timestamptzToStbox": { + "field": "timestamptzToStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "java.sql.Timestamp" + ], + "retType": "String", + "meosFns": [ + "timestamptz_to_stbox" + ] + }, + "intersectionStboxStbox": { + "field": "intersectionStboxStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "unionStboxStbox": { + "field": "unionStboxStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_stbox_stbox" + ] + }, + "stboxIntersection": { + "field": "intersectionStboxStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "stboxUnion": { + "field": "unionStboxStbox", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_stbox_stbox" + ] + }, + "stboxX": { + "field": "stboxX", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "Double", + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "stboxT": { + "field": "stboxT", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "stboxXT": { + "field": "stboxXT", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 5, + "argTypes": [ + "Double", + "Double", + "Double", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "stboxZ": { + "field": "stboxZ", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 6, + "argTypes": [ + "Double", + "Double", + "Double", + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "stboxZT": { + "field": "stboxZT", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 7, + "argTypes": [ + "Double", + "Double", + "Double", + "Double", + "Double", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geodstboxZ": { + "field": "geodstboxZ", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 6, + "argTypes": [ + "Double", + "Double", + "Double", + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "geodstboxT": { + "field": "geodstboxT", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geodstboxZT": { + "field": "geodstboxZT", + "class": "STBoxUDFs", + "retDataType": "StringType", + "arity": 7, + "argTypes": [ + "Double", + "Double", + "Double", + "Double", + "Double", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "stboxContains": { + "field": "stboxContains", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxContained": { + "field": "stboxContained", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverlaps": { + "field": "stboxOverlaps", + "class": "BerlinMODUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "stbox_from_hexwkb", + "overlaps_stbox_stbox" + ] + }, + "stboxLeft": { + "field": "stboxLeft", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverleft": { + "field": "stboxOverleft", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxRight": { + "field": "stboxRight", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverright": { + "field": "stboxOverright", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxBelow": { + "field": "stboxBelow", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverbelow": { + "field": "stboxOverbelow", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxAbove": { + "field": "stboxAbove", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverabove": { + "field": "stboxOverabove", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxBefore": { + "field": "stboxBefore", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverbefore": { + "field": "stboxOverbefore", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxAfter": { + "field": "stboxAfter", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverafter": { + "field": "stboxOverafter", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxAdjacent": { + "field": "stboxAdjacent", + "class": "STBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "span_from_hexwkb", + "stbox_make", + "stbox_as_hexwkb" + ] + }, + "translate": { + "field": "translate2", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "translate3": { + "field": "translate3", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "String", + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "rotate": { + "field": "rotate", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "rotateX": { + "field": "rotateX", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "rotateY": { + "field": "rotateY", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "rotateZ": { + "field": "rotateZ", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "transscale": { + "field": "transscale", + "class": "GeoAffineUDFs", + "retDataType": "StringType", + "arity": 5, + "argTypes": [ + "String", + "Double", + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "tDisjoint": { + "field": "tDisjoint", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tdisjoint_tgeo_geo" + ] + }, + "tIntersects": { + "field": "tIntersects", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tintersects_tgeo_geo" + ] + }, + "tTouches": { + "field": "tTouches", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "ttouches_tgeo_geo" + ] + }, + "tDisjointTgeoTgeo": { + "field": "tDisjointTgeoTgeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tdisjoint_tgeo_tgeo" + ] + }, + "tIntersectsTgeoTgeo": { + "field": "tIntersectsTgeoTgeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tintersects_tgeo_tgeo" + ] + }, + "tTouchesTogeoTgeo": { + "field": "tTouchesTogeoTgeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttouches_tgeo_tgeo" + ] + }, + "tContainsTgeoGeo": { + "field": "tContainsTgeoGeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tcontains_tgeo_geo" + ] + }, + "tContainsTgeoTgeo": { + "field": "tContainsTgeoTgeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tcontains_tgeo_tgeo" + ] + }, + "tCoversTgeoGeo": { + "field": "tCoversTgeoGeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tcovers_tgeo_geo" + ] + }, + "tDwithinTgeoGeo": { + "field": "tDwithinTgeoGeo", + "class": "TempSpatialRelsUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Number" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tdwithin_tgeo_geo" + ] + }, + "aDisjointTgeoGeo": { + "field": "aDisjointTgeoGeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aDisjointTgeoTgeo": { + "field": "aDisjointTgeoTgeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aIntersectsTgeoGeo": { + "field": "aIntersectsTgeoGeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aIntersectsTgeoTgeo": { + "field": "aIntersectsTgeoTgeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aTouchesTgeoGeo": { + "field": "aTouchesTgeoGeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aTouchesTgeoTgeo": { + "field": "aTouchesTgeoTgeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aContainsTgeoGeo": { + "field": "aContainsTgeoGeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aContainsTgeoTgeo": { + "field": "aContainsTgeoTgeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aContainsGeoTgeo": { + "field": "aContainsGeoTgeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aCoversTgeoGeo": { + "field": "aCoversTgeoGeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aDwithinTgeoGeo": { + "field": "aDwithinTgeoGeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [] + }, + "aDwithinTgeoTgeo": { + "field": "aDwithinTgeoTgeo", + "class": "AlwaysSpatialRelsUDFs", + "retDataType": "BooleanType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxLeftTpoint": { + "field": "stboxLeftTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverleftTpoint": { + "field": "stboxOverleftTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxRightTpoint": { + "field": "stboxRightTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverrightTpoint": { + "field": "stboxOverrightTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxBelowTpoint": { + "field": "stboxBelowTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverbelowTpoint": { + "field": "stboxOverbelowTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxAboveTpoint": { + "field": "stboxAboveTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOveraboveTpoint": { + "field": "stboxOveraboveTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxFrontTpoint": { + "field": "stboxFrontTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverfrontTpoint": { + "field": "stboxOverfrontTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxBackTpoint": { + "field": "stboxBackTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverbackTpoint": { + "field": "stboxOverbackTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxBeforeTpoint": { + "field": "stboxBeforeTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverbeforeTpoint": { + "field": "stboxOverbeforeTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxAfterTpoint": { + "field": "stboxAfterTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverafterTpoint": { + "field": "stboxOverafterTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxAdjacentTpoint": { + "field": "stboxAdjacentTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxContainsTpoint": { + "field": "stboxContainsTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxContainedTpoint": { + "field": "stboxContainedTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxOverlapsTpoint": { + "field": "stboxOverlapsTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxSameTpoint": { + "field": "stboxSameTpoint", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointLeftStbox": { + "field": "tpointLeftStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverleftStbox": { + "field": "tpointOverleftStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointRightStbox": { + "field": "tpointRightStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverrightStbox": { + "field": "tpointOverrightStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointBelowStbox": { + "field": "tpointBelowStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverbelowStbox": { + "field": "tpointOverbelowStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointAboveStbox": { + "field": "tpointAboveStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOveraboveStbox": { + "field": "tpointOveraboveStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointFrontStbox": { + "field": "tpointFrontStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverfrontStbox": { + "field": "tpointOverfrontStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointBackStbox": { + "field": "tpointBackStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverbackStbox": { + "field": "tpointOverbackStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointBeforeStbox": { + "field": "tpointBeforeStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverbeforeStbox": { + "field": "tpointOverbeforeStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointAfterStbox": { + "field": "tpointAfterStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverafterStbox": { + "field": "tpointOverafterStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointAdjacentStbox": { + "field": "tpointAdjacentStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointContainsStbox": { + "field": "tpointContainsStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointContainedStbox": { + "field": "tpointContainedStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointOverlapsStbox": { + "field": "tpointOverlapsStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointSameStbox": { + "field": "tpointSameStbox", + "class": "TPointSTBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "h3IndexFromText": { + "field": "h3IndexFromText", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "h3index_parse" + ] + }, + "h3IndexAsText": { + "field": "h3IndexAsText", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Long" + ], + "retType": "String", + "meosFns": [ + "h3index_to_string" + ] + }, + "h3IndexParse": { + "field": "h3IndexParse", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "h3index_parse" + ] + }, + "h3IndexToString": { + "field": "h3IndexToString", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Long" + ], + "retType": "String", + "meosFns": [ + "h3index_to_string" + ] + }, + "h3IndexEq": { + "field": "h3IndexEq", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "h3index_eq" + ] + }, + "h3IndexNe": { + "field": "h3IndexNe", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "h3index_ne" + ] + }, + "h3IndexLt": { + "field": "h3IndexLt", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "h3index_lt" + ] + }, + "h3IndexLe": { + "field": "h3IndexLe", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "h3index_le" + ] + }, + "h3IndexGt": { + "field": "h3IndexGt", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "h3index_gt" + ] + }, + "h3IndexGe": { + "field": "h3IndexGe", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "h3index_ge" + ] + }, + "h3IndexCmp": { + "field": "h3IndexCmp", + "class": "Th3IndexUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "Integer", + "meosFns": [ + "h3index_cmp" + ] + }, + "h3IndexHash": { + "field": "h3IndexHash", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "Long" + ], + "retType": "Long", + "meosFns": [ + "h3index_hash" + ] + }, + "h3GridDisk": { + "field": "h3GridDisk", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Integer" + ], + "retType": "String", + "meosFns": [ + "h3_grid_disk" + ] + }, + "h3GridRing": { + "field": "h3GridRing", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Integer" + ], + "retType": "String", + "meosFns": [ + "h3_grid_ring" + ] + }, + "h3GridPathCells": { + "field": "h3GridPathCells", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Long" + ], + "retType": "String", + "meosFns": [ + "h3_grid_path_cells" + ] + }, + "h3CellToChildren": { + "field": "h3CellToChildren", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Integer" + ], + "retType": "String", + "meosFns": [ + "h3_cell_to_children" + ] + }, + "h3CompactCells": { + "field": "h3CompactCells", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "h3_compact_cells" + ] + }, + "h3UncompactCells": { + "field": "h3UncompactCells", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "h3_uncompact_cells" + ] + }, + "h3OriginToDirectedEdges": { + "field": "h3OriginToDirectedEdges", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Long" + ], + "retType": "String", + "meosFns": [ + "h3_origin_to_directed_edges" + ] + }, + "h3CellToVertexes": { + "field": "h3CellToVertexes", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Long" + ], + "retType": "String", + "meosFns": [ + "h3_cell_to_vertexes" + ] + }, + "h3GetIcosahedronFaces": { + "field": "h3GetIcosahedronFaces", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Long" + ], + "retType": "String", + "meosFns": [ + "h3_get_icosahedron_faces" + ] + }, + "th3IndexFromText": { + "field": "th3IndexFromText", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "th3index_in" + ] + }, + "th3IndexInstFromText": { + "field": "th3IndexInstFromText", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "th3indexinst_in", + "temporal_as_hexwkb" + ] + }, + "th3IndexSeqFromText": { + "field": "th3IndexSeqFromText", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "th3indexseq_in", + "temporal_as_hexwkb" + ] + }, + "th3IndexSeqSetFromText": { + "field": "th3IndexSeqSetFromText", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "th3indexseqset_in", + "temporal_as_hexwkb" + ] + }, + "th3IndexMake": { + "field": "th3IndexMake", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Object" + ], + "retType": "String", + "meosFns": [ + "th3index_make" + ] + }, + "th3IndexInstMake": { + "field": "th3IndexInstMake", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Object" + ], + "retType": "String", + "meosFns": [ + "th3indexinst_make", + "temporal_as_hexwkb" + ] + }, + "th3IndexSeqMake": { + "field": "th3IndexSeqMake", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 5, + "argTypes": [ + "long[]", + "Object[]", + "Boolean", + "Boolean", + "Object" + ], + "retType": "String", + "meosFns": [ + "th3indexseq_make", + "temporal_as_hexwkb" + ] + }, + "th3IndexSeqSetMake": { + "field": "th3IndexSeqSetMake", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String[]" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3indexseqset_make", + "temporal_as_hexwkb" + ] + }, + "th3IndexStartValue": { + "field": "th3IndexStartValue", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_start_value" + ] + }, + "th3IndexEndValue": { + "field": "th3IndexEndValue", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_end_value" + ] + }, + "th3IndexValueN": { + "field": "th3IndexValueN", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Long", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_value_n" + ] + }, + "th3IndexValueAtTimestamp": { + "field": "th3IndexValueAtTimestamp", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 3, + "argTypes": [ + "String", + "Object", + "Boolean" + ], + "retType": "Long", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_value_at_timestamptz" + ] + }, + "tbigintToTh3Index": { + "field": "tbigintToTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbigint_to_th3index" + ] + }, + "th3IndexToTbigint": { + "field": "th3IndexToTbigint", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_to_tbigint" + ] + }, + "everEqH3IndexTh3Index": { + "field": "everEqH3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everEqTh3IndexH3Index": { + "field": "everEqTh3IndexH3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everNeH3IndexTh3Index": { + "field": "everNeH3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everNeTh3IndexH3Index": { + "field": "everNeTh3IndexH3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysEqH3IndexTh3Index": { + "field": "alwaysEqH3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysEqTh3IndexH3Index": { + "field": "alwaysEqTh3IndexH3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysNeH3IndexTh3Index": { + "field": "alwaysNeH3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Long", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysNeTh3IndexH3Index": { + "field": "alwaysNeTh3IndexH3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "ever_eq_h3index_th3index", + "ever_eq_th3index_h3index", + "ever_ne_h3index_th3index", + "ever_ne_th3index_h3index", + "always_eq_h3index_th3index", + "always_eq_th3index_h3index", + "always_ne_h3index_th3index", + "always_ne_th3index_h3index" + ] + }, + "everEqTh3IndexTh3Index": { + "field": "everEqTh3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everNeTh3IndexTh3Index": { + "field": "everNeTh3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysEqTh3IndexTh3Index": { + "field": "alwaysEqTh3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysNeTh3IndexTh3Index": { + "field": "alwaysNeTh3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "ever_eq_th3index_th3index", + "ever_ne_th3index_th3index", + "always_eq_th3index_th3index", + "always_ne_th3index_th3index" + ] + }, + "teqH3IndexTh3Index": { + "field": "teqH3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "teq_h3index_th3index" + ] + }, + "teqTh3IndexH3Index": { + "field": "teqTh3IndexH3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "teq_th3index_h3index" + ] + }, + "teqTh3IndexTh3Index": { + "field": "teqTh3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "teq_th3index_th3index" + ] + }, + "tneH3IndexTh3Index": { + "field": "tneH3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tne_h3index_th3index" + ] + }, + "tneTh3IndexH3Index": { + "field": "tneTh3IndexH3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tne_th3index_h3index" + ] + }, + "tneTh3IndexTh3Index": { + "field": "tneTh3IndexTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tne_th3index_th3index" + ] + }, + "th3IndexGetResolution": { + "field": "th3IndexGetResolution", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexGetBaseCellNumber": { + "field": "th3IndexGetBaseCellNumber", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexIsValidCell": { + "field": "th3IndexIsValidCell", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexIsResClassIii": { + "field": "th3IndexIsResClassIii", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexIsPentagon": { + "field": "th3IndexIsPentagon", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_get_resolution", + "th3index_get_base_cell_number", + "th3index_is_valid_cell", + "th3index_is_res_class_iii", + "th3index_is_pentagon", + "th3index_cell_to_parent_next", + "th3index_cell_to_center_child_next", + "th3index_is_valid_directed_edge", + "th3index_get_directed_edge_origin", + "th3index_get_directed_edge_destination", + "th3index_directed_edge_to_boundary", + "th3index_vertex_to_latlng", + "th3index_is_valid_vertex", + "th3index_to_tgeogpoint", + "th3index_to_tgeompoint", + "th3index_cell_to_boundary" + ] + }, + "th3IndexCellToParent": { + "field": "th3IndexCellToParent", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cell_to_parent" + ] + }, + "th3IndexCellToParentNext": { + "field": "th3IndexCellToParentNext", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexCellToCenterChild": { + "field": "th3IndexCellToCenterChild", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cell_to_center_child" + ] + }, + "th3IndexCellToCenterChildNext": { + "field": "th3IndexCellToCenterChildNext", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexCellToChildPos": { + "field": "th3IndexCellToChildPos", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cell_to_child_pos" + ] + }, + "th3IndexChildPosToCell": { + "field": "th3IndexChildPosToCell", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_child_pos_to_cell" + ] + }, + "tgeogpointToTh3Index": { + "field": "tgeogpointToTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeogpoint_to_th3index" + ] + }, + "tgeompointToTh3Index": { + "field": "tgeompointToTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeompoint_to_th3index" + ] + }, + "th3IndexToTgeogpoint": { + "field": "th3IndexToTgeogpoint", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexToTgeompoint": { + "field": "th3IndexToTgeompoint", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexCellToBoundary": { + "field": "th3IndexCellToBoundary", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geomToH3Cell": { + "field": "geomToH3Cell", + "class": "Th3IndexUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Long", + "meosFns": [ + "geo_from_text", + "tpointinst_make", + "tgeompoint_to_th3index", + "th3index_start_value" + ] + }, + "geoToH3IndexSet": { + "field": "geoToH3IndexSet", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_to_h3index_set" + ] + }, + "everIntersectsH3IndexSetTh3Index": { + "field": "everIntersectsH3IndexSetTh3Index", + "class": "Th3IndexUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "set_from_hexwkb", + "temporal_from_hexwkb", + "ever_eq_h3indexset_th3index" + ] + }, + "th3IndexAreNeighborCells": { + "field": "th3IndexAreNeighborCells", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_are_neighbor_cells" + ] + }, + "th3IndexCellsToDirectedEdge": { + "field": "th3IndexCellsToDirectedEdge", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cells_to_directed_edge" + ] + }, + "th3IndexIsValidDirectedEdge": { + "field": "th3IndexIsValidDirectedEdge", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexGetDirectedEdgeOrigin": { + "field": "th3IndexGetDirectedEdgeOrigin", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexGetDirectedEdgeDestination": { + "field": "th3IndexGetDirectedEdgeDestination", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexDirectedEdgeToBoundary": { + "field": "th3IndexDirectedEdgeToBoundary", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexCellToVertex": { + "field": "th3IndexCellToVertex", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cell_to_vertex" + ] + }, + "th3IndexVertexToLatlng": { + "field": "th3IndexVertexToLatlng", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexIsValidVertex": { + "field": "th3IndexIsValidVertex", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "th3IndexGridDistance": { + "field": "th3IndexGridDistance", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_grid_distance" + ] + }, + "th3IndexCellToLocalIj": { + "field": "th3IndexCellToLocalIj", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cell_to_local_ij" + ] + }, + "th3IndexLocalIjToCell": { + "field": "th3IndexLocalIjToCell", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_local_ij_to_cell" + ] + }, + "th3IndexCellArea": { + "field": "th3IndexCellArea", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_cell_area" + ] + }, + "th3IndexEdgeLength": { + "field": "th3IndexEdgeLength", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "th3index_edge_length" + ] + }, + "tgeogpointGreatCircleDistance": { + "field": "tgeogpointGreatCircleDistance", + "class": "Th3IndexUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeogpoint_great_circle_distance" + ] + }, + "abs": { + "field": "abs", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_abs" + ] + }, + "ceil": { + "field": "ceil", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_ceil" + ] + }, + "floor": { + "field": "floor", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_floor" + ] + }, + "exp": { + "field": "exp", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_exp" + ] + }, + "ln": { + "field": "ln", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_ln" + ] + }, + "log10": { + "field": "log10", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_log10" + ] + }, + "radians": { + "field": "radians", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_radians" + ] + }, + "derivative": { + "field": "derivative", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_derivative" + ] + }, + "deltavalue": { + "field": "deltavalue", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_delta_value" + ] + }, + "trend": { + "field": "trend", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_trend" + ] + }, + "degrees": { + "field": "degrees", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_degrees" + ] + }, + "integral": { + "field": "integral", + "class": "MathGapUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_integral" + ] + }, + "twavg": { + "field": "twavg", + "class": "MathGapUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_twavg" + ] + }, + "tnumber_add": { + "field": "tnumber_add", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "add_tnumber_tnumber" + ] + }, + "tnumber_sub": { + "field": "tnumber_sub", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "sub_tnumber_tnumber" + ] + }, + "tnumber_mul": { + "field": "tnumber_mul", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "mul_tnumber_tnumber" + ] + }, + "tnumber_div": { + "field": "tnumber_div", + "class": "MathGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "div_tnumber_tnumber" + ] + }, + "tfloatDerivative": { + "field": "tfloatDerivative", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_derivative", + "temporal_as_hexwkb" + ] + }, + "tfloatRound": { + "field": "tfloatRound", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_round", + "temporal_as_hexwkb" + ] + }, + "tfloatFloor": { + "field": "tfloatFloor", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_floor", + "temporal_as_hexwkb" + ] + }, + "tfloatCeil": { + "field": "tfloatCeil", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_ceil", + "temporal_as_hexwkb" + ] + }, + "tfloatDegrees": { + "field": "tfloatDegrees", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_degrees", + "temporal_as_hexwkb" + ] + }, + "tfloatRadians": { + "field": "tfloatRadians", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_radians", + "temporal_as_hexwkb" + ] + }, + "tnumberIntegral": { + "field": "tnumberIntegral", + "class": "AnalyticsUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_integral" + ] + }, + "tnumberTwavg": { + "field": "tnumberTwavg", + "class": "AnalyticsUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_twavg" + ] + }, + "tnumberTrend": { + "field": "tnumberTrend", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_trend", + "temporal_as_hexwkb" + ] + }, + "tpointLength": { + "field": "tpointLength", + "class": "AnalyticsUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_length" + ] + }, + "tpointSpeed": { + "field": "tpointSpeed", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_speed", + "temporal_as_hexwkb" + ] + }, + "tpointAzimuth": { + "field": "tpointAzimuth", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_azimuth", + "temporal_as_hexwkb" + ] + }, + "tpointDirection": { + "field": "tpointDirection", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_direction", + "temporal_as_hexwkb" + ] + }, + "tpointCumulativeLength": { + "field": "tpointCumulativeLength", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_cumulative_length", + "temporal_as_hexwkb" + ] + }, + "tgeoTraversedArea": { + "field": "tgeoTraversedArea", + "class": "AnalyticsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_traversed_area", + "geo_as_text" + ] + }, + "span_union": { + "field": "spanUnion", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "super_union_span_span" + ] + }, + "span_minus": { + "field": "spanMinus", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "minus_span_span" + ] + }, + "span_intersection": { + "field": "spanIntersection", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "intersection_span_span" + ] + }, + "spanset_union": { + "field": "spansetUnion", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "union_spanset_spanset" + ] + }, + "spanset_minus": { + "field": "spansetMinus", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "minus_spanset_spanset" + ] + }, + "spanset_intersection": { + "field": "spansetIntersection", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "intersection_spanset_spanset" + ] + }, + "spann": { + "field": "spann", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_span_n" + ] + }, + "startSpan": { + "field": "startSpan", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_start_span" + ] + }, + "endSpan": { + "field": "endSpan", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_end_span" + ] + }, + "numSpans": { + "field": "numSpans", + "class": "SetSpanGapUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_num_spans" + ] + }, + "setUnion": { + "field": "setUnion", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_set_set", + "set_as_hexwkb" + ] + }, + "setMinus": { + "field": "setMinus", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "minus_set_set", + "set_as_hexwkb" + ] + }, + "setIntersection": { + "field": "setIntersection", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "intersection_set_set", + "set_as_hexwkb" + ] + }, + "tbox_union": { + "field": "tboxUnion", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_from_hexwkb", + "union_tbox_tbox" + ] + }, + "tbox_intersection": { + "field": "tboxIntersection", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_from_hexwkb", + "intersection_tbox_tbox" + ] + }, + "stbox_union": { + "field": "stboxUnion", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb", + "union_stbox_stbox" + ] + }, + "stbox_intersection": { + "field": "stboxIntersection", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb", + "intersection_stbox_stbox" + ] + }, + "bigintSpan": { + "field": "bigintSpan", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_from_hexwkb", + "tbox_to_bigintspan" + ] + }, + "atTbox": { + "field": "atTbox", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbox_from_hexwkb", + "tnumber_at_tbox", + "temporal_as_hexwkb" + ] + }, + "minusTbox": { + "field": "minusTbox", + "class": "SetSpanGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbox_from_hexwkb", + "tnumber_minus_tbox", + "temporal_as_hexwkb" + ] + }, + "span_distance": { + "field": "spanDistance", + "class": "SetSpanGapUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "span_from_hexwkb", + "distance_floatspan_floatspan" + ] + }, + "spanset_distance": { + "field": "spansetDistance", + "class": "SetSpanGapUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "spanset_from_hexwkb", + "distance_floatspanset_floatspanset" + ] + }, + "set_distance": { + "field": "setDistance", + "class": "SetSpanGapUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "set_from_hexwkb", + "distance_floatset_floatset" + ] + }, + "time_distance": { + "field": "timeDistanceSpan", + "class": "SetSpanGapUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "span_from_hexwkb", + "distance_tstzspan_tstzspan" + ] + }, + "time_distance_spanset": { + "field": "timeDistanceSpanset", + "class": "SetSpanGapUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "spanset_from_hexwkb", + "distance_tstzspanset_tstzspanset" + ] + }, + "startValue": { + "field": "startValue", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "trgeometry_start_value", + "geo_as_text" + ] + }, + "endValue": { + "field": "endValue", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "trgeometry_end_value", + "geo_as_text" + ] + }, + "valueN": { + "field": "valueN", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "trgeometry_value_n", + "geo_as_text" + ] + }, + "minusValue": { + "field": "minusValue", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "cbuffer_from_hexwkb", + "tcbuffer_minus_cbuffer", + "temporal_as_hexwkb" + ] + }, + "minusValues": { + "field": "minusValues", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_minus_values", + "temporal_as_hexwkb" + ] + }, + "atValue": { + "field": "atValue", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "cbuffer_from_hexwkb", + "tcbuffer_at_cbuffer", + "temporal_as_hexwkb", + "temporal_timestamps" + ] + }, + "traversedArea": { + "field": "traversedArea", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_traversed_area", + "geo_as_text" + ] + }, + "getSpace": { + "field": "getSpace", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb", + "stbox_get_space", + "stbox_as_hexwkb" + ] + }, + "tprecision": { + "field": "tprecision", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_tprecision", + "temporal_as_hexwkb" + ] + }, + "tsample": { + "field": "tsample", + "class": "AccessorGapUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_tsample", + "temporal_as_hexwkb" + ] + }, + "tboolInst": { + "field": "tboolInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Boolean", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "tboolinst_make", + "temporal_as_hexwkb" + ] + }, + "tintInst": { + "field": "tintInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Integer", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "tintinst_make", + "temporal_as_hexwkb" + ] + }, + "tfloatInst": { + "field": "tfloatInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Double", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "tfloatinst_make", + "temporal_as_hexwkb" + ] + }, + "ttextInst": { + "field": "ttextInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "cstring2text", + "ttextinst_make", + "temporal_as_hexwkb", + "temporal_from_hexwkb", + "temporal_to_tsequence", + "temporal_to_tsequenceset" + ] + }, + "tgeompointInst": { + "field": "tgeompointInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "tpointinst_make", + "temporal_as_hexwkb" + ] + }, + "tgeogpointInst": { + "field": "tgeogpointInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryInst": { + "field": "tgeometryInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "temporal_as_hexwkb" + ] + }, + "tgeographyInst": { + "field": "tgeographyInst", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [] + }, + "tboolSeq": { + "field": "tboolSeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tintSeq": { + "field": "tintSeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tfloatSeq": { + "field": "tfloatSeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "ttextSeq": { + "field": "ttextSeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointSeq": { + "field": "tgeompointSeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointSeq": { + "field": "tgeogpointSeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometrySeq": { + "field": "tgeometrySeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographySeq": { + "field": "tgeographySeq", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tboolSeqSet": { + "field": "tboolSeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tintSeqSet": { + "field": "tintSeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tfloatSeqSet": { + "field": "tfloatSeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "ttextSeqSet": { + "field": "ttextSeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointSeqSet": { + "field": "tgeompointSeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointSeqSet": { + "field": "tgeogpointSeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometrySeqSet": { + "field": "tgeometrySeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographySeqSet": { + "field": "tgeographySeqSet", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tempSubtype": { + "field": "tempSubtype", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_subtype" + ] + }, + "memSize": { + "field": "memSize", + "class": "SubtypeConstructorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb" + ] + }, + "getTime": { + "field": "getTime", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_time", + "spanset_as_hexwkb" + ] + }, + "deleteTime": { + "field": "deleteTime", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_delete_timestamptz", + "temporal_as_hexwkb" + ] + }, + "beforeTimestamp": { + "field": "beforeTimestamp", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "afterTimestamp": { + "field": "afterTimestamp", + "class": "SubtypeConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "temporalToTInstant": { + "field": "temporalToTInstant", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tinstant", + "temporal_as_hexwkb" + ] + }, + "temporalToTSequence": { + "field": "temporalToTSequence", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequence", + "temporal_as_hexwkb" + ] + }, + "temporalToTSequenceSet": { + "field": "temporalToTSequenceSet", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequenceset", + "temporal_as_hexwkb" + ] + }, + "temporalSetInterp": { + "field": "temporalSetInterp", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_set_interp", + "temporal_as_hexwkb" + ] + }, + "tfloatToTint": { + "field": "tfloatToTint", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_to_tint", + "temporal_as_hexwkb" + ] + }, + "tintToTfloat": { + "field": "tintToTfloat", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_to_tfloat", + "temporal_as_hexwkb" + ] + }, + "tintShiftValue": { + "field": "tintShiftValue", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_shift_value", + "temporal_as_hexwkb" + ] + }, + "tintScaleValue": { + "field": "tintScaleValue", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_scale_value", + "temporal_as_hexwkb" + ] + }, + "tintShiftScaleValue": { + "field": "tintShiftScaleValue", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Integer", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_shift_scale_value", + "temporal_as_hexwkb" + ] + }, + "tfloatShiftValue": { + "field": "tfloatShiftValue", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_shift_value", + "temporal_as_hexwkb" + ] + }, + "tfloatScaleValue": { + "field": "tfloatScaleValue", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_scale_value", + "temporal_as_hexwkb" + ] + }, + "tfloatShiftScaleValue": { + "field": "tfloatShiftScaleValue", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_shift_scale_value", + "temporal_as_hexwkb" + ] + }, + "temporalShiftTime": { + "field": "temporalShiftTime", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_shift_time", + "temporal_as_hexwkb" + ] + }, + "temporalScaleTime": { + "field": "temporalScaleTime", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_scale_time", + "temporal_as_hexwkb" + ] + }, + "temporalShiftScaleTime": { + "field": "temporalShiftScaleTime", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_shift_scale_time", + "temporal_as_hexwkb" + ] + }, + "tpointSetSrid": { + "field": "tpointSetSrid", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_set_srid", + "temporal_as_hexwkb" + ] + }, + "temporalSimplifyDp": { + "field": "temporalSimplifyDp", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_simplify_dp", + "temporal_as_hexwkb" + ] + }, + "temporalSimplifyMaxDist": { + "field": "temporalSimplifyMaxDist", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_simplify_max_dist", + "temporal_as_hexwkb" + ] + }, + "temporalSimplifyMinDist": { + "field": "temporalSimplifyMinDist", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_simplify_min_dist", + "temporal_as_hexwkb" + ] + }, + "temporalSimplifyMinTdelta": { + "field": "temporalSimplifyMinTdelta", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_simplify_min_tdelta", + "temporal_as_hexwkb" + ] + }, + "temporalTPrecision": { + "field": "temporalTPrecision", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_tprecision", + "temporal_as_hexwkb" + ] + }, + "temporalTSample": { + "field": "temporalTSample", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_tsample", + "temporal_as_hexwkb" + ] + }, + "tpointTrajectory": { + "field": "tpointTrajectory", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_trajectory", + "geo_as_text" + ] + }, + "floatsetCeil": { + "field": "floatsetCeil", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "floatset_ceil", + "set_as_hexwkb" + ] + }, + "floatsetFloor": { + "field": "floatsetFloor", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "floatset_floor", + "set_as_hexwkb" + ] + }, + "floatsetDegrees": { + "field": "floatsetDegrees", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "floatset_degrees", + "set_as_hexwkb" + ] + }, + "floatsetRadians": { + "field": "floatsetRadians", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "floatset_radians", + "set_as_hexwkb" + ] + }, + "textsetLower": { + "field": "textsetLower", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "textset_lower", + "set_as_hexwkb" + ] + }, + "textsetUpper": { + "field": "textsetUpper", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "textset_upper", + "set_as_hexwkb" + ] + }, + "textsetInitcap": { + "field": "textsetInitcap", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "textset_initcap", + "set_as_hexwkb" + ] + }, + "intspanShiftScale": { + "field": "intspanShiftScale", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Integer", + "Integer" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "intspan_shift_scale", + "span_as_hexwkb" + ] + }, + "floatspanShiftScale": { + "field": "floatspanShiftScale", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "floatspan_shift_scale", + "span_as_hexwkb" + ] + }, + "intspansetShiftScale": { + "field": "intspansetShiftScale", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Integer", + "Integer" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "intspanset_shift_scale", + "spanset_as_hexwkb" + ] + }, + "floatspansetShiftScale": { + "field": "floatspansetShiftScale", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_shift_scale", + "spanset_as_hexwkb" + ] + }, + "floatspansetCeil": { + "field": "floatspansetCeil", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_ceil", + "spanset_as_hexwkb" + ] + }, + "floatspansetFloor": { + "field": "floatspansetFloor", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_floor", + "spanset_as_hexwkb" + ] + }, + "floatspansetRound": { + "field": "floatspansetRound", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_round", + "spanset_as_hexwkb" + ] + }, + "intspansetToFloat": { + "field": "intspansetToFloat", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "intspanset_to_floatspanset", + "spanset_as_hexwkb" + ] + }, + "floatspansetToInt": { + "field": "floatspansetToInt", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_to_intspanset", + "spanset_as_hexwkb" + ] + }, + "douglasPeuckerSimplify": { + "field": "temporalSimplifyDp", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_simplify_dp", + "temporal_as_hexwkb" + ] + }, + "maxDistSimplify": { + "field": "temporalSimplifyMaxDist", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_simplify_max_dist", + "temporal_as_hexwkb" + ] + }, + "minDistSimplify": { + "field": "temporalSimplifyMinDist", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_simplify_min_dist", + "temporal_as_hexwkb" + ] + }, + "minTimeDeltaSimplify": { + "field": "temporalSimplifyMinTdelta", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_simplify_min_tdelta", + "temporal_as_hexwkb" + ] + }, + "intspanset": { + "field": "floatspansetToInt", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_to_intspanset", + "spanset_as_hexwkb" + ] + }, + "floatspanset": { + "field": "intspansetToFloat", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "intspanset_to_floatspanset", + "spanset_as_hexwkb" + ] + }, + "shiftScale": { + "field": "floatspanShiftScale", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "floatspan_shift_scale", + "span_as_hexwkb" + ] + }, + "dateset": { + "field": "tstzsetToDateset", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "tstzset_to_dateset", + "set_as_hexwkb" + ] + }, + "tstzset": { + "field": "tstzset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tstzset_in", + "set_as_hexwkb" + ] + }, + "span": { + "field": "temporalToTstzspan", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tstzspan", + "span_as_hexwkb" + ] + }, + "spanset": { + "field": "spanToSpanset", + "class": "TransformUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "span_to_spanset", + "spanset_as_hexwkb" + ] + }, + "getTimeTile": { + "field": "getTimeTile", + "class": "TileUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "Timestamp", + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "stbox_as_hexwkb" + ] + }, + "getSpaceTile": { + "field": "getSpaceTile", + "class": "TileUDFs", + "retDataType": "StringType", + "arity": 5, + "argTypes": [ + "String", + "Double", + "Double", + "Double", + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "stbox_as_hexwkb" + ] + }, + "getSpaceTimeTile": { + "field": "getSpaceTimeTile", + "class": "TileUDFs", + "retDataType": "StringType", + "arity": 8, + "argTypes": [ + "String", + "Timestamp", + "Double", + "Double", + "Double", + "String", + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "pg_interval_in", + "stbox_as_hexwkb" + ] + }, + "getStboxTimeTile": { + "field": "getTimeTile", + "class": "TileUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "Timestamp", + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "stbox_as_hexwkb" + ] + }, + "getValueTile": { + "field": "getValueTileFloat", + "class": "TileUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "Double", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [ + "tbox_as_hexwkb" + ] + }, + "getTBoxTimeTile": { + "field": "getTBoxTimeTile", + "class": "TileUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "Timestamp", + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "tbox_as_hexwkb", + "temporal_from_hexwkb", + "geo_as_hexewkb", + "stbox_from_hexwkb", + "geo_as_text" + ] + }, + "tnumberAdjacentTnumber": { + "field": "tnumberAdjacentTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberContainsTnumber": { + "field": "tnumberContainsTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberContainedTnumber": { + "field": "tnumberContainedTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverlapsTnumber": { + "field": "tnumberOverlapsTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberSameTnumber": { + "field": "tnumberSameTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "numspanAdjacentTnumber": { + "field": "numspanAdjacentTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "numspanContainsTnumber": { + "field": "numspanContainsTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "numspanContainedTnumber": { + "field": "numspanContainedTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "numspanOverlapsTnumber": { + "field": "numspanOverlapsTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "numspanSameTnumber": { + "field": "numspanSameTnumber", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberAdjacentNumspan": { + "field": "tnumberAdjacentNumspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberContainsNumspan": { + "field": "tnumberContainsNumspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberContainedNumspan": { + "field": "tnumberContainedNumspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverlapsNumspan": { + "field": "tnumberOverlapsNumspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberSameNumspan": { + "field": "tnumberSameNumspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tstzspanAdjacentTemporal": { + "field": "tstzspanAdjacentTemporal", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tstzspanContainsTemporal": { + "field": "tstzspanContainsTemporal", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tstzspanContainedTemporal": { + "field": "tstzspanContainedTemporal", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tstzspanOverlapsTemporal": { + "field": "tstzspanOverlapsTemporal", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tstzspanSameTemporal": { + "field": "tstzspanSameTemporal", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "temporalAdjacentTstzspan": { + "field": "temporalAdjacentTstzspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "temporalContainsTstzspan": { + "field": "temporalContainsTstzspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "temporalContainedTstzspan": { + "field": "temporalContainedTstzspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "temporalOverlapsTstzspan": { + "field": "temporalOverlapsTstzspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "temporalSameTstzspan": { + "field": "temporalSameTstzspan", + "class": "TemporalBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "floatBucket": { + "field": "floatBucket", + "class": "BucketUDFs", + "retDataType": "DoubleType", + "arity": 3, + "argTypes": [ + "Double", + "Double", + "Double" + ], + "retType": "Double", + "meosFns": [] + }, + "intBucket": { + "field": "intBucket", + "class": "BucketUDFs", + "retDataType": "IntegerType", + "arity": 3, + "argTypes": [ + "Integer", + "Integer", + "Integer" + ], + "retType": "Integer", + "meosFns": [] + }, + "temporalAtTstzspan": { + "field": "temporalAtTstzspan", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "temporal_at_tstzspan", + "temporal_as_hexwkb" + ] + }, + "temporalAtTstzspanset": { + "field": "temporalAtTstzspanset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "spanset_from_hexwkb", + "temporal_at_tstzspanset", + "temporal_as_hexwkb" + ] + }, + "temporalAtTstzset": { + "field": "temporalAtTstzset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_at_tstzset", + "temporal_as_hexwkb" + ] + }, + "temporalMinusTstzset": { + "field": "temporalMinusTstzset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_minus_tstzset", + "temporal_as_hexwkb" + ] + }, + "temporalMinusTstzspan": { + "field": "temporalMinusTstzspan", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "temporal_minus_tstzspan", + "temporal_as_hexwkb" + ] + }, + "temporalMinusTstzspanset": { + "field": "temporalMinusTstzspanset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "spanset_from_hexwkb", + "temporal_minus_tstzspanset", + "temporal_as_hexwkb" + ] + }, + "temporalAtTimestamptz": { + "field": "temporalAtTimestamptz", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_at_timestamptz", + "temporal_as_hexwkb" + ] + }, + "temporalMinusTimestamptz": { + "field": "temporalMinusTimestamptz", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_minus_timestamptz", + "temporal_as_hexwkb" + ] + }, + "temporalDeleteTstzspan": { + "field": "temporalDeleteTstzspan", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "temporal_delete_tstzspan", + "temporal_as_hexwkb" + ] + }, + "temporalDeleteTstzspanset": { + "field": "temporalDeleteTstzspanset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "spanset_from_hexwkb", + "temporal_delete_tstzspanset", + "temporal_as_hexwkb" + ] + }, + "temporalDeleteTstzset": { + "field": "temporalDeleteTstzset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_delete_tstzset", + "temporal_as_hexwkb" + ] + }, + "temporalDeleteTimestamptz": { + "field": "temporalDeleteTimestamptz", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_delete_timestamptz", + "temporal_as_hexwkb" + ] + }, + "tfloatAtValue": { + "field": "tfloatAtValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_at_value", + "temporal_as_hexwkb" + ] + }, + "tfloatMinusValue": { + "field": "tfloatMinusValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_minus_value", + "temporal_as_hexwkb" + ] + }, + "tintAtValue": { + "field": "tintAtValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_at_value", + "temporal_as_hexwkb" + ] + }, + "tintMinusValue": { + "field": "tintMinusValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_minus_value", + "temporal_as_hexwkb" + ] + }, + "tnumberAtSpan": { + "field": "tnumberAtSpan", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "tnumber_at_span", + "temporal_as_hexwkb" + ] + }, + "tnumberMinusSpan": { + "field": "tnumberMinusSpan", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "tnumber_minus_span", + "temporal_as_hexwkb" + ] + }, + "tnumberAtSpanset": { + "field": "tnumberAtSpanset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "spanset_from_hexwkb", + "tnumber_at_spanset", + "temporal_as_hexwkb" + ] + }, + "tnumberMinusSpanset": { + "field": "tnumberMinusSpanset", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "spanset_from_hexwkb", + "tnumber_minus_spanset", + "temporal_as_hexwkb" + ] + }, + "tboolAtValue": { + "field": "tboolAtValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_at_value", + "temporal_as_hexwkb" + ] + }, + "tboolMinusValue": { + "field": "tboolMinusValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_minus_value", + "temporal_as_hexwkb" + ] + }, + "ttextAtValue": { + "field": "ttextAtValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "cstring2text", + "ttext_at_value", + "temporal_as_hexwkb" + ] + }, + "ttextMinusValue": { + "field": "ttextMinusValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "cstring2text", + "ttext_minus_value", + "temporal_as_hexwkb" + ] + }, + "tpointAtValue": { + "field": "tpointAtValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tpoint_at_value", + "temporal_as_hexwkb" + ] + }, + "tpointMinusValue": { + "field": "tpointMinusValue", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tpoint_minus_value", + "temporal_as_hexwkb" + ] + }, + "tgeoAtStbox": { + "field": "tgeoAtStbox", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "stbox_from_hexwkb", + "tgeo_at_stbox", + "temporal_as_hexwkb" + ] + }, + "tgeoMinusStbox": { + "field": "tgeoMinusStbox", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "stbox_from_hexwkb", + "tgeo_minus_stbox", + "temporal_as_hexwkb" + ] + }, + "tpointAtElevation": { + "field": "tpointAtElevation", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "tpoint_at_elevation", + "temporal_as_hexwkb" + ] + }, + "tpointMinusElevation": { + "field": "tpointMinusElevation", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "tpoint_minus_elevation", + "temporal_as_hexwkb" + ] + }, + "temporalAtMax": { + "field": "temporalAtMax", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_at_max", + "temporal_as_hexwkb" + ] + }, + "temporalAtMin": { + "field": "temporalAtMin", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_at_min", + "temporal_as_hexwkb" + ] + }, + "temporalAtValues": { + "field": "temporalAtValues", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_at_values", + "temporal_as_hexwkb" + ] + }, + "temporalMinusValues": { + "field": "temporalMinusValues", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_minus_values", + "temporal_as_hexwkb" + ] + }, + "tgeoAtGeom": { + "field": "tgeoAtGeom", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tgeo_at_geom", + "temporal_as_hexwkb" + ] + }, + "tgeoMinusGeom": { + "field": "tgeoMinusGeom", + "class": "RestrictionUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tgeo_minus_geom", + "temporal_as_hexwkb" + ] + }, + "temporalEq": { + "field": "temporalEq", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_eq" + ] + }, + "temporalNe": { + "field": "temporalNe", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_ne" + ] + }, + "temporalLt": { + "field": "temporalLt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_lt" + ] + }, + "temporalLe": { + "field": "temporalLe", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_le" + ] + }, + "temporalGt": { + "field": "temporalGt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_gt" + ] + }, + "temporalGe": { + "field": "temporalGe", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_ge" + ] + }, + "everEqTintInt": { + "field": "everEqTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_tint_int" + ] + }, + "everEqTfloatFloat": { + "field": "everEqTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_tfloat_float" + ] + }, + "everEqTemporal": { + "field": "everEqTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_temporal_temporal" + ] + }, + "everLtTintInt": { + "field": "everLtTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "ever_lt_tint_int" + ] + }, + "everLtTfloatFloat": { + "field": "everLtTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "ever_lt_tfloat_float" + ] + }, + "everLtTemporal": { + "field": "everLtTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_lt_temporal_temporal" + ] + }, + "everLeTintInt": { + "field": "everLeTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "ever_le_tint_int" + ] + }, + "everLeTfloatFloat": { + "field": "everLeTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "ever_le_tfloat_float" + ] + }, + "everLeTemporal": { + "field": "everLeTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_le_temporal_temporal" + ] + }, + "everGtTintInt": { + "field": "everGtTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "ever_gt_tint_int" + ] + }, + "everGtTfloatFloat": { + "field": "everGtTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "ever_gt_tfloat_float" + ] + }, + "everGtTemporal": { + "field": "everGtTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_gt_temporal_temporal" + ] + }, + "everGeTintInt": { + "field": "everGeTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ge_tint_int" + ] + }, + "everGeTfloatFloat": { + "field": "everGeTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ge_tfloat_float" + ] + }, + "everGeTemporal": { + "field": "everGeTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ge_temporal_temporal" + ] + }, + "everNeTintInt": { + "field": "everNeTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_tint_int" + ] + }, + "everNeTfloatFloat": { + "field": "everNeTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_tfloat_float" + ] + }, + "everNeTemporal": { + "field": "everNeTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_temporal_temporal" + ] + }, + "alwaysEqTintInt": { + "field": "alwaysEqTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_tint_int" + ] + }, + "alwaysEqTfloatFloat": { + "field": "alwaysEqTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_tfloat_float" + ] + }, + "alwaysEqTemporal": { + "field": "alwaysEqTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_temporal_temporal" + ] + }, + "alwaysLtTintInt": { + "field": "alwaysLtTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "always_lt_tint_int" + ] + }, + "alwaysLtTfloatFloat": { + "field": "alwaysLtTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "always_lt_tfloat_float" + ] + }, + "alwaysLtTemporal": { + "field": "alwaysLtTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_lt_temporal_temporal" + ] + }, + "alwaysLeTintInt": { + "field": "alwaysLeTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "always_le_tint_int" + ] + }, + "alwaysLeTfloatFloat": { + "field": "alwaysLeTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "always_le_tfloat_float" + ] + }, + "alwaysLeTemporal": { + "field": "alwaysLeTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_le_temporal_temporal" + ] + }, + "alwaysGtTintInt": { + "field": "alwaysGtTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "always_gt_tint_int" + ] + }, + "alwaysGtTfloatFloat": { + "field": "alwaysGtTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "always_gt_tfloat_float" + ] + }, + "alwaysGtTemporal": { + "field": "alwaysGtTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_gt_temporal_temporal" + ] + }, + "alwaysGeTintInt": { + "field": "alwaysGeTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "always_ge_tint_int" + ] + }, + "alwaysGeTfloatFloat": { + "field": "alwaysGeTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "always_ge_tfloat_float" + ] + }, + "alwaysGeTemporal": { + "field": "alwaysGeTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ge_temporal_temporal" + ] + }, + "alwaysNeTintInt": { + "field": "alwaysNeTintInt", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_tint_int" + ] + }, + "alwaysNeTfloatFloat": { + "field": "alwaysNeTfloatFloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_tfloat_float" + ] + }, + "alwaysNeTemporal": { + "field": "alwaysNeTemporal", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_temporal_temporal" + ] + }, + "alwaysEqIntTint": { + "field": "alwaysEqIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_int_tint" + ] + }, + "alwaysNeIntTint": { + "field": "alwaysNeIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_int_tint" + ] + }, + "alwaysLtIntTint": { + "field": "alwaysLtIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_lt_int_tint" + ] + }, + "alwaysLeIntTint": { + "field": "alwaysLeIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_le_int_tint" + ] + }, + "alwaysGtIntTint": { + "field": "alwaysGtIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_gt_int_tint" + ] + }, + "alwaysGeIntTint": { + "field": "alwaysGeIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ge_int_tint" + ] + }, + "alwaysEqFloatTfloat": { + "field": "alwaysEqFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_float_tfloat" + ] + }, + "alwaysNeFloatTfloat": { + "field": "alwaysNeFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_float_tfloat" + ] + }, + "alwaysLtFloatTfloat": { + "field": "alwaysLtFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_lt_float_tfloat" + ] + }, + "alwaysLeFloatTfloat": { + "field": "alwaysLeFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_le_float_tfloat" + ] + }, + "alwaysGtFloatTfloat": { + "field": "alwaysGtFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_gt_float_tfloat" + ] + }, + "alwaysGeFloatTfloat": { + "field": "alwaysGeFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ge_float_tfloat" + ] + }, + "everEqIntTint": { + "field": "everEqIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_int_tint" + ] + }, + "everNeIntTint": { + "field": "everNeIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_int_tint" + ] + }, + "everLtIntTint": { + "field": "everLtIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_lt_int_tint" + ] + }, + "everLeIntTint": { + "field": "everLeIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_le_int_tint" + ] + }, + "everGtIntTint": { + "field": "everGtIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_gt_int_tint" + ] + }, + "everGeIntTint": { + "field": "everGeIntTint", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ge_int_tint" + ] + }, + "everEqFloatTfloat": { + "field": "everEqFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_float_tfloat" + ] + }, + "everNeFloatTfloat": { + "field": "everNeFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_float_tfloat" + ] + }, + "everLtFloatTfloat": { + "field": "everLtFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_lt_float_tfloat" + ] + }, + "everLeFloatTfloat": { + "field": "everLeFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_le_float_tfloat" + ] + }, + "everGtFloatTfloat": { + "field": "everGtFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_gt_float_tfloat" + ] + }, + "everGeFloatTfloat": { + "field": "everGeFloatTfloat", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ge_float_tfloat" + ] + }, + "alwaysEqTboolBool": { + "field": "alwaysEqTboolBool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_tbool_bool" + ] + }, + "alwaysNeTboolBool": { + "field": "alwaysNeTboolBool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_tbool_bool" + ] + }, + "alwaysEqBoolTbool": { + "field": "alwaysEqBoolTbool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_eq_bool_tbool" + ] + }, + "alwaysNeBoolTbool": { + "field": "alwaysNeBoolTbool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "always_ne_bool_tbool" + ] + }, + "everEqTboolBool": { + "field": "everEqTboolBool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_tbool_bool" + ] + }, + "everNeTboolBool": { + "field": "everNeTboolBool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_tbool_bool" + ] + }, + "everEqBoolTbool": { + "field": "everEqBoolTbool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_eq_bool_tbool" + ] + }, + "everNeBoolTbool": { + "field": "everNeBoolTbool", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "ever_ne_bool_tbool", + "ttext_in", + "ttext_value_n", + "temporal_from_hexwkb" + ] + }, + "alwaysEqTextTtext": { + "field": "alwaysEqTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysNeTextTtext": { + "field": "alwaysNeTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysLtTextTtext": { + "field": "alwaysLtTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysLeTextTtext": { + "field": "alwaysLeTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysGtTextTtext": { + "field": "alwaysGtTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysGeTextTtext": { + "field": "alwaysGeTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysEqTtextText": { + "field": "alwaysEqTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysNeTtextText": { + "field": "alwaysNeTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysLtTtextText": { + "field": "alwaysLtTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysLeTtextText": { + "field": "alwaysLeTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysGtTtextText": { + "field": "alwaysGtTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "alwaysGeTtextText": { + "field": "alwaysGeTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everEqTextTtext": { + "field": "everEqTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everNeTextTtext": { + "field": "everNeTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everLtTextTtext": { + "field": "everLtTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everLeTextTtext": { + "field": "everLeTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everGtTextTtext": { + "field": "everGtTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everGeTextTtext": { + "field": "everGeTextTtext", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everEqTtextText": { + "field": "everEqTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everNeTtextText": { + "field": "everNeTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everLtTtextText": { + "field": "everLtTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everLeTtextText": { + "field": "everLeTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everGtTtextText": { + "field": "everGtTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "everGeTtextText": { + "field": "everGeTtextText", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tpointIsSimple": { + "field": "tpointIsSimple", + "class": "PredicateUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_is_simple" + ] + }, + "tboxLeftTbox": { + "field": "tboxLeftTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverleftTbox": { + "field": "tboxOverleftTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxRightTbox": { + "field": "tboxRightTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverrightTbox": { + "field": "tboxOverrightTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxBeforeTbox": { + "field": "tboxBeforeTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverbeforeTbox": { + "field": "tboxOverbeforeTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxAfterTbox": { + "field": "tboxAfterTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverafterTbox": { + "field": "tboxOverafterTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxAdjacentTbox": { + "field": "tboxAdjacentTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxContainsTbox": { + "field": "tboxContainsTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxContainedTbox": { + "field": "tboxContainedTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverlapsTbox": { + "field": "tboxOverlapsTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxSameTbox": { + "field": "tboxSameTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxLeftTnumber": { + "field": "tboxLeftTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverleftTnumber": { + "field": "tboxOverleftTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxRightTnumber": { + "field": "tboxRightTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverrightTnumber": { + "field": "tboxOverrightTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxBeforeTnumber": { + "field": "tboxBeforeTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverbeforeTnumber": { + "field": "tboxOverbeforeTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxAfterTnumber": { + "field": "tboxAfterTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverafterTnumber": { + "field": "tboxOverafterTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxAdjacentTnumber": { + "field": "tboxAdjacentTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxContainsTnumber": { + "field": "tboxContainsTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxContainedTnumber": { + "field": "tboxContainedTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverlapsTnumber": { + "field": "tboxOverlapsTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxSameTnumber": { + "field": "tboxSameTnumber", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberLeftTbox": { + "field": "tnumberLeftTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverleftTbox": { + "field": "tnumberOverleftTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberRightTbox": { + "field": "tnumberRightTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverrightTbox": { + "field": "tnumberOverrightTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberBeforeTbox": { + "field": "tnumberBeforeTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverbeforeTbox": { + "field": "tnumberOverbeforeTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberAfterTbox": { + "field": "tnumberAfterTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverafterTbox": { + "field": "tnumberOverafterTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberAdjacentTbox": { + "field": "tnumberAdjacentTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberContainsTbox": { + "field": "tnumberContainsTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberContainedTbox": { + "field": "tnumberContainedTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberOverlapsTbox": { + "field": "tnumberOverlapsTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tnumberSameTbox": { + "field": "tnumberSameTbox", + "class": "TBoxOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "intspanLower": { + "field": "intspanLower", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "span_from_hexwkb", + "intspan_lower" + ] + }, + "intspanUpper": { + "field": "intspanUpper", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "span_from_hexwkb", + "intspan_upper" + ] + }, + "intspanWidth": { + "field": "intspanWidth", + "class": "AccessorAliasUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "span_from_hexwkb", + "intspan_width" + ] + }, + "floatspanLower": { + "field": "floatspanLower", + "class": "SpanAccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "span_from_hexwkb", + "floatspan_lower" + ] + }, + "floatspanUpper": { + "field": "floatspanUpper", + "class": "SpanAccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "span_from_hexwkb", + "floatspan_upper" + ] + }, + "floatspanWidth": { + "field": "floatspanWidth", + "class": "AccessorAliasUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "span_from_hexwkb", + "floatspan_width" + ] + }, + "bigintspanLower": { + "field": "bigintspanLower", + "class": "SpanAccessorUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "span_from_hexwkb", + "bigintspan_lower" + ] + }, + "bigintspanUpper": { + "field": "bigintspanUpper", + "class": "SpanAccessorUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "span_from_hexwkb", + "bigintspan_upper" + ] + }, + "datespanLower": { + "field": "datespanLower", + "class": "SpanAccessorUDFs", + "retDataType": "DateType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Date", + "meosFns": [ + "span_from_hexwkb", + "datespan_lower" + ] + }, + "datespanUpper": { + "field": "datespanUpper", + "class": "SpanAccessorUDFs", + "retDataType": "DateType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Date", + "meosFns": [ + "span_from_hexwkb", + "datespan_upper" + ] + }, + "tstzspanLower": { + "field": "tstzspanLower", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "span_from_hexwkb", + "tstzspan_lower" + ] + }, + "tstzspanUpper": { + "field": "tstzspanUpper", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "span_from_hexwkb", + "tstzspan_upper" + ] + }, + "spanLowerInc": { + "field": "spanLowerInc", + "class": "SpanAccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "span_from_hexwkb", + "span_lower_inc" + ] + }, + "spanUpperInc": { + "field": "spanUpperInc", + "class": "SpanAccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "span_from_hexwkb", + "span_upper_inc" + ] + }, + "spansetNumSpans": { + "field": "spansetNumSpans", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_num_spans" + ] + }, + "spansetStartSpan": { + "field": "spansetStartSpan", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_start_span", + "span_as_hexwkb" + ] + }, + "spansetEndSpan": { + "field": "spansetEndSpan", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_end_span", + "span_as_hexwkb" + ] + }, + "spansetLowerInc": { + "field": "spansetLowerInc", + "class": "SpanAccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_lower_inc" + ] + }, + "spansetUpperInc": { + "field": "spansetUpperInc", + "class": "SpanAccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_upper_inc" + ] + }, + "spanToSpanset": { + "field": "spanToSpanset", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "span_to_spanset", + "spanset_as_hexwkb" + ] + }, + "setNumValues": { + "field": "setNumValues", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "set_from_hexwkb", + "set_num_values" + ] + }, + "intsetStartValue": { + "field": "intsetStartValue", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "set_from_hexwkb", + "intset_start_value" + ] + }, + "intsetEndValue": { + "field": "intsetEndValue", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "set_from_hexwkb", + "intset_end_value", + "set_num_values", + "intset_values" + ] + }, + "floatsetStartValue": { + "field": "floatsetStartValue", + "class": "SpanAccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "set_from_hexwkb", + "floatset_start_value" + ] + }, + "floatsetEndValue": { + "field": "floatsetEndValue", + "class": "SpanAccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "set_from_hexwkb", + "floatset_end_value", + "set_num_values", + "floatset_values" + ] + }, + "datesetStartValue": { + "field": "datesetStartValue", + "class": "SpanAccessorUDFs", + "retDataType": "DateType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Date", + "meosFns": [ + "set_from_hexwkb", + "dateset_start_value" + ] + }, + "datesetEndValue": { + "field": "datesetEndValue", + "class": "SpanAccessorUDFs", + "retDataType": "DateType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Date", + "meosFns": [ + "set_from_hexwkb", + "dateset_end_value", + "set_num_values", + "dateset_values" + ] + }, + "tstzsetStartValue": { + "field": "tstzsetStartValue", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "set_from_hexwkb", + "tstzset_start_value" + ] + }, + "tstzsetEndValue": { + "field": "tstzsetEndValue", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "set_from_hexwkb", + "tstzset_end_value", + "set_num_values", + "tstzset_values" + ] + }, + "textsetStartValue": { + "field": "textsetStartValue", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "textset_start_value", + "text_out" + ] + }, + "textsetEndValue": { + "field": "textsetEndValue", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "textset_end_value", + "text_out", + "set_num_values", + "textset_values" + ] + }, + "tstzspansetLower": { + "field": "tstzspansetLower", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "spanset_from_hexwkb", + "tstzspanset_lower" + ] + }, + "tstzspansetUpper": { + "field": "tstzspansetUpper", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "spanset_from_hexwkb", + "tstzspanset_upper" + ] + }, + "tstzspansetStartTimestamptz": { + "field": "tstzspansetStartTimestamptz", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "spanset_from_hexwkb", + "tstzspanset_start_timestamptz" + ] + }, + "tstzspansetEndTimestamptz": { + "field": "tstzspansetEndTimestamptz", + "class": "SpanAccessorUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "spanset_from_hexwkb", + "tstzspanset_end_timestamptz" + ] + }, + "spansetSpanN": { + "field": "spansetSpanN", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_span_n", + "span_as_hexwkb" + ] + }, + "intspansetLower": { + "field": "intspansetLower", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "intspanset_lower" + ] + }, + "intspansetUpper": { + "field": "intspansetUpper", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "intspanset_upper" + ] + }, + "intspansetWidth": { + "field": "intspansetWidth", + "class": "AccessorAliasUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "intspanset_width" + ] + }, + "floatspansetLower": { + "field": "floatspansetLower", + "class": "SpanAccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_start_span", + "floatspan_lower" + ] + }, + "floatspansetUpper": { + "field": "floatspansetUpper", + "class": "SpanAccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_end_span", + "floatspan_upper" + ] + }, + "floatspansetWidth": { + "field": "floatspansetWidth", + "class": "AccessorAliasUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Double", + "meosFns": [ + "spanset_from_hexwkb", + "floatspanset_width" + ] + }, + "tstzspansetNumTimestamps": { + "field": "tstzspansetNumTimestamps", + "class": "SpanAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "tstzspanset_num_timestamps", + "tstzspanset_timestamps" + ] + }, + "tstzspansetDuration": { + "field": "tstzspansetDuration", + "class": "SpanAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "tstzspanset_duration", + "pg_interval_out" + ] + }, + "intsetFromHexWKB": { + "field": "intsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "bigintsetFromHexWKB": { + "field": "bigintsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "floatsetFromHexWKB": { + "field": "floatsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "textsetFromHexWKB": { + "field": "textsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tstzsetFromHexWKB": { + "field": "tstzsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "datesetFromHexWKB": { + "field": "datesetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "intspanFromHexWKB": { + "field": "intspanFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "bigintspanFromHexWKB": { + "field": "bigintspanFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "floatspanFromHexWKB": { + "field": "floatspanFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tstzspanFromHexWKB": { + "field": "tstzspanFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "datespanFromHexWKB": { + "field": "datespanFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "intspansetFromHexWKB": { + "field": "intspansetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "bigintspansetFromHexWKB": { + "field": "bigintspansetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "floatspansetFromHexWKB": { + "field": "floatspansetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tstzspansetFromHexWKB": { + "field": "tstzspansetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "datespansetFromHexWKB": { + "field": "datespansetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tboolFromHexWKB": { + "field": "tboolFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tintFromHexWKB": { + "field": "tintFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tfloatFromHexWKB": { + "field": "tfloatFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "ttextFromHexWKB": { + "field": "ttextFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryFromHexEWKB": { + "field": "tgeometryFromHexEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographyFromHexEWKB": { + "field": "tgeographyFromHexEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointFromHexEWKB": { + "field": "tgeompointFromHexEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointFromHexEWKB": { + "field": "tgeogpointFromHexEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryFromMFJSON": { + "field": "tgeometryFromMFJSON", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographyFromMFJSON": { + "field": "tgeographyFromMFJSON", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointFromMFJSON": { + "field": "tgeompointFromMFJSON", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointFromMFJSON": { + "field": "tgeogpointFromMFJSON", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tboolFromText": { + "field": "tboolFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tintFromText": { + "field": "tintFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tfloatFromText": { + "field": "tfloatFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "ttextFromText": { + "field": "ttextFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointFromText": { + "field": "tgeompointFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointFromText": { + "field": "tgeogpointFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointFromEWKT": { + "field": "tgeompointFromEWKT", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointFromEWKT": { + "field": "tgeogpointFromEWKT", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryFromText": { + "field": "tgeometryFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographyFromText": { + "field": "tgeographyFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryFromEWKT": { + "field": "tgeometryFromEWKT", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographyFromEWKT": { + "field": "tgeographyFromEWKT", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "tboolFromBinary": { + "field": "tboolFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tintFromBinary": { + "field": "tintFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tfloatFromBinary": { + "field": "tfloatFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "ttextFromBinary": { + "field": "ttextFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointFromBinary": { + "field": "tgeompointFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointFromBinary": { + "field": "tgeogpointFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryFromBinary": { + "field": "tgeometryFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographyFromBinary": { + "field": "tgeographyFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointFromEWKB": { + "field": "tgeompointFromEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointFromEWKB": { + "field": "tgeogpointFromEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometryFromEWKB": { + "field": "tgeometryFromEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographyFromEWKB": { + "field": "tgeographyFromEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "asBinary": { + "field": "asBinary", + "class": "IOAliasUDFs", + "retDataType": "BinaryType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "byte[]", + "meosFns": [] + }, + "asEWKB": { + "field": "asEWKB", + "class": "IOAliasUDFs", + "retDataType": "BinaryType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "byte[]", + "meosFns": [] + }, + "asHexEWKB": { + "field": "asHexEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb", + "geomset_in", + "set_as_hexwkb", + "geogset_in", + "set_from_hexwkb" + ] + }, + "geomsetFromText": { + "field": "geomsetFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geogsetFromText": { + "field": "geogsetFromText", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geomsetFromEWKT": { + "field": "geomsetFromEWKT", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geogsetFromEWKT": { + "field": "geogsetFromEWKT", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geomsetFromHexWKB": { + "field": "geomsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geogsetFromHexWKB": { + "field": "geogsetFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "geomsetFromBinary": { + "field": "geomsetFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "geogsetFromBinary": { + "field": "geogsetFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "geomsetFromEWKB": { + "field": "geomsetFromEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "geogsetFromEWKB": { + "field": "geogsetFromEWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tboxFromHexWKB": { + "field": "tboxFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_from_hexwkb", + "tbox_as_hexwkb" + ] + }, + "tboxFromBinary": { + "field": "tboxFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [ + "tbox_from_hexwkb", + "tbox_as_hexwkb" + ] + }, + "stboxFromHexWKB": { + "field": "stboxFromHexWKB", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb", + "stbox_as_hexwkb" + ] + }, + "stboxFromBinary": { + "field": "stboxFromBinary", + "class": "IOAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb", + "stbox_as_hexwkb" + ] + }, + "ttextUpper": { + "field": "ttextUpper", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_upper", + "temporal_as_hexwkb" + ] + }, + "ttextLower": { + "field": "ttextLower", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_lower", + "temporal_as_hexwkb" + ] + }, + "ttextInitcap": { + "field": "ttextInitcap", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_initcap", + "temporal_as_hexwkb", + "ttext_in", + "ttext_value_n" + ] + }, + "teqTextTtext": { + "field": "teqTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tneTextTtext": { + "field": "tneTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tltTextTtext": { + "field": "tltTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tleTextTtext": { + "field": "tleTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgtTextTtext": { + "field": "tgtTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeTextTtext": { + "field": "tgeTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "teqTtextText": { + "field": "teqTtextText", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tneTtextText": { + "field": "tneTtextText", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tltTtextText": { + "field": "tltTtextText", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tleTtextText": { + "field": "tleTtextText", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgtTtextText": { + "field": "tgtTtextText", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeTtextText": { + "field": "tgeTtextText", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "ttextCatTtextText": { + "field": "ttextCatTtextText", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "cstring2text", + "temporal_as_hexwkb" + ] + }, + "ttextCatTextTtext": { + "field": "ttextCatTextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "cstring2text", + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "ttextCatTtextTtext": { + "field": "ttextCatTtextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "ttextCat": { + "field": "ttextCatTtextTtext", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "textsetCatTextsetText": { + "field": "textsetCatTextsetText", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "cstring2text", + "textcat_textset_text", + "set_as_hexwkb" + ] + }, + "textsetCatTextTextset": { + "field": "textsetCatTextTextset", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "cstring2text", + "set_from_hexwkb", + "textcat_text_textset", + "set_as_hexwkb" + ] + }, + "textsetCat": { + "field": "textsetCatTextsetText", + "class": "TTextUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "cstring2text", + "textcat_textset_text", + "set_as_hexwkb" + ] + }, + "tint": { + "field": "tint", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tint_in", + "temporal_as_hexwkb" + ] + }, + "tfloat": { + "field": "tfloat", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tfloat_in", + "temporal_as_hexwkb" + ] + }, + "tbool": { + "field": "tbool", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbool_in", + "temporal_as_hexwkb" + ] + }, + "ttext": { + "field": "ttext", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "ttext_in", + "temporal_as_hexwkb" + ] + }, + "tgeogpoint": { + "field": "tgeogpoint", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tgeogpoint_in", + "temporal_as_hexwkb" + ] + }, + "tstzspan": { + "field": "tstzspan", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tstzspan_in", + "span_as_hexwkb" + ] + }, + "tstzspanset": { + "field": "tstzspanset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tstzspanset_in", + "spanset_as_hexwkb" + ] + }, + "intspan": { + "field": "intspan", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "intspan_in", + "span_as_hexwkb" + ] + }, + "floatspan": { + "field": "floatspan", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "floatspan_in", + "span_as_hexwkb" + ] + }, + "datespan": { + "field": "datespan", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "datespan_in", + "span_as_hexwkb" + ] + }, + "datespanset": { + "field": "datespanset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "datespanset_in", + "spanset_as_hexwkb" + ] + }, + "intset": { + "field": "intset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "intset_in", + "set_as_hexwkb" + ] + }, + "floatset": { + "field": "floatset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "floatset_in", + "set_as_hexwkb" + ] + }, + "textset": { + "field": "textset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "textset_in", + "set_as_hexwkb" + ] + }, + "bigintset": { + "field": "bigintset", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "bigintset_in", + "set_as_hexwkb" + ] + }, + "stbox": { + "field": "stbox", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_in", + "stbox_as_hexwkb" + ] + }, + "tbox": { + "field": "tbox", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_in", + "tbox_as_hexwkb" + ] + }, + "tboolFromMfjson": { + "field": "tboolFromMfjson", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbool_from_mfjson", + "temporal_as_hexwkb" + ] + }, + "tintFromMfjson": { + "field": "tintFromMfjson", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tint_from_mfjson", + "temporal_as_hexwkb" + ] + }, + "tfloatFromMfjson": { + "field": "tfloatFromMfjson", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tfloat_from_mfjson", + "temporal_as_hexwkb" + ] + }, + "ttextFromMfjson": { + "field": "ttextFromMfjson", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "ttext_from_mfjson", + "temporal_as_hexwkb" + ] + }, + "tgeompointFromMfjson": { + "field": "tgeompointFromMfjson", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tgeompoint_from_mfjson", + "temporal_as_hexwkb" + ] + }, + "tgeogpointFromMfjson": { + "field": "tgeogpointFromMfjson", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tgeogpoint_from_mfjson", + "temporal_as_hexwkb" + ] + }, + "tboolFromBaseTemp": { + "field": "tboolFromBaseTemp", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_from_base_temp", + "temporal_as_hexwkb" + ] + }, + "tintFromBaseTemp": { + "field": "tintFromBaseTemp", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Integer", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_from_base_temp", + "temporal_as_hexwkb" + ] + }, + "tfloatFromBaseTemp": { + "field": "tfloatFromBaseTemp", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Double", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_from_base_temp", + "temporal_as_hexwkb" + ] + }, + "ttextFromBaseTemp": { + "field": "ttextFromBaseTemp", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "ttext_in", + "ttext_value_n", + "temporal_from_hexwkb", + "ttext_from_base_temp", + "temporal_as_hexwkb" + ] + }, + "tpointFromBaseTemp": { + "field": "tpointFromBaseTemp", + "class": "ConstructorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "temporal_from_hexwkb", + "tpoint_from_base_temp", + "temporal_as_hexwkb" + ] + }, + "tnumberAbs": { + "field": "tnumberAbs", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_abs" + ] + }, + "tnumberDeltaValue": { + "field": "tnumberDeltaValue", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_delta_value" + ] + }, + "tnumberAngularDifference": { + "field": "tnumberAngularDifference", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_angular_difference" + ] + }, + "tpointAngularDifference": { + "field": "tpointAngularDifference", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_angular_difference" + ] + }, + "tfloatExp": { + "field": "tfloatExp", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_exp" + ] + }, + "tfloatLn": { + "field": "tfloatLn", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_ln" + ] + }, + "tfloatLog10": { + "field": "tfloatLog10", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_log10" + ] + }, + "addTintInt": { + "field": "addTintInt", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "add_tint_int" + ] + }, + "subTintInt": { + "field": "subTintInt", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "sub_tint_int" + ] + }, + "multTintInt": { + "field": "multTintInt", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "mul_tint_int" + ] + }, + "divTintInt": { + "field": "divTintInt", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "div_tint_int" + ] + }, + "addTfloatFloat": { + "field": "addTfloatFloat", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "add_tfloat_float" + ] + }, + "subTfloatFloat": { + "field": "subTfloatFloat", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "sub_tfloat_float" + ] + }, + "multTfloatFloat": { + "field": "multTfloatFloat", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "mul_tfloat_float" + ] + }, + "divTfloatFloat": { + "field": "divTfloatFloat", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "div_tfloat_float" + ] + }, + "addTnumberTnumber": { + "field": "addTnumberTnumber", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "add_tnumber_tnumber" + ] + }, + "subTnumberTnumber": { + "field": "subTnumberTnumber", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "sub_tnumber_tnumber" + ] + }, + "multTnumberTnumber": { + "field": "multTnumberTnumber", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "mul_tnumber_tnumber" + ] + }, + "divTnumberTnumber": { + "field": "divTnumberTnumber", + "class": "MathUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "div_tnumber_tnumber" + ] + }, + "cbufferEq": { + "field": "cbufferEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferNe": { + "field": "cbufferNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferLt": { + "field": "cbufferLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferLe": { + "field": "cbufferLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferGt": { + "field": "cbufferGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferGe": { + "field": "cbufferGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "cbufferCmp": { + "field": "cbufferCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "npointEq": { + "field": "npointEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "npointNe": { + "field": "npointNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "npointLt": { + "field": "npointLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "npointLe": { + "field": "npointLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "npointGt": { + "field": "npointGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "npointGe": { + "field": "npointGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "npointCmp": { + "field": "npointCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "npointHash": { + "field": "npointHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "npointHashExtended": { + "field": "npointHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "poseEq": { + "field": "poseEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseNe": { + "field": "poseNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseLt": { + "field": "poseLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseLe": { + "field": "poseLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseGt": { + "field": "poseGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseGe": { + "field": "poseGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "poseCmp": { + "field": "poseCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "poseHash": { + "field": "poseHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "poseHashExtended": { + "field": "poseHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "nsegmentEq": { + "field": "nsegmentEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "nsegmentNe": { + "field": "nsegmentNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "nsegmentLt": { + "field": "nsegmentLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "nsegmentLe": { + "field": "nsegmentLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "nsegmentGt": { + "field": "nsegmentGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "nsegmentGe": { + "field": "nsegmentGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "nsegmentCmp": { + "field": "nsegmentCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "setEq": { + "field": "setEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setNe": { + "field": "setNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setLt": { + "field": "setLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setLe": { + "field": "setLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setGt": { + "field": "setGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setGe": { + "field": "setGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setCmp": { + "field": "setCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "setHash": { + "field": "setHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "setHashExtended": { + "field": "setHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "spanEq": { + "field": "spanEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanNe": { + "field": "spanNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanLt": { + "field": "spanLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanLe": { + "field": "spanLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanGt": { + "field": "spanGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanGe": { + "field": "spanGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanCmp": { + "field": "spanCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "spanHash": { + "field": "spanHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "spanHashExtended": { + "field": "spanHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "spansetEq": { + "field": "spansetEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetNe": { + "field": "spansetNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetLt": { + "field": "spansetLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetLe": { + "field": "spansetLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetGt": { + "field": "spansetGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetGe": { + "field": "spansetGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetCmp": { + "field": "spansetCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "spansetHash": { + "field": "spansetHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "spansetHashExtended": { + "field": "spansetHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "tboxEq": { + "field": "tboxEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxNe": { + "field": "tboxNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxLt": { + "field": "tboxLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxLe": { + "field": "tboxLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxGt": { + "field": "tboxGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxGe": { + "field": "tboxGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxCmp": { + "field": "tboxCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "tboxHash": { + "field": "tboxHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "tboxHashExtended": { + "field": "tboxHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "stboxEq": { + "field": "stboxEq", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxNe": { + "field": "stboxNe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxLt": { + "field": "stboxLt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxLe": { + "field": "stboxLe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxGt": { + "field": "stboxGt", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxGe": { + "field": "stboxGe", + "class": "ComparisonUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "stboxCmp": { + "field": "stboxCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "stboxHash": { + "field": "stboxHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "stboxHashExtended": { + "field": "stboxHashExtended", + "class": "ComparisonUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "Long", + "meosFns": [] + }, + "temporalCmp": { + "field": "temporalCmp", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "temporalHash": { + "field": "temporalHash", + "class": "ComparisonUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [] + }, + "atTime": { + "field": "atTime", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Object" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_at_timestamptz", + "tstzspan_in", + "temporal_at_tstzspan", + "pg_timestamptz_in", + "temporal_as_hexwkb" + ] + }, + "startTimestamp": { + "field": "startTimestamp", + "class": "TemporalUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Timestamp", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_start_timestamptz" + ] + }, + "endTimestamp": { + "field": "endTimestamp", + "class": "TemporalUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Timestamp", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_end_timestamptz" + ] + }, + "numInstants": { + "field": "numInstants", + "class": "TemporalUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_num_instants" + ] + }, + "speed": { + "field": "speed", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_speed", + "temporal_as_hexwkb" + ] + }, + "atGeometry": { + "field": "atGeometry", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "geo_from_text", + "tgeo_at_geom", + "temporal_as_hexwkb" + ] + }, + "asHexWKB": { + "field": "asHexWKB", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "temporalAsMfjson": { + "field": "temporalAsMfjson", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_mfjson" + ] + }, + "tboolOut": { + "field": "tboolOut", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_out" + ] + }, + "tintOut": { + "field": "tintOut", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tint_out" + ] + }, + "tfloatOut": { + "field": "tfloatOut", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_out" + ] + }, + "ttextOut": { + "field": "ttextOut", + "class": "TemporalUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_out" + ] + }, + "getTimestamp": { + "field": "startTimestamp", + "class": "TemporalUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Timestamp", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_start_timestamptz" + ] + }, + "teqTintInt": { + "field": "teqTintInt", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [] + }, + "teqTfloatFloat": { + "field": "teqTfloatFloat", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "teqTboolBool": { + "field": "teqTboolBool", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [] + }, + "tneTintInt": { + "field": "tneTintInt", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [] + }, + "tneTfloatFloat": { + "field": "tneTfloatFloat", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "tneTboolBool": { + "field": "tneTboolBool", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [] + }, + "tltTintInt": { + "field": "tltTintInt", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [] + }, + "tltTfloatFloat": { + "field": "tltTfloatFloat", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "tleTintInt": { + "field": "tleTintInt", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [] + }, + "tleTfloatFloat": { + "field": "tleTfloatFloat", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "tgtTintInt": { + "field": "tgtTintInt", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [] + }, + "tgtTfloatFloat": { + "field": "tgtTfloatFloat", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "tgeTintInt": { + "field": "tgeTintInt", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [] + }, + "tgeTfloatFloat": { + "field": "tgeTfloatFloat", + "class": "TemporalCompUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "bigintspanWidth": { + "field": "bigintspanWidth", + "class": "AccessorAliasUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "span_from_hexwkb", + "bigintspan_width" + ] + }, + "bigintspansetWidth": { + "field": "bigintspansetWidth", + "class": "AccessorAliasUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "Long", + "meosFns": [ + "spanset_from_hexwkb", + "bigintspanset_width" + ] + }, + "width": { + "field": "floatspanWidth", + "class": "AccessorAliasUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "span_from_hexwkb", + "floatspan_width" + ] + }, + "startDate": { + "field": "startDate", + "class": "AccessorAliasUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "datespanset_start_date" + ] + }, + "endDate": { + "field": "endDate", + "class": "AccessorAliasUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "datespanset_end_date" + ] + }, + "numDates": { + "field": "numDates", + "class": "AccessorAliasUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "datespanset_num_dates" + ] + }, + "dateN": { + "field": "dateN", + "class": "AccessorAliasUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Integer", + "meosFns": [ + "spanset_from_hexwkb", + "datespanset_date_n" + ] + }, + "dates": { + "field": "dates", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "datespanset_dates", + "set_as_hexwkb" + ] + }, + "valueSpan": { + "field": "valueSpan", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_to_span", + "span_as_hexwkb" + ] + }, + "intsetFromBinary": { + "field": "intsetFromBinary", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "bigintsetFromBinary": { + "field": "bigintsetFromBinary", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "floatsetFromBinary": { + "field": "floatsetFromBinary", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "textsetFromBinary": { + "field": "textsetFromBinary", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tstzsetFromBinary": { + "field": "tstzsetFromBinary", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "datesetFromBinary": { + "field": "datesetFromBinary", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometry": { + "field": "tgeometry", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "tgeography": { + "field": "tgeography", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "geometry": { + "field": "tgeometry", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "geography": { + "field": "tgeography", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "valueSet": { + "field": "valueSet", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_as_hexwkb", + "pg_interval_in", + "temporal_as_hexwkb" + ] + }, + "box2d": { + "field": "box2d", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb" + ] + }, + "box3d": { + "field": "box3d", + "class": "AccessorAliasUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "stbox_from_hexwkb" + ] + }, + "avgValue": { + "field": "avgValue", + "class": "AccessorAliasUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb" + ] + }, + "frechetDistance": { + "field": "frechetDistance", + "class": "SimilarityUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_frechet_distance" + ] + }, + "dynamicTimeWarp": { + "field": "dynamicTimeWarp", + "class": "SimilarityUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_dyntimewarp_distance" + ] + }, + "hausdorffDistance": { + "field": "hausdorffDistance", + "class": "SimilarityUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_hausdorff_distance" + ] + }, + "dynTimeWarpDistance": { + "field": "dynamicTimeWarp", + "class": "SimilarityUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_dyntimewarp_distance" + ] + }, + "tboolSeqSetGaps": { + "field": "tboolSeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String[]", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "ttextSeqSetGaps": { + "field": "ttextSeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String[]", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tintSeqSetGaps": { + "field": "tintSeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String[]", + "String", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "tfloatSeqSetGaps": { + "field": "tfloatSeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "String[]", + "String", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeompointSeqSetGaps": { + "field": "tgeompointSeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "String[]", + "String", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeogpointSeqSetGaps": { + "field": "tgeogpointSeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "String[]", + "String", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeometrySeqSetGaps": { + "field": "tgeometrySeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "String[]", + "String", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tgeographySeqSetGaps": { + "field": "tgeographySeqSetGaps", + "class": "SeqSetGapsUDFs", + "retDataType": "StringType", + "arity": 4, + "argTypes": [ + "String[]", + "String", + "Double", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tnotTbool": { + "field": "tnotTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnot_tbool" + ] + }, + "tandBool": { + "field": "tandBool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tand_tbool_bool" + ] + }, + "tandBoolTbool": { + "field": "tandBoolTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tand_bool_tbool" + ] + }, + "tandTboolTbool": { + "field": "tandTboolTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tand_tbool_tbool" + ] + }, + "torBool": { + "field": "torBool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Boolean" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tor_tbool_bool" + ] + }, + "torBoolTbool": { + "field": "torBoolTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Boolean", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tor_bool_tbool" + ] + }, + "torTboolTbool": { + "field": "torTboolTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tor_tbool_tbool" + ] + }, + "tboolWhenTrue": { + "field": "tboolWhenTrue", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_when_true", + "spanset_as_hexwkb" + ] + }, + "teqTemporalTemporal": { + "field": "teqTemporalTemporal", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "teq_temporal_temporal", + "temporal_as_hexwkb" + ] + }, + "tneTemporalTemporal": { + "field": "tneTemporalTemporal", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tne_temporal_temporal", + "temporal_as_hexwkb" + ] + }, + "tltTemporalTemporal": { + "field": "tltTemporalTemporal", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tlt_temporal_temporal", + "temporal_as_hexwkb" + ] + }, + "tleTemporalTemporal": { + "field": "tleTemporalTemporal", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tle_temporal_temporal", + "temporal_as_hexwkb" + ] + }, + "tgtTemporalTemporal": { + "field": "tgtTemporalTemporal", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgt_temporal_temporal", + "temporal_as_hexwkb" + ] + }, + "tgeTemporalTemporal": { + "field": "tgeTemporalTemporal", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tge_temporal_temporal", + "temporal_as_hexwkb" + ] + }, + "tboolNot": { + "field": "tnotTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnot_tbool" + ] + }, + "tboolAnd": { + "field": "tandTboolTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tand_tbool_tbool" + ] + }, + "tboolOr": { + "field": "torTboolTbool", + "class": "BoolOpsUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tor_tbool_tbool" + ] + }, + "numSequences": { + "field": "numSequences", + "class": "AccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_num_sequences" + ] + }, + "interp": { + "field": "interp", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_interp" + ] + }, + "time": { + "field": "time", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_time", + "spanset_as_hexwkb" + ] + }, + "timespan": { + "field": "timespan", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tstzspan", + "span_as_hexwkb" + ] + }, + "merge": { + "field": "merge", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_merge", + "temporal_as_hexwkb" + ] + }, + "shift": { + "field": "shift", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_shift_time", + "temporal_as_hexwkb" + ] + }, + "scale": { + "field": "scale", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "temporal_scale_time", + "temporal_as_hexwkb" + ] + }, + "atSpan": { + "field": "atSpan", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "temporal_at_tstzspan", + "temporal_as_hexwkb" + ] + }, + "atSpanset": { + "field": "atSpanset", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "spanset_from_hexwkb", + "temporal_at_tstzspanset", + "temporal_as_hexwkb" + ] + }, + "insert": { + "field": "insert", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_insert", + "temporal_as_hexwkb" + ] + }, + "update": { + "field": "update", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_update", + "temporal_as_hexwkb" + ] + }, + "tfloatStartValue": { + "field": "tfloatStartValue", + "class": "AccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_start_value" + ] + }, + "tfloatEndValue": { + "field": "tfloatEndValue", + "class": "AccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_end_value" + ] + }, + "tfloatMinValue": { + "field": "tfloatMinValue", + "class": "AccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_min_value" + ] + }, + "tfloatMaxValue": { + "field": "tfloatMaxValue", + "class": "AccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_max_value" + ] + }, + "tintStartValue": { + "field": "tintStartValue", + "class": "AccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_start_value" + ] + }, + "tintEndValue": { + "field": "tintEndValue", + "class": "AccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_end_value" + ] + }, + "tintMinValue": { + "field": "tintMinValue", + "class": "AccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_min_value" + ] + }, + "tintMaxValue": { + "field": "tintMaxValue", + "class": "AccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_max_value" + ] + }, + "tboolStartValue": { + "field": "tboolStartValue", + "class": "AccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_start_value" + ] + }, + "tboolEndValue": { + "field": "tboolEndValue", + "class": "AccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_end_value" + ] + }, + "tpointStartValue": { + "field": "tpointStartValue", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_start_value", + "geo_as_text" + ] + }, + "tpointEndValue": { + "field": "tpointEndValue", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_end_value", + "geo_as_text" + ] + }, + "ttextStartValue": { + "field": "ttextStartValue", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_start_value", + "text_out" + ] + }, + "ttextEndValue": { + "field": "ttextEndValue", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_end_value", + "text_out" + ] + }, + "tintGetValue": { + "field": "tintStartValue", + "class": "AccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_start_value" + ] + }, + "tfloatGetValue": { + "field": "tfloatStartValue", + "class": "AccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_start_value" + ] + }, + "tboolGetValue": { + "field": "tboolStartValue", + "class": "AccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_start_value" + ] + }, + "ttextGetValue": { + "field": "ttextStartValue", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_start_value", + "text_out" + ] + }, + "tpointGetValue": { + "field": "tpointStartValue", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_start_value", + "geo_as_text" + ] + }, + "getValue": { + "field": "tfloatStartValue", + "class": "AccessorUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_start_value" + ] + }, + "atMin": { + "field": "atMin", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_at_min", + "temporal_as_hexwkb" + ] + }, + "atMax": { + "field": "atMax", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_at_max", + "temporal_as_hexwkb" + ] + }, + "atValues": { + "field": "atValues", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "set_from_hexwkb", + "temporal_at_values", + "temporal_as_hexwkb" + ] + }, + "minusTime": { + "field": "minusTime", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "span_from_hexwkb", + "temporal_minus_tstzspan", + "temporal_as_hexwkb" + ] + }, + "minusMin": { + "field": "minusMin", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_minus_min", + "temporal_as_hexwkb" + ] + }, + "minusMax": { + "field": "minusMax", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_minus_max", + "temporal_as_hexwkb" + ] + }, + "atStbox": { + "field": "atStbox", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "stbox_from_hexwkb", + "tgeo_at_stbox", + "temporal_as_hexwkb" + ] + }, + "minusStbox": { + "field": "minusStbox", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "stbox_from_hexwkb", + "tgeo_minus_stbox", + "temporal_as_hexwkb" + ] + }, + "tnumberAtTbox": { + "field": "tnumberAtTbox", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbox_from_hexwkb", + "tnumber_at_tbox", + "temporal_as_hexwkb" + ] + }, + "tnumberMinusTbox": { + "field": "tnumberMinusTbox", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbox_from_hexwkb", + "tnumber_minus_tbox", + "temporal_as_hexwkb" + ] + }, + "appendInstant": { + "field": "appendInstant", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_append_tinstant", + "temporal_as_hexwkb" + ] + }, + "appendSequence": { + "field": "appendSequence", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_append_tsequence", + "temporal_as_hexwkb" + ] + }, + "tnumberValuespans": { + "field": "tnumberValuespans", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_valuespans", + "spanset_as_hexwkb" + ] + }, + "tnumberToSpan": { + "field": "tnumberToSpan", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_to_span", + "span_as_hexwkb" + ] + }, + "tnumberToTbox": { + "field": "tnumberToTbox", + "class": "AccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tnumber_to_tbox", + "tbox_as_hexwkb" + ] + }, + "setLeft": { + "field": "setLeft", + "class": "SetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setRight": { + "field": "setRight", + "class": "SetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setOverleft": { + "field": "setOverleft", + "class": "SetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setOverright": { + "field": "setOverright", + "class": "SetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setContains": { + "field": "setContains", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "contains_set_set" + ] + }, + "setContained": { + "field": "setContained", + "class": "SetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "setOverlaps": { + "field": "setOverlaps", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overlaps_set_set" + ] + }, + "distanceIntsetIntset": { + "field": "distanceIntsetIntset", + "class": "SetOpsUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [ + "set_from_hexwkb", + "distance_intset_intset" + ] + }, + "distanceBigintsetBigintset": { + "field": "distanceBigintsetBigintset", + "class": "SetOpsUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Long", + "meosFns": [ + "set_from_hexwkb", + "distance_bigintset_bigintset" + ] + }, + "distanceFloatsetFloatset": { + "field": "distanceFloatsetFloatset", + "class": "SetOpsUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "set_from_hexwkb", + "distance_floatset_floatset" + ] + }, + "distanceTstzsetTstzset": { + "field": "distanceTstzsetTstzset", + "class": "SetOpsUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "set_from_hexwkb", + "distance_tstzset_tstzset" + ] + }, + "setDistance": { + "field": "distanceFloatsetFloatset", + "class": "SetOpsUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "set_from_hexwkb", + "distance_floatset_floatset" + ] + }, + "spanContains": { + "field": "spanContains", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "contains_span_span" + ] + }, + "spanContainedIn": { + "field": "spanContainedIn", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "contained_span_span" + ] + }, + "spanOverlaps": { + "field": "spanOverlaps", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overlaps_span_span" + ] + }, + "spanAdjacent": { + "field": "spanAdjacent", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "adjacent_span_span" + ] + }, + "spanLeft": { + "field": "spanLeft", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "left_span_span" + ] + }, + "spanRight": { + "field": "spanRight", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "right_span_span" + ] + }, + "spanOverleft": { + "field": "spanOverleft", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overleft_span_span" + ] + }, + "spanOverright": { + "field": "spanOverright", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overright_span_span" + ] + }, + "spanUnion": { + "field": "spanUnion", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_span_span", + "spanset_as_hexwkb" + ] + }, + "spanIntersection": { + "field": "spanIntersection", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "intersection_span_span", + "span_as_hexwkb" + ] + }, + "spanMinus": { + "field": "spanMinus", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "minus_span_span", + "spanset_as_hexwkb" + ] + }, + "tstzspanDistance": { + "field": "tstzspanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "distance_tstzspan_tstzspan" + ] + }, + "intspanDistance": { + "field": "intspanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [ + "distance_intspan_intspan" + ] + }, + "bigintspanDistance": { + "field": "bigintspanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "LongType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Long", + "meosFns": [ + "distance_bigintspan_bigintspan" + ] + }, + "floatspanDistance": { + "field": "floatspanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "distance_floatspan_floatspan" + ] + }, + "datespanDistance": { + "field": "datespanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Integer", + "meosFns": [ + "distance_datespan_datespan" + ] + }, + "spanDistance": { + "field": "floatspanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "distance_floatspan_floatspan" + ] + }, + "timeDistance": { + "field": "tstzspanDistance", + "class": "SpanAlgebraUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Double", + "meosFns": [ + "distance_tstzspan_tstzspan" + ] + }, + "intspanExpand": { + "field": "intspanExpand", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "span_as_hexwkb" + ] + }, + "bigintspanExpand": { + "field": "bigintspanExpand", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Long" + ], + "retType": "String", + "meosFns": [ + "span_as_hexwkb" + ] + }, + "floatspanExpand": { + "field": "floatspanExpand", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "span_as_hexwkb" + ] + }, + "expand": { + "field": "floatspanExpand", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "span_as_hexwkb" + ] + }, + "spansetContainsSpan": { + "field": "spansetContainsSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "contains_spanset_span" + ] + }, + "spanContainedInSpanset": { + "field": "spanContainedInSpanset", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "contained_span_spanset" + ] + }, + "spansetOverlaps": { + "field": "spansetOverlaps", + "class": "SpanAlgebraUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overlaps_spanset_spanset" + ] + }, + "spansetUnion": { + "field": "spansetUnion", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_spanset_spanset", + "spanset_as_hexwkb" + ] + }, + "spansetIntersection": { + "field": "spansetIntersection", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "intersection_spanset_spanset", + "spanset_as_hexwkb" + ] + }, + "spansetMinus": { + "field": "spansetMinus", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "minus_spanset_spanset", + "spanset_as_hexwkb" + ] + }, + "intspanToFloatspan": { + "field": "intspanToFloatspan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "intspan_to_floatspan", + "span_as_hexwkb" + ] + }, + "floatspanToIntspan": { + "field": "floatspanToIntspan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "floatspan_to_intspan", + "span_as_hexwkb" + ] + }, + "datespanToTstzspan": { + "field": "datespanToTstzspan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "datespan_to_tstzspan", + "span_as_hexwkb" + ] + }, + "tstzspanToDatespan": { + "field": "tstzspanToDatespan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tstzspan_to_datespan", + "span_as_hexwkb" + ] + }, + "intsetToFloatset": { + "field": "intsetToFloatset", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "intset_to_floatset", + "set_as_hexwkb" + ] + }, + "floatsetToIntset": { + "field": "floatsetToIntset", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "floatset_to_intset", + "set_as_hexwkb" + ] + }, + "setToSpan": { + "field": "setToSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_to_span", + "span_as_hexwkb" + ] + }, + "setToSpanset": { + "field": "setToSpanset", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_to_spanset", + "spanset_as_hexwkb" + ] + }, + "tstzspanDuration": { + "field": "tstzspanDuration", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tstzspan_duration", + "pg_interval_out" + ] + }, + "datespanDuration": { + "field": "datespanDuration", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "datespan_duration", + "pg_interval_out" + ] + }, + "tstzspanShiftScale": { + "field": "tstzspanShiftScale", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "tstzspan_shift_scale", + "span_as_hexwkb" + ] + }, + "tstzspansetShiftScale": { + "field": "tstzspansetShiftScale", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "tstzspanset_shift_scale", + "spanset_as_hexwkb" + ] + }, + "timestamptzToSpan": { + "field": "timestamptzToSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "java.sql.Timestamp" + ], + "retType": "String", + "meosFns": [ + "timestamptz_to_span", + "span_as_hexwkb" + ] + }, + "timestamptzToSet": { + "field": "timestamptzToSet", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "java.sql.Timestamp" + ], + "retType": "String", + "meosFns": [ + "timestamptz_to_set", + "set_as_hexwkb" + ] + }, + "spansetIntersectionSpan": { + "field": "spansetIntersectionSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "intersection_spanset_span", + "spanset_as_hexwkb" + ] + }, + "spansetUnionSpan": { + "field": "spansetUnionSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_spanset_span", + "spanset_as_hexwkb" + ] + }, + "spansetMinusSpan": { + "field": "spansetMinusSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "minus_spanset_span", + "spanset_as_hexwkb" + ] + }, + "intToSpan": { + "field": "intToSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Integer" + ], + "retType": "String", + "meosFns": [ + "int_to_span", + "span_as_hexwkb" + ] + }, + "intToSet": { + "field": "intToSet", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Integer" + ], + "retType": "String", + "meosFns": [ + "int_to_set", + "set_as_hexwkb" + ] + }, + "intToSpanset": { + "field": "intToSpanset", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Integer" + ], + "retType": "String", + "meosFns": [ + "int_to_spanset", + "spanset_as_hexwkb" + ] + }, + "floatToSpan": { + "field": "floatToSpan", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Double" + ], + "retType": "String", + "meosFns": [ + "float_to_span", + "span_as_hexwkb" + ] + }, + "floatToSet": { + "field": "floatToSet", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Double" + ], + "retType": "String", + "meosFns": [ + "float_to_set", + "set_as_hexwkb" + ] + }, + "floatToSpanset": { + "field": "floatToSpanset", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Double" + ], + "retType": "String", + "meosFns": [ + "float_to_spanset", + "spanset_as_hexwkb" + ] + }, + "intToTbox": { + "field": "intToTbox", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Integer" + ], + "retType": "String", + "meosFns": [ + "int_to_tbox", + "tbox_as_hexwkb" + ] + }, + "floatToTbox": { + "field": "floatToTbox", + "class": "SpanAlgebraUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "Double" + ], + "retType": "String", + "meosFns": [ + "float_to_tbox", + "tbox_as_hexwkb" + ] + }, + "tboxHasx": { + "field": "tboxHasx", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "tbox_hasx" + ] + }, + "tboxHast": { + "field": "tboxHast", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "tbox_hast" + ] + }, + "tboxXmin": { + "field": "tboxXmin", + "class": "TBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "tbox_xmin" + ] + }, + "tboxXmax": { + "field": "tboxXmax", + "class": "TBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "tbox_xmax" + ] + }, + "tboxXminInc": { + "field": "tboxXminInc", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "tbox_xmin_inc" + ] + }, + "tboxXmaxInc": { + "field": "tboxXmaxInc", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "tbox_xmax_inc" + ] + }, + "tboxTmin": { + "field": "tboxTmin", + "class": "TBoxUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "tbox_tmin" + ] + }, + "tboxTmax": { + "field": "tboxTmax", + "class": "TBoxUDFs", + "retDataType": "TimestampType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "java.sql.Timestamp", + "meosFns": [ + "tbox_tmax" + ] + }, + "tboxTminInc": { + "field": "tboxTminInc", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "tbox_tmin_inc" + ] + }, + "tboxTmaxInc": { + "field": "tboxTmaxInc", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "tbox_tmax_inc" + ] + }, + "tboxToIntspan": { + "field": "tboxToIntspan", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_to_intspan", + "span_as_hexwkb" + ] + }, + "tboxToFloatspan": { + "field": "tboxToFloatspan", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_to_floatspan", + "span_as_hexwkb" + ] + }, + "tboxToTstzspan": { + "field": "tboxToTstzspan", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "tbox_to_tstzspan", + "span_as_hexwkb" + ] + }, + "tboxRound": { + "field": "tboxRound", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "tbox_round", + "tbox_as_hexwkb" + ] + }, + "spanToTbox": { + "field": "spanToTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "span_to_tbox", + "tbox_as_hexwkb" + ] + }, + "spansetToTbox": { + "field": "spansetToTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "spanset_from_hexwkb", + "spanset_to_tbox", + "tbox_as_hexwkb" + ] + }, + "setToTbox": { + "field": "setToTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_to_tbox", + "tbox_as_hexwkb" + ] + }, + "tboxfloatXmin": { + "field": "tboxfloatXmin", + "class": "TBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "tboxfloat_xmin" + ] + }, + "tboxfloatXmax": { + "field": "tboxfloatXmax", + "class": "TBoxUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "tboxfloat_xmax" + ] + }, + "tboxintXmin": { + "field": "tboxintXmin", + "class": "TBoxUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "tboxint_xmin" + ] + }, + "tboxintXmax": { + "field": "tboxintXmax", + "class": "TBoxUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "tboxint_xmax" + ] + }, + "tboxMake": { + "field": "tboxMake", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "tbox_make", + "tbox_as_hexwkb" + ] + }, + "timestamptzToTbox": { + "field": "timestamptzToTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "java.sql.Timestamp" + ], + "retType": "String", + "meosFns": [ + "timestamptz_to_tbox", + "tbox_as_hexwkb" + ] + }, + "numspanTimestamptzToTbox": { + "field": "numspanTimestamptzToTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "java.sql.Timestamp" + ], + "retType": "String", + "meosFns": [ + "span_from_hexwkb", + "numspan_timestamptz_to_tbox", + "tbox_as_hexwkb" + ] + }, + "tboxExpandTime": { + "field": "tboxExpandTime", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "tbox_expand_time", + "tbox_as_hexwkb" + ] + }, + "tboxExpandFloat": { + "field": "tboxExpandFloat", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "tbox_as_hexwkb" + ] + }, + "tboxExpandInt": { + "field": "tboxExpandInt", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "tbox_as_hexwkb" + ] + }, + "tboxShiftScaleTime": { + "field": "tboxShiftScaleTime", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "String", + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "pg_interval_in", + "tbox_shift_scale_time", + "tbox_as_hexwkb" + ] + }, + "intersectionTboxTbox": { + "field": "intersectionTboxTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "unionTboxTbox": { + "field": "unionTboxTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_tbox_tbox" + ] + }, + "tboxIntersection": { + "field": "intersectionTboxTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tboxUnion": { + "field": "unionTboxTbox", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "String", + "meosFns": [ + "union_tbox_tbox" + ] + }, + "expandValue": { + "field": "tboxExpandFloat", + "class": "TBoxUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Double" + ], + "retType": "String", + "meosFns": [ + "tbox_as_hexwkb" + ] + }, + "tboxContains": { + "field": "tboxContains", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxContained": { + "field": "tboxContained", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverlaps": { + "field": "tboxOverlaps", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxLeft": { + "field": "tboxLeft", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverleft": { + "field": "tboxOverleft", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxRight": { + "field": "tboxRight", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverright": { + "field": "tboxOverright", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxBefore": { + "field": "tboxBefore", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverbefore": { + "field": "tboxOverbefore", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxAfter": { + "field": "tboxAfter", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxOverafter": { + "field": "tboxOverafter", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "tboxAdjacent": { + "field": "tboxAdjacent", + "class": "TBoxUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "temporalSubtype": { + "field": "temporalSubtype", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_subtype" + ] + }, + "startInstant": { + "field": "startInstant", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_start_instant", + "temporal_as_hexwkb" + ] + }, + "endInstant": { + "field": "endInstant", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_end_instant", + "temporal_as_hexwkb" + ] + }, + "instantN": { + "field": "instantN", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_instant_n", + "temporal_as_hexwkb" + ] + }, + "startSequence": { + "field": "startSequence", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_start_sequence", + "temporal_as_hexwkb" + ] + }, + "endSequence": { + "field": "endSequence", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_end_sequence", + "temporal_as_hexwkb" + ] + }, + "sequenceN": { + "field": "sequenceN", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_sequence_n", + "temporal_as_hexwkb" + ] + }, + "minInstant": { + "field": "minInstant", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_min_instant", + "temporal_as_hexwkb" + ] + }, + "maxInstant": { + "field": "maxInstant", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_max_instant", + "temporal_as_hexwkb" + ] + }, + "numTimestamps": { + "field": "numTimestamps", + "class": "MoreAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_num_timestamps" + ] + }, + "timestampN": { + "field": "timestampN", + "class": "MoreAccessorUDFs", + "retDataType": "TimestampType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Timestamp", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_timestamptz_n" + ] + }, + "lowerInc": { + "field": "lowerInc", + "class": "MoreAccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_lower_inc" + ] + }, + "upperInc": { + "field": "upperInc", + "class": "MoreAccessorUDFs", + "retDataType": "BooleanType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_upper_inc" + ] + }, + "duration": { + "field": "duration", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_duration", + "pg_interval_out" + ] + }, + "tboolValueN": { + "field": "tboolValueN", + "class": "MoreAccessorUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_value_n" + ] + }, + "tfloatValueN": { + "field": "tfloatValueN", + "class": "MoreAccessorUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_value_n" + ] + }, + "ttextMinValue": { + "field": "ttextMinValue", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_min_value", + "text_out" + ] + }, + "ttextMaxValue": { + "field": "ttextMaxValue", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_max_value", + "text_out" + ] + }, + "ttextValueN": { + "field": "ttextValueN", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_value_n", + "text_out" + ] + }, + "tpointSrid": { + "field": "tpointSrid", + "class": "MoreAccessorUDFs", + "retDataType": "IntegerType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tspatial_srid" + ] + }, + "tpointValueN": { + "field": "tpointValueN", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_value_n", + "geo_as_text" + ] + }, + "tintValueN": { + "field": "tintValueN", + "class": "MoreAccessorUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "Integer" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_value_n" + ] + }, + "tboolValueAtTimestamptz": { + "field": "tboolValueAtTimestamptz", + "class": "MoreAccessorUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_value_at_timestamptz" + ] + }, + "tintValueAtTimestamptz": { + "field": "tintValueAtTimestamptz", + "class": "MoreAccessorUDFs", + "retDataType": "IntegerType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "Integer", + "meosFns": [ + "temporal_from_hexwkb", + "tint_value_at_timestamptz" + ] + }, + "tfloatValueAtTimestamptz": { + "field": "tfloatValueAtTimestamptz", + "class": "MoreAccessorUDFs", + "retDataType": "DoubleType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tfloat_value_at_timestamptz" + ] + }, + "ttextValueAtTimestamptz": { + "field": "ttextValueAtTimestamptz", + "class": "MoreAccessorUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "ttext_value_at_timestamptz", + "text_out", + "temporal_timestamps", + "tbool_values", + "tint_values", + "tfloat_values", + "temporal_as_hexwkb", + "ttext_values" + ] + }, + "temporalBeforeSpan": { + "field": "temporalBeforeSpan", + "class": "PosOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "before_temporal_tstzspan" + ] + }, + "temporalAfterSpan": { + "field": "temporalAfterSpan", + "class": "PosOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "after_temporal_tstzspan" + ] + }, + "temporalOverbeforeSpan": { + "field": "temporalOverbeforeSpan", + "class": "PosOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overbefore_temporal_tstzspan" + ] + }, + "temporalOverafterSpan": { + "field": "temporalOverafterSpan", + "class": "PosOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "overafter_temporal_tstzspan" + ] + }, + "tstzspanFromBinary": { + "field": "tstzspanFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "intspanFromBinary": { + "field": "intspanFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "floatspanFromBinary": { + "field": "floatspanFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "bigintspanFromBinary": { + "field": "bigintspanFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "datespanFromBinary": { + "field": "datespanFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tstzspansetFromBinary": { + "field": "tstzspansetFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "intspansetFromBinary": { + "field": "intspansetFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "floatspansetFromBinary": { + "field": "floatspansetFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "bigintspansetFromBinary": { + "field": "bigintspansetFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "datespansetFromBinary": { + "field": "datespansetFromBinary", + "class": "SpanUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "spanLeftSpanset": { + "field": "spanLeftSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanOverleftSpanset": { + "field": "spanOverleftSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanRightSpanset": { + "field": "spanRightSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanOverrightSpanset": { + "field": "spanOverrightSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanAdjacentSpanset": { + "field": "spanAdjacentSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanContainsSpanset": { + "field": "spanContainsSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanContainedSpanset": { + "field": "spanContainedSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spanOverlapsSpanset": { + "field": "spanOverlapsSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetLeftSpan": { + "field": "spansetLeftSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetOverleftSpan": { + "field": "spansetOverleftSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetRightSpan": { + "field": "spansetRightSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetOverrightSpan": { + "field": "spansetOverrightSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetAdjacentSpan": { + "field": "spansetAdjacentSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetContainedSpan": { + "field": "spansetContainedSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetOverlapsSpan": { + "field": "spansetOverlapsSpan", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetLeftSpanset": { + "field": "spansetLeftSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetOverleftSpanset": { + "field": "spansetOverleftSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetRightSpanset": { + "field": "spansetRightSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetOverrightSpanset": { + "field": "spansetOverrightSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetAdjacentSpanset": { + "field": "spansetAdjacentSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetContainsSpanset": { + "field": "spansetContainsSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "spansetContainedSpanset": { + "field": "spansetContainedSpanset", + "class": "SpansetOpsUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "length": { + "field": "length", + "class": "BerlinMODUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [ + "temporal_from_hexwkb", + "tpoint_length" + ] + }, + "bboxOverlaps": { + "field": "bboxOverlaps", + "class": "BerlinMODUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [ + "temporal_from_hexwkb", + "tstzspan_in", + "overlaps_temporal_tstzspan", + "stbox_from_hexwkb", + "overlaps_tspatial_stbox" + ] + }, + "valueAtTimestamp": { + "field": "valueAtTimestamp", + "class": "BerlinMODUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Object" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tgeo_value_at_timestamptz", + "geo_as_text" + ] + }, + "geoTimeStbox": { + "field": "geoTimeStbox", + "class": "BerlinMODUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Object" + ], + "retType": "String", + "meosFns": [ + "geo_from_text", + "geo_timestamptz_to_stbox", + "tstzspan_in", + "geo_tstzspan_to_stbox", + "pg_timestamptz_in", + "stbox_as_hexwkb" + ] + }, + "whenTrue": { + "field": "whenTrue", + "class": "BerlinMODUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "tbool_when_true", + "tstzspanset_out" + ] + }, + "npoint": { + "field": "npoint", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "Long", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "nsegment": { + "field": "nsegment", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 3, + "argTypes": [ + "Long", + "Double", + "Double" + ], + "retType": "String", + "meosFns": [] + }, + "route": { + "field": "route", + "class": "NpointUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [] + }, + "getPosition": { + "field": "getPosition", + "class": "NpointUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [] + }, + "startPosition": { + "field": "startPosition", + "class": "NpointUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [] + }, + "endPosition": { + "field": "endPosition", + "class": "NpointUDFs", + "retDataType": "DoubleType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Double", + "meosFns": [] + }, + "npointFromText": { + "field": "npointFromText", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "npointFromEWKT": { + "field": "npointFromEWKT", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "npointFromHexEWKB": { + "field": "npointFromHexEWKB", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "npointFromBinary": { + "field": "npointFromBinary", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "npointFromEWKB": { + "field": "npointFromEWKB", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "npointsetFromHexWKB": { + "field": "npointsetFromHexWKB", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb" + ] + }, + "npointsetFromText": { + "field": "npointsetFromText", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_as_hexwkb" + ] + }, + "npointsetFromEWKT": { + "field": "npointsetFromEWKT", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "npointsetFromBinary": { + "field": "npointsetFromBinary", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb" + ] + }, + "npointsetFromEWKB": { + "field": "npointsetFromEWKB", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "routes": { + "field": "routes", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "set_from_hexwkb", + "set_as_hexwkb", + "temporal_from_hexwkb" + ] + }, + "tnpoint": { + "field": "tnpoint", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [ + "temporal_as_hexwkb" + ] + }, + "tnpointInst": { + "field": "tnpointInst", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String", + "Timestamp" + ], + "retType": "String", + "meosFns": [] + }, + "tnpointRoute": { + "field": "tnpointRoute", + "class": "NpointUDFs", + "retDataType": "LongType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "Long", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_as_hexwkb" + ] + }, + "tnpointFromHexWKB": { + "field": "tnpointFromHexWKB", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [] + }, + "tnpointFromBinary": { + "field": "tnpointFromBinary", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "byte[]" + ], + "retType": "String", + "meosFns": [] + }, + "tnpointSeq": { + "field": "tnpointSeq", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequence", + "temporal_as_hexwkb" + ] + }, + "tnpointSeqSet": { + "field": "tnpointSeqSet", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 1, + "argTypes": [ + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "temporal_to_tsequenceset", + "temporal_as_hexwkb" + ] + }, + "tnpointSeqSetGaps": { + "field": "tnpointSeqSetGaps", + "class": "NpointUDFs", + "retDataType": "StringType", + "arity": 2, + "argTypes": [ + "String[]", + "String" + ], + "retType": "String", + "meosFns": [ + "temporal_from_hexwkb", + "pg_interval_in", + "tsequenceset_make_gaps", + "temporal_as_hexwkb", + "set_from_hexwkb" + ] + }, + "containsRid": { + "field": "containsRid", + "class": "NpointUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "containedRid": { + "field": "containedRid", + "class": "NpointUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "sameRid": { + "field": "sameRid", + "class": "NpointUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + }, + "overlapsRid": { + "field": "overlapsRid", + "class": "NpointUDFs", + "retDataType": "BooleanType", + "arity": 2, + "argTypes": [ + "String", + "String" + ], + "retType": "Boolean", + "meosFns": [] + } + } +} \ No newline at end of file diff --git a/codegen/tools/NAMED_SURFACE.md b/codegen/tools/NAMED_SURFACE.md index f8c1669ea..0b573b7a9 100644 --- a/codegen/tools/NAMED_SURFACE.md +++ b/codegen/tools/NAMED_SURFACE.md @@ -25,13 +25,37 @@ name, the UDF body calls the linked MEOS C function, and the overloads/defaults fix the call-arity exactly (no runtime null-padding heuristic). A new function in the SQL catalog flows into every binding with no per-binding edit. -## A2 — emitters that consume this spec (next) +## Canonical name -> Spark impl (derived, not hand-mapped) -- **MobilitySpark UDFs + Connect registrar:** for each function, remap the name to - the Spark idiom, emit a UDF over the linked MEOS C function for each overload - arity, and emit the matching `SparkSessionExtensions.injectFunction` entry. -- Same spec feeds the PG/DuckDB identity dialects, PyMEOS, and the Flink/Kafka - facades. +`extract_spark_impls.py ` scans the MobilitySpark `*UDFs` +classes for each `register("sparkName", field, DataTypes.RET)` and the field's +body `GeneratedFunctions.` calls, then joins on the named surface's +`SQL -> MEOS C` linkage to recover **canonical name -> Spark impl** mechanically. +This is what proves the camelCase remap (`asMFJSON->temporalAsMfjson`, +`Xmin->stboxXmin`, ...) is derivable and need not be a hand-written dialect table. + +The join (1308 Spark impls) classifies each canonical function for the emitter: + +- **single impl** (`asMFJSON->temporalAsMfjson`, `azimuth->tpointAzimuth`, + `sequenceN`, `numSequences`): emit the **canonical (identity) name** bound to + the one impl; arity adapts by null-padding the impl's optional args. +- **multi impl** (`Xmin->{stboxXmin,tboxXmin,tboxfloatXmin,tboxintXmin}`, + `Tmin->{stboxTmin,tboxTmin}`, `atTime->{atTime,temporalAtTstzspan,...}`): the + receiver/arg type is opaque (every MEOS value is a hex String in Spark), so the + identity-named builder must **dispatch on the WKB type tag** (`meos_typeof_hexwkb` + of the relevant arg) to the impl whose MEOS function matches that type. This is + the reason the type-prefixed names exist; the registrar removes the need for them. +- **join gaps** (`speed->[]`): the SQL function's `@csqlfn` chain resolved to a + type variant (`trgeometry_speed`) different from the MEOS function the Spark UDF + calls; close by capturing all per-type C variants per SQL name. + +## A2 — the emitter (consumes the two derived specs) + +- **MobilitySpark Connect registrar:** for each canonical function, emit an + `injectFunction` under the **identity** name; single-impl -> direct ScalaUDF over + the impl; multi-impl -> a WKB-type-tag dispatch builder selecting the impl. + Retires both the hand-written registrar and `dialect_spark.go`'s `sparkNameMap`. +- Same two specs feed the PG/DuckDB identity dialects, PyMEOS, and Flink/Kafka. ## Refinements tracked diff --git a/codegen/tools/extract_spark_impls.py b/codegen/tools/extract_spark_impls.py new file mode 100644 index 000000000..fdd0a69da --- /dev/null +++ b/codegen/tools/extract_spark_impls.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Derive the canonical-function -> MobilitySpark-impl mapping (no hand list). + +The MobilitySpark UDFs are the Spark implementations. Each is registered as +`register("", , DataTypes.)` and its lambda body calls one +or more `GeneratedFunctions.` (the MEOS C function it implements). This +tool scans the MobilitySpark sources to produce, per registered UDF: + sparkName, holderClass, field, retType, arity, argTypes, meosFns[] + +Joined against meos-named-surface.json (canonical SQL name -> MEOS C function, via +the doxygen chain), it yields canonical SQL name -> Spark impl — the mapping the +Connect-registrar emitter needs, derived rather than hand-maintained. It also +shows that the camelCase remaps (asMFJSON->temporalAsMfjson, Xmin->stboxXmin, ...) +are mechanically recoverable, so they need not be a hand-written dialect table. + +Usage: + extract_spark_impls.py [named-surface.json] +""" +import json, re, sys, os, glob + +REG_RE = re.compile(r'register\(\s*"([^"]+)"\s*,\s*(\w+)\s*,\s*DataTypes\.(\w+)\s*\)') +# a public static UDFn field declaration: capture name + generic type args +FIELD_RE = re.compile(r'public\s+static\s+final\s+UDF(\d)<([^>]*)>\s+(\w+)\s*=', re.MULTILINE) +GENFN_RE = re.compile(r'GeneratedFunctions\.(\w+)\s*\(') + +def scan_impls(root): + impls = {} # sparkName -> dict + fields = {} # field -> (arity, argTypes, bodyMeosFns) + for f in glob.glob(os.path.join(root, 'src', 'main', 'java', '**', '*UDFs.java'), recursive=True): + text = open(f, encoding='utf-8', errors='ignore').read() + cls = os.path.basename(f)[:-5] + # field declarations + the body that follows (until the next "public static" or EOF) + decls = list(FIELD_RE.finditer(text)) + for i, m in enumerate(decls): + arity = int(m.group(1)) + targs = [t.strip() for t in m.group(2).split(',')] + field = m.group(3) + body = text[m.end(): decls[i + 1].start() if i + 1 < len(decls) else len(text)] + meos = list(dict.fromkeys(GENFN_RE.findall(body))) # ordered-unique + fields[field] = {'class': cls, 'arity': arity, + 'argTypes': targs[:-1], 'retType': targs[-1], 'meosFns': meos} + for m in REG_RE.finditer(text): + sparkName, field, ret = m.group(1), m.group(2), m.group(3) + fd = fields.get(field) + if fd: + impls[sparkName] = {'field': field, 'class': fd['class'], 'retDataType': ret, + 'arity': fd['arity'], 'argTypes': fd['argTypes'], + 'retType': fd['retType'], 'meosFns': fd['meosFns']} + return impls + +def main(): + root = sys.argv[1] if len(sys.argv) > 1 else '.' + spec_path = sys.argv[2] if len(sys.argv) > 2 else os.path.join( + os.path.dirname(__file__), '..', 'input', 'meos-named-surface.json') + impls = scan_impls(root) + out = os.path.join(os.path.dirname(__file__), '..', 'input', 'spark-impls.json') + json.dump({'implCount': len(impls), 'impls': impls}, open(out, 'w'), indent=1) + + # join with the canonical named surface to recover canonical -> spark impl + surface = json.load(open(spec_path))['functions'] + # MEOS C fn -> spark impl(s) + meos2spark = {} + for sn, d in impls.items(): + for mf in d['meosFns']: + meos2spark.setdefault(mf, []).append(sn) + derived = {} + for fn in surface: + for c in fn['c']: + for sn in meos2spark.get(c['meos'], []): + derived.setdefault(fn['name'], set()).add(sn) + print(f"spark impls: {len(impls)} -> {out}") + print("derived canonical -> spark impl (the remap, recovered mechanically):") + for canon in ('asMFJSON', 'Xmin', 'Tmin', 'azimuth', 'speed', 'atTime', 'sequenceN', 'numSequences'): + got = sorted(derived.get(canon, [])) + print(f" {canon:14} -> {got}") + +if __name__ == '__main__': + main() From 337e2fc4f6e58d9630c9528ddc9c2531c8e59be1 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 6 Jun 2026 06:58:45 +0200 Subject: [PATCH 13/23] Generate the Spark Connect registrar with identity names from the surface generate_spark_registrar.py joins the canonical named surface with the Spark impl scan and emits MobilitySparkConnectExtensionsGen.scala: a SparkSessionExtensions that injects each canonical function under its identity name (asMFJSON, not temporalAsMfjson), no hand-written remap. Shipped ScalaUDF closures live in a companion object so they capture only the serializable UDF; the builder null-pads the impl's optional args to the call-site arity. The 81 single-impl functions are generated, compiled, and serve live over Spark Connect under their identity names; the 139 multi-impl names are listed for the per-row meos_typeof_hexwkb dispatch. --- codegen/input/spark-impls.json | 1308 +++++++++++++++++ .../MobilitySparkConnectExtensionsGen.scala | 280 ++++ codegen/tools/NAMED_SURFACE.md | 22 +- codegen/tools/extract_spark_impls.py | 8 +- codegen/tools/generate_spark_registrar.py | 122 ++ 5 files changed, 1732 insertions(+), 8 deletions(-) create mode 100644 codegen/output/MobilitySparkConnectExtensionsGen.scala create mode 100644 codegen/tools/generate_spark_registrar.py diff --git a/codegen/input/spark-impls.json b/codegen/input/spark-impls.json index 82ffc7e1d..6d33728fc 100644 --- a/codegen/input/spark-impls.json +++ b/codegen/input/spark-impls.json @@ -4,6 +4,7 @@ "trgeometry": { "field": "trgeometry", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -20,6 +21,7 @@ "trgeometryInst": { "field": "trgeometryInst", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -32,6 +34,7 @@ "tpose": { "field": "tpose", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -47,6 +50,7 @@ "trgeometryFromMFJSON": { "field": "trgeometryFromMFJSON", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -60,6 +64,7 @@ "trgeometryFromText": { "field": "trgeometryFromText", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -71,6 +76,7 @@ "trgeometryFromEWKT": { "field": "trgeometryFromEWKT", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -82,6 +88,7 @@ "trgeometryFromHexEWKB": { "field": "trgeometryFromHexEWKB", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -93,6 +100,7 @@ "trgeometryFromBinary": { "field": "trgeometryFromBinary", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -104,6 +112,7 @@ "trgeometryFromEWKB": { "field": "trgeometryFromEWKB", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -115,6 +124,7 @@ "trgeometrySeq": { "field": "trgeometrySeq", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -130,6 +140,7 @@ "trgeometrySeqSet": { "field": "trgeometrySeqSet", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -145,6 +156,7 @@ "trgeometrySeqSetGaps": { "field": "trgeometrySeqSetGaps", "class": "RgeoUDFs", + "pkg": "org.mobilitydb.spark.rgeo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -162,6 +174,7 @@ "cbuffer": { "field": "cbuffer", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -176,6 +189,7 @@ "point": { "field": "point", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -189,6 +203,7 @@ "radius": { "field": "radius", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -200,6 +215,7 @@ "cbufferContains": { "field": "cbufferContains", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -212,6 +228,7 @@ "cbufferCovers": { "field": "cbufferCovers", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -224,6 +241,7 @@ "cbufferDisjoint": { "field": "cbufferDisjoint", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -236,6 +254,7 @@ "cbufferIntersects": { "field": "cbufferIntersects", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -248,6 +267,7 @@ "cbufferTouches": { "field": "cbufferTouches", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -260,6 +280,7 @@ "cbufferDwithin": { "field": "cbufferDwithin", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -273,6 +294,7 @@ "cbufferSame": { "field": "cbufferSame", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -285,6 +307,7 @@ "cbuffersetFromHexWKB": { "field": "cbuffersetFromHexWKB", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -299,6 +322,7 @@ "cbuffersetFromBinary": { "field": "cbuffersetFromBinary", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -313,6 +337,7 @@ "tcbuffer": { "field": "tcbuffer", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -328,6 +353,7 @@ "tcbufferInst": { "field": "tcbufferInst", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -344,6 +370,7 @@ "tcbufferFromText": { "field": "tcbufferFromText", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -357,6 +384,7 @@ "tcbufferFromEWKT": { "field": "tcbufferFromEWKT", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -368,6 +396,7 @@ "tcbufferFromHexEWKB": { "field": "tcbufferFromHexEWKB", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -379,6 +408,7 @@ "tcbufferFromBinary": { "field": "tcbufferFromBinary", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -390,6 +420,7 @@ "tcbufferFromEWKB": { "field": "tcbufferFromEWKB", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -401,6 +432,7 @@ "tcbufferSeq": { "field": "tcbufferSeq", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -416,6 +448,7 @@ "tcbufferSeqSet": { "field": "tcbufferSeqSet", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -431,6 +464,7 @@ "tcbufferSeqSetGaps": { "field": "tcbufferSeqSetGaps", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -448,6 +482,7 @@ "points": { "field": "points", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -462,6 +497,7 @@ "tcbufferRadius": { "field": "tcbufferRadius", "class": "CbufferUDFs", + "pkg": "org.mobilitydb.spark.cbuffer", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -476,6 +512,7 @@ "pose": { "field": "pose", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -489,6 +526,7 @@ "rotation": { "field": "rotation", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -500,6 +538,7 @@ "poseSame": { "field": "poseSame", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -512,6 +551,7 @@ "poseFromText": { "field": "poseFromText", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -523,6 +563,7 @@ "poseFromEWKT": { "field": "poseFromEWKT", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -534,6 +575,7 @@ "poseFromHexEWKB": { "field": "poseFromHexEWKB", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -545,6 +587,7 @@ "poseFromBinary": { "field": "poseFromBinary", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -556,6 +599,7 @@ "poseFromEWKB": { "field": "poseFromEWKB", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -567,6 +611,7 @@ "posesetFromHexWKB": { "field": "posesetFromHexWKB", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -581,6 +626,7 @@ "posesetFromText": { "field": "posesetFromText", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -594,6 +640,7 @@ "posesetFromEWKT": { "field": "posesetFromEWKT", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -605,6 +652,7 @@ "posesetFromBinary": { "field": "posesetFromBinary", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -619,6 +667,7 @@ "posesetFromEWKB": { "field": "posesetFromEWKB", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -630,6 +679,7 @@ "tposeInst": { "field": "tposeInst", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -646,6 +696,7 @@ "tposeFromText": { "field": "tposeFromText", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -659,6 +710,7 @@ "tposeFromEWKT": { "field": "tposeFromEWKT", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -670,6 +722,7 @@ "tposeFromMFJSON": { "field": "tposeFromMFJSON", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -683,6 +736,7 @@ "tposeFromHexEWKB": { "field": "tposeFromHexEWKB", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -694,6 +748,7 @@ "tposeFromBinary": { "field": "tposeFromBinary", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -705,6 +760,7 @@ "tposeFromEWKB": { "field": "tposeFromEWKB", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -716,6 +772,7 @@ "tposeSeq": { "field": "tposeSeq", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -731,6 +788,7 @@ "tposeSeqSet": { "field": "tposeSeqSet", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -746,6 +804,7 @@ "tposeSeqSetGaps": { "field": "tposeSeqSetGaps", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -763,6 +822,7 @@ "tposePoints": { "field": "tposePoints", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -777,6 +837,7 @@ "tposeRotation": { "field": "tposeRotation", "class": "PoseUDFs", + "pkg": "org.mobilitydb.spark.pose", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -791,6 +852,7 @@ "geomBuffer": { "field": "geomBuffer", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -807,6 +869,7 @@ "geomConvexHull": { "field": "geomConvexHull", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -822,6 +885,7 @@ "geomIntersection": { "field": "geomIntersection", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -838,6 +902,7 @@ "setSRID": { "field": "setSRID", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -854,6 +919,7 @@ "transform": { "field": "transform", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -870,6 +936,7 @@ "asText": { "field": "asText", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -885,6 +952,7 @@ "asEWKT": { "field": "asEWKT", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -900,6 +968,7 @@ "atElevation": { "field": "atElevation", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -918,6 +987,7 @@ "tContains": { "field": "tContains", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -935,6 +1005,7 @@ "tCovers": { "field": "tCovers", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -951,6 +1022,7 @@ "tDwithin": { "field": "tDwithin", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -968,6 +1040,7 @@ "bearingToPoint": { "field": "bearingToPoint", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -985,6 +1058,7 @@ "bearing": { "field": "bearing", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1001,6 +1075,7 @@ "twCentroid": { "field": "twCentroid", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1016,6 +1091,7 @@ "geoSame": { "field": "geoSame", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1031,6 +1107,7 @@ "tpointConvexHull": { "field": "tpointConvexHull", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1046,6 +1123,7 @@ "tpointExpandSpace": { "field": "tpointExpandSpace", "class": "GeoAnalyticsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1068,6 +1146,7 @@ "eIntersects": { "field": "eIntersects", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1088,6 +1167,7 @@ "eDisjoint": { "field": "eDisjoint", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1106,6 +1186,7 @@ "eTouches": { "field": "eTouches", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1124,6 +1205,7 @@ "eCovers": { "field": "eCovers", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1142,6 +1224,7 @@ "eContains": { "field": "eContains", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1160,6 +1243,7 @@ "eDisjointTgeoTgeo": { "field": "eDisjointTgeoTgeo", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1175,6 +1259,7 @@ "eIntersectsTgeoTgeo": { "field": "eIntersectsTgeoTgeo", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1190,6 +1275,7 @@ "nearestApproachDistance": { "field": "nearestApproachDistance", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -1205,6 +1291,7 @@ "eDwithin": { "field": "eDwithin", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -1221,6 +1308,7 @@ "eDwithinGeo": { "field": "eDwithinGeo", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -1240,6 +1328,7 @@ "aIntersects": { "field": "aIntersects", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1258,6 +1347,7 @@ "aDisjoint": { "field": "aDisjoint", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1273,6 +1363,7 @@ "aDwithin": { "field": "aDwithin", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -1289,6 +1380,7 @@ "aDwithinGeo": { "field": "aDwithinGeo", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -1308,6 +1400,7 @@ "tgeompoint": { "field": "tgeompoint", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1322,6 +1415,7 @@ "trajectory": { "field": "trajectory", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1337,6 +1431,7 @@ "geomFromText": { "field": "geomFromText", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1351,6 +1446,7 @@ "getX": { "field": "getX", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1366,6 +1462,7 @@ "getY": { "field": "getY", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1381,6 +1478,7 @@ "getZ": { "field": "getZ", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1398,6 +1496,7 @@ "cumulativeLength": { "field": "cumulativeLength", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1413,6 +1512,7 @@ "stops": { "field": "stops", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -1431,6 +1531,7 @@ "isSimple": { "field": "isSimple", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -1445,6 +1546,7 @@ "shortestLine": { "field": "shortestLineTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1461,6 +1563,7 @@ "tpointTransform": { "field": "tpointTransform", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1477,6 +1580,7 @@ "tpointAsText": { "field": "tpointAsText", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1492,6 +1596,7 @@ "tpointAsEWKT": { "field": "tpointAsEWKT", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1507,6 +1612,7 @@ "tpointSRID": { "field": "tpointSRID", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -1522,6 +1628,7 @@ "tpointSetSRID": { "field": "tpointSetSRID", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1538,6 +1645,7 @@ "tpointRound": { "field": "tpointRound", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1554,6 +1662,7 @@ "tpointToStbox": { "field": "tpointToStbox", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1569,6 +1678,7 @@ "expandSpace": { "field": "expandSpace", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1587,6 +1697,7 @@ "geoAsEwkt": { "field": "geoAsEwkt", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1602,6 +1713,7 @@ "geoAsGeojson": { "field": "geoAsGeojson", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -1618,6 +1730,7 @@ "geoFromGeojson": { "field": "geoFromGeojson", "class": "GeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1632,6 +1745,7 @@ "geomContains": { "field": "geomContains", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1649,6 +1763,7 @@ "geomCovers": { "field": "geomCovers", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1664,6 +1779,7 @@ "geomDisjoint": { "field": "geomDisjoint", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1679,6 +1795,7 @@ "geomIntersects": { "field": "geomIntersects", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1694,6 +1811,7 @@ "geomTouches": { "field": "geomTouches", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -1709,6 +1827,7 @@ "geomDwithin": { "field": "geomDwithin", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -1725,6 +1844,7 @@ "geomDistance": { "field": "geomDistance", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -1740,6 +1860,7 @@ "geomLength": { "field": "geomLength", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -1754,6 +1875,7 @@ "geomPerimeter": { "field": "geomPerimeter", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -1768,6 +1890,7 @@ "geomCentroid": { "field": "geomCentroid", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1783,6 +1906,7 @@ "geomBoundary": { "field": "geomBoundary", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1798,6 +1922,7 @@ "geomDifference": { "field": "geomDifference", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1814,6 +1939,7 @@ "geomUnaryUnion": { "field": "geomUnaryUnion", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1830,6 +1956,7 @@ "geoReverse": { "field": "geoReverse", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -1845,6 +1972,7 @@ "geoRound": { "field": "geoRound", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1861,6 +1989,7 @@ "lineInterpolatePoint": { "field": "lineInterpolatePoint", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1877,6 +2006,7 @@ "lineSubstring": { "field": "lineSubstring", "class": "StaticGeoUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -1894,6 +2024,7 @@ "tdistanceTgeoGeo": { "field": "tdistanceTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1911,6 +2042,7 @@ "tdistanceTgeoTgeo": { "field": "tdistanceTgeoTgeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1927,6 +2059,7 @@ "tdistanceTfloatFloat": { "field": "tdistanceTfloatFloat", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1943,6 +2076,7 @@ "tdistanceTintInt": { "field": "tdistanceTintInt", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1959,6 +2093,7 @@ "tdistanceTnumberTnumber": { "field": "tdistanceTnumberTnumber", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -1975,6 +2110,7 @@ "nadTgeoGeo": { "field": "nadTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -1990,6 +2126,7 @@ "nadTgeoStbox": { "field": "nadTgeoStbox", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -2005,6 +2142,7 @@ "nadTgeoTgeo": { "field": "nadTgeoTgeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -2019,6 +2157,7 @@ "naiTgeoGeo": { "field": "naiTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2035,6 +2174,7 @@ "naiTgeoTgeo": { "field": "naiTgeoTgeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2050,6 +2190,7 @@ "shortestLineTgeoGeo": { "field": "shortestLineTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2066,6 +2207,7 @@ "shortestLineTgeoTgeo": { "field": "shortestLineTgeoTgeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2082,6 +2224,7 @@ "minDistanceTgeoGeo": { "field": "minDistanceTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -2097,6 +2240,7 @@ "minDistanceTgeoTgeo": { "field": "minDistanceTgeoTgeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -2111,6 +2255,7 @@ "minDistanceTgeoarrTgeoarr": { "field": "minDistanceTgeoarrTgeoarr", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -2127,6 +2272,7 @@ "nearestApproachInstant": { "field": "naiTgeoGeo", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2143,6 +2289,7 @@ "minDistance": { "field": "minDistanceTgeoarrTgeoarr", "class": "DistanceUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -2159,6 +2306,7 @@ "stboxHasx": { "field": "stboxHasx", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -2172,6 +2320,7 @@ "stboxHast": { "field": "stboxHast", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -2185,6 +2334,7 @@ "stboxHasz": { "field": "stboxHasz", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -2198,6 +2348,7 @@ "stboxXmin": { "field": "stboxXmin", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2211,6 +2362,7 @@ "stboxXmax": { "field": "stboxXmax", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2224,6 +2376,7 @@ "stboxYmin": { "field": "stboxYmin", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2237,6 +2390,7 @@ "stboxYmax": { "field": "stboxYmax", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2250,6 +2404,7 @@ "stboxZmin": { "field": "stboxZmin", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2263,6 +2418,7 @@ "stboxZmax": { "field": "stboxZmax", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2276,6 +2432,7 @@ "stboxTmin": { "field": "stboxTmin", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -2289,6 +2446,7 @@ "stboxTmax": { "field": "stboxTmax", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -2302,6 +2460,7 @@ "stboxTminInc": { "field": "stboxTminInc", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -2315,6 +2474,7 @@ "stboxTmaxInc": { "field": "stboxTmaxInc", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -2328,6 +2488,7 @@ "stboxSrid": { "field": "stboxSrid", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -2341,6 +2502,7 @@ "stboxExpandSpace": { "field": "stboxExpandSpace", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2355,6 +2517,7 @@ "stboxExpandTime": { "field": "stboxExpandTime", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2370,6 +2533,7 @@ "stboxArea": { "field": "stboxArea", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2383,6 +2547,7 @@ "stboxPerimeter": { "field": "stboxPerimeter", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2396,6 +2561,7 @@ "stboxVolume": { "field": "stboxVolume", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -2409,6 +2575,7 @@ "stboxIsGeodetic": { "field": "stboxIsGeodetic", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -2422,6 +2589,7 @@ "stboxToGeo": { "field": "stboxToGeo", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2436,6 +2604,7 @@ "stboxToTstzspan": { "field": "stboxToTstzspan", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2450,6 +2619,7 @@ "stboxRound": { "field": "stboxRound", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2464,6 +2634,7 @@ "stboxSetSrid": { "field": "stboxSetSrid", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2478,6 +2649,7 @@ "stboxShiftScaleTime": { "field": "stboxShiftScaleTime", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -2494,6 +2666,7 @@ "stboxGetSpace": { "field": "stboxGetSpace", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2507,6 +2680,7 @@ "geoToStbox": { "field": "geoToStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2521,6 +2695,7 @@ "tstzspanToStbox": { "field": "tstzspanToStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2535,6 +2710,7 @@ "timestamptzToStbox": { "field": "timestamptzToStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2548,6 +2724,7 @@ "intersectionStboxStbox": { "field": "intersectionStboxStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2560,6 +2737,7 @@ "unionStboxStbox": { "field": "unionStboxStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2574,6 +2752,7 @@ "stboxIntersection": { "field": "intersectionStboxStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2586,6 +2765,7 @@ "stboxUnion": { "field": "unionStboxStbox", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2600,6 +2780,7 @@ "stboxX": { "field": "stboxX", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -2614,6 +2795,7 @@ "stboxT": { "field": "stboxT", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2625,6 +2807,7 @@ "stboxXT": { "field": "stboxXT", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 5, "argTypes": [ @@ -2640,6 +2823,7 @@ "stboxZ": { "field": "stboxZ", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 6, "argTypes": [ @@ -2656,6 +2840,7 @@ "stboxZT": { "field": "stboxZT", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 7, "argTypes": [ @@ -2673,6 +2858,7 @@ "geodstboxZ": { "field": "geodstboxZ", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 6, "argTypes": [ @@ -2689,6 +2875,7 @@ "geodstboxT": { "field": "geodstboxT", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -2700,6 +2887,7 @@ "geodstboxZT": { "field": "geodstboxZT", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 7, "argTypes": [ @@ -2717,6 +2905,7 @@ "stboxContains": { "field": "stboxContains", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2729,6 +2918,7 @@ "stboxContained": { "field": "stboxContained", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2741,6 +2931,7 @@ "stboxOverlaps": { "field": "stboxOverlaps", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2756,6 +2947,7 @@ "stboxLeft": { "field": "stboxLeft", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2768,6 +2960,7 @@ "stboxOverleft": { "field": "stboxOverleft", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2780,6 +2973,7 @@ "stboxRight": { "field": "stboxRight", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2792,6 +2986,7 @@ "stboxOverright": { "field": "stboxOverright", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2804,6 +2999,7 @@ "stboxBelow": { "field": "stboxBelow", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2816,6 +3012,7 @@ "stboxOverbelow": { "field": "stboxOverbelow", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2828,6 +3025,7 @@ "stboxAbove": { "field": "stboxAbove", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2840,6 +3038,7 @@ "stboxOverabove": { "field": "stboxOverabove", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2852,6 +3051,7 @@ "stboxBefore": { "field": "stboxBefore", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2864,6 +3064,7 @@ "stboxOverbefore": { "field": "stboxOverbefore", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2876,6 +3077,7 @@ "stboxAfter": { "field": "stboxAfter", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2888,6 +3090,7 @@ "stboxOverafter": { "field": "stboxOverafter", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2900,6 +3103,7 @@ "stboxAdjacent": { "field": "stboxAdjacent", "class": "STBoxUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -2916,6 +3120,7 @@ "translate": { "field": "translate2", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -2929,6 +3134,7 @@ "translate3": { "field": "translate3", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -2943,6 +3149,7 @@ "rotate": { "field": "rotate", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2955,6 +3162,7 @@ "rotateX": { "field": "rotateX", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2967,6 +3175,7 @@ "rotateY": { "field": "rotateY", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2979,6 +3188,7 @@ "rotateZ": { "field": "rotateZ", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -2991,6 +3201,7 @@ "transscale": { "field": "transscale", "class": "GeoAffineUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 5, "argTypes": [ @@ -3006,6 +3217,7 @@ "tDisjoint": { "field": "tDisjoint", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3022,6 +3234,7 @@ "tIntersects": { "field": "tIntersects", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3038,6 +3251,7 @@ "tTouches": { "field": "tTouches", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3054,6 +3268,7 @@ "tDisjointTgeoTgeo": { "field": "tDisjointTgeoTgeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3069,6 +3284,7 @@ "tIntersectsTgeoTgeo": { "field": "tIntersectsTgeoTgeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3084,6 +3300,7 @@ "tTouchesTogeoTgeo": { "field": "tTouchesTogeoTgeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3099,6 +3316,7 @@ "tContainsTgeoGeo": { "field": "tContainsTgeoGeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3115,6 +3333,7 @@ "tContainsTgeoTgeo": { "field": "tContainsTgeoTgeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3130,6 +3349,7 @@ "tCoversTgeoGeo": { "field": "tCoversTgeoGeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3146,6 +3366,7 @@ "tDwithinTgeoGeo": { "field": "tDwithinTgeoGeo", "class": "TempSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -3163,6 +3384,7 @@ "aDisjointTgeoGeo": { "field": "aDisjointTgeoGeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3175,6 +3397,7 @@ "aDisjointTgeoTgeo": { "field": "aDisjointTgeoTgeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3187,6 +3410,7 @@ "aIntersectsTgeoGeo": { "field": "aIntersectsTgeoGeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3199,6 +3423,7 @@ "aIntersectsTgeoTgeo": { "field": "aIntersectsTgeoTgeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3211,6 +3436,7 @@ "aTouchesTgeoGeo": { "field": "aTouchesTgeoGeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3223,6 +3449,7 @@ "aTouchesTgeoTgeo": { "field": "aTouchesTgeoTgeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3235,6 +3462,7 @@ "aContainsTgeoGeo": { "field": "aContainsTgeoGeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3247,6 +3475,7 @@ "aContainsTgeoTgeo": { "field": "aContainsTgeoTgeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3259,6 +3488,7 @@ "aContainsGeoTgeo": { "field": "aContainsGeoTgeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3271,6 +3501,7 @@ "aCoversTgeoGeo": { "field": "aCoversTgeoGeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3283,6 +3514,7 @@ "aDwithinTgeoGeo": { "field": "aDwithinTgeoGeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -3296,6 +3528,7 @@ "aDwithinTgeoTgeo": { "field": "aDwithinTgeoTgeo", "class": "AlwaysSpatialRelsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 3, "argTypes": [ @@ -3309,6 +3542,7 @@ "stboxLeftTpoint": { "field": "stboxLeftTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3321,6 +3555,7 @@ "stboxOverleftTpoint": { "field": "stboxOverleftTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3333,6 +3568,7 @@ "stboxRightTpoint": { "field": "stboxRightTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3345,6 +3581,7 @@ "stboxOverrightTpoint": { "field": "stboxOverrightTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3357,6 +3594,7 @@ "stboxBelowTpoint": { "field": "stboxBelowTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3369,6 +3607,7 @@ "stboxOverbelowTpoint": { "field": "stboxOverbelowTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3381,6 +3620,7 @@ "stboxAboveTpoint": { "field": "stboxAboveTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3393,6 +3633,7 @@ "stboxOveraboveTpoint": { "field": "stboxOveraboveTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3405,6 +3646,7 @@ "stboxFrontTpoint": { "field": "stboxFrontTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3417,6 +3659,7 @@ "stboxOverfrontTpoint": { "field": "stboxOverfrontTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3429,6 +3672,7 @@ "stboxBackTpoint": { "field": "stboxBackTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3441,6 +3685,7 @@ "stboxOverbackTpoint": { "field": "stboxOverbackTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3453,6 +3698,7 @@ "stboxBeforeTpoint": { "field": "stboxBeforeTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3465,6 +3711,7 @@ "stboxOverbeforeTpoint": { "field": "stboxOverbeforeTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3477,6 +3724,7 @@ "stboxAfterTpoint": { "field": "stboxAfterTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3489,6 +3737,7 @@ "stboxOverafterTpoint": { "field": "stboxOverafterTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3501,6 +3750,7 @@ "stboxAdjacentTpoint": { "field": "stboxAdjacentTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3513,6 +3763,7 @@ "stboxContainsTpoint": { "field": "stboxContainsTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3525,6 +3776,7 @@ "stboxContainedTpoint": { "field": "stboxContainedTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3537,6 +3789,7 @@ "stboxOverlapsTpoint": { "field": "stboxOverlapsTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3549,6 +3802,7 @@ "stboxSameTpoint": { "field": "stboxSameTpoint", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3561,6 +3815,7 @@ "tpointLeftStbox": { "field": "tpointLeftStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3573,6 +3828,7 @@ "tpointOverleftStbox": { "field": "tpointOverleftStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3585,6 +3841,7 @@ "tpointRightStbox": { "field": "tpointRightStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3597,6 +3854,7 @@ "tpointOverrightStbox": { "field": "tpointOverrightStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3609,6 +3867,7 @@ "tpointBelowStbox": { "field": "tpointBelowStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3621,6 +3880,7 @@ "tpointOverbelowStbox": { "field": "tpointOverbelowStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3633,6 +3893,7 @@ "tpointAboveStbox": { "field": "tpointAboveStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3645,6 +3906,7 @@ "tpointOveraboveStbox": { "field": "tpointOveraboveStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3657,6 +3919,7 @@ "tpointFrontStbox": { "field": "tpointFrontStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3669,6 +3932,7 @@ "tpointOverfrontStbox": { "field": "tpointOverfrontStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3681,6 +3945,7 @@ "tpointBackStbox": { "field": "tpointBackStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3693,6 +3958,7 @@ "tpointOverbackStbox": { "field": "tpointOverbackStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3705,6 +3971,7 @@ "tpointBeforeStbox": { "field": "tpointBeforeStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3717,6 +3984,7 @@ "tpointOverbeforeStbox": { "field": "tpointOverbeforeStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3729,6 +3997,7 @@ "tpointAfterStbox": { "field": "tpointAfterStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3741,6 +4010,7 @@ "tpointOverafterStbox": { "field": "tpointOverafterStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3753,6 +4023,7 @@ "tpointAdjacentStbox": { "field": "tpointAdjacentStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3765,6 +4036,7 @@ "tpointContainsStbox": { "field": "tpointContainsStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3777,6 +4049,7 @@ "tpointContainedStbox": { "field": "tpointContainedStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3789,6 +4062,7 @@ "tpointOverlapsStbox": { "field": "tpointOverlapsStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3801,6 +4075,7 @@ "tpointSameStbox": { "field": "tpointSameStbox", "class": "TPointSTBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.geo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3813,6 +4088,7 @@ "h3IndexFromText": { "field": "h3IndexFromText", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -3826,6 +4102,7 @@ "h3IndexAsText": { "field": "h3IndexAsText", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -3839,6 +4116,7 @@ "h3IndexParse": { "field": "h3IndexParse", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -3852,6 +4130,7 @@ "h3IndexToString": { "field": "h3IndexToString", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -3865,6 +4144,7 @@ "h3IndexEq": { "field": "h3IndexEq", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3879,6 +4159,7 @@ "h3IndexNe": { "field": "h3IndexNe", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3893,6 +4174,7 @@ "h3IndexLt": { "field": "h3IndexLt", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3907,6 +4189,7 @@ "h3IndexLe": { "field": "h3IndexLe", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3921,6 +4204,7 @@ "h3IndexGt": { "field": "h3IndexGt", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3935,6 +4219,7 @@ "h3IndexGe": { "field": "h3IndexGe", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -3949,6 +4234,7 @@ "h3IndexCmp": { "field": "h3IndexCmp", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -3963,6 +4249,7 @@ "h3IndexHash": { "field": "h3IndexHash", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -3976,6 +4263,7 @@ "h3GridDisk": { "field": "h3GridDisk", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -3990,6 +4278,7 @@ "h3GridRing": { "field": "h3GridRing", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4004,6 +4293,7 @@ "h3GridPathCells": { "field": "h3GridPathCells", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4018,6 +4308,7 @@ "h3CellToChildren": { "field": "h3CellToChildren", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4032,6 +4323,7 @@ "h3CompactCells": { "field": "h3CompactCells", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4046,6 +4338,7 @@ "h3UncompactCells": { "field": "h3UncompactCells", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4061,6 +4354,7 @@ "h3OriginToDirectedEdges": { "field": "h3OriginToDirectedEdges", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4074,6 +4368,7 @@ "h3CellToVertexes": { "field": "h3CellToVertexes", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4087,6 +4382,7 @@ "h3GetIcosahedronFaces": { "field": "h3GetIcosahedronFaces", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4100,6 +4396,7 @@ "th3IndexFromText": { "field": "th3IndexFromText", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4113,6 +4410,7 @@ "th3IndexInstFromText": { "field": "th3IndexInstFromText", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4127,6 +4425,7 @@ "th3IndexSeqFromText": { "field": "th3IndexSeqFromText", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4142,6 +4441,7 @@ "th3IndexSeqSetFromText": { "field": "th3IndexSeqSetFromText", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4156,6 +4456,7 @@ "th3IndexMake": { "field": "th3IndexMake", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4170,6 +4471,7 @@ "th3IndexInstMake": { "field": "th3IndexInstMake", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4185,6 +4487,7 @@ "th3IndexSeqMake": { "field": "th3IndexSeqMake", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 5, "argTypes": [ @@ -4203,6 +4506,7 @@ "th3IndexSeqSetMake": { "field": "th3IndexSeqSetMake", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4218,6 +4522,7 @@ "th3IndexStartValue": { "field": "th3IndexStartValue", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -4232,6 +4537,7 @@ "th3IndexEndValue": { "field": "th3IndexEndValue", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -4246,6 +4552,7 @@ "th3IndexValueN": { "field": "th3IndexValueN", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -4261,6 +4568,7 @@ "th3IndexValueAtTimestamp": { "field": "th3IndexValueAtTimestamp", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 3, "argTypes": [ @@ -4277,6 +4585,7 @@ "tbigintToTh3Index": { "field": "tbigintToTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4291,6 +4600,7 @@ "th3IndexToTbigint": { "field": "th3IndexToTbigint", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4305,6 +4615,7 @@ "everEqH3IndexTh3Index": { "field": "everEqH3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4317,6 +4628,7 @@ "everEqTh3IndexH3Index": { "field": "everEqTh3IndexH3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4329,6 +4641,7 @@ "everNeH3IndexTh3Index": { "field": "everNeH3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4341,6 +4654,7 @@ "everNeTh3IndexH3Index": { "field": "everNeTh3IndexH3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4353,6 +4667,7 @@ "alwaysEqH3IndexTh3Index": { "field": "alwaysEqH3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4365,6 +4680,7 @@ "alwaysEqTh3IndexH3Index": { "field": "alwaysEqTh3IndexH3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4377,6 +4693,7 @@ "alwaysNeH3IndexTh3Index": { "field": "alwaysNeH3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4389,6 +4706,7 @@ "alwaysNeTh3IndexH3Index": { "field": "alwaysNeTh3IndexH3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4411,6 +4729,7 @@ "everEqTh3IndexTh3Index": { "field": "everEqTh3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4423,6 +4742,7 @@ "everNeTh3IndexTh3Index": { "field": "everNeTh3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4435,6 +4755,7 @@ "alwaysEqTh3IndexTh3Index": { "field": "alwaysEqTh3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4447,6 +4768,7 @@ "alwaysNeTh3IndexTh3Index": { "field": "alwaysNeTh3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4465,6 +4787,7 @@ "teqH3IndexTh3Index": { "field": "teqH3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4480,6 +4803,7 @@ "teqTh3IndexH3Index": { "field": "teqTh3IndexH3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4495,6 +4819,7 @@ "teqTh3IndexTh3Index": { "field": "teqTh3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4510,6 +4835,7 @@ "tneH3IndexTh3Index": { "field": "tneH3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4525,6 +4851,7 @@ "tneTh3IndexH3Index": { "field": "tneTh3IndexH3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4540,6 +4867,7 @@ "tneTh3IndexTh3Index": { "field": "tneTh3IndexTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4555,6 +4883,7 @@ "th3IndexGetResolution": { "field": "th3IndexGetResolution", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4566,6 +4895,7 @@ "th3IndexGetBaseCellNumber": { "field": "th3IndexGetBaseCellNumber", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4577,6 +4907,7 @@ "th3IndexIsValidCell": { "field": "th3IndexIsValidCell", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4588,6 +4919,7 @@ "th3IndexIsResClassIii": { "field": "th3IndexIsResClassIii", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4599,6 +4931,7 @@ "th3IndexIsPentagon": { "field": "th3IndexIsPentagon", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4628,6 +4961,7 @@ "th3IndexCellToParent": { "field": "th3IndexCellToParent", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4643,6 +4977,7 @@ "th3IndexCellToParentNext": { "field": "th3IndexCellToParentNext", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4654,6 +4989,7 @@ "th3IndexCellToCenterChild": { "field": "th3IndexCellToCenterChild", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4669,6 +5005,7 @@ "th3IndexCellToCenterChildNext": { "field": "th3IndexCellToCenterChildNext", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4680,6 +5017,7 @@ "th3IndexCellToChildPos": { "field": "th3IndexCellToChildPos", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4695,6 +5033,7 @@ "th3IndexChildPosToCell": { "field": "th3IndexChildPosToCell", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -4711,6 +5050,7 @@ "tgeogpointToTh3Index": { "field": "tgeogpointToTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4726,6 +5066,7 @@ "tgeompointToTh3Index": { "field": "tgeompointToTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4741,6 +5082,7 @@ "th3IndexToTgeogpoint": { "field": "th3IndexToTgeogpoint", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4752,6 +5094,7 @@ "th3IndexToTgeompoint": { "field": "th3IndexToTgeompoint", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4763,6 +5106,7 @@ "th3IndexCellToBoundary": { "field": "th3IndexCellToBoundary", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4774,6 +5118,7 @@ "geomToH3Cell": { "field": "geomToH3Cell", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -4791,6 +5136,7 @@ "geoToH3IndexSet": { "field": "geoToH3IndexSet", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4806,6 +5152,7 @@ "everIntersectsH3IndexSetTh3Index": { "field": "everIntersectsH3IndexSetTh3Index", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -4822,6 +5169,7 @@ "th3IndexAreNeighborCells": { "field": "th3IndexAreNeighborCells", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4837,6 +5185,7 @@ "th3IndexCellsToDirectedEdge": { "field": "th3IndexCellsToDirectedEdge", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4852,6 +5201,7 @@ "th3IndexIsValidDirectedEdge": { "field": "th3IndexIsValidDirectedEdge", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4863,6 +5213,7 @@ "th3IndexGetDirectedEdgeOrigin": { "field": "th3IndexGetDirectedEdgeOrigin", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4874,6 +5225,7 @@ "th3IndexGetDirectedEdgeDestination": { "field": "th3IndexGetDirectedEdgeDestination", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4885,6 +5237,7 @@ "th3IndexDirectedEdgeToBoundary": { "field": "th3IndexDirectedEdgeToBoundary", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4896,6 +5249,7 @@ "th3IndexCellToVertex": { "field": "th3IndexCellToVertex", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4911,6 +5265,7 @@ "th3IndexVertexToLatlng": { "field": "th3IndexVertexToLatlng", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4922,6 +5277,7 @@ "th3IndexIsValidVertex": { "field": "th3IndexIsValidVertex", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -4933,6 +5289,7 @@ "th3IndexGridDistance": { "field": "th3IndexGridDistance", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4948,6 +5305,7 @@ "th3IndexCellToLocalIj": { "field": "th3IndexCellToLocalIj", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4963,6 +5321,7 @@ "th3IndexLocalIjToCell": { "field": "th3IndexLocalIjToCell", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4978,6 +5337,7 @@ "th3IndexCellArea": { "field": "th3IndexCellArea", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -4993,6 +5353,7 @@ "th3IndexEdgeLength": { "field": "th3IndexEdgeLength", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5008,6 +5369,7 @@ "tgeogpointGreatCircleDistance": { "field": "tgeogpointGreatCircleDistance", "class": "Th3IndexUDFs", + "pkg": "org.mobilitydb.spark.h3", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -5024,6 +5386,7 @@ "abs": { "field": "abs", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5038,6 +5401,7 @@ "ceil": { "field": "ceil", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5052,6 +5416,7 @@ "floor": { "field": "floor", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5066,6 +5431,7 @@ "exp": { "field": "exp", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5080,6 +5446,7 @@ "ln": { "field": "ln", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5094,6 +5461,7 @@ "log10": { "field": "log10", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5108,6 +5476,7 @@ "radians": { "field": "radians", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5122,6 +5491,7 @@ "derivative": { "field": "derivative", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5136,6 +5506,7 @@ "deltavalue": { "field": "deltavalue", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5150,6 +5521,7 @@ "trend": { "field": "trend", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5164,6 +5536,7 @@ "degrees": { "field": "degrees", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5179,6 +5552,7 @@ "integral": { "field": "integral", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -5193,6 +5567,7 @@ "twavg": { "field": "twavg", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -5207,6 +5582,7 @@ "tnumber_add": { "field": "tnumber_add", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5222,6 +5598,7 @@ "tnumber_sub": { "field": "tnumber_sub", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5237,6 +5614,7 @@ "tnumber_mul": { "field": "tnumber_mul", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5252,6 +5630,7 @@ "tnumber_div": { "field": "tnumber_div", "class": "MathGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5267,6 +5646,7 @@ "tfloatDerivative": { "field": "tfloatDerivative", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5282,6 +5662,7 @@ "tfloatRound": { "field": "tfloatRound", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5298,6 +5679,7 @@ "tfloatFloor": { "field": "tfloatFloor", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5313,6 +5695,7 @@ "tfloatCeil": { "field": "tfloatCeil", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5328,6 +5711,7 @@ "tfloatDegrees": { "field": "tfloatDegrees", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5344,6 +5728,7 @@ "tfloatRadians": { "field": "tfloatRadians", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5359,6 +5744,7 @@ "tnumberIntegral": { "field": "tnumberIntegral", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -5373,6 +5759,7 @@ "tnumberTwavg": { "field": "tnumberTwavg", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -5387,6 +5774,7 @@ "tnumberTrend": { "field": "tnumberTrend", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5402,6 +5790,7 @@ "tpointLength": { "field": "tpointLength", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -5416,6 +5805,7 @@ "tpointSpeed": { "field": "tpointSpeed", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5431,6 +5821,7 @@ "tpointAzimuth": { "field": "tpointAzimuth", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5446,6 +5837,7 @@ "tpointDirection": { "field": "tpointDirection", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5461,6 +5853,7 @@ "tpointCumulativeLength": { "field": "tpointCumulativeLength", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5476,6 +5869,7 @@ "tgeoTraversedArea": { "field": "tgeoTraversedArea", "class": "AnalyticsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5491,6 +5885,7 @@ "span_union": { "field": "spanUnion", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5506,6 +5901,7 @@ "span_minus": { "field": "spanMinus", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5521,6 +5917,7 @@ "span_intersection": { "field": "spanIntersection", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5536,6 +5933,7 @@ "spanset_union": { "field": "spansetUnion", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5551,6 +5949,7 @@ "spanset_minus": { "field": "spansetMinus", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5566,6 +5965,7 @@ "spanset_intersection": { "field": "spansetIntersection", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5581,6 +5981,7 @@ "spann": { "field": "spann", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5596,6 +5997,7 @@ "startSpan": { "field": "startSpan", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5610,6 +6012,7 @@ "endSpan": { "field": "endSpan", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5624,6 +6027,7 @@ "numSpans": { "field": "numSpans", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -5638,6 +6042,7 @@ "setUnion": { "field": "setUnion", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5653,6 +6058,7 @@ "setMinus": { "field": "setMinus", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5668,6 +6074,7 @@ "setIntersection": { "field": "setIntersection", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5683,6 +6090,7 @@ "tbox_union": { "field": "tboxUnion", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5698,6 +6106,7 @@ "tbox_intersection": { "field": "tboxIntersection", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5713,6 +6122,7 @@ "stbox_union": { "field": "stboxUnion", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5728,6 +6138,7 @@ "stbox_intersection": { "field": "stboxIntersection", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5743,6 +6154,7 @@ "bigintSpan": { "field": "bigintSpan", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5757,6 +6169,7 @@ "atTbox": { "field": "atTbox", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5774,6 +6187,7 @@ "minusTbox": { "field": "minusTbox", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5791,6 +6205,7 @@ "span_distance": { "field": "spanDistance", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -5806,6 +6221,7 @@ "spanset_distance": { "field": "spansetDistance", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -5821,6 +6237,7 @@ "set_distance": { "field": "setDistance", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -5836,6 +6253,7 @@ "time_distance": { "field": "timeDistanceSpan", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -5851,6 +6269,7 @@ "time_distance_spanset": { "field": "timeDistanceSpanset", "class": "SetSpanGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -5866,6 +6285,7 @@ "startValue": { "field": "startValue", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5881,6 +6301,7 @@ "endValue": { "field": "endValue", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5896,6 +6317,7 @@ "valueN": { "field": "valueN", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5912,6 +6334,7 @@ "minusValue": { "field": "minusValue", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5929,6 +6352,7 @@ "minusValues": { "field": "minusValues", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5946,6 +6370,7 @@ "atValue": { "field": "atValue", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5964,6 +6389,7 @@ "traversedArea": { "field": "traversedArea", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -5980,6 +6406,7 @@ "getSpace": { "field": "getSpace", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -5995,6 +6422,7 @@ "tprecision": { "field": "tprecision", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6012,6 +6440,7 @@ "tsample": { "field": "tsample", "class": "AccessorGapUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6030,6 +6459,7 @@ "tboolInst": { "field": "tboolInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6045,6 +6475,7 @@ "tintInst": { "field": "tintInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6060,6 +6491,7 @@ "tfloatInst": { "field": "tfloatInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6075,6 +6507,7 @@ "ttextInst": { "field": "ttextInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6094,6 +6527,7 @@ "tgeompointInst": { "field": "tgeompointInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6110,6 +6544,7 @@ "tgeogpointInst": { "field": "tgeogpointInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6122,6 +6557,7 @@ "tgeometryInst": { "field": "tgeometryInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6137,6 +6573,7 @@ "tgeographyInst": { "field": "tgeographyInst", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6149,6 +6586,7 @@ "tboolSeq": { "field": "tboolSeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6160,6 +6598,7 @@ "tintSeq": { "field": "tintSeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6171,6 +6610,7 @@ "tfloatSeq": { "field": "tfloatSeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6182,6 +6622,7 @@ "ttextSeq": { "field": "ttextSeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6193,6 +6634,7 @@ "tgeompointSeq": { "field": "tgeompointSeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6204,6 +6646,7 @@ "tgeogpointSeq": { "field": "tgeogpointSeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6215,6 +6658,7 @@ "tgeometrySeq": { "field": "tgeometrySeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6226,6 +6670,7 @@ "tgeographySeq": { "field": "tgeographySeq", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6237,6 +6682,7 @@ "tboolSeqSet": { "field": "tboolSeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6248,6 +6694,7 @@ "tintSeqSet": { "field": "tintSeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6259,6 +6706,7 @@ "tfloatSeqSet": { "field": "tfloatSeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6270,6 +6718,7 @@ "ttextSeqSet": { "field": "ttextSeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6281,6 +6730,7 @@ "tgeompointSeqSet": { "field": "tgeompointSeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6292,6 +6742,7 @@ "tgeogpointSeqSet": { "field": "tgeogpointSeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6303,6 +6754,7 @@ "tgeometrySeqSet": { "field": "tgeometrySeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6314,6 +6766,7 @@ "tgeographySeqSet": { "field": "tgeographySeqSet", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6325,6 +6778,7 @@ "tempSubtype": { "field": "tempSubtype", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6339,6 +6793,7 @@ "memSize": { "field": "memSize", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -6352,6 +6807,7 @@ "getTime": { "field": "getTime", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6367,6 +6823,7 @@ "deleteTime": { "field": "deleteTime", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6383,6 +6840,7 @@ "beforeTimestamp": { "field": "beforeTimestamp", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6398,6 +6856,7 @@ "afterTimestamp": { "field": "afterTimestamp", "class": "SubtypeConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6413,6 +6872,7 @@ "temporalToTInstant": { "field": "temporalToTInstant", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6428,6 +6888,7 @@ "temporalToTSequence": { "field": "temporalToTSequence", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6444,6 +6905,7 @@ "temporalToTSequenceSet": { "field": "temporalToTSequenceSet", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6460,6 +6922,7 @@ "temporalSetInterp": { "field": "temporalSetInterp", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6476,6 +6939,7 @@ "tfloatToTint": { "field": "tfloatToTint", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6491,6 +6955,7 @@ "tintToTfloat": { "field": "tintToTfloat", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6506,6 +6971,7 @@ "tintShiftValue": { "field": "tintShiftValue", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6522,6 +6988,7 @@ "tintScaleValue": { "field": "tintScaleValue", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6538,6 +7005,7 @@ "tintShiftScaleValue": { "field": "tintShiftScaleValue", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6555,6 +7023,7 @@ "tfloatShiftValue": { "field": "tfloatShiftValue", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6571,6 +7040,7 @@ "tfloatScaleValue": { "field": "tfloatScaleValue", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6587,6 +7057,7 @@ "tfloatShiftScaleValue": { "field": "tfloatShiftScaleValue", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6604,6 +7075,7 @@ "temporalShiftTime": { "field": "temporalShiftTime", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6621,6 +7093,7 @@ "temporalScaleTime": { "field": "temporalScaleTime", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6638,6 +7111,7 @@ "temporalShiftScaleTime": { "field": "temporalShiftScaleTime", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6656,6 +7130,7 @@ "tpointSetSrid": { "field": "tpointSetSrid", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6672,6 +7147,7 @@ "temporalSimplifyDp": { "field": "temporalSimplifyDp", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6688,6 +7164,7 @@ "temporalSimplifyMaxDist": { "field": "temporalSimplifyMaxDist", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6704,6 +7181,7 @@ "temporalSimplifyMinDist": { "field": "temporalSimplifyMinDist", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6720,6 +7198,7 @@ "temporalSimplifyMinTdelta": { "field": "temporalSimplifyMinTdelta", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6737,6 +7216,7 @@ "temporalTPrecision": { "field": "temporalTPrecision", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -6754,6 +7234,7 @@ "temporalTSample": { "field": "temporalTSample", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6772,6 +7253,7 @@ "tpointTrajectory": { "field": "tpointTrajectory", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6787,6 +7269,7 @@ "floatsetCeil": { "field": "floatsetCeil", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6802,6 +7285,7 @@ "floatsetFloor": { "field": "floatsetFloor", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6817,6 +7301,7 @@ "floatsetDegrees": { "field": "floatsetDegrees", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6832,6 +7317,7 @@ "floatsetRadians": { "field": "floatsetRadians", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6847,6 +7333,7 @@ "textsetLower": { "field": "textsetLower", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6862,6 +7349,7 @@ "textsetUpper": { "field": "textsetUpper", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6877,6 +7365,7 @@ "textsetInitcap": { "field": "textsetInitcap", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6892,6 +7381,7 @@ "intspanShiftScale": { "field": "intspanShiftScale", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6909,6 +7399,7 @@ "floatspanShiftScale": { "field": "floatspanShiftScale", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6926,6 +7417,7 @@ "intspansetShiftScale": { "field": "intspansetShiftScale", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6943,6 +7435,7 @@ "floatspansetShiftScale": { "field": "floatspansetShiftScale", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -6960,6 +7453,7 @@ "floatspansetCeil": { "field": "floatspansetCeil", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6975,6 +7469,7 @@ "floatspansetFloor": { "field": "floatspansetFloor", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -6990,6 +7485,7 @@ "floatspansetRound": { "field": "floatspansetRound", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7006,6 +7502,7 @@ "intspansetToFloat": { "field": "intspansetToFloat", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7021,6 +7518,7 @@ "floatspansetToInt": { "field": "floatspansetToInt", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7036,6 +7534,7 @@ "douglasPeuckerSimplify": { "field": "temporalSimplifyDp", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7052,6 +7551,7 @@ "maxDistSimplify": { "field": "temporalSimplifyMaxDist", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7068,6 +7568,7 @@ "minDistSimplify": { "field": "temporalSimplifyMinDist", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7084,6 +7585,7 @@ "minTimeDeltaSimplify": { "field": "temporalSimplifyMinTdelta", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7101,6 +7603,7 @@ "intspanset": { "field": "floatspansetToInt", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7116,6 +7619,7 @@ "floatspanset": { "field": "intspansetToFloat", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7131,6 +7635,7 @@ "shiftScale": { "field": "floatspanShiftScale", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -7148,6 +7653,7 @@ "dateset": { "field": "tstzsetToDateset", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7163,6 +7669,7 @@ "tstzset": { "field": "tstzset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7177,6 +7684,7 @@ "span": { "field": "temporalToTstzspan", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7192,6 +7700,7 @@ "spanset": { "field": "spanToSpanset", "class": "TransformUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -7207,6 +7716,7 @@ "getTimeTile": { "field": "getTimeTile", "class": "TileUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -7223,6 +7733,7 @@ "getSpaceTile": { "field": "getSpaceTile", "class": "TileUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 5, "argTypes": [ @@ -7241,6 +7752,7 @@ "getSpaceTimeTile": { "field": "getSpaceTimeTile", "class": "TileUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 8, "argTypes": [ @@ -7263,6 +7775,7 @@ "getStboxTimeTile": { "field": "getTimeTile", "class": "TileUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -7279,6 +7792,7 @@ "getValueTile": { "field": "getValueTileFloat", "class": "TileUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -7294,6 +7808,7 @@ "getTBoxTimeTile": { "field": "getTBoxTimeTile", "class": "TileUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -7314,6 +7829,7 @@ "tnumberAdjacentTnumber": { "field": "tnumberAdjacentTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7326,6 +7842,7 @@ "tnumberContainsTnumber": { "field": "tnumberContainsTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7338,6 +7855,7 @@ "tnumberContainedTnumber": { "field": "tnumberContainedTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7350,6 +7868,7 @@ "tnumberOverlapsTnumber": { "field": "tnumberOverlapsTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7362,6 +7881,7 @@ "tnumberSameTnumber": { "field": "tnumberSameTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7374,6 +7894,7 @@ "numspanAdjacentTnumber": { "field": "numspanAdjacentTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7386,6 +7907,7 @@ "numspanContainsTnumber": { "field": "numspanContainsTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7398,6 +7920,7 @@ "numspanContainedTnumber": { "field": "numspanContainedTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7410,6 +7933,7 @@ "numspanOverlapsTnumber": { "field": "numspanOverlapsTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7422,6 +7946,7 @@ "numspanSameTnumber": { "field": "numspanSameTnumber", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7434,6 +7959,7 @@ "tnumberAdjacentNumspan": { "field": "tnumberAdjacentNumspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7446,6 +7972,7 @@ "tnumberContainsNumspan": { "field": "tnumberContainsNumspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7458,6 +7985,7 @@ "tnumberContainedNumspan": { "field": "tnumberContainedNumspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7470,6 +7998,7 @@ "tnumberOverlapsNumspan": { "field": "tnumberOverlapsNumspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7482,6 +8011,7 @@ "tnumberSameNumspan": { "field": "tnumberSameNumspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7494,6 +8024,7 @@ "tstzspanAdjacentTemporal": { "field": "tstzspanAdjacentTemporal", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7506,6 +8037,7 @@ "tstzspanContainsTemporal": { "field": "tstzspanContainsTemporal", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7518,6 +8050,7 @@ "tstzspanContainedTemporal": { "field": "tstzspanContainedTemporal", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7530,6 +8063,7 @@ "tstzspanOverlapsTemporal": { "field": "tstzspanOverlapsTemporal", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7542,6 +8076,7 @@ "tstzspanSameTemporal": { "field": "tstzspanSameTemporal", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7554,6 +8089,7 @@ "temporalAdjacentTstzspan": { "field": "temporalAdjacentTstzspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7566,6 +8102,7 @@ "temporalContainsTstzspan": { "field": "temporalContainsTstzspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7578,6 +8115,7 @@ "temporalContainedTstzspan": { "field": "temporalContainedTstzspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7590,6 +8128,7 @@ "temporalOverlapsTstzspan": { "field": "temporalOverlapsTstzspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7602,6 +8141,7 @@ "temporalSameTstzspan": { "field": "temporalSameTstzspan", "class": "TemporalBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -7614,6 +8154,7 @@ "floatBucket": { "field": "floatBucket", "class": "BucketUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 3, "argTypes": [ @@ -7627,6 +8168,7 @@ "intBucket": { "field": "intBucket", "class": "BucketUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 3, "argTypes": [ @@ -7640,6 +8182,7 @@ "temporalAtTstzspan": { "field": "temporalAtTstzspan", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7657,6 +8200,7 @@ "temporalAtTstzspanset": { "field": "temporalAtTstzspanset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7674,6 +8218,7 @@ "temporalAtTstzset": { "field": "temporalAtTstzset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7691,6 +8236,7 @@ "temporalMinusTstzset": { "field": "temporalMinusTstzset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7708,6 +8254,7 @@ "temporalMinusTstzspan": { "field": "temporalMinusTstzspan", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7725,6 +8272,7 @@ "temporalMinusTstzspanset": { "field": "temporalMinusTstzspanset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7742,6 +8290,7 @@ "temporalAtTimestamptz": { "field": "temporalAtTimestamptz", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7758,6 +8307,7 @@ "temporalMinusTimestamptz": { "field": "temporalMinusTimestamptz", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7774,6 +8324,7 @@ "temporalDeleteTstzspan": { "field": "temporalDeleteTstzspan", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7791,6 +8342,7 @@ "temporalDeleteTstzspanset": { "field": "temporalDeleteTstzspanset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7808,6 +8360,7 @@ "temporalDeleteTstzset": { "field": "temporalDeleteTstzset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7825,6 +8378,7 @@ "temporalDeleteTimestamptz": { "field": "temporalDeleteTimestamptz", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7841,6 +8395,7 @@ "tfloatAtValue": { "field": "tfloatAtValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7857,6 +8412,7 @@ "tfloatMinusValue": { "field": "tfloatMinusValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7873,6 +8429,7 @@ "tintAtValue": { "field": "tintAtValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7889,6 +8446,7 @@ "tintMinusValue": { "field": "tintMinusValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7905,6 +8463,7 @@ "tnumberAtSpan": { "field": "tnumberAtSpan", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7922,6 +8481,7 @@ "tnumberMinusSpan": { "field": "tnumberMinusSpan", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7939,6 +8499,7 @@ "tnumberAtSpanset": { "field": "tnumberAtSpanset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7956,6 +8517,7 @@ "tnumberMinusSpanset": { "field": "tnumberMinusSpanset", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7973,6 +8535,7 @@ "tboolAtValue": { "field": "tboolAtValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -7989,6 +8552,7 @@ "tboolMinusValue": { "field": "tboolMinusValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8005,6 +8569,7 @@ "ttextAtValue": { "field": "ttextAtValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8022,6 +8587,7 @@ "ttextMinusValue": { "field": "ttextMinusValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8039,6 +8605,7 @@ "tpointAtValue": { "field": "tpointAtValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8056,6 +8623,7 @@ "tpointMinusValue": { "field": "tpointMinusValue", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8073,6 +8641,7 @@ "tgeoAtStbox": { "field": "tgeoAtStbox", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8090,6 +8659,7 @@ "tgeoMinusStbox": { "field": "tgeoMinusStbox", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8107,6 +8677,7 @@ "tpointAtElevation": { "field": "tpointAtElevation", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8124,6 +8695,7 @@ "tpointMinusElevation": { "field": "tpointMinusElevation", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8141,6 +8713,7 @@ "temporalAtMax": { "field": "temporalAtMax", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -8156,6 +8729,7 @@ "temporalAtMin": { "field": "temporalAtMin", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -8171,6 +8745,7 @@ "temporalAtValues": { "field": "temporalAtValues", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8188,6 +8763,7 @@ "temporalMinusValues": { "field": "temporalMinusValues", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8205,6 +8781,7 @@ "tgeoAtGeom": { "field": "tgeoAtGeom", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8222,6 +8799,7 @@ "tgeoMinusGeom": { "field": "tgeoMinusGeom", "class": "RestrictionUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -8239,6 +8817,7 @@ "temporalEq": { "field": "temporalEq", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8253,6 +8832,7 @@ "temporalNe": { "field": "temporalNe", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8267,6 +8847,7 @@ "temporalLt": { "field": "temporalLt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8281,6 +8862,7 @@ "temporalLe": { "field": "temporalLe", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8295,6 +8877,7 @@ "temporalGt": { "field": "temporalGt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8309,6 +8892,7 @@ "temporalGe": { "field": "temporalGe", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8323,6 +8907,7 @@ "everEqTintInt": { "field": "everEqTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8337,6 +8922,7 @@ "everEqTfloatFloat": { "field": "everEqTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8351,6 +8937,7 @@ "everEqTemporal": { "field": "everEqTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8365,6 +8952,7 @@ "everLtTintInt": { "field": "everLtTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8379,6 +8967,7 @@ "everLtTfloatFloat": { "field": "everLtTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8393,6 +8982,7 @@ "everLtTemporal": { "field": "everLtTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8407,6 +8997,7 @@ "everLeTintInt": { "field": "everLeTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8421,6 +9012,7 @@ "everLeTfloatFloat": { "field": "everLeTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8435,6 +9027,7 @@ "everLeTemporal": { "field": "everLeTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8449,6 +9042,7 @@ "everGtTintInt": { "field": "everGtTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8463,6 +9057,7 @@ "everGtTfloatFloat": { "field": "everGtTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8477,6 +9072,7 @@ "everGtTemporal": { "field": "everGtTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8491,6 +9087,7 @@ "everGeTintInt": { "field": "everGeTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8505,6 +9102,7 @@ "everGeTfloatFloat": { "field": "everGeTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8519,6 +9117,7 @@ "everGeTemporal": { "field": "everGeTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8533,6 +9132,7 @@ "everNeTintInt": { "field": "everNeTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8547,6 +9147,7 @@ "everNeTfloatFloat": { "field": "everNeTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8561,6 +9162,7 @@ "everNeTemporal": { "field": "everNeTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8575,6 +9177,7 @@ "alwaysEqTintInt": { "field": "alwaysEqTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8589,6 +9192,7 @@ "alwaysEqTfloatFloat": { "field": "alwaysEqTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8603,6 +9207,7 @@ "alwaysEqTemporal": { "field": "alwaysEqTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8617,6 +9222,7 @@ "alwaysLtTintInt": { "field": "alwaysLtTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8631,6 +9237,7 @@ "alwaysLtTfloatFloat": { "field": "alwaysLtTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8645,6 +9252,7 @@ "alwaysLtTemporal": { "field": "alwaysLtTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8659,6 +9267,7 @@ "alwaysLeTintInt": { "field": "alwaysLeTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8673,6 +9282,7 @@ "alwaysLeTfloatFloat": { "field": "alwaysLeTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8687,6 +9297,7 @@ "alwaysLeTemporal": { "field": "alwaysLeTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8701,6 +9312,7 @@ "alwaysGtTintInt": { "field": "alwaysGtTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8715,6 +9327,7 @@ "alwaysGtTfloatFloat": { "field": "alwaysGtTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8729,6 +9342,7 @@ "alwaysGtTemporal": { "field": "alwaysGtTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8743,6 +9357,7 @@ "alwaysGeTintInt": { "field": "alwaysGeTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8757,6 +9372,7 @@ "alwaysGeTfloatFloat": { "field": "alwaysGeTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8771,6 +9387,7 @@ "alwaysGeTemporal": { "field": "alwaysGeTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8785,6 +9402,7 @@ "alwaysNeTintInt": { "field": "alwaysNeTintInt", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8799,6 +9417,7 @@ "alwaysNeTfloatFloat": { "field": "alwaysNeTfloatFloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8813,6 +9432,7 @@ "alwaysNeTemporal": { "field": "alwaysNeTemporal", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8827,6 +9447,7 @@ "alwaysEqIntTint": { "field": "alwaysEqIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8841,6 +9462,7 @@ "alwaysNeIntTint": { "field": "alwaysNeIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8855,6 +9477,7 @@ "alwaysLtIntTint": { "field": "alwaysLtIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8869,6 +9492,7 @@ "alwaysLeIntTint": { "field": "alwaysLeIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8883,6 +9507,7 @@ "alwaysGtIntTint": { "field": "alwaysGtIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8897,6 +9522,7 @@ "alwaysGeIntTint": { "field": "alwaysGeIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8911,6 +9537,7 @@ "alwaysEqFloatTfloat": { "field": "alwaysEqFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8925,6 +9552,7 @@ "alwaysNeFloatTfloat": { "field": "alwaysNeFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8939,6 +9567,7 @@ "alwaysLtFloatTfloat": { "field": "alwaysLtFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8953,6 +9582,7 @@ "alwaysLeFloatTfloat": { "field": "alwaysLeFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8967,6 +9597,7 @@ "alwaysGtFloatTfloat": { "field": "alwaysGtFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8981,6 +9612,7 @@ "alwaysGeFloatTfloat": { "field": "alwaysGeFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -8995,6 +9627,7 @@ "everEqIntTint": { "field": "everEqIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9009,6 +9642,7 @@ "everNeIntTint": { "field": "everNeIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9023,6 +9657,7 @@ "everLtIntTint": { "field": "everLtIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9037,6 +9672,7 @@ "everLeIntTint": { "field": "everLeIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9051,6 +9687,7 @@ "everGtIntTint": { "field": "everGtIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9065,6 +9702,7 @@ "everGeIntTint": { "field": "everGeIntTint", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9079,6 +9717,7 @@ "everEqFloatTfloat": { "field": "everEqFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9093,6 +9732,7 @@ "everNeFloatTfloat": { "field": "everNeFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9107,6 +9747,7 @@ "everLtFloatTfloat": { "field": "everLtFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9121,6 +9762,7 @@ "everLeFloatTfloat": { "field": "everLeFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9135,6 +9777,7 @@ "everGtFloatTfloat": { "field": "everGtFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9149,6 +9792,7 @@ "everGeFloatTfloat": { "field": "everGeFloatTfloat", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9163,6 +9807,7 @@ "alwaysEqTboolBool": { "field": "alwaysEqTboolBool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9177,6 +9822,7 @@ "alwaysNeTboolBool": { "field": "alwaysNeTboolBool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9191,6 +9837,7 @@ "alwaysEqBoolTbool": { "field": "alwaysEqBoolTbool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9205,6 +9852,7 @@ "alwaysNeBoolTbool": { "field": "alwaysNeBoolTbool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9219,6 +9867,7 @@ "everEqTboolBool": { "field": "everEqTboolBool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9233,6 +9882,7 @@ "everNeTboolBool": { "field": "everNeTboolBool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9247,6 +9897,7 @@ "everEqBoolTbool": { "field": "everEqBoolTbool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9261,6 +9912,7 @@ "everNeBoolTbool": { "field": "everNeBoolTbool", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9278,6 +9930,7 @@ "alwaysEqTextTtext": { "field": "alwaysEqTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9290,6 +9943,7 @@ "alwaysNeTextTtext": { "field": "alwaysNeTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9302,6 +9956,7 @@ "alwaysLtTextTtext": { "field": "alwaysLtTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9314,6 +9969,7 @@ "alwaysLeTextTtext": { "field": "alwaysLeTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9326,6 +9982,7 @@ "alwaysGtTextTtext": { "field": "alwaysGtTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9338,6 +9995,7 @@ "alwaysGeTextTtext": { "field": "alwaysGeTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9350,6 +10008,7 @@ "alwaysEqTtextText": { "field": "alwaysEqTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9362,6 +10021,7 @@ "alwaysNeTtextText": { "field": "alwaysNeTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9374,6 +10034,7 @@ "alwaysLtTtextText": { "field": "alwaysLtTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9386,6 +10047,7 @@ "alwaysLeTtextText": { "field": "alwaysLeTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9398,6 +10060,7 @@ "alwaysGtTtextText": { "field": "alwaysGtTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9410,6 +10073,7 @@ "alwaysGeTtextText": { "field": "alwaysGeTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9422,6 +10086,7 @@ "everEqTextTtext": { "field": "everEqTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9434,6 +10099,7 @@ "everNeTextTtext": { "field": "everNeTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9446,6 +10112,7 @@ "everLtTextTtext": { "field": "everLtTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9458,6 +10125,7 @@ "everLeTextTtext": { "field": "everLeTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9470,6 +10138,7 @@ "everGtTextTtext": { "field": "everGtTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9482,6 +10151,7 @@ "everGeTextTtext": { "field": "everGeTextTtext", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9494,6 +10164,7 @@ "everEqTtextText": { "field": "everEqTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9506,6 +10177,7 @@ "everNeTtextText": { "field": "everNeTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9518,6 +10190,7 @@ "everLtTtextText": { "field": "everLtTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9530,6 +10203,7 @@ "everLeTtextText": { "field": "everLeTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9542,6 +10216,7 @@ "everGtTtextText": { "field": "everGtTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9554,6 +10229,7 @@ "everGeTtextText": { "field": "everGeTtextText", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9566,6 +10242,7 @@ "tpointIsSimple": { "field": "tpointIsSimple", "class": "PredicateUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -9580,6 +10257,7 @@ "tboxLeftTbox": { "field": "tboxLeftTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9592,6 +10270,7 @@ "tboxOverleftTbox": { "field": "tboxOverleftTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9604,6 +10283,7 @@ "tboxRightTbox": { "field": "tboxRightTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9616,6 +10296,7 @@ "tboxOverrightTbox": { "field": "tboxOverrightTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9628,6 +10309,7 @@ "tboxBeforeTbox": { "field": "tboxBeforeTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9640,6 +10322,7 @@ "tboxOverbeforeTbox": { "field": "tboxOverbeforeTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9652,6 +10335,7 @@ "tboxAfterTbox": { "field": "tboxAfterTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9664,6 +10348,7 @@ "tboxOverafterTbox": { "field": "tboxOverafterTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9676,6 +10361,7 @@ "tboxAdjacentTbox": { "field": "tboxAdjacentTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9688,6 +10374,7 @@ "tboxContainsTbox": { "field": "tboxContainsTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9700,6 +10387,7 @@ "tboxContainedTbox": { "field": "tboxContainedTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9712,6 +10400,7 @@ "tboxOverlapsTbox": { "field": "tboxOverlapsTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9724,6 +10413,7 @@ "tboxSameTbox": { "field": "tboxSameTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9736,6 +10426,7 @@ "tboxLeftTnumber": { "field": "tboxLeftTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9748,6 +10439,7 @@ "tboxOverleftTnumber": { "field": "tboxOverleftTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9760,6 +10452,7 @@ "tboxRightTnumber": { "field": "tboxRightTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9772,6 +10465,7 @@ "tboxOverrightTnumber": { "field": "tboxOverrightTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9784,6 +10478,7 @@ "tboxBeforeTnumber": { "field": "tboxBeforeTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9796,6 +10491,7 @@ "tboxOverbeforeTnumber": { "field": "tboxOverbeforeTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9808,6 +10504,7 @@ "tboxAfterTnumber": { "field": "tboxAfterTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9820,6 +10517,7 @@ "tboxOverafterTnumber": { "field": "tboxOverafterTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9832,6 +10530,7 @@ "tboxAdjacentTnumber": { "field": "tboxAdjacentTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9844,6 +10543,7 @@ "tboxContainsTnumber": { "field": "tboxContainsTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9856,6 +10556,7 @@ "tboxContainedTnumber": { "field": "tboxContainedTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9868,6 +10569,7 @@ "tboxOverlapsTnumber": { "field": "tboxOverlapsTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9880,6 +10582,7 @@ "tboxSameTnumber": { "field": "tboxSameTnumber", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9892,6 +10595,7 @@ "tnumberLeftTbox": { "field": "tnumberLeftTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9904,6 +10608,7 @@ "tnumberOverleftTbox": { "field": "tnumberOverleftTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9916,6 +10621,7 @@ "tnumberRightTbox": { "field": "tnumberRightTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9928,6 +10634,7 @@ "tnumberOverrightTbox": { "field": "tnumberOverrightTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9940,6 +10647,7 @@ "tnumberBeforeTbox": { "field": "tnumberBeforeTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9952,6 +10660,7 @@ "tnumberOverbeforeTbox": { "field": "tnumberOverbeforeTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9964,6 +10673,7 @@ "tnumberAfterTbox": { "field": "tnumberAfterTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9976,6 +10686,7 @@ "tnumberOverafterTbox": { "field": "tnumberOverafterTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -9988,6 +10699,7 @@ "tnumberAdjacentTbox": { "field": "tnumberAdjacentTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -10000,6 +10712,7 @@ "tnumberContainsTbox": { "field": "tnumberContainsTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -10012,6 +10725,7 @@ "tnumberContainedTbox": { "field": "tnumberContainedTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -10024,6 +10738,7 @@ "tnumberOverlapsTbox": { "field": "tnumberOverlapsTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -10036,6 +10751,7 @@ "tnumberSameTbox": { "field": "tnumberSameTbox", "class": "TBoxOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -10048,6 +10764,7 @@ "intspanLower": { "field": "intspanLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10062,6 +10779,7 @@ "intspanUpper": { "field": "intspanUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10076,6 +10794,7 @@ "intspanWidth": { "field": "intspanWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10090,6 +10809,7 @@ "floatspanLower": { "field": "floatspanLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10104,6 +10824,7 @@ "floatspanUpper": { "field": "floatspanUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10118,6 +10839,7 @@ "floatspanWidth": { "field": "floatspanWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10132,6 +10854,7 @@ "bigintspanLower": { "field": "bigintspanLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -10146,6 +10869,7 @@ "bigintspanUpper": { "field": "bigintspanUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -10160,6 +10884,7 @@ "datespanLower": { "field": "datespanLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DateType", "arity": 1, "argTypes": [ @@ -10174,6 +10899,7 @@ "datespanUpper": { "field": "datespanUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DateType", "arity": 1, "argTypes": [ @@ -10188,6 +10914,7 @@ "tstzspanLower": { "field": "tstzspanLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10202,6 +10929,7 @@ "tstzspanUpper": { "field": "tstzspanUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10216,6 +10944,7 @@ "spanLowerInc": { "field": "spanLowerInc", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -10230,6 +10959,7 @@ "spanUpperInc": { "field": "spanUpperInc", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -10244,6 +10974,7 @@ "spansetNumSpans": { "field": "spansetNumSpans", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10258,6 +10989,7 @@ "spansetStartSpan": { "field": "spansetStartSpan", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10273,6 +11005,7 @@ "spansetEndSpan": { "field": "spansetEndSpan", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10288,6 +11021,7 @@ "spansetLowerInc": { "field": "spansetLowerInc", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -10302,6 +11036,7 @@ "spansetUpperInc": { "field": "spansetUpperInc", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -10316,6 +11051,7 @@ "spanToSpanset": { "field": "spanToSpanset", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10331,6 +11067,7 @@ "setNumValues": { "field": "setNumValues", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10345,6 +11082,7 @@ "intsetStartValue": { "field": "intsetStartValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10359,6 +11097,7 @@ "intsetEndValue": { "field": "intsetEndValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10375,6 +11114,7 @@ "floatsetStartValue": { "field": "floatsetStartValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10389,6 +11129,7 @@ "floatsetEndValue": { "field": "floatsetEndValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10405,6 +11146,7 @@ "datesetStartValue": { "field": "datesetStartValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DateType", "arity": 1, "argTypes": [ @@ -10419,6 +11161,7 @@ "datesetEndValue": { "field": "datesetEndValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DateType", "arity": 1, "argTypes": [ @@ -10435,6 +11178,7 @@ "tstzsetStartValue": { "field": "tstzsetStartValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10449,6 +11193,7 @@ "tstzsetEndValue": { "field": "tstzsetEndValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10465,6 +11210,7 @@ "textsetStartValue": { "field": "textsetStartValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10480,6 +11226,7 @@ "textsetEndValue": { "field": "textsetEndValue", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10497,6 +11244,7 @@ "tstzspansetLower": { "field": "tstzspansetLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10511,6 +11259,7 @@ "tstzspansetUpper": { "field": "tstzspansetUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10525,6 +11274,7 @@ "tstzspansetStartTimestamptz": { "field": "tstzspansetStartTimestamptz", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10539,6 +11289,7 @@ "tstzspansetEndTimestamptz": { "field": "tstzspansetEndTimestamptz", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -10553,6 +11304,7 @@ "spansetSpanN": { "field": "spansetSpanN", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -10569,6 +11321,7 @@ "intspansetLower": { "field": "intspansetLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10583,6 +11336,7 @@ "intspansetUpper": { "field": "intspansetUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10597,6 +11351,7 @@ "intspansetWidth": { "field": "intspansetWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -10612,6 +11367,7 @@ "floatspansetLower": { "field": "floatspansetLower", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10627,6 +11383,7 @@ "floatspansetUpper": { "field": "floatspansetUpper", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -10642,6 +11399,7 @@ "floatspansetWidth": { "field": "floatspansetWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -10657,6 +11415,7 @@ "tstzspansetNumTimestamps": { "field": "tstzspansetNumTimestamps", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -10672,6 +11431,7 @@ "tstzspansetDuration": { "field": "tstzspansetDuration", "class": "SpanAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -10688,6 +11448,7 @@ "intsetFromHexWKB": { "field": "intsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10699,6 +11460,7 @@ "bigintsetFromHexWKB": { "field": "bigintsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10710,6 +11472,7 @@ "floatsetFromHexWKB": { "field": "floatsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10721,6 +11484,7 @@ "textsetFromHexWKB": { "field": "textsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10732,6 +11496,7 @@ "tstzsetFromHexWKB": { "field": "tstzsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10743,6 +11508,7 @@ "datesetFromHexWKB": { "field": "datesetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10754,6 +11520,7 @@ "intspanFromHexWKB": { "field": "intspanFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10765,6 +11532,7 @@ "bigintspanFromHexWKB": { "field": "bigintspanFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10776,6 +11544,7 @@ "floatspanFromHexWKB": { "field": "floatspanFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10787,6 +11556,7 @@ "tstzspanFromHexWKB": { "field": "tstzspanFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10798,6 +11568,7 @@ "datespanFromHexWKB": { "field": "datespanFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10809,6 +11580,7 @@ "intspansetFromHexWKB": { "field": "intspansetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10820,6 +11592,7 @@ "bigintspansetFromHexWKB": { "field": "bigintspansetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10831,6 +11604,7 @@ "floatspansetFromHexWKB": { "field": "floatspansetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10842,6 +11616,7 @@ "tstzspansetFromHexWKB": { "field": "tstzspansetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10853,6 +11628,7 @@ "datespansetFromHexWKB": { "field": "datespansetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10864,6 +11640,7 @@ "tboolFromHexWKB": { "field": "tboolFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10875,6 +11652,7 @@ "tintFromHexWKB": { "field": "tintFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10886,6 +11664,7 @@ "tfloatFromHexWKB": { "field": "tfloatFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10897,6 +11676,7 @@ "ttextFromHexWKB": { "field": "ttextFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10908,6 +11688,7 @@ "tgeometryFromHexEWKB": { "field": "tgeometryFromHexEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10919,6 +11700,7 @@ "tgeographyFromHexEWKB": { "field": "tgeographyFromHexEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10930,6 +11712,7 @@ "tgeompointFromHexEWKB": { "field": "tgeompointFromHexEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10941,6 +11724,7 @@ "tgeogpointFromHexEWKB": { "field": "tgeogpointFromHexEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10952,6 +11736,7 @@ "tgeometryFromMFJSON": { "field": "tgeometryFromMFJSON", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10963,6 +11748,7 @@ "tgeographyFromMFJSON": { "field": "tgeographyFromMFJSON", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10974,6 +11760,7 @@ "tgeompointFromMFJSON": { "field": "tgeompointFromMFJSON", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10985,6 +11772,7 @@ "tgeogpointFromMFJSON": { "field": "tgeogpointFromMFJSON", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -10996,6 +11784,7 @@ "tboolFromText": { "field": "tboolFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11007,6 +11796,7 @@ "tintFromText": { "field": "tintFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11018,6 +11808,7 @@ "tfloatFromText": { "field": "tfloatFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11029,6 +11820,7 @@ "ttextFromText": { "field": "ttextFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11040,6 +11832,7 @@ "tgeompointFromText": { "field": "tgeompointFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11051,6 +11844,7 @@ "tgeogpointFromText": { "field": "tgeogpointFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11062,6 +11856,7 @@ "tgeompointFromEWKT": { "field": "tgeompointFromEWKT", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11073,6 +11868,7 @@ "tgeogpointFromEWKT": { "field": "tgeogpointFromEWKT", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11084,6 +11880,7 @@ "tgeometryFromText": { "field": "tgeometryFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11095,6 +11892,7 @@ "tgeographyFromText": { "field": "tgeographyFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11106,6 +11904,7 @@ "tgeometryFromEWKT": { "field": "tgeometryFromEWKT", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11117,6 +11916,7 @@ "tgeographyFromEWKT": { "field": "tgeographyFromEWKT", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11131,6 +11931,7 @@ "tboolFromBinary": { "field": "tboolFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11142,6 +11943,7 @@ "tintFromBinary": { "field": "tintFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11153,6 +11955,7 @@ "tfloatFromBinary": { "field": "tfloatFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11164,6 +11967,7 @@ "ttextFromBinary": { "field": "ttextFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11175,6 +11979,7 @@ "tgeompointFromBinary": { "field": "tgeompointFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11186,6 +11991,7 @@ "tgeogpointFromBinary": { "field": "tgeogpointFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11197,6 +12003,7 @@ "tgeometryFromBinary": { "field": "tgeometryFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11208,6 +12015,7 @@ "tgeographyFromBinary": { "field": "tgeographyFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11219,6 +12027,7 @@ "tgeompointFromEWKB": { "field": "tgeompointFromEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11230,6 +12039,7 @@ "tgeogpointFromEWKB": { "field": "tgeogpointFromEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11241,6 +12051,7 @@ "tgeometryFromEWKB": { "field": "tgeometryFromEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11252,6 +12063,7 @@ "tgeographyFromEWKB": { "field": "tgeographyFromEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11263,6 +12075,7 @@ "asBinary": { "field": "asBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BinaryType", "arity": 1, "argTypes": [ @@ -11274,6 +12087,7 @@ "asEWKB": { "field": "asEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BinaryType", "arity": 1, "argTypes": [ @@ -11285,6 +12099,7 @@ "asHexEWKB": { "field": "asHexEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11303,6 +12118,7 @@ "geomsetFromText": { "field": "geomsetFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11314,6 +12130,7 @@ "geogsetFromText": { "field": "geogsetFromText", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11325,6 +12142,7 @@ "geomsetFromEWKT": { "field": "geomsetFromEWKT", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11336,6 +12154,7 @@ "geogsetFromEWKT": { "field": "geogsetFromEWKT", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11347,6 +12166,7 @@ "geomsetFromHexWKB": { "field": "geomsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11358,6 +12178,7 @@ "geogsetFromHexWKB": { "field": "geogsetFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11369,6 +12190,7 @@ "geomsetFromBinary": { "field": "geomsetFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11380,6 +12202,7 @@ "geogsetFromBinary": { "field": "geogsetFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11391,6 +12214,7 @@ "geomsetFromEWKB": { "field": "geomsetFromEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11402,6 +12226,7 @@ "geogsetFromEWKB": { "field": "geogsetFromEWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11413,6 +12238,7 @@ "tboxFromHexWKB": { "field": "tboxFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11427,6 +12253,7 @@ "tboxFromBinary": { "field": "tboxFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11441,6 +12268,7 @@ "stboxFromHexWKB": { "field": "stboxFromHexWKB", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11455,6 +12283,7 @@ "stboxFromBinary": { "field": "stboxFromBinary", "class": "IOAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11469,6 +12298,7 @@ "ttextUpper": { "field": "ttextUpper", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11484,6 +12314,7 @@ "ttextLower": { "field": "ttextLower", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11499,6 +12330,7 @@ "ttextInitcap": { "field": "ttextInitcap", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11516,6 +12348,7 @@ "teqTextTtext": { "field": "teqTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11528,6 +12361,7 @@ "tneTextTtext": { "field": "tneTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11540,6 +12374,7 @@ "tltTextTtext": { "field": "tltTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11552,6 +12387,7 @@ "tleTextTtext": { "field": "tleTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11564,6 +12400,7 @@ "tgtTextTtext": { "field": "tgtTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11576,6 +12413,7 @@ "tgeTextTtext": { "field": "tgeTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11588,6 +12426,7 @@ "teqTtextText": { "field": "teqTtextText", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11600,6 +12439,7 @@ "tneTtextText": { "field": "tneTtextText", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11612,6 +12452,7 @@ "tltTtextText": { "field": "tltTtextText", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11624,6 +12465,7 @@ "tleTtextText": { "field": "tleTtextText", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11636,6 +12478,7 @@ "tgtTtextText": { "field": "tgtTtextText", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11648,6 +12491,7 @@ "tgeTtextText": { "field": "tgeTtextText", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11660,6 +12504,7 @@ "ttextCatTtextText": { "field": "ttextCatTtextText", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11676,6 +12521,7 @@ "ttextCatTextTtext": { "field": "ttextCatTextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11692,6 +12538,7 @@ "ttextCatTtextTtext": { "field": "ttextCatTtextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11707,6 +12554,7 @@ "ttextCat": { "field": "ttextCatTtextTtext", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11722,6 +12570,7 @@ "textsetCatTextsetText": { "field": "textsetCatTextsetText", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11739,6 +12588,7 @@ "textsetCatTextTextset": { "field": "textsetCatTextTextset", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11756,6 +12606,7 @@ "textsetCat": { "field": "textsetCatTextsetText", "class": "TTextUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -11773,6 +12624,7 @@ "tint": { "field": "tint", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11787,6 +12639,7 @@ "tfloat": { "field": "tfloat", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11801,6 +12654,7 @@ "tbool": { "field": "tbool", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11815,6 +12669,7 @@ "ttext": { "field": "ttext", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11829,6 +12684,7 @@ "tgeogpoint": { "field": "tgeogpoint", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11843,6 +12699,7 @@ "tstzspan": { "field": "tstzspan", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11857,6 +12714,7 @@ "tstzspanset": { "field": "tstzspanset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11871,6 +12729,7 @@ "intspan": { "field": "intspan", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11885,6 +12744,7 @@ "floatspan": { "field": "floatspan", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11899,6 +12759,7 @@ "datespan": { "field": "datespan", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11913,6 +12774,7 @@ "datespanset": { "field": "datespanset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11927,6 +12789,7 @@ "intset": { "field": "intset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11941,6 +12804,7 @@ "floatset": { "field": "floatset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11955,6 +12819,7 @@ "textset": { "field": "textset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11969,6 +12834,7 @@ "bigintset": { "field": "bigintset", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11983,6 +12849,7 @@ "stbox": { "field": "stbox", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -11997,6 +12864,7 @@ "tbox": { "field": "tbox", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12011,6 +12879,7 @@ "tboolFromMfjson": { "field": "tboolFromMfjson", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12025,6 +12894,7 @@ "tintFromMfjson": { "field": "tintFromMfjson", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12039,6 +12909,7 @@ "tfloatFromMfjson": { "field": "tfloatFromMfjson", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12053,6 +12924,7 @@ "ttextFromMfjson": { "field": "ttextFromMfjson", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12067,6 +12939,7 @@ "tgeompointFromMfjson": { "field": "tgeompointFromMfjson", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12081,6 +12954,7 @@ "tgeogpointFromMfjson": { "field": "tgeogpointFromMfjson", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12095,6 +12969,7 @@ "tboolFromBaseTemp": { "field": "tboolFromBaseTemp", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12111,6 +12986,7 @@ "tintFromBaseTemp": { "field": "tintFromBaseTemp", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12127,6 +13003,7 @@ "tfloatFromBaseTemp": { "field": "tfloatFromBaseTemp", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12143,6 +13020,7 @@ "ttextFromBaseTemp": { "field": "ttextFromBaseTemp", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12161,6 +13039,7 @@ "tpointFromBaseTemp": { "field": "tpointFromBaseTemp", "class": "ConstructorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12178,6 +13057,7 @@ "tnumberAbs": { "field": "tnumberAbs", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12192,6 +13072,7 @@ "tnumberDeltaValue": { "field": "tnumberDeltaValue", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12206,6 +13087,7 @@ "tnumberAngularDifference": { "field": "tnumberAngularDifference", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12220,6 +13102,7 @@ "tpointAngularDifference": { "field": "tpointAngularDifference", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12234,6 +13117,7 @@ "tfloatExp": { "field": "tfloatExp", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12248,6 +13132,7 @@ "tfloatLn": { "field": "tfloatLn", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12262,6 +13147,7 @@ "tfloatLog10": { "field": "tfloatLog10", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -12276,6 +13162,7 @@ "addTintInt": { "field": "addTintInt", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12291,6 +13178,7 @@ "subTintInt": { "field": "subTintInt", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12306,6 +13194,7 @@ "multTintInt": { "field": "multTintInt", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12321,6 +13210,7 @@ "divTintInt": { "field": "divTintInt", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12336,6 +13226,7 @@ "addTfloatFloat": { "field": "addTfloatFloat", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12351,6 +13242,7 @@ "subTfloatFloat": { "field": "subTfloatFloat", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12366,6 +13258,7 @@ "multTfloatFloat": { "field": "multTfloatFloat", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12381,6 +13274,7 @@ "divTfloatFloat": { "field": "divTfloatFloat", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12396,6 +13290,7 @@ "addTnumberTnumber": { "field": "addTnumberTnumber", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12411,6 +13306,7 @@ "subTnumberTnumber": { "field": "subTnumberTnumber", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12426,6 +13322,7 @@ "multTnumberTnumber": { "field": "multTnumberTnumber", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12441,6 +13338,7 @@ "divTnumberTnumber": { "field": "divTnumberTnumber", "class": "MathUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -12456,6 +13354,7 @@ "cbufferEq": { "field": "cbufferEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12468,6 +13367,7 @@ "cbufferNe": { "field": "cbufferNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12480,6 +13380,7 @@ "cbufferLt": { "field": "cbufferLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12492,6 +13393,7 @@ "cbufferLe": { "field": "cbufferLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12504,6 +13406,7 @@ "cbufferGt": { "field": "cbufferGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12516,6 +13419,7 @@ "cbufferGe": { "field": "cbufferGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12528,6 +13432,7 @@ "cbufferCmp": { "field": "cbufferCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -12540,6 +13445,7 @@ "npointEq": { "field": "npointEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12552,6 +13458,7 @@ "npointNe": { "field": "npointNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12564,6 +13471,7 @@ "npointLt": { "field": "npointLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12576,6 +13484,7 @@ "npointLe": { "field": "npointLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12588,6 +13497,7 @@ "npointGt": { "field": "npointGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12600,6 +13510,7 @@ "npointGe": { "field": "npointGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12612,6 +13523,7 @@ "npointCmp": { "field": "npointCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -12624,6 +13536,7 @@ "npointHash": { "field": "npointHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -12635,6 +13548,7 @@ "npointHashExtended": { "field": "npointHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -12647,6 +13561,7 @@ "poseEq": { "field": "poseEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12659,6 +13574,7 @@ "poseNe": { "field": "poseNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12671,6 +13587,7 @@ "poseLt": { "field": "poseLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12683,6 +13600,7 @@ "poseLe": { "field": "poseLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12695,6 +13613,7 @@ "poseGt": { "field": "poseGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12707,6 +13626,7 @@ "poseGe": { "field": "poseGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12719,6 +13639,7 @@ "poseCmp": { "field": "poseCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -12731,6 +13652,7 @@ "poseHash": { "field": "poseHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -12742,6 +13664,7 @@ "poseHashExtended": { "field": "poseHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -12754,6 +13677,7 @@ "nsegmentEq": { "field": "nsegmentEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12766,6 +13690,7 @@ "nsegmentNe": { "field": "nsegmentNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12778,6 +13703,7 @@ "nsegmentLt": { "field": "nsegmentLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12790,6 +13716,7 @@ "nsegmentLe": { "field": "nsegmentLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12802,6 +13729,7 @@ "nsegmentGt": { "field": "nsegmentGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12814,6 +13742,7 @@ "nsegmentGe": { "field": "nsegmentGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12826,6 +13755,7 @@ "nsegmentCmp": { "field": "nsegmentCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -12838,6 +13768,7 @@ "setEq": { "field": "setEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12850,6 +13781,7 @@ "setNe": { "field": "setNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12862,6 +13794,7 @@ "setLt": { "field": "setLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12874,6 +13807,7 @@ "setLe": { "field": "setLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12886,6 +13820,7 @@ "setGt": { "field": "setGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12898,6 +13833,7 @@ "setGe": { "field": "setGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12910,6 +13846,7 @@ "setCmp": { "field": "setCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -12922,6 +13859,7 @@ "setHash": { "field": "setHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -12933,6 +13871,7 @@ "setHashExtended": { "field": "setHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -12945,6 +13884,7 @@ "spanEq": { "field": "spanEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12957,6 +13897,7 @@ "spanNe": { "field": "spanNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12969,6 +13910,7 @@ "spanLt": { "field": "spanLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12981,6 +13923,7 @@ "spanLe": { "field": "spanLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -12993,6 +13936,7 @@ "spanGt": { "field": "spanGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13005,6 +13949,7 @@ "spanGe": { "field": "spanGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13017,6 +13962,7 @@ "spanCmp": { "field": "spanCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -13029,6 +13975,7 @@ "spanHash": { "field": "spanHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13040,6 +13987,7 @@ "spanHashExtended": { "field": "spanHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -13052,6 +14000,7 @@ "spansetEq": { "field": "spansetEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13064,6 +14013,7 @@ "spansetNe": { "field": "spansetNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13076,6 +14026,7 @@ "spansetLt": { "field": "spansetLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13088,6 +14039,7 @@ "spansetLe": { "field": "spansetLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13100,6 +14052,7 @@ "spansetGt": { "field": "spansetGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13112,6 +14065,7 @@ "spansetGe": { "field": "spansetGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13124,6 +14078,7 @@ "spansetCmp": { "field": "spansetCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -13136,6 +14091,7 @@ "spansetHash": { "field": "spansetHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13147,6 +14103,7 @@ "spansetHashExtended": { "field": "spansetHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -13159,6 +14116,7 @@ "tboxEq": { "field": "tboxEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13171,6 +14129,7 @@ "tboxNe": { "field": "tboxNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13183,6 +14142,7 @@ "tboxLt": { "field": "tboxLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13195,6 +14155,7 @@ "tboxLe": { "field": "tboxLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13207,6 +14168,7 @@ "tboxGt": { "field": "tboxGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13219,6 +14181,7 @@ "tboxGe": { "field": "tboxGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13231,6 +14194,7 @@ "tboxCmp": { "field": "tboxCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -13243,6 +14207,7 @@ "tboxHash": { "field": "tboxHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13254,6 +14219,7 @@ "tboxHashExtended": { "field": "tboxHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -13266,6 +14232,7 @@ "stboxEq": { "field": "stboxEq", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13278,6 +14245,7 @@ "stboxNe": { "field": "stboxNe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13290,6 +14258,7 @@ "stboxLt": { "field": "stboxLt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13302,6 +14271,7 @@ "stboxLe": { "field": "stboxLe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13314,6 +14284,7 @@ "stboxGt": { "field": "stboxGt", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13326,6 +14297,7 @@ "stboxGe": { "field": "stboxGe", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -13338,6 +14310,7 @@ "stboxCmp": { "field": "stboxCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -13350,6 +14323,7 @@ "stboxHash": { "field": "stboxHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13361,6 +14335,7 @@ "stboxHashExtended": { "field": "stboxHashExtended", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -13373,6 +14348,7 @@ "temporalCmp": { "field": "temporalCmp", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -13385,6 +14361,7 @@ "temporalHash": { "field": "temporalHash", "class": "ComparisonUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13396,6 +14373,7 @@ "atTime": { "field": "atTime", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13415,6 +14393,7 @@ "startTimestamp": { "field": "startTimestamp", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -13429,6 +14408,7 @@ "endTimestamp": { "field": "endTimestamp", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -13443,6 +14423,7 @@ "numInstants": { "field": "numInstants", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13457,6 +14438,7 @@ "speed": { "field": "speed", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13472,6 +14454,7 @@ "atGeometry": { "field": "atGeometry", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13489,6 +14472,7 @@ "asHexWKB": { "field": "asHexWKB", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13503,6 +14487,7 @@ "temporalAsMfjson": { "field": "temporalAsMfjson", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13518,6 +14503,7 @@ "tboolOut": { "field": "tboolOut", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13532,6 +14518,7 @@ "tintOut": { "field": "tintOut", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13546,6 +14533,7 @@ "tfloatOut": { "field": "tfloatOut", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13561,6 +14549,7 @@ "ttextOut": { "field": "ttextOut", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13575,6 +14564,7 @@ "getTimestamp": { "field": "startTimestamp", "class": "TemporalUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -13589,6 +14579,7 @@ "teqTintInt": { "field": "teqTintInt", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13601,6 +14592,7 @@ "teqTfloatFloat": { "field": "teqTfloatFloat", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13613,6 +14605,7 @@ "teqTboolBool": { "field": "teqTboolBool", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13625,6 +14618,7 @@ "tneTintInt": { "field": "tneTintInt", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13637,6 +14631,7 @@ "tneTfloatFloat": { "field": "tneTfloatFloat", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13649,6 +14644,7 @@ "tneTboolBool": { "field": "tneTboolBool", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13661,6 +14657,7 @@ "tltTintInt": { "field": "tltTintInt", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13673,6 +14670,7 @@ "tltTfloatFloat": { "field": "tltTfloatFloat", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13685,6 +14683,7 @@ "tleTintInt": { "field": "tleTintInt", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13697,6 +14696,7 @@ "tleTfloatFloat": { "field": "tleTfloatFloat", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13709,6 +14709,7 @@ "tgtTintInt": { "field": "tgtTintInt", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13721,6 +14722,7 @@ "tgtTfloatFloat": { "field": "tgtTfloatFloat", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13733,6 +14735,7 @@ "tgeTintInt": { "field": "tgeTintInt", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13745,6 +14748,7 @@ "tgeTfloatFloat": { "field": "tgeTfloatFloat", "class": "TemporalCompUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -13757,6 +14761,7 @@ "bigintspanWidth": { "field": "bigintspanWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -13771,6 +14776,7 @@ "bigintspansetWidth": { "field": "bigintspansetWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -13786,6 +14792,7 @@ "width": { "field": "floatspanWidth", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -13800,6 +14807,7 @@ "startDate": { "field": "startDate", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13814,6 +14822,7 @@ "endDate": { "field": "endDate", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13828,6 +14837,7 @@ "numDates": { "field": "numDates", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -13842,6 +14852,7 @@ "dateN": { "field": "dateN", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -13857,6 +14868,7 @@ "dates": { "field": "dates", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13872,6 +14884,7 @@ "valueSpan": { "field": "valueSpan", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13887,6 +14900,7 @@ "intsetFromBinary": { "field": "intsetFromBinary", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13898,6 +14912,7 @@ "bigintsetFromBinary": { "field": "bigintsetFromBinary", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13909,6 +14924,7 @@ "floatsetFromBinary": { "field": "floatsetFromBinary", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13920,6 +14936,7 @@ "textsetFromBinary": { "field": "textsetFromBinary", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13931,6 +14948,7 @@ "tstzsetFromBinary": { "field": "tstzsetFromBinary", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13942,6 +14960,7 @@ "datesetFromBinary": { "field": "datesetFromBinary", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13953,6 +14972,7 @@ "tgeometry": { "field": "tgeometry", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13967,6 +14987,7 @@ "tgeography": { "field": "tgeography", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13981,6 +15002,7 @@ "geometry": { "field": "tgeometry", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -13995,6 +15017,7 @@ "geography": { "field": "tgeography", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14009,6 +15032,7 @@ "valueSet": { "field": "valueSet", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14025,6 +15049,7 @@ "box2d": { "field": "box2d", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14038,6 +15063,7 @@ "box3d": { "field": "box3d", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14051,6 +15077,7 @@ "avgValue": { "field": "avgValue", "class": "AccessorAliasUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14064,6 +15091,7 @@ "frechetDistance": { "field": "frechetDistance", "class": "SimilarityUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -14079,6 +15107,7 @@ "dynamicTimeWarp": { "field": "dynamicTimeWarp", "class": "SimilarityUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -14094,6 +15123,7 @@ "hausdorffDistance": { "field": "hausdorffDistance", "class": "SimilarityUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -14109,6 +15139,7 @@ "dynTimeWarpDistance": { "field": "dynamicTimeWarp", "class": "SimilarityUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -14124,6 +15155,7 @@ "tboolSeqSetGaps": { "field": "tboolSeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14136,6 +15168,7 @@ "ttextSeqSetGaps": { "field": "ttextSeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14148,6 +15181,7 @@ "tintSeqSetGaps": { "field": "tintSeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -14161,6 +15195,7 @@ "tfloatSeqSetGaps": { "field": "tfloatSeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -14175,6 +15210,7 @@ "tgeompointSeqSetGaps": { "field": "tgeompointSeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -14189,6 +15225,7 @@ "tgeogpointSeqSetGaps": { "field": "tgeogpointSeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -14203,6 +15240,7 @@ "tgeometrySeqSetGaps": { "field": "tgeometrySeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -14217,6 +15255,7 @@ "tgeographySeqSetGaps": { "field": "tgeographySeqSetGaps", "class": "SeqSetGapsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 4, "argTypes": [ @@ -14231,6 +15270,7 @@ "tnotTbool": { "field": "tnotTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14245,6 +15285,7 @@ "tandBool": { "field": "tandBool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14260,6 +15301,7 @@ "tandBoolTbool": { "field": "tandBoolTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14275,6 +15317,7 @@ "tandTboolTbool": { "field": "tandTboolTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14290,6 +15333,7 @@ "torBool": { "field": "torBool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14305,6 +15349,7 @@ "torBoolTbool": { "field": "torBoolTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14320,6 +15365,7 @@ "torTboolTbool": { "field": "torTboolTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14335,6 +15381,7 @@ "tboolWhenTrue": { "field": "tboolWhenTrue", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14350,6 +15397,7 @@ "teqTemporalTemporal": { "field": "teqTemporalTemporal", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14366,6 +15414,7 @@ "tneTemporalTemporal": { "field": "tneTemporalTemporal", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14382,6 +15431,7 @@ "tltTemporalTemporal": { "field": "tltTemporalTemporal", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14398,6 +15448,7 @@ "tleTemporalTemporal": { "field": "tleTemporalTemporal", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14414,6 +15465,7 @@ "tgtTemporalTemporal": { "field": "tgtTemporalTemporal", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14430,6 +15482,7 @@ "tgeTemporalTemporal": { "field": "tgeTemporalTemporal", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14446,6 +15499,7 @@ "tboolNot": { "field": "tnotTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14460,6 +15514,7 @@ "tboolAnd": { "field": "tandTboolTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14475,6 +15530,7 @@ "tboolOr": { "field": "torTboolTbool", "class": "BoolOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14490,6 +15546,7 @@ "numSequences": { "field": "numSequences", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -14504,6 +15561,7 @@ "interp": { "field": "interp", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14518,6 +15576,7 @@ "time": { "field": "time", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14533,6 +15592,7 @@ "timespan": { "field": "timespan", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14548,6 +15608,7 @@ "merge": { "field": "merge", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14564,6 +15625,7 @@ "shift": { "field": "shift", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14581,6 +15643,7 @@ "scale": { "field": "scale", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14598,6 +15661,7 @@ "atSpan": { "field": "atSpan", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14615,6 +15679,7 @@ "atSpanset": { "field": "atSpanset", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14632,6 +15697,7 @@ "insert": { "field": "insert", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14648,6 +15714,7 @@ "update": { "field": "update", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14664,6 +15731,7 @@ "tfloatStartValue": { "field": "tfloatStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14678,6 +15746,7 @@ "tfloatEndValue": { "field": "tfloatEndValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14692,6 +15761,7 @@ "tfloatMinValue": { "field": "tfloatMinValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14706,6 +15776,7 @@ "tfloatMaxValue": { "field": "tfloatMaxValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14720,6 +15791,7 @@ "tintStartValue": { "field": "tintStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -14734,6 +15806,7 @@ "tintEndValue": { "field": "tintEndValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -14748,6 +15821,7 @@ "tintMinValue": { "field": "tintMinValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -14762,6 +15836,7 @@ "tintMaxValue": { "field": "tintMaxValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -14776,6 +15851,7 @@ "tboolStartValue": { "field": "tboolStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -14790,6 +15866,7 @@ "tboolEndValue": { "field": "tboolEndValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -14804,6 +15881,7 @@ "tpointStartValue": { "field": "tpointStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14819,6 +15897,7 @@ "tpointEndValue": { "field": "tpointEndValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14834,6 +15913,7 @@ "ttextStartValue": { "field": "ttextStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14849,6 +15929,7 @@ "ttextEndValue": { "field": "ttextEndValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14864,6 +15945,7 @@ "tintGetValue": { "field": "tintStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -14878,6 +15960,7 @@ "tfloatGetValue": { "field": "tfloatStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14892,6 +15975,7 @@ "tboolGetValue": { "field": "tboolStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -14906,6 +15990,7 @@ "ttextGetValue": { "field": "ttextStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14921,6 +16006,7 @@ "tpointGetValue": { "field": "tpointStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14936,6 +16022,7 @@ "getValue": { "field": "tfloatStartValue", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -14950,6 +16037,7 @@ "atMin": { "field": "atMin", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14965,6 +16053,7 @@ "atMax": { "field": "atMax", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -14980,6 +16069,7 @@ "atValues": { "field": "atValues", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -14997,6 +16087,7 @@ "minusTime": { "field": "minusTime", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15014,6 +16105,7 @@ "minusMin": { "field": "minusMin", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15029,6 +16121,7 @@ "minusMax": { "field": "minusMax", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15044,6 +16137,7 @@ "atStbox": { "field": "atStbox", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15061,6 +16155,7 @@ "minusStbox": { "field": "minusStbox", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15078,6 +16173,7 @@ "tnumberAtTbox": { "field": "tnumberAtTbox", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15095,6 +16191,7 @@ "tnumberMinusTbox": { "field": "tnumberMinusTbox", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15112,6 +16209,7 @@ "appendInstant": { "field": "appendInstant", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15128,6 +16226,7 @@ "appendSequence": { "field": "appendSequence", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15144,6 +16243,7 @@ "tnumberValuespans": { "field": "tnumberValuespans", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15159,6 +16259,7 @@ "tnumberToSpan": { "field": "tnumberToSpan", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15174,6 +16275,7 @@ "tnumberToTbox": { "field": "tnumberToTbox", "class": "AccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15189,6 +16291,7 @@ "setLeft": { "field": "setLeft", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15201,6 +16304,7 @@ "setRight": { "field": "setRight", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15213,6 +16317,7 @@ "setOverleft": { "field": "setOverleft", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15225,6 +16330,7 @@ "setOverright": { "field": "setOverright", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15237,6 +16343,7 @@ "setContains": { "field": "setContains", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15251,6 +16358,7 @@ "setContained": { "field": "setContained", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15263,6 +16371,7 @@ "setOverlaps": { "field": "setOverlaps", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15277,6 +16386,7 @@ "distanceIntsetIntset": { "field": "distanceIntsetIntset", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -15292,6 +16402,7 @@ "distanceBigintsetBigintset": { "field": "distanceBigintsetBigintset", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -15307,6 +16418,7 @@ "distanceFloatsetFloatset": { "field": "distanceFloatsetFloatset", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15322,6 +16434,7 @@ "distanceTstzsetTstzset": { "field": "distanceTstzsetTstzset", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15337,6 +16450,7 @@ "setDistance": { "field": "distanceFloatsetFloatset", "class": "SetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15352,6 +16466,7 @@ "spanContains": { "field": "spanContains", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15366,6 +16481,7 @@ "spanContainedIn": { "field": "spanContainedIn", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15380,6 +16496,7 @@ "spanOverlaps": { "field": "spanOverlaps", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15394,6 +16511,7 @@ "spanAdjacent": { "field": "spanAdjacent", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15408,6 +16526,7 @@ "spanLeft": { "field": "spanLeft", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15422,6 +16541,7 @@ "spanRight": { "field": "spanRight", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15436,6 +16556,7 @@ "spanOverleft": { "field": "spanOverleft", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15450,6 +16571,7 @@ "spanOverright": { "field": "spanOverright", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15464,6 +16586,7 @@ "spanUnion": { "field": "spanUnion", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15479,6 +16602,7 @@ "spanIntersection": { "field": "spanIntersection", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15494,6 +16618,7 @@ "spanMinus": { "field": "spanMinus", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15509,6 +16634,7 @@ "tstzspanDistance": { "field": "tstzspanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15523,6 +16649,7 @@ "intspanDistance": { "field": "intspanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -15537,6 +16664,7 @@ "bigintspanDistance": { "field": "bigintspanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "LongType", "arity": 2, "argTypes": [ @@ -15551,6 +16679,7 @@ "floatspanDistance": { "field": "floatspanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15565,6 +16694,7 @@ "datespanDistance": { "field": "datespanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -15579,6 +16709,7 @@ "spanDistance": { "field": "floatspanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15593,6 +16724,7 @@ "timeDistance": { "field": "tstzspanDistance", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -15607,6 +16739,7 @@ "intspanExpand": { "field": "intspanExpand", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15621,6 +16754,7 @@ "bigintspanExpand": { "field": "bigintspanExpand", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15635,6 +16769,7 @@ "floatspanExpand": { "field": "floatspanExpand", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15649,6 +16784,7 @@ "expand": { "field": "floatspanExpand", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15663,6 +16799,7 @@ "spansetContainsSpan": { "field": "spansetContainsSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15677,6 +16814,7 @@ "spanContainedInSpanset": { "field": "spanContainedInSpanset", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15691,6 +16829,7 @@ "spansetOverlaps": { "field": "spansetOverlaps", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -15705,6 +16844,7 @@ "spansetUnion": { "field": "spansetUnion", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15720,6 +16860,7 @@ "spansetIntersection": { "field": "spansetIntersection", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15735,6 +16876,7 @@ "spansetMinus": { "field": "spansetMinus", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15750,6 +16892,7 @@ "intspanToFloatspan": { "field": "intspanToFloatspan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15764,6 +16907,7 @@ "floatspanToIntspan": { "field": "floatspanToIntspan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15778,6 +16922,7 @@ "datespanToTstzspan": { "field": "datespanToTstzspan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15792,6 +16937,7 @@ "tstzspanToDatespan": { "field": "tstzspanToDatespan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15806,6 +16952,7 @@ "intsetToFloatset": { "field": "intsetToFloatset", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15821,6 +16968,7 @@ "floatsetToIntset": { "field": "floatsetToIntset", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15836,6 +16984,7 @@ "setToSpan": { "field": "setToSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15851,6 +17000,7 @@ "setToSpanset": { "field": "setToSpanset", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15866,6 +17016,7 @@ "tstzspanDuration": { "field": "tstzspanDuration", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15880,6 +17031,7 @@ "datespanDuration": { "field": "datespanDuration", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15894,6 +17046,7 @@ "tstzspanShiftScale": { "field": "tstzspanShiftScale", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -15911,6 +17064,7 @@ "tstzspansetShiftScale": { "field": "tstzspansetShiftScale", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -15928,6 +17082,7 @@ "timestamptzToSpan": { "field": "timestamptzToSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15942,6 +17097,7 @@ "timestamptzToSet": { "field": "timestamptzToSet", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -15956,6 +17112,7 @@ "spansetIntersectionSpan": { "field": "spansetIntersectionSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15971,6 +17128,7 @@ "spansetUnionSpan": { "field": "spansetUnionSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -15986,6 +17144,7 @@ "spansetMinusSpan": { "field": "spansetMinusSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16001,6 +17160,7 @@ "intToSpan": { "field": "intToSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16015,6 +17175,7 @@ "intToSet": { "field": "intToSet", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16029,6 +17190,7 @@ "intToSpanset": { "field": "intToSpanset", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16043,6 +17205,7 @@ "floatToSpan": { "field": "floatToSpan", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16057,6 +17220,7 @@ "floatToSet": { "field": "floatToSet", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16071,6 +17235,7 @@ "floatToSpanset": { "field": "floatToSpanset", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16085,6 +17250,7 @@ "intToTbox": { "field": "intToTbox", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16099,6 +17265,7 @@ "floatToTbox": { "field": "floatToTbox", "class": "SpanAlgebraUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16113,6 +17280,7 @@ "tboxHasx": { "field": "tboxHasx", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16126,6 +17294,7 @@ "tboxHast": { "field": "tboxHast", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16139,6 +17308,7 @@ "tboxXmin": { "field": "tboxXmin", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -16152,6 +17322,7 @@ "tboxXmax": { "field": "tboxXmax", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -16165,6 +17336,7 @@ "tboxXminInc": { "field": "tboxXminInc", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16178,6 +17350,7 @@ "tboxXmaxInc": { "field": "tboxXmaxInc", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16191,6 +17364,7 @@ "tboxTmin": { "field": "tboxTmin", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -16204,6 +17378,7 @@ "tboxTmax": { "field": "tboxTmax", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 1, "argTypes": [ @@ -16217,6 +17392,7 @@ "tboxTminInc": { "field": "tboxTminInc", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16230,6 +17406,7 @@ "tboxTmaxInc": { "field": "tboxTmaxInc", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16243,6 +17420,7 @@ "tboxToIntspan": { "field": "tboxToIntspan", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16257,6 +17435,7 @@ "tboxToFloatspan": { "field": "tboxToFloatspan", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16271,6 +17450,7 @@ "tboxToTstzspan": { "field": "tboxToTstzspan", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16285,6 +17465,7 @@ "tboxRound": { "field": "tboxRound", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16300,6 +17481,7 @@ "spanToTbox": { "field": "spanToTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16315,6 +17497,7 @@ "spansetToTbox": { "field": "spansetToTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16330,6 +17513,7 @@ "setToTbox": { "field": "setToTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16345,6 +17529,7 @@ "tboxfloatXmin": { "field": "tboxfloatXmin", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -16358,6 +17543,7 @@ "tboxfloatXmax": { "field": "tboxfloatXmax", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -16371,6 +17557,7 @@ "tboxintXmin": { "field": "tboxintXmin", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -16384,6 +17571,7 @@ "tboxintXmax": { "field": "tboxintXmax", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -16397,6 +17585,7 @@ "tboxMake": { "field": "tboxMake", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16413,6 +17602,7 @@ "timestamptzToTbox": { "field": "timestamptzToTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16427,6 +17617,7 @@ "numspanTimestamptzToTbox": { "field": "numspanTimestamptzToTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16443,6 +17634,7 @@ "tboxExpandTime": { "field": "tboxExpandTime", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16459,6 +17651,7 @@ "tboxExpandFloat": { "field": "tboxExpandFloat", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16473,6 +17666,7 @@ "tboxExpandInt": { "field": "tboxExpandInt", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16487,6 +17681,7 @@ "tboxShiftScaleTime": { "field": "tboxShiftScaleTime", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -16504,6 +17699,7 @@ "intersectionTboxTbox": { "field": "intersectionTboxTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16516,6 +17712,7 @@ "unionTboxTbox": { "field": "unionTboxTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16530,6 +17727,7 @@ "tboxIntersection": { "field": "intersectionTboxTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16542,6 +17740,7 @@ "tboxUnion": { "field": "unionTboxTbox", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16556,6 +17755,7 @@ "expandValue": { "field": "tboxExpandFloat", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16570,6 +17770,7 @@ "tboxContains": { "field": "tboxContains", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16582,6 +17783,7 @@ "tboxContained": { "field": "tboxContained", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16594,6 +17796,7 @@ "tboxOverlaps": { "field": "tboxOverlaps", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16606,6 +17809,7 @@ "tboxLeft": { "field": "tboxLeft", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16618,6 +17822,7 @@ "tboxOverleft": { "field": "tboxOverleft", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16630,6 +17835,7 @@ "tboxRight": { "field": "tboxRight", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16642,6 +17848,7 @@ "tboxOverright": { "field": "tboxOverright", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16654,6 +17861,7 @@ "tboxBefore": { "field": "tboxBefore", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16666,6 +17874,7 @@ "tboxOverbefore": { "field": "tboxOverbefore", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16678,6 +17887,7 @@ "tboxAfter": { "field": "tboxAfter", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16690,6 +17900,7 @@ "tboxOverafter": { "field": "tboxOverafter", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16702,6 +17913,7 @@ "tboxAdjacent": { "field": "tboxAdjacent", "class": "TBoxUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16714,6 +17926,7 @@ "temporalSubtype": { "field": "temporalSubtype", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16728,6 +17941,7 @@ "startInstant": { "field": "startInstant", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16743,6 +17957,7 @@ "endInstant": { "field": "endInstant", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16758,6 +17973,7 @@ "instantN": { "field": "instantN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16774,6 +17990,7 @@ "startSequence": { "field": "startSequence", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16789,6 +18006,7 @@ "endSequence": { "field": "endSequence", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16804,6 +18022,7 @@ "sequenceN": { "field": "sequenceN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16820,6 +18039,7 @@ "minInstant": { "field": "minInstant", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16835,6 +18055,7 @@ "maxInstant": { "field": "maxInstant", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16850,6 +18071,7 @@ "numTimestamps": { "field": "numTimestamps", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -16864,6 +18086,7 @@ "timestampN": { "field": "timestampN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "TimestampType", "arity": 2, "argTypes": [ @@ -16879,6 +18102,7 @@ "lowerInc": { "field": "lowerInc", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16893,6 +18117,7 @@ "upperInc": { "field": "upperInc", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 1, "argTypes": [ @@ -16907,6 +18132,7 @@ "duration": { "field": "duration", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16922,6 +18148,7 @@ "tboolValueN": { "field": "tboolValueN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -16937,6 +18164,7 @@ "tfloatValueN": { "field": "tfloatValueN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -16952,6 +18180,7 @@ "ttextMinValue": { "field": "ttextMinValue", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16967,6 +18196,7 @@ "ttextMaxValue": { "field": "ttextMaxValue", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -16982,6 +18212,7 @@ "ttextValueN": { "field": "ttextValueN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -16998,6 +18229,7 @@ "tpointSrid": { "field": "tpointSrid", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 1, "argTypes": [ @@ -17012,6 +18244,7 @@ "tpointValueN": { "field": "tpointValueN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17028,6 +18261,7 @@ "tintValueN": { "field": "tintValueN", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -17043,6 +18277,7 @@ "tboolValueAtTimestamptz": { "field": "tboolValueAtTimestamptz", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17058,6 +18293,7 @@ "tintValueAtTimestamptz": { "field": "tintValueAtTimestamptz", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "IntegerType", "arity": 2, "argTypes": [ @@ -17073,6 +18309,7 @@ "tfloatValueAtTimestamptz": { "field": "tfloatValueAtTimestamptz", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "DoubleType", "arity": 2, "argTypes": [ @@ -17088,6 +18325,7 @@ "ttextValueAtTimestamptz": { "field": "ttextValueAtTimestamptz", "class": "MoreAccessorUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17110,6 +18348,7 @@ "temporalBeforeSpan": { "field": "temporalBeforeSpan", "class": "PosOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17124,6 +18363,7 @@ "temporalAfterSpan": { "field": "temporalAfterSpan", "class": "PosOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17138,6 +18378,7 @@ "temporalOverbeforeSpan": { "field": "temporalOverbeforeSpan", "class": "PosOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17152,6 +18393,7 @@ "temporalOverafterSpan": { "field": "temporalOverafterSpan", "class": "PosOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17166,6 +18408,7 @@ "tstzspanFromBinary": { "field": "tstzspanFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17177,6 +18420,7 @@ "intspanFromBinary": { "field": "intspanFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17188,6 +18432,7 @@ "floatspanFromBinary": { "field": "floatspanFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17199,6 +18444,7 @@ "bigintspanFromBinary": { "field": "bigintspanFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17210,6 +18456,7 @@ "datespanFromBinary": { "field": "datespanFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17221,6 +18468,7 @@ "tstzspansetFromBinary": { "field": "tstzspansetFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17232,6 +18480,7 @@ "intspansetFromBinary": { "field": "intspansetFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17243,6 +18492,7 @@ "floatspansetFromBinary": { "field": "floatspansetFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17254,6 +18504,7 @@ "bigintspansetFromBinary": { "field": "bigintspansetFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17265,6 +18516,7 @@ "datespansetFromBinary": { "field": "datespansetFromBinary", "class": "SpanUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17276,6 +18528,7 @@ "spanLeftSpanset": { "field": "spanLeftSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17288,6 +18541,7 @@ "spanOverleftSpanset": { "field": "spanOverleftSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17300,6 +18554,7 @@ "spanRightSpanset": { "field": "spanRightSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17312,6 +18567,7 @@ "spanOverrightSpanset": { "field": "spanOverrightSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17324,6 +18580,7 @@ "spanAdjacentSpanset": { "field": "spanAdjacentSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17336,6 +18593,7 @@ "spanContainsSpanset": { "field": "spanContainsSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17348,6 +18606,7 @@ "spanContainedSpanset": { "field": "spanContainedSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17360,6 +18619,7 @@ "spanOverlapsSpanset": { "field": "spanOverlapsSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17372,6 +18632,7 @@ "spansetLeftSpan": { "field": "spansetLeftSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17384,6 +18645,7 @@ "spansetOverleftSpan": { "field": "spansetOverleftSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17396,6 +18658,7 @@ "spansetRightSpan": { "field": "spansetRightSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17408,6 +18671,7 @@ "spansetOverrightSpan": { "field": "spansetOverrightSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17420,6 +18684,7 @@ "spansetAdjacentSpan": { "field": "spansetAdjacentSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17432,6 +18697,7 @@ "spansetContainedSpan": { "field": "spansetContainedSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17444,6 +18710,7 @@ "spansetOverlapsSpan": { "field": "spansetOverlapsSpan", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17456,6 +18723,7 @@ "spansetLeftSpanset": { "field": "spansetLeftSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17468,6 +18736,7 @@ "spansetOverleftSpanset": { "field": "spansetOverleftSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17480,6 +18749,7 @@ "spansetRightSpanset": { "field": "spansetRightSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17492,6 +18762,7 @@ "spansetOverrightSpanset": { "field": "spansetOverrightSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17504,6 +18775,7 @@ "spansetAdjacentSpanset": { "field": "spansetAdjacentSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17516,6 +18788,7 @@ "spansetContainsSpanset": { "field": "spansetContainsSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17528,6 +18801,7 @@ "spansetContainedSpanset": { "field": "spansetContainedSpanset", "class": "SpansetOpsUDFs", + "pkg": "org.mobilitydb.spark.temporal", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17540,6 +18814,7 @@ "length": { "field": "length", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -17554,6 +18829,7 @@ "bboxOverlaps": { "field": "bboxOverlaps", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17572,6 +18848,7 @@ "valueAtTimestamp": { "field": "valueAtTimestamp", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17588,6 +18865,7 @@ "geoTimeStbox": { "field": "geoTimeStbox", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17607,6 +18885,7 @@ "whenTrue": { "field": "whenTrue", "class": "BerlinMODUDFs", + "pkg": "org.mobilitydb.spark.demo", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17622,6 +18901,7 @@ "npoint": { "field": "npoint", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17634,6 +18914,7 @@ "nsegment": { "field": "nsegment", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 3, "argTypes": [ @@ -17647,6 +18928,7 @@ "route": { "field": "route", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -17658,6 +18940,7 @@ "getPosition": { "field": "getPosition", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -17669,6 +18952,7 @@ "startPosition": { "field": "startPosition", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -17680,6 +18964,7 @@ "endPosition": { "field": "endPosition", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "DoubleType", "arity": 1, "argTypes": [ @@ -17691,6 +18976,7 @@ "npointFromText": { "field": "npointFromText", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17702,6 +18988,7 @@ "npointFromEWKT": { "field": "npointFromEWKT", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17713,6 +19000,7 @@ "npointFromHexEWKB": { "field": "npointFromHexEWKB", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17724,6 +19012,7 @@ "npointFromBinary": { "field": "npointFromBinary", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17735,6 +19024,7 @@ "npointFromEWKB": { "field": "npointFromEWKB", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17746,6 +19036,7 @@ "npointsetFromHexWKB": { "field": "npointsetFromHexWKB", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17760,6 +19051,7 @@ "npointsetFromText": { "field": "npointsetFromText", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17773,6 +19065,7 @@ "npointsetFromEWKT": { "field": "npointsetFromEWKT", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17784,6 +19077,7 @@ "npointsetFromBinary": { "field": "npointsetFromBinary", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17798,6 +19092,7 @@ "npointsetFromEWKB": { "field": "npointsetFromEWKB", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17809,6 +19104,7 @@ "routes": { "field": "routes", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17824,6 +19120,7 @@ "tnpoint": { "field": "tnpoint", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17838,6 +19135,7 @@ "tnpointInst": { "field": "tnpointInst", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17850,6 +19148,7 @@ "tnpointRoute": { "field": "tnpointRoute", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "LongType", "arity": 1, "argTypes": [ @@ -17864,6 +19163,7 @@ "tnpointFromHexWKB": { "field": "tnpointFromHexWKB", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17875,6 +19175,7 @@ "tnpointFromBinary": { "field": "tnpointFromBinary", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17886,6 +19187,7 @@ "tnpointSeq": { "field": "tnpointSeq", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17901,6 +19203,7 @@ "tnpointSeqSet": { "field": "tnpointSeqSet", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 1, "argTypes": [ @@ -17916,6 +19219,7 @@ "tnpointSeqSetGaps": { "field": "tnpointSeqSetGaps", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "StringType", "arity": 2, "argTypes": [ @@ -17934,6 +19238,7 @@ "containsRid": { "field": "containsRid", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17946,6 +19251,7 @@ "containedRid": { "field": "containedRid", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17958,6 +19264,7 @@ "sameRid": { "field": "sameRid", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "BooleanType", "arity": 2, "argTypes": [ @@ -17970,6 +19277,7 @@ "overlapsRid": { "field": "overlapsRid", "class": "NpointUDFs", + "pkg": "org.mobilitydb.spark.npoint", "retDataType": "BooleanType", "arity": 2, "argTypes": [ diff --git a/codegen/output/MobilitySparkConnectExtensionsGen.scala b/codegen/output/MobilitySparkConnectExtensionsGen.scala new file mode 100644 index 000000000..94979aedb --- /dev/null +++ b/codegen/output/MobilitySparkConnectExtensionsGen.scala @@ -0,0 +1,280 @@ +/* GENERATED by codegen/tools/generate_spark_registrar.py from the canonical + * named-operation surface (meos-named-surface.json) joined with the MobilitySpark + * impl scan (spark-impls.json). Do not edit by hand. Each canonical function is + * injected under its identity name; the camelCase remap and the hand-written + * registrar are retired. Single-impl functions only; multi-impl functions need + * the per-row WKB-type-tag dispatch (see the trailing comment). */ +package org.mobilitydb.spark.connect + +import org.apache.spark.sql.SparkSessionExtensions +import org.apache.spark.sql.catalyst.FunctionIdentifier +import org.apache.spark.sql.catalyst.expressions.{Expression, ExpressionInfo, ScalaUDF} +import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder +import org.apache.spark.sql.types._ +import org.apache.spark.sql.api.java.{UDF1, UDF2, UDF3, UDF4} + +class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) { + private lazy val encs: Map[String, ExpressionEncoder[_]] = Map( + "String" -> ExpressionEncoder[String](), "Integer" -> ExpressionEncoder[java.lang.Integer](), + "Long" -> ExpressionEncoder[java.lang.Long](), "Double" -> ExpressionEncoder[java.lang.Double](), + "Number" -> ExpressionEncoder[java.lang.Double](), "Float" -> ExpressionEncoder[java.lang.Float](), + "Boolean" -> ExpressionEncoder[java.lang.Boolean](), "Timestamp" -> ExpressionEncoder[java.sql.Timestamp]()) + private def enc(t: String) = encs.getOrElse(t, encs("String")) + private def dt(t: String): DataType = t match { + case "Integer" => IntegerType; case "Long" => LongType; case "Double" | "Number" => DoubleType + case "Float" => FloatType; case "Boolean" => BooleanType; case "Timestamp" => TimestampType + case _ => StringType + } + private def inj(ext: SparkSessionExtensions, name: String, arity: Int, + argTs: Array[String], retT: String, udf: AnyRef): Unit = { + val builder = (children: Seq[Expression]) => { + val n = math.min(children.size, arity) + ScalaUDF(MobilitySparkConnectExtensionsGen.fn(n, udf, arity), dt(retT), children, + argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) + } + try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) + catch { case _: Throwable => } + } + + def apply(ext: SparkSessionExtensions): Unit = { + inj(ext, "Ymax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmax) + inj(ext, "Ymin", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmin) + inj(ext, "Zmax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxZmax) + inj(ext, "Zmin", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxZmin) + inj(ext, "aDisjoint", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.aDisjoint) + inj(ext, "appendInstant", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.appendInstant) + inj(ext, "appendSequence", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.appendSequence) + inj(ext, "asMFJSON", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.TemporalUDFs.temporalAsMfjson) + inj(ext, "azimuth", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AnalyticsUDFs.tpointAzimuth) + inj(ext, "bigintspan", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.bigintSpan) + inj(ext, "convexHull", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointConvexHull) + inj(ext, "dateN", 2, Array[String]("String", "Integer"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.dateN) + inj(ext, "dates", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorAliasUDFs.dates) + inj(ext, "dateset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tstzsetToDateset) + inj(ext, "direction", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AnalyticsUDFs.tpointDirection) + inj(ext, "eCovers", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eCovers) + inj(ext, "eIntersects", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eIntersectsTgeoTgeo) + inj(ext, "eTouches", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eTouches) + inj(ext, "endDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.endDate) + inj(ext, "endInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.endInstant) + inj(ext, "endSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.endSequence) + inj(ext, "expandTime", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TBoxUDFs.tboxExpandTime) + inj(ext, "floatset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.intsetToFloatset) + inj(ext, "frechetDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.temporal.SimilarityUDFs.frechetDistance) + inj(ext, "geometry", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.STBoxUDFs.stboxToGeo) + inj(ext, "getX", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getX) + inj(ext, "getY", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getY) + inj(ext, "getZ", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getZ) + inj(ext, "initcap", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.textsetInitcap) + inj(ext, "insert", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.insert) + inj(ext, "instantN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.instantN) + inj(ext, "interp", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.interp) + inj(ext, "intset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.floatsetToIntset) + inj(ext, "intspan", 3, Array[String]("String", "Double", "Double"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.atElevation) + inj(ext, "lowerInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.lowerInc) + inj(ext, "maxInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.maxInstant) + inj(ext, "merge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.merge) + inj(ext, "minInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.minInstant) + inj(ext, "minusMax", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusMax) + inj(ext, "minusMin", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusMin) + inj(ext, "nearestApproachDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.geo.GeoUDFs.nearestApproachDistance) + inj(ext, "numDates", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.numDates) + inj(ext, "numInstants", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.TemporalUDFs.numInstants) + inj(ext, "numSequences", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorUDFs.numSequences) + inj(ext, "sequenceN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.sequenceN) + inj(ext, "setInterp", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSetInterp) + inj(ext, "set_contains", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setContains) + inj(ext, "set_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setIntersection) + inj(ext, "set_minus", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setMinus) + inj(ext, "set_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setOverlaps) + inj(ext, "set_union", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setUnion) + inj(ext, "shortestLine", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.DistanceUDFs.shortestLineTgeoTgeo) + inj(ext, "span_adjacent", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanAdjacent) + inj(ext, "span_left", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanLeft) + inj(ext, "span_overleft", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverleft) + inj(ext, "span_overright", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverright) + inj(ext, "span_right", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanRight) + inj(ext, "startDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.startDate) + inj(ext, "startInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startInstant) + inj(ext, "startSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startSequence) + inj(ext, "stbox_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.stboxIntersection) + inj(ext, "stbox_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.stboxOverlaps) + inj(ext, "tCovers", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.TempSpatialRelsUDFs.tCoversTgeoGeo) + inj(ext, "tbox_in", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.ConstructorUDFs.tbox) + inj(ext, "temporal_after", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalAfterSpan) + inj(ext, "temporal_before", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalBeforeSpan) + inj(ext, "temporal_overafter", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverafterSpan) + inj(ext, "temporal_overbefore", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverbeforeSpan) + inj(ext, "temporal_teq", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.teqTemporalTemporal) + inj(ext, "temporal_tge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tgeTemporalTemporal) + inj(ext, "temporal_tgt", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tgtTemporalTemporal) + inj(ext, "temporal_tle", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tleTemporalTemporal) + inj(ext, "temporal_tlt", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tltTemporalTemporal) + inj(ext, "temporal_tne", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tneTemporalTemporal) + inj(ext, "tfloat", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tintToTfloat) + inj(ext, "timestampN", 2, Array[String]("String", "Integer"), "Timestamp", org.mobilitydb.spark.temporal.MoreAccessorUDFs.timestampN) + inj(ext, "tintInst", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalToTInstant) + inj(ext, "twCentroid", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.twCentroid) + inj(ext, "update", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.update) + inj(ext, "upperInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.upperInc) + inj(ext, "volume", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxVolume) + } + // multi-impl (need per-row meos_typeof_hexwkb dispatch, v2): + // SRID -> ['aDwithinGeo', 'aIntersects', 'eContains', 'eCovers', 'eDisjoint', 'eDwithinGeo', 'eIntersects', 'eTouches', 'stboxSrid', 'tpointSRID', 'tpointSrid'] + // Tmax -> ['stboxTmax', 'tboxTmax'] + // Tmin -> ['stboxTmin', 'tboxTmin'] + // Xmax -> ['stboxXmax', 'tboxXmax', 'tboxfloatXmax', 'tboxintXmax'] + // Xmin -> ['stboxXmin', 'tboxXmin', 'tboxfloatXmin', 'tboxintXmin'] + // aDwithin -> ['aDwithin', 'aDwithinGeo'] + // aIntersects -> ['aIntersects', 'eIntersects'] + // abs -> ['abs', 'tnumberAbs'] + // always_eq -> ['alwaysEqBoolTbool', 'alwaysEqFloatTfloat', 'alwaysEqIntTint', 'alwaysEqTboolBool', 'alwaysEqTemporal', 'alwaysEqTfloatFloat', 'alwaysEqTintInt'] + // always_ge -> ['alwaysGeFloatTfloat', 'alwaysGeIntTint', 'alwaysGeTemporal', 'alwaysGeTfloatFloat', 'alwaysGeTintInt'] + // always_gt -> ['alwaysGtFloatTfloat', 'alwaysGtIntTint', 'alwaysGtTemporal', 'alwaysGtTfloatFloat', 'alwaysGtTintInt'] + // always_le -> ['alwaysLeFloatTfloat', 'alwaysLeIntTint', 'alwaysLeTemporal', 'alwaysLeTfloatFloat', 'alwaysLeTintInt'] + // always_lt -> ['alwaysLtFloatTfloat', 'alwaysLtIntTint', 'alwaysLtTemporal', 'alwaysLtTfloatFloat', 'alwaysLtTintInt'] + // always_ne -> ['alwaysNeBoolTbool', 'alwaysNeFloatTfloat', 'alwaysNeIntTint', 'alwaysNeTboolBool', 'alwaysNeTemporal', 'alwaysNeTfloatFloat', 'alwaysNeTintInt'] + // angularDifference -> ['tnumberAngularDifference', 'tpointAngularDifference'] + // area -> ['stboxArea', 'stboxPerimeter'] + // asEWKT -> ['asEWKT', 'tpointAsEWKT'] + // asHexWKB -> ['afterTimestamp', 'appendInstant', 'appendSequence', 'asHexEWKB', 'asHexWKB', 'atElevation', 'atGeometry', 'atMax', 'atMin', 'atSpan', 'atSpanset', 'atStbox', 'atTbox', 'atTime', 'atValue', 'atValues', 'bearing', 'bearingToPoint', 'beforeTimestamp', 'bigintset', 'bigintspanExpand', 'cbuffersetFromBinary', 'cbuffersetFromHexWKB', 'cumulativeLength', 'dates', 'dateset', 'datespan', 'datespanToTstzspan', 'datespanset', 'deleteTime', 'douglasPeuckerSimplify', 'endInstant', 'endSequence', 'expand', 'expandSpace', 'expandValue', 'floatToSet', 'floatToSpan', 'floatToSpanset', 'floatToTbox', 'floatset', 'floatsetCeil', 'floatsetDegrees', 'floatsetFloor', 'floatsetRadians', 'floatsetToIntset', 'floatspan', 'floatspanExpand', 'floatspanShiftScale', 'floatspanToIntspan', 'floatspanset', 'floatspansetCeil', 'floatspansetFloor', 'floatspansetRound', 'floatspansetShiftScale', 'floatspansetToInt', 'geoTimeStbox', 'geography', 'geometry', 'getSpace', 'getSpaceTile', 'getSpaceTimeTile', 'getStboxTimeTile', 'getTBoxTimeTile', 'getTime', 'getTimeTile', 'getValueTile', 'getX', 'getY', 'getZ', 'insert', 'instantN', 'intToSet', 'intToSpan', 'intToSpanset', 'intToTbox', 'intset', 'intsetToFloatset', 'intspan', 'intspanExpand', 'intspanShiftScale', 'intspanToFloatspan', 'intspanset', 'intspansetShiftScale', 'intspansetToFloat', 'maxDistSimplify', 'maxInstant', 'merge', 'minDistSimplify', 'minDistance', 'minDistanceTgeoarrTgeoarr', 'minInstant', 'minTimeDeltaSimplify', 'minusMax', 'minusMin', 'minusStbox', 'minusTbox', 'minusTime', 'minusValue', 'minusValues', 'naiTgeoGeo', 'naiTgeoTgeo', 'nearestApproachInstant', 'npointsetFromBinary', 'npointsetFromHexWKB', 'npointsetFromText', 'numspanTimestamptzToTbox', 'points', 'posesetFromBinary', 'posesetFromHexWKB', 'posesetFromText', 'routes', 'scale', 'sequenceN', 'setIntersection', 'setMinus', 'setSRID', 'setToSpan', 'setToSpanset', 'setToTbox', 'setUnion', 'shift', 'shiftScale', 'span', 'spanIntersection', 'spanMinus', 'spanToSpanset', 'spanToTbox', 'spanUnion', 'spanset', 'spansetEndSpan', 'spansetIntersection', 'spansetIntersectionSpan', 'spansetMinus', 'spansetMinusSpan', 'spansetSpanN', 'spansetStartSpan', 'spansetToTbox', 'spansetUnion', 'spansetUnionSpan', 'speed', 'startInstant', 'startSequence', 'stbox', 'stboxAdjacent', 'stboxFromBinary', 'stboxFromHexWKB', 'stboxToTstzspan', 'stops', 'tContains', 'tCovers', 'tDwithin', 'tbool', 'tboolAtValue', 'tboolFromBaseTemp', 'tboolFromMfjson', 'tboolInst', 'tboolMinusValue', 'tboolWhenTrue', 'tbox', 'tboxExpandFloat', 'tboxExpandInt', 'tboxExpandTime', 'tboxFromBinary', 'tboxFromHexWKB', 'tboxMake', 'tboxRound', 'tboxShiftScaleTime', 'tboxToFloatspan', 'tboxToIntspan', 'tboxToTstzspan', 'tcbuffer', 'tcbufferFromText', 'tcbufferInst', 'tcbufferRadius', 'tcbufferSeq', 'tcbufferSeqSet', 'tcbufferSeqSetGaps', 'tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber', 'temporalAtMax', 'temporalAtMin', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset', 'temporalAtValues', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset', 'temporalMinusValues', 'temporalScaleTime', 'temporalSetInterp', 'temporalShiftScaleTime', 'temporalShiftTime', 'temporalSimplifyDp', 'temporalSimplifyMaxDist', 'temporalSimplifyMinDist', 'temporalSimplifyMinTdelta', 'temporalTPrecision', 'temporalTSample', 'temporalToTInstant', 'temporalToTSequence', 'temporalToTSequenceSet', 'teqTemporalTemporal', 'textset', 'textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText', 'textsetInitcap', 'textsetLower', 'textsetUpper', 'tfloat', 'tfloatAtValue', 'tfloatCeil', 'tfloatDegrees', 'tfloatDerivative', 'tfloatFloor', 'tfloatFromBaseTemp', 'tfloatFromMfjson', 'tfloatInst', 'tfloatMinusValue', 'tfloatRadians', 'tfloatRound', 'tfloatScaleValue', 'tfloatShiftScaleValue', 'tfloatShiftValue', 'tfloatToTint', 'tgeTemporalTemporal', 'tgeoAtGeom', 'tgeoAtStbox', 'tgeoMinusGeom', 'tgeoMinusStbox', 'tgeogpoint', 'tgeogpointFromMfjson', 'tgeography', 'tgeographyFromEWKT', 'tgeometry', 'tgeometryInst', 'tgeompoint', 'tgeompointFromMfjson', 'tgeompointInst', 'tgtTemporalTemporal', 'th3IndexInstFromText', 'th3IndexInstMake', 'th3IndexSeqFromText', 'th3IndexSeqMake', 'th3IndexSeqSetFromText', 'th3IndexSeqSetMake', 'time', 'timespan', 'timestamptzToSet', 'timestamptzToSpan', 'timestamptzToTbox', 'tint', 'tintAtValue', 'tintFromBaseTemp', 'tintFromMfjson', 'tintInst', 'tintMinusValue', 'tintScaleValue', 'tintShiftScaleValue', 'tintShiftValue', 'tintToTfloat', 'tleTemporalTemporal', 'tltTemporalTemporal', 'tneTemporalTemporal', 'tnpoint', 'tnpointRoute', 'tnpointSeq', 'tnpointSeqSet', 'tnpointSeqSetGaps', 'tnumberAtSpan', 'tnumberAtSpanset', 'tnumberAtTbox', 'tnumberMinusSpan', 'tnumberMinusSpanset', 'tnumberMinusTbox', 'tnumberToSpan', 'tnumberToTbox', 'tnumberTrend', 'tnumberValuespans', 'tpointAtElevation', 'tpointAtValue', 'tpointAzimuth', 'tpointCumulativeLength', 'tpointDirection', 'tpointExpandSpace', 'tpointFromBaseTemp', 'tpointMinusElevation', 'tpointMinusValue', 'tpointRound', 'tpointSetSRID', 'tpointSetSrid', 'tpointSpeed', 'tpointToStbox', 'tpointTransform', 'tpose', 'tposeFromMFJSON', 'tposeFromText', 'tposeInst', 'tposePoints', 'tposeRotation', 'tposeSeq', 'tposeSeqSet', 'tposeSeqSetGaps', 'tprecision', 'transform', 'trgeometry', 'trgeometryFromMFJSON', 'trgeometrySeq', 'trgeometrySeqSet', 'trgeometrySeqSetGaps', 'tsample', 'tstzset', 'tstzspan', 'tstzspanShiftScale', 'tstzspanToDatespan', 'tstzspanset', 'tstzspansetShiftScale', 'ttext', 'ttextAtValue', 'ttextCat', 'ttextCatTextTtext', 'ttextCatTtextText', 'ttextCatTtextTtext', 'ttextFromBaseTemp', 'ttextFromMfjson', 'ttextInitcap', 'ttextInst', 'ttextLower', 'ttextMinusValue', 'ttextUpper', 'ttextValueAtTimestamptz', 'update', 'valueSet', 'valueSpan'] + // asText -> ['asText', 'tpointAsText'] + // atGeometry -> ['atElevation', 'atGeometry', 'tgeoAtGeom', 'tpointAtElevation'] + // atMax -> ['atMax', 'temporalAtMax'] + // atMin -> ['atMin', 'temporalAtMin'] + // atStbox -> ['atStbox', 'tgeoAtStbox'] + // atTbox -> ['atTbox', 'tnumberAtTbox'] + // atTime -> ['atSpan', 'atSpanset', 'atTime', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset'] + // atValue -> ['atValue', 'tboolAtValue', 'tfloatAtValue', 'tintAtValue', 'tpointAtValue', 'ttextAtValue'] + // atValues -> ['atValues', 'temporalAtValues'] + // bearing -> ['bearing', 'bearingToPoint'] + // ceil -> ['ceil', 'floatsetCeil', 'floatspansetCeil', 'tfloatCeil'] + // cumulativeLength -> ['cumulativeLength', 'tpointCumulativeLength'] + // degrees -> ['degrees', 'floatsetDegrees', 'tfloatDegrees'] + // deleteTime -> ['deleteTime', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset'] + // deltaValue -> ['deltavalue', 'tnumberDeltaValue'] + // derivative -> ['derivative', 'tfloatDerivative'] + // douglasPeuckerSimplify -> ['douglasPeuckerSimplify', 'temporalSimplifyDp'] + // duration -> ['datespanDuration', 'duration', 'tstzspanDuration', 'tstzspansetDuration'] + // dynTimeWarpDistance -> ['dynTimeWarpDistance', 'dynamicTimeWarp'] + // eContains -> ['eContains', 'geomContains'] + // eDisjoint -> ['eDisjoint', 'eDisjointTgeoTgeo'] + // eDwithin -> ['eDwithin', 'eDwithinGeo'] + // endSpan -> ['endSpan', 'floatspansetUpper', 'spansetEndSpan'] + // endTimestamp -> ['endTimestamp', 'tstzspansetEndTimestamptz'] + // endValue -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'tboolEndValue', 'textsetEndValue', 'tfloatEndValue', 'tintEndValue', 'tpointEndValue', 'tstzsetEndValue', 'ttextEndValue'] + // ever_eq -> ['everEqBoolTbool', 'everEqFloatTfloat', 'everEqIntTint', 'everEqTboolBool', 'everEqTemporal', 'everEqTfloatFloat', 'everEqTintInt'] + // ever_ge -> ['everGeFloatTfloat', 'everGeIntTint', 'everGeTemporal', 'everGeTfloatFloat', 'everGeTintInt'] + // ever_gt -> ['everGtFloatTfloat', 'everGtIntTint', 'everGtTemporal', 'everGtTfloatFloat', 'everGtTintInt'] + // ever_le -> ['everLeFloatTfloat', 'everLeIntTint', 'everLeTemporal', 'everLeTfloatFloat', 'everLeTintInt'] + // ever_lt -> ['everLtFloatTfloat', 'everLtIntTint', 'everLtTemporal', 'everLtTfloatFloat', 'everLtTintInt'] + // ever_ne -> ['everNeBoolTbool', 'everNeFloatTfloat', 'everNeIntTint', 'everNeTboolBool', 'everNeTemporal', 'everNeTfloatFloat', 'everNeTintInt'] + // expandSpace -> ['expandSpace', 'stboxExpandSpace', 'tpointExpandSpace'] + // floatspan -> ['tboxToFloatspan', 'tboxToIntspan'] + // floatspanset -> ['floatspanset', 'intspansetToFloat'] + // floor -> ['floatsetFloor', 'floatspansetFloor', 'floor', 'tfloatFloor'] + // getSpace -> ['getSpace', 'stboxGetSpace'] + // getTime -> ['getTime', 'time'] + // getValues -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'textsetEndValue', 'tnumberValuespans', 'tstzsetEndValue', 'ttextValueAtTimestamptz'] + // hasT -> ['stboxHast', 'tboxHast'] + // hasX -> ['stboxHasx', 'tboxHasx'] + // hasZ -> ['getZ', 'stboxHasz'] + // intsetFromHexWKB -> ['asHexEWKB', 'atValues', 'cbuffersetFromBinary', 'cbuffersetFromHexWKB', 'dateset', 'datesetEndValue', 'datesetStartValue', 'distanceBigintsetBigintset', 'distanceFloatsetFloatset', 'distanceIntsetIntset', 'distanceTstzsetTstzset', 'everIntersectsH3IndexSetTh3Index', 'floatsetCeil', 'floatsetDegrees', 'floatsetEndValue', 'floatsetFloor', 'floatsetRadians', 'floatsetStartValue', 'floatsetToIntset', 'h3CompactCells', 'h3UncompactCells', 'intsetEndValue', 'intsetStartValue', 'intsetToFloatset', 'minusValues', 'npointsetFromBinary', 'npointsetFromHexWKB', 'posesetFromBinary', 'posesetFromHexWKB', 'routes', 'setDistance', 'setNumValues', 'setToSpan', 'setToSpanset', 'setToTbox', 'set_distance', 'temporalAtTstzset', 'temporalAtValues', 'temporalDeleteTstzset', 'temporalMinusTstzset', 'temporalMinusValues', 'textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText', 'textsetEndValue', 'textsetInitcap', 'textsetLower', 'textsetStartValue', 'textsetUpper', 'tnpointSeqSetGaps', 'tstzsetEndValue', 'tstzsetStartValue'] + // intset_in -> ['asHexEWKB', 'bigintset', 'floatset', 'intset', 'textset', 'tstzset'] + // intspanFromHexWKB -> ['atSpan', 'bigintspanLower', 'bigintspanUpper', 'bigintspanWidth', 'datespanLower', 'datespanUpper', 'floatspanLower', 'floatspanShiftScale', 'floatspanUpper', 'floatspanWidth', 'intspanLower', 'intspanShiftScale', 'intspanUpper', 'intspanWidth', 'minusTime', 'numspanTimestamptzToTbox', 'shiftScale', 'spanLowerInc', 'spanToSpanset', 'spanToTbox', 'spanUpperInc', 'span_distance', 'span_intersection', 'span_minus', 'span_union', 'spanset', 'stboxAdjacent', 'tboxMake', 'temporalAtTstzspan', 'temporalDeleteTstzspan', 'temporalMinusTstzspan', 'time_distance', 'tnumberAtSpan', 'tnumberMinusSpan', 'tpointAtElevation', 'tpointMinusElevation', 'tstzspanLower', 'tstzspanToStbox', 'tstzspanUpper', 'width'] + // intspanset -> ['floatToSpanset', 'floatspansetToInt', 'intToSpanset', 'intspanset', 'setToSpanset'] + // intspansetFromHexWKB -> ['atSpanset', 'bigintspansetWidth', 'dateN', 'dates', 'endDate', 'endSpan', 'floatspanset', 'floatspansetCeil', 'floatspansetFloor', 'floatspansetLower', 'floatspansetRound', 'floatspansetShiftScale', 'floatspansetToInt', 'floatspansetUpper', 'floatspansetWidth', 'intspanset', 'intspansetLower', 'intspansetShiftScale', 'intspansetToFloat', 'intspansetUpper', 'intspansetWidth', 'numDates', 'numSpans', 'spann', 'spansetEndSpan', 'spansetLowerInc', 'spansetNumSpans', 'spansetSpanN', 'spansetStartSpan', 'spansetToTbox', 'spansetUpperInc', 'spanset_distance', 'spanset_intersection', 'spanset_minus', 'spanset_union', 'startDate', 'startSpan', 'temporalAtTstzspanset', 'temporalDeleteTstzspanset', 'temporalMinusTstzspanset', 'time_distance_spanset', 'tnumberAtSpanset', 'tnumberMinusSpanset', 'tstzspansetDuration', 'tstzspansetEndTimestamptz', 'tstzspansetLower', 'tstzspansetNumTimestamps', 'tstzspansetStartTimestamptz', 'tstzspansetUpper'] + // isGeodetic -> ['eIntersects', 'stboxIsGeodetic'] + // length -> ['length', 'speed', 'tpointLength', 'tpointSpeed'] + // ln -> ['exp', 'ln', 'log10', 'tfloatExp', 'tfloatLn', 'tfloatLog10'] + // lower -> ['bigintspanLower', 'datespanLower', 'floatspanLower', 'floatspansetLower', 'intspanLower', 'intspansetLower', 'textsetLower', 'tstzspanLower', 'tstzspansetLower', 'ttextInitcap', 'ttextLower'] + // maxValue -> ['tfloatMaxValue', 'tintMaxValue', 'ttextMaxValue'] + // minDistSimplify -> ['minDistSimplify', 'temporalSimplifyMinDist'] + // minDistance -> ['minDistance', 'minDistanceTgeoarrTgeoarr'] + // minTimeDeltaSimplify -> ['minTimeDeltaSimplify', 'temporalSimplifyMinTdelta'] + // minValue -> ['tfloatMinValue', 'tintMinValue', 'ttextMinValue'] + // minusGeometry -> ['tgeoMinusGeom', 'tpointMinusElevation'] + // minusStbox -> ['minusStbox', 'tgeoMinusStbox'] + // minusTbox -> ['minusTbox', 'tnumberMinusTbox'] + // minusTime -> ['minusTime', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset'] + // minusValue -> ['minusValue', 'tboolMinusValue', 'tfloatMinusValue', 'tintMinusValue', 'tpointMinusValue', 'ttextMinusValue'] + // minusValues -> ['minusValues', 'temporalMinusValues'] + // numSpans -> ['numSpans', 'spansetNumSpans'] + // numTimestamps -> ['numTimestamps', 'tstzspansetNumTimestamps'] + // numValues -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'setNumValues', 'textsetEndValue', 'tstzsetEndValue'] + // radians -> ['floatsetRadians', 'radians', 'tfloatRadians'] + // round -> ['floatspansetRound', 'stboxRound', 'tboxRound'] + // scaleTime -> ['scale', 'temporalScaleTime'] + // scaleValue -> ['tfloatScaleValue', 'tintScaleValue'] + // set -> ['floatToSet', 'intToSet', 'timestamptzToSet'] + // setSRID -> ['setSRID', 'stboxSetSrid', 'tpointSetSRID', 'tpointSetSrid'] + // set_distance -> ['distanceBigintsetBigintset', 'distanceFloatsetFloatset', 'distanceIntsetIntset', 'distanceTstzsetTstzset', 'setDistance', 'set_distance'] + // shift -> ['floatspanShiftScale', 'floatspansetShiftScale', 'intspanShiftScale', 'intspansetShiftScale', 'shiftScale', 'tstzspanShiftScale', 'tstzspansetShiftScale'] + // shiftScaleValue -> ['tfloatShiftScaleValue', 'tintShiftScaleValue'] + // shiftTime -> ['shift', 'stboxShiftScaleTime', 'tboxShiftScaleTime', 'temporalShiftScaleTime', 'temporalShiftTime'] + // shiftValue -> ['tfloatShiftValue', 'tintShiftValue'] + // span -> ['floatToSpan', 'intToSpan', 'setToSpan', 'spanToSpanset', 'spanset', 'timestamptzToSpan'] + // spanN -> ['spann', 'spansetSpanN'] + // span_contained -> ['spanContainedIn', 'spanContainedInSpanset'] + // span_contains -> ['spanContains', 'spansetContainsSpan'] + // span_distance -> ['bigintspanDistance', 'datespanDistance', 'floatspanDistance', 'intspanDistance', 'spanDistance', 'span_distance', 'spanset_distance', 'timeDistance', 'time_distance', 'time_distance_spanset', 'tstzspanDistance'] + // span_intersection -> ['spanIntersection', 'span_intersection', 'spansetIntersection', 'spansetIntersectionSpan', 'spanset_intersection'] + // span_minus -> ['spansetMinus', 'spansetMinusSpan', 'spanset_minus'] + // span_overlaps -> ['spanOverlaps', 'spansetOverlaps'] + // span_union -> ['spansetUnion', 'spansetUnionSpan', 'spanset_union'] + // startSpan -> ['floatspansetLower', 'spansetStartSpan', 'startSpan'] + // startTimestamp -> ['getTimestamp', 'startTimestamp', 'tstzspansetStartTimestamptz'] + // startValue -> ['datesetStartValue', 'floatsetStartValue', 'getValue', 'intsetStartValue', 'startValue', 'tboolGetValue', 'tboolStartValue', 'textsetStartValue', 'tfloatGetValue', 'tfloatStartValue', 'tintGetValue', 'tintStartValue', 'tpointGetValue', 'tpointStartValue', 'tstzsetStartValue', 'ttextGetValue', 'ttextStartValue'] + // stbox -> ['aDwithinGeo', 'aIntersects', 'eContains', 'eCovers', 'eDisjoint', 'eDwithinGeo', 'eIntersects', 'eTouches', 'expandSpace', 'geoToStbox', 'getZ', 'timestamptzToStbox', 'tpointExpandSpace', 'tpointSRID', 'tpointToStbox', 'tstzspanToStbox'] + // stboxFromHexWKB -> ['atStbox', 'bboxOverlaps', 'box2d', 'box3d', 'expandSpace', 'getSpace', 'getTBoxTimeTile', 'minusStbox', 'nadTgeoStbox', 'stboxFromBinary', 'stboxFromHexWKB', 'stboxOverlaps', 'stbox_intersection', 'stbox_union', 'tgeoAtStbox', 'tgeoMinusStbox', 'tpointExpandSpace'] + // stbox_union -> ['stboxUnion', 'stbox_union', 'unionStboxStbox'] + // tContains -> ['tContains', 'tContainsTgeoGeo'] + // tDisjoint -> ['tDisjoint', 'tDisjointTgeoTgeo'] + // tDistance -> ['tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber'] + // tDwithin -> ['tDwithin', 'tDwithinTgeoGeo'] + // tIntersects -> ['tIntersects', 'tIntersectsTgeoTgeo'] + // tTouches -> ['tTouches', 'tTouchesTogeoTgeo'] + // tbox -> ['floatToTbox', 'intToTbox', 'numspanTimestamptzToTbox', 'setToTbox', 'spanToTbox', 'spansetToTbox', 'timestamptzToTbox', 'tnumberToTbox'] + // tboxFromHexWKB -> ['atTbox', 'bigintSpan', 'minusTbox', 'tboxFromBinary', 'tboxFromHexWKB', 'tbox_intersection', 'tbox_union', 'tnumberAtTbox', 'tnumberMinusTbox'] + // tempSubtype -> ['tempSubtype', 'temporalSubtype'] + // textset_cat -> ['textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText'] + // timeSpan -> ['span', 'stboxToTstzspan', 'tboxToTstzspan', 'timespan'] + // timestamps -> ['atValue', 'tstzspansetNumTimestamps', 'ttextValueAtTimestamptz'] + // tint -> ['geomContains', 'geomToH3Cell', 'tboolInst', 'tcbufferInst', 'tfloatInst', 'tfloatToTint', 'tgeompointInst', 'tintInst', 'tposeInst', 'ttextInst'] + // tintFromHexWKB -> ['aDisjoint', 'aDwithin', 'aDwithinGeo', 'aIntersects', 'abs', 'addTfloatFloat', 'addTintInt', 'addTnumberTnumber', 'afterTimestamp', 'alwaysNeTh3IndexH3Index', 'alwaysNeTh3IndexTh3Index', 'appendInstant', 'appendSequence', 'asEWKT', 'asHexEWKB', 'asHexWKB', 'asText', 'atElevation', 'atGeometry', 'atMax', 'atMin', 'atSpan', 'atSpanset', 'atStbox', 'atTbox', 'atTime', 'atValue', 'atValues', 'avgValue', 'bboxOverlaps', 'bearing', 'bearingToPoint', 'beforeTimestamp', 'ceil', 'cumulativeLength', 'degrees', 'deleteTime', 'deltavalue', 'derivative', 'divTfloatFloat', 'divTintInt', 'divTnumberTnumber', 'douglasPeuckerSimplify', 'duration', 'dynTimeWarpDistance', 'dynamicTimeWarp', 'eContains', 'eCovers', 'eDisjoint', 'eDisjointTgeoTgeo', 'eDwithin', 'eDwithinGeo', 'eIntersects', 'eIntersectsTgeoTgeo', 'eTouches', 'endInstant', 'endSequence', 'endTimestamp', 'endValue', 'everIntersectsH3IndexSetTh3Index', 'everNeBoolTbool', 'exp', 'expandSpace', 'floor', 'frechetDistance', 'geography', 'geometry', 'getTBoxTimeTile', 'getTime', 'getTimestamp', 'getValue', 'getX', 'getY', 'getZ', 'hausdorffDistance', 'insert', 'instantN', 'integral', 'interp', 'isSimple', 'length', 'ln', 'log10', 'lowerInc', 'maxDistSimplify', 'maxInstant', 'memSize', 'merge', 'minDistSimplify', 'minDistance', 'minDistanceTgeoGeo', 'minDistanceTgeoTgeo', 'minDistanceTgeoarrTgeoarr', 'minInstant', 'minTimeDeltaSimplify', 'minusMax', 'minusMin', 'minusStbox', 'minusTbox', 'minusTime', 'minusValue', 'minusValues', 'multTfloatFloat', 'multTintInt', 'multTnumberTnumber', 'nadTgeoGeo', 'nadTgeoStbox', 'nadTgeoTgeo', 'naiTgeoGeo', 'naiTgeoTgeo', 'nearestApproachDistance', 'nearestApproachInstant', 'numInstants', 'numSequences', 'numTimestamps', 'points', 'radians', 'routes', 'scale', 'sequenceN', 'setSRID', 'shift', 'shortestLine', 'shortestLineTgeoGeo', 'shortestLineTgeoTgeo', 'span', 'speed', 'startInstant', 'startSequence', 'startTimestamp', 'startValue', 'stops', 'subTfloatFloat', 'subTintInt', 'subTnumberTnumber', 'tContains', 'tContainsTgeoGeo', 'tContainsTgeoTgeo', 'tCovers', 'tCoversTgeoGeo', 'tDisjoint', 'tDisjointTgeoTgeo', 'tDwithin', 'tDwithinTgeoGeo', 'tIntersects', 'tIntersectsTgeoTgeo', 'tTouches', 'tTouchesTogeoTgeo', 'tandBool', 'tandBoolTbool', 'tandTboolTbool', 'tbigintToTh3Index', 'tboolAnd', 'tboolAtValue', 'tboolEndValue', 'tboolFromBaseTemp', 'tboolGetValue', 'tboolMinusValue', 'tboolNot', 'tboolOr', 'tboolOut', 'tboolStartValue', 'tboolValueAtTimestamptz', 'tboolValueN', 'tboolWhenTrue', 'tcbuffer', 'tcbufferInst', 'tcbufferRadius', 'tcbufferSeq', 'tcbufferSeqSet', 'tcbufferSeqSetGaps', 'tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber', 'tempSubtype', 'temporalAsMfjson', 'temporalAtMax', 'temporalAtMin', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset', 'temporalAtValues', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset', 'temporalMinusValues', 'temporalScaleTime', 'temporalSetInterp', 'temporalShiftScaleTime', 'temporalShiftTime', 'temporalSimplifyDp', 'temporalSimplifyMaxDist', 'temporalSimplifyMinDist', 'temporalSimplifyMinTdelta', 'temporalSubtype', 'temporalTPrecision', 'temporalTSample', 'temporalToTInstant', 'temporalToTSequence', 'temporalToTSequenceSet', 'teqH3IndexTh3Index', 'teqTemporalTemporal', 'teqTh3IndexH3Index', 'teqTh3IndexTh3Index', 'tfloatAtValue', 'tfloatCeil', 'tfloatDegrees', 'tfloatDerivative', 'tfloatEndValue', 'tfloatExp', 'tfloatFloor', 'tfloatFromBaseTemp', 'tfloatGetValue', 'tfloatLn', 'tfloatLog10', 'tfloatMaxValue', 'tfloatMinValue', 'tfloatMinusValue', 'tfloatOut', 'tfloatRadians', 'tfloatRound', 'tfloatScaleValue', 'tfloatShiftScaleValue', 'tfloatShiftValue', 'tfloatStartValue', 'tfloatToTint', 'tfloatValueAtTimestamptz', 'tfloatValueN', 'tgeTemporalTemporal', 'tgeoAtGeom', 'tgeoAtStbox', 'tgeoMinusGeom', 'tgeoMinusStbox', 'tgeoTraversedArea', 'tgeogpointGreatCircleDistance', 'tgeogpointToTh3Index', 'tgeography', 'tgeographyFromEWKT', 'tgeometry', 'tgeompointToTh3Index', 'tgtTemporalTemporal', 'th3IndexAreNeighborCells', 'th3IndexCellArea', 'th3IndexCellToCenterChild', 'th3IndexCellToChildPos', 'th3IndexCellToLocalIj', 'th3IndexCellToParent', 'th3IndexCellToVertex', 'th3IndexCellsToDirectedEdge', 'th3IndexChildPosToCell', 'th3IndexEdgeLength', 'th3IndexEndValue', 'th3IndexGridDistance', 'th3IndexIsPentagon', 'th3IndexLocalIjToCell', 'th3IndexSeqSetMake', 'th3IndexStartValue', 'th3IndexToTbigint', 'th3IndexValueAtTimestamp', 'th3IndexValueN', 'time', 'timespan', 'timestampN', 'tintAtValue', 'tintEndValue', 'tintFromBaseTemp', 'tintGetValue', 'tintMaxValue', 'tintMinValue', 'tintMinusValue', 'tintOut', 'tintScaleValue', 'tintShiftScaleValue', 'tintShiftValue', 'tintStartValue', 'tintToTfloat', 'tintValueAtTimestamptz', 'tintValueN', 'tleTemporalTemporal', 'tltTemporalTemporal', 'tneH3IndexTh3Index', 'tneTemporalTemporal', 'tneTh3IndexH3Index', 'tneTh3IndexTh3Index', 'tnotTbool', 'tnpointRoute', 'tnpointSeq', 'tnpointSeqSet', 'tnpointSeqSetGaps', 'tnumberAbs', 'tnumberAngularDifference', 'tnumberAtSpan', 'tnumberAtSpanset', 'tnumberAtTbox', 'tnumberDeltaValue', 'tnumberIntegral', 'tnumberMinusSpan', 'tnumberMinusSpanset', 'tnumberMinusTbox', 'tnumberToSpan', 'tnumberToTbox', 'tnumberTrend', 'tnumberTwavg', 'tnumberValuespans', 'tnumber_add', 'tnumber_div', 'tnumber_mul', 'tnumber_sub', 'torBool', 'torBoolTbool', 'torTboolTbool', 'tpointAngularDifference', 'tpointAsEWKT', 'tpointAsText', 'tpointAtElevation', 'tpointAtValue', 'tpointAzimuth', 'tpointConvexHull', 'tpointCumulativeLength', 'tpointDirection', 'tpointEndValue', 'tpointExpandSpace', 'tpointFromBaseTemp', 'tpointGetValue', 'tpointIsSimple', 'tpointLength', 'tpointMinusElevation', 'tpointMinusValue', 'tpointRound', 'tpointSRID', 'tpointSetSRID', 'tpointSetSrid', 'tpointSpeed', 'tpointSrid', 'tpointStartValue', 'tpointToStbox', 'tpointTrajectory', 'tpointTransform', 'tpointValueN', 'tpose', 'tposeInst', 'tposePoints', 'tposeRotation', 'tposeSeq', 'tposeSeqSet', 'tposeSeqSetGaps', 'tprecision', 'trajectory', 'transform', 'traversedArea', 'trend', 'trgeometry', 'trgeometrySeq', 'trgeometrySeqSet', 'trgeometrySeqSetGaps', 'tsample', 'ttextAtValue', 'ttextCat', 'ttextCatTextTtext', 'ttextCatTtextText', 'ttextCatTtextTtext', 'ttextEndValue', 'ttextFromBaseTemp', 'ttextGetValue', 'ttextInitcap', 'ttextInst', 'ttextLower', 'ttextMaxValue', 'ttextMinValue', 'ttextMinusValue', 'ttextOut', 'ttextStartValue', 'ttextUpper', 'ttextValueAtTimestamptz', 'ttextValueN', 'twCentroid', 'twavg', 'update', 'upperInc', 'valueAtTimestamp', 'valueN', 'valueSet', 'valueSpan', 'whenTrue'] + // tintSeq -> ['tcbufferSeq', 'temporalToTSequence', 'tnpointSeq', 'tposeSeq', 'trgeometrySeq', 'ttextInst'] + // tintSeqSet -> ['tcbufferSeqSet', 'temporalToTSequenceSet', 'tnpointSeqSet', 'tposeSeqSet', 'trgeometrySeqSet', 'ttextInst'] + // tintSeqSetGaps -> ['tcbufferSeqSetGaps', 'tnpointSeqSetGaps', 'tposeSeqSetGaps', 'trgeometrySeqSetGaps'] + // tnumber_add -> ['addTfloatFloat', 'addTintInt', 'addTnumberTnumber', 'tnumber_add'] + // tnumber_div -> ['divTfloatFloat', 'divTnumberTnumber', 'tnumber_div'] + // tnumber_mul -> ['multTfloatFloat', 'multTintInt', 'multTnumberTnumber', 'tnumber_mul'] + // tnumber_sub -> ['subTfloatFloat', 'subTintInt', 'subTnumberTnumber', 'tnumber_sub'] + // trajectory -> ['tpointTrajectory', 'trajectory'] + // traversedArea -> ['tgeoTraversedArea', 'traversedArea'] + // trend -> ['tnumberTrend', 'trend'] + // twAvg -> ['tnumberTwavg', 'twavg'] + // upper -> ['bigintspanUpper', 'datespanUpper', 'floatspanUpper', 'floatspansetUpper', 'intspanUpper', 'intspansetUpper', 'textsetUpper', 'tstzspanUpper', 'tstzspansetUpper', 'ttextUpper'] + // valueAtTimestamp -> ['tboolValueAtTimestamptz', 'tfloatValueAtTimestamptz', 'tintValueAtTimestamptz', 'ttextValueAtTimestamptz', 'valueAtTimestamp'] + // valueN -> ['everNeBoolTbool', 'tboolValueN', 'tfloatValueN', 'tintValueN', 'tpointValueN', 'ttextFromBaseTemp', 'ttextInitcap', 'ttextValueN', 'valueN'] + // valueSpan -> ['tnumberToSpan', 'valueSpan'] + // whenTrue -> ['tboolWhenTrue', 'whenTrue'] + // width -> ['bigintspanWidth', 'bigintspansetWidth', 'floatspanWidth', 'floatspansetWidth', 'intspanWidth', 'intspansetWidth', 'width'] +} + +object MobilitySparkConnectExtensionsGen { + private def call(u: AnyRef, m: Int, a: Seq[Any]): Any = { + def g(i: Int): AnyRef = if (i < a.length) a(i).asInstanceOf[AnyRef] else null + m match { + case 1 => u.asInstanceOf[UDF1[Any, Any]].call(g(0)) + case 2 => u.asInstanceOf[UDF2[Any, Any, Any]].call(g(0), g(1)) + case 3 => u.asInstanceOf[UDF3[Any, Any, Any, Any]].call(g(0), g(1), g(2)) + case _ => u.asInstanceOf[UDF4[Any, Any, Any, Any, Any]].call(g(0), g(1), g(2), g(3)) + } + } + def fn(n: Int, u: AnyRef, m: Int): AnyRef = n match { + case 1 => (a: Any) => call(u, m, Seq(a)) + case 2 => (a: Any, b: Any) => call(u, m, Seq(a, b)) + case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c)) + case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d)) + } +} diff --git a/codegen/tools/NAMED_SURFACE.md b/codegen/tools/NAMED_SURFACE.md index 0b573b7a9..aabf7021c 100644 --- a/codegen/tools/NAMED_SURFACE.md +++ b/codegen/tools/NAMED_SURFACE.md @@ -51,11 +51,23 @@ The join (1308 Spark impls) classifies each canonical function for the emitter: ## A2 — the emitter (consumes the two derived specs) -- **MobilitySpark Connect registrar:** for each canonical function, emit an - `injectFunction` under the **identity** name; single-impl -> direct ScalaUDF over - the impl; multi-impl -> a WKB-type-tag dispatch builder selecting the impl. - Retires both the hand-written registrar and `dialect_spark.go`'s `sparkNameMap`. -- Same two specs feed the PG/DuckDB identity dialects, PyMEOS, and Flink/Kafka. +`generate_spark_registrar.py` joins the two specs and emits +`output/MobilitySparkConnectExtensionsGen.scala`, a `SparkSessionExtensions` that +injects each canonical function under its **identity** name (no camelCase remap, +no hand-written table). The shipped `ScalaUDF` closures live in a companion object +so they capture only the serializable UDF, not the extension. The builder adapts +to the call-site arity by null-padding the impl's optional args (so `asMFJSON(g)` +reaches the impl's default precision). + +- **single impl** (81 functions): direct ScalaUDF over the one impl. Generated, + compiled, and served live over Spark Connect under the identity names + (`asMFJSON(trip)`, `numSequences(trip)`, …) — retiring the camelCase remap and + `dialect_spark.go`'s `sparkNameMap` for this set. +- **multi impl** (139 functions, one SQL name over several type-specific impls): + listed in the generated file for the **v2** per-row `meos_typeof_hexwkb` + dispatch (the FFI peek is present in `GeneratedFunctions`). + +The same two specs feed the PG/DuckDB identity dialects, PyMEOS, and Flink/Kafka. ## Refinements tracked diff --git a/codegen/tools/extract_spark_impls.py b/codegen/tools/extract_spark_impls.py index fdd0a69da..69110935e 100644 --- a/codegen/tools/extract_spark_impls.py +++ b/codegen/tools/extract_spark_impls.py @@ -29,6 +29,8 @@ def scan_impls(root): for f in glob.glob(os.path.join(root, 'src', 'main', 'java', '**', '*UDFs.java'), recursive=True): text = open(f, encoding='utf-8', errors='ignore').read() cls = os.path.basename(f)[:-5] + pkgm = re.search(r'^\s*package\s+([\w.]+)\s*;', text, re.MULTILINE) + pkg = pkgm.group(1) if pkgm else '' # field declarations + the body that follows (until the next "public static" or EOF) decls = list(FIELD_RE.finditer(text)) for i, m in enumerate(decls): @@ -37,14 +39,14 @@ def scan_impls(root): field = m.group(3) body = text[m.end(): decls[i + 1].start() if i + 1 < len(decls) else len(text)] meos = list(dict.fromkeys(GENFN_RE.findall(body))) # ordered-unique - fields[field] = {'class': cls, 'arity': arity, + fields[field] = {'class': cls, 'pkg': pkg, 'arity': arity, 'argTypes': targs[:-1], 'retType': targs[-1], 'meosFns': meos} for m in REG_RE.finditer(text): sparkName, field, ret = m.group(1), m.group(2), m.group(3) fd = fields.get(field) if fd: - impls[sparkName] = {'field': field, 'class': fd['class'], 'retDataType': ret, - 'arity': fd['arity'], 'argTypes': fd['argTypes'], + impls[sparkName] = {'field': field, 'class': fd['class'], 'pkg': fd['pkg'], + 'retDataType': ret, 'arity': fd['arity'], 'argTypes': fd['argTypes'], 'retType': fd['retType'], 'meosFns': fd['meosFns']} return impls diff --git a/codegen/tools/generate_spark_registrar.py b/codegen/tools/generate_spark_registrar.py new file mode 100644 index 000000000..8f92a811a --- /dev/null +++ b/codegen/tools/generate_spark_registrar.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +"""Generate the MobilitySpark Spark Connect registrar from the canonical specs. + +Inputs (both produced by the sibling extractors, derived from canonical sources): + - meos-named-surface.json canonical SQL names + overloads (defaults -> arities) + - spark-impls.json each Spark UDF: holder pkg/class/field, arity, types, + and the MEOS C functions its body calls + +Joining them on the SQL->MEOS C doxygen chain yields canonical name -> Spark impl. +This tool emits MobilitySparkConnectExtensionsGen.scala: a SparkSessionExtensions +that injects each canonical function under its IDENTITY name (no camelCase remap, +no hand-written table). Single-impl functions bind directly to the one impl; +the builder adapts to the call-site arity by null-padding the impl's optional +args (so e.g. asMFJSON(g) reaches the impl's default precision). Multi-impl +functions (one SQL name over several type-specific impls) are listed for the +v2 per-row WKB-type-tag dispatch (meos_typeof_hexwkb) and not emitted here. + +Usage: generate_spark_registrar.py [named-surface.json] [spark-impls.json] [out.scala] +""" +import json, os, sys + +HERE = os.path.dirname(__file__) +named = json.load(open(sys.argv[1] if len(sys.argv) > 1 else os.path.join(HERE, '..', 'input', 'meos-named-surface.json'))) +impls = json.load(open(sys.argv[2] if len(sys.argv) > 2 else os.path.join(HERE, '..', 'input', 'spark-impls.json')))['impls'] +out = sys.argv[3] if len(sys.argv) > 3 else os.path.join(HERE, '..', 'output', 'MobilitySparkConnectExtensionsGen.scala') + +meos2spark = {} +for sn, d in impls.items(): + for mf in d['meosFns']: + meos2spark.setdefault(mf, []).append(sn) + +single, multi = [], [] +for fn in named['functions']: + names = sorted({sn for c in fn['c'] for sn in meos2spark.get(c['meos'], [])}) + if len(names) == 1: + single.append((fn['name'], names[0])) + elif len(names) > 1: + multi.append((fn['name'], names)) + +lines = [] +seen = set() +for canon, spark in single: + if canon in seen: + continue + d = impls[spark] + seen.add(canon) + fqn = f"{d['pkg']}.{d['class']}.{d['field']}" + argts = ', '.join(f'"{t}"' for t in d['argTypes']) + lines.append(f' inj(ext, "{canon}", {d["arity"]}, Array[String]({argts}), ' + f'"{d["retType"]}", {fqn})') + +HEADER = '''/* GENERATED by codegen/tools/generate_spark_registrar.py from the canonical + * named-operation surface (meos-named-surface.json) joined with the MobilitySpark + * impl scan (spark-impls.json). Do not edit by hand. Each canonical function is + * injected under its identity name; the camelCase remap and the hand-written + * registrar are retired. Single-impl functions only; multi-impl functions need + * the per-row WKB-type-tag dispatch (see the trailing comment). */ +package org.mobilitydb.spark.connect + +import org.apache.spark.sql.SparkSessionExtensions +import org.apache.spark.sql.catalyst.FunctionIdentifier +import org.apache.spark.sql.catalyst.expressions.{Expression, ExpressionInfo, ScalaUDF} +import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder +import org.apache.spark.sql.types._ +import org.apache.spark.sql.api.java.{UDF1, UDF2, UDF3, UDF4} + +class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) { + private lazy val encs: Map[String, ExpressionEncoder[_]] = Map( + "String" -> ExpressionEncoder[String](), "Integer" -> ExpressionEncoder[java.lang.Integer](), + "Long" -> ExpressionEncoder[java.lang.Long](), "Double" -> ExpressionEncoder[java.lang.Double](), + "Number" -> ExpressionEncoder[java.lang.Double](), "Float" -> ExpressionEncoder[java.lang.Float](), + "Boolean" -> ExpressionEncoder[java.lang.Boolean](), "Timestamp" -> ExpressionEncoder[java.sql.Timestamp]()) + private def enc(t: String) = encs.getOrElse(t, encs("String")) + private def dt(t: String): DataType = t match { + case "Integer" => IntegerType; case "Long" => LongType; case "Double" | "Number" => DoubleType + case "Float" => FloatType; case "Boolean" => BooleanType; case "Timestamp" => TimestampType + case _ => StringType + } + private def inj(ext: SparkSessionExtensions, name: String, arity: Int, + argTs: Array[String], retT: String, udf: AnyRef): Unit = { + val builder = (children: Seq[Expression]) => { + val n = math.min(children.size, arity) + ScalaUDF(MobilitySparkConnectExtensionsGen.fn(n, udf, arity), dt(retT), children, + argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) + } + try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) + catch { case _: Throwable => } + } + + def apply(ext: SparkSessionExtensions): Unit = { +''' + +os.makedirs(os.path.dirname(out), exist_ok=True) +with open(out, 'w') as f: + f.write(HEADER) + f.write('\n'.join(lines)) + f.write('\n }\n') + f.write(' // multi-impl (need per-row meos_typeof_hexwkb dispatch, v2):\n') + for canon, names in multi: + f.write(f' // {canon} -> {names}\n') + f.write('}\n\n') + # Companion object: the shipped ScalaUDF closures live here so they capture + # only the serializable UDF object, never the (non-serializable) extension. + f.write('''object MobilitySparkConnectExtensionsGen { + private def call(u: AnyRef, m: Int, a: Seq[Any]): Any = { + def g(i: Int): AnyRef = if (i < a.length) a(i).asInstanceOf[AnyRef] else null + m match { + case 1 => u.asInstanceOf[UDF1[Any, Any]].call(g(0)) + case 2 => u.asInstanceOf[UDF2[Any, Any, Any]].call(g(0), g(1)) + case 3 => u.asInstanceOf[UDF3[Any, Any, Any, Any]].call(g(0), g(1), g(2)) + case _ => u.asInstanceOf[UDF4[Any, Any, Any, Any, Any]].call(g(0), g(1), g(2), g(3)) + } + } + def fn(n: Int, u: AnyRef, m: Int): AnyRef = n match { + case 1 => (a: Any) => call(u, m, Seq(a)) + case 2 => (a: Any, b: Any) => call(u, m, Seq(a, b)) + case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c)) + case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d)) + } +} +''') +print(f"single-impl injected: {len(lines)} multi-impl (v2 dispatch): {len(multi)} -> {out}") From 944e6355477c7be0d4a6350a991b3b91356fab48 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 6 Jun 2026 07:17:34 +0200 Subject: [PATCH 14/23] Emit the multi-impl arg0 type-tag dispatch in the Spark Connect registrar A multi-impl canonical name (one SQL name over several type-specific Spark impls) whose first argument differs in MEOS type is emitted as a single ScalaUDF that peeks meostype_name(meos_typeof_hexwkb(arg0)) per row and routes to the impl whose receiver type matches, with the Temporal-receiver impl as the catch-all default. The receiver category is read from the impl's primary MEOS function (the last non-marshaling GeneratedFunctions call in the UDF body) first C-parameter type. The registrar serves the /items-collection OGC function set under identity names: asMFJSON, stbox, the Xmin/Ymin/Xmax/Ymax/Tmin/Tmax accessors, numSequences, sequenceN, trajectory. Functions that differ only on a later argument (atTime on its time argument) are listed for the arg-N dispatch extension. --- .gitignore | 2 +- codegen/input/spark-impls.json | 3924 +++++++++++------ .../MobilitySparkConnectExtensionsGen.scala | 118 +- codegen/tools/NAMED_SURFACE.md | 26 +- codegen/tools/extract_spark_impls.py | 22 +- codegen/tools/generate_spark_registrar.py | 132 +- 6 files changed, 2845 insertions(+), 1379 deletions(-) diff --git a/.gitignore b/.gitignore index 2c4094815..8aa6d22e9 100644 --- a/.gitignore +++ b/.gitignore @@ -60,4 +60,4 @@ dependency-reduced-pom.xml *.mov # CMake -cmake-build-*/ \ No newline at end of file +cmake-build-*/jar/ diff --git a/codegen/input/spark-impls.json b/codegen/input/spark-impls.json index 6d33728fc..804b500e9 100644 --- a/codegen/input/spark-impls.json +++ b/codegen/input/spark-impls.json @@ -16,7 +16,8 @@ "geo_from_text", "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "trgeometryInst": { "field": "trgeometryInst", @@ -29,7 +30,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpose": { "field": "tpose", @@ -45,7 +47,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "trgeometryFromMFJSON": { "field": "trgeometryFromMFJSON", @@ -59,7 +62,8 @@ "retType": "String", "meosFns": [ "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "trgeometryFromText": { "field": "trgeometryFromText", @@ -71,7 +75,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "trgeometryFromEWKT": { "field": "trgeometryFromEWKT", @@ -83,7 +88,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "trgeometryFromHexEWKB": { "field": "trgeometryFromHexEWKB", @@ -95,7 +101,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "trgeometryFromBinary": { "field": "trgeometryFromBinary", @@ -107,7 +114,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "trgeometryFromEWKB": { "field": "trgeometryFromEWKB", @@ -119,7 +127,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "trgeometrySeq": { "field": "trgeometrySeq", @@ -135,7 +144,8 @@ "temporal_from_hexwkb", "temporal_to_tsequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequence" }, "trgeometrySeqSet": { "field": "trgeometrySeqSet", @@ -151,7 +161,8 @@ "temporal_from_hexwkb", "temporal_to_tsequenceset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequenceset" }, "trgeometrySeqSetGaps": { "field": "trgeometrySeqSetGaps", @@ -169,7 +180,8 @@ "pg_interval_in", "tsequenceset_make_gaps", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tsequenceset_make_gaps" }, "cbuffer": { "field": "cbuffer", @@ -184,7 +196,8 @@ "retType": "String", "meosFns": [ "geo_from_text" - ] + ], + "primaryMeos": "geo_from_text" }, "point": { "field": "point", @@ -198,7 +211,8 @@ "retType": "String", "meosFns": [ "geo_as_text" - ] + ], + "primaryMeos": "geo_as_text" }, "radius": { "field": "radius", @@ -210,7 +224,8 @@ "String" ], "retType": "Double", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferContains": { "field": "cbufferContains", @@ -223,7 +238,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferCovers": { "field": "cbufferCovers", @@ -236,7 +252,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferDisjoint": { "field": "cbufferDisjoint", @@ -249,7 +266,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferIntersects": { "field": "cbufferIntersects", @@ -262,7 +280,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferTouches": { "field": "cbufferTouches", @@ -275,7 +294,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferDwithin": { "field": "cbufferDwithin", @@ -289,7 +309,8 @@ "Double" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferSame": { "field": "cbufferSame", @@ -302,7 +323,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbuffersetFromHexWKB": { "field": "cbuffersetFromHexWKB", @@ -317,7 +339,8 @@ "meosFns": [ "set_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "cbuffersetFromBinary": { "field": "cbuffersetFromBinary", @@ -332,7 +355,8 @@ "meosFns": [ "set_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "tcbuffer": { "field": "tcbuffer", @@ -348,7 +372,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tcbufferInst": { "field": "tcbufferInst", @@ -365,7 +390,8 @@ "tfloatinst_make", "temporal_as_hexwkb", "temporal_from_hexwkb" - ] + ], + "primaryMeos": "tfloatinst_make" }, "tcbufferFromText": { "field": "tcbufferFromText", @@ -379,7 +405,8 @@ "retType": "String", "meosFns": [ "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tcbufferFromEWKT": { "field": "tcbufferFromEWKT", @@ -391,7 +418,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tcbufferFromHexEWKB": { "field": "tcbufferFromHexEWKB", @@ -403,7 +431,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tcbufferFromBinary": { "field": "tcbufferFromBinary", @@ -415,7 +444,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tcbufferFromEWKB": { "field": "tcbufferFromEWKB", @@ -427,7 +457,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tcbufferSeq": { "field": "tcbufferSeq", @@ -443,7 +474,8 @@ "temporal_from_hexwkb", "temporal_to_tsequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequence" }, "tcbufferSeqSet": { "field": "tcbufferSeqSet", @@ -459,7 +491,8 @@ "temporal_from_hexwkb", "temporal_to_tsequenceset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequenceset" }, "tcbufferSeqSetGaps": { "field": "tcbufferSeqSetGaps", @@ -477,7 +510,8 @@ "pg_interval_in", "tsequenceset_make_gaps", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tsequenceset_make_gaps" }, "points": { "field": "points", @@ -492,7 +526,8 @@ "meosFns": [ "temporal_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "tcbufferRadius": { "field": "tcbufferRadius", @@ -507,7 +542,8 @@ "meosFns": [ "temporal_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "pose": { "field": "pose", @@ -521,7 +557,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "rotation": { "field": "rotation", @@ -533,7 +570,8 @@ "String" ], "retType": "Double", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseSame": { "field": "poseSame", @@ -546,7 +584,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseFromText": { "field": "poseFromText", @@ -558,7 +597,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseFromEWKT": { "field": "poseFromEWKT", @@ -570,7 +610,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseFromHexEWKB": { "field": "poseFromHexEWKB", @@ -582,7 +623,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseFromBinary": { "field": "poseFromBinary", @@ -594,7 +636,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseFromEWKB": { "field": "poseFromEWKB", @@ -606,7 +649,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "posesetFromHexWKB": { "field": "posesetFromHexWKB", @@ -621,7 +665,8 @@ "meosFns": [ "set_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "posesetFromText": { "field": "posesetFromText", @@ -635,7 +680,8 @@ "retType": "String", "meosFns": [ "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "posesetFromEWKT": { "field": "posesetFromEWKT", @@ -647,7 +693,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "posesetFromBinary": { "field": "posesetFromBinary", @@ -662,7 +709,8 @@ "meosFns": [ "set_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "posesetFromEWKB": { "field": "posesetFromEWKB", @@ -674,7 +722,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tposeInst": { "field": "tposeInst", @@ -691,7 +740,8 @@ "tfloatinst_make", "temporal_as_hexwkb", "temporal_from_hexwkb" - ] + ], + "primaryMeos": "tfloatinst_make" }, "tposeFromText": { "field": "tposeFromText", @@ -705,7 +755,8 @@ "retType": "String", "meosFns": [ "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tposeFromEWKT": { "field": "tposeFromEWKT", @@ -717,7 +768,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tposeFromMFJSON": { "field": "tposeFromMFJSON", @@ -731,7 +783,8 @@ "retType": "String", "meosFns": [ "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tposeFromHexEWKB": { "field": "tposeFromHexEWKB", @@ -743,7 +796,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tposeFromBinary": { "field": "tposeFromBinary", @@ -755,7 +809,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tposeFromEWKB": { "field": "tposeFromEWKB", @@ -767,7 +822,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tposeSeq": { "field": "tposeSeq", @@ -783,7 +839,8 @@ "temporal_from_hexwkb", "temporal_to_tsequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequence" }, "tposeSeqSet": { "field": "tposeSeqSet", @@ -799,7 +856,8 @@ "temporal_from_hexwkb", "temporal_to_tsequenceset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequenceset" }, "tposeSeqSetGaps": { "field": "tposeSeqSetGaps", @@ -817,7 +875,8 @@ "pg_interval_in", "tsequenceset_make_gaps", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tsequenceset_make_gaps" }, "tposePoints": { "field": "tposePoints", @@ -832,7 +891,8 @@ "meosFns": [ "temporal_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "tposeRotation": { "field": "tposeRotation", @@ -847,7 +907,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "geomBuffer": { "field": "geomBuffer", @@ -864,7 +925,8 @@ "geo_from_text", "geom_buffer", "geo_as_text" - ] + ], + "primaryMeos": "geom_buffer" }, "geomConvexHull": { "field": "geomConvexHull", @@ -880,7 +942,8 @@ "geo_from_text", "geom_convex_hull", "geo_as_text" - ] + ], + "primaryMeos": "geom_convex_hull" }, "geomIntersection": { "field": "geomIntersection", @@ -897,7 +960,8 @@ "geo_from_text", "geom_intersection2d", "geo_as_text" - ] + ], + "primaryMeos": "geom_intersection2d" }, "setSRID": { "field": "setSRID", @@ -914,7 +978,8 @@ "temporal_from_hexwkb", "tspatial_set_srid", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tspatial_set_srid" }, "transform": { "field": "transform", @@ -931,7 +996,8 @@ "temporal_from_hexwkb", "tspatial_transform", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tspatial_transform" }, "asText": { "field": "asText", @@ -947,7 +1013,8 @@ "meosFns": [ "temporal_from_hexwkb", "tspatial_as_text" - ] + ], + "primaryMeos": "tspatial_as_text" }, "asEWKT": { "field": "asEWKT", @@ -963,7 +1030,8 @@ "meosFns": [ "temporal_from_hexwkb", "tspatial_as_ewkt" - ] + ], + "primaryMeos": "tspatial_as_ewkt" }, "atElevation": { "field": "atElevation", @@ -982,7 +1050,8 @@ "floatspan_make", "tpoint_at_elevation", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_at_elevation" }, "tContains": { "field": "tContains", @@ -1000,7 +1069,8 @@ "geo_from_text", "tcontains_geo_tgeo", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tcontains_geo_tgeo" }, "tCovers": { "field": "tCovers", @@ -1017,7 +1087,8 @@ "temporal_from_hexwkb", "tcovers_tgeo_tgeo", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tcovers_tgeo_tgeo" }, "tDwithin": { "field": "tDwithin", @@ -1035,7 +1106,8 @@ "temporal_from_hexwkb", "tdwithin_tgeo_tgeo", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tdwithin_tgeo_tgeo" }, "bearingToPoint": { "field": "bearingToPoint", @@ -1053,7 +1125,8 @@ "geo_from_text", "bearing_tpoint_point", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "bearing_tpoint_point" }, "bearing": { "field": "bearing", @@ -1070,7 +1143,8 @@ "temporal_from_hexwkb", "bearing_tpoint_tpoint", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "bearing_tpoint_tpoint" }, "twCentroid": { "field": "twCentroid", @@ -1086,7 +1160,8 @@ "temporal_from_hexwkb", "tpoint_twcentroid", "geo_as_text" - ] + ], + "primaryMeos": "tpoint_twcentroid" }, "geoSame": { "field": "geoSame", @@ -1102,7 +1177,8 @@ "meosFns": [ "geo_from_text", "geo_same" - ] + ], + "primaryMeos": "geo_same" }, "tpointConvexHull": { "field": "tpointConvexHull", @@ -1118,7 +1194,8 @@ "temporal_from_hexwkb", "tgeo_convex_hull", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_convex_hull" }, "tpointExpandSpace": { "field": "tpointExpandSpace", @@ -1141,7 +1218,8 @@ "stbox_from_hexwkb", "stbox_transform_pipeline", "geo_from_text" - ] + ], + "primaryMeos": "stbox_transform_pipeline" }, "eIntersects": { "field": "eIntersects", @@ -1162,7 +1240,8 @@ "geo_from_text", "geom_to_geog", "eintersects_tgeo_geo" - ] + ], + "primaryMeos": "eintersects_tgeo_geo" }, "eDisjoint": { "field": "eDisjoint", @@ -1181,7 +1260,8 @@ "stbox_srid", "geo_from_text", "edisjoint_tgeo_geo" - ] + ], + "primaryMeos": "edisjoint_tgeo_geo" }, "eTouches": { "field": "eTouches", @@ -1200,7 +1280,8 @@ "stbox_srid", "geo_from_text", "etouches_tgeo_geo" - ] + ], + "primaryMeos": "etouches_tgeo_geo" }, "eCovers": { "field": "eCovers", @@ -1219,7 +1300,8 @@ "stbox_srid", "geo_from_text", "ecovers_tgeo_geo" - ] + ], + "primaryMeos": "ecovers_tgeo_geo" }, "eContains": { "field": "eContains", @@ -1238,7 +1320,8 @@ "stbox_srid", "geo_from_text", "econtains_geo_tgeo" - ] + ], + "primaryMeos": "econtains_geo_tgeo" }, "eDisjointTgeoTgeo": { "field": "eDisjointTgeoTgeo", @@ -1254,7 +1337,8 @@ "meosFns": [ "temporal_from_hexwkb", "edisjoint_tgeo_tgeo" - ] + ], + "primaryMeos": "edisjoint_tgeo_tgeo" }, "eIntersectsTgeoTgeo": { "field": "eIntersectsTgeoTgeo", @@ -1270,7 +1354,8 @@ "meosFns": [ "temporal_from_hexwkb", "eintersects_tgeo_tgeo" - ] + ], + "primaryMeos": "eintersects_tgeo_tgeo" }, "nearestApproachDistance": { "field": "nearestApproachDistance", @@ -1286,7 +1371,8 @@ "meosFns": [ "temporal_from_hexwkb", "nad_tgeo_tgeo" - ] + ], + "primaryMeos": "nad_tgeo_tgeo" }, "eDwithin": { "field": "eDwithin", @@ -1303,7 +1389,8 @@ "meosFns": [ "temporal_from_hexwkb", "edwithin_tgeo_tgeo" - ] + ], + "primaryMeos": "edwithin_tgeo_tgeo" }, "eDwithinGeo": { "field": "eDwithinGeo", @@ -1323,7 +1410,8 @@ "stbox_srid", "geo_from_text", "edwithin_tgeo_geo" - ] + ], + "primaryMeos": "edwithin_tgeo_geo" }, "aIntersects": { "field": "aIntersects", @@ -1342,7 +1430,8 @@ "stbox_srid", "geo_from_text", "aintersects_tgeo_geo" - ] + ], + "primaryMeos": "aintersects_tgeo_geo" }, "aDisjoint": { "field": "aDisjoint", @@ -1358,7 +1447,8 @@ "meosFns": [ "temporal_from_hexwkb", "adisjoint_tgeo_tgeo" - ] + ], + "primaryMeos": "adisjoint_tgeo_tgeo" }, "aDwithin": { "field": "aDwithin", @@ -1375,7 +1465,8 @@ "meosFns": [ "temporal_from_hexwkb", "adwithin_tgeo_tgeo" - ] + ], + "primaryMeos": "adwithin_tgeo_tgeo" }, "aDwithinGeo": { "field": "aDwithinGeo", @@ -1395,7 +1486,8 @@ "stbox_srid", "geo_from_text", "adwithin_tgeo_geo" - ] + ], + "primaryMeos": "adwithin_tgeo_geo" }, "tgeompoint": { "field": "tgeompoint", @@ -1410,7 +1502,8 @@ "meosFns": [ "tgeompoint_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "trajectory": { "field": "trajectory", @@ -1426,7 +1519,8 @@ "temporal_from_hexwkb", "tpoint_trajectory", "geo_as_hexewkb" - ] + ], + "primaryMeos": "geo_as_hexewkb" }, "geomFromText": { "field": "geomFromText", @@ -1441,7 +1535,8 @@ "meosFns": [ "geo_from_text", "geo_as_hexewkb" - ] + ], + "primaryMeos": "geo_as_hexewkb" }, "getX": { "field": "getX", @@ -1457,7 +1552,8 @@ "temporal_from_hexwkb", "tpoint_get_x", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_get_x" }, "getY": { "field": "getY", @@ -1473,7 +1569,8 @@ "temporal_from_hexwkb", "tpoint_get_y", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_get_y" }, "getZ": { "field": "getZ", @@ -1491,7 +1588,8 @@ "stbox_hasz", "tpoint_get_z", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_get_z" }, "cumulativeLength": { "field": "cumulativeLength", @@ -1507,7 +1605,8 @@ "temporal_from_hexwkb", "tpoint_cumulative_length", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_cumulative_length" }, "stops": { "field": "stops", @@ -1526,7 +1625,8 @@ "pg_interval_in", "temporal_stops", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_stops" }, "isSimple": { "field": "isSimple", @@ -1541,7 +1641,8 @@ "meosFns": [ "temporal_from_hexwkb", "tpoint_is_simple" - ] + ], + "primaryMeos": "tpoint_is_simple" }, "shortestLine": { "field": "shortestLineTgeoGeo", @@ -1558,7 +1659,8 @@ "temporal_from_hexwkb", "geo_from_text", "geo_as_text" - ] + ], + "primaryMeos": "geo_as_text" }, "tpointTransform": { "field": "tpointTransform", @@ -1575,7 +1677,8 @@ "temporal_from_hexwkb", "tspatial_transform", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tspatial_transform" }, "tpointAsText": { "field": "tpointAsText", @@ -1591,7 +1694,8 @@ "meosFns": [ "temporal_from_hexwkb", "tspatial_as_text" - ] + ], + "primaryMeos": "tspatial_as_text" }, "tpointAsEWKT": { "field": "tpointAsEWKT", @@ -1607,7 +1711,8 @@ "meosFns": [ "temporal_from_hexwkb", "tspatial_as_ewkt" - ] + ], + "primaryMeos": "tspatial_as_ewkt" }, "tpointSRID": { "field": "tpointSRID", @@ -1623,7 +1728,8 @@ "temporal_from_hexwkb", "tspatial_to_stbox", "stbox_srid" - ] + ], + "primaryMeos": "stbox_srid" }, "tpointSetSRID": { "field": "tpointSetSRID", @@ -1640,7 +1746,8 @@ "temporal_from_hexwkb", "tspatial_set_srid", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tspatial_set_srid" }, "tpointRound": { "field": "tpointRound", @@ -1657,7 +1764,8 @@ "temporal_from_hexwkb", "temporal_round", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_round" }, "tpointToStbox": { "field": "tpointToStbox", @@ -1673,7 +1781,8 @@ "temporal_from_hexwkb", "tspatial_to_stbox", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "tspatial_to_stbox" }, "expandSpace": { "field": "expandSpace", @@ -1692,7 +1801,8 @@ "tspatial_to_stbox", "stbox_expand_space", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_expand_space" }, "geoAsEwkt": { "field": "geoAsEwkt", @@ -1708,7 +1818,8 @@ "meosFns": [ "geo_from_text", "geo_as_ewkt" - ] + ], + "primaryMeos": "geo_as_ewkt" }, "geoAsGeojson": { "field": "geoAsGeojson", @@ -1725,7 +1836,8 @@ "meosFns": [ "geo_from_text", "geo_as_geojson" - ] + ], + "primaryMeos": "geo_as_geojson" }, "geoFromGeojson": { "field": "geoFromGeojson", @@ -1740,7 +1852,8 @@ "meosFns": [ "geo_from_geojson", "geo_as_text" - ] + ], + "primaryMeos": "geo_from_geojson" }, "geomContains": { "field": "geomContains", @@ -1758,7 +1871,8 @@ "pg_timestamptz_in", "tpointinst_make", "econtains_geo_tgeo" - ] + ], + "primaryMeos": "econtains_geo_tgeo" }, "geomCovers": { "field": "geomCovers", @@ -1774,7 +1888,8 @@ "meosFns": [ "geo_from_text", "geom_covers" - ] + ], + "primaryMeos": "geom_covers" }, "geomDisjoint": { "field": "geomDisjoint", @@ -1790,7 +1905,8 @@ "meosFns": [ "geo_from_text", "geom_disjoint2d" - ] + ], + "primaryMeos": "geom_disjoint2d" }, "geomIntersects": { "field": "geomIntersects", @@ -1806,7 +1922,8 @@ "meosFns": [ "geo_from_text", "geom_intersects2d" - ] + ], + "primaryMeos": "geom_intersects2d" }, "geomTouches": { "field": "geomTouches", @@ -1822,7 +1939,8 @@ "meosFns": [ "geo_from_text", "geom_touches" - ] + ], + "primaryMeos": "geom_touches" }, "geomDwithin": { "field": "geomDwithin", @@ -1839,7 +1957,8 @@ "meosFns": [ "geo_from_text", "geom_dwithin2d" - ] + ], + "primaryMeos": "geom_dwithin2d" }, "geomDistance": { "field": "geomDistance", @@ -1855,7 +1974,8 @@ "meosFns": [ "geo_from_text", "geom_distance2d" - ] + ], + "primaryMeos": "geom_distance2d" }, "geomLength": { "field": "geomLength", @@ -1870,7 +1990,8 @@ "meosFns": [ "geo_from_text", "geom_length" - ] + ], + "primaryMeos": "geom_length" }, "geomPerimeter": { "field": "geomPerimeter", @@ -1885,7 +2006,8 @@ "meosFns": [ "geo_from_text", "geom_perimeter" - ] + ], + "primaryMeos": "geom_perimeter" }, "geomCentroid": { "field": "geomCentroid", @@ -1901,7 +2023,8 @@ "geo_from_text", "geom_centroid", "geo_as_text" - ] + ], + "primaryMeos": "geom_centroid" }, "geomBoundary": { "field": "geomBoundary", @@ -1917,7 +2040,8 @@ "geo_from_text", "geom_boundary", "geo_as_text" - ] + ], + "primaryMeos": "geom_boundary" }, "geomDifference": { "field": "geomDifference", @@ -1934,7 +2058,8 @@ "geo_from_text", "geom_difference2d", "geo_as_text" - ] + ], + "primaryMeos": "geom_difference2d" }, "geomUnaryUnion": { "field": "geomUnaryUnion", @@ -1951,7 +2076,8 @@ "geo_from_text", "geom_unary_union", "geo_as_text" - ] + ], + "primaryMeos": "geom_unary_union" }, "geoReverse": { "field": "geoReverse", @@ -1967,7 +2093,8 @@ "geo_from_text", "geo_reverse", "geo_as_text" - ] + ], + "primaryMeos": "geo_reverse" }, "geoRound": { "field": "geoRound", @@ -1984,7 +2111,8 @@ "geo_from_text", "geo_round", "geo_as_text" - ] + ], + "primaryMeos": "geo_round" }, "lineInterpolatePoint": { "field": "lineInterpolatePoint", @@ -2001,7 +2129,8 @@ "geo_from_text", "line_interpolate_point", "geo_as_text" - ] + ], + "primaryMeos": "line_interpolate_point" }, "lineSubstring": { "field": "lineSubstring", @@ -2019,7 +2148,8 @@ "geo_from_text", "line_substring", "geo_as_text" - ] + ], + "primaryMeos": "line_substring" }, "tdistanceTgeoGeo": { "field": "tdistanceTgeoGeo", @@ -2037,7 +2167,8 @@ "geo_from_text", "tdistance_tgeo_geo", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tdistance_tgeo_geo" }, "tdistanceTgeoTgeo": { "field": "tdistanceTgeoTgeo", @@ -2054,7 +2185,8 @@ "temporal_from_hexwkb", "tdistance_tgeo_tgeo", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tdistance_tgeo_tgeo" }, "tdistanceTfloatFloat": { "field": "tdistanceTfloatFloat", @@ -2071,7 +2203,8 @@ "temporal_from_hexwkb", "tdistance_tfloat_float", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tdistance_tfloat_float" }, "tdistanceTintInt": { "field": "tdistanceTintInt", @@ -2088,7 +2221,8 @@ "temporal_from_hexwkb", "tdistance_tint_int", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tdistance_tint_int" }, "tdistanceTnumberTnumber": { "field": "tdistanceTnumberTnumber", @@ -2105,7 +2239,8 @@ "temporal_from_hexwkb", "tdistance_tnumber_tnumber", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tdistance_tnumber_tnumber" }, "nadTgeoGeo": { "field": "nadTgeoGeo", @@ -2121,7 +2256,8 @@ "meosFns": [ "temporal_from_hexwkb", "geo_from_text" - ] + ], + "primaryMeos": "geo_from_text" }, "nadTgeoStbox": { "field": "nadTgeoStbox", @@ -2137,7 +2273,8 @@ "meosFns": [ "temporal_from_hexwkb", "stbox_from_hexwkb" - ] + ], + "primaryMeos": "stbox_from_hexwkb" }, "nadTgeoTgeo": { "field": "nadTgeoTgeo", @@ -2152,7 +2289,8 @@ "retType": "Double", "meosFns": [ "temporal_from_hexwkb" - ] + ], + "primaryMeos": "temporal_from_hexwkb" }, "naiTgeoGeo": { "field": "naiTgeoGeo", @@ -2169,7 +2307,8 @@ "temporal_from_hexwkb", "geo_from_text", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "naiTgeoTgeo": { "field": "naiTgeoTgeo", @@ -2185,7 +2324,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "shortestLineTgeoGeo": { "field": "shortestLineTgeoGeo", @@ -2202,7 +2342,8 @@ "temporal_from_hexwkb", "geo_from_text", "geo_as_text" - ] + ], + "primaryMeos": "geo_as_text" }, "shortestLineTgeoTgeo": { "field": "shortestLineTgeoTgeo", @@ -2219,7 +2360,8 @@ "temporal_from_hexwkb", "shortestline_tgeo_tgeo", "geo_as_text" - ] + ], + "primaryMeos": "shortestline_tgeo_tgeo" }, "minDistanceTgeoGeo": { "field": "minDistanceTgeoGeo", @@ -2235,7 +2377,8 @@ "meosFns": [ "temporal_from_hexwkb", "geo_from_text" - ] + ], + "primaryMeos": "geo_from_text" }, "minDistanceTgeoTgeo": { "field": "minDistanceTgeoTgeo", @@ -2250,7 +2393,8 @@ "retType": "Double", "meosFns": [ "temporal_from_hexwkb" - ] + ], + "primaryMeos": "temporal_from_hexwkb" }, "minDistanceTgeoarrTgeoarr": { "field": "minDistanceTgeoarrTgeoarr", @@ -2267,7 +2411,8 @@ "temporal_from_hexwkb", "mindistance_tgeoarr_tgeoarr", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "mindistance_tgeoarr_tgeoarr" }, "nearestApproachInstant": { "field": "naiTgeoGeo", @@ -2284,7 +2429,8 @@ "temporal_from_hexwkb", "geo_from_text", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "minDistance": { "field": "minDistanceTgeoarrTgeoarr", @@ -2301,7 +2447,8 @@ "temporal_from_hexwkb", "mindistance_tgeoarr_tgeoarr", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "mindistance_tgeoarr_tgeoarr" }, "stboxHasx": { "field": "stboxHasx", @@ -2315,7 +2462,8 @@ "retType": "Boolean", "meosFns": [ "stbox_hasx" - ] + ], + "primaryMeos": "stbox_hasx" }, "stboxHast": { "field": "stboxHast", @@ -2329,7 +2477,8 @@ "retType": "Boolean", "meosFns": [ "stbox_hast" - ] + ], + "primaryMeos": "stbox_hast" }, "stboxHasz": { "field": "stboxHasz", @@ -2343,7 +2492,8 @@ "retType": "Boolean", "meosFns": [ "stbox_hasz" - ] + ], + "primaryMeos": "stbox_hasz" }, "stboxXmin": { "field": "stboxXmin", @@ -2357,7 +2507,8 @@ "retType": "Double", "meosFns": [ "stbox_xmin" - ] + ], + "primaryMeos": "stbox_xmin" }, "stboxXmax": { "field": "stboxXmax", @@ -2371,7 +2522,8 @@ "retType": "Double", "meosFns": [ "stbox_xmax" - ] + ], + "primaryMeos": "stbox_xmax" }, "stboxYmin": { "field": "stboxYmin", @@ -2385,7 +2537,8 @@ "retType": "Double", "meosFns": [ "stbox_ymin" - ] + ], + "primaryMeos": "stbox_ymin" }, "stboxYmax": { "field": "stboxYmax", @@ -2399,7 +2552,8 @@ "retType": "Double", "meosFns": [ "stbox_ymax" - ] + ], + "primaryMeos": "stbox_ymax" }, "stboxZmin": { "field": "stboxZmin", @@ -2413,7 +2567,8 @@ "retType": "Double", "meosFns": [ "stbox_zmin" - ] + ], + "primaryMeos": "stbox_zmin" }, "stboxZmax": { "field": "stboxZmax", @@ -2427,7 +2582,8 @@ "retType": "Double", "meosFns": [ "stbox_zmax" - ] + ], + "primaryMeos": "stbox_zmax" }, "stboxTmin": { "field": "stboxTmin", @@ -2441,7 +2597,8 @@ "retType": "java.sql.Timestamp", "meosFns": [ "stbox_tmin" - ] + ], + "primaryMeos": "stbox_tmin" }, "stboxTmax": { "field": "stboxTmax", @@ -2455,7 +2612,8 @@ "retType": "java.sql.Timestamp", "meosFns": [ "stbox_tmax" - ] + ], + "primaryMeos": "stbox_tmax" }, "stboxTminInc": { "field": "stboxTminInc", @@ -2469,7 +2627,8 @@ "retType": "Boolean", "meosFns": [ "stbox_tmin_inc" - ] + ], + "primaryMeos": "stbox_tmin_inc" }, "stboxTmaxInc": { "field": "stboxTmaxInc", @@ -2483,7 +2642,8 @@ "retType": "Boolean", "meosFns": [ "stbox_tmax_inc" - ] + ], + "primaryMeos": "stbox_tmax_inc" }, "stboxSrid": { "field": "stboxSrid", @@ -2497,7 +2657,8 @@ "retType": "Integer", "meosFns": [ "stbox_srid" - ] + ], + "primaryMeos": "stbox_srid" }, "stboxExpandSpace": { "field": "stboxExpandSpace", @@ -2512,7 +2673,8 @@ "retType": "String", "meosFns": [ "stbox_expand_space" - ] + ], + "primaryMeos": "stbox_expand_space" }, "stboxExpandTime": { "field": "stboxExpandTime", @@ -2528,7 +2690,8 @@ "meosFns": [ "pg_interval_in", "stbox_expand_time" - ] + ], + "primaryMeos": "stbox_expand_time" }, "stboxArea": { "field": "stboxArea", @@ -2542,7 +2705,8 @@ "retType": "Double", "meosFns": [ "stbox_area" - ] + ], + "primaryMeos": "stbox_area" }, "stboxPerimeter": { "field": "stboxPerimeter", @@ -2556,7 +2720,8 @@ "retType": "Double", "meosFns": [ "stbox_perimeter" - ] + ], + "primaryMeos": "stbox_perimeter" }, "stboxVolume": { "field": "stboxVolume", @@ -2570,7 +2735,8 @@ "retType": "Double", "meosFns": [ "stbox_volume" - ] + ], + "primaryMeos": "stbox_volume" }, "stboxIsGeodetic": { "field": "stboxIsGeodetic", @@ -2584,7 +2750,8 @@ "retType": "Boolean", "meosFns": [ "stbox_isgeodetic" - ] + ], + "primaryMeos": "stbox_isgeodetic" }, "stboxToGeo": { "field": "stboxToGeo", @@ -2599,7 +2766,8 @@ "meosFns": [ "stbox_to_geo", "geo_as_text" - ] + ], + "primaryMeos": "stbox_to_geo" }, "stboxToTstzspan": { "field": "stboxToTstzspan", @@ -2614,7 +2782,8 @@ "meosFns": [ "stbox_to_tstzspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "stbox_to_tstzspan" }, "stboxRound": { "field": "stboxRound", @@ -2629,7 +2798,8 @@ "retType": "String", "meosFns": [ "stbox_round" - ] + ], + "primaryMeos": "stbox_round" }, "stboxSetSrid": { "field": "stboxSetSrid", @@ -2644,7 +2814,8 @@ "retType": "String", "meosFns": [ "stbox_set_srid" - ] + ], + "primaryMeos": "stbox_set_srid" }, "stboxShiftScaleTime": { "field": "stboxShiftScaleTime", @@ -2661,7 +2832,8 @@ "meosFns": [ "pg_interval_in", "stbox_shift_scale_time" - ] + ], + "primaryMeos": "stbox_shift_scale_time" }, "stboxGetSpace": { "field": "stboxGetSpace", @@ -2675,7 +2847,8 @@ "retType": "String", "meosFns": [ "stbox_get_space" - ] + ], + "primaryMeos": "stbox_get_space" }, "geoToStbox": { "field": "geoToStbox", @@ -2690,7 +2863,8 @@ "meosFns": [ "geo_from_text", "geo_to_stbox" - ] + ], + "primaryMeos": "geo_to_stbox" }, "tstzspanToStbox": { "field": "tstzspanToStbox", @@ -2705,7 +2879,8 @@ "meosFns": [ "span_from_hexwkb", "tstzspan_to_stbox" - ] + ], + "primaryMeos": "tstzspan_to_stbox" }, "timestamptzToStbox": { "field": "timestamptzToStbox", @@ -2719,7 +2894,8 @@ "retType": "String", "meosFns": [ "timestamptz_to_stbox" - ] + ], + "primaryMeos": "timestamptz_to_stbox" }, "intersectionStboxStbox": { "field": "intersectionStboxStbox", @@ -2732,7 +2908,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "unionStboxStbox": { "field": "unionStboxStbox", @@ -2747,7 +2924,8 @@ "retType": "String", "meosFns": [ "union_stbox_stbox" - ] + ], + "primaryMeos": "union_stbox_stbox" }, "stboxIntersection": { "field": "intersectionStboxStbox", @@ -2760,7 +2938,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxUnion": { "field": "unionStboxStbox", @@ -2775,7 +2954,8 @@ "retType": "String", "meosFns": [ "union_stbox_stbox" - ] + ], + "primaryMeos": "union_stbox_stbox" }, "stboxX": { "field": "stboxX", @@ -2790,7 +2970,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxT": { "field": "stboxT", @@ -2802,7 +2983,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxXT": { "field": "stboxXT", @@ -2818,7 +3000,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxZ": { "field": "stboxZ", @@ -2835,7 +3018,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxZT": { "field": "stboxZT", @@ -2853,7 +3037,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geodstboxZ": { "field": "geodstboxZ", @@ -2870,7 +3055,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geodstboxT": { "field": "geodstboxT", @@ -2882,7 +3068,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geodstboxZT": { "field": "geodstboxZT", @@ -2900,7 +3087,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxContains": { "field": "stboxContains", @@ -2913,7 +3101,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxContained": { "field": "stboxContained", @@ -2926,7 +3115,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverlaps": { "field": "stboxOverlaps", @@ -2942,7 +3132,8 @@ "meosFns": [ "stbox_from_hexwkb", "overlaps_stbox_stbox" - ] + ], + "primaryMeos": "overlaps_stbox_stbox" }, "stboxLeft": { "field": "stboxLeft", @@ -2955,7 +3146,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverleft": { "field": "stboxOverleft", @@ -2968,7 +3160,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxRight": { "field": "stboxRight", @@ -2981,7 +3174,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverright": { "field": "stboxOverright", @@ -2994,7 +3188,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxBelow": { "field": "stboxBelow", @@ -3007,7 +3202,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverbelow": { "field": "stboxOverbelow", @@ -3020,7 +3216,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxAbove": { "field": "stboxAbove", @@ -3033,7 +3230,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverabove": { "field": "stboxOverabove", @@ -3046,7 +3244,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxBefore": { "field": "stboxBefore", @@ -3059,7 +3258,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverbefore": { "field": "stboxOverbefore", @@ -3072,7 +3272,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxAfter": { "field": "stboxAfter", @@ -3085,7 +3286,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverafter": { "field": "stboxOverafter", @@ -3098,7 +3300,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxAdjacent": { "field": "stboxAdjacent", @@ -3115,7 +3318,8 @@ "span_from_hexwkb", "stbox_make", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_make" }, "translate": { "field": "translate2", @@ -3129,7 +3333,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "translate3": { "field": "translate3", @@ -3144,7 +3349,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "rotate": { "field": "rotate", @@ -3157,7 +3363,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "rotateX": { "field": "rotateX", @@ -3170,7 +3377,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "rotateY": { "field": "rotateY", @@ -3183,7 +3391,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "rotateZ": { "field": "rotateZ", @@ -3196,7 +3405,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "transscale": { "field": "transscale", @@ -3212,7 +3422,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tDisjoint": { "field": "tDisjoint", @@ -3229,7 +3440,8 @@ "temporal_from_hexwkb", "geo_from_text", "tdisjoint_tgeo_geo" - ] + ], + "primaryMeos": "tdisjoint_tgeo_geo" }, "tIntersects": { "field": "tIntersects", @@ -3246,7 +3458,8 @@ "temporal_from_hexwkb", "geo_from_text", "tintersects_tgeo_geo" - ] + ], + "primaryMeos": "tintersects_tgeo_geo" }, "tTouches": { "field": "tTouches", @@ -3263,7 +3476,8 @@ "temporal_from_hexwkb", "geo_from_text", "ttouches_tgeo_geo" - ] + ], + "primaryMeos": "ttouches_tgeo_geo" }, "tDisjointTgeoTgeo": { "field": "tDisjointTgeoTgeo", @@ -3279,7 +3493,8 @@ "meosFns": [ "temporal_from_hexwkb", "tdisjoint_tgeo_tgeo" - ] + ], + "primaryMeos": "tdisjoint_tgeo_tgeo" }, "tIntersectsTgeoTgeo": { "field": "tIntersectsTgeoTgeo", @@ -3295,7 +3510,8 @@ "meosFns": [ "temporal_from_hexwkb", "tintersects_tgeo_tgeo" - ] + ], + "primaryMeos": "tintersects_tgeo_tgeo" }, "tTouchesTogeoTgeo": { "field": "tTouchesTogeoTgeo", @@ -3311,7 +3527,8 @@ "meosFns": [ "temporal_from_hexwkb", "ttouches_tgeo_tgeo" - ] + ], + "primaryMeos": "ttouches_tgeo_tgeo" }, "tContainsTgeoGeo": { "field": "tContainsTgeoGeo", @@ -3328,7 +3545,8 @@ "temporal_from_hexwkb", "geo_from_text", "tcontains_tgeo_geo" - ] + ], + "primaryMeos": "tcontains_tgeo_geo" }, "tContainsTgeoTgeo": { "field": "tContainsTgeoTgeo", @@ -3344,7 +3562,8 @@ "meosFns": [ "temporal_from_hexwkb", "tcontains_tgeo_tgeo" - ] + ], + "primaryMeos": "tcontains_tgeo_tgeo" }, "tCoversTgeoGeo": { "field": "tCoversTgeoGeo", @@ -3361,7 +3580,8 @@ "temporal_from_hexwkb", "geo_from_text", "tcovers_tgeo_geo" - ] + ], + "primaryMeos": "tcovers_tgeo_geo" }, "tDwithinTgeoGeo": { "field": "tDwithinTgeoGeo", @@ -3379,7 +3599,8 @@ "temporal_from_hexwkb", "geo_from_text", "tdwithin_tgeo_geo" - ] + ], + "primaryMeos": "tdwithin_tgeo_geo" }, "aDisjointTgeoGeo": { "field": "aDisjointTgeoGeo", @@ -3392,7 +3613,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aDisjointTgeoTgeo": { "field": "aDisjointTgeoTgeo", @@ -3405,7 +3627,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aIntersectsTgeoGeo": { "field": "aIntersectsTgeoGeo", @@ -3418,7 +3641,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aIntersectsTgeoTgeo": { "field": "aIntersectsTgeoTgeo", @@ -3431,7 +3655,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aTouchesTgeoGeo": { "field": "aTouchesTgeoGeo", @@ -3444,7 +3669,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aTouchesTgeoTgeo": { "field": "aTouchesTgeoTgeo", @@ -3457,7 +3683,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aContainsTgeoGeo": { "field": "aContainsTgeoGeo", @@ -3470,7 +3697,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aContainsTgeoTgeo": { "field": "aContainsTgeoTgeo", @@ -3483,7 +3711,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aContainsGeoTgeo": { "field": "aContainsGeoTgeo", @@ -3496,7 +3725,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aCoversTgeoGeo": { "field": "aCoversTgeoGeo", @@ -3509,7 +3739,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aDwithinTgeoGeo": { "field": "aDwithinTgeoGeo", @@ -3523,7 +3754,8 @@ "Double" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "aDwithinTgeoTgeo": { "field": "aDwithinTgeoTgeo", @@ -3537,7 +3769,8 @@ "Double" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxLeftTpoint": { "field": "stboxLeftTpoint", @@ -3550,7 +3783,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverleftTpoint": { "field": "stboxOverleftTpoint", @@ -3563,7 +3797,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxRightTpoint": { "field": "stboxRightTpoint", @@ -3576,7 +3811,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverrightTpoint": { "field": "stboxOverrightTpoint", @@ -3589,7 +3825,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxBelowTpoint": { "field": "stboxBelowTpoint", @@ -3602,7 +3839,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverbelowTpoint": { "field": "stboxOverbelowTpoint", @@ -3615,7 +3853,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxAboveTpoint": { "field": "stboxAboveTpoint", @@ -3628,7 +3867,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOveraboveTpoint": { "field": "stboxOveraboveTpoint", @@ -3641,7 +3881,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxFrontTpoint": { "field": "stboxFrontTpoint", @@ -3654,7 +3895,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverfrontTpoint": { "field": "stboxOverfrontTpoint", @@ -3667,7 +3909,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxBackTpoint": { "field": "stboxBackTpoint", @@ -3680,7 +3923,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverbackTpoint": { "field": "stboxOverbackTpoint", @@ -3693,7 +3937,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxBeforeTpoint": { "field": "stboxBeforeTpoint", @@ -3706,7 +3951,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverbeforeTpoint": { "field": "stboxOverbeforeTpoint", @@ -3719,7 +3965,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxAfterTpoint": { "field": "stboxAfterTpoint", @@ -3732,7 +3979,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverafterTpoint": { "field": "stboxOverafterTpoint", @@ -3745,7 +3993,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxAdjacentTpoint": { "field": "stboxAdjacentTpoint", @@ -3758,7 +4007,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxContainsTpoint": { "field": "stboxContainsTpoint", @@ -3771,7 +4021,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxContainedTpoint": { "field": "stboxContainedTpoint", @@ -3784,7 +4035,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxOverlapsTpoint": { "field": "stboxOverlapsTpoint", @@ -3797,7 +4049,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxSameTpoint": { "field": "stboxSameTpoint", @@ -3810,7 +4063,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointLeftStbox": { "field": "tpointLeftStbox", @@ -3823,7 +4077,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverleftStbox": { "field": "tpointOverleftStbox", @@ -3836,7 +4091,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointRightStbox": { "field": "tpointRightStbox", @@ -3849,7 +4105,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverrightStbox": { "field": "tpointOverrightStbox", @@ -3862,7 +4119,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointBelowStbox": { "field": "tpointBelowStbox", @@ -3875,7 +4133,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverbelowStbox": { "field": "tpointOverbelowStbox", @@ -3888,7 +4147,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointAboveStbox": { "field": "tpointAboveStbox", @@ -3901,7 +4161,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOveraboveStbox": { "field": "tpointOveraboveStbox", @@ -3914,7 +4175,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointFrontStbox": { "field": "tpointFrontStbox", @@ -3927,7 +4189,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverfrontStbox": { "field": "tpointOverfrontStbox", @@ -3940,7 +4203,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointBackStbox": { "field": "tpointBackStbox", @@ -3953,7 +4217,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverbackStbox": { "field": "tpointOverbackStbox", @@ -3966,7 +4231,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointBeforeStbox": { "field": "tpointBeforeStbox", @@ -3979,7 +4245,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverbeforeStbox": { "field": "tpointOverbeforeStbox", @@ -3992,7 +4259,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointAfterStbox": { "field": "tpointAfterStbox", @@ -4005,7 +4273,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverafterStbox": { "field": "tpointOverafterStbox", @@ -4018,7 +4287,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointAdjacentStbox": { "field": "tpointAdjacentStbox", @@ -4031,7 +4301,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointContainsStbox": { "field": "tpointContainsStbox", @@ -4044,7 +4315,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointContainedStbox": { "field": "tpointContainedStbox", @@ -4057,7 +4329,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointOverlapsStbox": { "field": "tpointOverlapsStbox", @@ -4070,7 +4343,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointSameStbox": { "field": "tpointSameStbox", @@ -4083,7 +4357,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "h3IndexFromText": { "field": "h3IndexFromText", @@ -4097,7 +4372,8 @@ "retType": "Long", "meosFns": [ "h3index_parse" - ] + ], + "primaryMeos": "h3index_parse" }, "h3IndexAsText": { "field": "h3IndexAsText", @@ -4111,7 +4387,8 @@ "retType": "String", "meosFns": [ "h3index_to_string" - ] + ], + "primaryMeos": "h3index_to_string" }, "h3IndexParse": { "field": "h3IndexParse", @@ -4125,7 +4402,8 @@ "retType": "Long", "meosFns": [ "h3index_parse" - ] + ], + "primaryMeos": "h3index_parse" }, "h3IndexToString": { "field": "h3IndexToString", @@ -4139,7 +4417,8 @@ "retType": "String", "meosFns": [ "h3index_to_string" - ] + ], + "primaryMeos": "h3index_to_string" }, "h3IndexEq": { "field": "h3IndexEq", @@ -4154,7 +4433,8 @@ "retType": "Boolean", "meosFns": [ "h3index_eq" - ] + ], + "primaryMeos": "h3index_eq" }, "h3IndexNe": { "field": "h3IndexNe", @@ -4169,7 +4449,8 @@ "retType": "Boolean", "meosFns": [ "h3index_ne" - ] + ], + "primaryMeos": "h3index_ne" }, "h3IndexLt": { "field": "h3IndexLt", @@ -4184,7 +4465,8 @@ "retType": "Boolean", "meosFns": [ "h3index_lt" - ] + ], + "primaryMeos": "h3index_lt" }, "h3IndexLe": { "field": "h3IndexLe", @@ -4199,7 +4481,8 @@ "retType": "Boolean", "meosFns": [ "h3index_le" - ] + ], + "primaryMeos": "h3index_le" }, "h3IndexGt": { "field": "h3IndexGt", @@ -4214,7 +4497,8 @@ "retType": "Boolean", "meosFns": [ "h3index_gt" - ] + ], + "primaryMeos": "h3index_gt" }, "h3IndexGe": { "field": "h3IndexGe", @@ -4229,7 +4513,8 @@ "retType": "Boolean", "meosFns": [ "h3index_ge" - ] + ], + "primaryMeos": "h3index_ge" }, "h3IndexCmp": { "field": "h3IndexCmp", @@ -4244,7 +4529,8 @@ "retType": "Integer", "meosFns": [ "h3index_cmp" - ] + ], + "primaryMeos": "h3index_cmp" }, "h3IndexHash": { "field": "h3IndexHash", @@ -4258,7 +4544,8 @@ "retType": "Long", "meosFns": [ "h3index_hash" - ] + ], + "primaryMeos": "h3index_hash" }, "h3GridDisk": { "field": "h3GridDisk", @@ -4273,7 +4560,8 @@ "retType": "String", "meosFns": [ "h3_grid_disk" - ] + ], + "primaryMeos": "h3_grid_disk" }, "h3GridRing": { "field": "h3GridRing", @@ -4288,7 +4576,8 @@ "retType": "String", "meosFns": [ "h3_grid_ring" - ] + ], + "primaryMeos": "h3_grid_ring" }, "h3GridPathCells": { "field": "h3GridPathCells", @@ -4303,7 +4592,8 @@ "retType": "String", "meosFns": [ "h3_grid_path_cells" - ] + ], + "primaryMeos": "h3_grid_path_cells" }, "h3CellToChildren": { "field": "h3CellToChildren", @@ -4318,7 +4608,8 @@ "retType": "String", "meosFns": [ "h3_cell_to_children" - ] + ], + "primaryMeos": "h3_cell_to_children" }, "h3CompactCells": { "field": "h3CompactCells", @@ -4333,7 +4624,8 @@ "meosFns": [ "set_from_hexwkb", "h3_compact_cells" - ] + ], + "primaryMeos": "h3_compact_cells" }, "h3UncompactCells": { "field": "h3UncompactCells", @@ -4349,7 +4641,8 @@ "meosFns": [ "set_from_hexwkb", "h3_uncompact_cells" - ] + ], + "primaryMeos": "h3_uncompact_cells" }, "h3OriginToDirectedEdges": { "field": "h3OriginToDirectedEdges", @@ -4363,7 +4656,8 @@ "retType": "String", "meosFns": [ "h3_origin_to_directed_edges" - ] + ], + "primaryMeos": "h3_origin_to_directed_edges" }, "h3CellToVertexes": { "field": "h3CellToVertexes", @@ -4377,7 +4671,8 @@ "retType": "String", "meosFns": [ "h3_cell_to_vertexes" - ] + ], + "primaryMeos": "h3_cell_to_vertexes" }, "h3GetIcosahedronFaces": { "field": "h3GetIcosahedronFaces", @@ -4391,7 +4686,8 @@ "retType": "String", "meosFns": [ "h3_get_icosahedron_faces" - ] + ], + "primaryMeos": "h3_get_icosahedron_faces" }, "th3IndexFromText": { "field": "th3IndexFromText", @@ -4405,7 +4701,8 @@ "retType": "String", "meosFns": [ "th3index_in" - ] + ], + "primaryMeos": "th3index_in" }, "th3IndexInstFromText": { "field": "th3IndexInstFromText", @@ -4420,7 +4717,8 @@ "meosFns": [ "th3indexinst_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "th3IndexSeqFromText": { "field": "th3IndexSeqFromText", @@ -4436,7 +4734,8 @@ "meosFns": [ "th3indexseq_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "th3IndexSeqSetFromText": { "field": "th3IndexSeqSetFromText", @@ -4451,7 +4750,8 @@ "meosFns": [ "th3indexseqset_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "th3IndexMake": { "field": "th3IndexMake", @@ -4466,7 +4766,8 @@ "retType": "String", "meosFns": [ "th3index_make" - ] + ], + "primaryMeos": "th3index_make" }, "th3IndexInstMake": { "field": "th3IndexInstMake", @@ -4482,7 +4783,8 @@ "meosFns": [ "th3indexinst_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "th3indexinst_make" }, "th3IndexSeqMake": { "field": "th3IndexSeqMake", @@ -4501,7 +4803,8 @@ "meosFns": [ "th3indexseq_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "th3indexseq_make" }, "th3IndexSeqSetMake": { "field": "th3IndexSeqSetMake", @@ -4517,7 +4820,8 @@ "temporal_from_hexwkb", "th3indexseqset_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "th3indexseqset_make" }, "th3IndexStartValue": { "field": "th3IndexStartValue", @@ -4532,7 +4836,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_start_value" - ] + ], + "primaryMeos": "th3index_start_value" }, "th3IndexEndValue": { "field": "th3IndexEndValue", @@ -4547,7 +4852,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_end_value" - ] + ], + "primaryMeos": "th3index_end_value" }, "th3IndexValueN": { "field": "th3IndexValueN", @@ -4563,7 +4869,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_value_n" - ] + ], + "primaryMeos": "th3index_value_n" }, "th3IndexValueAtTimestamp": { "field": "th3IndexValueAtTimestamp", @@ -4580,7 +4887,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_value_at_timestamptz" - ] + ], + "primaryMeos": "th3index_value_at_timestamptz" }, "tbigintToTh3Index": { "field": "tbigintToTh3Index", @@ -4595,7 +4903,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbigint_to_th3index" - ] + ], + "primaryMeos": "tbigint_to_th3index" }, "th3IndexToTbigint": { "field": "th3IndexToTbigint", @@ -4610,7 +4919,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_to_tbigint" - ] + ], + "primaryMeos": "th3index_to_tbigint" }, "everEqH3IndexTh3Index": { "field": "everEqH3IndexTh3Index", @@ -4623,7 +4933,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everEqTh3IndexH3Index": { "field": "everEqTh3IndexH3Index", @@ -4636,7 +4947,8 @@ "Long" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everNeH3IndexTh3Index": { "field": "everNeH3IndexTh3Index", @@ -4649,7 +4961,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everNeTh3IndexH3Index": { "field": "everNeTh3IndexH3Index", @@ -4662,7 +4975,8 @@ "Long" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysEqH3IndexTh3Index": { "field": "alwaysEqH3IndexTh3Index", @@ -4675,7 +4989,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysEqTh3IndexH3Index": { "field": "alwaysEqTh3IndexH3Index", @@ -4688,7 +5003,8 @@ "Long" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysNeH3IndexTh3Index": { "field": "alwaysNeH3IndexTh3Index", @@ -4701,7 +5017,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysNeTh3IndexH3Index": { "field": "alwaysNeTh3IndexH3Index", @@ -4724,7 +5041,8 @@ "always_eq_th3index_h3index", "always_ne_h3index_th3index", "always_ne_th3index_h3index" - ] + ], + "primaryMeos": "always_ne_th3index_h3index" }, "everEqTh3IndexTh3Index": { "field": "everEqTh3IndexTh3Index", @@ -4737,7 +5055,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everNeTh3IndexTh3Index": { "field": "everNeTh3IndexTh3Index", @@ -4750,7 +5069,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysEqTh3IndexTh3Index": { "field": "alwaysEqTh3IndexTh3Index", @@ -4763,7 +5083,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysNeTh3IndexTh3Index": { "field": "alwaysNeTh3IndexTh3Index", @@ -4782,7 +5103,8 @@ "ever_ne_th3index_th3index", "always_eq_th3index_th3index", "always_ne_th3index_th3index" - ] + ], + "primaryMeos": "always_ne_th3index_th3index" }, "teqH3IndexTh3Index": { "field": "teqH3IndexTh3Index", @@ -4798,7 +5120,8 @@ "meosFns": [ "temporal_from_hexwkb", "teq_h3index_th3index" - ] + ], + "primaryMeos": "teq_h3index_th3index" }, "teqTh3IndexH3Index": { "field": "teqTh3IndexH3Index", @@ -4814,7 +5137,8 @@ "meosFns": [ "temporal_from_hexwkb", "teq_th3index_h3index" - ] + ], + "primaryMeos": "teq_th3index_h3index" }, "teqTh3IndexTh3Index": { "field": "teqTh3IndexTh3Index", @@ -4830,7 +5154,8 @@ "meosFns": [ "temporal_from_hexwkb", "teq_th3index_th3index" - ] + ], + "primaryMeos": "teq_th3index_th3index" }, "tneH3IndexTh3Index": { "field": "tneH3IndexTh3Index", @@ -4846,7 +5171,8 @@ "meosFns": [ "temporal_from_hexwkb", "tne_h3index_th3index" - ] + ], + "primaryMeos": "tne_h3index_th3index" }, "tneTh3IndexH3Index": { "field": "tneTh3IndexH3Index", @@ -4862,7 +5188,8 @@ "meosFns": [ "temporal_from_hexwkb", "tne_th3index_h3index" - ] + ], + "primaryMeos": "tne_th3index_h3index" }, "tneTh3IndexTh3Index": { "field": "tneTh3IndexTh3Index", @@ -4878,7 +5205,8 @@ "meosFns": [ "temporal_from_hexwkb", "tne_th3index_th3index" - ] + ], + "primaryMeos": "tne_th3index_th3index" }, "th3IndexGetResolution": { "field": "th3IndexGetResolution", @@ -4890,7 +5218,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexGetBaseCellNumber": { "field": "th3IndexGetBaseCellNumber", @@ -4902,7 +5231,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexIsValidCell": { "field": "th3IndexIsValidCell", @@ -4914,7 +5244,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexIsResClassIii": { "field": "th3IndexIsResClassIii", @@ -4926,7 +5257,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexIsPentagon": { "field": "th3IndexIsPentagon", @@ -4956,7 +5288,8 @@ "th3index_to_tgeogpoint", "th3index_to_tgeompoint", "th3index_cell_to_boundary" - ] + ], + "primaryMeos": "th3index_cell_to_boundary" }, "th3IndexCellToParent": { "field": "th3IndexCellToParent", @@ -4972,7 +5305,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cell_to_parent" - ] + ], + "primaryMeos": "th3index_cell_to_parent" }, "th3IndexCellToParentNext": { "field": "th3IndexCellToParentNext", @@ -4984,7 +5318,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexCellToCenterChild": { "field": "th3IndexCellToCenterChild", @@ -5000,7 +5335,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cell_to_center_child" - ] + ], + "primaryMeos": "th3index_cell_to_center_child" }, "th3IndexCellToCenterChildNext": { "field": "th3IndexCellToCenterChildNext", @@ -5012,7 +5348,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexCellToChildPos": { "field": "th3IndexCellToChildPos", @@ -5028,7 +5365,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cell_to_child_pos" - ] + ], + "primaryMeos": "th3index_cell_to_child_pos" }, "th3IndexChildPosToCell": { "field": "th3IndexChildPosToCell", @@ -5045,7 +5383,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_child_pos_to_cell" - ] + ], + "primaryMeos": "th3index_child_pos_to_cell" }, "tgeogpointToTh3Index": { "field": "tgeogpointToTh3Index", @@ -5061,7 +5400,8 @@ "meosFns": [ "temporal_from_hexwkb", "tgeogpoint_to_th3index" - ] + ], + "primaryMeos": "tgeogpoint_to_th3index" }, "tgeompointToTh3Index": { "field": "tgeompointToTh3Index", @@ -5077,7 +5417,8 @@ "meosFns": [ "temporal_from_hexwkb", "tgeompoint_to_th3index" - ] + ], + "primaryMeos": "tgeompoint_to_th3index" }, "th3IndexToTgeogpoint": { "field": "th3IndexToTgeogpoint", @@ -5089,7 +5430,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexToTgeompoint": { "field": "th3IndexToTgeompoint", @@ -5101,7 +5443,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexCellToBoundary": { "field": "th3IndexCellToBoundary", @@ -5113,7 +5456,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geomToH3Cell": { "field": "geomToH3Cell", @@ -5131,7 +5475,8 @@ "tpointinst_make", "tgeompoint_to_th3index", "th3index_start_value" - ] + ], + "primaryMeos": "th3index_start_value" }, "geoToH3IndexSet": { "field": "geoToH3IndexSet", @@ -5147,7 +5492,8 @@ "meosFns": [ "geo_from_text", "geo_to_h3index_set" - ] + ], + "primaryMeos": "geo_to_h3index_set" }, "everIntersectsH3IndexSetTh3Index": { "field": "everIntersectsH3IndexSetTh3Index", @@ -5164,7 +5510,8 @@ "set_from_hexwkb", "temporal_from_hexwkb", "ever_eq_h3indexset_th3index" - ] + ], + "primaryMeos": "ever_eq_h3indexset_th3index" }, "th3IndexAreNeighborCells": { "field": "th3IndexAreNeighborCells", @@ -5180,7 +5527,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_are_neighbor_cells" - ] + ], + "primaryMeos": "th3index_are_neighbor_cells" }, "th3IndexCellsToDirectedEdge": { "field": "th3IndexCellsToDirectedEdge", @@ -5196,7 +5544,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cells_to_directed_edge" - ] + ], + "primaryMeos": "th3index_cells_to_directed_edge" }, "th3IndexIsValidDirectedEdge": { "field": "th3IndexIsValidDirectedEdge", @@ -5208,7 +5557,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexGetDirectedEdgeOrigin": { "field": "th3IndexGetDirectedEdgeOrigin", @@ -5220,7 +5570,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexGetDirectedEdgeDestination": { "field": "th3IndexGetDirectedEdgeDestination", @@ -5232,7 +5583,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexDirectedEdgeToBoundary": { "field": "th3IndexDirectedEdgeToBoundary", @@ -5244,7 +5596,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexCellToVertex": { "field": "th3IndexCellToVertex", @@ -5260,7 +5613,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cell_to_vertex" - ] + ], + "primaryMeos": "th3index_cell_to_vertex" }, "th3IndexVertexToLatlng": { "field": "th3IndexVertexToLatlng", @@ -5272,7 +5626,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexIsValidVertex": { "field": "th3IndexIsValidVertex", @@ -5284,7 +5639,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "th3IndexGridDistance": { "field": "th3IndexGridDistance", @@ -5300,7 +5656,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_grid_distance" - ] + ], + "primaryMeos": "th3index_grid_distance" }, "th3IndexCellToLocalIj": { "field": "th3IndexCellToLocalIj", @@ -5316,7 +5673,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cell_to_local_ij" - ] + ], + "primaryMeos": "th3index_cell_to_local_ij" }, "th3IndexLocalIjToCell": { "field": "th3IndexLocalIjToCell", @@ -5332,7 +5690,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_local_ij_to_cell" - ] + ], + "primaryMeos": "th3index_local_ij_to_cell" }, "th3IndexCellArea": { "field": "th3IndexCellArea", @@ -5348,7 +5707,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_cell_area" - ] + ], + "primaryMeos": "th3index_cell_area" }, "th3IndexEdgeLength": { "field": "th3IndexEdgeLength", @@ -5364,7 +5724,8 @@ "meosFns": [ "temporal_from_hexwkb", "th3index_edge_length" - ] + ], + "primaryMeos": "th3index_edge_length" }, "tgeogpointGreatCircleDistance": { "field": "tgeogpointGreatCircleDistance", @@ -5381,7 +5742,8 @@ "meosFns": [ "temporal_from_hexwkb", "tgeogpoint_great_circle_distance" - ] + ], + "primaryMeos": "tgeogpoint_great_circle_distance" }, "abs": { "field": "abs", @@ -5396,7 +5758,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_abs" - ] + ], + "primaryMeos": "tnumber_abs" }, "ceil": { "field": "ceil", @@ -5411,7 +5774,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_ceil" - ] + ], + "primaryMeos": "tfloat_ceil" }, "floor": { "field": "floor", @@ -5426,7 +5790,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_floor" - ] + ], + "primaryMeos": "tfloat_floor" }, "exp": { "field": "exp", @@ -5441,7 +5806,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_exp" - ] + ], + "primaryMeos": "tfloat_exp" }, "ln": { "field": "ln", @@ -5456,7 +5822,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_ln" - ] + ], + "primaryMeos": "tfloat_ln" }, "log10": { "field": "log10", @@ -5471,7 +5838,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_log10" - ] + ], + "primaryMeos": "tfloat_log10" }, "radians": { "field": "radians", @@ -5486,7 +5854,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_radians" - ] + ], + "primaryMeos": "tfloat_radians" }, "derivative": { "field": "derivative", @@ -5501,7 +5870,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_derivative" - ] + ], + "primaryMeos": "temporal_derivative" }, "deltavalue": { "field": "deltavalue", @@ -5516,7 +5886,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_delta_value" - ] + ], + "primaryMeos": "tnumber_delta_value" }, "trend": { "field": "trend", @@ -5531,7 +5902,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_trend" - ] + ], + "primaryMeos": "tnumber_trend" }, "degrees": { "field": "degrees", @@ -5547,7 +5919,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_degrees" - ] + ], + "primaryMeos": "tfloat_degrees" }, "integral": { "field": "integral", @@ -5562,7 +5935,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_integral" - ] + ], + "primaryMeos": "tnumber_integral" }, "twavg": { "field": "twavg", @@ -5577,7 +5951,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_twavg" - ] + ], + "primaryMeos": "tnumber_twavg" }, "tnumber_add": { "field": "tnumber_add", @@ -5593,7 +5968,8 @@ "meosFns": [ "temporal_from_hexwkb", "add_tnumber_tnumber" - ] + ], + "primaryMeos": "add_tnumber_tnumber" }, "tnumber_sub": { "field": "tnumber_sub", @@ -5609,7 +5985,8 @@ "meosFns": [ "temporal_from_hexwkb", "sub_tnumber_tnumber" - ] + ], + "primaryMeos": "sub_tnumber_tnumber" }, "tnumber_mul": { "field": "tnumber_mul", @@ -5625,7 +6002,8 @@ "meosFns": [ "temporal_from_hexwkb", "mul_tnumber_tnumber" - ] + ], + "primaryMeos": "mul_tnumber_tnumber" }, "tnumber_div": { "field": "tnumber_div", @@ -5641,7 +6019,8 @@ "meosFns": [ "temporal_from_hexwkb", "div_tnumber_tnumber" - ] + ], + "primaryMeos": "div_tnumber_tnumber" }, "tfloatDerivative": { "field": "tfloatDerivative", @@ -5657,7 +6036,8 @@ "temporal_from_hexwkb", "temporal_derivative", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_derivative" }, "tfloatRound": { "field": "tfloatRound", @@ -5674,7 +6054,8 @@ "temporal_from_hexwkb", "temporal_round", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_round" }, "tfloatFloor": { "field": "tfloatFloor", @@ -5690,7 +6071,8 @@ "temporal_from_hexwkb", "tfloat_floor", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_floor" }, "tfloatCeil": { "field": "tfloatCeil", @@ -5706,7 +6088,8 @@ "temporal_from_hexwkb", "tfloat_ceil", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_ceil" }, "tfloatDegrees": { "field": "tfloatDegrees", @@ -5723,7 +6106,8 @@ "temporal_from_hexwkb", "tfloat_degrees", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_degrees" }, "tfloatRadians": { "field": "tfloatRadians", @@ -5739,7 +6123,8 @@ "temporal_from_hexwkb", "tfloat_radians", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_radians" }, "tnumberIntegral": { "field": "tnumberIntegral", @@ -5754,7 +6139,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_integral" - ] + ], + "primaryMeos": "tnumber_integral" }, "tnumberTwavg": { "field": "tnumberTwavg", @@ -5769,7 +6155,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_twavg" - ] + ], + "primaryMeos": "tnumber_twavg" }, "tnumberTrend": { "field": "tnumberTrend", @@ -5785,7 +6172,8 @@ "temporal_from_hexwkb", "tnumber_trend", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_trend" }, "tpointLength": { "field": "tpointLength", @@ -5800,7 +6188,8 @@ "meosFns": [ "temporal_from_hexwkb", "tpoint_length" - ] + ], + "primaryMeos": "tpoint_length" }, "tpointSpeed": { "field": "tpointSpeed", @@ -5816,7 +6205,8 @@ "temporal_from_hexwkb", "tpoint_speed", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_speed" }, "tpointAzimuth": { "field": "tpointAzimuth", @@ -5832,7 +6222,8 @@ "temporal_from_hexwkb", "tpoint_azimuth", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_azimuth" }, "tpointDirection": { "field": "tpointDirection", @@ -5848,7 +6239,8 @@ "temporal_from_hexwkb", "tpoint_direction", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_direction" }, "tpointCumulativeLength": { "field": "tpointCumulativeLength", @@ -5864,7 +6256,8 @@ "temporal_from_hexwkb", "tpoint_cumulative_length", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_cumulative_length" }, "tgeoTraversedArea": { "field": "tgeoTraversedArea", @@ -5880,7 +6273,8 @@ "temporal_from_hexwkb", "tgeo_traversed_area", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_traversed_area" }, "span_union": { "field": "spanUnion", @@ -5896,7 +6290,8 @@ "meosFns": [ "span_from_hexwkb", "super_union_span_span" - ] + ], + "primaryMeos": "super_union_span_span" }, "span_minus": { "field": "spanMinus", @@ -5912,7 +6307,8 @@ "meosFns": [ "span_from_hexwkb", "minus_span_span" - ] + ], + "primaryMeos": "minus_span_span" }, "span_intersection": { "field": "spanIntersection", @@ -5928,7 +6324,8 @@ "meosFns": [ "span_from_hexwkb", "intersection_span_span" - ] + ], + "primaryMeos": "intersection_span_span" }, "spanset_union": { "field": "spansetUnion", @@ -5944,7 +6341,8 @@ "meosFns": [ "spanset_from_hexwkb", "union_spanset_spanset" - ] + ], + "primaryMeos": "union_spanset_spanset" }, "spanset_minus": { "field": "spansetMinus", @@ -5960,7 +6358,8 @@ "meosFns": [ "spanset_from_hexwkb", "minus_spanset_spanset" - ] + ], + "primaryMeos": "minus_spanset_spanset" }, "spanset_intersection": { "field": "spansetIntersection", @@ -5976,7 +6375,8 @@ "meosFns": [ "spanset_from_hexwkb", "intersection_spanset_spanset" - ] + ], + "primaryMeos": "intersection_spanset_spanset" }, "spann": { "field": "spann", @@ -5992,7 +6392,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_span_n" - ] + ], + "primaryMeos": "spanset_span_n" }, "startSpan": { "field": "startSpan", @@ -6007,7 +6408,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_start_span" - ] + ], + "primaryMeos": "spanset_start_span" }, "endSpan": { "field": "endSpan", @@ -6022,7 +6424,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_end_span" - ] + ], + "primaryMeos": "spanset_end_span" }, "numSpans": { "field": "numSpans", @@ -6037,7 +6440,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_num_spans" - ] + ], + "primaryMeos": "spanset_num_spans" }, "setUnion": { "field": "setUnion", @@ -6053,7 +6457,8 @@ "meosFns": [ "union_set_set", "set_as_hexwkb" - ] + ], + "primaryMeos": "union_set_set" }, "setMinus": { "field": "setMinus", @@ -6069,7 +6474,8 @@ "meosFns": [ "minus_set_set", "set_as_hexwkb" - ] + ], + "primaryMeos": "minus_set_set" }, "setIntersection": { "field": "setIntersection", @@ -6085,7 +6491,8 @@ "meosFns": [ "intersection_set_set", "set_as_hexwkb" - ] + ], + "primaryMeos": "intersection_set_set" }, "tbox_union": { "field": "tboxUnion", @@ -6101,7 +6508,8 @@ "meosFns": [ "tbox_from_hexwkb", "union_tbox_tbox" - ] + ], + "primaryMeos": "union_tbox_tbox" }, "tbox_intersection": { "field": "tboxIntersection", @@ -6117,7 +6525,8 @@ "meosFns": [ "tbox_from_hexwkb", "intersection_tbox_tbox" - ] + ], + "primaryMeos": "intersection_tbox_tbox" }, "stbox_union": { "field": "stboxUnion", @@ -6133,7 +6542,8 @@ "meosFns": [ "stbox_from_hexwkb", "union_stbox_stbox" - ] + ], + "primaryMeos": "union_stbox_stbox" }, "stbox_intersection": { "field": "stboxIntersection", @@ -6149,7 +6559,8 @@ "meosFns": [ "stbox_from_hexwkb", "intersection_stbox_stbox" - ] + ], + "primaryMeos": "intersection_stbox_stbox" }, "bigintSpan": { "field": "bigintSpan", @@ -6164,7 +6575,8 @@ "meosFns": [ "tbox_from_hexwkb", "tbox_to_bigintspan" - ] + ], + "primaryMeos": "tbox_to_bigintspan" }, "atTbox": { "field": "atTbox", @@ -6182,7 +6594,8 @@ "tbox_from_hexwkb", "tnumber_at_tbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_at_tbox" }, "minusTbox": { "field": "minusTbox", @@ -6200,7 +6613,8 @@ "tbox_from_hexwkb", "tnumber_minus_tbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_minus_tbox" }, "span_distance": { "field": "spanDistance", @@ -6216,7 +6630,8 @@ "meosFns": [ "span_from_hexwkb", "distance_floatspan_floatspan" - ] + ], + "primaryMeos": "distance_floatspan_floatspan" }, "spanset_distance": { "field": "spansetDistance", @@ -6232,7 +6647,8 @@ "meosFns": [ "spanset_from_hexwkb", "distance_floatspanset_floatspanset" - ] + ], + "primaryMeos": "distance_floatspanset_floatspanset" }, "set_distance": { "field": "setDistance", @@ -6248,7 +6664,8 @@ "meosFns": [ "set_from_hexwkb", "distance_floatset_floatset" - ] + ], + "primaryMeos": "distance_floatset_floatset" }, "time_distance": { "field": "timeDistanceSpan", @@ -6264,7 +6681,8 @@ "meosFns": [ "span_from_hexwkb", "distance_tstzspan_tstzspan" - ] + ], + "primaryMeos": "distance_tstzspan_tstzspan" }, "time_distance_spanset": { "field": "timeDistanceSpanset", @@ -6280,7 +6698,8 @@ "meosFns": [ "spanset_from_hexwkb", "distance_tstzspanset_tstzspanset" - ] + ], + "primaryMeos": "distance_tstzspanset_tstzspanset" }, "startValue": { "field": "startValue", @@ -6296,7 +6715,8 @@ "temporal_from_hexwkb", "trgeometry_start_value", "geo_as_text" - ] + ], + "primaryMeos": "trgeometry_start_value" }, "endValue": { "field": "endValue", @@ -6312,7 +6732,8 @@ "temporal_from_hexwkb", "trgeometry_end_value", "geo_as_text" - ] + ], + "primaryMeos": "trgeometry_end_value" }, "valueN": { "field": "valueN", @@ -6329,7 +6750,8 @@ "temporal_from_hexwkb", "trgeometry_value_n", "geo_as_text" - ] + ], + "primaryMeos": "trgeometry_value_n" }, "minusValue": { "field": "minusValue", @@ -6347,7 +6769,8 @@ "cbuffer_from_hexwkb", "tcbuffer_minus_cbuffer", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tcbuffer_minus_cbuffer" }, "minusValues": { "field": "minusValues", @@ -6365,7 +6788,8 @@ "set_from_hexwkb", "temporal_minus_values", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_values" }, "atValue": { "field": "atValue", @@ -6384,7 +6808,8 @@ "tcbuffer_at_cbuffer", "temporal_as_hexwkb", "temporal_timestamps" - ] + ], + "primaryMeos": "temporal_timestamps" }, "traversedArea": { "field": "traversedArea", @@ -6401,7 +6826,8 @@ "temporal_from_hexwkb", "tgeo_traversed_area", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_traversed_area" }, "getSpace": { "field": "getSpace", @@ -6417,7 +6843,8 @@ "stbox_from_hexwkb", "stbox_get_space", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_get_space" }, "tprecision": { "field": "tprecision", @@ -6435,7 +6862,8 @@ "pg_interval_in", "temporal_tprecision", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_tprecision" }, "tsample": { "field": "tsample", @@ -6454,7 +6882,8 @@ "pg_interval_in", "temporal_tsample", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_tsample" }, "tboolInst": { "field": "tboolInst", @@ -6470,7 +6899,8 @@ "meosFns": [ "tboolinst_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tboolinst_make" }, "tintInst": { "field": "tintInst", @@ -6486,7 +6916,8 @@ "meosFns": [ "tintinst_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tintinst_make" }, "tfloatInst": { "field": "tfloatInst", @@ -6502,7 +6933,8 @@ "meosFns": [ "tfloatinst_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloatinst_make" }, "ttextInst": { "field": "ttextInst", @@ -6522,7 +6954,8 @@ "temporal_from_hexwkb", "temporal_to_tsequence", "temporal_to_tsequenceset" - ] + ], + "primaryMeos": "temporal_to_tsequenceset" }, "tgeompointInst": { "field": "tgeompointInst", @@ -6539,7 +6972,8 @@ "geo_from_text", "tpointinst_make", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpointinst_make" }, "tgeogpointInst": { "field": "tgeogpointInst", @@ -6552,7 +6986,8 @@ "Timestamp" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryInst": { "field": "tgeometryInst", @@ -6568,7 +7003,8 @@ "meosFns": [ "geo_from_text", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tgeographyInst": { "field": "tgeographyInst", @@ -6581,7 +7017,8 @@ "Timestamp" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboolSeq": { "field": "tboolSeq", @@ -6593,7 +7030,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tintSeq": { "field": "tintSeq", @@ -6605,7 +7043,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tfloatSeq": { "field": "tfloatSeq", @@ -6617,7 +7056,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextSeq": { "field": "ttextSeq", @@ -6629,7 +7069,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointSeq": { "field": "tgeompointSeq", @@ -6641,7 +7082,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointSeq": { "field": "tgeogpointSeq", @@ -6653,7 +7095,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometrySeq": { "field": "tgeometrySeq", @@ -6665,7 +7108,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographySeq": { "field": "tgeographySeq", @@ -6677,7 +7121,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboolSeqSet": { "field": "tboolSeqSet", @@ -6689,7 +7134,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tintSeqSet": { "field": "tintSeqSet", @@ -6701,7 +7147,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tfloatSeqSet": { "field": "tfloatSeqSet", @@ -6713,7 +7160,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextSeqSet": { "field": "ttextSeqSet", @@ -6725,7 +7173,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointSeqSet": { "field": "tgeompointSeqSet", @@ -6737,7 +7186,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointSeqSet": { "field": "tgeogpointSeqSet", @@ -6749,7 +7199,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometrySeqSet": { "field": "tgeometrySeqSet", @@ -6761,7 +7212,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographySeqSet": { "field": "tgeographySeqSet", @@ -6773,7 +7225,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tempSubtype": { "field": "tempSubtype", @@ -6788,7 +7241,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_subtype" - ] + ], + "primaryMeos": "temporal_subtype" }, "memSize": { "field": "memSize", @@ -6802,7 +7256,8 @@ "retType": "Integer", "meosFns": [ "temporal_from_hexwkb" - ] + ], + "primaryMeos": "temporal_from_hexwkb" }, "getTime": { "field": "getTime", @@ -6818,7 +7273,8 @@ "temporal_from_hexwkb", "temporal_time", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "temporal_time" }, "deleteTime": { "field": "deleteTime", @@ -6835,7 +7291,8 @@ "temporal_from_hexwkb", "temporal_delete_timestamptz", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_delete_timestamptz" }, "beforeTimestamp": { "field": "beforeTimestamp", @@ -6851,7 +7308,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "afterTimestamp": { "field": "afterTimestamp", @@ -6867,7 +7325,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "temporalToTInstant": { "field": "temporalToTInstant", @@ -6883,7 +7342,8 @@ "temporal_from_hexwkb", "temporal_to_tinstant", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tinstant" }, "temporalToTSequence": { "field": "temporalToTSequence", @@ -6900,7 +7360,8 @@ "temporal_from_hexwkb", "temporal_to_tsequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequence" }, "temporalToTSequenceSet": { "field": "temporalToTSequenceSet", @@ -6917,7 +7378,8 @@ "temporal_from_hexwkb", "temporal_to_tsequenceset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequenceset" }, "temporalSetInterp": { "field": "temporalSetInterp", @@ -6934,7 +7396,8 @@ "temporal_from_hexwkb", "temporal_set_interp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_set_interp" }, "tfloatToTint": { "field": "tfloatToTint", @@ -6950,7 +7413,8 @@ "temporal_from_hexwkb", "tfloat_to_tint", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_to_tint" }, "tintToTfloat": { "field": "tintToTfloat", @@ -6966,7 +7430,8 @@ "temporal_from_hexwkb", "tint_to_tfloat", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_to_tfloat" }, "tintShiftValue": { "field": "tintShiftValue", @@ -6983,7 +7448,8 @@ "temporal_from_hexwkb", "tint_shift_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_shift_value" }, "tintScaleValue": { "field": "tintScaleValue", @@ -7000,7 +7466,8 @@ "temporal_from_hexwkb", "tint_scale_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_scale_value" }, "tintShiftScaleValue": { "field": "tintShiftScaleValue", @@ -7018,7 +7485,8 @@ "temporal_from_hexwkb", "tint_shift_scale_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_shift_scale_value" }, "tfloatShiftValue": { "field": "tfloatShiftValue", @@ -7035,7 +7503,8 @@ "temporal_from_hexwkb", "tfloat_shift_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_shift_value" }, "tfloatScaleValue": { "field": "tfloatScaleValue", @@ -7052,7 +7521,8 @@ "temporal_from_hexwkb", "tfloat_scale_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_scale_value" }, "tfloatShiftScaleValue": { "field": "tfloatShiftScaleValue", @@ -7070,7 +7540,8 @@ "temporal_from_hexwkb", "tfloat_shift_scale_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_shift_scale_value" }, "temporalShiftTime": { "field": "temporalShiftTime", @@ -7088,7 +7559,8 @@ "pg_interval_in", "temporal_shift_time", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_shift_time" }, "temporalScaleTime": { "field": "temporalScaleTime", @@ -7106,7 +7578,8 @@ "pg_interval_in", "temporal_scale_time", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_scale_time" }, "temporalShiftScaleTime": { "field": "temporalShiftScaleTime", @@ -7125,7 +7598,8 @@ "pg_interval_in", "temporal_shift_scale_time", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_shift_scale_time" }, "tpointSetSrid": { "field": "tpointSetSrid", @@ -7142,7 +7616,8 @@ "temporal_from_hexwkb", "tspatial_set_srid", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tspatial_set_srid" }, "temporalSimplifyDp": { "field": "temporalSimplifyDp", @@ -7159,7 +7634,8 @@ "temporal_from_hexwkb", "temporal_simplify_dp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_dp" }, "temporalSimplifyMaxDist": { "field": "temporalSimplifyMaxDist", @@ -7176,7 +7652,8 @@ "temporal_from_hexwkb", "temporal_simplify_max_dist", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_max_dist" }, "temporalSimplifyMinDist": { "field": "temporalSimplifyMinDist", @@ -7193,7 +7670,8 @@ "temporal_from_hexwkb", "temporal_simplify_min_dist", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_min_dist" }, "temporalSimplifyMinTdelta": { "field": "temporalSimplifyMinTdelta", @@ -7211,7 +7689,8 @@ "pg_interval_in", "temporal_simplify_min_tdelta", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_min_tdelta" }, "temporalTPrecision": { "field": "temporalTPrecision", @@ -7229,7 +7708,8 @@ "pg_interval_in", "temporal_tprecision", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_tprecision" }, "temporalTSample": { "field": "temporalTSample", @@ -7248,7 +7728,8 @@ "pg_interval_in", "temporal_tsample", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_tsample" }, "tpointTrajectory": { "field": "tpointTrajectory", @@ -7264,7 +7745,8 @@ "temporal_from_hexwkb", "tpoint_trajectory", "geo_as_text" - ] + ], + "primaryMeos": "tpoint_trajectory" }, "floatsetCeil": { "field": "floatsetCeil", @@ -7280,7 +7762,8 @@ "set_from_hexwkb", "floatset_ceil", "set_as_hexwkb" - ] + ], + "primaryMeos": "floatset_ceil" }, "floatsetFloor": { "field": "floatsetFloor", @@ -7296,7 +7779,8 @@ "set_from_hexwkb", "floatset_floor", "set_as_hexwkb" - ] + ], + "primaryMeos": "floatset_floor" }, "floatsetDegrees": { "field": "floatsetDegrees", @@ -7312,7 +7796,8 @@ "set_from_hexwkb", "floatset_degrees", "set_as_hexwkb" - ] + ], + "primaryMeos": "floatset_degrees" }, "floatsetRadians": { "field": "floatsetRadians", @@ -7328,7 +7813,8 @@ "set_from_hexwkb", "floatset_radians", "set_as_hexwkb" - ] + ], + "primaryMeos": "floatset_radians" }, "textsetLower": { "field": "textsetLower", @@ -7344,7 +7830,8 @@ "set_from_hexwkb", "textset_lower", "set_as_hexwkb" - ] + ], + "primaryMeos": "textset_lower" }, "textsetUpper": { "field": "textsetUpper", @@ -7360,7 +7847,8 @@ "set_from_hexwkb", "textset_upper", "set_as_hexwkb" - ] + ], + "primaryMeos": "textset_upper" }, "textsetInitcap": { "field": "textsetInitcap", @@ -7376,7 +7864,8 @@ "set_from_hexwkb", "textset_initcap", "set_as_hexwkb" - ] + ], + "primaryMeos": "textset_initcap" }, "intspanShiftScale": { "field": "intspanShiftScale", @@ -7394,7 +7883,8 @@ "span_from_hexwkb", "intspan_shift_scale", "span_as_hexwkb" - ] + ], + "primaryMeos": "intspan_shift_scale" }, "floatspanShiftScale": { "field": "floatspanShiftScale", @@ -7412,7 +7902,8 @@ "span_from_hexwkb", "floatspan_shift_scale", "span_as_hexwkb" - ] + ], + "primaryMeos": "floatspan_shift_scale" }, "intspansetShiftScale": { "field": "intspansetShiftScale", @@ -7430,7 +7921,8 @@ "spanset_from_hexwkb", "intspanset_shift_scale", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "intspanset_shift_scale" }, "floatspansetShiftScale": { "field": "floatspansetShiftScale", @@ -7448,7 +7940,8 @@ "spanset_from_hexwkb", "floatspanset_shift_scale", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "floatspanset_shift_scale" }, "floatspansetCeil": { "field": "floatspansetCeil", @@ -7464,7 +7957,8 @@ "spanset_from_hexwkb", "floatspanset_ceil", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "floatspanset_ceil" }, "floatspansetFloor": { "field": "floatspansetFloor", @@ -7480,7 +7974,8 @@ "spanset_from_hexwkb", "floatspanset_floor", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "floatspanset_floor" }, "floatspansetRound": { "field": "floatspansetRound", @@ -7497,7 +7992,8 @@ "spanset_from_hexwkb", "floatspanset_round", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "floatspanset_round" }, "intspansetToFloat": { "field": "intspansetToFloat", @@ -7513,7 +8009,8 @@ "spanset_from_hexwkb", "intspanset_to_floatspanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "intspanset_to_floatspanset" }, "floatspansetToInt": { "field": "floatspansetToInt", @@ -7529,7 +8026,8 @@ "spanset_from_hexwkb", "floatspanset_to_intspanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "floatspanset_to_intspanset" }, "douglasPeuckerSimplify": { "field": "temporalSimplifyDp", @@ -7546,7 +8044,8 @@ "temporal_from_hexwkb", "temporal_simplify_dp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_dp" }, "maxDistSimplify": { "field": "temporalSimplifyMaxDist", @@ -7563,7 +8062,8 @@ "temporal_from_hexwkb", "temporal_simplify_max_dist", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_max_dist" }, "minDistSimplify": { "field": "temporalSimplifyMinDist", @@ -7580,7 +8080,8 @@ "temporal_from_hexwkb", "temporal_simplify_min_dist", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_min_dist" }, "minTimeDeltaSimplify": { "field": "temporalSimplifyMinTdelta", @@ -7598,7 +8099,8 @@ "pg_interval_in", "temporal_simplify_min_tdelta", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_simplify_min_tdelta" }, "intspanset": { "field": "floatspansetToInt", @@ -7614,7 +8116,8 @@ "spanset_from_hexwkb", "floatspanset_to_intspanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "floatspanset_to_intspanset" }, "floatspanset": { "field": "intspansetToFloat", @@ -7630,7 +8133,8 @@ "spanset_from_hexwkb", "intspanset_to_floatspanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "intspanset_to_floatspanset" }, "shiftScale": { "field": "floatspanShiftScale", @@ -7648,7 +8152,8 @@ "span_from_hexwkb", "floatspan_shift_scale", "span_as_hexwkb" - ] + ], + "primaryMeos": "floatspan_shift_scale" }, "dateset": { "field": "tstzsetToDateset", @@ -7664,7 +8169,8 @@ "set_from_hexwkb", "tstzset_to_dateset", "set_as_hexwkb" - ] + ], + "primaryMeos": "tstzset_to_dateset" }, "tstzset": { "field": "tstzset", @@ -7679,7 +8185,8 @@ "meosFns": [ "tstzset_in", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "span": { "field": "temporalToTstzspan", @@ -7695,7 +8202,8 @@ "temporal_from_hexwkb", "temporal_to_tstzspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tstzspan" }, "spanset": { "field": "spanToSpanset", @@ -7711,7 +8219,8 @@ "span_from_hexwkb", "span_to_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "span_to_spanset" }, "getTimeTile": { "field": "getTimeTile", @@ -7728,7 +8237,8 @@ "meosFns": [ "pg_interval_in", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "getSpaceTile": { "field": "getSpaceTile", @@ -7747,7 +8257,8 @@ "meosFns": [ "geo_from_text", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "getSpaceTimeTile": { "field": "getSpaceTimeTile", @@ -7770,7 +8281,8 @@ "geo_from_text", "pg_interval_in", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "getStboxTimeTile": { "field": "getTimeTile", @@ -7787,7 +8299,8 @@ "meosFns": [ "pg_interval_in", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "getValueTile": { "field": "getValueTileFloat", @@ -7803,7 +8316,8 @@ "retType": "String", "meosFns": [ "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "getTBoxTimeTile": { "field": "getTBoxTimeTile", @@ -7824,7 +8338,8 @@ "geo_as_hexewkb", "stbox_from_hexwkb", "geo_as_text" - ] + ], + "primaryMeos": "geo_as_hexewkb" }, "tnumberAdjacentTnumber": { "field": "tnumberAdjacentTnumber", @@ -7837,7 +8352,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberContainsTnumber": { "field": "tnumberContainsTnumber", @@ -7850,7 +8366,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberContainedTnumber": { "field": "tnumberContainedTnumber", @@ -7863,7 +8380,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverlapsTnumber": { "field": "tnumberOverlapsTnumber", @@ -7876,7 +8394,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberSameTnumber": { "field": "tnumberSameTnumber", @@ -7889,7 +8408,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "numspanAdjacentTnumber": { "field": "numspanAdjacentTnumber", @@ -7902,7 +8422,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "numspanContainsTnumber": { "field": "numspanContainsTnumber", @@ -7915,7 +8436,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "numspanContainedTnumber": { "field": "numspanContainedTnumber", @@ -7928,7 +8450,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "numspanOverlapsTnumber": { "field": "numspanOverlapsTnumber", @@ -7941,7 +8464,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "numspanSameTnumber": { "field": "numspanSameTnumber", @@ -7954,7 +8478,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberAdjacentNumspan": { "field": "tnumberAdjacentNumspan", @@ -7967,7 +8492,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberContainsNumspan": { "field": "tnumberContainsNumspan", @@ -7980,7 +8506,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberContainedNumspan": { "field": "tnumberContainedNumspan", @@ -7993,7 +8520,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverlapsNumspan": { "field": "tnumberOverlapsNumspan", @@ -8006,7 +8534,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberSameNumspan": { "field": "tnumberSameNumspan", @@ -8019,7 +8548,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspanAdjacentTemporal": { "field": "tstzspanAdjacentTemporal", @@ -8032,7 +8562,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspanContainsTemporal": { "field": "tstzspanContainsTemporal", @@ -8045,7 +8576,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspanContainedTemporal": { "field": "tstzspanContainedTemporal", @@ -8058,7 +8590,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspanOverlapsTemporal": { "field": "tstzspanOverlapsTemporal", @@ -8071,7 +8604,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspanSameTemporal": { "field": "tstzspanSameTemporal", @@ -8084,7 +8618,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalAdjacentTstzspan": { "field": "temporalAdjacentTstzspan", @@ -8097,7 +8632,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalContainsTstzspan": { "field": "temporalContainsTstzspan", @@ -8110,7 +8646,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalContainedTstzspan": { "field": "temporalContainedTstzspan", @@ -8123,7 +8660,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalOverlapsTstzspan": { "field": "temporalOverlapsTstzspan", @@ -8136,7 +8674,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalSameTstzspan": { "field": "temporalSameTstzspan", @@ -8149,7 +8688,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatBucket": { "field": "floatBucket", @@ -8163,7 +8703,8 @@ "Double" ], "retType": "Double", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "intBucket": { "field": "intBucket", @@ -8177,7 +8718,8 @@ "Integer" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalAtTstzspan": { "field": "temporalAtTstzspan", @@ -8195,7 +8737,8 @@ "span_from_hexwkb", "temporal_at_tstzspan", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_tstzspan" }, "temporalAtTstzspanset": { "field": "temporalAtTstzspanset", @@ -8213,7 +8756,8 @@ "spanset_from_hexwkb", "temporal_at_tstzspanset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_tstzspanset" }, "temporalAtTstzset": { "field": "temporalAtTstzset", @@ -8231,7 +8775,8 @@ "set_from_hexwkb", "temporal_at_tstzset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_tstzset" }, "temporalMinusTstzset": { "field": "temporalMinusTstzset", @@ -8249,7 +8794,8 @@ "set_from_hexwkb", "temporal_minus_tstzset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_tstzset" }, "temporalMinusTstzspan": { "field": "temporalMinusTstzspan", @@ -8267,7 +8813,8 @@ "span_from_hexwkb", "temporal_minus_tstzspan", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_tstzspan" }, "temporalMinusTstzspanset": { "field": "temporalMinusTstzspanset", @@ -8285,7 +8832,8 @@ "spanset_from_hexwkb", "temporal_minus_tstzspanset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_tstzspanset" }, "temporalAtTimestamptz": { "field": "temporalAtTimestamptz", @@ -8302,7 +8850,8 @@ "temporal_from_hexwkb", "temporal_at_timestamptz", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_timestamptz" }, "temporalMinusTimestamptz": { "field": "temporalMinusTimestamptz", @@ -8319,7 +8868,8 @@ "temporal_from_hexwkb", "temporal_minus_timestamptz", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_timestamptz" }, "temporalDeleteTstzspan": { "field": "temporalDeleteTstzspan", @@ -8337,7 +8887,8 @@ "span_from_hexwkb", "temporal_delete_tstzspan", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_delete_tstzspan" }, "temporalDeleteTstzspanset": { "field": "temporalDeleteTstzspanset", @@ -8355,7 +8906,8 @@ "spanset_from_hexwkb", "temporal_delete_tstzspanset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_delete_tstzspanset" }, "temporalDeleteTstzset": { "field": "temporalDeleteTstzset", @@ -8373,7 +8925,8 @@ "set_from_hexwkb", "temporal_delete_tstzset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_delete_tstzset" }, "temporalDeleteTimestamptz": { "field": "temporalDeleteTimestamptz", @@ -8390,7 +8943,8 @@ "temporal_from_hexwkb", "temporal_delete_timestamptz", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_delete_timestamptz" }, "tfloatAtValue": { "field": "tfloatAtValue", @@ -8407,7 +8961,8 @@ "temporal_from_hexwkb", "tfloat_at_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_at_value" }, "tfloatMinusValue": { "field": "tfloatMinusValue", @@ -8424,7 +8979,8 @@ "temporal_from_hexwkb", "tfloat_minus_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_minus_value" }, "tintAtValue": { "field": "tintAtValue", @@ -8441,7 +8997,8 @@ "temporal_from_hexwkb", "tint_at_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_at_value" }, "tintMinusValue": { "field": "tintMinusValue", @@ -8458,7 +9015,8 @@ "temporal_from_hexwkb", "tint_minus_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_minus_value" }, "tnumberAtSpan": { "field": "tnumberAtSpan", @@ -8476,7 +9034,8 @@ "span_from_hexwkb", "tnumber_at_span", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_at_span" }, "tnumberMinusSpan": { "field": "tnumberMinusSpan", @@ -8494,7 +9053,8 @@ "span_from_hexwkb", "tnumber_minus_span", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_minus_span" }, "tnumberAtSpanset": { "field": "tnumberAtSpanset", @@ -8512,7 +9072,8 @@ "spanset_from_hexwkb", "tnumber_at_spanset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_at_spanset" }, "tnumberMinusSpanset": { "field": "tnumberMinusSpanset", @@ -8530,7 +9091,8 @@ "spanset_from_hexwkb", "tnumber_minus_spanset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_minus_spanset" }, "tboolAtValue": { "field": "tboolAtValue", @@ -8547,7 +9109,8 @@ "temporal_from_hexwkb", "tbool_at_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tbool_at_value" }, "tboolMinusValue": { "field": "tboolMinusValue", @@ -8564,7 +9127,8 @@ "temporal_from_hexwkb", "tbool_minus_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tbool_minus_value" }, "ttextAtValue": { "field": "ttextAtValue", @@ -8582,7 +9146,8 @@ "cstring2text", "ttext_at_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "ttext_at_value" }, "ttextMinusValue": { "field": "ttextMinusValue", @@ -8600,7 +9165,8 @@ "cstring2text", "ttext_minus_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "ttext_minus_value" }, "tpointAtValue": { "field": "tpointAtValue", @@ -8618,7 +9184,8 @@ "geo_from_text", "tpoint_at_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_at_value" }, "tpointMinusValue": { "field": "tpointMinusValue", @@ -8636,7 +9203,8 @@ "geo_from_text", "tpoint_minus_value", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_minus_value" }, "tgeoAtStbox": { "field": "tgeoAtStbox", @@ -8654,7 +9222,8 @@ "stbox_from_hexwkb", "tgeo_at_stbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_at_stbox" }, "tgeoMinusStbox": { "field": "tgeoMinusStbox", @@ -8672,7 +9241,8 @@ "stbox_from_hexwkb", "tgeo_minus_stbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_minus_stbox" }, "tpointAtElevation": { "field": "tpointAtElevation", @@ -8690,7 +9260,8 @@ "span_from_hexwkb", "tpoint_at_elevation", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_at_elevation" }, "tpointMinusElevation": { "field": "tpointMinusElevation", @@ -8708,7 +9279,8 @@ "span_from_hexwkb", "tpoint_minus_elevation", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_minus_elevation" }, "temporalAtMax": { "field": "temporalAtMax", @@ -8724,7 +9296,8 @@ "temporal_from_hexwkb", "temporal_at_max", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_max" }, "temporalAtMin": { "field": "temporalAtMin", @@ -8740,7 +9313,8 @@ "temporal_from_hexwkb", "temporal_at_min", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_min" }, "temporalAtValues": { "field": "temporalAtValues", @@ -8758,7 +9332,8 @@ "set_from_hexwkb", "temporal_at_values", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_values" }, "temporalMinusValues": { "field": "temporalMinusValues", @@ -8776,7 +9351,8 @@ "set_from_hexwkb", "temporal_minus_values", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_values" }, "tgeoAtGeom": { "field": "tgeoAtGeom", @@ -8794,7 +9370,8 @@ "geo_from_text", "tgeo_at_geom", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_at_geom" }, "tgeoMinusGeom": { "field": "tgeoMinusGeom", @@ -8812,7 +9389,8 @@ "geo_from_text", "tgeo_minus_geom", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_minus_geom" }, "temporalEq": { "field": "temporalEq", @@ -8827,7 +9405,8 @@ "retType": "Boolean", "meosFns": [ "temporal_eq" - ] + ], + "primaryMeos": "temporal_eq" }, "temporalNe": { "field": "temporalNe", @@ -8842,7 +9421,8 @@ "retType": "Boolean", "meosFns": [ "temporal_ne" - ] + ], + "primaryMeos": "temporal_ne" }, "temporalLt": { "field": "temporalLt", @@ -8857,7 +9437,8 @@ "retType": "Boolean", "meosFns": [ "temporal_lt" - ] + ], + "primaryMeos": "temporal_lt" }, "temporalLe": { "field": "temporalLe", @@ -8872,7 +9453,8 @@ "retType": "Boolean", "meosFns": [ "temporal_le" - ] + ], + "primaryMeos": "temporal_le" }, "temporalGt": { "field": "temporalGt", @@ -8887,7 +9469,8 @@ "retType": "Boolean", "meosFns": [ "temporal_gt" - ] + ], + "primaryMeos": "temporal_gt" }, "temporalGe": { "field": "temporalGe", @@ -8902,7 +9485,8 @@ "retType": "Boolean", "meosFns": [ "temporal_ge" - ] + ], + "primaryMeos": "temporal_ge" }, "everEqTintInt": { "field": "everEqTintInt", @@ -8917,7 +9501,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_tint_int" - ] + ], + "primaryMeos": "ever_eq_tint_int" }, "everEqTfloatFloat": { "field": "everEqTfloatFloat", @@ -8932,7 +9517,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_tfloat_float" - ] + ], + "primaryMeos": "ever_eq_tfloat_float" }, "everEqTemporal": { "field": "everEqTemporal", @@ -8947,7 +9533,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_temporal_temporal" - ] + ], + "primaryMeos": "ever_eq_temporal_temporal" }, "everLtTintInt": { "field": "everLtTintInt", @@ -8962,7 +9549,8 @@ "retType": "Boolean", "meosFns": [ "ever_lt_tint_int" - ] + ], + "primaryMeos": "ever_lt_tint_int" }, "everLtTfloatFloat": { "field": "everLtTfloatFloat", @@ -8977,7 +9565,8 @@ "retType": "Boolean", "meosFns": [ "ever_lt_tfloat_float" - ] + ], + "primaryMeos": "ever_lt_tfloat_float" }, "everLtTemporal": { "field": "everLtTemporal", @@ -8992,7 +9581,8 @@ "retType": "Boolean", "meosFns": [ "ever_lt_temporal_temporal" - ] + ], + "primaryMeos": "ever_lt_temporal_temporal" }, "everLeTintInt": { "field": "everLeTintInt", @@ -9007,7 +9597,8 @@ "retType": "Boolean", "meosFns": [ "ever_le_tint_int" - ] + ], + "primaryMeos": "ever_le_tint_int" }, "everLeTfloatFloat": { "field": "everLeTfloatFloat", @@ -9022,7 +9613,8 @@ "retType": "Boolean", "meosFns": [ "ever_le_tfloat_float" - ] + ], + "primaryMeos": "ever_le_tfloat_float" }, "everLeTemporal": { "field": "everLeTemporal", @@ -9037,7 +9629,8 @@ "retType": "Boolean", "meosFns": [ "ever_le_temporal_temporal" - ] + ], + "primaryMeos": "ever_le_temporal_temporal" }, "everGtTintInt": { "field": "everGtTintInt", @@ -9052,7 +9645,8 @@ "retType": "Boolean", "meosFns": [ "ever_gt_tint_int" - ] + ], + "primaryMeos": "ever_gt_tint_int" }, "everGtTfloatFloat": { "field": "everGtTfloatFloat", @@ -9067,7 +9661,8 @@ "retType": "Boolean", "meosFns": [ "ever_gt_tfloat_float" - ] + ], + "primaryMeos": "ever_gt_tfloat_float" }, "everGtTemporal": { "field": "everGtTemporal", @@ -9082,7 +9677,8 @@ "retType": "Boolean", "meosFns": [ "ever_gt_temporal_temporal" - ] + ], + "primaryMeos": "ever_gt_temporal_temporal" }, "everGeTintInt": { "field": "everGeTintInt", @@ -9097,7 +9693,8 @@ "retType": "Boolean", "meosFns": [ "ever_ge_tint_int" - ] + ], + "primaryMeos": "ever_ge_tint_int" }, "everGeTfloatFloat": { "field": "everGeTfloatFloat", @@ -9112,7 +9709,8 @@ "retType": "Boolean", "meosFns": [ "ever_ge_tfloat_float" - ] + ], + "primaryMeos": "ever_ge_tfloat_float" }, "everGeTemporal": { "field": "everGeTemporal", @@ -9127,7 +9725,8 @@ "retType": "Boolean", "meosFns": [ "ever_ge_temporal_temporal" - ] + ], + "primaryMeos": "ever_ge_temporal_temporal" }, "everNeTintInt": { "field": "everNeTintInt", @@ -9142,7 +9741,8 @@ "retType": "Boolean", "meosFns": [ "ever_ne_tint_int" - ] + ], + "primaryMeos": "ever_ne_tint_int" }, "everNeTfloatFloat": { "field": "everNeTfloatFloat", @@ -9157,7 +9757,8 @@ "retType": "Boolean", "meosFns": [ "ever_ne_tfloat_float" - ] + ], + "primaryMeos": "ever_ne_tfloat_float" }, "everNeTemporal": { "field": "everNeTemporal", @@ -9172,7 +9773,8 @@ "retType": "Boolean", "meosFns": [ "ever_ne_temporal_temporal" - ] + ], + "primaryMeos": "ever_ne_temporal_temporal" }, "alwaysEqTintInt": { "field": "alwaysEqTintInt", @@ -9187,7 +9789,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_tint_int" - ] + ], + "primaryMeos": "always_eq_tint_int" }, "alwaysEqTfloatFloat": { "field": "alwaysEqTfloatFloat", @@ -9202,7 +9805,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_tfloat_float" - ] + ], + "primaryMeos": "always_eq_tfloat_float" }, "alwaysEqTemporal": { "field": "alwaysEqTemporal", @@ -9217,7 +9821,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_temporal_temporal" - ] + ], + "primaryMeos": "always_eq_temporal_temporal" }, "alwaysLtTintInt": { "field": "alwaysLtTintInt", @@ -9232,7 +9837,8 @@ "retType": "Boolean", "meosFns": [ "always_lt_tint_int" - ] + ], + "primaryMeos": "always_lt_tint_int" }, "alwaysLtTfloatFloat": { "field": "alwaysLtTfloatFloat", @@ -9247,7 +9853,8 @@ "retType": "Boolean", "meosFns": [ "always_lt_tfloat_float" - ] + ], + "primaryMeos": "always_lt_tfloat_float" }, "alwaysLtTemporal": { "field": "alwaysLtTemporal", @@ -9262,7 +9869,8 @@ "retType": "Boolean", "meosFns": [ "always_lt_temporal_temporal" - ] + ], + "primaryMeos": "always_lt_temporal_temporal" }, "alwaysLeTintInt": { "field": "alwaysLeTintInt", @@ -9277,7 +9885,8 @@ "retType": "Boolean", "meosFns": [ "always_le_tint_int" - ] + ], + "primaryMeos": "always_le_tint_int" }, "alwaysLeTfloatFloat": { "field": "alwaysLeTfloatFloat", @@ -9292,7 +9901,8 @@ "retType": "Boolean", "meosFns": [ "always_le_tfloat_float" - ] + ], + "primaryMeos": "always_le_tfloat_float" }, "alwaysLeTemporal": { "field": "alwaysLeTemporal", @@ -9307,7 +9917,8 @@ "retType": "Boolean", "meosFns": [ "always_le_temporal_temporal" - ] + ], + "primaryMeos": "always_le_temporal_temporal" }, "alwaysGtTintInt": { "field": "alwaysGtTintInt", @@ -9322,7 +9933,8 @@ "retType": "Boolean", "meosFns": [ "always_gt_tint_int" - ] + ], + "primaryMeos": "always_gt_tint_int" }, "alwaysGtTfloatFloat": { "field": "alwaysGtTfloatFloat", @@ -9337,7 +9949,8 @@ "retType": "Boolean", "meosFns": [ "always_gt_tfloat_float" - ] + ], + "primaryMeos": "always_gt_tfloat_float" }, "alwaysGtTemporal": { "field": "alwaysGtTemporal", @@ -9352,7 +9965,8 @@ "retType": "Boolean", "meosFns": [ "always_gt_temporal_temporal" - ] + ], + "primaryMeos": "always_gt_temporal_temporal" }, "alwaysGeTintInt": { "field": "alwaysGeTintInt", @@ -9367,7 +9981,8 @@ "retType": "Boolean", "meosFns": [ "always_ge_tint_int" - ] + ], + "primaryMeos": "always_ge_tint_int" }, "alwaysGeTfloatFloat": { "field": "alwaysGeTfloatFloat", @@ -9382,7 +9997,8 @@ "retType": "Boolean", "meosFns": [ "always_ge_tfloat_float" - ] + ], + "primaryMeos": "always_ge_tfloat_float" }, "alwaysGeTemporal": { "field": "alwaysGeTemporal", @@ -9397,7 +10013,8 @@ "retType": "Boolean", "meosFns": [ "always_ge_temporal_temporal" - ] + ], + "primaryMeos": "always_ge_temporal_temporal" }, "alwaysNeTintInt": { "field": "alwaysNeTintInt", @@ -9412,7 +10029,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_tint_int" - ] + ], + "primaryMeos": "always_ne_tint_int" }, "alwaysNeTfloatFloat": { "field": "alwaysNeTfloatFloat", @@ -9427,7 +10045,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_tfloat_float" - ] + ], + "primaryMeos": "always_ne_tfloat_float" }, "alwaysNeTemporal": { "field": "alwaysNeTemporal", @@ -9442,7 +10061,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_temporal_temporal" - ] + ], + "primaryMeos": "always_ne_temporal_temporal" }, "alwaysEqIntTint": { "field": "alwaysEqIntTint", @@ -9457,7 +10077,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_int_tint" - ] + ], + "primaryMeos": "always_eq_int_tint" }, "alwaysNeIntTint": { "field": "alwaysNeIntTint", @@ -9472,7 +10093,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_int_tint" - ] + ], + "primaryMeos": "always_ne_int_tint" }, "alwaysLtIntTint": { "field": "alwaysLtIntTint", @@ -9487,7 +10109,8 @@ "retType": "Boolean", "meosFns": [ "always_lt_int_tint" - ] + ], + "primaryMeos": "always_lt_int_tint" }, "alwaysLeIntTint": { "field": "alwaysLeIntTint", @@ -9502,7 +10125,8 @@ "retType": "Boolean", "meosFns": [ "always_le_int_tint" - ] + ], + "primaryMeos": "always_le_int_tint" }, "alwaysGtIntTint": { "field": "alwaysGtIntTint", @@ -9517,7 +10141,8 @@ "retType": "Boolean", "meosFns": [ "always_gt_int_tint" - ] + ], + "primaryMeos": "always_gt_int_tint" }, "alwaysGeIntTint": { "field": "alwaysGeIntTint", @@ -9532,7 +10157,8 @@ "retType": "Boolean", "meosFns": [ "always_ge_int_tint" - ] + ], + "primaryMeos": "always_ge_int_tint" }, "alwaysEqFloatTfloat": { "field": "alwaysEqFloatTfloat", @@ -9547,7 +10173,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_float_tfloat" - ] + ], + "primaryMeos": "always_eq_float_tfloat" }, "alwaysNeFloatTfloat": { "field": "alwaysNeFloatTfloat", @@ -9562,7 +10189,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_float_tfloat" - ] + ], + "primaryMeos": "always_ne_float_tfloat" }, "alwaysLtFloatTfloat": { "field": "alwaysLtFloatTfloat", @@ -9577,7 +10205,8 @@ "retType": "Boolean", "meosFns": [ "always_lt_float_tfloat" - ] + ], + "primaryMeos": "always_lt_float_tfloat" }, "alwaysLeFloatTfloat": { "field": "alwaysLeFloatTfloat", @@ -9592,7 +10221,8 @@ "retType": "Boolean", "meosFns": [ "always_le_float_tfloat" - ] + ], + "primaryMeos": "always_le_float_tfloat" }, "alwaysGtFloatTfloat": { "field": "alwaysGtFloatTfloat", @@ -9607,7 +10237,8 @@ "retType": "Boolean", "meosFns": [ "always_gt_float_tfloat" - ] + ], + "primaryMeos": "always_gt_float_tfloat" }, "alwaysGeFloatTfloat": { "field": "alwaysGeFloatTfloat", @@ -9622,7 +10253,8 @@ "retType": "Boolean", "meosFns": [ "always_ge_float_tfloat" - ] + ], + "primaryMeos": "always_ge_float_tfloat" }, "everEqIntTint": { "field": "everEqIntTint", @@ -9637,7 +10269,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_int_tint" - ] + ], + "primaryMeos": "ever_eq_int_tint" }, "everNeIntTint": { "field": "everNeIntTint", @@ -9652,7 +10285,8 @@ "retType": "Boolean", "meosFns": [ "ever_ne_int_tint" - ] + ], + "primaryMeos": "ever_ne_int_tint" }, "everLtIntTint": { "field": "everLtIntTint", @@ -9667,7 +10301,8 @@ "retType": "Boolean", "meosFns": [ "ever_lt_int_tint" - ] + ], + "primaryMeos": "ever_lt_int_tint" }, "everLeIntTint": { "field": "everLeIntTint", @@ -9682,7 +10317,8 @@ "retType": "Boolean", "meosFns": [ "ever_le_int_tint" - ] + ], + "primaryMeos": "ever_le_int_tint" }, "everGtIntTint": { "field": "everGtIntTint", @@ -9697,7 +10333,8 @@ "retType": "Boolean", "meosFns": [ "ever_gt_int_tint" - ] + ], + "primaryMeos": "ever_gt_int_tint" }, "everGeIntTint": { "field": "everGeIntTint", @@ -9712,7 +10349,8 @@ "retType": "Boolean", "meosFns": [ "ever_ge_int_tint" - ] + ], + "primaryMeos": "ever_ge_int_tint" }, "everEqFloatTfloat": { "field": "everEqFloatTfloat", @@ -9727,7 +10365,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_float_tfloat" - ] + ], + "primaryMeos": "ever_eq_float_tfloat" }, "everNeFloatTfloat": { "field": "everNeFloatTfloat", @@ -9742,7 +10381,8 @@ "retType": "Boolean", "meosFns": [ "ever_ne_float_tfloat" - ] + ], + "primaryMeos": "ever_ne_float_tfloat" }, "everLtFloatTfloat": { "field": "everLtFloatTfloat", @@ -9757,7 +10397,8 @@ "retType": "Boolean", "meosFns": [ "ever_lt_float_tfloat" - ] + ], + "primaryMeos": "ever_lt_float_tfloat" }, "everLeFloatTfloat": { "field": "everLeFloatTfloat", @@ -9772,7 +10413,8 @@ "retType": "Boolean", "meosFns": [ "ever_le_float_tfloat" - ] + ], + "primaryMeos": "ever_le_float_tfloat" }, "everGtFloatTfloat": { "field": "everGtFloatTfloat", @@ -9787,7 +10429,8 @@ "retType": "Boolean", "meosFns": [ "ever_gt_float_tfloat" - ] + ], + "primaryMeos": "ever_gt_float_tfloat" }, "everGeFloatTfloat": { "field": "everGeFloatTfloat", @@ -9802,7 +10445,8 @@ "retType": "Boolean", "meosFns": [ "ever_ge_float_tfloat" - ] + ], + "primaryMeos": "ever_ge_float_tfloat" }, "alwaysEqTboolBool": { "field": "alwaysEqTboolBool", @@ -9817,7 +10461,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_tbool_bool" - ] + ], + "primaryMeos": "always_eq_tbool_bool" }, "alwaysNeTboolBool": { "field": "alwaysNeTboolBool", @@ -9832,7 +10477,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_tbool_bool" - ] + ], + "primaryMeos": "always_ne_tbool_bool" }, "alwaysEqBoolTbool": { "field": "alwaysEqBoolTbool", @@ -9847,7 +10493,8 @@ "retType": "Boolean", "meosFns": [ "always_eq_bool_tbool" - ] + ], + "primaryMeos": "always_eq_bool_tbool" }, "alwaysNeBoolTbool": { "field": "alwaysNeBoolTbool", @@ -9862,7 +10509,8 @@ "retType": "Boolean", "meosFns": [ "always_ne_bool_tbool" - ] + ], + "primaryMeos": "always_ne_bool_tbool" }, "everEqTboolBool": { "field": "everEqTboolBool", @@ -9877,7 +10525,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_tbool_bool" - ] + ], + "primaryMeos": "ever_eq_tbool_bool" }, "everNeTboolBool": { "field": "everNeTboolBool", @@ -9892,7 +10541,8 @@ "retType": "Boolean", "meosFns": [ "ever_ne_tbool_bool" - ] + ], + "primaryMeos": "ever_ne_tbool_bool" }, "everEqBoolTbool": { "field": "everEqBoolTbool", @@ -9907,7 +10557,8 @@ "retType": "Boolean", "meosFns": [ "ever_eq_bool_tbool" - ] + ], + "primaryMeos": "ever_eq_bool_tbool" }, "everNeBoolTbool": { "field": "everNeBoolTbool", @@ -9925,7 +10576,8 @@ "ttext_in", "ttext_value_n", "temporal_from_hexwkb" - ] + ], + "primaryMeos": "ttext_value_n" }, "alwaysEqTextTtext": { "field": "alwaysEqTextTtext", @@ -9938,7 +10590,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysNeTextTtext": { "field": "alwaysNeTextTtext", @@ -9951,7 +10604,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysLtTextTtext": { "field": "alwaysLtTextTtext", @@ -9964,7 +10618,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysLeTextTtext": { "field": "alwaysLeTextTtext", @@ -9977,7 +10632,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysGtTextTtext": { "field": "alwaysGtTextTtext", @@ -9990,7 +10646,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysGeTextTtext": { "field": "alwaysGeTextTtext", @@ -10003,7 +10660,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysEqTtextText": { "field": "alwaysEqTtextText", @@ -10016,7 +10674,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysNeTtextText": { "field": "alwaysNeTtextText", @@ -10029,7 +10688,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysLtTtextText": { "field": "alwaysLtTtextText", @@ -10042,7 +10702,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysLeTtextText": { "field": "alwaysLeTtextText", @@ -10055,7 +10716,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysGtTtextText": { "field": "alwaysGtTtextText", @@ -10068,7 +10730,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "alwaysGeTtextText": { "field": "alwaysGeTtextText", @@ -10081,7 +10744,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everEqTextTtext": { "field": "everEqTextTtext", @@ -10094,7 +10758,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everNeTextTtext": { "field": "everNeTextTtext", @@ -10107,7 +10772,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everLtTextTtext": { "field": "everLtTextTtext", @@ -10120,7 +10786,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everLeTextTtext": { "field": "everLeTextTtext", @@ -10133,7 +10800,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everGtTextTtext": { "field": "everGtTextTtext", @@ -10146,7 +10814,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everGeTextTtext": { "field": "everGeTextTtext", @@ -10159,7 +10828,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everEqTtextText": { "field": "everEqTtextText", @@ -10172,7 +10842,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everNeTtextText": { "field": "everNeTtextText", @@ -10185,7 +10856,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everLtTtextText": { "field": "everLtTtextText", @@ -10198,7 +10870,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everLeTtextText": { "field": "everLeTtextText", @@ -10211,7 +10884,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everGtTtextText": { "field": "everGtTtextText", @@ -10224,7 +10898,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "everGeTtextText": { "field": "everGeTtextText", @@ -10237,7 +10912,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tpointIsSimple": { "field": "tpointIsSimple", @@ -10252,7 +10928,8 @@ "meosFns": [ "temporal_from_hexwkb", "tpoint_is_simple" - ] + ], + "primaryMeos": "tpoint_is_simple" }, "tboxLeftTbox": { "field": "tboxLeftTbox", @@ -10265,7 +10942,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverleftTbox": { "field": "tboxOverleftTbox", @@ -10278,7 +10956,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxRightTbox": { "field": "tboxRightTbox", @@ -10291,7 +10970,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverrightTbox": { "field": "tboxOverrightTbox", @@ -10304,7 +10984,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxBeforeTbox": { "field": "tboxBeforeTbox", @@ -10317,7 +10998,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverbeforeTbox": { "field": "tboxOverbeforeTbox", @@ -10330,7 +11012,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxAfterTbox": { "field": "tboxAfterTbox", @@ -10343,7 +11026,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverafterTbox": { "field": "tboxOverafterTbox", @@ -10356,7 +11040,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxAdjacentTbox": { "field": "tboxAdjacentTbox", @@ -10369,7 +11054,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxContainsTbox": { "field": "tboxContainsTbox", @@ -10382,7 +11068,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxContainedTbox": { "field": "tboxContainedTbox", @@ -10395,7 +11082,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverlapsTbox": { "field": "tboxOverlapsTbox", @@ -10408,7 +11096,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxSameTbox": { "field": "tboxSameTbox", @@ -10421,7 +11110,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxLeftTnumber": { "field": "tboxLeftTnumber", @@ -10434,7 +11124,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverleftTnumber": { "field": "tboxOverleftTnumber", @@ -10447,7 +11138,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxRightTnumber": { "field": "tboxRightTnumber", @@ -10460,7 +11152,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverrightTnumber": { "field": "tboxOverrightTnumber", @@ -10473,7 +11166,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxBeforeTnumber": { "field": "tboxBeforeTnumber", @@ -10486,7 +11180,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverbeforeTnumber": { "field": "tboxOverbeforeTnumber", @@ -10499,7 +11194,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxAfterTnumber": { "field": "tboxAfterTnumber", @@ -10512,7 +11208,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverafterTnumber": { "field": "tboxOverafterTnumber", @@ -10525,7 +11222,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxAdjacentTnumber": { "field": "tboxAdjacentTnumber", @@ -10538,7 +11236,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxContainsTnumber": { "field": "tboxContainsTnumber", @@ -10551,7 +11250,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxContainedTnumber": { "field": "tboxContainedTnumber", @@ -10564,7 +11264,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverlapsTnumber": { "field": "tboxOverlapsTnumber", @@ -10577,7 +11278,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxSameTnumber": { "field": "tboxSameTnumber", @@ -10590,7 +11292,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberLeftTbox": { "field": "tnumberLeftTbox", @@ -10603,7 +11306,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverleftTbox": { "field": "tnumberOverleftTbox", @@ -10616,7 +11320,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberRightTbox": { "field": "tnumberRightTbox", @@ -10629,7 +11334,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverrightTbox": { "field": "tnumberOverrightTbox", @@ -10642,7 +11348,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberBeforeTbox": { "field": "tnumberBeforeTbox", @@ -10655,7 +11362,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverbeforeTbox": { "field": "tnumberOverbeforeTbox", @@ -10668,7 +11376,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberAfterTbox": { "field": "tnumberAfterTbox", @@ -10681,7 +11390,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverafterTbox": { "field": "tnumberOverafterTbox", @@ -10694,7 +11404,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberAdjacentTbox": { "field": "tnumberAdjacentTbox", @@ -10707,7 +11418,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberContainsTbox": { "field": "tnumberContainsTbox", @@ -10720,7 +11432,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberContainedTbox": { "field": "tnumberContainedTbox", @@ -10733,7 +11446,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberOverlapsTbox": { "field": "tnumberOverlapsTbox", @@ -10746,7 +11460,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnumberSameTbox": { "field": "tnumberSameTbox", @@ -10759,7 +11474,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "intspanLower": { "field": "intspanLower", @@ -10774,7 +11490,8 @@ "meosFns": [ "span_from_hexwkb", "intspan_lower" - ] + ], + "primaryMeos": "intspan_lower" }, "intspanUpper": { "field": "intspanUpper", @@ -10789,7 +11506,8 @@ "meosFns": [ "span_from_hexwkb", "intspan_upper" - ] + ], + "primaryMeos": "intspan_upper" }, "intspanWidth": { "field": "intspanWidth", @@ -10804,7 +11522,8 @@ "meosFns": [ "span_from_hexwkb", "intspan_width" - ] + ], + "primaryMeos": "intspan_width" }, "floatspanLower": { "field": "floatspanLower", @@ -10819,7 +11538,8 @@ "meosFns": [ "span_from_hexwkb", "floatspan_lower" - ] + ], + "primaryMeos": "floatspan_lower" }, "floatspanUpper": { "field": "floatspanUpper", @@ -10834,7 +11554,8 @@ "meosFns": [ "span_from_hexwkb", "floatspan_upper" - ] + ], + "primaryMeos": "floatspan_upper" }, "floatspanWidth": { "field": "floatspanWidth", @@ -10849,7 +11570,8 @@ "meosFns": [ "span_from_hexwkb", "floatspan_width" - ] + ], + "primaryMeos": "floatspan_width" }, "bigintspanLower": { "field": "bigintspanLower", @@ -10864,7 +11586,8 @@ "meosFns": [ "span_from_hexwkb", "bigintspan_lower" - ] + ], + "primaryMeos": "bigintspan_lower" }, "bigintspanUpper": { "field": "bigintspanUpper", @@ -10879,7 +11602,8 @@ "meosFns": [ "span_from_hexwkb", "bigintspan_upper" - ] + ], + "primaryMeos": "bigintspan_upper" }, "datespanLower": { "field": "datespanLower", @@ -10894,7 +11618,8 @@ "meosFns": [ "span_from_hexwkb", "datespan_lower" - ] + ], + "primaryMeos": "datespan_lower" }, "datespanUpper": { "field": "datespanUpper", @@ -10909,7 +11634,8 @@ "meosFns": [ "span_from_hexwkb", "datespan_upper" - ] + ], + "primaryMeos": "datespan_upper" }, "tstzspanLower": { "field": "tstzspanLower", @@ -10924,7 +11650,8 @@ "meosFns": [ "span_from_hexwkb", "tstzspan_lower" - ] + ], + "primaryMeos": "tstzspan_lower" }, "tstzspanUpper": { "field": "tstzspanUpper", @@ -10939,7 +11666,8 @@ "meosFns": [ "span_from_hexwkb", "tstzspan_upper" - ] + ], + "primaryMeos": "tstzspan_upper" }, "spanLowerInc": { "field": "spanLowerInc", @@ -10954,7 +11682,8 @@ "meosFns": [ "span_from_hexwkb", "span_lower_inc" - ] + ], + "primaryMeos": "span_lower_inc" }, "spanUpperInc": { "field": "spanUpperInc", @@ -10969,7 +11698,8 @@ "meosFns": [ "span_from_hexwkb", "span_upper_inc" - ] + ], + "primaryMeos": "span_upper_inc" }, "spansetNumSpans": { "field": "spansetNumSpans", @@ -10984,7 +11714,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_num_spans" - ] + ], + "primaryMeos": "spanset_num_spans" }, "spansetStartSpan": { "field": "spansetStartSpan", @@ -11000,7 +11731,8 @@ "spanset_from_hexwkb", "spanset_start_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "spanset_start_span" }, "spansetEndSpan": { "field": "spansetEndSpan", @@ -11016,7 +11748,8 @@ "spanset_from_hexwkb", "spanset_end_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "spanset_end_span" }, "spansetLowerInc": { "field": "spansetLowerInc", @@ -11031,7 +11764,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_lower_inc" - ] + ], + "primaryMeos": "spanset_lower_inc" }, "spansetUpperInc": { "field": "spansetUpperInc", @@ -11046,7 +11780,8 @@ "meosFns": [ "spanset_from_hexwkb", "spanset_upper_inc" - ] + ], + "primaryMeos": "spanset_upper_inc" }, "spanToSpanset": { "field": "spanToSpanset", @@ -11062,7 +11797,8 @@ "span_from_hexwkb", "span_to_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "span_to_spanset" }, "setNumValues": { "field": "setNumValues", @@ -11077,7 +11813,8 @@ "meosFns": [ "set_from_hexwkb", "set_num_values" - ] + ], + "primaryMeos": "set_num_values" }, "intsetStartValue": { "field": "intsetStartValue", @@ -11092,7 +11829,8 @@ "meosFns": [ "set_from_hexwkb", "intset_start_value" - ] + ], + "primaryMeos": "intset_start_value" }, "intsetEndValue": { "field": "intsetEndValue", @@ -11109,7 +11847,8 @@ "intset_end_value", "set_num_values", "intset_values" - ] + ], + "primaryMeos": "intset_values" }, "floatsetStartValue": { "field": "floatsetStartValue", @@ -11124,7 +11863,8 @@ "meosFns": [ "set_from_hexwkb", "floatset_start_value" - ] + ], + "primaryMeos": "floatset_start_value" }, "floatsetEndValue": { "field": "floatsetEndValue", @@ -11141,7 +11881,8 @@ "floatset_end_value", "set_num_values", "floatset_values" - ] + ], + "primaryMeos": "floatset_values" }, "datesetStartValue": { "field": "datesetStartValue", @@ -11156,7 +11897,8 @@ "meosFns": [ "set_from_hexwkb", "dateset_start_value" - ] + ], + "primaryMeos": "dateset_start_value" }, "datesetEndValue": { "field": "datesetEndValue", @@ -11173,7 +11915,8 @@ "dateset_end_value", "set_num_values", "dateset_values" - ] + ], + "primaryMeos": "dateset_values" }, "tstzsetStartValue": { "field": "tstzsetStartValue", @@ -11188,7 +11931,8 @@ "meosFns": [ "set_from_hexwkb", "tstzset_start_value" - ] + ], + "primaryMeos": "tstzset_start_value" }, "tstzsetEndValue": { "field": "tstzsetEndValue", @@ -11205,7 +11949,8 @@ "tstzset_end_value", "set_num_values", "tstzset_values" - ] + ], + "primaryMeos": "tstzset_values" }, "textsetStartValue": { "field": "textsetStartValue", @@ -11221,7 +11966,8 @@ "set_from_hexwkb", "textset_start_value", "text_out" - ] + ], + "primaryMeos": "textset_start_value" }, "textsetEndValue": { "field": "textsetEndValue", @@ -11239,7 +11985,8 @@ "text_out", "set_num_values", "textset_values" - ] + ], + "primaryMeos": "textset_values" }, "tstzspansetLower": { "field": "tstzspansetLower", @@ -11254,7 +12001,8 @@ "meosFns": [ "spanset_from_hexwkb", "tstzspanset_lower" - ] + ], + "primaryMeos": "tstzspanset_lower" }, "tstzspansetUpper": { "field": "tstzspansetUpper", @@ -11269,7 +12017,8 @@ "meosFns": [ "spanset_from_hexwkb", "tstzspanset_upper" - ] + ], + "primaryMeos": "tstzspanset_upper" }, "tstzspansetStartTimestamptz": { "field": "tstzspansetStartTimestamptz", @@ -11284,7 +12033,8 @@ "meosFns": [ "spanset_from_hexwkb", "tstzspanset_start_timestamptz" - ] + ], + "primaryMeos": "tstzspanset_start_timestamptz" }, "tstzspansetEndTimestamptz": { "field": "tstzspansetEndTimestamptz", @@ -11299,7 +12049,8 @@ "meosFns": [ "spanset_from_hexwkb", "tstzspanset_end_timestamptz" - ] + ], + "primaryMeos": "tstzspanset_end_timestamptz" }, "spansetSpanN": { "field": "spansetSpanN", @@ -11316,7 +12067,8 @@ "spanset_from_hexwkb", "spanset_span_n", "span_as_hexwkb" - ] + ], + "primaryMeos": "spanset_span_n" }, "intspansetLower": { "field": "intspansetLower", @@ -11331,7 +12083,8 @@ "meosFns": [ "spanset_from_hexwkb", "intspanset_lower" - ] + ], + "primaryMeos": "intspanset_lower" }, "intspansetUpper": { "field": "intspansetUpper", @@ -11346,7 +12099,8 @@ "meosFns": [ "spanset_from_hexwkb", "intspanset_upper" - ] + ], + "primaryMeos": "intspanset_upper" }, "intspansetWidth": { "field": "intspansetWidth", @@ -11362,7 +12116,8 @@ "meosFns": [ "spanset_from_hexwkb", "intspanset_width" - ] + ], + "primaryMeos": "intspanset_width" }, "floatspansetLower": { "field": "floatspansetLower", @@ -11378,7 +12133,8 @@ "spanset_from_hexwkb", "spanset_start_span", "floatspan_lower" - ] + ], + "primaryMeos": "floatspan_lower" }, "floatspansetUpper": { "field": "floatspansetUpper", @@ -11394,7 +12150,8 @@ "spanset_from_hexwkb", "spanset_end_span", "floatspan_upper" - ] + ], + "primaryMeos": "floatspan_upper" }, "floatspansetWidth": { "field": "floatspansetWidth", @@ -11410,7 +12167,8 @@ "meosFns": [ "spanset_from_hexwkb", "floatspanset_width" - ] + ], + "primaryMeos": "floatspanset_width" }, "tstzspansetNumTimestamps": { "field": "tstzspansetNumTimestamps", @@ -11426,7 +12184,8 @@ "spanset_from_hexwkb", "tstzspanset_num_timestamps", "tstzspanset_timestamps" - ] + ], + "primaryMeos": "tstzspanset_timestamps" }, "tstzspansetDuration": { "field": "tstzspansetDuration", @@ -11443,7 +12202,8 @@ "spanset_from_hexwkb", "tstzspanset_duration", "pg_interval_out" - ] + ], + "primaryMeos": "tstzspanset_duration" }, "intsetFromHexWKB": { "field": "intsetFromHexWKB", @@ -11455,7 +12215,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintsetFromHexWKB": { "field": "bigintsetFromHexWKB", @@ -11467,7 +12228,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatsetFromHexWKB": { "field": "floatsetFromHexWKB", @@ -11479,7 +12241,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "textsetFromHexWKB": { "field": "textsetFromHexWKB", @@ -11491,7 +12254,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzsetFromHexWKB": { "field": "tstzsetFromHexWKB", @@ -11503,7 +12267,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "datesetFromHexWKB": { "field": "datesetFromHexWKB", @@ -11515,7 +12280,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "intspanFromHexWKB": { "field": "intspanFromHexWKB", @@ -11527,7 +12293,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintspanFromHexWKB": { "field": "bigintspanFromHexWKB", @@ -11539,7 +12306,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatspanFromHexWKB": { "field": "floatspanFromHexWKB", @@ -11551,7 +12319,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspanFromHexWKB": { "field": "tstzspanFromHexWKB", @@ -11563,7 +12332,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "datespanFromHexWKB": { "field": "datespanFromHexWKB", @@ -11575,7 +12345,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "intspansetFromHexWKB": { "field": "intspansetFromHexWKB", @@ -11587,7 +12358,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintspansetFromHexWKB": { "field": "bigintspansetFromHexWKB", @@ -11599,7 +12371,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatspansetFromHexWKB": { "field": "floatspansetFromHexWKB", @@ -11611,7 +12384,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspansetFromHexWKB": { "field": "tstzspansetFromHexWKB", @@ -11623,7 +12397,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "datespansetFromHexWKB": { "field": "datespansetFromHexWKB", @@ -11635,7 +12410,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboolFromHexWKB": { "field": "tboolFromHexWKB", @@ -11647,7 +12423,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tintFromHexWKB": { "field": "tintFromHexWKB", @@ -11659,7 +12436,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tfloatFromHexWKB": { "field": "tfloatFromHexWKB", @@ -11671,7 +12449,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextFromHexWKB": { "field": "ttextFromHexWKB", @@ -11683,7 +12462,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryFromHexEWKB": { "field": "tgeometryFromHexEWKB", @@ -11695,7 +12475,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographyFromHexEWKB": { "field": "tgeographyFromHexEWKB", @@ -11707,7 +12488,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointFromHexEWKB": { "field": "tgeompointFromHexEWKB", @@ -11719,7 +12501,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointFromHexEWKB": { "field": "tgeogpointFromHexEWKB", @@ -11731,7 +12514,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryFromMFJSON": { "field": "tgeometryFromMFJSON", @@ -11743,7 +12527,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographyFromMFJSON": { "field": "tgeographyFromMFJSON", @@ -11755,7 +12540,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointFromMFJSON": { "field": "tgeompointFromMFJSON", @@ -11767,7 +12553,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointFromMFJSON": { "field": "tgeogpointFromMFJSON", @@ -11779,7 +12566,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboolFromText": { "field": "tboolFromText", @@ -11791,7 +12579,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tintFromText": { "field": "tintFromText", @@ -11803,7 +12592,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tfloatFromText": { "field": "tfloatFromText", @@ -11815,7 +12605,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextFromText": { "field": "ttextFromText", @@ -11827,7 +12618,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointFromText": { "field": "tgeompointFromText", @@ -11839,7 +12631,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointFromText": { "field": "tgeogpointFromText", @@ -11851,7 +12644,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointFromEWKT": { "field": "tgeompointFromEWKT", @@ -11863,7 +12657,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointFromEWKT": { "field": "tgeogpointFromEWKT", @@ -11875,7 +12670,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryFromText": { "field": "tgeometryFromText", @@ -11887,7 +12683,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographyFromText": { "field": "tgeographyFromText", @@ -11899,7 +12696,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryFromEWKT": { "field": "tgeometryFromEWKT", @@ -11911,7 +12709,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographyFromEWKT": { "field": "tgeographyFromEWKT", @@ -11926,7 +12725,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tboolFromBinary": { "field": "tboolFromBinary", @@ -11938,7 +12738,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tintFromBinary": { "field": "tintFromBinary", @@ -11950,7 +12751,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tfloatFromBinary": { "field": "tfloatFromBinary", @@ -11962,7 +12764,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextFromBinary": { "field": "ttextFromBinary", @@ -11974,7 +12777,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointFromBinary": { "field": "tgeompointFromBinary", @@ -11986,7 +12790,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointFromBinary": { "field": "tgeogpointFromBinary", @@ -11998,7 +12803,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryFromBinary": { "field": "tgeometryFromBinary", @@ -12010,7 +12816,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographyFromBinary": { "field": "tgeographyFromBinary", @@ -12022,7 +12829,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointFromEWKB": { "field": "tgeompointFromEWKB", @@ -12034,7 +12842,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointFromEWKB": { "field": "tgeogpointFromEWKB", @@ -12046,7 +12855,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometryFromEWKB": { "field": "tgeometryFromEWKB", @@ -12058,7 +12868,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographyFromEWKB": { "field": "tgeographyFromEWKB", @@ -12070,7 +12881,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "asBinary": { "field": "asBinary", @@ -12082,7 +12894,8 @@ "String" ], "retType": "byte[]", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "asEWKB": { "field": "asEWKB", @@ -12094,7 +12907,8 @@ "String" ], "retType": "byte[]", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "asHexEWKB": { "field": "asHexEWKB", @@ -12113,7 +12927,8 @@ "set_as_hexwkb", "geogset_in", "set_from_hexwkb" - ] + ], + "primaryMeos": "set_from_hexwkb" }, "geomsetFromText": { "field": "geomsetFromText", @@ -12125,7 +12940,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geogsetFromText": { "field": "geogsetFromText", @@ -12137,7 +12953,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geomsetFromEWKT": { "field": "geomsetFromEWKT", @@ -12149,7 +12966,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geogsetFromEWKT": { "field": "geogsetFromEWKT", @@ -12161,7 +12979,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geomsetFromHexWKB": { "field": "geomsetFromHexWKB", @@ -12173,7 +12992,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geogsetFromHexWKB": { "field": "geogsetFromHexWKB", @@ -12185,7 +13005,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geomsetFromBinary": { "field": "geomsetFromBinary", @@ -12197,7 +13018,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geogsetFromBinary": { "field": "geogsetFromBinary", @@ -12209,7 +13031,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geomsetFromEWKB": { "field": "geomsetFromEWKB", @@ -12221,7 +13044,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "geogsetFromEWKB": { "field": "geogsetFromEWKB", @@ -12233,7 +13057,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxFromHexWKB": { "field": "tboxFromHexWKB", @@ -12248,7 +13073,8 @@ "meosFns": [ "tbox_from_hexwkb", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "tboxFromBinary": { "field": "tboxFromBinary", @@ -12263,7 +13089,8 @@ "meosFns": [ "tbox_from_hexwkb", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "stboxFromHexWKB": { "field": "stboxFromHexWKB", @@ -12278,7 +13105,8 @@ "meosFns": [ "stbox_from_hexwkb", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "stboxFromBinary": { "field": "stboxFromBinary", @@ -12293,7 +13121,8 @@ "meosFns": [ "stbox_from_hexwkb", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "ttextUpper": { "field": "ttextUpper", @@ -12309,7 +13138,8 @@ "temporal_from_hexwkb", "ttext_upper", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "ttext_upper" }, "ttextLower": { "field": "ttextLower", @@ -12325,7 +13155,8 @@ "temporal_from_hexwkb", "ttext_lower", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "ttext_lower" }, "ttextInitcap": { "field": "ttextInitcap", @@ -12343,7 +13174,8 @@ "temporal_as_hexwkb", "ttext_in", "ttext_value_n" - ] + ], + "primaryMeos": "ttext_value_n" }, "teqTextTtext": { "field": "teqTextTtext", @@ -12356,7 +13188,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tneTextTtext": { "field": "tneTextTtext", @@ -12369,7 +13202,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tltTextTtext": { "field": "tltTextTtext", @@ -12382,7 +13216,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tleTextTtext": { "field": "tleTextTtext", @@ -12395,7 +13230,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgtTextTtext": { "field": "tgtTextTtext", @@ -12408,7 +13244,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeTextTtext": { "field": "tgeTextTtext", @@ -12421,7 +13258,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "teqTtextText": { "field": "teqTtextText", @@ -12434,7 +13272,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tneTtextText": { "field": "tneTtextText", @@ -12447,7 +13286,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tltTtextText": { "field": "tltTtextText", @@ -12460,7 +13300,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tleTtextText": { "field": "tleTtextText", @@ -12473,7 +13314,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgtTtextText": { "field": "tgtTtextText", @@ -12486,7 +13328,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeTtextText": { "field": "tgeTtextText", @@ -12499,7 +13342,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextCatTtextText": { "field": "ttextCatTtextText", @@ -12516,7 +13360,8 @@ "temporal_from_hexwkb", "cstring2text", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "cstring2text" }, "ttextCatTextTtext": { "field": "ttextCatTextTtext", @@ -12533,7 +13378,8 @@ "cstring2text", "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "cstring2text" }, "ttextCatTtextTtext": { "field": "ttextCatTtextTtext", @@ -12549,7 +13395,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "ttextCat": { "field": "ttextCatTtextTtext", @@ -12565,7 +13412,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "textsetCatTextsetText": { "field": "textsetCatTextsetText", @@ -12583,7 +13431,8 @@ "cstring2text", "textcat_textset_text", "set_as_hexwkb" - ] + ], + "primaryMeos": "textcat_textset_text" }, "textsetCatTextTextset": { "field": "textsetCatTextTextset", @@ -12601,7 +13450,8 @@ "set_from_hexwkb", "textcat_text_textset", "set_as_hexwkb" - ] + ], + "primaryMeos": "textcat_text_textset" }, "textsetCat": { "field": "textsetCatTextsetText", @@ -12619,7 +13469,8 @@ "cstring2text", "textcat_textset_text", "set_as_hexwkb" - ] + ], + "primaryMeos": "textcat_textset_text" }, "tint": { "field": "tint", @@ -12634,7 +13485,8 @@ "meosFns": [ "tint_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tfloat": { "field": "tfloat", @@ -12649,7 +13501,8 @@ "meosFns": [ "tfloat_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tbool": { "field": "tbool", @@ -12664,7 +13517,8 @@ "meosFns": [ "tbool_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "ttext": { "field": "ttext", @@ -12679,7 +13533,8 @@ "meosFns": [ "ttext_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tgeogpoint": { "field": "tgeogpoint", @@ -12694,7 +13549,8 @@ "meosFns": [ "tgeogpoint_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tstzspan": { "field": "tstzspan", @@ -12709,7 +13565,8 @@ "meosFns": [ "tstzspan_in", "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "tstzspanset": { "field": "tstzspanset", @@ -12724,7 +13581,8 @@ "meosFns": [ "tstzspanset_in", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "spanset_as_hexwkb" }, "intspan": { "field": "intspan", @@ -12739,7 +13597,8 @@ "meosFns": [ "intspan_in", "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "floatspan": { "field": "floatspan", @@ -12754,7 +13613,8 @@ "meosFns": [ "floatspan_in", "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "datespan": { "field": "datespan", @@ -12769,7 +13629,8 @@ "meosFns": [ "datespan_in", "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "datespanset": { "field": "datespanset", @@ -12784,7 +13645,8 @@ "meosFns": [ "datespanset_in", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "spanset_as_hexwkb" }, "intset": { "field": "intset", @@ -12799,7 +13661,8 @@ "meosFns": [ "intset_in", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "floatset": { "field": "floatset", @@ -12814,7 +13677,8 @@ "meosFns": [ "floatset_in", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "textset": { "field": "textset", @@ -12829,7 +13693,8 @@ "meosFns": [ "textset_in", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "bigintset": { "field": "bigintset", @@ -12844,7 +13709,8 @@ "meosFns": [ "bigintset_in", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "stbox": { "field": "stbox", @@ -12859,7 +13725,8 @@ "meosFns": [ "stbox_in", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "stbox_as_hexwkb" }, "tbox": { "field": "tbox", @@ -12874,7 +13741,8 @@ "meosFns": [ "tbox_in", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "tboolFromMfjson": { "field": "tboolFromMfjson", @@ -12889,7 +13757,8 @@ "meosFns": [ "tbool_from_mfjson", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tintFromMfjson": { "field": "tintFromMfjson", @@ -12904,7 +13773,8 @@ "meosFns": [ "tint_from_mfjson", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tfloatFromMfjson": { "field": "tfloatFromMfjson", @@ -12919,7 +13789,8 @@ "meosFns": [ "tfloat_from_mfjson", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "ttextFromMfjson": { "field": "ttextFromMfjson", @@ -12934,7 +13805,8 @@ "meosFns": [ "ttext_from_mfjson", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tgeompointFromMfjson": { "field": "tgeompointFromMfjson", @@ -12949,7 +13821,8 @@ "meosFns": [ "tgeompoint_from_mfjson", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tgeogpointFromMfjson": { "field": "tgeogpointFromMfjson", @@ -12964,7 +13837,8 @@ "meosFns": [ "tgeogpoint_from_mfjson", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tboolFromBaseTemp": { "field": "tboolFromBaseTemp", @@ -12981,7 +13855,8 @@ "temporal_from_hexwkb", "tbool_from_base_temp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tbool_from_base_temp" }, "tintFromBaseTemp": { "field": "tintFromBaseTemp", @@ -12998,7 +13873,8 @@ "temporal_from_hexwkb", "tint_from_base_temp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tint_from_base_temp" }, "tfloatFromBaseTemp": { "field": "tfloatFromBaseTemp", @@ -13015,7 +13891,8 @@ "temporal_from_hexwkb", "tfloat_from_base_temp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tfloat_from_base_temp" }, "ttextFromBaseTemp": { "field": "ttextFromBaseTemp", @@ -13034,7 +13911,8 @@ "temporal_from_hexwkb", "ttext_from_base_temp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "ttext_from_base_temp" }, "tpointFromBaseTemp": { "field": "tpointFromBaseTemp", @@ -13052,7 +13930,8 @@ "temporal_from_hexwkb", "tpoint_from_base_temp", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_from_base_temp" }, "tnumberAbs": { "field": "tnumberAbs", @@ -13067,7 +13946,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_abs" - ] + ], + "primaryMeos": "tnumber_abs" }, "tnumberDeltaValue": { "field": "tnumberDeltaValue", @@ -13082,7 +13962,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_delta_value" - ] + ], + "primaryMeos": "tnumber_delta_value" }, "tnumberAngularDifference": { "field": "tnumberAngularDifference", @@ -13097,7 +13978,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnumber_angular_difference" - ] + ], + "primaryMeos": "tnumber_angular_difference" }, "tpointAngularDifference": { "field": "tpointAngularDifference", @@ -13112,7 +13994,8 @@ "meosFns": [ "temporal_from_hexwkb", "tpoint_angular_difference" - ] + ], + "primaryMeos": "tpoint_angular_difference" }, "tfloatExp": { "field": "tfloatExp", @@ -13127,7 +14010,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_exp" - ] + ], + "primaryMeos": "tfloat_exp" }, "tfloatLn": { "field": "tfloatLn", @@ -13142,7 +14026,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_ln" - ] + ], + "primaryMeos": "tfloat_ln" }, "tfloatLog10": { "field": "tfloatLog10", @@ -13157,7 +14042,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_log10" - ] + ], + "primaryMeos": "tfloat_log10" }, "addTintInt": { "field": "addTintInt", @@ -13173,7 +14059,8 @@ "meosFns": [ "temporal_from_hexwkb", "add_tint_int" - ] + ], + "primaryMeos": "add_tint_int" }, "subTintInt": { "field": "subTintInt", @@ -13189,7 +14076,8 @@ "meosFns": [ "temporal_from_hexwkb", "sub_tint_int" - ] + ], + "primaryMeos": "sub_tint_int" }, "multTintInt": { "field": "multTintInt", @@ -13205,7 +14093,8 @@ "meosFns": [ "temporal_from_hexwkb", "mul_tint_int" - ] + ], + "primaryMeos": "mul_tint_int" }, "divTintInt": { "field": "divTintInt", @@ -13221,7 +14110,8 @@ "meosFns": [ "temporal_from_hexwkb", "div_tint_int" - ] + ], + "primaryMeos": "div_tint_int" }, "addTfloatFloat": { "field": "addTfloatFloat", @@ -13237,7 +14127,8 @@ "meosFns": [ "temporal_from_hexwkb", "add_tfloat_float" - ] + ], + "primaryMeos": "add_tfloat_float" }, "subTfloatFloat": { "field": "subTfloatFloat", @@ -13253,7 +14144,8 @@ "meosFns": [ "temporal_from_hexwkb", "sub_tfloat_float" - ] + ], + "primaryMeos": "sub_tfloat_float" }, "multTfloatFloat": { "field": "multTfloatFloat", @@ -13269,7 +14161,8 @@ "meosFns": [ "temporal_from_hexwkb", "mul_tfloat_float" - ] + ], + "primaryMeos": "mul_tfloat_float" }, "divTfloatFloat": { "field": "divTfloatFloat", @@ -13285,7 +14178,8 @@ "meosFns": [ "temporal_from_hexwkb", "div_tfloat_float" - ] + ], + "primaryMeos": "div_tfloat_float" }, "addTnumberTnumber": { "field": "addTnumberTnumber", @@ -13301,7 +14195,8 @@ "meosFns": [ "temporal_from_hexwkb", "add_tnumber_tnumber" - ] + ], + "primaryMeos": "add_tnumber_tnumber" }, "subTnumberTnumber": { "field": "subTnumberTnumber", @@ -13317,7 +14212,8 @@ "meosFns": [ "temporal_from_hexwkb", "sub_tnumber_tnumber" - ] + ], + "primaryMeos": "sub_tnumber_tnumber" }, "multTnumberTnumber": { "field": "multTnumberTnumber", @@ -13333,7 +14229,8 @@ "meosFns": [ "temporal_from_hexwkb", "mul_tnumber_tnumber" - ] + ], + "primaryMeos": "mul_tnumber_tnumber" }, "divTnumberTnumber": { "field": "divTnumberTnumber", @@ -13349,7 +14246,8 @@ "meosFns": [ "temporal_from_hexwkb", "div_tnumber_tnumber" - ] + ], + "primaryMeos": "div_tnumber_tnumber" }, "cbufferEq": { "field": "cbufferEq", @@ -13362,7 +14260,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferNe": { "field": "cbufferNe", @@ -13375,7 +14274,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferLt": { "field": "cbufferLt", @@ -13388,7 +14288,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferLe": { "field": "cbufferLe", @@ -13401,7 +14302,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferGt": { "field": "cbufferGt", @@ -13414,7 +14316,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferGe": { "field": "cbufferGe", @@ -13427,7 +14330,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "cbufferCmp": { "field": "cbufferCmp", @@ -13440,7 +14344,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointEq": { "field": "npointEq", @@ -13453,7 +14358,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointNe": { "field": "npointNe", @@ -13466,7 +14372,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointLt": { "field": "npointLt", @@ -13479,7 +14386,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointLe": { "field": "npointLe", @@ -13492,7 +14400,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointGt": { "field": "npointGt", @@ -13505,7 +14414,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointGe": { "field": "npointGe", @@ -13518,7 +14428,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointCmp": { "field": "npointCmp", @@ -13531,7 +14442,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointHash": { "field": "npointHash", @@ -13543,7 +14455,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointHashExtended": { "field": "npointHashExtended", @@ -13556,7 +14469,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseEq": { "field": "poseEq", @@ -13569,7 +14483,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseNe": { "field": "poseNe", @@ -13582,7 +14497,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseLt": { "field": "poseLt", @@ -13595,7 +14511,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseLe": { "field": "poseLe", @@ -13608,7 +14525,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseGt": { "field": "poseGt", @@ -13621,7 +14539,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseGe": { "field": "poseGe", @@ -13634,7 +14553,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseCmp": { "field": "poseCmp", @@ -13647,7 +14567,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseHash": { "field": "poseHash", @@ -13659,7 +14580,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "poseHashExtended": { "field": "poseHashExtended", @@ -13672,7 +14594,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentEq": { "field": "nsegmentEq", @@ -13685,7 +14608,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentNe": { "field": "nsegmentNe", @@ -13698,7 +14622,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentLt": { "field": "nsegmentLt", @@ -13711,7 +14636,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentLe": { "field": "nsegmentLe", @@ -13724,7 +14650,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentGt": { "field": "nsegmentGt", @@ -13737,7 +14664,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentGe": { "field": "nsegmentGe", @@ -13750,7 +14678,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegmentCmp": { "field": "nsegmentCmp", @@ -13763,7 +14692,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setEq": { "field": "setEq", @@ -13776,7 +14706,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setNe": { "field": "setNe", @@ -13789,7 +14720,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setLt": { "field": "setLt", @@ -13802,7 +14734,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setLe": { "field": "setLe", @@ -13815,7 +14748,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setGt": { "field": "setGt", @@ -13828,7 +14762,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setGe": { "field": "setGe", @@ -13841,7 +14776,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setCmp": { "field": "setCmp", @@ -13854,7 +14790,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setHash": { "field": "setHash", @@ -13866,7 +14803,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setHashExtended": { "field": "setHashExtended", @@ -13879,7 +14817,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanEq": { "field": "spanEq", @@ -13892,7 +14831,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanNe": { "field": "spanNe", @@ -13905,7 +14845,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanLt": { "field": "spanLt", @@ -13918,7 +14859,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanLe": { "field": "spanLe", @@ -13931,7 +14873,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanGt": { "field": "spanGt", @@ -13944,7 +14887,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanGe": { "field": "spanGe", @@ -13957,7 +14901,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanCmp": { "field": "spanCmp", @@ -13970,7 +14915,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanHash": { "field": "spanHash", @@ -13982,7 +14928,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanHashExtended": { "field": "spanHashExtended", @@ -13995,7 +14942,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetEq": { "field": "spansetEq", @@ -14008,7 +14956,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetNe": { "field": "spansetNe", @@ -14021,7 +14970,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetLt": { "field": "spansetLt", @@ -14034,7 +14984,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetLe": { "field": "spansetLe", @@ -14047,7 +14998,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetGt": { "field": "spansetGt", @@ -14060,7 +15012,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetGe": { "field": "spansetGe", @@ -14073,7 +15026,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetCmp": { "field": "spansetCmp", @@ -14086,7 +15040,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetHash": { "field": "spansetHash", @@ -14098,7 +15053,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetHashExtended": { "field": "spansetHashExtended", @@ -14111,7 +15067,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxEq": { "field": "tboxEq", @@ -14124,7 +15081,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxNe": { "field": "tboxNe", @@ -14137,7 +15095,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxLt": { "field": "tboxLt", @@ -14150,7 +15109,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxLe": { "field": "tboxLe", @@ -14163,7 +15123,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxGt": { "field": "tboxGt", @@ -14176,7 +15137,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxGe": { "field": "tboxGe", @@ -14189,7 +15151,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxCmp": { "field": "tboxCmp", @@ -14202,7 +15165,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxHash": { "field": "tboxHash", @@ -14214,7 +15178,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxHashExtended": { "field": "tboxHashExtended", @@ -14227,7 +15192,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxEq": { "field": "stboxEq", @@ -14240,7 +15206,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxNe": { "field": "stboxNe", @@ -14253,7 +15220,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxLt": { "field": "stboxLt", @@ -14266,7 +15234,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxLe": { "field": "stboxLe", @@ -14279,7 +15248,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxGt": { "field": "stboxGt", @@ -14292,7 +15262,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxGe": { "field": "stboxGe", @@ -14305,7 +15276,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxCmp": { "field": "stboxCmp", @@ -14318,7 +15290,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxHash": { "field": "stboxHash", @@ -14330,7 +15303,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "stboxHashExtended": { "field": "stboxHashExtended", @@ -14343,7 +15317,8 @@ "Long" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalCmp": { "field": "temporalCmp", @@ -14356,7 +15331,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalHash": { "field": "temporalHash", @@ -14368,7 +15344,8 @@ "String" ], "retType": "Integer", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "atTime": { "field": "atTime", @@ -14388,7 +15365,8 @@ "temporal_at_tstzspan", "pg_timestamptz_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_tstzspan" }, "startTimestamp": { "field": "startTimestamp", @@ -14403,7 +15381,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_start_timestamptz" - ] + ], + "primaryMeos": "temporal_start_timestamptz" }, "endTimestamp": { "field": "endTimestamp", @@ -14418,7 +15397,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_end_timestamptz" - ] + ], + "primaryMeos": "temporal_end_timestamptz" }, "numInstants": { "field": "numInstants", @@ -14433,7 +15413,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_num_instants" - ] + ], + "primaryMeos": "temporal_num_instants" }, "speed": { "field": "speed", @@ -14449,7 +15430,8 @@ "temporal_from_hexwkb", "tpoint_speed", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tpoint_speed" }, "atGeometry": { "field": "atGeometry", @@ -14467,7 +15449,8 @@ "geo_from_text", "tgeo_at_geom", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_at_geom" }, "asHexWKB": { "field": "asHexWKB", @@ -14482,7 +15465,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "temporalAsMfjson": { "field": "temporalAsMfjson", @@ -14498,7 +15482,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_mfjson" - ] + ], + "primaryMeos": "temporal_as_mfjson" }, "tboolOut": { "field": "tboolOut", @@ -14513,7 +15498,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbool_out" - ] + ], + "primaryMeos": "tbool_out" }, "tintOut": { "field": "tintOut", @@ -14528,7 +15514,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_out" - ] + ], + "primaryMeos": "tint_out" }, "tfloatOut": { "field": "tfloatOut", @@ -14544,7 +15531,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_out" - ] + ], + "primaryMeos": "tfloat_out" }, "ttextOut": { "field": "ttextOut", @@ -14559,7 +15547,8 @@ "meosFns": [ "temporal_from_hexwkb", "ttext_out" - ] + ], + "primaryMeos": "ttext_out" }, "getTimestamp": { "field": "startTimestamp", @@ -14574,7 +15563,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_start_timestamptz" - ] + ], + "primaryMeos": "temporal_start_timestamptz" }, "teqTintInt": { "field": "teqTintInt", @@ -14587,7 +15577,8 @@ "Integer" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "teqTfloatFloat": { "field": "teqTfloatFloat", @@ -14600,7 +15591,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "teqTboolBool": { "field": "teqTboolBool", @@ -14613,7 +15605,8 @@ "Boolean" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tneTintInt": { "field": "tneTintInt", @@ -14626,7 +15619,8 @@ "Integer" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tneTfloatFloat": { "field": "tneTfloatFloat", @@ -14639,7 +15633,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tneTboolBool": { "field": "tneTboolBool", @@ -14652,7 +15647,8 @@ "Boolean" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tltTintInt": { "field": "tltTintInt", @@ -14665,7 +15661,8 @@ "Integer" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tltTfloatFloat": { "field": "tltTfloatFloat", @@ -14678,7 +15675,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tleTintInt": { "field": "tleTintInt", @@ -14691,7 +15689,8 @@ "Integer" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tleTfloatFloat": { "field": "tleTfloatFloat", @@ -14704,7 +15703,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgtTintInt": { "field": "tgtTintInt", @@ -14717,7 +15717,8 @@ "Integer" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgtTfloatFloat": { "field": "tgtTfloatFloat", @@ -14730,7 +15731,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeTintInt": { "field": "tgeTintInt", @@ -14743,7 +15745,8 @@ "Integer" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeTfloatFloat": { "field": "tgeTfloatFloat", @@ -14756,7 +15759,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintspanWidth": { "field": "bigintspanWidth", @@ -14771,7 +15775,8 @@ "meosFns": [ "span_from_hexwkb", "bigintspan_width" - ] + ], + "primaryMeos": "bigintspan_width" }, "bigintspansetWidth": { "field": "bigintspansetWidth", @@ -14787,7 +15792,8 @@ "meosFns": [ "spanset_from_hexwkb", "bigintspanset_width" - ] + ], + "primaryMeos": "bigintspanset_width" }, "width": { "field": "floatspanWidth", @@ -14802,7 +15808,8 @@ "meosFns": [ "span_from_hexwkb", "floatspan_width" - ] + ], + "primaryMeos": "floatspan_width" }, "startDate": { "field": "startDate", @@ -14817,7 +15824,8 @@ "meosFns": [ "spanset_from_hexwkb", "datespanset_start_date" - ] + ], + "primaryMeos": "datespanset_start_date" }, "endDate": { "field": "endDate", @@ -14832,7 +15840,8 @@ "meosFns": [ "spanset_from_hexwkb", "datespanset_end_date" - ] + ], + "primaryMeos": "datespanset_end_date" }, "numDates": { "field": "numDates", @@ -14847,7 +15856,8 @@ "meosFns": [ "spanset_from_hexwkb", "datespanset_num_dates" - ] + ], + "primaryMeos": "datespanset_num_dates" }, "dateN": { "field": "dateN", @@ -14863,7 +15873,8 @@ "meosFns": [ "spanset_from_hexwkb", "datespanset_date_n" - ] + ], + "primaryMeos": "datespanset_date_n" }, "dates": { "field": "dates", @@ -14879,7 +15890,8 @@ "spanset_from_hexwkb", "datespanset_dates", "set_as_hexwkb" - ] + ], + "primaryMeos": "datespanset_dates" }, "valueSpan": { "field": "valueSpan", @@ -14895,7 +15907,8 @@ "temporal_from_hexwkb", "tnumber_to_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_to_span" }, "intsetFromBinary": { "field": "intsetFromBinary", @@ -14907,7 +15920,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintsetFromBinary": { "field": "bigintsetFromBinary", @@ -14919,7 +15933,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatsetFromBinary": { "field": "floatsetFromBinary", @@ -14931,7 +15946,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "textsetFromBinary": { "field": "textsetFromBinary", @@ -14943,7 +15959,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzsetFromBinary": { "field": "tstzsetFromBinary", @@ -14955,7 +15972,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "datesetFromBinary": { "field": "datesetFromBinary", @@ -14967,7 +15985,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometry": { "field": "tgeometry", @@ -14982,7 +16001,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tgeography": { "field": "tgeography", @@ -14997,7 +16017,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "geometry": { "field": "tgeometry", @@ -15012,7 +16033,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "geography": { "field": "tgeography", @@ -15027,7 +16049,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "valueSet": { "field": "valueSet", @@ -15044,7 +16067,8 @@ "set_as_hexwkb", "pg_interval_in", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "box2d": { "field": "box2d", @@ -15058,7 +16082,8 @@ "retType": "String", "meosFns": [ "stbox_from_hexwkb" - ] + ], + "primaryMeos": "stbox_from_hexwkb" }, "box3d": { "field": "box3d", @@ -15072,7 +16097,8 @@ "retType": "String", "meosFns": [ "stbox_from_hexwkb" - ] + ], + "primaryMeos": "stbox_from_hexwkb" }, "avgValue": { "field": "avgValue", @@ -15086,7 +16112,8 @@ "retType": "Double", "meosFns": [ "temporal_from_hexwkb" - ] + ], + "primaryMeos": "temporal_from_hexwkb" }, "frechetDistance": { "field": "frechetDistance", @@ -15102,7 +16129,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_frechet_distance" - ] + ], + "primaryMeos": "temporal_frechet_distance" }, "dynamicTimeWarp": { "field": "dynamicTimeWarp", @@ -15118,7 +16146,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_dyntimewarp_distance" - ] + ], + "primaryMeos": "temporal_dyntimewarp_distance" }, "hausdorffDistance": { "field": "hausdorffDistance", @@ -15134,7 +16163,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_hausdorff_distance" - ] + ], + "primaryMeos": "temporal_hausdorff_distance" }, "dynTimeWarpDistance": { "field": "dynamicTimeWarp", @@ -15150,7 +16180,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_dyntimewarp_distance" - ] + ], + "primaryMeos": "temporal_dyntimewarp_distance" }, "tboolSeqSetGaps": { "field": "tboolSeqSetGaps", @@ -15163,7 +16194,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "ttextSeqSetGaps": { "field": "ttextSeqSetGaps", @@ -15176,7 +16208,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tintSeqSetGaps": { "field": "tintSeqSetGaps", @@ -15190,7 +16223,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tfloatSeqSetGaps": { "field": "tfloatSeqSetGaps", @@ -15205,7 +16239,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeompointSeqSetGaps": { "field": "tgeompointSeqSetGaps", @@ -15220,7 +16255,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeogpointSeqSetGaps": { "field": "tgeogpointSeqSetGaps", @@ -15235,7 +16271,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeometrySeqSetGaps": { "field": "tgeometrySeqSetGaps", @@ -15250,7 +16287,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tgeographySeqSetGaps": { "field": "tgeographySeqSetGaps", @@ -15265,7 +16303,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnotTbool": { "field": "tnotTbool", @@ -15280,7 +16319,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnot_tbool" - ] + ], + "primaryMeos": "tnot_tbool" }, "tandBool": { "field": "tandBool", @@ -15296,7 +16336,8 @@ "meosFns": [ "temporal_from_hexwkb", "tand_tbool_bool" - ] + ], + "primaryMeos": "tand_tbool_bool" }, "tandBoolTbool": { "field": "tandBoolTbool", @@ -15312,7 +16353,8 @@ "meosFns": [ "temporal_from_hexwkb", "tand_bool_tbool" - ] + ], + "primaryMeos": "tand_bool_tbool" }, "tandTboolTbool": { "field": "tandTboolTbool", @@ -15328,7 +16370,8 @@ "meosFns": [ "temporal_from_hexwkb", "tand_tbool_tbool" - ] + ], + "primaryMeos": "tand_tbool_tbool" }, "torBool": { "field": "torBool", @@ -15344,7 +16387,8 @@ "meosFns": [ "temporal_from_hexwkb", "tor_tbool_bool" - ] + ], + "primaryMeos": "tor_tbool_bool" }, "torBoolTbool": { "field": "torBoolTbool", @@ -15360,7 +16404,8 @@ "meosFns": [ "temporal_from_hexwkb", "tor_bool_tbool" - ] + ], + "primaryMeos": "tor_bool_tbool" }, "torTboolTbool": { "field": "torTboolTbool", @@ -15376,7 +16421,8 @@ "meosFns": [ "temporal_from_hexwkb", "tor_tbool_tbool" - ] + ], + "primaryMeos": "tor_tbool_tbool" }, "tboolWhenTrue": { "field": "tboolWhenTrue", @@ -15392,7 +16438,8 @@ "temporal_from_hexwkb", "tbool_when_true", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "tbool_when_true" }, "teqTemporalTemporal": { "field": "teqTemporalTemporal", @@ -15409,7 +16456,8 @@ "temporal_from_hexwkb", "teq_temporal_temporal", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "teq_temporal_temporal" }, "tneTemporalTemporal": { "field": "tneTemporalTemporal", @@ -15426,7 +16474,8 @@ "temporal_from_hexwkb", "tne_temporal_temporal", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tne_temporal_temporal" }, "tltTemporalTemporal": { "field": "tltTemporalTemporal", @@ -15443,7 +16492,8 @@ "temporal_from_hexwkb", "tlt_temporal_temporal", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tlt_temporal_temporal" }, "tleTemporalTemporal": { "field": "tleTemporalTemporal", @@ -15460,7 +16510,8 @@ "temporal_from_hexwkb", "tle_temporal_temporal", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tle_temporal_temporal" }, "tgtTemporalTemporal": { "field": "tgtTemporalTemporal", @@ -15477,7 +16528,8 @@ "temporal_from_hexwkb", "tgt_temporal_temporal", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgt_temporal_temporal" }, "tgeTemporalTemporal": { "field": "tgeTemporalTemporal", @@ -15494,7 +16546,8 @@ "temporal_from_hexwkb", "tge_temporal_temporal", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tge_temporal_temporal" }, "tboolNot": { "field": "tnotTbool", @@ -15509,7 +16562,8 @@ "meosFns": [ "temporal_from_hexwkb", "tnot_tbool" - ] + ], + "primaryMeos": "tnot_tbool" }, "tboolAnd": { "field": "tandTboolTbool", @@ -15525,7 +16579,8 @@ "meosFns": [ "temporal_from_hexwkb", "tand_tbool_tbool" - ] + ], + "primaryMeos": "tand_tbool_tbool" }, "tboolOr": { "field": "torTboolTbool", @@ -15541,7 +16596,8 @@ "meosFns": [ "temporal_from_hexwkb", "tor_tbool_tbool" - ] + ], + "primaryMeos": "tor_tbool_tbool" }, "numSequences": { "field": "numSequences", @@ -15556,7 +16612,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_num_sequences" - ] + ], + "primaryMeos": "temporal_num_sequences" }, "interp": { "field": "interp", @@ -15571,7 +16628,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_interp" - ] + ], + "primaryMeos": "temporal_interp" }, "time": { "field": "time", @@ -15587,7 +16645,8 @@ "temporal_from_hexwkb", "temporal_time", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "temporal_time" }, "timespan": { "field": "timespan", @@ -15603,7 +16662,8 @@ "temporal_from_hexwkb", "temporal_to_tstzspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tstzspan" }, "merge": { "field": "merge", @@ -15620,7 +16680,8 @@ "temporal_from_hexwkb", "temporal_merge", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_merge" }, "shift": { "field": "shift", @@ -15638,7 +16699,8 @@ "pg_interval_in", "temporal_shift_time", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_shift_time" }, "scale": { "field": "scale", @@ -15656,7 +16718,8 @@ "pg_interval_in", "temporal_scale_time", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_scale_time" }, "atSpan": { "field": "atSpan", @@ -15674,7 +16737,8 @@ "span_from_hexwkb", "temporal_at_tstzspan", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_tstzspan" }, "atSpanset": { "field": "atSpanset", @@ -15692,7 +16756,8 @@ "spanset_from_hexwkb", "temporal_at_tstzspanset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_tstzspanset" }, "insert": { "field": "insert", @@ -15709,7 +16774,8 @@ "temporal_from_hexwkb", "temporal_insert", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_insert" }, "update": { "field": "update", @@ -15726,7 +16792,8 @@ "temporal_from_hexwkb", "temporal_update", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_update" }, "tfloatStartValue": { "field": "tfloatStartValue", @@ -15741,7 +16808,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_start_value" - ] + ], + "primaryMeos": "tfloat_start_value" }, "tfloatEndValue": { "field": "tfloatEndValue", @@ -15756,7 +16824,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_end_value" - ] + ], + "primaryMeos": "tfloat_end_value" }, "tfloatMinValue": { "field": "tfloatMinValue", @@ -15771,7 +16840,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_min_value" - ] + ], + "primaryMeos": "tfloat_min_value" }, "tfloatMaxValue": { "field": "tfloatMaxValue", @@ -15786,7 +16856,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_max_value" - ] + ], + "primaryMeos": "tfloat_max_value" }, "tintStartValue": { "field": "tintStartValue", @@ -15801,7 +16872,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_start_value" - ] + ], + "primaryMeos": "tint_start_value" }, "tintEndValue": { "field": "tintEndValue", @@ -15816,7 +16888,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_end_value" - ] + ], + "primaryMeos": "tint_end_value" }, "tintMinValue": { "field": "tintMinValue", @@ -15831,7 +16904,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_min_value" - ] + ], + "primaryMeos": "tint_min_value" }, "tintMaxValue": { "field": "tintMaxValue", @@ -15846,7 +16920,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_max_value" - ] + ], + "primaryMeos": "tint_max_value" }, "tboolStartValue": { "field": "tboolStartValue", @@ -15861,7 +16936,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbool_start_value" - ] + ], + "primaryMeos": "tbool_start_value" }, "tboolEndValue": { "field": "tboolEndValue", @@ -15876,7 +16952,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbool_end_value" - ] + ], + "primaryMeos": "tbool_end_value" }, "tpointStartValue": { "field": "tpointStartValue", @@ -15892,7 +16969,8 @@ "temporal_from_hexwkb", "tgeo_start_value", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_start_value" }, "tpointEndValue": { "field": "tpointEndValue", @@ -15908,7 +16986,8 @@ "temporal_from_hexwkb", "tgeo_end_value", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_end_value" }, "ttextStartValue": { "field": "ttextStartValue", @@ -15924,7 +17003,8 @@ "temporal_from_hexwkb", "ttext_start_value", "text_out" - ] + ], + "primaryMeos": "ttext_start_value" }, "ttextEndValue": { "field": "ttextEndValue", @@ -15940,7 +17020,8 @@ "temporal_from_hexwkb", "ttext_end_value", "text_out" - ] + ], + "primaryMeos": "ttext_end_value" }, "tintGetValue": { "field": "tintStartValue", @@ -15955,7 +17036,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_start_value" - ] + ], + "primaryMeos": "tint_start_value" }, "tfloatGetValue": { "field": "tfloatStartValue", @@ -15970,7 +17052,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_start_value" - ] + ], + "primaryMeos": "tfloat_start_value" }, "tboolGetValue": { "field": "tboolStartValue", @@ -15985,7 +17068,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbool_start_value" - ] + ], + "primaryMeos": "tbool_start_value" }, "ttextGetValue": { "field": "ttextStartValue", @@ -16001,7 +17085,8 @@ "temporal_from_hexwkb", "ttext_start_value", "text_out" - ] + ], + "primaryMeos": "ttext_start_value" }, "tpointGetValue": { "field": "tpointStartValue", @@ -16017,7 +17102,8 @@ "temporal_from_hexwkb", "tgeo_start_value", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_start_value" }, "getValue": { "field": "tfloatStartValue", @@ -16032,7 +17118,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_start_value" - ] + ], + "primaryMeos": "tfloat_start_value" }, "atMin": { "field": "atMin", @@ -16048,7 +17135,8 @@ "temporal_from_hexwkb", "temporal_at_min", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_min" }, "atMax": { "field": "atMax", @@ -16064,7 +17152,8 @@ "temporal_from_hexwkb", "temporal_at_max", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_max" }, "atValues": { "field": "atValues", @@ -16082,7 +17171,8 @@ "set_from_hexwkb", "temporal_at_values", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_at_values" }, "minusTime": { "field": "minusTime", @@ -16100,7 +17190,8 @@ "span_from_hexwkb", "temporal_minus_tstzspan", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_tstzspan" }, "minusMin": { "field": "minusMin", @@ -16116,7 +17207,8 @@ "temporal_from_hexwkb", "temporal_minus_min", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_min" }, "minusMax": { "field": "minusMax", @@ -16132,7 +17224,8 @@ "temporal_from_hexwkb", "temporal_minus_max", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_minus_max" }, "atStbox": { "field": "atStbox", @@ -16150,7 +17243,8 @@ "stbox_from_hexwkb", "tgeo_at_stbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_at_stbox" }, "minusStbox": { "field": "minusStbox", @@ -16168,7 +17262,8 @@ "stbox_from_hexwkb", "tgeo_minus_stbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tgeo_minus_stbox" }, "tnumberAtTbox": { "field": "tnumberAtTbox", @@ -16186,7 +17281,8 @@ "tbox_from_hexwkb", "tnumber_at_tbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_at_tbox" }, "tnumberMinusTbox": { "field": "tnumberMinusTbox", @@ -16204,7 +17300,8 @@ "tbox_from_hexwkb", "tnumber_minus_tbox", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_minus_tbox" }, "appendInstant": { "field": "appendInstant", @@ -16221,7 +17318,8 @@ "temporal_from_hexwkb", "temporal_append_tinstant", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_append_tinstant" }, "appendSequence": { "field": "appendSequence", @@ -16238,7 +17336,8 @@ "temporal_from_hexwkb", "temporal_append_tsequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_append_tsequence" }, "tnumberValuespans": { "field": "tnumberValuespans", @@ -16254,7 +17353,8 @@ "temporal_from_hexwkb", "tnumber_valuespans", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_valuespans" }, "tnumberToSpan": { "field": "tnumberToSpan", @@ -16270,7 +17370,8 @@ "temporal_from_hexwkb", "tnumber_to_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_to_span" }, "tnumberToTbox": { "field": "tnumberToTbox", @@ -16286,7 +17387,8 @@ "temporal_from_hexwkb", "tnumber_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tnumber_to_tbox" }, "setLeft": { "field": "setLeft", @@ -16299,7 +17401,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setRight": { "field": "setRight", @@ -16312,7 +17415,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setOverleft": { "field": "setOverleft", @@ -16325,7 +17429,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setOverright": { "field": "setOverright", @@ -16338,7 +17443,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setContains": { "field": "setContains", @@ -16353,7 +17459,8 @@ "retType": "Boolean", "meosFns": [ "contains_set_set" - ] + ], + "primaryMeos": "contains_set_set" }, "setContained": { "field": "setContained", @@ -16366,7 +17473,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "setOverlaps": { "field": "setOverlaps", @@ -16381,7 +17489,8 @@ "retType": "Boolean", "meosFns": [ "overlaps_set_set" - ] + ], + "primaryMeos": "overlaps_set_set" }, "distanceIntsetIntset": { "field": "distanceIntsetIntset", @@ -16397,7 +17506,8 @@ "meosFns": [ "set_from_hexwkb", "distance_intset_intset" - ] + ], + "primaryMeos": "distance_intset_intset" }, "distanceBigintsetBigintset": { "field": "distanceBigintsetBigintset", @@ -16413,7 +17523,8 @@ "meosFns": [ "set_from_hexwkb", "distance_bigintset_bigintset" - ] + ], + "primaryMeos": "distance_bigintset_bigintset" }, "distanceFloatsetFloatset": { "field": "distanceFloatsetFloatset", @@ -16429,7 +17540,8 @@ "meosFns": [ "set_from_hexwkb", "distance_floatset_floatset" - ] + ], + "primaryMeos": "distance_floatset_floatset" }, "distanceTstzsetTstzset": { "field": "distanceTstzsetTstzset", @@ -16445,7 +17557,8 @@ "meosFns": [ "set_from_hexwkb", "distance_tstzset_tstzset" - ] + ], + "primaryMeos": "distance_tstzset_tstzset" }, "setDistance": { "field": "distanceFloatsetFloatset", @@ -16461,7 +17574,8 @@ "meosFns": [ "set_from_hexwkb", "distance_floatset_floatset" - ] + ], + "primaryMeos": "distance_floatset_floatset" }, "spanContains": { "field": "spanContains", @@ -16476,7 +17590,8 @@ "retType": "Boolean", "meosFns": [ "contains_span_span" - ] + ], + "primaryMeos": "contains_span_span" }, "spanContainedIn": { "field": "spanContainedIn", @@ -16491,7 +17606,8 @@ "retType": "Boolean", "meosFns": [ "contained_span_span" - ] + ], + "primaryMeos": "contained_span_span" }, "spanOverlaps": { "field": "spanOverlaps", @@ -16506,7 +17622,8 @@ "retType": "Boolean", "meosFns": [ "overlaps_span_span" - ] + ], + "primaryMeos": "overlaps_span_span" }, "spanAdjacent": { "field": "spanAdjacent", @@ -16521,7 +17638,8 @@ "retType": "Boolean", "meosFns": [ "adjacent_span_span" - ] + ], + "primaryMeos": "adjacent_span_span" }, "spanLeft": { "field": "spanLeft", @@ -16536,7 +17654,8 @@ "retType": "Boolean", "meosFns": [ "left_span_span" - ] + ], + "primaryMeos": "left_span_span" }, "spanRight": { "field": "spanRight", @@ -16551,7 +17670,8 @@ "retType": "Boolean", "meosFns": [ "right_span_span" - ] + ], + "primaryMeos": "right_span_span" }, "spanOverleft": { "field": "spanOverleft", @@ -16566,7 +17686,8 @@ "retType": "Boolean", "meosFns": [ "overleft_span_span" - ] + ], + "primaryMeos": "overleft_span_span" }, "spanOverright": { "field": "spanOverright", @@ -16581,7 +17702,8 @@ "retType": "Boolean", "meosFns": [ "overright_span_span" - ] + ], + "primaryMeos": "overright_span_span" }, "spanUnion": { "field": "spanUnion", @@ -16597,7 +17719,8 @@ "meosFns": [ "union_span_span", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "union_span_span" }, "spanIntersection": { "field": "spanIntersection", @@ -16613,7 +17736,8 @@ "meosFns": [ "intersection_span_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "intersection_span_span" }, "spanMinus": { "field": "spanMinus", @@ -16629,7 +17753,8 @@ "meosFns": [ "minus_span_span", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "minus_span_span" }, "tstzspanDistance": { "field": "tstzspanDistance", @@ -16644,7 +17769,8 @@ "retType": "Double", "meosFns": [ "distance_tstzspan_tstzspan" - ] + ], + "primaryMeos": "distance_tstzspan_tstzspan" }, "intspanDistance": { "field": "intspanDistance", @@ -16659,7 +17785,8 @@ "retType": "Integer", "meosFns": [ "distance_intspan_intspan" - ] + ], + "primaryMeos": "distance_intspan_intspan" }, "bigintspanDistance": { "field": "bigintspanDistance", @@ -16674,7 +17801,8 @@ "retType": "Long", "meosFns": [ "distance_bigintspan_bigintspan" - ] + ], + "primaryMeos": "distance_bigintspan_bigintspan" }, "floatspanDistance": { "field": "floatspanDistance", @@ -16689,7 +17817,8 @@ "retType": "Double", "meosFns": [ "distance_floatspan_floatspan" - ] + ], + "primaryMeos": "distance_floatspan_floatspan" }, "datespanDistance": { "field": "datespanDistance", @@ -16704,7 +17833,8 @@ "retType": "Integer", "meosFns": [ "distance_datespan_datespan" - ] + ], + "primaryMeos": "distance_datespan_datespan" }, "spanDistance": { "field": "floatspanDistance", @@ -16719,7 +17849,8 @@ "retType": "Double", "meosFns": [ "distance_floatspan_floatspan" - ] + ], + "primaryMeos": "distance_floatspan_floatspan" }, "timeDistance": { "field": "tstzspanDistance", @@ -16734,7 +17865,8 @@ "retType": "Double", "meosFns": [ "distance_tstzspan_tstzspan" - ] + ], + "primaryMeos": "distance_tstzspan_tstzspan" }, "intspanExpand": { "field": "intspanExpand", @@ -16749,7 +17881,8 @@ "retType": "String", "meosFns": [ "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "bigintspanExpand": { "field": "bigintspanExpand", @@ -16764,7 +17897,8 @@ "retType": "String", "meosFns": [ "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "floatspanExpand": { "field": "floatspanExpand", @@ -16779,7 +17913,8 @@ "retType": "String", "meosFns": [ "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "expand": { "field": "floatspanExpand", @@ -16794,7 +17929,8 @@ "retType": "String", "meosFns": [ "span_as_hexwkb" - ] + ], + "primaryMeos": "span_as_hexwkb" }, "spansetContainsSpan": { "field": "spansetContainsSpan", @@ -16809,7 +17945,8 @@ "retType": "Boolean", "meosFns": [ "contains_spanset_span" - ] + ], + "primaryMeos": "contains_spanset_span" }, "spanContainedInSpanset": { "field": "spanContainedInSpanset", @@ -16824,7 +17961,8 @@ "retType": "Boolean", "meosFns": [ "contained_span_spanset" - ] + ], + "primaryMeos": "contained_span_spanset" }, "spansetOverlaps": { "field": "spansetOverlaps", @@ -16839,7 +17977,8 @@ "retType": "Boolean", "meosFns": [ "overlaps_spanset_spanset" - ] + ], + "primaryMeos": "overlaps_spanset_spanset" }, "spansetUnion": { "field": "spansetUnion", @@ -16855,7 +17994,8 @@ "meosFns": [ "union_spanset_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "union_spanset_spanset" }, "spansetIntersection": { "field": "spansetIntersection", @@ -16871,7 +18011,8 @@ "meosFns": [ "intersection_spanset_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "intersection_spanset_spanset" }, "spansetMinus": { "field": "spansetMinus", @@ -16887,7 +18028,8 @@ "meosFns": [ "minus_spanset_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "minus_spanset_spanset" }, "intspanToFloatspan": { "field": "intspanToFloatspan", @@ -16902,7 +18044,8 @@ "meosFns": [ "intspan_to_floatspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "intspan_to_floatspan" }, "floatspanToIntspan": { "field": "floatspanToIntspan", @@ -16917,7 +18060,8 @@ "meosFns": [ "floatspan_to_intspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "floatspan_to_intspan" }, "datespanToTstzspan": { "field": "datespanToTstzspan", @@ -16932,7 +18076,8 @@ "meosFns": [ "datespan_to_tstzspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "datespan_to_tstzspan" }, "tstzspanToDatespan": { "field": "tstzspanToDatespan", @@ -16947,7 +18092,8 @@ "meosFns": [ "tstzspan_to_datespan", "span_as_hexwkb" - ] + ], + "primaryMeos": "tstzspan_to_datespan" }, "intsetToFloatset": { "field": "intsetToFloatset", @@ -16963,7 +18109,8 @@ "set_from_hexwkb", "intset_to_floatset", "set_as_hexwkb" - ] + ], + "primaryMeos": "intset_to_floatset" }, "floatsetToIntset": { "field": "floatsetToIntset", @@ -16979,7 +18126,8 @@ "set_from_hexwkb", "floatset_to_intset", "set_as_hexwkb" - ] + ], + "primaryMeos": "floatset_to_intset" }, "setToSpan": { "field": "setToSpan", @@ -16995,7 +18143,8 @@ "set_from_hexwkb", "set_to_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "set_to_span" }, "setToSpanset": { "field": "setToSpanset", @@ -17011,7 +18160,8 @@ "set_from_hexwkb", "set_to_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "set_to_spanset" }, "tstzspanDuration": { "field": "tstzspanDuration", @@ -17026,7 +18176,8 @@ "meosFns": [ "tstzspan_duration", "pg_interval_out" - ] + ], + "primaryMeos": "tstzspan_duration" }, "datespanDuration": { "field": "datespanDuration", @@ -17041,7 +18192,8 @@ "meosFns": [ "datespan_duration", "pg_interval_out" - ] + ], + "primaryMeos": "datespan_duration" }, "tstzspanShiftScale": { "field": "tstzspanShiftScale", @@ -17059,7 +18211,8 @@ "pg_interval_in", "tstzspan_shift_scale", "span_as_hexwkb" - ] + ], + "primaryMeos": "tstzspan_shift_scale" }, "tstzspansetShiftScale": { "field": "tstzspansetShiftScale", @@ -17077,7 +18230,8 @@ "pg_interval_in", "tstzspanset_shift_scale", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "tstzspanset_shift_scale" }, "timestamptzToSpan": { "field": "timestamptzToSpan", @@ -17092,7 +18246,8 @@ "meosFns": [ "timestamptz_to_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "timestamptz_to_span" }, "timestamptzToSet": { "field": "timestamptzToSet", @@ -17107,7 +18262,8 @@ "meosFns": [ "timestamptz_to_set", "set_as_hexwkb" - ] + ], + "primaryMeos": "timestamptz_to_set" }, "spansetIntersectionSpan": { "field": "spansetIntersectionSpan", @@ -17123,7 +18279,8 @@ "meosFns": [ "intersection_spanset_span", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "intersection_spanset_span" }, "spansetUnionSpan": { "field": "spansetUnionSpan", @@ -17139,7 +18296,8 @@ "meosFns": [ "union_spanset_span", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "union_spanset_span" }, "spansetMinusSpan": { "field": "spansetMinusSpan", @@ -17155,7 +18313,8 @@ "meosFns": [ "minus_spanset_span", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "minus_spanset_span" }, "intToSpan": { "field": "intToSpan", @@ -17170,7 +18329,8 @@ "meosFns": [ "int_to_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "int_to_span" }, "intToSet": { "field": "intToSet", @@ -17185,7 +18345,8 @@ "meosFns": [ "int_to_set", "set_as_hexwkb" - ] + ], + "primaryMeos": "int_to_set" }, "intToSpanset": { "field": "intToSpanset", @@ -17200,7 +18361,8 @@ "meosFns": [ "int_to_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "int_to_spanset" }, "floatToSpan": { "field": "floatToSpan", @@ -17215,7 +18377,8 @@ "meosFns": [ "float_to_span", "span_as_hexwkb" - ] + ], + "primaryMeos": "float_to_span" }, "floatToSet": { "field": "floatToSet", @@ -17230,7 +18393,8 @@ "meosFns": [ "float_to_set", "set_as_hexwkb" - ] + ], + "primaryMeos": "float_to_set" }, "floatToSpanset": { "field": "floatToSpanset", @@ -17245,7 +18409,8 @@ "meosFns": [ "float_to_spanset", "spanset_as_hexwkb" - ] + ], + "primaryMeos": "float_to_spanset" }, "intToTbox": { "field": "intToTbox", @@ -17260,7 +18425,8 @@ "meosFns": [ "int_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "int_to_tbox" }, "floatToTbox": { "field": "floatToTbox", @@ -17275,7 +18441,8 @@ "meosFns": [ "float_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "float_to_tbox" }, "tboxHasx": { "field": "tboxHasx", @@ -17289,7 +18456,8 @@ "retType": "Boolean", "meosFns": [ "tbox_hasx" - ] + ], + "primaryMeos": "tbox_hasx" }, "tboxHast": { "field": "tboxHast", @@ -17303,7 +18471,8 @@ "retType": "Boolean", "meosFns": [ "tbox_hast" - ] + ], + "primaryMeos": "tbox_hast" }, "tboxXmin": { "field": "tboxXmin", @@ -17317,7 +18486,8 @@ "retType": "Double", "meosFns": [ "tbox_xmin" - ] + ], + "primaryMeos": "tbox_xmin" }, "tboxXmax": { "field": "tboxXmax", @@ -17331,7 +18501,8 @@ "retType": "Double", "meosFns": [ "tbox_xmax" - ] + ], + "primaryMeos": "tbox_xmax" }, "tboxXminInc": { "field": "tboxXminInc", @@ -17345,7 +18516,8 @@ "retType": "Boolean", "meosFns": [ "tbox_xmin_inc" - ] + ], + "primaryMeos": "tbox_xmin_inc" }, "tboxXmaxInc": { "field": "tboxXmaxInc", @@ -17359,7 +18531,8 @@ "retType": "Boolean", "meosFns": [ "tbox_xmax_inc" - ] + ], + "primaryMeos": "tbox_xmax_inc" }, "tboxTmin": { "field": "tboxTmin", @@ -17373,7 +18546,8 @@ "retType": "java.sql.Timestamp", "meosFns": [ "tbox_tmin" - ] + ], + "primaryMeos": "tbox_tmin" }, "tboxTmax": { "field": "tboxTmax", @@ -17387,7 +18561,8 @@ "retType": "java.sql.Timestamp", "meosFns": [ "tbox_tmax" - ] + ], + "primaryMeos": "tbox_tmax" }, "tboxTminInc": { "field": "tboxTminInc", @@ -17401,7 +18576,8 @@ "retType": "Boolean", "meosFns": [ "tbox_tmin_inc" - ] + ], + "primaryMeos": "tbox_tmin_inc" }, "tboxTmaxInc": { "field": "tboxTmaxInc", @@ -17415,7 +18591,8 @@ "retType": "Boolean", "meosFns": [ "tbox_tmax_inc" - ] + ], + "primaryMeos": "tbox_tmax_inc" }, "tboxToIntspan": { "field": "tboxToIntspan", @@ -17430,7 +18607,8 @@ "meosFns": [ "tbox_to_intspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "tbox_to_intspan" }, "tboxToFloatspan": { "field": "tboxToFloatspan", @@ -17445,7 +18623,8 @@ "meosFns": [ "tbox_to_floatspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "tbox_to_floatspan" }, "tboxToTstzspan": { "field": "tboxToTstzspan", @@ -17460,7 +18639,8 @@ "meosFns": [ "tbox_to_tstzspan", "span_as_hexwkb" - ] + ], + "primaryMeos": "tbox_to_tstzspan" }, "tboxRound": { "field": "tboxRound", @@ -17476,7 +18656,8 @@ "meosFns": [ "tbox_round", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_round" }, "spanToTbox": { "field": "spanToTbox", @@ -17492,7 +18673,8 @@ "span_from_hexwkb", "span_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "span_to_tbox" }, "spansetToTbox": { "field": "spansetToTbox", @@ -17508,7 +18690,8 @@ "spanset_from_hexwkb", "spanset_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "spanset_to_tbox" }, "setToTbox": { "field": "setToTbox", @@ -17524,7 +18707,8 @@ "set_from_hexwkb", "set_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "set_to_tbox" }, "tboxfloatXmin": { "field": "tboxfloatXmin", @@ -17538,7 +18722,8 @@ "retType": "Double", "meosFns": [ "tboxfloat_xmin" - ] + ], + "primaryMeos": "tboxfloat_xmin" }, "tboxfloatXmax": { "field": "tboxfloatXmax", @@ -17552,7 +18737,8 @@ "retType": "Double", "meosFns": [ "tboxfloat_xmax" - ] + ], + "primaryMeos": "tboxfloat_xmax" }, "tboxintXmin": { "field": "tboxintXmin", @@ -17566,7 +18752,8 @@ "retType": "Integer", "meosFns": [ "tboxint_xmin" - ] + ], + "primaryMeos": "tboxint_xmin" }, "tboxintXmax": { "field": "tboxintXmax", @@ -17580,7 +18767,8 @@ "retType": "Integer", "meosFns": [ "tboxint_xmax" - ] + ], + "primaryMeos": "tboxint_xmax" }, "tboxMake": { "field": "tboxMake", @@ -17597,7 +18785,8 @@ "span_from_hexwkb", "tbox_make", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_make" }, "timestamptzToTbox": { "field": "timestamptzToTbox", @@ -17612,7 +18801,8 @@ "meosFns": [ "timestamptz_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "timestamptz_to_tbox" }, "numspanTimestamptzToTbox": { "field": "numspanTimestamptzToTbox", @@ -17629,7 +18819,8 @@ "span_from_hexwkb", "numspan_timestamptz_to_tbox", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "numspan_timestamptz_to_tbox" }, "tboxExpandTime": { "field": "tboxExpandTime", @@ -17646,7 +18837,8 @@ "pg_interval_in", "tbox_expand_time", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_expand_time" }, "tboxExpandFloat": { "field": "tboxExpandFloat", @@ -17661,7 +18853,8 @@ "retType": "String", "meosFns": [ "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "tboxExpandInt": { "field": "tboxExpandInt", @@ -17676,7 +18869,8 @@ "retType": "String", "meosFns": [ "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "tboxShiftScaleTime": { "field": "tboxShiftScaleTime", @@ -17694,7 +18888,8 @@ "pg_interval_in", "tbox_shift_scale_time", "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_shift_scale_time" }, "intersectionTboxTbox": { "field": "intersectionTboxTbox", @@ -17707,7 +18902,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "unionTboxTbox": { "field": "unionTboxTbox", @@ -17722,7 +18918,8 @@ "retType": "String", "meosFns": [ "union_tbox_tbox" - ] + ], + "primaryMeos": "union_tbox_tbox" }, "tboxIntersection": { "field": "intersectionTboxTbox", @@ -17735,7 +18932,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxUnion": { "field": "unionTboxTbox", @@ -17750,7 +18948,8 @@ "retType": "String", "meosFns": [ "union_tbox_tbox" - ] + ], + "primaryMeos": "union_tbox_tbox" }, "expandValue": { "field": "tboxExpandFloat", @@ -17765,7 +18964,8 @@ "retType": "String", "meosFns": [ "tbox_as_hexwkb" - ] + ], + "primaryMeos": "tbox_as_hexwkb" }, "tboxContains": { "field": "tboxContains", @@ -17778,7 +18978,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxContained": { "field": "tboxContained", @@ -17791,7 +18992,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverlaps": { "field": "tboxOverlaps", @@ -17804,7 +19006,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxLeft": { "field": "tboxLeft", @@ -17817,7 +19020,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverleft": { "field": "tboxOverleft", @@ -17830,7 +19034,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxRight": { "field": "tboxRight", @@ -17843,7 +19048,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverright": { "field": "tboxOverright", @@ -17856,7 +19062,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxBefore": { "field": "tboxBefore", @@ -17869,7 +19076,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverbefore": { "field": "tboxOverbefore", @@ -17882,7 +19090,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxAfter": { "field": "tboxAfter", @@ -17895,7 +19104,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxOverafter": { "field": "tboxOverafter", @@ -17908,7 +19118,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tboxAdjacent": { "field": "tboxAdjacent", @@ -17921,7 +19132,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "temporalSubtype": { "field": "temporalSubtype", @@ -17936,7 +19148,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_subtype" - ] + ], + "primaryMeos": "temporal_subtype" }, "startInstant": { "field": "startInstant", @@ -17952,7 +19165,8 @@ "temporal_from_hexwkb", "temporal_start_instant", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_start_instant" }, "endInstant": { "field": "endInstant", @@ -17968,7 +19182,8 @@ "temporal_from_hexwkb", "temporal_end_instant", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_end_instant" }, "instantN": { "field": "instantN", @@ -17985,7 +19200,8 @@ "temporal_from_hexwkb", "temporal_instant_n", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_instant_n" }, "startSequence": { "field": "startSequence", @@ -18001,7 +19217,8 @@ "temporal_from_hexwkb", "temporal_start_sequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_start_sequence" }, "endSequence": { "field": "endSequence", @@ -18017,7 +19234,8 @@ "temporal_from_hexwkb", "temporal_end_sequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_end_sequence" }, "sequenceN": { "field": "sequenceN", @@ -18034,7 +19252,8 @@ "temporal_from_hexwkb", "temporal_sequence_n", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_sequence_n" }, "minInstant": { "field": "minInstant", @@ -18050,7 +19269,8 @@ "temporal_from_hexwkb", "temporal_min_instant", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_min_instant" }, "maxInstant": { "field": "maxInstant", @@ -18066,7 +19286,8 @@ "temporal_from_hexwkb", "temporal_max_instant", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_max_instant" }, "numTimestamps": { "field": "numTimestamps", @@ -18081,7 +19302,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_num_timestamps" - ] + ], + "primaryMeos": "temporal_num_timestamps" }, "timestampN": { "field": "timestampN", @@ -18097,7 +19319,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_timestamptz_n" - ] + ], + "primaryMeos": "temporal_timestamptz_n" }, "lowerInc": { "field": "lowerInc", @@ -18112,7 +19335,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_lower_inc" - ] + ], + "primaryMeos": "temporal_lower_inc" }, "upperInc": { "field": "upperInc", @@ -18127,7 +19351,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_upper_inc" - ] + ], + "primaryMeos": "temporal_upper_inc" }, "duration": { "field": "duration", @@ -18143,7 +19368,8 @@ "temporal_from_hexwkb", "temporal_duration", "pg_interval_out" - ] + ], + "primaryMeos": "temporal_duration" }, "tboolValueN": { "field": "tboolValueN", @@ -18159,7 +19385,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbool_value_n" - ] + ], + "primaryMeos": "tbool_value_n" }, "tfloatValueN": { "field": "tfloatValueN", @@ -18175,7 +19402,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_value_n" - ] + ], + "primaryMeos": "tfloat_value_n" }, "ttextMinValue": { "field": "ttextMinValue", @@ -18191,7 +19419,8 @@ "temporal_from_hexwkb", "ttext_min_value", "text_out" - ] + ], + "primaryMeos": "ttext_min_value" }, "ttextMaxValue": { "field": "ttextMaxValue", @@ -18207,7 +19436,8 @@ "temporal_from_hexwkb", "ttext_max_value", "text_out" - ] + ], + "primaryMeos": "ttext_max_value" }, "ttextValueN": { "field": "ttextValueN", @@ -18224,7 +19454,8 @@ "temporal_from_hexwkb", "ttext_value_n", "text_out" - ] + ], + "primaryMeos": "ttext_value_n" }, "tpointSrid": { "field": "tpointSrid", @@ -18239,7 +19470,8 @@ "meosFns": [ "temporal_from_hexwkb", "tspatial_srid" - ] + ], + "primaryMeos": "tspatial_srid" }, "tpointValueN": { "field": "tpointValueN", @@ -18256,7 +19488,8 @@ "temporal_from_hexwkb", "tgeo_value_n", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_value_n" }, "tintValueN": { "field": "tintValueN", @@ -18272,7 +19505,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_value_n" - ] + ], + "primaryMeos": "tint_value_n" }, "tboolValueAtTimestamptz": { "field": "tboolValueAtTimestamptz", @@ -18288,7 +19522,8 @@ "meosFns": [ "temporal_from_hexwkb", "tbool_value_at_timestamptz" - ] + ], + "primaryMeos": "tbool_value_at_timestamptz" }, "tintValueAtTimestamptz": { "field": "tintValueAtTimestamptz", @@ -18304,7 +19539,8 @@ "meosFns": [ "temporal_from_hexwkb", "tint_value_at_timestamptz" - ] + ], + "primaryMeos": "tint_value_at_timestamptz" }, "tfloatValueAtTimestamptz": { "field": "tfloatValueAtTimestamptz", @@ -18320,7 +19556,8 @@ "meosFns": [ "temporal_from_hexwkb", "tfloat_value_at_timestamptz" - ] + ], + "primaryMeos": "tfloat_value_at_timestamptz" }, "ttextValueAtTimestamptz": { "field": "ttextValueAtTimestamptz", @@ -18343,7 +19580,8 @@ "tfloat_values", "temporal_as_hexwkb", "ttext_values" - ] + ], + "primaryMeos": "ttext_values" }, "temporalBeforeSpan": { "field": "temporalBeforeSpan", @@ -18358,7 +19596,8 @@ "retType": "Boolean", "meosFns": [ "before_temporal_tstzspan" - ] + ], + "primaryMeos": "before_temporal_tstzspan" }, "temporalAfterSpan": { "field": "temporalAfterSpan", @@ -18373,7 +19612,8 @@ "retType": "Boolean", "meosFns": [ "after_temporal_tstzspan" - ] + ], + "primaryMeos": "after_temporal_tstzspan" }, "temporalOverbeforeSpan": { "field": "temporalOverbeforeSpan", @@ -18388,7 +19628,8 @@ "retType": "Boolean", "meosFns": [ "overbefore_temporal_tstzspan" - ] + ], + "primaryMeos": "overbefore_temporal_tstzspan" }, "temporalOverafterSpan": { "field": "temporalOverafterSpan", @@ -18403,7 +19644,8 @@ "retType": "Boolean", "meosFns": [ "overafter_temporal_tstzspan" - ] + ], + "primaryMeos": "overafter_temporal_tstzspan" }, "tstzspanFromBinary": { "field": "tstzspanFromBinary", @@ -18415,7 +19657,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "intspanFromBinary": { "field": "intspanFromBinary", @@ -18427,7 +19670,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatspanFromBinary": { "field": "floatspanFromBinary", @@ -18439,7 +19683,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintspanFromBinary": { "field": "bigintspanFromBinary", @@ -18451,7 +19696,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "datespanFromBinary": { "field": "datespanFromBinary", @@ -18463,7 +19709,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tstzspansetFromBinary": { "field": "tstzspansetFromBinary", @@ -18475,7 +19722,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "intspansetFromBinary": { "field": "intspansetFromBinary", @@ -18487,7 +19735,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "floatspansetFromBinary": { "field": "floatspansetFromBinary", @@ -18499,7 +19748,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "bigintspansetFromBinary": { "field": "bigintspansetFromBinary", @@ -18511,7 +19761,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "datespansetFromBinary": { "field": "datespansetFromBinary", @@ -18523,7 +19774,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanLeftSpanset": { "field": "spanLeftSpanset", @@ -18536,7 +19788,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanOverleftSpanset": { "field": "spanOverleftSpanset", @@ -18549,7 +19802,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanRightSpanset": { "field": "spanRightSpanset", @@ -18562,7 +19816,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanOverrightSpanset": { "field": "spanOverrightSpanset", @@ -18575,7 +19830,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanAdjacentSpanset": { "field": "spanAdjacentSpanset", @@ -18588,7 +19844,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanContainsSpanset": { "field": "spanContainsSpanset", @@ -18601,7 +19858,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanContainedSpanset": { "field": "spanContainedSpanset", @@ -18614,7 +19872,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spanOverlapsSpanset": { "field": "spanOverlapsSpanset", @@ -18627,7 +19886,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetLeftSpan": { "field": "spansetLeftSpan", @@ -18640,7 +19900,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetOverleftSpan": { "field": "spansetOverleftSpan", @@ -18653,7 +19914,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetRightSpan": { "field": "spansetRightSpan", @@ -18666,7 +19928,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetOverrightSpan": { "field": "spansetOverrightSpan", @@ -18679,7 +19942,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetAdjacentSpan": { "field": "spansetAdjacentSpan", @@ -18692,7 +19956,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetContainedSpan": { "field": "spansetContainedSpan", @@ -18705,7 +19970,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetOverlapsSpan": { "field": "spansetOverlapsSpan", @@ -18718,7 +19984,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetLeftSpanset": { "field": "spansetLeftSpanset", @@ -18731,7 +19998,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetOverleftSpanset": { "field": "spansetOverleftSpanset", @@ -18744,7 +20012,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetRightSpanset": { "field": "spansetRightSpanset", @@ -18757,7 +20026,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetOverrightSpanset": { "field": "spansetOverrightSpanset", @@ -18770,7 +20040,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetAdjacentSpanset": { "field": "spansetAdjacentSpanset", @@ -18783,7 +20054,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetContainsSpanset": { "field": "spansetContainsSpanset", @@ -18796,7 +20068,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "spansetContainedSpanset": { "field": "spansetContainedSpanset", @@ -18809,7 +20082,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "length": { "field": "length", @@ -18824,7 +20098,8 @@ "meosFns": [ "temporal_from_hexwkb", "tpoint_length" - ] + ], + "primaryMeos": "tpoint_length" }, "bboxOverlaps": { "field": "bboxOverlaps", @@ -18843,7 +20118,8 @@ "overlaps_temporal_tstzspan", "stbox_from_hexwkb", "overlaps_tspatial_stbox" - ] + ], + "primaryMeos": "overlaps_tspatial_stbox" }, "valueAtTimestamp": { "field": "valueAtTimestamp", @@ -18860,7 +20136,8 @@ "temporal_from_hexwkb", "tgeo_value_at_timestamptz", "geo_as_text" - ] + ], + "primaryMeos": "tgeo_value_at_timestamptz" }, "geoTimeStbox": { "field": "geoTimeStbox", @@ -18880,7 +20157,8 @@ "geo_tstzspan_to_stbox", "pg_timestamptz_in", "stbox_as_hexwkb" - ] + ], + "primaryMeos": "geo_tstzspan_to_stbox" }, "whenTrue": { "field": "whenTrue", @@ -18896,7 +20174,8 @@ "temporal_from_hexwkb", "tbool_when_true", "tstzspanset_out" - ] + ], + "primaryMeos": "tbool_when_true" }, "npoint": { "field": "npoint", @@ -18909,7 +20188,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "nsegment": { "field": "nsegment", @@ -18923,7 +20203,8 @@ "Double" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "route": { "field": "route", @@ -18935,7 +20216,8 @@ "String" ], "retType": "Long", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "getPosition": { "field": "getPosition", @@ -18947,7 +20229,8 @@ "String" ], "retType": "Double", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "startPosition": { "field": "startPosition", @@ -18959,7 +20242,8 @@ "String" ], "retType": "Double", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "endPosition": { "field": "endPosition", @@ -18971,7 +20255,8 @@ "String" ], "retType": "Double", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointFromText": { "field": "npointFromText", @@ -18983,7 +20268,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointFromEWKT": { "field": "npointFromEWKT", @@ -18995,7 +20281,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointFromHexEWKB": { "field": "npointFromHexEWKB", @@ -19007,7 +20294,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointFromBinary": { "field": "npointFromBinary", @@ -19019,7 +20307,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointFromEWKB": { "field": "npointFromEWKB", @@ -19031,7 +20320,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointsetFromHexWKB": { "field": "npointsetFromHexWKB", @@ -19046,7 +20336,8 @@ "meosFns": [ "set_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "npointsetFromText": { "field": "npointsetFromText", @@ -19060,7 +20351,8 @@ "retType": "String", "meosFns": [ "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "npointsetFromEWKT": { "field": "npointsetFromEWKT", @@ -19072,7 +20364,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "npointsetFromBinary": { "field": "npointsetFromBinary", @@ -19087,7 +20380,8 @@ "meosFns": [ "set_from_hexwkb", "set_as_hexwkb" - ] + ], + "primaryMeos": "set_as_hexwkb" }, "npointsetFromEWKB": { "field": "npointsetFromEWKB", @@ -19099,7 +20393,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "routes": { "field": "routes", @@ -19115,7 +20410,8 @@ "set_from_hexwkb", "set_as_hexwkb", "temporal_from_hexwkb" - ] + ], + "primaryMeos": "temporal_from_hexwkb" }, "tnpoint": { "field": "tnpoint", @@ -19130,7 +20426,8 @@ "retType": "String", "meosFns": [ "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tnpointInst": { "field": "tnpointInst", @@ -19143,7 +20440,8 @@ "Timestamp" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnpointRoute": { "field": "tnpointRoute", @@ -19158,7 +20456,8 @@ "meosFns": [ "temporal_from_hexwkb", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_as_hexwkb" }, "tnpointFromHexWKB": { "field": "tnpointFromHexWKB", @@ -19170,7 +20469,8 @@ "String" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnpointFromBinary": { "field": "tnpointFromBinary", @@ -19182,7 +20482,8 @@ "byte[]" ], "retType": "String", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "tnpointSeq": { "field": "tnpointSeq", @@ -19198,7 +20499,8 @@ "temporal_from_hexwkb", "temporal_to_tsequence", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequence" }, "tnpointSeqSet": { "field": "tnpointSeqSet", @@ -19214,7 +20516,8 @@ "temporal_from_hexwkb", "temporal_to_tsequenceset", "temporal_as_hexwkb" - ] + ], + "primaryMeos": "temporal_to_tsequenceset" }, "tnpointSeqSetGaps": { "field": "tnpointSeqSetGaps", @@ -19233,7 +20536,8 @@ "tsequenceset_make_gaps", "temporal_as_hexwkb", "set_from_hexwkb" - ] + ], + "primaryMeos": "tsequenceset_make_gaps" }, "containsRid": { "field": "containsRid", @@ -19246,7 +20550,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "containedRid": { "field": "containedRid", @@ -19259,7 +20564,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "sameRid": { "field": "sameRid", @@ -19272,7 +20578,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null }, "overlapsRid": { "field": "overlapsRid", @@ -19285,7 +20592,8 @@ "String" ], "retType": "Boolean", - "meosFns": [] + "meosFns": [], + "primaryMeos": null } } } \ No newline at end of file diff --git a/codegen/output/MobilitySparkConnectExtensionsGen.scala b/codegen/output/MobilitySparkConnectExtensionsGen.scala index 94979aedb..ff5635bbb 100644 --- a/codegen/output/MobilitySparkConnectExtensionsGen.scala +++ b/codegen/output/MobilitySparkConnectExtensionsGen.scala @@ -1,9 +1,10 @@ /* GENERATED by codegen/tools/generate_spark_registrar.py from the canonical * named-operation surface (meos-named-surface.json) joined with the MobilitySpark * impl scan (spark-impls.json). Do not edit by hand. Each canonical function is - * injected under its identity name; the camelCase remap and the hand-written - * registrar are retired. Single-impl functions only; multi-impl functions need - * the per-row WKB-type-tag dispatch (see the trailing comment). */ + * injected under its identity name (no camelCase remap, no hand-written table). + * Single-impl functions bind to the one impl; multi-impl functions that differ on + * arg0's MEOS type dispatch per row on the arg0 WKB type tag. Functions that + * differ only on a later argument are listed in the trailing comment. */ package org.mobilitydb.spark.connect import org.apache.spark.sql.SparkSessionExtensions @@ -12,6 +13,7 @@ import org.apache.spark.sql.catalyst.expressions.{Expression, ExpressionInfo, Sc import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder import org.apache.spark.sql.types._ import org.apache.spark.sql.api.java.{UDF1, UDF2, UDF3, UDF4} +import functions.GeneratedFunctions class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) { private lazy val encs: Map[String, ExpressionEncoder[_]] = Map( @@ -35,6 +37,19 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) catch { case _: Throwable => } } + // One SQL name over several type-specific impls: dispatch per row on arg0's + // runtime MEOS type tag to the impl whose receiver type matches. + private def injMulti(ext: SparkSessionExtensions, name: String, arity: Int, + argTs: Array[String], retT: String, + routes: Map[String, AnyRef], dflt: AnyRef): Unit = { + val builder = (children: Seq[Expression]) => { + val n = math.min(children.size, arity) + ScalaUDF(MobilitySparkConnectExtensionsGen.disp(n, routes, dflt, arity), dt(retT), children, + argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) + } + try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) + catch { case _: Throwable => } + } def apply(ext: SparkSessionExtensions): Unit = { inj(ext, "Ymax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmax) @@ -65,12 +80,14 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "getX", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getX) inj(ext, "getY", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getY) inj(ext, "getZ", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getZ) + inj(ext, "hasZ", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxHasz) inj(ext, "initcap", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.textsetInitcap) inj(ext, "insert", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.insert) inj(ext, "instantN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.instantN) inj(ext, "interp", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.interp) inj(ext, "intset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.floatsetToIntset) - inj(ext, "intspan", 3, Array[String]("String", "Double", "Double"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.atElevation) + inj(ext, "intsetFromHexWKB", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.IOAliasUDFs.asHexEWKB) + inj(ext, "isGeodetic", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxIsGeodetic) inj(ext, "lowerInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.lowerInc) inj(ext, "maxInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.maxInstant) inj(ext, "merge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.merge) @@ -81,6 +98,8 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "numDates", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.numDates) inj(ext, "numInstants", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.TemporalUDFs.numInstants) inj(ext, "numSequences", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorUDFs.numSequences) + inj(ext, "numTimestamps", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.MoreAccessorUDFs.numTimestamps) + inj(ext, "numValues", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.SpanAccessorUDFs.setNumValues) inj(ext, "sequenceN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.sequenceN) inj(ext, "setInterp", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSetInterp) inj(ext, "set_contains", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setContains) @@ -100,7 +119,6 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "stbox_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.stboxIntersection) inj(ext, "stbox_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.stboxOverlaps) inj(ext, "tCovers", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.TempSpatialRelsUDFs.tCoversTgeoGeo) - inj(ext, "tbox_in", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.ConstructorUDFs.tbox) inj(ext, "temporal_after", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalAfterSpan) inj(ext, "temporal_before", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalBeforeSpan) inj(ext, "temporal_overafter", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverafterSpan) @@ -114,17 +132,32 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "tfloat", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tintToTfloat) inj(ext, "timestampN", 2, Array[String]("String", "Integer"), "Timestamp", org.mobilitydb.spark.temporal.MoreAccessorUDFs.timestampN) inj(ext, "tintInst", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalToTInstant) + inj(ext, "trajectory", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tpointTrajectory) inj(ext, "twCentroid", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.twCentroid) inj(ext, "update", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.update) inj(ext, "upperInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.upperInc) inj(ext, "volume", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxVolume) + + // multi-impl: per-row arg0 MEOS-type-tag dispatch + injMulti(ext, "SRID", 1, Array[String]("String"), "Integer", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSrid: AnyRef)), (org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointSrid: AnyRef)) + injMulti(ext, "Tmax", 1, Array[String]("String"), "java.sql.Timestamp", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxTmax: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxTmax: AnyRef)), null) + injMulti(ext, "Tmin", 1, Array[String]("String"), "java.sql.Timestamp", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxTmin: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxTmin: AnyRef)), null) + injMulti(ext, "Xmax", 1, Array[String]("String"), "Double", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxXmax: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxXmax: AnyRef)), null) + injMulti(ext, "Xmin", 1, Array[String]("String"), "Double", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxXmin: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxXmin: AnyRef)), null) + injMulti(ext, "asHexWKB", 2, Array[String]("String", "Timestamp"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.temporal.TileUDFs.getSpaceTile: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxExpandFloat: AnyRef)), (org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.afterTimestamp: AnyRef)) + injMulti(ext, "hasT", 1, Array[String]("String"), "Boolean", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxHast: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxHast: AnyRef)), null) + injMulti(ext, "hasX", 1, Array[String]("String"), "Boolean", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxHasx: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxHasx: AnyRef)), null) + injMulti(ext, "intspanset", 1, Array[String]("Double"), "String", Map[String, AnyRef]("floatspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspansetToInt: AnyRef), "set" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setToSpanset: AnyRef)), null) + injMulti(ext, "round", 2, Array[String]("String", "Integer"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxRound: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxRound: AnyRef)), null) + injMulti(ext, "setSRID", 2, Array[String]("String", "Integer"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSetSrid: AnyRef)), (org.mobilitydb.spark.geo.GeoAnalyticsUDFs.setSRID: AnyRef)) + injMulti(ext, "shiftTime", 2, Array[String]("String", "String"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxShiftScaleTime: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxShiftScaleTime: AnyRef)), (org.mobilitydb.spark.temporal.AccessorUDFs.shift: AnyRef)) + injMulti(ext, "span", 1, Array[String]("Double"), "String", Map[String, AnyRef]("set" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setToSpan: AnyRef), "span" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.spanToSpanset: AnyRef)), null) + injMulti(ext, "stbox", 1, Array[String]("String"), "String", Map[String, AnyRef]("tstzspan" -> (org.mobilitydb.spark.geo.STBoxUDFs.tstzspanToStbox: AnyRef)), (org.mobilitydb.spark.geo.GeoUDFs.tpointToStbox: AnyRef)) + injMulti(ext, "tbox", 1, Array[String]("Double"), "String", Map[String, AnyRef]("numspan_timestamptz" -> (org.mobilitydb.spark.temporal.TBoxUDFs.numspanTimestamptzToTbox: AnyRef), "set" -> (org.mobilitydb.spark.temporal.TBoxUDFs.setToTbox: AnyRef), "span" -> (org.mobilitydb.spark.temporal.TBoxUDFs.spanToTbox: AnyRef), "spanset" -> (org.mobilitydb.spark.temporal.TBoxUDFs.spansetToTbox: AnyRef)), (org.mobilitydb.spark.temporal.AccessorUDFs.tnumberToTbox: AnyRef)) + injMulti(ext, "timeSpan", 1, Array[String]("String"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxToTstzspan: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxToTstzspan: AnyRef)), (org.mobilitydb.spark.temporal.TransformUDFs.temporalToTstzspan: AnyRef)) } - // multi-impl (need per-row meos_typeof_hexwkb dispatch, v2): - // SRID -> ['aDwithinGeo', 'aIntersects', 'eContains', 'eCovers', 'eDisjoint', 'eDwithinGeo', 'eIntersects', 'eTouches', 'stboxSrid', 'tpointSRID', 'tpointSrid'] - // Tmax -> ['stboxTmax', 'tboxTmax'] - // Tmin -> ['stboxTmin', 'tboxTmin'] - // Xmax -> ['stboxXmax', 'tboxXmax', 'tboxfloatXmax', 'tboxintXmax'] - // Xmin -> ['stboxXmin', 'tboxXmin', 'tboxfloatXmin', 'tboxintXmin'] + // multi-impl not arg0-dispatchable (all impls share arg0 type; need + // the differentiating arg, e.g. atTime on the time argument): // aDwithin -> ['aDwithin', 'aDwithinGeo'] // aIntersects -> ['aIntersects', 'eIntersects'] // abs -> ['abs', 'tnumberAbs'] @@ -137,7 +170,6 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // angularDifference -> ['tnumberAngularDifference', 'tpointAngularDifference'] // area -> ['stboxArea', 'stboxPerimeter'] // asEWKT -> ['asEWKT', 'tpointAsEWKT'] - // asHexWKB -> ['afterTimestamp', 'appendInstant', 'appendSequence', 'asHexEWKB', 'asHexWKB', 'atElevation', 'atGeometry', 'atMax', 'atMin', 'atSpan', 'atSpanset', 'atStbox', 'atTbox', 'atTime', 'atValue', 'atValues', 'bearing', 'bearingToPoint', 'beforeTimestamp', 'bigintset', 'bigintspanExpand', 'cbuffersetFromBinary', 'cbuffersetFromHexWKB', 'cumulativeLength', 'dates', 'dateset', 'datespan', 'datespanToTstzspan', 'datespanset', 'deleteTime', 'douglasPeuckerSimplify', 'endInstant', 'endSequence', 'expand', 'expandSpace', 'expandValue', 'floatToSet', 'floatToSpan', 'floatToSpanset', 'floatToTbox', 'floatset', 'floatsetCeil', 'floatsetDegrees', 'floatsetFloor', 'floatsetRadians', 'floatsetToIntset', 'floatspan', 'floatspanExpand', 'floatspanShiftScale', 'floatspanToIntspan', 'floatspanset', 'floatspansetCeil', 'floatspansetFloor', 'floatspansetRound', 'floatspansetShiftScale', 'floatspansetToInt', 'geoTimeStbox', 'geography', 'geometry', 'getSpace', 'getSpaceTile', 'getSpaceTimeTile', 'getStboxTimeTile', 'getTBoxTimeTile', 'getTime', 'getTimeTile', 'getValueTile', 'getX', 'getY', 'getZ', 'insert', 'instantN', 'intToSet', 'intToSpan', 'intToSpanset', 'intToTbox', 'intset', 'intsetToFloatset', 'intspan', 'intspanExpand', 'intspanShiftScale', 'intspanToFloatspan', 'intspanset', 'intspansetShiftScale', 'intspansetToFloat', 'maxDistSimplify', 'maxInstant', 'merge', 'minDistSimplify', 'minDistance', 'minDistanceTgeoarrTgeoarr', 'minInstant', 'minTimeDeltaSimplify', 'minusMax', 'minusMin', 'minusStbox', 'minusTbox', 'minusTime', 'minusValue', 'minusValues', 'naiTgeoGeo', 'naiTgeoTgeo', 'nearestApproachInstant', 'npointsetFromBinary', 'npointsetFromHexWKB', 'npointsetFromText', 'numspanTimestamptzToTbox', 'points', 'posesetFromBinary', 'posesetFromHexWKB', 'posesetFromText', 'routes', 'scale', 'sequenceN', 'setIntersection', 'setMinus', 'setSRID', 'setToSpan', 'setToSpanset', 'setToTbox', 'setUnion', 'shift', 'shiftScale', 'span', 'spanIntersection', 'spanMinus', 'spanToSpanset', 'spanToTbox', 'spanUnion', 'spanset', 'spansetEndSpan', 'spansetIntersection', 'spansetIntersectionSpan', 'spansetMinus', 'spansetMinusSpan', 'spansetSpanN', 'spansetStartSpan', 'spansetToTbox', 'spansetUnion', 'spansetUnionSpan', 'speed', 'startInstant', 'startSequence', 'stbox', 'stboxAdjacent', 'stboxFromBinary', 'stboxFromHexWKB', 'stboxToTstzspan', 'stops', 'tContains', 'tCovers', 'tDwithin', 'tbool', 'tboolAtValue', 'tboolFromBaseTemp', 'tboolFromMfjson', 'tboolInst', 'tboolMinusValue', 'tboolWhenTrue', 'tbox', 'tboxExpandFloat', 'tboxExpandInt', 'tboxExpandTime', 'tboxFromBinary', 'tboxFromHexWKB', 'tboxMake', 'tboxRound', 'tboxShiftScaleTime', 'tboxToFloatspan', 'tboxToIntspan', 'tboxToTstzspan', 'tcbuffer', 'tcbufferFromText', 'tcbufferInst', 'tcbufferRadius', 'tcbufferSeq', 'tcbufferSeqSet', 'tcbufferSeqSetGaps', 'tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber', 'temporalAtMax', 'temporalAtMin', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset', 'temporalAtValues', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset', 'temporalMinusValues', 'temporalScaleTime', 'temporalSetInterp', 'temporalShiftScaleTime', 'temporalShiftTime', 'temporalSimplifyDp', 'temporalSimplifyMaxDist', 'temporalSimplifyMinDist', 'temporalSimplifyMinTdelta', 'temporalTPrecision', 'temporalTSample', 'temporalToTInstant', 'temporalToTSequence', 'temporalToTSequenceSet', 'teqTemporalTemporal', 'textset', 'textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText', 'textsetInitcap', 'textsetLower', 'textsetUpper', 'tfloat', 'tfloatAtValue', 'tfloatCeil', 'tfloatDegrees', 'tfloatDerivative', 'tfloatFloor', 'tfloatFromBaseTemp', 'tfloatFromMfjson', 'tfloatInst', 'tfloatMinusValue', 'tfloatRadians', 'tfloatRound', 'tfloatScaleValue', 'tfloatShiftScaleValue', 'tfloatShiftValue', 'tfloatToTint', 'tgeTemporalTemporal', 'tgeoAtGeom', 'tgeoAtStbox', 'tgeoMinusGeom', 'tgeoMinusStbox', 'tgeogpoint', 'tgeogpointFromMfjson', 'tgeography', 'tgeographyFromEWKT', 'tgeometry', 'tgeometryInst', 'tgeompoint', 'tgeompointFromMfjson', 'tgeompointInst', 'tgtTemporalTemporal', 'th3IndexInstFromText', 'th3IndexInstMake', 'th3IndexSeqFromText', 'th3IndexSeqMake', 'th3IndexSeqSetFromText', 'th3IndexSeqSetMake', 'time', 'timespan', 'timestamptzToSet', 'timestamptzToSpan', 'timestamptzToTbox', 'tint', 'tintAtValue', 'tintFromBaseTemp', 'tintFromMfjson', 'tintInst', 'tintMinusValue', 'tintScaleValue', 'tintShiftScaleValue', 'tintShiftValue', 'tintToTfloat', 'tleTemporalTemporal', 'tltTemporalTemporal', 'tneTemporalTemporal', 'tnpoint', 'tnpointRoute', 'tnpointSeq', 'tnpointSeqSet', 'tnpointSeqSetGaps', 'tnumberAtSpan', 'tnumberAtSpanset', 'tnumberAtTbox', 'tnumberMinusSpan', 'tnumberMinusSpanset', 'tnumberMinusTbox', 'tnumberToSpan', 'tnumberToTbox', 'tnumberTrend', 'tnumberValuespans', 'tpointAtElevation', 'tpointAtValue', 'tpointAzimuth', 'tpointCumulativeLength', 'tpointDirection', 'tpointExpandSpace', 'tpointFromBaseTemp', 'tpointMinusElevation', 'tpointMinusValue', 'tpointRound', 'tpointSetSRID', 'tpointSetSrid', 'tpointSpeed', 'tpointToStbox', 'tpointTransform', 'tpose', 'tposeFromMFJSON', 'tposeFromText', 'tposeInst', 'tposePoints', 'tposeRotation', 'tposeSeq', 'tposeSeqSet', 'tposeSeqSetGaps', 'tprecision', 'transform', 'trgeometry', 'trgeometryFromMFJSON', 'trgeometrySeq', 'trgeometrySeqSet', 'trgeometrySeqSetGaps', 'tsample', 'tstzset', 'tstzspan', 'tstzspanShiftScale', 'tstzspanToDatespan', 'tstzspanset', 'tstzspansetShiftScale', 'ttext', 'ttextAtValue', 'ttextCat', 'ttextCatTextTtext', 'ttextCatTtextText', 'ttextCatTtextTtext', 'ttextFromBaseTemp', 'ttextFromMfjson', 'ttextInitcap', 'ttextInst', 'ttextLower', 'ttextMinusValue', 'ttextUpper', 'ttextValueAtTimestamptz', 'update', 'valueSet', 'valueSpan'] // asText -> ['asText', 'tpointAsText'] // atGeometry -> ['atElevation', 'atGeometry', 'tgeoAtGeom', 'tpointAtElevation'] // atMax -> ['atMax', 'temporalAtMax'] @@ -145,7 +177,7 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // atStbox -> ['atStbox', 'tgeoAtStbox'] // atTbox -> ['atTbox', 'tnumberAtTbox'] // atTime -> ['atSpan', 'atSpanset', 'atTime', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset'] - // atValue -> ['atValue', 'tboolAtValue', 'tfloatAtValue', 'tintAtValue', 'tpointAtValue', 'ttextAtValue'] + // atValue -> ['tboolAtValue', 'tfloatAtValue', 'tintAtValue', 'tpointAtValue', 'ttextAtValue'] // atValues -> ['atValues', 'temporalAtValues'] // bearing -> ['bearing', 'bearingToPoint'] // ceil -> ['ceil', 'floatsetCeil', 'floatspansetCeil', 'tfloatCeil'] @@ -160,34 +192,25 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // eContains -> ['eContains', 'geomContains'] // eDisjoint -> ['eDisjoint', 'eDisjointTgeoTgeo'] // eDwithin -> ['eDwithin', 'eDwithinGeo'] - // endSpan -> ['endSpan', 'floatspansetUpper', 'spansetEndSpan'] + // endSpan -> ['endSpan', 'spansetEndSpan'] // endTimestamp -> ['endTimestamp', 'tstzspansetEndTimestamptz'] - // endValue -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'tboolEndValue', 'textsetEndValue', 'tfloatEndValue', 'tintEndValue', 'tpointEndValue', 'tstzsetEndValue', 'ttextEndValue'] + // endValue -> ['tboolEndValue', 'tfloatEndValue', 'tintEndValue', 'tpointEndValue', 'ttextEndValue'] // ever_eq -> ['everEqBoolTbool', 'everEqFloatTfloat', 'everEqIntTint', 'everEqTboolBool', 'everEqTemporal', 'everEqTfloatFloat', 'everEqTintInt'] // ever_ge -> ['everGeFloatTfloat', 'everGeIntTint', 'everGeTemporal', 'everGeTfloatFloat', 'everGeTintInt'] // ever_gt -> ['everGtFloatTfloat', 'everGtIntTint', 'everGtTemporal', 'everGtTfloatFloat', 'everGtTintInt'] // ever_le -> ['everLeFloatTfloat', 'everLeIntTint', 'everLeTemporal', 'everLeTfloatFloat', 'everLeTintInt'] // ever_lt -> ['everLtFloatTfloat', 'everLtIntTint', 'everLtTemporal', 'everLtTfloatFloat', 'everLtTintInt'] - // ever_ne -> ['everNeBoolTbool', 'everNeFloatTfloat', 'everNeIntTint', 'everNeTboolBool', 'everNeTemporal', 'everNeTfloatFloat', 'everNeTintInt'] - // expandSpace -> ['expandSpace', 'stboxExpandSpace', 'tpointExpandSpace'] + // ever_ne -> ['everNeFloatTfloat', 'everNeIntTint', 'everNeTboolBool', 'everNeTemporal', 'everNeTfloatFloat', 'everNeTintInt'] + // expandSpace -> ['expandSpace', 'stboxExpandSpace'] // floatspan -> ['tboxToFloatspan', 'tboxToIntspan'] // floatspanset -> ['floatspanset', 'intspansetToFloat'] // floor -> ['floatsetFloor', 'floatspansetFloor', 'floor', 'tfloatFloor'] // getSpace -> ['getSpace', 'stboxGetSpace'] // getTime -> ['getTime', 'time'] // getValues -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'textsetEndValue', 'tnumberValuespans', 'tstzsetEndValue', 'ttextValueAtTimestamptz'] - // hasT -> ['stboxHast', 'tboxHast'] - // hasX -> ['stboxHasx', 'tboxHasx'] - // hasZ -> ['getZ', 'stboxHasz'] - // intsetFromHexWKB -> ['asHexEWKB', 'atValues', 'cbuffersetFromBinary', 'cbuffersetFromHexWKB', 'dateset', 'datesetEndValue', 'datesetStartValue', 'distanceBigintsetBigintset', 'distanceFloatsetFloatset', 'distanceIntsetIntset', 'distanceTstzsetTstzset', 'everIntersectsH3IndexSetTh3Index', 'floatsetCeil', 'floatsetDegrees', 'floatsetEndValue', 'floatsetFloor', 'floatsetRadians', 'floatsetStartValue', 'floatsetToIntset', 'h3CompactCells', 'h3UncompactCells', 'intsetEndValue', 'intsetStartValue', 'intsetToFloatset', 'minusValues', 'npointsetFromBinary', 'npointsetFromHexWKB', 'posesetFromBinary', 'posesetFromHexWKB', 'routes', 'setDistance', 'setNumValues', 'setToSpan', 'setToSpanset', 'setToTbox', 'set_distance', 'temporalAtTstzset', 'temporalAtValues', 'temporalDeleteTstzset', 'temporalMinusTstzset', 'temporalMinusValues', 'textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText', 'textsetEndValue', 'textsetInitcap', 'textsetLower', 'textsetStartValue', 'textsetUpper', 'tnpointSeqSetGaps', 'tstzsetEndValue', 'tstzsetStartValue'] - // intset_in -> ['asHexEWKB', 'bigintset', 'floatset', 'intset', 'textset', 'tstzset'] - // intspanFromHexWKB -> ['atSpan', 'bigintspanLower', 'bigintspanUpper', 'bigintspanWidth', 'datespanLower', 'datespanUpper', 'floatspanLower', 'floatspanShiftScale', 'floatspanUpper', 'floatspanWidth', 'intspanLower', 'intspanShiftScale', 'intspanUpper', 'intspanWidth', 'minusTime', 'numspanTimestamptzToTbox', 'shiftScale', 'spanLowerInc', 'spanToSpanset', 'spanToTbox', 'spanUpperInc', 'span_distance', 'span_intersection', 'span_minus', 'span_union', 'spanset', 'stboxAdjacent', 'tboxMake', 'temporalAtTstzspan', 'temporalDeleteTstzspan', 'temporalMinusTstzspan', 'time_distance', 'tnumberAtSpan', 'tnumberMinusSpan', 'tpointAtElevation', 'tpointMinusElevation', 'tstzspanLower', 'tstzspanToStbox', 'tstzspanUpper', 'width'] - // intspanset -> ['floatToSpanset', 'floatspansetToInt', 'intToSpanset', 'intspanset', 'setToSpanset'] - // intspansetFromHexWKB -> ['atSpanset', 'bigintspansetWidth', 'dateN', 'dates', 'endDate', 'endSpan', 'floatspanset', 'floatspansetCeil', 'floatspansetFloor', 'floatspansetLower', 'floatspansetRound', 'floatspansetShiftScale', 'floatspansetToInt', 'floatspansetUpper', 'floatspansetWidth', 'intspanset', 'intspansetLower', 'intspansetShiftScale', 'intspansetToFloat', 'intspansetUpper', 'intspansetWidth', 'numDates', 'numSpans', 'spann', 'spansetEndSpan', 'spansetLowerInc', 'spansetNumSpans', 'spansetSpanN', 'spansetStartSpan', 'spansetToTbox', 'spansetUpperInc', 'spanset_distance', 'spanset_intersection', 'spanset_minus', 'spanset_union', 'startDate', 'startSpan', 'temporalAtTstzspanset', 'temporalDeleteTstzspanset', 'temporalMinusTstzspanset', 'time_distance_spanset', 'tnumberAtSpanset', 'tnumberMinusSpanset', 'tstzspansetDuration', 'tstzspansetEndTimestamptz', 'tstzspansetLower', 'tstzspansetNumTimestamps', 'tstzspansetStartTimestamptz', 'tstzspansetUpper'] - // isGeodetic -> ['eIntersects', 'stboxIsGeodetic'] // length -> ['length', 'speed', 'tpointLength', 'tpointSpeed'] // ln -> ['exp', 'ln', 'log10', 'tfloatExp', 'tfloatLn', 'tfloatLog10'] - // lower -> ['bigintspanLower', 'datespanLower', 'floatspanLower', 'floatspansetLower', 'intspanLower', 'intspansetLower', 'textsetLower', 'tstzspanLower', 'tstzspansetLower', 'ttextInitcap', 'ttextLower'] + // lower -> ['bigintspanLower', 'datespanLower', 'floatspanLower', 'floatspansetLower', 'intspanLower', 'intspansetLower', 'textsetLower', 'tstzspanLower', 'tstzspansetLower', 'ttextLower'] // maxValue -> ['tfloatMaxValue', 'tintMaxValue', 'ttextMaxValue'] // minDistSimplify -> ['minDistSimplify', 'temporalSimplifyMinDist'] // minDistance -> ['minDistance', 'minDistanceTgeoarrTgeoarr'] @@ -200,20 +223,14 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // minusValue -> ['minusValue', 'tboolMinusValue', 'tfloatMinusValue', 'tintMinusValue', 'tpointMinusValue', 'ttextMinusValue'] // minusValues -> ['minusValues', 'temporalMinusValues'] // numSpans -> ['numSpans', 'spansetNumSpans'] - // numTimestamps -> ['numTimestamps', 'tstzspansetNumTimestamps'] - // numValues -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'setNumValues', 'textsetEndValue', 'tstzsetEndValue'] // radians -> ['floatsetRadians', 'radians', 'tfloatRadians'] - // round -> ['floatspansetRound', 'stboxRound', 'tboxRound'] // scaleTime -> ['scale', 'temporalScaleTime'] // scaleValue -> ['tfloatScaleValue', 'tintScaleValue'] // set -> ['floatToSet', 'intToSet', 'timestamptzToSet'] - // setSRID -> ['setSRID', 'stboxSetSrid', 'tpointSetSRID', 'tpointSetSrid'] // set_distance -> ['distanceBigintsetBigintset', 'distanceFloatsetFloatset', 'distanceIntsetIntset', 'distanceTstzsetTstzset', 'setDistance', 'set_distance'] // shift -> ['floatspanShiftScale', 'floatspansetShiftScale', 'intspanShiftScale', 'intspansetShiftScale', 'shiftScale', 'tstzspanShiftScale', 'tstzspansetShiftScale'] // shiftScaleValue -> ['tfloatShiftScaleValue', 'tintShiftScaleValue'] - // shiftTime -> ['shift', 'stboxShiftScaleTime', 'tboxShiftScaleTime', 'temporalShiftScaleTime', 'temporalShiftTime'] // shiftValue -> ['tfloatShiftValue', 'tintShiftValue'] - // span -> ['floatToSpan', 'intToSpan', 'setToSpan', 'spanToSpanset', 'spanset', 'timestamptzToSpan'] // spanN -> ['spann', 'spansetSpanN'] // span_contained -> ['spanContainedIn', 'spanContainedInSpanset'] // span_contains -> ['spanContains', 'spansetContainsSpan'] @@ -222,11 +239,10 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // span_minus -> ['spansetMinus', 'spansetMinusSpan', 'spanset_minus'] // span_overlaps -> ['spanOverlaps', 'spansetOverlaps'] // span_union -> ['spansetUnion', 'spansetUnionSpan', 'spanset_union'] - // startSpan -> ['floatspansetLower', 'spansetStartSpan', 'startSpan'] + // startSpan -> ['spansetStartSpan', 'startSpan'] // startTimestamp -> ['getTimestamp', 'startTimestamp', 'tstzspansetStartTimestamptz'] // startValue -> ['datesetStartValue', 'floatsetStartValue', 'getValue', 'intsetStartValue', 'startValue', 'tboolGetValue', 'tboolStartValue', 'textsetStartValue', 'tfloatGetValue', 'tfloatStartValue', 'tintGetValue', 'tintStartValue', 'tpointGetValue', 'tpointStartValue', 'tstzsetStartValue', 'ttextGetValue', 'ttextStartValue'] - // stbox -> ['aDwithinGeo', 'aIntersects', 'eContains', 'eCovers', 'eDisjoint', 'eDwithinGeo', 'eIntersects', 'eTouches', 'expandSpace', 'geoToStbox', 'getZ', 'timestamptzToStbox', 'tpointExpandSpace', 'tpointSRID', 'tpointToStbox', 'tstzspanToStbox'] - // stboxFromHexWKB -> ['atStbox', 'bboxOverlaps', 'box2d', 'box3d', 'expandSpace', 'getSpace', 'getTBoxTimeTile', 'minusStbox', 'nadTgeoStbox', 'stboxFromBinary', 'stboxFromHexWKB', 'stboxOverlaps', 'stbox_intersection', 'stbox_union', 'tgeoAtStbox', 'tgeoMinusStbox', 'tpointExpandSpace'] + // stboxFromHexWKB -> ['box2d', 'box3d', 'nadTgeoStbox'] // stbox_union -> ['stboxUnion', 'stbox_union', 'unionStboxStbox'] // tContains -> ['tContains', 'tContainsTgeoGeo'] // tDisjoint -> ['tDisjoint', 'tDisjointTgeoTgeo'] @@ -234,28 +250,24 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // tDwithin -> ['tDwithin', 'tDwithinTgeoGeo'] // tIntersects -> ['tIntersects', 'tIntersectsTgeoTgeo'] // tTouches -> ['tTouches', 'tTouchesTogeoTgeo'] - // tbox -> ['floatToTbox', 'intToTbox', 'numspanTimestamptzToTbox', 'setToTbox', 'spanToTbox', 'spansetToTbox', 'timestamptzToTbox', 'tnumberToTbox'] - // tboxFromHexWKB -> ['atTbox', 'bigintSpan', 'minusTbox', 'tboxFromBinary', 'tboxFromHexWKB', 'tbox_intersection', 'tbox_union', 'tnumberAtTbox', 'tnumberMinusTbox'] // tempSubtype -> ['tempSubtype', 'temporalSubtype'] // textset_cat -> ['textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText'] - // timeSpan -> ['span', 'stboxToTstzspan', 'tboxToTstzspan', 'timespan'] - // timestamps -> ['atValue', 'tstzspansetNumTimestamps', 'ttextValueAtTimestamptz'] - // tint -> ['geomContains', 'geomToH3Cell', 'tboolInst', 'tcbufferInst', 'tfloatInst', 'tfloatToTint', 'tgeompointInst', 'tintInst', 'tposeInst', 'ttextInst'] - // tintFromHexWKB -> ['aDisjoint', 'aDwithin', 'aDwithinGeo', 'aIntersects', 'abs', 'addTfloatFloat', 'addTintInt', 'addTnumberTnumber', 'afterTimestamp', 'alwaysNeTh3IndexH3Index', 'alwaysNeTh3IndexTh3Index', 'appendInstant', 'appendSequence', 'asEWKT', 'asHexEWKB', 'asHexWKB', 'asText', 'atElevation', 'atGeometry', 'atMax', 'atMin', 'atSpan', 'atSpanset', 'atStbox', 'atTbox', 'atTime', 'atValue', 'atValues', 'avgValue', 'bboxOverlaps', 'bearing', 'bearingToPoint', 'beforeTimestamp', 'ceil', 'cumulativeLength', 'degrees', 'deleteTime', 'deltavalue', 'derivative', 'divTfloatFloat', 'divTintInt', 'divTnumberTnumber', 'douglasPeuckerSimplify', 'duration', 'dynTimeWarpDistance', 'dynamicTimeWarp', 'eContains', 'eCovers', 'eDisjoint', 'eDisjointTgeoTgeo', 'eDwithin', 'eDwithinGeo', 'eIntersects', 'eIntersectsTgeoTgeo', 'eTouches', 'endInstant', 'endSequence', 'endTimestamp', 'endValue', 'everIntersectsH3IndexSetTh3Index', 'everNeBoolTbool', 'exp', 'expandSpace', 'floor', 'frechetDistance', 'geography', 'geometry', 'getTBoxTimeTile', 'getTime', 'getTimestamp', 'getValue', 'getX', 'getY', 'getZ', 'hausdorffDistance', 'insert', 'instantN', 'integral', 'interp', 'isSimple', 'length', 'ln', 'log10', 'lowerInc', 'maxDistSimplify', 'maxInstant', 'memSize', 'merge', 'minDistSimplify', 'minDistance', 'minDistanceTgeoGeo', 'minDistanceTgeoTgeo', 'minDistanceTgeoarrTgeoarr', 'minInstant', 'minTimeDeltaSimplify', 'minusMax', 'minusMin', 'minusStbox', 'minusTbox', 'minusTime', 'minusValue', 'minusValues', 'multTfloatFloat', 'multTintInt', 'multTnumberTnumber', 'nadTgeoGeo', 'nadTgeoStbox', 'nadTgeoTgeo', 'naiTgeoGeo', 'naiTgeoTgeo', 'nearestApproachDistance', 'nearestApproachInstant', 'numInstants', 'numSequences', 'numTimestamps', 'points', 'radians', 'routes', 'scale', 'sequenceN', 'setSRID', 'shift', 'shortestLine', 'shortestLineTgeoGeo', 'shortestLineTgeoTgeo', 'span', 'speed', 'startInstant', 'startSequence', 'startTimestamp', 'startValue', 'stops', 'subTfloatFloat', 'subTintInt', 'subTnumberTnumber', 'tContains', 'tContainsTgeoGeo', 'tContainsTgeoTgeo', 'tCovers', 'tCoversTgeoGeo', 'tDisjoint', 'tDisjointTgeoTgeo', 'tDwithin', 'tDwithinTgeoGeo', 'tIntersects', 'tIntersectsTgeoTgeo', 'tTouches', 'tTouchesTogeoTgeo', 'tandBool', 'tandBoolTbool', 'tandTboolTbool', 'tbigintToTh3Index', 'tboolAnd', 'tboolAtValue', 'tboolEndValue', 'tboolFromBaseTemp', 'tboolGetValue', 'tboolMinusValue', 'tboolNot', 'tboolOr', 'tboolOut', 'tboolStartValue', 'tboolValueAtTimestamptz', 'tboolValueN', 'tboolWhenTrue', 'tcbuffer', 'tcbufferInst', 'tcbufferRadius', 'tcbufferSeq', 'tcbufferSeqSet', 'tcbufferSeqSetGaps', 'tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber', 'tempSubtype', 'temporalAsMfjson', 'temporalAtMax', 'temporalAtMin', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset', 'temporalAtValues', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset', 'temporalMinusValues', 'temporalScaleTime', 'temporalSetInterp', 'temporalShiftScaleTime', 'temporalShiftTime', 'temporalSimplifyDp', 'temporalSimplifyMaxDist', 'temporalSimplifyMinDist', 'temporalSimplifyMinTdelta', 'temporalSubtype', 'temporalTPrecision', 'temporalTSample', 'temporalToTInstant', 'temporalToTSequence', 'temporalToTSequenceSet', 'teqH3IndexTh3Index', 'teqTemporalTemporal', 'teqTh3IndexH3Index', 'teqTh3IndexTh3Index', 'tfloatAtValue', 'tfloatCeil', 'tfloatDegrees', 'tfloatDerivative', 'tfloatEndValue', 'tfloatExp', 'tfloatFloor', 'tfloatFromBaseTemp', 'tfloatGetValue', 'tfloatLn', 'tfloatLog10', 'tfloatMaxValue', 'tfloatMinValue', 'tfloatMinusValue', 'tfloatOut', 'tfloatRadians', 'tfloatRound', 'tfloatScaleValue', 'tfloatShiftScaleValue', 'tfloatShiftValue', 'tfloatStartValue', 'tfloatToTint', 'tfloatValueAtTimestamptz', 'tfloatValueN', 'tgeTemporalTemporal', 'tgeoAtGeom', 'tgeoAtStbox', 'tgeoMinusGeom', 'tgeoMinusStbox', 'tgeoTraversedArea', 'tgeogpointGreatCircleDistance', 'tgeogpointToTh3Index', 'tgeography', 'tgeographyFromEWKT', 'tgeometry', 'tgeompointToTh3Index', 'tgtTemporalTemporal', 'th3IndexAreNeighborCells', 'th3IndexCellArea', 'th3IndexCellToCenterChild', 'th3IndexCellToChildPos', 'th3IndexCellToLocalIj', 'th3IndexCellToParent', 'th3IndexCellToVertex', 'th3IndexCellsToDirectedEdge', 'th3IndexChildPosToCell', 'th3IndexEdgeLength', 'th3IndexEndValue', 'th3IndexGridDistance', 'th3IndexIsPentagon', 'th3IndexLocalIjToCell', 'th3IndexSeqSetMake', 'th3IndexStartValue', 'th3IndexToTbigint', 'th3IndexValueAtTimestamp', 'th3IndexValueN', 'time', 'timespan', 'timestampN', 'tintAtValue', 'tintEndValue', 'tintFromBaseTemp', 'tintGetValue', 'tintMaxValue', 'tintMinValue', 'tintMinusValue', 'tintOut', 'tintScaleValue', 'tintShiftScaleValue', 'tintShiftValue', 'tintStartValue', 'tintToTfloat', 'tintValueAtTimestamptz', 'tintValueN', 'tleTemporalTemporal', 'tltTemporalTemporal', 'tneH3IndexTh3Index', 'tneTemporalTemporal', 'tneTh3IndexH3Index', 'tneTh3IndexTh3Index', 'tnotTbool', 'tnpointRoute', 'tnpointSeq', 'tnpointSeqSet', 'tnpointSeqSetGaps', 'tnumberAbs', 'tnumberAngularDifference', 'tnumberAtSpan', 'tnumberAtSpanset', 'tnumberAtTbox', 'tnumberDeltaValue', 'tnumberIntegral', 'tnumberMinusSpan', 'tnumberMinusSpanset', 'tnumberMinusTbox', 'tnumberToSpan', 'tnumberToTbox', 'tnumberTrend', 'tnumberTwavg', 'tnumberValuespans', 'tnumber_add', 'tnumber_div', 'tnumber_mul', 'tnumber_sub', 'torBool', 'torBoolTbool', 'torTboolTbool', 'tpointAngularDifference', 'tpointAsEWKT', 'tpointAsText', 'tpointAtElevation', 'tpointAtValue', 'tpointAzimuth', 'tpointConvexHull', 'tpointCumulativeLength', 'tpointDirection', 'tpointEndValue', 'tpointExpandSpace', 'tpointFromBaseTemp', 'tpointGetValue', 'tpointIsSimple', 'tpointLength', 'tpointMinusElevation', 'tpointMinusValue', 'tpointRound', 'tpointSRID', 'tpointSetSRID', 'tpointSetSrid', 'tpointSpeed', 'tpointSrid', 'tpointStartValue', 'tpointToStbox', 'tpointTrajectory', 'tpointTransform', 'tpointValueN', 'tpose', 'tposeInst', 'tposePoints', 'tposeRotation', 'tposeSeq', 'tposeSeqSet', 'tposeSeqSetGaps', 'tprecision', 'trajectory', 'transform', 'traversedArea', 'trend', 'trgeometry', 'trgeometrySeq', 'trgeometrySeqSet', 'trgeometrySeqSetGaps', 'tsample', 'ttextAtValue', 'ttextCat', 'ttextCatTextTtext', 'ttextCatTtextText', 'ttextCatTtextTtext', 'ttextEndValue', 'ttextFromBaseTemp', 'ttextGetValue', 'ttextInitcap', 'ttextInst', 'ttextLower', 'ttextMaxValue', 'ttextMinValue', 'ttextMinusValue', 'ttextOut', 'ttextStartValue', 'ttextUpper', 'ttextValueAtTimestamptz', 'ttextValueN', 'twCentroid', 'twavg', 'update', 'upperInc', 'valueAtTimestamp', 'valueN', 'valueSet', 'valueSpan', 'whenTrue'] - // tintSeq -> ['tcbufferSeq', 'temporalToTSequence', 'tnpointSeq', 'tposeSeq', 'trgeometrySeq', 'ttextInst'] + // timestamps -> ['atValue', 'tstzspansetNumTimestamps'] + // tint -> ['tboolInst', 'tcbufferInst', 'tfloatInst', 'tfloatToTint', 'tgeompointInst', 'tintInst', 'tposeInst'] + // tintFromHexWKB -> ['avgValue', 'memSize', 'minDistanceTgeoTgeo', 'nadTgeoTgeo', 'routes'] + // tintSeq -> ['tcbufferSeq', 'temporalToTSequence', 'tnpointSeq', 'tposeSeq', 'trgeometrySeq'] // tintSeqSet -> ['tcbufferSeqSet', 'temporalToTSequenceSet', 'tnpointSeqSet', 'tposeSeqSet', 'trgeometrySeqSet', 'ttextInst'] // tintSeqSetGaps -> ['tcbufferSeqSetGaps', 'tnpointSeqSetGaps', 'tposeSeqSetGaps', 'trgeometrySeqSetGaps'] // tnumber_add -> ['addTfloatFloat', 'addTintInt', 'addTnumberTnumber', 'tnumber_add'] // tnumber_div -> ['divTfloatFloat', 'divTnumberTnumber', 'tnumber_div'] // tnumber_mul -> ['multTfloatFloat', 'multTintInt', 'multTnumberTnumber', 'tnumber_mul'] // tnumber_sub -> ['subTfloatFloat', 'subTintInt', 'subTnumberTnumber', 'tnumber_sub'] - // trajectory -> ['tpointTrajectory', 'trajectory'] // traversedArea -> ['tgeoTraversedArea', 'traversedArea'] // trend -> ['tnumberTrend', 'trend'] // twAvg -> ['tnumberTwavg', 'twavg'] // upper -> ['bigintspanUpper', 'datespanUpper', 'floatspanUpper', 'floatspansetUpper', 'intspanUpper', 'intspansetUpper', 'textsetUpper', 'tstzspanUpper', 'tstzspansetUpper', 'ttextUpper'] - // valueAtTimestamp -> ['tboolValueAtTimestamptz', 'tfloatValueAtTimestamptz', 'tintValueAtTimestamptz', 'ttextValueAtTimestamptz', 'valueAtTimestamp'] - // valueN -> ['everNeBoolTbool', 'tboolValueN', 'tfloatValueN', 'tintValueN', 'tpointValueN', 'ttextFromBaseTemp', 'ttextInitcap', 'ttextValueN', 'valueN'] + // valueAtTimestamp -> ['tboolValueAtTimestamptz', 'tfloatValueAtTimestamptz', 'tintValueAtTimestamptz', 'valueAtTimestamp'] + // valueN -> ['everNeBoolTbool', 'tboolValueN', 'tfloatValueN', 'tintValueN', 'tpointValueN', 'ttextInitcap', 'ttextValueN', 'valueN'] // valueSpan -> ['tnumberToSpan', 'valueSpan'] // whenTrue -> ['tboolWhenTrue', 'whenTrue'] // width -> ['bigintspanWidth', 'bigintspansetWidth', 'floatspanWidth', 'floatspansetWidth', 'intspanWidth', 'intspansetWidth', 'width'] @@ -277,4 +289,18 @@ object MobilitySparkConnectExtensionsGen { case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c)) case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d)) } + // route by arg0's MEOS type-tag name to the matching type-specific impl + private def pick(a0: Any, routes: Map[String, AnyRef], dflt: AnyRef): AnyRef = a0 match { + case s: String => + val tn = try GeneratedFunctions.meostype_name(GeneratedFunctions.meos_typeof_hexwkb(s)) + catch { case _: Throwable => null } + routes.getOrElse(tn, dflt) + case _ => dflt + } + def disp(n: Int, routes: Map[String, AnyRef], dflt: AnyRef, m: Int): AnyRef = n match { + case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a)) } + case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b)) } + case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c)) } + case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d)) } + } } diff --git a/codegen/tools/NAMED_SURFACE.md b/codegen/tools/NAMED_SURFACE.md index aabf7021c..3e89f981c 100644 --- a/codegen/tools/NAMED_SURFACE.md +++ b/codegen/tools/NAMED_SURFACE.md @@ -59,13 +59,25 @@ so they capture only the serializable UDF, not the extension. The builder adapts to the call-site arity by null-padding the impl's optional args (so `asMFJSON(g)` reaches the impl's default precision). -- **single impl** (81 functions): direct ScalaUDF over the one impl. Generated, - compiled, and served live over Spark Connect under the identity names - (`asMFJSON(trip)`, `numSequences(trip)`, …) — retiring the camelCase remap and - `dialect_spark.go`'s `sparkNameMap` for this set. -- **multi impl** (139 functions, one SQL name over several type-specific impls): - listed in the generated file for the **v2** per-row `meos_typeof_hexwkb` - dispatch (the FFI peek is present in `GeneratedFunctions`). +- **single impl**: direct ScalaUDF over the one impl, bound to the identity name + (`asMFJSON(trip)`, `numSequences(trip)`, …) — no camelCase remap, no + `dialect_spark.go` `sparkNameMap` for this set. +- **multi impl, arg0-dispatchable** (one SQL name over several type-specific impls + whose first argument differs in MEOS type): one ScalaUDF whose companion-object + closure peeks `meostype_name(meos_typeof_hexwkb(arg0))` and routes to the impl + whose receiver type matches, with the `Temporal`-receiver impl as the catch-all + default. `Xmin/Ymin/Xmax/Ymax/Tmin/Tmax` route `stbox→stbox*`, `tbox→tbox*`; + `stbox` routes `tstzspan→tstzspanToStbox` with `tpointToStbox` as default. The + receiver category is read from the impl's `primaryMeos` first C-parameter type + (the last non-marshaling `GeneratedFunctions` call in the UDF body). Served live: + `Xmin(stbox(trip))` resolves the inner and outer tags per row to the real value. +- **multi impl, not arg0-dispatchable** (all impls share the first-arg type; the + differentiating argument is later, e.g. `atTime` on its time argument): listed + in the generated file for the arg-N dispatch extension. + +The registrar serves the `/items`-collection OGC function set (`asMFJSON`, `stbox`, +the `Xmin/Ymin/Xmax/Ymax/Tmin/Tmax` accessors, `numSequences`, `sequenceN`, +`trajectory`) under identity names over Spark Connect. The same two specs feed the PG/DuckDB identity dialects, PyMEOS, and Flink/Kafka. diff --git a/codegen/tools/extract_spark_impls.py b/codegen/tools/extract_spark_impls.py index 69110935e..1fff439fa 100644 --- a/codegen/tools/extract_spark_impls.py +++ b/codegen/tools/extract_spark_impls.py @@ -22,6 +22,18 @@ # a public static UDFn field declaration: capture name + generic type args FIELD_RE = re.compile(r'public\s+static\s+final\s+UDF(\d)<([^>]*)>\s+(\w+)\s*=', re.MULTILINE) GENFN_RE = re.compile(r'GeneratedFunctions\.(\w+)\s*\(') +# I/O helpers a UDF body calls for marshaling, not the semantic operation +HELPER_RE = re.compile(r'(_from_hexwkb|_from_binary|_from_wkb|_from_hexewkb|_in|_out|' + r'_as_hexwkb|_as_wkb|_as_text|_from_mfjson|_from_text|geo_from_text|' + r'pg_timestamptz_in|free)$') + +def primary_meos(meos): + """The semantic MEOS function of a UDF body: the last non-marshaling call + (the result-producing op, after any input parse / bbox-prefilter helpers).""" + for m in reversed(meos): + if not HELPER_RE.search(m): + return m + return meos[-1] if meos else None def scan_impls(root): impls = {} # sparkName -> dict @@ -40,14 +52,16 @@ def scan_impls(root): body = text[m.end(): decls[i + 1].start() if i + 1 < len(decls) else len(text)] meos = list(dict.fromkeys(GENFN_RE.findall(body))) # ordered-unique fields[field] = {'class': cls, 'pkg': pkg, 'arity': arity, - 'argTypes': targs[:-1], 'retType': targs[-1], 'meosFns': meos} + 'argTypes': targs[:-1], 'retType': targs[-1], 'meosFns': meos, + 'primaryMeos': primary_meos(meos)} for m in REG_RE.finditer(text): sparkName, field, ret = m.group(1), m.group(2), m.group(3) fd = fields.get(field) if fd: impls[sparkName] = {'field': field, 'class': fd['class'], 'pkg': fd['pkg'], 'retDataType': ret, 'arity': fd['arity'], 'argTypes': fd['argTypes'], - 'retType': fd['retType'], 'meosFns': fd['meosFns']} + 'retType': fd['retType'], 'meosFns': fd['meosFns'], + 'primaryMeos': fd['primaryMeos']} return impls def main(): @@ -63,8 +77,8 @@ def main(): # MEOS C fn -> spark impl(s) meos2spark = {} for sn, d in impls.items(): - for mf in d['meosFns']: - meos2spark.setdefault(mf, []).append(sn) + if d.get('primaryMeos'): + meos2spark.setdefault(d['primaryMeos'], []).append(sn) derived = {} for fn in surface: for c in fn['c']: diff --git a/codegen/tools/generate_spark_registrar.py b/codegen/tools/generate_spark_registrar.py index 8f92a811a..03228d03a 100644 --- a/codegen/tools/generate_spark_registrar.py +++ b/codegen/tools/generate_spark_registrar.py @@ -9,11 +9,14 @@ Joining them on the SQL->MEOS C doxygen chain yields canonical name -> Spark impl. This tool emits MobilitySparkConnectExtensionsGen.scala: a SparkSessionExtensions that injects each canonical function under its IDENTITY name (no camelCase remap, -no hand-written table). Single-impl functions bind directly to the one impl; -the builder adapts to the call-site arity by null-padding the impl's optional -args (so e.g. asMFJSON(g) reaches the impl's default precision). Multi-impl -functions (one SQL name over several type-specific impls) are listed for the -v2 per-row WKB-type-tag dispatch (meos_typeof_hexwkb) and not emitted here. +no hand-written table). Single-impl functions bind directly to the one impl; the +builder adapts to the call-site arity by null-padding the impl's optional args (so +e.g. asMFJSON(g) reaches the impl's default precision). Multi-impl functions (one +SQL name over several type-specific impls) whose first argument differs in MEOS +type are emitted as a per-row dispatch ScalaUDF that peeks the arg0 WKB type tag +(meos_typeof_hexwkb) and routes to the type-matching impl. Multi-impl functions +that differ only on a later argument (e.g. atTime on its time arg) are listed for +the arg-N dispatch extension. Usage: generate_spark_registrar.py [named-surface.json] [spark-impls.json] [out.scala] """ @@ -26,16 +29,72 @@ meos2spark = {} for sn, d in impls.items(): - for mf in d['meosFns']: - meos2spark.setdefault(mf, []).append(sn) + if d.get('primaryMeos'): + meos2spark.setdefault(d['primaryMeos'], []).append(sn) -single, multi = [], [] +# C-FFI param types -> receiver category, so a multi-impl SQL name can dispatch on +# arg0's runtime MEOS type tag (meos_typeof_hexwkb) to the type-specific impl. +idl = json.load(open(os.path.join(HERE, '..', 'input', 'meos-idl.json'))) +prim2ctype0 = {} +for fdef in idl['functions']: + ps = fdef.get('params') or [] + if ps: + prim2ctype0[fdef['name']] = ps[0].get('cType', '') + +def category(ctype): + if 'STBox' in ctype: return 'stbox' + if 'TBox' in ctype: return 'tbox' + if 'GSERIALIZED' in ctype: return 'geo' + if 'Temporal' in ctype: return 'temporal' + if 'Span' in ctype: return 'span' + if 'Set' in ctype: return 'set' + return 'other' + +# meostype_name strings each impl's arg0 category answers to (geo serves both +# geometry/geography; temporal is the catch-all default; span/set take the +# concrete source type from the *_to_* primaryMeos name) +CAT_TNAMES = {'stbox': ['stbox'], 'tbox': ['tbox'], + 'geo': ['geometry', 'geography', 'geometryset', 'geographyset']} + +def impl_routes(spark): + """(tnames, isDefault) for an impl, by its primaryMeos arg0 category.""" + d = impls[spark] + cat = category(prim2ctype0.get(d['primaryMeos'], '')) + if cat == 'temporal': + return [], True + if cat in CAT_TNAMES: + return CAT_TNAMES[cat], False + if cat in ('span', 'set'): + pm = d['primaryMeos'] + src = pm.split('_to_')[0] if '_to_' in pm else None + return ([src] if src else []), False + return [], False + +single, multi, dispatch = [], [], [] for fn in named['functions']: names = sorted({sn for c in fn['c'] for sn in meos2spark.get(c['meos'], [])}) if len(names) == 1: single.append((fn['name'], names[0])) elif len(names) > 1: - multi.append((fn['name'], names)) + cats = {category(prim2ctype0.get(impls[s]['primaryMeos'], '')) for s in names} + # arg0 distinguishes only when impls differ on the FIRST-arg category and + # at least one is a concrete WKB-peekable receiver (box/geo/span/set) + peekable = cats & {'stbox', 'tbox', 'geo', 'span', 'set'} + if len(cats) > 1 and peekable: + routes = {} # tname -> spark impl + default = None + for s in names: + tns, isdef = impl_routes(s) + for tn in tns: + routes.setdefault(tn, s) + if isdef and default is None: + default = s + if routes: + dispatch.append((fn['name'], names, routes, default)) + else: + multi.append((fn['name'], names)) + else: + multi.append((fn['name'], names)) lines = [] seen = set() @@ -49,12 +108,28 @@ lines.append(f' inj(ext, "{canon}", {d["arity"]}, Array[String]({argts}), ' f'"{d["retType"]}", {fqn})') +dlines = [] +for canon, names, routes, default in dispatch: + if canon in seen: + continue + seen.add(canon) + d = impls[names[0]] # arity/types shared across the type-specific impls + argts = ', '.join(f'"{t}"' for t in d['argTypes']) + def fqn(s): + x = impls[s] + return f"{x['pkg']}.{x['class']}.{x['field']}" + rmap = ', '.join(f'"{tn}" -> ({fqn(s)}: AnyRef)' for tn, s in sorted(routes.items())) + dflt = f"({fqn(default)}: AnyRef)" if default else "null" + dlines.append(f' injMulti(ext, "{canon}", {d["arity"]}, Array[String]({argts}), ' + f'"{d["retType"]}", Map[String, AnyRef]({rmap}), {dflt})') + HEADER = '''/* GENERATED by codegen/tools/generate_spark_registrar.py from the canonical * named-operation surface (meos-named-surface.json) joined with the MobilitySpark * impl scan (spark-impls.json). Do not edit by hand. Each canonical function is - * injected under its identity name; the camelCase remap and the hand-written - * registrar are retired. Single-impl functions only; multi-impl functions need - * the per-row WKB-type-tag dispatch (see the trailing comment). */ + * injected under its identity name (no camelCase remap, no hand-written table). + * Single-impl functions bind to the one impl; multi-impl functions that differ on + * arg0's MEOS type dispatch per row on the arg0 WKB type tag. Functions that + * differ only on a later argument are listed in the trailing comment. */ package org.mobilitydb.spark.connect import org.apache.spark.sql.SparkSessionExtensions @@ -63,6 +138,7 @@ import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder import org.apache.spark.sql.types._ import org.apache.spark.sql.api.java.{UDF1, UDF2, UDF3, UDF4} +import functions.GeneratedFunctions class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) { private lazy val encs: Map[String, ExpressionEncoder[_]] = Map( @@ -86,6 +162,19 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) catch { case _: Throwable => } } + // One SQL name over several type-specific impls: dispatch per row on arg0's + // runtime MEOS type tag to the impl whose receiver type matches. + private def injMulti(ext: SparkSessionExtensions, name: String, arity: Int, + argTs: Array[String], retT: String, + routes: Map[String, AnyRef], dflt: AnyRef): Unit = { + val builder = (children: Seq[Expression]) => { + val n = math.min(children.size, arity) + ScalaUDF(MobilitySparkConnectExtensionsGen.disp(n, routes, dflt, arity), dt(retT), children, + argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) + } + try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) + catch { case _: Throwable => } + } def apply(ext: SparkSessionExtensions): Unit = { ''' @@ -94,8 +183,11 @@ def apply(ext: SparkSessionExtensions): Unit = { with open(out, 'w') as f: f.write(HEADER) f.write('\n'.join(lines)) + f.write('\n\n // multi-impl: per-row arg0 MEOS-type-tag dispatch\n') + f.write('\n'.join(dlines)) f.write('\n }\n') - f.write(' // multi-impl (need per-row meos_typeof_hexwkb dispatch, v2):\n') + f.write(' // multi-impl not arg0-dispatchable (all impls share arg0 type; need\n') + f.write(' // the differentiating arg, e.g. atTime on the time argument):\n') for canon, names in multi: f.write(f' // {canon} -> {names}\n') f.write('}\n\n') @@ -117,6 +209,20 @@ def fn(n: Int, u: AnyRef, m: Int): AnyRef = n match { case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c)) case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d)) } + // route by arg0's MEOS type-tag name to the matching type-specific impl + private def pick(a0: Any, routes: Map[String, AnyRef], dflt: AnyRef): AnyRef = a0 match { + case s: String => + val tn = try GeneratedFunctions.meostype_name(GeneratedFunctions.meos_typeof_hexwkb(s)) + catch { case _: Throwable => null } + routes.getOrElse(tn, dflt) + case _ => dflt + } + def disp(n: Int, routes: Map[String, AnyRef], dflt: AnyRef, m: Int): AnyRef = n match { + case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a)) } + case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b)) } + case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c)) } + case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d)) } + } } ''') print(f"single-impl injected: {len(lines)} multi-impl (v2 dispatch): {len(multi)} -> {out}") From 1bb6ba0f353ebb6155265bebfb26e9334d395053 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 6 Jun 2026 07:58:16 +0200 Subject: [PATCH 15/23] Bind duplicate-registration ops to one impl and fill optional args with the SQL default Several MobilitySpark UDFs register one MEOS operation under both a bare name and a camelCase name (asText/tpointAsText, getTime/time, cumulativeLength/...). When a canonical name's impls all share one primary MEOS function, bind the identity name to a single impl rather than treating it as a type dispatch. Capture each optional argument's SQL DEFAULT literal in the named surface and fill an omitted optional argument with it, but only when the impl exposes a full overload's worth of arguments (impl arity equals that overload's maxArity, so the positions align); otherwise null-pad and let the impl's own default hold. This serves asText/asEWKT (maxdecimaldigits default 15) while keeping asMFJSON at full coordinate precision (its impl exposes a non-leading argument subset). --- codegen/input/meos-named-surface.json | 48528 ++++++++++------ .../MobilitySparkConnectExtensionsGen.scala | 281 +- codegen/tools/extract_named_surface.py | 14 +- codegen/tools/generate_spark_registrar.py | 60 +- 4 files changed, 32549 insertions(+), 16334 deletions(-) diff --git a/codegen/input/meos-named-surface.json b/codegen/input/meos-named-surface.json index 9dafa6f8a..9464b9de3 100644 --- a/codegen/input/meos-named-surface.json +++ b/codegen/input/meos-named-surface.json @@ -9,11 +9,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -24,11 +26,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45,11 +49,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -60,11 +66,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -75,11 +83,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -90,11 +100,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -105,11 +117,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -126,7 +140,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -137,7 +152,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -148,7 +164,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -159,7 +176,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -170,7 +188,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -181,7 +200,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -192,7 +212,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -203,7 +224,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -214,7 +236,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -225,7 +248,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -236,7 +260,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -247,7 +272,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -258,7 +284,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -269,7 +296,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -280,7 +308,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -291,7 +320,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -302,7 +332,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -344,7 +375,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -355,7 +387,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -372,7 +405,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -383,7 +417,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -409,7 +444,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -420,7 +456,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -437,7 +474,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -448,7 +486,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -474,7 +513,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -485,7 +525,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -502,7 +543,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -513,7 +555,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -551,7 +594,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -568,7 +612,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -579,7 +624,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -617,7 +663,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -634,7 +681,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -656,7 +704,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -678,7 +727,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -700,7 +750,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -722,11 +773,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -737,11 +790,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -752,11 +807,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -767,11 +824,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -782,11 +841,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -797,11 +858,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -812,11 +875,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -827,11 +892,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -842,11 +909,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -857,11 +926,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -878,11 +949,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -899,11 +972,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -920,11 +995,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -941,11 +1018,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -962,23 +1041,28 @@ "args": [ { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regoper", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -995,19 +1079,23 @@ "args": [ { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regoper", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -1018,19 +1106,23 @@ "args": [ { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regoper", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -1041,19 +1133,23 @@ "args": [ { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regoper", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -1064,19 +1160,23 @@ "args": [ { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regoper", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -1087,19 +1187,23 @@ "args": [ { "type": "regclass", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "regoper", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -1116,23 +1220,28 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -1149,23 +1258,28 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -1182,11 +1296,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1197,11 +1313,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1212,11 +1330,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1227,11 +1347,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1242,11 +1364,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1257,11 +1381,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1272,11 +1398,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1287,11 +1415,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1302,11 +1432,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1317,11 +1449,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1332,11 +1466,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1347,11 +1483,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1362,11 +1500,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1377,11 +1517,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1392,11 +1534,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1407,11 +1551,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1422,11 +1568,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1484,11 +1632,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1499,11 +1649,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1514,11 +1666,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1529,11 +1683,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1544,11 +1700,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1559,11 +1717,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1574,11 +1734,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1589,11 +1751,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1604,11 +1768,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1619,11 +1785,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1634,11 +1802,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1649,11 +1819,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1664,11 +1836,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1679,11 +1853,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1694,11 +1870,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1709,11 +1887,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1724,11 +1904,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1782,11 +1964,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1797,11 +1981,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1812,11 +1998,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1827,11 +2015,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1842,11 +2032,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1857,11 +2049,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1872,11 +2066,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1887,11 +2083,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1902,11 +2100,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1917,11 +2117,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1932,11 +2134,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1947,11 +2151,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1962,11 +2168,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1977,11 +2185,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -1992,11 +2202,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2007,11 +2219,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2022,11 +2236,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2037,11 +2253,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2052,11 +2270,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2067,11 +2287,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2082,11 +2304,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2097,11 +2321,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2112,11 +2338,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2127,11 +2355,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2142,11 +2372,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2157,11 +2389,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2172,11 +2406,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2222,19 +2458,23 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "setof", @@ -2245,19 +2485,23 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "setof", @@ -2279,15 +2523,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2298,15 +2545,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2317,15 +2567,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2336,15 +2589,18 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2355,15 +2611,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2374,15 +2633,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2393,15 +2655,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2412,15 +2677,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2431,15 +2699,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2450,15 +2721,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2469,15 +2743,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2488,15 +2765,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2507,15 +2787,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2526,15 +2809,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2545,15 +2831,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2564,15 +2853,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2583,15 +2875,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2602,15 +2897,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2621,15 +2919,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2640,15 +2941,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2659,15 +2963,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2678,15 +2985,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2697,15 +3007,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2716,15 +3029,18 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2735,15 +3051,18 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2789,11 +3108,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2804,11 +3125,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2819,11 +3142,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2834,11 +3159,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2849,11 +3176,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2864,11 +3193,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2879,11 +3210,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2894,11 +3227,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2909,11 +3244,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2924,11 +3261,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2939,11 +3278,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2954,11 +3295,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2969,11 +3312,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2984,11 +3329,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -2999,11 +3346,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3014,11 +3363,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3029,11 +3380,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3044,11 +3397,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3059,11 +3414,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3074,11 +3431,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3089,11 +3448,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3104,11 +3465,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3119,11 +3482,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3134,11 +3499,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3149,11 +3516,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3164,11 +3533,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3179,11 +3550,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3194,11 +3567,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3209,11 +3584,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3267,11 +3644,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3282,11 +3661,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3297,11 +3678,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3312,11 +3695,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3327,11 +3712,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3342,11 +3729,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3357,11 +3746,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3372,11 +3763,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3387,11 +3780,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3402,11 +3797,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3417,11 +3814,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3432,11 +3831,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3447,11 +3848,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3462,11 +3865,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3477,11 +3882,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3492,11 +3899,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3507,11 +3916,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3522,11 +3933,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3537,11 +3950,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3603,11 +4018,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3618,11 +4035,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3633,11 +4052,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3648,11 +4069,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3663,11 +4086,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3678,11 +4103,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3693,11 +4120,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3708,11 +4137,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3723,11 +4154,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3738,11 +4171,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3753,11 +4188,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3768,11 +4205,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3783,11 +4222,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3798,11 +4239,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3813,11 +4256,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3828,11 +4273,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3843,11 +4290,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3858,11 +4307,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3873,11 +4324,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3894,7 +4347,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -3905,7 +4359,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -3916,7 +4371,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -3950,11 +4406,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3965,11 +4423,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3980,11 +4440,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -3995,11 +4457,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4010,11 +4474,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4025,11 +4491,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4040,11 +4508,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4055,11 +4525,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4070,11 +4542,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4085,11 +4559,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4100,11 +4576,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4115,11 +4593,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4130,11 +4610,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4145,11 +4627,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4160,11 +4644,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4175,11 +4661,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4190,11 +4678,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4205,11 +4695,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4220,11 +4712,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4235,11 +4729,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4250,11 +4746,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4265,11 +4763,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4280,11 +4780,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4295,11 +4797,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4310,11 +4814,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4325,11 +4831,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4340,11 +4848,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4355,11 +4865,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4370,11 +4882,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4385,11 +4899,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4400,11 +4916,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4415,11 +4933,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4430,11 +4950,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4445,11 +4967,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4460,11 +4984,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4475,11 +5001,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4490,11 +5018,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4505,11 +5035,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4520,11 +5052,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4535,11 +5069,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4550,11 +5086,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4565,11 +5103,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4580,11 +5120,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4595,11 +5137,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4610,11 +5154,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4625,11 +5171,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4640,11 +5188,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4655,11 +5205,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4670,11 +5222,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4685,11 +5239,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4700,11 +5256,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4715,11 +5273,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4730,11 +5290,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4745,11 +5307,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4760,11 +5324,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4775,11 +5341,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4790,11 +5358,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4805,11 +5375,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4820,11 +5392,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4835,11 +5409,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4850,11 +5426,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4865,11 +5443,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4880,11 +5460,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4895,11 +5477,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4910,11 +5494,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4925,11 +5511,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4940,11 +5528,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4955,11 +5545,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4970,11 +5562,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -4985,11 +5579,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5000,11 +5596,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5015,11 +5613,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5030,11 +5630,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5045,11 +5647,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5060,11 +5664,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5075,11 +5681,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5090,11 +5698,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5105,11 +5715,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5120,11 +5732,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5135,11 +5749,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5150,11 +5766,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5165,11 +5783,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5180,11 +5800,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5195,11 +5817,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5210,11 +5834,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5225,11 +5851,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5240,11 +5868,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5255,11 +5885,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5270,11 +5902,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5285,11 +5919,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5300,11 +5936,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5315,11 +5953,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5330,11 +5970,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5345,11 +5987,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5360,11 +6004,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5375,11 +6021,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5390,11 +6038,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5405,11 +6055,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5420,11 +6072,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5435,11 +6089,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5450,11 +6106,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5465,11 +6123,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5486,55 +6146,68 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -5545,31 +6218,38 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -5580,55 +6260,68 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -5639,31 +6332,38 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -5685,11 +6385,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5700,11 +6402,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5715,11 +6419,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5730,11 +6436,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5745,11 +6453,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5760,11 +6470,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5775,11 +6487,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5790,11 +6504,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5805,11 +6521,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5820,11 +6538,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5835,11 +6555,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5850,11 +6572,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5865,11 +6589,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5880,11 +6606,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5895,11 +6623,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5910,11 +6640,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5925,11 +6657,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5940,11 +6674,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5955,11 +6691,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5970,11 +6708,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -5985,11 +6725,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6000,11 +6742,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6015,11 +6759,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6030,11 +6776,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6045,11 +6793,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6060,11 +6810,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6075,11 +6827,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6090,11 +6844,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6105,11 +6861,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6120,11 +6878,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6135,11 +6895,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6150,11 +6912,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6165,11 +6929,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6180,11 +6946,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6195,11 +6963,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6210,11 +6980,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6225,11 +6997,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6240,11 +7014,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6255,11 +7031,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6270,11 +7048,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6285,11 +7065,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6300,11 +7082,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6315,11 +7099,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6330,11 +7116,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6345,11 +7133,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6360,11 +7150,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6375,11 +7167,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6390,11 +7184,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6405,11 +7201,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6420,11 +7218,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6435,11 +7235,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6450,11 +7252,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6465,11 +7269,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6480,11 +7286,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6495,11 +7303,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6510,11 +7320,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6525,11 +7337,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6540,11 +7354,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6555,11 +7371,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6570,11 +7388,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6585,11 +7405,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6600,11 +7422,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6615,11 +7439,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6630,11 +7456,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6645,11 +7473,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6660,11 +7490,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6675,11 +7507,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6690,11 +7524,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6705,11 +7541,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6720,11 +7558,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6735,11 +7575,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6750,11 +7592,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6765,11 +7609,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6780,11 +7626,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6795,11 +7643,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6810,11 +7660,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6825,11 +7677,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6840,11 +7694,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6855,11 +7711,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6870,11 +7728,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -6891,15 +7751,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -6910,15 +7773,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -6929,15 +7795,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -6948,15 +7817,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -6967,15 +7839,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -6986,15 +7861,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -7005,15 +7883,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -7024,15 +7905,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -7043,15 +7927,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -7062,15 +7949,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -7081,15 +7971,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -7100,15 +7993,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -7119,15 +8015,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -7144,11 +8043,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7159,11 +8060,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7174,11 +8077,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7189,11 +8094,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7204,11 +8111,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7219,11 +8128,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7234,11 +8145,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7249,11 +8162,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7264,11 +8179,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7279,11 +8196,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7294,11 +8213,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7309,11 +8230,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7324,11 +8247,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7339,11 +8264,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7354,11 +8281,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7369,11 +8298,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7384,11 +8315,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7399,11 +8332,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7414,11 +8349,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7429,11 +8366,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7444,11 +8383,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7459,11 +8400,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7474,11 +8417,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7489,11 +8434,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7504,11 +8451,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7519,11 +8468,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7534,11 +8485,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7549,11 +8502,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7564,11 +8519,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7579,11 +8536,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7594,11 +8553,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7609,11 +8570,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7624,11 +8587,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7639,11 +8604,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7654,11 +8621,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7669,11 +8638,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7684,11 +8655,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7699,11 +8672,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7714,11 +8689,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7729,11 +8706,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7744,11 +8723,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7759,11 +8740,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7774,11 +8757,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7789,11 +8774,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7915,11 +8902,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7930,11 +8919,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7945,11 +8936,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7960,11 +8953,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7975,11 +8970,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -7990,11 +8987,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8005,11 +9004,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8020,11 +9021,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8035,11 +9038,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8050,11 +9055,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8065,11 +9072,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8080,11 +9089,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8138,11 +9149,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8153,11 +9166,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8168,11 +9183,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8183,11 +9200,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8198,11 +9217,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8213,11 +9234,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8228,11 +9251,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8243,11 +9268,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8258,11 +9285,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8273,11 +9302,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8288,11 +9319,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8303,11 +9336,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8361,11 +9396,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8376,11 +9413,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8391,11 +9430,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8406,11 +9447,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8421,11 +9464,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8436,11 +9481,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8451,11 +9498,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8466,11 +9515,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8481,11 +9532,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8496,11 +9549,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8511,11 +9566,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8526,11 +9583,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8584,11 +9643,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8599,11 +9660,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8614,11 +9677,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8629,11 +9694,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8644,11 +9711,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8659,11 +9728,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8674,11 +9745,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8689,11 +9762,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8704,11 +9779,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8719,11 +9796,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8734,11 +9813,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8749,11 +9830,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8807,11 +9890,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8822,11 +9907,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8837,11 +9924,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8852,11 +9941,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8867,11 +9958,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8882,11 +9975,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8897,11 +9992,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8912,11 +10009,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8927,11 +10026,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8942,11 +10043,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8957,11 +10060,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8972,11 +10077,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -8987,11 +10094,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9002,11 +10111,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9017,11 +10128,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9032,11 +10145,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9047,11 +10162,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9062,11 +10179,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9077,11 +10196,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9092,11 +10213,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9107,11 +10230,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9122,11 +10247,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9137,11 +10264,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9152,11 +10281,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9167,11 +10298,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9182,11 +10315,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9197,11 +10332,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9212,11 +10349,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9227,11 +10366,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9242,11 +10383,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9257,11 +10400,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9272,11 +10417,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9287,11 +10434,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9302,11 +10451,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9317,11 +10468,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9332,11 +10485,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9347,11 +10502,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9362,11 +10519,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9377,11 +10536,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9392,11 +10553,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9407,11 +10570,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9422,11 +10587,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -9548,7 +10715,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -9559,7 +10727,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -9570,11 +10739,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -9600,7 +10771,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -9622,11 +10794,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -9637,11 +10811,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -9652,11 +10828,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -9667,11 +10845,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -9682,11 +10862,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -9697,11 +10879,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -9712,11 +10896,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -9727,11 +10913,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -9742,11 +10930,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -9757,11 +10947,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -9772,11 +10964,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -9787,11 +10981,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -9802,15 +10998,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -9821,15 +11020,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -9840,15 +11042,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -9859,15 +11064,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -9878,15 +11086,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -9897,11 +11108,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -9939,11 +11152,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -9954,11 +11169,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -9969,11 +11186,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -9984,11 +11203,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -9999,11 +11220,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -10014,11 +11237,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -10029,11 +11254,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -10044,11 +11271,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -10059,11 +11288,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -10074,11 +11305,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -10089,11 +11322,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -10104,11 +11339,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -10119,11 +11356,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -10161,11 +11400,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -10176,11 +11417,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -10206,11 +11449,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "float", @@ -10236,7 +11481,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -10247,7 +11493,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -10258,7 +11505,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -10269,7 +11517,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -10280,7 +11529,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -10291,7 +11541,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -10302,7 +11553,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -10313,7 +11565,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -10324,7 +11577,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -10335,7 +11589,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -10346,7 +11601,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -10357,7 +11613,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -10368,7 +11625,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -10379,7 +11637,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -10390,7 +11649,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -10401,7 +11661,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -10412,7 +11673,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -10423,7 +11685,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -10434,7 +11697,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -10445,7 +11709,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -10456,7 +11721,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -10467,7 +11733,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -10478,7 +11745,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -10489,7 +11757,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -10500,7 +11769,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -10511,7 +11781,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -10522,7 +11793,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -10533,7 +11805,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -10544,7 +11817,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -10555,7 +11829,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -10566,7 +11841,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -10577,7 +11853,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -10588,7 +11865,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -10599,7 +11877,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -10610,7 +11889,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -10621,7 +11901,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -10638,11 +11919,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10653,11 +11936,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10668,11 +11953,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10683,11 +11970,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10698,11 +11987,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10713,11 +12004,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10728,11 +12021,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10743,11 +12038,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10758,11 +12055,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10773,11 +12072,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10788,11 +12089,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10803,11 +12106,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10818,11 +12123,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10833,11 +12140,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10848,11 +12157,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10863,11 +12174,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10878,11 +12191,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10893,11 +12208,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10908,11 +12225,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10923,11 +12242,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10938,11 +12259,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10953,11 +12276,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10968,11 +12293,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10983,11 +12310,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -10998,11 +12327,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11013,11 +12344,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11028,11 +12361,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11043,11 +12378,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11058,11 +12395,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11073,11 +12412,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11088,11 +12429,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11103,11 +12446,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11118,11 +12463,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11133,11 +12480,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11148,11 +12497,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11163,11 +12514,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11178,11 +12531,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11193,11 +12548,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11208,11 +12565,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11223,11 +12582,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11238,11 +12599,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11253,11 +12616,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11268,11 +12633,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11283,11 +12650,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11304,11 +12673,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11319,11 +12690,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11334,11 +12707,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11349,11 +12724,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11364,11 +12741,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11379,11 +12758,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11394,11 +12775,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11409,11 +12792,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11424,11 +12809,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11439,11 +12826,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11454,11 +12843,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "bytea", @@ -11475,11 +12866,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11490,11 +12883,13 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11505,11 +12900,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11520,11 +12917,13 @@ "args": [ { "type": "cbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11535,11 +12934,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11550,11 +12951,13 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11565,11 +12968,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11580,11 +12985,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11595,11 +13002,13 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11610,11 +13019,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11625,11 +13036,13 @@ "args": [ { "type": "pose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11640,11 +13053,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11655,11 +13070,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11670,11 +13087,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11685,11 +13104,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11700,11 +13121,13 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11715,11 +13138,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11730,11 +13155,13 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11745,11 +13172,13 @@ "args": [ { "type": "geometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11760,11 +13189,13 @@ "args": [ { "type": "geography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11775,11 +13206,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11790,11 +13223,13 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11805,11 +13240,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11820,11 +13257,13 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11835,11 +13274,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11850,11 +13291,13 @@ "args": [ { "type": "npoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -11865,11 +13308,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -11907,15 +13352,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "text", @@ -11926,15 +13374,18 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "text", @@ -11956,11 +13407,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -11971,11 +13424,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -11986,11 +13441,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12001,11 +13458,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12016,11 +13475,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12031,11 +13492,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12046,11 +13509,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12061,11 +13526,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12076,11 +13543,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12097,11 +13566,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12112,11 +13583,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12127,11 +13600,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12142,11 +13617,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12157,11 +13634,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12172,11 +13651,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12187,11 +13668,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12202,11 +13685,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12217,11 +13702,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12232,11 +13719,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12247,11 +13736,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12262,11 +13753,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12277,11 +13770,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12292,11 +13787,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12307,11 +13804,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12322,11 +13821,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12337,11 +13838,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12352,11 +13855,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12367,11 +13872,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12382,11 +13889,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12397,11 +13906,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12412,11 +13923,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12427,11 +13940,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12442,11 +13957,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12457,11 +13974,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12472,11 +13991,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12487,11 +14008,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12502,11 +14025,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12517,11 +14042,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12532,11 +14059,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12547,11 +14076,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12562,11 +14093,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12577,11 +14110,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12592,11 +14127,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12607,11 +14144,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12622,11 +14161,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12637,11 +14178,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12652,11 +14195,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12667,11 +14212,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "''" } ], "returns": "text", @@ -12725,19 +14272,23 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12748,19 +14299,23 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12771,19 +14326,23 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12794,19 +14353,23 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12817,19 +14380,23 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12840,19 +14407,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12863,19 +14434,23 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12886,19 +14461,23 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12909,19 +14488,23 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -12932,15 +14515,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "text", @@ -12951,15 +14537,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "text", @@ -12970,15 +14559,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "text", @@ -12989,19 +14581,23 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13012,15 +14608,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "text", @@ -13031,19 +14630,23 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13065,35 +14668,43 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "wlocalOutlierFactor(geometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "SETOF", @@ -13115,11 +14726,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13130,11 +14743,13 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13145,11 +14760,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13160,11 +14777,13 @@ "args": [ { "type": "cbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13175,11 +14794,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13190,11 +14811,13 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13205,11 +14828,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13220,11 +14845,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13235,11 +14862,13 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13250,11 +14879,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13265,11 +14896,13 @@ "args": [ { "type": "pose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13280,11 +14913,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13295,11 +14930,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13310,11 +14947,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13325,11 +14964,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13340,11 +14981,13 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13355,11 +14998,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13370,11 +15015,13 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13385,11 +15032,13 @@ "args": [ { "type": "geometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13400,11 +15049,13 @@ "args": [ { "type": "geography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13415,11 +15066,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13430,11 +15083,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13445,11 +15100,13 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13460,11 +15117,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13475,11 +15134,13 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13490,7 +15151,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13501,7 +15163,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13512,7 +15175,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13523,7 +15187,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13534,11 +15199,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13549,7 +15216,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13560,7 +15228,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13571,7 +15240,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13582,7 +15252,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13593,11 +15264,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13608,7 +15281,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13619,7 +15293,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13630,7 +15305,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13641,7 +15317,8 @@ "args": [ { "type": "tbool[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text[]", @@ -13652,7 +15329,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13663,7 +15341,8 @@ "args": [ { "type": "tint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text[]", @@ -13674,7 +15353,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13685,7 +15365,8 @@ "args": [ { "type": "tbigint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text[]", @@ -13696,11 +15377,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13711,11 +15394,13 @@ "args": [ { "type": "tfloat[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13726,7 +15411,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13737,7 +15423,8 @@ "args": [ { "type": "ttext[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text[]", @@ -13748,7 +15435,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13759,7 +15447,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13770,11 +15459,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13785,7 +15476,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13796,7 +15488,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13807,7 +15500,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -13818,11 +15512,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13833,11 +15529,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13848,11 +15546,13 @@ "args": [ { "type": "tnpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13863,11 +15563,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13878,11 +15580,13 @@ "args": [ { "type": "npoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text[]", @@ -13893,11 +15597,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": true + "hasDefault": true, + "default": "15" } ], "returns": "text", @@ -13935,11 +15641,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -13956,11 +15664,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -13971,11 +15681,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -13986,11 +15698,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -14001,11 +15715,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -14016,11 +15732,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -14031,11 +15749,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -14046,11 +15766,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -14108,7 +15830,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -14119,7 +15842,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -14130,7 +15854,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -14141,7 +15866,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -14163,7 +15889,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -14174,7 +15901,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -14185,7 +15913,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -14196,7 +15925,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -14234,15 +15964,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -14253,15 +15986,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -14272,15 +16008,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -14291,15 +16030,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -14310,15 +16052,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -14329,15 +16074,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -14348,15 +16096,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -14394,11 +16145,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -14409,11 +16162,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -14424,11 +16179,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -14450,11 +16207,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -14465,11 +16224,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -14480,11 +16241,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -14495,11 +16258,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -14510,11 +16275,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -14525,11 +16292,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -14540,11 +16309,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -14555,11 +16326,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -14570,11 +16343,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -14585,11 +16360,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -14600,11 +16377,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -14615,11 +16394,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -14630,11 +16411,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -14645,11 +16428,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -14660,11 +16445,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -14675,11 +16462,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -14690,11 +16479,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -14705,11 +16496,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -14720,11 +16513,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -14735,11 +16530,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -14750,11 +16547,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -14765,11 +16564,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -14780,11 +16581,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -14795,11 +16598,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -14810,11 +16615,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -14825,11 +16632,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -14840,11 +16649,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -14855,11 +16666,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -14870,11 +16683,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -14885,11 +16700,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -14900,11 +16717,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -14915,11 +16734,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -14930,11 +16751,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -14945,11 +16768,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -14960,11 +16785,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -14975,11 +16802,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -14990,11 +16819,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15005,11 +16836,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15020,11 +16853,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15035,11 +16870,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -15050,11 +16887,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -15065,11 +16904,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15080,11 +16921,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15095,11 +16938,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15110,11 +16955,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -15125,11 +16972,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -15140,11 +16989,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15155,11 +17006,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15170,11 +17023,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15185,11 +17040,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -15200,11 +17057,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -15215,11 +17074,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15230,11 +17091,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15245,11 +17108,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15260,11 +17125,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -15275,11 +17142,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -15290,11 +17159,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -15305,11 +17176,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -15320,11 +17193,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -15426,15 +17301,18 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -15445,15 +17323,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpoint", @@ -15470,15 +17351,18 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -15495,11 +17379,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -15577,11 +17463,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -15592,11 +17480,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -15607,11 +17497,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -15622,11 +17514,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -15637,11 +17531,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -15652,11 +17548,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -15667,11 +17565,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -15682,11 +17582,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -15697,11 +17599,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -15712,11 +17616,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -15727,11 +17633,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -15742,11 +17650,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -15757,11 +17667,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -15772,11 +17684,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15787,11 +17701,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15802,11 +17718,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15817,11 +17735,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -15832,11 +17752,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15847,11 +17769,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15862,11 +17786,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15877,11 +17803,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -15892,11 +17820,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15907,11 +17837,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15922,11 +17854,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15937,11 +17871,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -15952,11 +17888,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -15967,11 +17905,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -15982,11 +17922,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -15997,11 +17939,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -16047,11 +17991,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16062,11 +18008,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16077,11 +18025,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16092,11 +18042,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16113,7 +18065,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16124,7 +18077,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16135,7 +18089,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16161,7 +18116,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -16191,11 +18147,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16206,11 +18164,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16221,11 +18181,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16236,11 +18198,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16251,11 +18215,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16266,11 +18232,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16281,11 +18249,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16296,11 +18266,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16311,11 +18283,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16326,11 +18300,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16347,11 +18323,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16362,11 +18340,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -16377,11 +18357,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -16392,11 +18374,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -16407,11 +18391,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -16422,11 +18408,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -16437,11 +18425,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -16452,11 +18442,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "isSimple(tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -16486,11 +18478,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16501,11 +18495,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16516,11 +18512,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16531,11 +18529,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16546,11 +18546,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16561,11 +18563,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16576,11 +18580,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16591,11 +18597,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16606,11 +18614,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16621,11 +18631,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16636,11 +18648,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16651,11 +18665,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16666,11 +18682,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16681,11 +18699,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16696,11 +18716,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16711,11 +18733,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16726,11 +18750,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16741,11 +18767,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16756,11 +18784,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16771,11 +18801,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16786,11 +18818,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16801,11 +18835,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16816,11 +18852,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16831,11 +18869,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16846,11 +18886,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16861,11 +18903,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16876,11 +18920,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16891,11 +18937,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16906,11 +18954,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16921,11 +18971,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16936,11 +18988,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16951,11 +19005,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16966,11 +19022,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16981,11 +19039,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -16996,11 +19056,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17011,11 +19073,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17026,11 +19090,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17041,11 +19107,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17056,11 +19124,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17071,11 +19141,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17086,11 +19158,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17101,11 +19175,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17116,11 +19192,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17131,11 +19209,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17146,11 +19226,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17161,11 +19243,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17176,11 +19260,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17191,11 +19277,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17206,11 +19294,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17221,11 +19311,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17236,11 +19328,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17251,11 +19345,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17266,11 +19362,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17281,11 +19379,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17296,11 +19396,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17311,11 +19413,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17326,11 +19430,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17341,11 +19447,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17356,11 +19464,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17371,11 +19481,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17386,11 +19498,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17401,11 +19515,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17416,11 +19532,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17431,11 +19549,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17446,11 +19566,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17461,11 +19583,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17476,11 +19600,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17491,11 +19617,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17506,11 +19634,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17521,11 +19651,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17536,11 +19668,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17551,11 +19685,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17566,11 +19702,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17581,11 +19719,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17596,11 +19736,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17611,11 +19753,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17626,11 +19770,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17641,11 +19787,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17656,11 +19804,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17671,11 +19821,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17692,15 +19844,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -17711,15 +19866,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -17730,15 +19888,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -17749,15 +19910,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -17768,15 +19932,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -17787,15 +19954,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -17806,15 +19976,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -17825,15 +19998,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -17844,15 +20020,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -17863,15 +20042,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -17882,15 +20064,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -17901,15 +20086,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -17920,15 +20108,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -17945,11 +20136,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17960,11 +20153,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17975,11 +20170,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -17990,11 +20187,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18005,11 +20204,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18020,11 +20221,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18035,11 +20238,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18050,11 +20255,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18065,11 +20272,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18080,11 +20289,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18095,11 +20306,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18110,11 +20323,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18125,11 +20340,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18140,11 +20357,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18155,11 +20374,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18170,11 +20391,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18185,11 +20408,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18200,11 +20425,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18215,11 +20442,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -18236,7 +20465,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -18253,7 +20483,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -18270,7 +20501,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -18287,7 +20519,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -18304,7 +20537,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -18321,7 +20555,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -18338,11 +20573,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -18359,7 +20596,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -18376,7 +20614,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -18402,7 +20641,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -18419,7 +20659,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -18436,7 +20677,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -18453,7 +20695,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -18470,7 +20713,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -18487,7 +20731,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -18504,11 +20749,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -18525,7 +20772,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -18542,7 +20790,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -18559,7 +20808,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -18576,7 +20826,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -18593,7 +20844,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -18610,7 +20862,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -18627,7 +20880,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -18644,15 +20898,18 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "intspan[]", @@ -18663,15 +20920,18 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "intspan[]", @@ -18682,15 +20942,18 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatspan[]", @@ -18701,15 +20964,18 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "datespan[]", @@ -18720,15 +20986,18 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tstzspan[]", @@ -18739,15 +21008,18 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "intspan[]", @@ -18758,15 +21030,18 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "intspan[]", @@ -18777,15 +21052,18 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatspan[]", @@ -18796,15 +21074,18 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "datespan[]", @@ -18815,15 +21096,18 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tstzspan[]", @@ -18840,11 +21124,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -18866,11 +21152,13 @@ "args": [ { "type": "point", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "point", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "box", @@ -18887,7 +21175,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "box2d", @@ -18909,7 +21198,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "box3d", @@ -18931,11 +21221,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -18946,7 +21238,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -18972,11 +21265,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -18998,11 +21293,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19028,11 +21325,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19058,11 +21357,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19084,15 +21385,18 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19114,11 +21418,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19140,11 +21446,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19166,11 +21474,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19192,7 +21502,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -19209,11 +21520,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -19230,7 +21543,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -19252,11 +21566,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19286,11 +21602,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19312,11 +21630,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19338,11 +21658,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19364,7 +21686,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -19386,7 +21709,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -19412,11 +21736,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19433,7 +21759,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -19450,11 +21777,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19480,7 +21809,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -19497,7 +21827,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -19514,7 +21845,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -19531,7 +21863,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -19548,7 +21881,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -19565,7 +21899,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -19582,7 +21917,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -19599,7 +21935,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -19610,7 +21947,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -19621,7 +21959,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -19632,7 +21971,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -19666,7 +22006,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -19677,7 +22018,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -19688,7 +22030,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -19699,7 +22042,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -19710,7 +22054,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -19721,7 +22066,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -19747,11 +22093,13 @@ "args": [ { "type": "point", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "circle", @@ -19768,11 +22116,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19783,11 +22133,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19798,11 +22150,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19813,11 +22167,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19828,11 +22184,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19843,11 +22201,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19858,11 +22218,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19873,11 +22235,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19888,11 +22252,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19903,11 +22269,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19918,11 +22286,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19933,11 +22303,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19948,11 +22320,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19963,11 +22337,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19978,11 +22354,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -19993,11 +22371,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20008,11 +22388,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20023,11 +22405,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20038,11 +22422,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20053,11 +22439,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20068,11 +22456,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20083,11 +22473,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20098,11 +22490,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20113,11 +22507,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20128,11 +22524,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20143,11 +22541,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20158,11 +22558,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20173,11 +22575,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20188,11 +22592,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20203,11 +22609,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20218,11 +22626,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20233,11 +22643,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20248,11 +22660,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20263,11 +22677,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20278,11 +22694,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20293,11 +22711,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20308,11 +22728,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20323,11 +22745,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20338,11 +22762,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20353,11 +22779,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20368,11 +22796,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20383,11 +22813,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20398,11 +22830,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20413,11 +22847,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20428,11 +22864,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20443,11 +22881,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20458,11 +22898,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20473,11 +22915,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20488,11 +22932,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20503,11 +22949,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20518,11 +22966,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20533,11 +22983,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20548,11 +23000,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20563,11 +23017,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20578,11 +23034,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20593,11 +23051,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20608,11 +23068,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20623,11 +23085,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20638,11 +23102,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20653,11 +23119,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20668,11 +23136,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20683,11 +23153,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20698,11 +23170,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20713,11 +23187,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20728,11 +23204,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20743,11 +23221,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20758,11 +23238,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20773,11 +23255,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20788,11 +23272,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20803,11 +23289,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20818,11 +23306,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20833,11 +23323,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20848,11 +23340,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20863,11 +23357,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20878,11 +23374,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20893,11 +23391,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20908,11 +23408,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20923,11 +23425,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20938,11 +23442,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20953,11 +23459,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20968,11 +23476,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20983,11 +23493,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -20998,11 +23510,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21013,11 +23527,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21028,11 +23544,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21043,11 +23561,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21058,11 +23578,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21073,11 +23595,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21088,11 +23612,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21103,11 +23629,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21118,11 +23646,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21133,11 +23663,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21148,11 +23680,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21163,11 +23697,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21178,11 +23714,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21193,11 +23731,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21208,11 +23748,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21223,11 +23765,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21238,11 +23782,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21253,11 +23799,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21268,11 +23816,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21283,11 +23833,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21298,11 +23850,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21313,11 +23867,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21328,11 +23884,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21343,11 +23901,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21358,11 +23918,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21373,11 +23935,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21388,11 +23952,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21403,11 +23969,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21418,11 +23986,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21433,11 +24003,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21448,11 +24020,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21463,11 +24037,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21484,11 +24060,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21499,11 +24077,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21514,11 +24094,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21529,11 +24111,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21544,11 +24128,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21565,11 +24151,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21580,11 +24168,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21595,11 +24185,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21610,11 +24202,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21625,11 +24219,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21640,11 +24236,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21655,11 +24253,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21670,11 +24270,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21685,11 +24287,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21700,11 +24304,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21715,11 +24321,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21730,11 +24338,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21745,11 +24355,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21760,11 +24372,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21775,11 +24389,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21790,11 +24406,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21805,11 +24423,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21820,11 +24440,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21835,11 +24457,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21850,11 +24474,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21865,11 +24491,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21880,11 +24508,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21895,11 +24525,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21910,11 +24542,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21925,11 +24559,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21940,11 +24576,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21955,11 +24593,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21970,11 +24610,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -21985,11 +24627,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22000,11 +24644,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22015,11 +24661,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22030,11 +24678,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22045,11 +24695,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22060,11 +24712,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22075,11 +24729,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22090,11 +24746,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22105,11 +24763,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22120,11 +24780,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22135,11 +24797,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22150,11 +24814,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22165,11 +24831,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22180,11 +24848,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22195,11 +24865,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22210,11 +24882,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22225,11 +24899,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22240,11 +24916,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22255,11 +24933,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22270,11 +24950,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22285,11 +24967,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22300,11 +24984,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22315,11 +25001,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22330,11 +25018,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22345,11 +25035,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22360,11 +25052,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22375,11 +25069,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22390,11 +25086,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22405,11 +25103,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22420,11 +25120,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22435,11 +25137,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22450,11 +25154,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22465,11 +25171,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22480,11 +25188,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22495,11 +25205,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22510,11 +25222,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22525,11 +25239,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22540,11 +25256,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22555,11 +25273,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22570,11 +25290,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22585,11 +25307,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22600,11 +25324,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22615,11 +25341,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22630,11 +25358,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22645,11 +25375,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22660,11 +25392,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22675,11 +25409,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22690,11 +25426,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22705,11 +25443,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22720,11 +25460,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22735,11 +25477,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22750,11 +25494,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22765,11 +25511,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22780,11 +25528,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22795,11 +25545,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22810,11 +25562,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22825,11 +25579,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22840,11 +25596,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22855,11 +25613,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22870,11 +25630,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22885,11 +25647,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22900,11 +25664,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22915,11 +25681,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22930,11 +25698,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22945,11 +25715,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22960,11 +25732,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22975,11 +25749,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -22990,11 +25766,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23005,11 +25783,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23020,11 +25800,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23035,11 +25817,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23050,11 +25834,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23065,11 +25851,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23080,11 +25868,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23095,11 +25885,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23110,11 +25902,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23125,11 +25919,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23140,11 +25936,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23155,11 +25953,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23170,11 +25970,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23185,11 +25987,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23200,11 +26004,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23215,11 +26021,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23230,11 +26038,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23245,11 +26055,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23260,11 +26072,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23281,11 +26095,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23296,11 +26112,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23311,11 +26129,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23326,11 +26146,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23341,11 +26163,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -23362,7 +26186,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -23373,7 +26198,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -23384,7 +26210,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -23395,7 +26222,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -23406,7 +26234,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -23436,19 +26265,23 @@ "args": [ { "type": "record[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -23465,7 +26298,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -23476,7 +26310,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -23487,7 +26322,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -23498,7 +26334,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -23536,11 +26373,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -23562,7 +26401,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23584,7 +26424,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23606,7 +26447,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23623,7 +26465,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23640,7 +26483,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23657,7 +26501,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -23674,7 +26519,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23691,7 +26537,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -23708,7 +26555,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -23725,7 +26573,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -23742,7 +26591,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -23759,7 +26609,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -23776,7 +26627,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -23793,7 +26645,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -23810,7 +26663,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -23827,7 +26681,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -23844,11 +26699,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -23865,7 +26722,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -23882,7 +26740,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -23904,7 +26763,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -23921,7 +26781,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -23938,7 +26799,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -23955,7 +26817,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -23972,7 +26835,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -23989,7 +26853,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -24006,11 +26871,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "floatspan", @@ -24021,11 +26888,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "floatspanset", @@ -24036,11 +26905,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "floatset", @@ -24051,11 +26922,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "float", @@ -24066,11 +26939,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "tfloat", @@ -24108,15 +26983,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -24127,15 +27005,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -24146,15 +27027,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -24165,15 +27049,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -24184,15 +27071,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -24203,15 +27093,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -24222,15 +27115,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -24241,15 +27137,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -24260,15 +27159,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -24279,15 +27181,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -24298,15 +27203,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -24317,15 +27225,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -24336,15 +27247,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -24355,15 +27269,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -24374,15 +27291,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -24393,15 +27313,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -24412,15 +27335,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -24431,15 +27357,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -24450,15 +27379,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -24469,15 +27401,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -24488,15 +27423,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -24507,15 +27445,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -24526,15 +27467,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -24545,15 +27489,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -24564,15 +27511,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -24583,15 +27533,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -24602,15 +27555,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -24621,15 +27577,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -24640,15 +27599,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -24659,15 +27621,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -24678,15 +27643,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -24697,15 +27665,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -24716,15 +27687,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -24735,15 +27709,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -24754,15 +27731,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -24773,15 +27753,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -24792,15 +27775,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -24811,15 +27797,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -24830,15 +27819,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -24849,15 +27841,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -24868,15 +27863,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -24887,15 +27885,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -24906,15 +27907,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -24925,15 +27929,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -24944,15 +27951,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -24963,15 +27973,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -24982,15 +27995,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -25001,15 +28017,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -25020,15 +28039,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -25039,15 +28061,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -25058,15 +28083,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -25077,15 +28105,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -25147,7 +28178,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -25158,7 +28190,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -25169,7 +28202,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -25191,7 +28225,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -25221,7 +28256,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25232,7 +28268,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25262,11 +28299,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25277,11 +28316,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25292,11 +28333,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25307,11 +28350,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25322,11 +28367,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -25343,15 +28390,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -25362,15 +28412,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpcpoint", @@ -25381,15 +28434,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -25400,15 +28456,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -25419,15 +28478,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -25438,15 +28500,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -25468,11 +28533,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25483,11 +28550,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25498,11 +28567,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25513,11 +28584,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25528,11 +28601,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25543,11 +28618,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25558,11 +28635,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25573,11 +28652,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25588,11 +28669,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25603,11 +28686,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25618,11 +28703,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25633,11 +28720,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25648,11 +28737,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25663,11 +28754,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25678,7 +28771,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "interval", @@ -25689,7 +28783,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "interval", @@ -25700,11 +28795,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25715,11 +28812,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25730,11 +28829,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "interval", @@ -25780,11 +28881,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25795,11 +28898,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25810,11 +28915,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25825,11 +28932,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25840,11 +28949,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25855,11 +28966,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -25885,11 +28998,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -25900,11 +29015,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -25915,11 +29032,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -25930,11 +29049,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -25945,11 +29066,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -25960,11 +29083,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -25990,11 +29115,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26005,11 +29132,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26020,11 +29149,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26035,11 +29166,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26050,11 +29183,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26065,11 +29200,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26080,11 +29217,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26095,11 +29234,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26110,11 +29251,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26125,11 +29268,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26140,11 +29285,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26155,11 +29302,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26170,11 +29319,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26185,11 +29336,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26200,11 +29353,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26215,11 +29370,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26230,11 +29387,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26280,11 +29439,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26295,11 +29456,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26310,11 +29473,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26325,11 +29490,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26340,11 +29507,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26355,11 +29524,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26370,11 +29541,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26385,11 +29558,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26400,11 +29575,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26415,11 +29592,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26430,11 +29609,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26445,11 +29626,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26460,11 +29643,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26475,11 +29660,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26490,11 +29677,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26505,11 +29694,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26520,11 +29711,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26586,11 +29779,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26601,11 +29796,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26616,11 +29813,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26631,11 +29830,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26646,11 +29847,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26661,11 +29864,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26676,11 +29881,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26691,11 +29898,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26706,11 +29915,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26721,11 +29932,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26736,11 +29949,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26751,11 +29966,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26766,11 +29983,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26781,11 +30000,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26796,23 +30017,28 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "_edisjoint(geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26823,11 +30049,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26838,11 +30066,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26853,11 +30083,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26868,23 +30100,28 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "aDisjoint(geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26895,23 +30132,28 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "_edisjoint(geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26922,11 +30164,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26937,11 +30181,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26952,11 +30198,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26967,23 +30215,28 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "eDisjoint(tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "aDisjoint(geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -26994,11 +30247,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27009,11 +30264,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27024,11 +30281,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27098,15 +30357,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27117,15 +30379,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27136,15 +30401,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27155,15 +30423,18 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27174,15 +30445,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27193,15 +30467,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27212,15 +30489,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27231,15 +30511,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27250,15 +30533,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27269,15 +30555,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27288,15 +30577,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27307,15 +30599,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27326,15 +30621,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27345,15 +30643,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27364,15 +30665,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27383,15 +30687,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27402,15 +30709,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27421,15 +30731,18 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27440,15 +30753,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27459,15 +30775,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27478,15 +30797,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27497,15 +30819,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27516,15 +30841,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27535,15 +30863,18 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27554,15 +30885,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27573,15 +30907,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27592,15 +30929,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27611,15 +30951,18 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27630,15 +30973,18 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27692,23 +31038,28 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "setof", @@ -27719,23 +31070,28 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "setof", @@ -27757,11 +31113,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27772,11 +31130,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27787,11 +31147,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27802,11 +31164,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27817,11 +31181,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27832,11 +31198,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27847,11 +31215,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27862,11 +31232,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27877,11 +31249,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27892,11 +31266,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27907,11 +31283,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27922,11 +31300,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27937,11 +31317,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27952,11 +31334,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27967,11 +31351,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27982,11 +31368,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -27997,11 +31385,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28012,11 +31402,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28027,11 +31419,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28042,11 +31436,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28057,11 +31453,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28072,11 +31470,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28087,11 +31487,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28102,11 +31504,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28117,11 +31521,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28132,11 +31538,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28147,11 +31555,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28162,11 +31572,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28177,11 +31589,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28255,11 +31669,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28270,11 +31686,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28285,11 +31703,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28300,11 +31720,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28315,11 +31737,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28330,11 +31754,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28345,11 +31771,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28360,11 +31788,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28375,11 +31805,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28390,11 +31822,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28405,11 +31839,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28420,11 +31856,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28435,11 +31873,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28450,11 +31890,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28465,11 +31907,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28480,11 +31924,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28495,11 +31941,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28510,11 +31958,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28525,11 +31975,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28603,11 +32055,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28618,11 +32072,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28633,11 +32089,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28648,11 +32106,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28663,11 +32123,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28678,11 +32140,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28699,11 +32163,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28714,11 +32180,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -28735,7 +32203,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -28757,7 +32226,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -28768,7 +32238,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -28779,7 +32250,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -28790,7 +32262,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -28801,7 +32274,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -28812,7 +32286,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -28823,7 +32298,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -28834,7 +32310,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -28845,7 +32322,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -28856,7 +32334,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -28867,7 +32346,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -28878,7 +32358,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -28889,7 +32370,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -28900,7 +32382,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -28911,7 +32394,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -28937,7 +32421,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -28954,7 +32439,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "double", @@ -28976,7 +32462,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -28987,7 +32474,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -28998,7 +32486,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -29009,7 +32498,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -29020,7 +32510,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -29031,7 +32522,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -29042,7 +32534,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -29053,7 +32546,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -29064,7 +32558,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -29075,7 +32570,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -29086,7 +32582,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -29097,7 +32594,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -29108,7 +32606,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -29134,7 +32633,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -29145,7 +32645,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -29156,7 +32657,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -29167,7 +32669,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -29178,7 +32681,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -29200,7 +32704,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29211,7 +32716,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29222,7 +32728,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29233,7 +32740,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29244,7 +32752,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29255,7 +32764,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29266,7 +32776,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29277,7 +32788,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29288,7 +32800,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29299,7 +32812,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29310,7 +32824,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29321,7 +32836,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29332,7 +32848,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29343,7 +32860,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29354,7 +32872,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29365,7 +32884,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29399,7 +32919,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -29410,7 +32931,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -29421,7 +32943,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -29432,7 +32955,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -29443,7 +32967,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -29454,7 +32979,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -29465,7 +32991,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -29476,7 +33003,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -29487,7 +33015,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -29498,7 +33027,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -29509,7 +33039,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -29520,7 +33051,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -29531,7 +33063,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -29542,7 +33075,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -29553,7 +33087,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -29564,7 +33099,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -29575,7 +33111,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -29586,7 +33123,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29597,7 +33135,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -29608,7 +33147,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -29619,7 +33159,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -29630,7 +33171,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -29641,7 +33183,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -29652,7 +33195,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -29663,7 +33207,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -29674,7 +33219,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -29685,7 +33231,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -29696,7 +33243,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -29707,7 +33255,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -29718,7 +33267,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -29820,11 +33370,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29835,11 +33387,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29850,11 +33404,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29865,11 +33421,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29880,11 +33438,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29895,11 +33455,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29910,11 +33472,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29925,11 +33489,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29940,11 +33506,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29955,11 +33523,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29970,11 +33540,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -29985,11 +33557,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30000,11 +33574,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30015,11 +33591,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30030,11 +33608,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30045,11 +33625,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30060,11 +33642,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30075,11 +33659,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30090,11 +33676,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30105,11 +33693,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30120,11 +33710,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30135,11 +33727,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30150,11 +33744,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30165,11 +33761,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30180,11 +33778,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30195,11 +33795,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30210,11 +33812,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30225,11 +33829,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30240,11 +33846,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30255,11 +33863,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30270,11 +33880,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30285,11 +33897,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30300,11 +33914,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30315,11 +33931,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30330,11 +33948,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30345,11 +33965,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30360,11 +33982,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30375,11 +33999,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30390,11 +34016,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30405,11 +34033,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30420,11 +34050,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30435,11 +34067,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30450,11 +34084,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30465,11 +34101,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30591,11 +34229,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30606,11 +34246,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30621,11 +34263,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30636,11 +34280,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30651,11 +34297,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30666,11 +34314,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30681,11 +34331,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30696,11 +34348,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30711,11 +34365,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30726,11 +34382,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30741,11 +34399,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30756,11 +34416,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30814,11 +34476,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30829,11 +34493,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30844,11 +34510,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30859,11 +34527,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30874,11 +34544,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30889,11 +34561,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30904,11 +34578,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30919,11 +34595,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30934,11 +34612,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30949,11 +34629,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30964,11 +34646,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -30979,11 +34663,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31037,11 +34723,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31052,11 +34740,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31067,11 +34757,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31082,11 +34774,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31097,11 +34791,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31112,11 +34808,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31127,11 +34825,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31142,11 +34842,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31157,11 +34859,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31172,11 +34876,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31187,11 +34893,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31202,11 +34910,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31260,11 +34970,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31275,11 +34987,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31290,11 +35004,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31305,11 +35021,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31320,11 +35038,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31335,11 +35055,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31350,11 +35072,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31365,11 +35089,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31380,11 +35106,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31395,11 +35123,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31410,11 +35140,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31425,11 +35157,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31483,11 +35217,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31498,11 +35234,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31513,11 +35251,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31528,11 +35268,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31543,11 +35285,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31558,11 +35302,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31573,11 +35319,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31588,11 +35336,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31603,11 +35353,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31618,11 +35370,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31633,11 +35387,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31648,11 +35404,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31663,11 +35421,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31678,11 +35438,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31693,11 +35455,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31708,11 +35472,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31723,11 +35489,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31738,11 +35506,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31753,11 +35523,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31768,11 +35540,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31783,11 +35557,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31798,11 +35574,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31813,11 +35591,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31828,11 +35608,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31843,11 +35625,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31858,11 +35642,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31873,11 +35659,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31888,11 +35676,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31903,11 +35693,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31918,11 +35710,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31933,11 +35727,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31948,11 +35744,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31963,11 +35761,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31978,11 +35778,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -31993,11 +35795,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32008,11 +35812,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32023,11 +35829,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32038,11 +35846,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32053,11 +35863,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32068,11 +35880,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32083,11 +35897,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32098,11 +35914,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -32224,7 +36042,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -32241,11 +36060,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -32256,11 +36077,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -32271,11 +36094,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -32286,11 +36111,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32301,11 +36128,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -32316,11 +36145,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -32346,11 +36177,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32361,11 +36194,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32376,11 +36211,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32391,11 +36228,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32406,11 +36245,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32421,11 +36262,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32436,11 +36279,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32451,11 +36296,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32466,11 +36313,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32481,11 +36330,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32507,11 +36358,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -32522,11 +36375,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -32548,11 +36403,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -32563,11 +36420,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -32578,11 +36437,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -32616,23 +36477,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tgeompoint", @@ -32643,23 +36509,28 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tfloat", @@ -32688,7 +36559,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -32710,7 +36582,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -32727,7 +36600,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -32744,7 +36618,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -32761,7 +36636,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -32778,7 +36654,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -32795,7 +36672,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -32812,11 +36690,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -32833,7 +36713,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -32850,7 +36731,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32861,7 +36743,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32895,7 +36778,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32912,7 +36796,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32929,7 +36814,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32946,7 +36832,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -32963,7 +36850,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -32980,7 +36868,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -32997,11 +36886,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -33018,7 +36909,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33035,7 +36927,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33057,7 +36950,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33074,7 +36968,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33091,7 +36986,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33108,7 +37004,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -33125,7 +37022,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33142,7 +37040,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -33159,7 +37058,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -33170,7 +37070,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -33181,7 +37082,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -33192,7 +37094,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -33226,11 +37129,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -33241,11 +37146,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -33256,11 +37163,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -33271,11 +37180,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -33286,11 +37197,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -33301,11 +37214,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -33331,11 +37246,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -33346,11 +37263,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -33361,11 +37280,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -33376,11 +37297,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -33391,11 +37314,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -33406,11 +37331,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -33436,11 +37363,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33451,11 +37380,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33466,11 +37397,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33481,11 +37414,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33496,11 +37431,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33511,11 +37448,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33526,11 +37465,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33541,11 +37482,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33556,11 +37499,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33571,11 +37516,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -33592,15 +37539,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geometry", @@ -33611,15 +37561,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geography", @@ -33636,11 +37589,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -33657,11 +37612,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -33678,7 +37635,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -33689,7 +37647,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -33706,31 +37665,38 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "4326" } ], "returns": "stbox", @@ -33747,35 +37713,43 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "4326" } ], "returns": "stbox", @@ -33786,35 +37760,43 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "4326" } ], "returns": "stbox", @@ -33831,7 +37813,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -33842,7 +37825,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -33853,11 +37837,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geography", @@ -33874,7 +37860,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -33891,7 +37878,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -33908,7 +37896,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -33925,7 +37914,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -33942,7 +37932,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -33959,7 +37950,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -33976,7 +37968,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -33993,7 +37986,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -34010,7 +38004,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -34027,7 +38022,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -34044,7 +38040,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34055,7 +38052,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34066,7 +38064,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34077,7 +38076,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34088,7 +38088,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34099,11 +38100,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geometry", @@ -34114,7 +38117,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34125,7 +38129,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -34167,7 +38172,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34184,7 +38190,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34201,7 +38208,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34218,7 +38226,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34235,7 +38244,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34252,7 +38262,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34269,7 +38280,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -34286,7 +38298,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34303,7 +38316,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -34320,7 +38334,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -34337,7 +38352,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -34354,7 +38370,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -34371,7 +38388,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -34388,15 +38406,18 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "intspan", @@ -34407,15 +38428,18 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "bigintspan", @@ -34426,15 +38450,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatspan", @@ -34445,15 +38472,18 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "datespan", @@ -34464,15 +38494,18 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tstzspan", @@ -34489,11 +38522,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -34504,11 +38539,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -34530,7 +38567,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "double", @@ -34547,7 +38585,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -34569,23 +38608,28 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox", @@ -34596,15 +38640,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox", @@ -34615,19 +38662,23 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox", @@ -34644,35 +38695,43 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox", @@ -34683,27 +38742,33 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox", @@ -34714,31 +38779,38 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox", @@ -34755,15 +38827,18 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox", @@ -34780,15 +38855,18 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox", @@ -34805,7 +38883,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34816,7 +38895,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34827,7 +38907,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34838,7 +38919,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34849,7 +38931,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34860,7 +38943,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34871,7 +38955,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34882,7 +38967,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34893,7 +38979,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34904,7 +38991,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34915,7 +39003,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34926,7 +39015,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34937,7 +39027,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34948,7 +39039,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34959,7 +39051,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -34993,7 +39086,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35004,7 +39098,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35015,7 +39110,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35026,7 +39122,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35037,7 +39134,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35048,7 +39146,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35059,7 +39158,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35070,7 +39170,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35081,7 +39182,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35092,7 +39194,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35103,7 +39206,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35114,7 +39218,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35125,7 +39230,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -35142,7 +39248,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -35153,7 +39260,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -35164,7 +39272,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -35175,7 +39284,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -35186,7 +39296,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -35197,7 +39308,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -35208,7 +39320,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -35219,7 +39332,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -35230,7 +39344,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -35241,7 +39356,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -35252,7 +39368,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -35263,7 +39380,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -35274,7 +39392,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -35296,15 +39415,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" } ], "returns": "tbox", @@ -35321,27 +39443,33 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox", @@ -35358,7 +39486,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -35369,7 +39498,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -35380,7 +39510,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer[]", @@ -35391,7 +39522,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -35402,7 +39534,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -35413,7 +39546,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint[]", @@ -35424,7 +39558,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch[]", @@ -35435,7 +39570,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -35446,7 +39582,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose[]", @@ -35457,7 +39594,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry[]", @@ -35468,7 +39606,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography[]", @@ -35479,7 +39618,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index[]", @@ -35490,7 +39630,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -35501,7 +39642,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean[]", @@ -35512,7 +39654,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -35523,7 +39666,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -35534,7 +39678,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -35545,7 +39690,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -35556,7 +39702,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer[]", @@ -35567,7 +39714,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint[]", @@ -35578,7 +39726,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float[]", @@ -35589,7 +39738,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text[]", @@ -35600,7 +39750,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date[]", @@ -35611,7 +39762,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -35622,7 +39774,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -35633,7 +39786,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint[]", @@ -35775,7 +39929,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35786,7 +39941,8 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -35797,7 +39953,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35808,7 +39965,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35834,7 +39992,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35845,7 +40004,8 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -35856,7 +40016,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35867,7 +40028,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35893,7 +40055,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35904,7 +40067,8 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -35915,7 +40079,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35926,7 +40091,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -35952,11 +40118,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -35973,11 +40141,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tfloat", @@ -35994,7 +40164,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -36011,11 +40182,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36026,7 +40199,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36043,11 +40217,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -36064,11 +40240,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36085,7 +40263,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -36102,7 +40281,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -36119,11 +40299,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -36140,11 +40322,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36155,7 +40339,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36172,11 +40357,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36193,7 +40380,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36210,11 +40398,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36231,15 +40421,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36256,7 +40449,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36273,7 +40467,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -36290,11 +40485,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tfloat", @@ -36311,7 +40508,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -36328,7 +40526,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36345,7 +40544,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36362,7 +40562,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -36379,7 +40580,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -36396,15 +40598,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tfloat", @@ -36421,11 +40626,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36442,11 +40649,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -36463,11 +40672,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36484,11 +40695,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36505,7 +40718,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -36522,7 +40736,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -36539,7 +40754,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -36550,7 +40766,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36567,7 +40784,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -36578,7 +40796,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36595,7 +40814,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -36606,7 +40826,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36623,11 +40844,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36638,11 +40861,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36659,11 +40884,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -36680,7 +40907,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36697,11 +40925,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36718,7 +40948,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -36735,11 +40966,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -36756,11 +40989,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36777,11 +41012,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36798,11 +41035,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36819,7 +41058,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -36836,7 +41076,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -36853,11 +41094,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36874,11 +41117,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36895,11 +41140,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -36916,7 +41163,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -36933,7 +41181,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -36950,7 +41199,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -36967,7 +41217,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -36984,7 +41235,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -37001,7 +41253,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -37018,7 +41271,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -37035,7 +41289,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -37052,7 +41307,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -37069,7 +41325,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -37086,7 +41343,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37097,7 +41355,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37108,7 +41367,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37134,7 +41394,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37145,7 +41406,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37156,7 +41418,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37182,7 +41445,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37193,7 +41457,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -37215,11 +41480,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -37230,11 +41497,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -37245,11 +41514,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -37260,11 +41531,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -37275,11 +41548,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -37290,11 +41565,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -37316,7 +41593,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -37327,7 +41605,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -37349,15 +41628,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -37368,15 +41650,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -37387,15 +41672,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -37406,15 +41694,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -37425,15 +41716,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -37444,15 +41738,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -37463,15 +41760,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -37482,15 +41782,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -37501,15 +41804,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -37520,15 +41826,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -37539,15 +41848,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -37558,15 +41870,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -37577,15 +41892,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -37607,11 +41925,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -37622,11 +41942,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -37637,11 +41959,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -37652,11 +41976,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -37667,11 +41993,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -37682,11 +42010,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -37697,11 +42027,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -37712,11 +42044,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -37727,11 +42061,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -37742,11 +42078,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -37757,11 +42095,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -37772,11 +42112,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -37787,11 +42129,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -37802,11 +42146,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -37817,11 +42163,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -37851,7 +42199,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry[]", @@ -37862,7 +42211,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer[]", @@ -37873,7 +42223,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch[]", @@ -37884,7 +42235,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint[]", @@ -37895,7 +42247,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose[]", @@ -37906,7 +42259,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry[]", @@ -37917,7 +42271,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography[]", @@ -37928,7 +42283,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint[]", @@ -37939,7 +42295,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint[]", @@ -37950,7 +42307,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool[]", @@ -37961,7 +42319,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint[]", @@ -37972,7 +42331,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint[]", @@ -37983,7 +42343,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat[]", @@ -37994,7 +42355,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext[]", @@ -38005,7 +42367,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint[]", @@ -38035,7 +42398,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38046,7 +42410,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38057,7 +42422,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38074,7 +42440,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38085,7 +42452,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38096,7 +42464,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38107,7 +42476,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38118,7 +42488,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38129,7 +42500,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38140,7 +42512,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38151,7 +42524,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38162,7 +42536,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38173,7 +42548,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38184,7 +42560,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38195,7 +42572,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38206,7 +42584,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38217,7 +42596,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38228,7 +42608,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -38250,7 +42631,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -38272,7 +42654,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -38289,7 +42672,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -38311,7 +42695,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -38385,7 +42770,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -38455,7 +42841,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -38477,7 +42864,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -38499,11 +42887,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -38520,7 +42910,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -38537,7 +42928,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -38548,7 +42940,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -38586,7 +42979,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -38603,7 +42997,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -38625,7 +43020,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -38642,7 +43038,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -38659,7 +43056,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -38676,7 +43074,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -38693,11 +43092,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -38714,7 +43115,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -38731,7 +43133,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -38781,7 +43184,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -38798,7 +43202,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -38820,7 +43225,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -38837,7 +43243,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -38854,7 +43261,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -38871,7 +43279,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -38888,7 +43297,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -38910,15 +43320,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38929,15 +43342,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38948,15 +43364,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38967,15 +43386,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -38992,11 +43414,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39007,11 +43431,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39022,11 +43448,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39037,11 +43465,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39052,11 +43482,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39067,11 +43499,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39082,11 +43516,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39097,11 +43533,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39112,11 +43550,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39127,11 +43567,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39142,11 +43584,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39157,11 +43601,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39172,11 +43618,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39187,11 +43635,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39202,11 +43652,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39217,11 +43669,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39232,11 +43686,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39247,11 +43703,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39262,11 +43720,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39277,11 +43737,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39292,11 +43754,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39307,11 +43771,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39322,11 +43788,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39337,11 +43805,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39352,11 +43822,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39367,11 +43839,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39382,11 +43856,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39397,11 +43873,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39412,11 +43890,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39427,11 +43907,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39442,11 +43924,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39457,11 +43941,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39472,11 +43958,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39487,11 +43975,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39502,11 +43992,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39517,11 +44009,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39532,11 +44026,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39547,11 +44043,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39562,11 +44060,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39577,11 +44077,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39592,11 +44094,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39607,11 +44111,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39622,11 +44128,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39637,11 +44145,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39652,11 +44162,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39667,11 +44179,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39682,11 +44196,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39697,11 +44213,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39712,11 +44230,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39727,11 +44247,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39742,11 +44264,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39757,11 +44281,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39772,11 +44298,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39787,11 +44315,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39802,11 +44332,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39817,11 +44349,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39832,11 +44366,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39847,11 +44383,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39862,11 +44400,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39877,11 +44417,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39892,11 +44434,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39907,11 +44451,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39922,11 +44468,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39937,11 +44485,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39952,11 +44502,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39967,11 +44519,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39982,11 +44536,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -39997,11 +44553,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40018,7 +44576,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -40029,7 +44588,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -40040,7 +44600,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -40051,7 +44612,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "double", @@ -40093,15 +44655,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "line", @@ -40118,7 +44683,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -40148,7 +44714,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -40165,7 +44732,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40176,7 +44744,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -40187,7 +44756,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -40198,7 +44768,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -40209,7 +44780,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -40220,7 +44792,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40231,7 +44804,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -40242,7 +44816,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -40253,7 +44828,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -40264,7 +44840,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -40275,7 +44852,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -40286,7 +44864,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -40356,7 +44935,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40367,7 +44947,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40378,7 +44959,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40389,7 +44971,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40400,7 +44983,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40411,7 +44995,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40422,7 +45007,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40433,7 +45019,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40444,7 +45031,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40455,7 +45043,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40466,7 +45055,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40477,7 +45067,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40488,7 +45079,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40499,7 +45091,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40510,7 +45103,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40521,7 +45115,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40532,7 +45127,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40543,7 +45139,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40554,7 +45151,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40565,7 +45163,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40576,7 +45175,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40587,7 +45187,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -40598,7 +45199,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -40620,11 +45222,13 @@ "args": [ { "type": "point", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "point", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "lseg", @@ -40641,7 +45245,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint[]", @@ -40671,15 +45276,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -40690,15 +45298,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpcpoint", @@ -40709,15 +45320,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -40728,15 +45342,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -40747,15 +45364,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -40766,15 +45386,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -40791,7 +45414,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -40802,7 +45426,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -40813,7 +45438,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -40824,7 +45450,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -40858,7 +45485,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40869,7 +45497,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -40880,7 +45509,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -40891,7 +45521,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -40937,7 +45568,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int", @@ -40948,7 +45580,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40959,7 +45592,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40970,7 +45604,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40981,7 +45616,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -40992,7 +45628,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41003,7 +45640,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41014,7 +45652,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41025,7 +45664,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41036,7 +45676,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41047,7 +45688,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41058,7 +45700,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41069,7 +45712,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41080,7 +45724,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41091,7 +45736,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41102,7 +45748,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41113,7 +45760,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41124,7 +45772,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41135,7 +45784,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41146,7 +45796,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41157,7 +45808,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41168,7 +45820,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41179,7 +45832,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41190,7 +45844,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41201,7 +45856,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41212,7 +45868,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41223,7 +45880,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41234,7 +45892,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41245,7 +45904,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41256,7 +45916,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41267,7 +45928,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41278,7 +45940,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41289,7 +45952,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41300,7 +45964,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -41330,11 +45995,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -41345,7 +46012,8 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -41356,11 +46024,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -41371,7 +46041,8 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -41382,11 +46053,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -41397,7 +46070,8 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -41408,11 +46082,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -41423,11 +46099,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -41438,7 +46116,8 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -41449,7 +46128,8 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -41460,11 +46140,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -41475,11 +46157,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -41490,7 +46174,8 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -41501,7 +46186,8 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -41512,11 +46198,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -41527,11 +46215,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -41542,11 +46232,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -41557,11 +46249,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -41572,11 +46266,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -41587,7 +46283,8 @@ "args": [ { "type": "tbool[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -41598,7 +46295,8 @@ "args": [ { "type": "tint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -41609,7 +46307,8 @@ "args": [ { "type": "tbigint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -41620,7 +46319,8 @@ "args": [ { "type": "tfloat[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -41631,7 +46331,8 @@ "args": [ { "type": "ttext[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -41642,11 +46343,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -41657,7 +46360,8 @@ "args": [ { "type": "tnpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -41719,11 +46423,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -41734,11 +46440,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -41749,11 +46457,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -41764,11 +46474,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -41779,11 +46491,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -41794,11 +46508,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -41809,11 +46525,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -41824,11 +46542,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -41850,11 +46570,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41865,11 +46587,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41880,11 +46604,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41895,11 +46621,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41910,11 +46638,13 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41925,11 +46655,13 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41940,11 +46672,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41955,11 +46689,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41970,11 +46706,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -41985,11 +46723,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42000,11 +46740,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42015,11 +46757,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42030,11 +46774,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42045,11 +46791,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42071,15 +46819,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42090,15 +46841,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42109,15 +46863,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42134,7 +46891,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -42145,7 +46903,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -42156,7 +46915,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -42167,7 +46927,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -42197,11 +46958,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -42212,11 +46975,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -42227,11 +46992,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -42242,11 +47009,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -42257,11 +47026,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -42272,11 +47043,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -42287,11 +47060,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -42302,11 +47077,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -42328,7 +47105,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -42339,7 +47117,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -42350,7 +47129,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -42361,7 +47141,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -42403,11 +47184,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -42424,11 +47207,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -42439,11 +47224,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -42454,11 +47241,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -42469,11 +47258,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -42484,11 +47275,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -42499,11 +47292,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -42514,11 +47309,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -42568,7 +47365,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -42579,7 +47377,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -42590,7 +47389,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -42601,7 +47401,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -42623,7 +47424,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -42634,7 +47436,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -42645,7 +47448,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -42656,7 +47460,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -42678,15 +47483,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -42697,15 +47505,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -42716,15 +47527,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -42735,15 +47549,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -42754,15 +47571,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -42773,15 +47593,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -42792,15 +47615,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -42826,11 +47652,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -42841,11 +47669,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -42856,11 +47686,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -42882,11 +47714,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -42897,11 +47731,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -42912,11 +47748,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -42927,11 +47765,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -42942,11 +47782,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -42957,11 +47799,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -42972,11 +47816,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -42987,11 +47833,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -43002,11 +47850,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -43017,11 +47867,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -43032,11 +47884,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -43047,11 +47901,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -43062,11 +47918,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -43077,11 +47935,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -43092,11 +47952,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -43107,11 +47969,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -43122,11 +47986,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -43137,11 +48003,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -43152,11 +48020,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -43167,11 +48037,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -43182,11 +48054,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -43197,11 +48071,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -43212,11 +48088,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -43227,11 +48105,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -43242,11 +48122,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -43257,11 +48139,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -43272,11 +48156,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -43287,11 +48173,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -43302,11 +48190,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -43317,11 +48207,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -43332,11 +48224,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -43347,11 +48241,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -43362,11 +48258,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -43377,11 +48275,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -43392,11 +48292,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -43407,11 +48309,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -43422,11 +48326,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -43437,11 +48343,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -43452,11 +48360,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -43467,11 +48377,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -43482,11 +48394,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -43497,11 +48411,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -43512,11 +48428,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -43527,11 +48445,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -43542,11 +48462,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -43557,11 +48479,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -43572,11 +48496,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -43587,11 +48513,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -43602,11 +48530,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -43617,11 +48547,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -43632,11 +48564,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -43647,11 +48581,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -43662,11 +48598,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -43677,11 +48615,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -43692,11 +48632,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -43707,11 +48649,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -43722,11 +48666,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -43737,11 +48683,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -43752,11 +48700,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -43767,11 +48717,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -43837,15 +48789,18 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -43856,15 +48811,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpoint", @@ -43881,15 +48839,18 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -43906,11 +48867,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -43968,11 +48931,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -43983,11 +48948,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -43998,11 +48965,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -44013,11 +48982,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -44028,11 +48999,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -44043,11 +49016,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -44058,11 +49033,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -44073,11 +49050,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -44088,11 +49067,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -44103,11 +49084,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -44118,11 +49101,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -44133,11 +49118,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -44148,11 +49135,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -44163,11 +49152,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -44178,11 +49169,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -44193,11 +49186,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -44208,11 +49203,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -44223,11 +49220,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -44238,11 +49237,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -44253,11 +49254,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -44268,11 +49271,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -44283,11 +49288,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -44298,11 +49305,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -44313,11 +49322,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -44328,11 +49339,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -44343,11 +49356,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -44358,11 +49373,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -44373,11 +49390,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -44388,11 +49407,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -44450,7 +49471,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4multirange", @@ -44461,7 +49483,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int8multirange", @@ -44472,7 +49495,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datemultirange", @@ -44483,7 +49507,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzmultirange", @@ -44500,11 +49525,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44515,11 +49542,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44530,11 +49559,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44545,11 +49576,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44560,11 +49593,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44575,11 +49610,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44590,11 +49627,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44605,11 +49644,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44620,11 +49661,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44635,11 +49678,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44650,11 +49695,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44665,11 +49712,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44680,11 +49729,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44695,11 +49746,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44710,11 +49763,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44725,11 +49780,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44740,11 +49797,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44755,11 +49814,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44770,11 +49831,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44785,11 +49848,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44800,11 +49865,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44815,11 +49882,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44830,11 +49899,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44845,11 +49916,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44860,11 +49933,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44875,11 +49950,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44890,11 +49967,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44905,11 +49984,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44920,11 +50001,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44935,11 +50018,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44950,11 +50035,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44965,11 +50052,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44980,11 +50069,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -44995,11 +50086,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45010,11 +50103,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45025,11 +50120,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45040,11 +50137,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45055,11 +50154,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45070,11 +50171,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45085,11 +50188,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45100,11 +50205,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45115,11 +50222,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45130,11 +50239,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45145,11 +50256,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45160,11 +50273,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45175,11 +50290,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45190,11 +50307,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45205,11 +50324,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45220,11 +50341,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45235,11 +50358,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45250,11 +50375,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45265,11 +50392,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45280,11 +50409,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45295,11 +50426,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45310,11 +50443,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45325,11 +50460,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int", @@ -45340,11 +50477,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -45355,11 +50494,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45370,11 +50511,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45385,11 +50528,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45400,11 +50545,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45415,11 +50562,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45430,11 +50579,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45445,11 +50596,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45460,11 +50613,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45475,11 +50630,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45490,11 +50647,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45505,11 +50664,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45520,11 +50681,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45535,11 +50698,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45550,11 +50715,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45565,11 +50732,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45580,11 +50749,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45595,11 +50766,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45610,11 +50783,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45625,11 +50800,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -45767,11 +50944,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -45782,11 +50961,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -45797,11 +50978,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -45812,11 +50995,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -45827,11 +51012,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -45842,11 +51029,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45857,11 +51046,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45872,11 +51063,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45887,11 +51080,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45902,11 +51097,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45917,11 +51114,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45932,11 +51131,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -45947,11 +51148,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -45962,11 +51165,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -45977,11 +51182,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -45992,11 +51199,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -46007,11 +51216,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -46022,11 +51233,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -46037,11 +51250,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -46052,11 +51267,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -46067,11 +51284,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -46082,11 +51301,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -46097,11 +51318,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -46112,11 +51335,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -46127,11 +51352,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -46142,11 +51369,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -46157,11 +51386,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -46172,11 +51403,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -46187,11 +51420,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -46202,11 +51437,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -46217,11 +51454,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -46232,11 +51471,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -46247,11 +51488,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -46313,7 +51556,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -46335,11 +51579,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46350,7 +51596,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46376,7 +51623,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46393,7 +51641,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46410,7 +51659,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46427,7 +51677,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46444,7 +51695,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46461,11 +51713,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -46487,11 +51741,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -46513,11 +51769,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -46539,11 +51797,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -46565,7 +51825,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46587,11 +51848,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -46613,11 +51876,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -46639,11 +51904,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -46665,7 +51932,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -46687,7 +51955,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -46713,7 +51982,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -46730,7 +52000,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46747,7 +52018,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46764,7 +52036,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46781,7 +52054,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46798,7 +52072,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46815,7 +52090,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46832,7 +52108,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -46849,7 +52126,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46866,7 +52144,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -46883,7 +52162,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -46900,15 +52180,18 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "precision", - "hasDefault": true + "hasDefault": true, + "default": "1" } ], "returns": "nsegment", @@ -46919,7 +52202,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "nsegment", @@ -46930,7 +52214,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "nsegment", @@ -46960,11 +52245,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -46986,11 +52273,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -47012,11 +52301,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -47038,11 +52329,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -47064,7 +52357,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "nsegment", @@ -47086,11 +52380,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -47112,11 +52408,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -47138,11 +52436,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -47164,7 +52464,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -47186,7 +52487,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "nsegment", @@ -47203,7 +52505,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -47220,7 +52523,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47242,7 +52546,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47253,7 +52558,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47264,7 +52570,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47275,7 +52582,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47286,7 +52594,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47297,7 +52606,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47308,7 +52618,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47319,7 +52630,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47330,7 +52642,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47341,7 +52654,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47352,7 +52666,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47363,7 +52678,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47374,7 +52690,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47385,7 +52702,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47396,7 +52714,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47422,7 +52741,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -47439,7 +52759,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47450,7 +52771,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47461,7 +52783,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47472,7 +52795,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47483,7 +52807,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47494,7 +52819,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47505,7 +52831,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47516,7 +52843,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47527,7 +52855,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47538,7 +52867,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47549,7 +52879,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47560,7 +52891,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47571,7 +52903,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47593,7 +52926,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47604,7 +52938,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47615,7 +52950,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47626,7 +52962,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47637,7 +52974,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47659,7 +52997,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47670,7 +53009,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47681,7 +53021,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47692,7 +53033,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47703,7 +53045,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47714,7 +53057,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47725,7 +53069,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47736,7 +53081,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47747,7 +53093,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47758,7 +53105,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47769,7 +53117,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47780,7 +53129,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47791,7 +53141,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47802,7 +53153,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47813,7 +53165,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47824,7 +53177,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47854,7 +53208,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47865,7 +53220,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47876,7 +53232,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47887,7 +53244,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47898,7 +53256,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47909,7 +53268,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47920,7 +53280,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47931,7 +53292,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47942,7 +53304,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47953,7 +53316,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47964,7 +53328,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47975,7 +53340,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47986,7 +53352,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -47997,7 +53364,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -48019,7 +53387,8 @@ "args": [ { "type": "tempSubtype(tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -48030,7 +53399,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "quaternion", @@ -48047,11 +53417,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48062,11 +53434,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48077,11 +53451,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48092,11 +53468,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48107,11 +53485,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48122,11 +53502,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48137,11 +53519,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48152,11 +53536,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48167,11 +53553,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48182,11 +53570,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48197,11 +53587,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48212,11 +53604,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48227,11 +53621,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48242,11 +53638,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48257,11 +53655,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48272,11 +53672,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48287,11 +53689,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48302,11 +53706,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48317,11 +53723,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48338,11 +53746,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48353,11 +53763,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48368,11 +53780,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48383,11 +53797,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48398,11 +53814,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48413,11 +53831,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48428,11 +53848,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48443,11 +53865,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48458,11 +53882,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48473,11 +53899,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48488,11 +53916,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48503,11 +53933,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48518,11 +53950,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48533,11 +53967,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48548,11 +53984,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48563,11 +54001,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48578,11 +54018,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48593,11 +54035,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48608,11 +54052,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48623,11 +54069,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48638,11 +54086,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48653,11 +54103,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48668,11 +54120,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48683,11 +54137,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48698,11 +54154,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48713,11 +54171,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48728,11 +54188,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48743,11 +54205,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48758,11 +54222,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48773,11 +54239,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48788,11 +54256,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48803,11 +54273,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48818,11 +54290,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48833,11 +54307,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48848,11 +54324,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48863,11 +54341,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48878,11 +54358,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48893,11 +54375,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48908,11 +54392,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48923,11 +54409,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48938,11 +54426,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48953,11 +54443,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48968,11 +54460,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48983,11 +54477,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -48998,11 +54494,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49013,11 +54511,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49028,11 +54528,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49043,11 +54545,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49058,11 +54562,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49073,11 +54579,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49088,11 +54596,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49103,11 +54613,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49118,11 +54630,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49133,11 +54647,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49148,11 +54664,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49163,11 +54681,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49178,11 +54698,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49193,11 +54715,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49208,11 +54732,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49223,11 +54749,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49238,11 +54766,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49253,11 +54783,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49268,11 +54800,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49283,11 +54817,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49298,11 +54834,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49313,11 +54851,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49328,11 +54868,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49343,11 +54885,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49358,11 +54902,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49373,11 +54919,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49388,11 +54936,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49403,11 +54953,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49418,11 +54970,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49433,11 +54987,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49448,11 +55004,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49463,11 +55021,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49478,11 +55038,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49493,11 +55055,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49508,11 +55072,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49523,11 +55089,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49544,11 +55112,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49559,11 +55129,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49574,11 +55146,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49589,11 +55163,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49604,11 +55180,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49619,11 +55197,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49634,11 +55214,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49649,11 +55231,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49664,11 +55248,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49679,11 +55265,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49700,11 +55288,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49715,11 +55305,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49730,11 +55322,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49745,11 +55339,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49760,11 +55356,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49775,11 +55373,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49790,11 +55390,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49805,11 +55407,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49820,11 +55424,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49835,11 +55441,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49850,11 +55458,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49865,11 +55475,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49880,11 +55492,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49895,11 +55509,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49910,11 +55526,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49925,11 +55543,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49940,11 +55560,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49955,11 +55577,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49970,11 +55594,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -49985,11 +55611,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50000,11 +55628,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50015,11 +55645,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50030,11 +55662,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50045,11 +55679,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50060,11 +55696,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50075,11 +55713,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50090,11 +55730,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50105,11 +55747,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50120,11 +55764,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50135,11 +55781,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50150,11 +55798,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50165,11 +55815,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50180,11 +55832,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50195,11 +55849,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50210,11 +55866,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50225,11 +55883,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50240,11 +55900,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50255,11 +55917,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50270,11 +55934,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50285,11 +55951,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50300,11 +55968,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50315,11 +55985,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50330,11 +56002,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50345,11 +56019,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50360,11 +56036,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50375,11 +56053,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50390,11 +56070,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50405,11 +56087,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50420,11 +56104,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50435,11 +56121,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50450,11 +56138,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50465,11 +56155,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50480,11 +56172,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50495,11 +56189,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50510,11 +56206,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50525,11 +56223,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50540,11 +56240,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50555,11 +56257,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50570,11 +56274,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50585,11 +56291,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50600,11 +56308,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50615,11 +56325,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50630,11 +56342,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50645,11 +56359,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50660,11 +56376,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50675,11 +56393,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50690,11 +56410,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50705,11 +56427,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50720,11 +56444,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50735,11 +56461,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50750,11 +56478,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50765,11 +56495,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50780,11 +56512,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50795,11 +56529,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50810,11 +56546,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50825,11 +56563,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50840,11 +56580,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50855,11 +56597,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50870,11 +56614,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50885,11 +56631,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50906,11 +56654,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50921,11 +56671,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50936,11 +56688,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50951,11 +56705,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50966,11 +56722,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50981,11 +56739,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -50996,11 +56756,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51011,11 +56773,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51026,11 +56790,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51041,11 +56807,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51056,11 +56824,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51071,11 +56841,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51086,11 +56858,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51101,11 +56875,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51116,11 +56892,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51131,11 +56909,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51146,11 +56926,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51161,11 +56943,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51176,11 +56960,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51197,11 +56983,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51212,11 +57000,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51227,11 +57017,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51242,11 +57034,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51257,11 +57051,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51272,11 +57068,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51287,11 +57085,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51302,11 +57102,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51317,11 +57119,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51332,11 +57136,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51353,11 +57159,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51368,11 +57176,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51383,11 +57193,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51398,11 +57210,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51413,11 +57227,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51428,11 +57244,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51443,11 +57261,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51458,11 +57278,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51473,11 +57295,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51488,11 +57312,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51503,11 +57329,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51518,11 +57346,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51533,11 +57363,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51548,11 +57380,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51563,11 +57397,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51578,11 +57414,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51593,11 +57431,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51608,11 +57448,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51623,11 +57465,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51638,11 +57482,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51653,11 +57499,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51668,11 +57516,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51683,11 +57533,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51698,11 +57550,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51713,11 +57567,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51728,11 +57584,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51743,11 +57601,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51758,11 +57618,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51773,11 +57635,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51788,11 +57652,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51803,11 +57669,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51818,11 +57686,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51833,11 +57703,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51848,11 +57720,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51863,11 +57737,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51878,11 +57754,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51893,11 +57771,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51908,11 +57788,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51923,11 +57805,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51938,11 +57822,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51953,11 +57839,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51968,11 +57856,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51983,11 +57873,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -51998,11 +57890,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52013,11 +57907,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52028,11 +57924,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52043,11 +57941,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52058,11 +57958,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52073,11 +57975,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52088,11 +57992,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52103,11 +58009,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52118,11 +58026,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52133,11 +58043,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52148,11 +58060,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52163,11 +58077,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52178,11 +58094,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52193,11 +58111,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52208,11 +58128,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52223,11 +58145,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52238,11 +58162,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52253,11 +58179,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52268,11 +58196,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52283,11 +58213,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52298,11 +58230,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52313,11 +58247,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52328,11 +58264,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52343,11 +58281,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52358,11 +58298,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52373,11 +58315,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52388,11 +58332,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52403,11 +58349,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52418,11 +58366,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52433,11 +58383,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52448,11 +58400,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52463,11 +58417,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52478,11 +58434,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52493,11 +58451,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52508,11 +58468,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52523,11 +58485,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52538,11 +58502,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52553,11 +58519,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52568,11 +58536,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52583,11 +58553,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52598,11 +58570,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52613,11 +58587,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52628,11 +58604,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52643,11 +58621,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52658,11 +58638,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52673,11 +58655,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52688,11 +58672,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52703,11 +58689,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52718,11 +58706,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52733,11 +58723,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52754,11 +58746,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52769,11 +58763,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52784,11 +58780,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52805,11 +58803,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52820,11 +58820,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52835,11 +58837,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52850,11 +58854,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52865,11 +58871,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52880,11 +58888,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52895,11 +58905,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52910,11 +58922,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52925,11 +58939,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52940,11 +58956,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52955,11 +58973,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52970,11 +58990,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -52985,11 +59007,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53000,11 +59024,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53015,11 +59041,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53030,11 +59058,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53045,11 +59075,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53060,11 +59092,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53075,11 +59109,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53090,11 +59126,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53105,11 +59143,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53120,11 +59160,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53135,11 +59177,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53150,11 +59194,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53165,11 +59211,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53180,11 +59228,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53195,11 +59245,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53210,11 +59262,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53225,11 +59279,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53240,11 +59296,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53255,11 +59313,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53270,11 +59330,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53285,11 +59347,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53300,11 +59364,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53315,11 +59381,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53330,11 +59398,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53345,11 +59415,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53360,11 +59432,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53375,11 +59449,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53390,11 +59466,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53405,11 +59483,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53420,11 +59500,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53435,11 +59517,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53450,11 +59534,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53465,11 +59551,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53480,11 +59568,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53495,11 +59585,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53510,11 +59602,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53525,11 +59619,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53540,11 +59636,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53555,11 +59653,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53570,11 +59670,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53585,11 +59687,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53600,11 +59704,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53615,11 +59721,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53630,11 +59738,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53645,11 +59755,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53660,11 +59772,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53675,11 +59789,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53690,11 +59806,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53705,11 +59823,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53720,11 +59840,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53735,11 +59857,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53750,11 +59874,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53765,11 +59891,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53780,11 +59908,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53795,11 +59925,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53810,11 +59942,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53831,11 +59965,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53846,11 +59982,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53861,11 +59999,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53876,11 +60016,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53891,11 +60033,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53906,11 +60050,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53921,11 +60067,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53936,11 +60084,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53951,11 +60101,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53966,11 +60118,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53981,11 +60135,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -53996,11 +60152,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54011,11 +60169,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54026,11 +60186,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54041,11 +60203,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54056,11 +60220,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54071,11 +60237,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54086,11 +60254,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54101,11 +60271,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54116,11 +60288,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54131,11 +60305,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54146,11 +60322,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54161,11 +60339,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54176,11 +60356,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54191,11 +60373,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54206,11 +60390,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54221,11 +60407,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54236,11 +60424,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54251,11 +60441,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54266,11 +60458,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54281,11 +60475,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54296,11 +60492,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54311,11 +60509,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54326,11 +60526,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54341,11 +60543,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54356,11 +60560,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54371,11 +60577,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54386,11 +60594,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54401,11 +60611,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54416,11 +60628,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54431,11 +60645,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54446,11 +60662,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54461,11 +60679,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54476,11 +60696,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54491,11 +60713,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54506,11 +60730,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54521,11 +60747,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54536,11 +60764,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54551,11 +60781,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54566,11 +60798,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54581,11 +60815,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54596,11 +60832,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54611,11 +60849,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54626,11 +60866,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54641,11 +60883,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54656,11 +60900,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54671,11 +60917,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54686,11 +60934,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54701,11 +60951,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54716,11 +60968,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54731,11 +60985,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54746,11 +61002,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54761,11 +61019,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54776,11 +61036,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54791,11 +61053,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54806,11 +61070,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54821,11 +61087,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54836,11 +61104,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -54857,7 +61127,8 @@ "args": [ { "type": "point[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "path", @@ -54874,7 +61145,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -54885,7 +61157,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -54896,7 +61169,8 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -54907,7 +61181,8 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -54918,7 +61193,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -54944,11 +61220,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -54965,7 +61243,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -54982,7 +61261,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -54999,7 +61279,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -55016,7 +61297,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -55033,7 +61315,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -55050,7 +61333,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -55067,7 +61351,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -55084,15 +61369,18 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -55103,19 +61391,23 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -55132,7 +61424,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -55149,7 +61442,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -55166,7 +61460,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -55183,7 +61478,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -55200,7 +61496,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -55217,7 +61514,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -55234,7 +61532,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -55251,11 +61550,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "float", @@ -55272,7 +61573,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -55283,7 +61585,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -55305,7 +61608,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -55316,7 +61620,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -55327,11 +61632,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "point", @@ -55357,7 +61664,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -55368,7 +61676,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "TABLE", @@ -55379,7 +61688,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -55413,7 +61723,8 @@ "args": [ { "type": "point[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "polygon", @@ -55430,19 +61741,23 @@ "args": [ { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "pose", @@ -55453,35 +61768,43 @@ "args": [ { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "pose", @@ -55492,11 +61815,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55507,23 +61832,28 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "precision", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55540,7 +61870,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55557,7 +61888,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55574,7 +61906,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55591,7 +61924,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55608,7 +61942,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55625,7 +61960,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55642,11 +61978,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -55663,11 +62001,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55684,11 +62024,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55705,11 +62047,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55726,7 +62070,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -55743,11 +62088,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -55764,7 +62111,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55786,11 +62134,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55807,11 +62157,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55828,11 +62180,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55849,7 +62203,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -55871,7 +62226,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -55897,11 +62253,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -55918,7 +62276,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -55935,7 +62294,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -55952,7 +62312,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -55969,7 +62330,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -55986,7 +62348,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -56003,7 +62366,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -56020,7 +62384,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -56037,7 +62402,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -56054,7 +62420,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -56071,7 +62438,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -56088,7 +62456,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -56105,7 +62474,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "nsegment[]", @@ -56127,7 +62497,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -56144,7 +62515,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -56155,7 +62527,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -56166,7 +62539,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -56177,7 +62551,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -56211,7 +62586,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -56222,7 +62598,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -56244,7 +62621,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4range", @@ -56255,7 +62633,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int8range", @@ -56266,7 +62645,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "daterange", @@ -56277,7 +62657,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzrange", @@ -56294,11 +62675,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56309,11 +62692,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56324,11 +62709,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56339,11 +62726,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56354,11 +62743,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56369,11 +62760,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56384,11 +62777,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56399,11 +62794,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56414,11 +62811,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56429,11 +62828,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56444,11 +62845,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56459,11 +62862,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56474,11 +62879,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56489,11 +62896,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56504,11 +62913,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56519,11 +62930,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56534,11 +62947,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56549,11 +62964,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56564,11 +62981,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56579,11 +62998,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56594,11 +63015,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56609,11 +63032,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56624,11 +63049,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56639,11 +63066,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56654,11 +63083,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56669,11 +63100,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56684,11 +63117,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56699,11 +63134,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56714,11 +63151,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56729,11 +63168,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56744,11 +63185,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56759,11 +63202,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56774,11 +63219,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56789,11 +63236,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56804,11 +63253,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56819,11 +63270,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56834,11 +63287,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56849,11 +63304,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56864,11 +63321,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56879,11 +63338,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56894,11 +63355,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56909,11 +63372,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56924,11 +63389,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56939,11 +63406,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56954,11 +63423,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56969,11 +63440,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56984,11 +63457,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -56999,11 +63474,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57014,11 +63491,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57029,11 +63508,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57044,11 +63525,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57059,11 +63542,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57074,11 +63559,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57089,11 +63576,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57104,11 +63593,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57119,11 +63610,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57134,11 +63627,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57149,11 +63644,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57164,11 +63661,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57179,11 +63678,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57194,11 +63695,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57209,11 +63712,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57224,11 +63729,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57239,11 +63746,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57254,11 +63763,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57269,11 +63780,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57284,11 +63797,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57299,11 +63814,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -57320,7 +63837,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -57331,7 +63849,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -57353,11 +63872,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -57368,19 +63889,23 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -57391,15 +63916,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -57410,11 +63938,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -57425,19 +63955,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -57448,15 +63982,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -57473,11 +64010,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -57488,11 +64027,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -57509,11 +64050,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -57524,11 +64067,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -57545,11 +64090,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -57560,11 +64107,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -57581,7 +64130,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -57592,7 +64142,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -57609,11 +64160,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "trgeometry", @@ -57624,11 +64177,13 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "trgeometry[]", @@ -57639,11 +64194,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "cbuffer", @@ -57654,11 +64211,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tcbuffer", @@ -57669,11 +64228,13 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tcbuffer[]", @@ -57684,11 +64245,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "cbufferset", @@ -57699,11 +64262,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tpcbox", @@ -57714,11 +64279,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tpose", @@ -57729,11 +64296,13 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tpose[]", @@ -57744,11 +64313,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "pose", @@ -57759,11 +64330,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "poseset", @@ -57774,11 +64347,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "geomset", @@ -57789,11 +64364,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "geogset", @@ -57804,11 +64381,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -57819,11 +64398,13 @@ "args": [ { "type": "stbox[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox[]", @@ -57834,11 +64415,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "geometry", @@ -57849,11 +64432,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "geography", @@ -57864,11 +64449,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeompoint", @@ -57879,11 +64466,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeogpoint", @@ -57894,11 +64483,13 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeompoint[]", @@ -57909,11 +64500,13 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeogpoint[]", @@ -57924,11 +64517,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeometry", @@ -57939,11 +64534,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeography", @@ -57954,11 +64551,13 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeometry[]", @@ -57969,11 +64568,13 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tgeography[]", @@ -57984,11 +64585,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "float", @@ -57999,11 +64602,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatspan", @@ -58014,11 +64619,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatspanset", @@ -58029,11 +64636,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatset", @@ -58044,11 +64653,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tfloat", @@ -58059,11 +64670,13 @@ "args": [ { "type": "tfloat[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tfloat[]", @@ -58074,11 +64687,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tbox", @@ -58089,11 +64704,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tnpoint", @@ -58104,11 +64721,13 @@ "args": [ { "type": "tnpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tnpoint", @@ -58119,11 +64738,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "npoint", @@ -58134,11 +64755,13 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "nsegment", @@ -58149,11 +64772,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "npointset", @@ -58207,7 +64832,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -58218,7 +64844,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -58229,7 +64856,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -58259,7 +64887,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -58270,7 +64899,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -58296,11 +64926,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58311,11 +64943,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58326,11 +64960,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58341,11 +64977,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58356,11 +64994,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58371,11 +65011,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58386,11 +65028,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58401,11 +65045,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58416,11 +65062,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58431,11 +65079,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58446,11 +65096,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58461,11 +65113,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58476,11 +65130,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58491,11 +65147,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58506,11 +65164,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58521,11 +65181,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58536,11 +65198,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58551,11 +65215,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58566,11 +65232,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58581,11 +65249,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58596,11 +65266,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58611,11 +65283,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58626,11 +65300,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58641,11 +65317,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58656,11 +65334,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58671,11 +65351,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58686,11 +65368,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58701,11 +65385,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58716,11 +65402,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58731,11 +65419,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58746,11 +65436,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58761,11 +65453,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58776,11 +65470,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58791,11 +65487,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58806,11 +65504,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58821,11 +65521,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58836,11 +65538,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58851,11 +65555,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58866,11 +65572,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58881,11 +65589,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58896,11 +65606,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58911,11 +65623,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58926,11 +65640,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58941,11 +65657,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58956,11 +65674,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58971,11 +65691,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -58986,11 +65708,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59001,11 +65725,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59016,11 +65742,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59031,11 +65759,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59046,11 +65776,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59061,11 +65793,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59076,11 +65810,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59091,11 +65827,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59106,11 +65844,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59121,11 +65861,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59136,11 +65878,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59151,11 +65895,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59166,11 +65912,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59181,11 +65929,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59196,11 +65946,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59211,11 +65963,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59226,11 +65980,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59241,11 +65997,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59256,11 +66014,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59277,11 +66037,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59292,11 +66054,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59307,11 +66071,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59322,11 +66088,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59337,11 +66105,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59352,11 +66122,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59367,11 +66139,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -59388,11 +66162,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -59403,15 +66179,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -59422,19 +66201,23 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -59445,15 +66228,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -59464,11 +66250,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -59479,15 +66267,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -59498,19 +66289,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -59521,15 +66316,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -59540,11 +66338,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -59555,11 +66355,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -59570,11 +66372,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -59585,11 +66389,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -59600,11 +66406,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -59615,11 +66423,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -59630,11 +66440,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -59645,11 +66457,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -59660,11 +66474,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -59675,11 +66491,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -59690,11 +66508,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -59705,11 +66525,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -59720,11 +66542,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -59735,11 +66559,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -59750,11 +66576,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -59776,11 +66604,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -59791,11 +66621,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -59806,11 +66638,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -59821,11 +66655,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -59836,11 +66672,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -59851,11 +66689,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -59866,11 +66706,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -59881,11 +66723,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -59896,11 +66740,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -59911,11 +66757,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -59926,11 +66774,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -59941,11 +66791,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -59956,11 +66808,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -59971,11 +66825,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -59986,11 +66842,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -60012,11 +66870,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -60027,11 +66887,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -60042,11 +66904,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -60057,11 +66921,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -60072,11 +66938,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -60087,11 +66955,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -60121,15 +66991,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60140,15 +67013,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60159,15 +67035,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60178,15 +67057,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60197,15 +67079,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60222,15 +67107,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60241,15 +67129,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60260,15 +67151,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60279,15 +67173,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60298,15 +67195,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -60323,7 +67223,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry[]", @@ -60334,7 +67235,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer[]", @@ -60345,7 +67247,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose[]", @@ -60356,7 +67259,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry[]", @@ -60367,7 +67271,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography[]", @@ -60378,7 +67283,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint[]", @@ -60389,7 +67295,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint[]", @@ -60400,7 +67307,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool[]", @@ -60411,7 +67319,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint[]", @@ -60422,7 +67331,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint[]", @@ -60433,7 +67343,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat[]", @@ -60444,7 +67355,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext[]", @@ -60455,7 +67367,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint[]", @@ -60485,11 +67398,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -60500,11 +67415,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -60515,11 +67432,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -60530,11 +67449,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -60545,11 +67466,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -60560,11 +67483,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -60575,11 +67500,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -60590,11 +67517,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -60605,11 +67534,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -60620,11 +67551,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -60635,11 +67568,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -60650,11 +67585,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -60665,11 +67602,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -60695,7 +67634,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry[]", @@ -60706,7 +67646,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer[]", @@ -60717,7 +67658,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose[]", @@ -60728,7 +67670,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry[]", @@ -60739,7 +67682,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography[]", @@ -60750,7 +67694,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint[]", @@ -60761,7 +67706,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint[]", @@ -60772,7 +67718,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool[]", @@ -60783,7 +67730,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint[]", @@ -60794,7 +67742,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint[]", @@ -60805,7 +67754,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat[]", @@ -60816,7 +67766,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext[]", @@ -60827,7 +67778,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint[]", @@ -60861,7 +67813,8 @@ "args": [ { "type": "cbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -60872,7 +67825,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -60883,7 +67837,8 @@ "args": [ { "type": "pcpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -60894,7 +67849,8 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -60905,7 +67861,8 @@ "args": [ { "type": "pcpatch[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -60916,7 +67873,8 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -60927,7 +67885,8 @@ "args": [ { "type": "pose[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -60938,7 +67897,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -60949,7 +67909,8 @@ "args": [ { "type": "geometry[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -60960,7 +67921,8 @@ "args": [ { "type": "geography[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -60971,7 +67933,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -60982,7 +67945,8 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -60993,7 +67957,8 @@ "args": [ { "type": "h3index[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -61004,7 +67969,8 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -61015,7 +67981,8 @@ "args": [ { "type": "integer[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -61026,7 +67993,8 @@ "args": [ { "type": "bigint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -61037,7 +68005,8 @@ "args": [ { "type": "float[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -61048,7 +68017,8 @@ "args": [ { "type": "text[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -61059,7 +68029,8 @@ "args": [ { "type": "date[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -61070,7 +68041,8 @@ "args": [ { "type": "timestamptz[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -61081,7 +68053,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -61092,7 +68065,8 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -61103,7 +68077,8 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -61114,7 +68089,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -61125,7 +68101,8 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -61136,7 +68113,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -61147,7 +68125,8 @@ "args": [ { "type": "npoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -61158,7 +68137,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -61276,11 +68256,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -61291,11 +68273,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -61306,11 +68290,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -61321,11 +68307,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -61336,11 +68324,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -61351,11 +68341,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -61366,11 +68358,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -61381,11 +68375,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -61396,11 +68392,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -61411,11 +68409,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -61426,11 +68426,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -61441,11 +68443,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -61456,11 +68460,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -61490,11 +68496,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -61505,11 +68513,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -61520,11 +68530,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -61535,11 +68547,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -61550,11 +68564,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -61565,11 +68581,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -61580,11 +68598,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -61595,11 +68615,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -61610,11 +68632,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -61625,11 +68649,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -61640,11 +68666,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -61655,11 +68683,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -61670,11 +68700,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -61685,11 +68717,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -61700,11 +68734,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -61742,11 +68778,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61757,11 +68795,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61772,11 +68812,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61787,11 +68829,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61802,11 +68846,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61817,11 +68863,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61832,11 +68880,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61847,11 +68897,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61862,11 +68914,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61877,11 +68931,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61892,11 +68948,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61907,11 +68965,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61922,11 +68982,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61937,11 +68999,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -61963,11 +69027,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -61978,11 +69044,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -61993,11 +69061,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62008,11 +69078,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62023,11 +69095,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62038,11 +69112,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62053,11 +69129,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62068,11 +69146,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62083,11 +69163,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62098,11 +69180,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62113,11 +69197,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62128,11 +69214,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62143,11 +69231,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62158,11 +69248,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62173,11 +69265,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62188,11 +69282,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62203,11 +69299,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62218,11 +69316,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62233,11 +69333,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62248,11 +69350,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62263,11 +69367,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62278,11 +69384,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62293,11 +69401,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62308,11 +69418,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62323,11 +69435,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62338,11 +69452,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62353,11 +69469,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62368,11 +69486,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62442,11 +69562,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62457,11 +69579,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62472,11 +69596,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62487,11 +69613,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62502,11 +69630,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62517,11 +69647,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62532,11 +69664,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62547,11 +69681,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62562,11 +69698,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62577,11 +69715,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62592,11 +69732,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62607,11 +69749,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62622,11 +69766,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62637,11 +69783,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62652,11 +69800,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62667,11 +69817,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62682,11 +69834,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62697,11 +69851,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62712,11 +69868,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62727,11 +69885,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62742,11 +69902,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62757,11 +69919,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62772,11 +69936,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62787,11 +69953,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62802,11 +69970,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62817,11 +69987,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62832,11 +70004,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62847,11 +70021,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -62921,11 +70097,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -62936,11 +70114,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -62951,11 +70131,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -62966,11 +70148,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -62981,11 +70165,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -62996,11 +70182,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63011,11 +70199,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63026,11 +70216,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63041,11 +70233,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63056,11 +70250,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63071,11 +70267,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63086,11 +70284,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63101,11 +70301,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63116,11 +70318,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63131,11 +70335,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63146,11 +70352,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63161,11 +70369,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -63176,11 +70386,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -63191,11 +70403,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -63206,11 +70420,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63221,11 +70437,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63236,11 +70454,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63251,11 +70471,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63266,11 +70488,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63281,11 +70505,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63296,11 +70522,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63311,11 +70539,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63326,11 +70556,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -63341,11 +70573,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63356,11 +70590,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63371,11 +70607,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63386,11 +70624,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63401,11 +70641,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63416,11 +70658,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63431,11 +70675,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -63497,11 +70743,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63512,11 +70760,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63527,11 +70777,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63542,11 +70794,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63557,11 +70811,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63572,11 +70828,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -63587,11 +70845,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63602,11 +70862,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63617,11 +70879,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63632,11 +70896,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63647,11 +70913,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63662,11 +70930,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63677,11 +70947,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63703,11 +70975,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -63718,11 +70992,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -63733,11 +71009,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -63748,11 +71026,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -63763,11 +71043,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -63784,11 +71066,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63799,11 +71083,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63814,11 +71100,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63829,11 +71117,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63844,11 +71134,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63859,11 +71151,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63874,11 +71168,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -63889,11 +71185,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63904,11 +71202,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63919,11 +71219,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63934,11 +71236,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63949,11 +71253,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63964,11 +71270,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -63979,11 +71287,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64005,31 +71315,38 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64040,31 +71357,38 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64075,31 +71399,38 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64116,11 +71447,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64131,11 +71464,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64146,11 +71481,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64167,31 +71504,38 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "char", @@ -64202,31 +71546,38 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "char", @@ -64237,31 +71588,38 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "char", @@ -64278,7 +71636,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -64295,11 +71654,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64310,11 +71671,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64325,11 +71688,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64340,11 +71705,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64355,11 +71722,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64370,11 +71739,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64385,11 +71756,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -64400,11 +71773,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64415,11 +71790,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64430,11 +71807,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64445,11 +71824,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64460,11 +71841,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64475,11 +71858,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64490,11 +71875,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -64516,7 +71903,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64527,7 +71915,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64538,7 +71927,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64549,7 +71939,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64560,7 +71951,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64571,7 +71963,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64582,7 +71975,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64593,7 +71987,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64604,7 +71999,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64615,7 +72011,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64626,7 +72023,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64637,7 +72035,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64648,7 +72047,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64659,7 +72059,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -64676,11 +72077,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64691,11 +72094,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64706,11 +72111,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64721,11 +72128,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64736,11 +72145,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64751,11 +72162,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64766,11 +72179,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64781,11 +72196,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64796,11 +72213,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64811,11 +72230,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64826,11 +72247,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64841,11 +72264,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64856,11 +72281,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -64877,11 +72304,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -64892,11 +72321,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -64907,11 +72338,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -64922,11 +72355,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -64937,11 +72372,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -64952,11 +72389,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -64967,11 +72406,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -64982,11 +72423,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -64997,11 +72440,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -65012,11 +72457,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -65027,11 +72474,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -65042,11 +72491,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -65057,11 +72508,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -65072,11 +72525,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -65087,11 +72542,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -65102,11 +72559,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -65117,11 +72576,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -65132,11 +72593,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -65147,11 +72610,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -65162,11 +72627,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -65177,11 +72644,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -65192,11 +72661,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -65207,11 +72678,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -65222,11 +72695,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -65237,11 +72712,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -65252,11 +72729,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -65267,11 +72746,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -65282,11 +72763,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -65297,11 +72780,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -65312,11 +72797,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -65327,11 +72814,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -65342,11 +72831,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -65357,11 +72848,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -65372,11 +72865,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -65387,11 +72882,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -65402,11 +72899,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -65417,11 +72916,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -65432,11 +72933,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -65447,11 +72950,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -65462,11 +72967,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -65477,11 +72984,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -65492,11 +73001,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -65574,11 +73085,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65589,11 +73102,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65604,11 +73119,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65619,11 +73136,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65634,11 +73153,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65649,11 +73170,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65664,11 +73187,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65679,11 +73204,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65694,11 +73221,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65709,11 +73238,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65724,11 +73255,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65739,11 +73272,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65754,11 +73289,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65769,11 +73306,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -65795,11 +73334,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65810,11 +73351,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65825,11 +73368,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65840,11 +73385,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65855,11 +73402,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65870,11 +73419,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65885,11 +73436,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65900,11 +73453,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65915,11 +73470,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65930,11 +73487,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65945,11 +73504,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65960,11 +73521,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65975,11 +73538,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -65990,11 +73555,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -66005,11 +73572,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -66020,11 +73589,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -66035,11 +73606,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -66050,11 +73623,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -66124,11 +73699,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66139,11 +73716,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66154,11 +73733,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66169,11 +73750,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66184,11 +73767,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66199,11 +73784,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66214,11 +73801,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -66229,11 +73818,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66244,11 +73835,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66259,11 +73852,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66274,11 +73869,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66289,11 +73886,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66304,11 +73903,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66319,11 +73920,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -66345,11 +73948,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -66360,11 +73965,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -66375,11 +73982,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -66390,11 +73999,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -66405,11 +74016,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -66420,11 +74033,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -66435,11 +74050,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -66450,11 +74067,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -66465,11 +74084,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -66480,11 +74101,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -66495,11 +74118,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -66510,11 +74135,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -66525,11 +74152,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -66540,11 +74169,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -66555,11 +74186,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -66570,11 +74203,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -66585,11 +74220,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -66600,11 +74237,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -66615,11 +74254,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -66630,11 +74271,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -66645,11 +74288,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -66660,11 +74305,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -66675,11 +74322,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -66690,11 +74339,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -66705,11 +74356,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -66720,11 +74373,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -66735,11 +74390,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -66750,11 +74407,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -66765,11 +74424,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -66780,11 +74441,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -66795,11 +74458,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -66810,11 +74475,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -66825,11 +74492,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -66840,11 +74509,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -66855,11 +74526,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -66870,11 +74543,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -66885,11 +74560,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -66900,11 +74577,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -66915,11 +74594,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -66930,11 +74611,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -66945,11 +74628,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -66960,11 +74645,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -67082,11 +74769,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67097,11 +74786,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67112,11 +74803,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67127,11 +74820,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67142,11 +74837,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67157,11 +74854,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67172,11 +74871,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67187,11 +74888,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67202,11 +74905,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67217,11 +74922,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67232,11 +74939,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67247,11 +74956,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67262,11 +74973,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67277,11 +74990,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -67303,11 +75018,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67318,11 +75035,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67333,11 +75052,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67348,11 +75069,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67363,11 +75086,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67378,11 +75103,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67393,11 +75120,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67408,11 +75137,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67423,11 +75154,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67438,11 +75171,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67453,11 +75188,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67468,11 +75205,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67483,11 +75222,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67498,11 +75239,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67524,11 +75267,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67539,11 +75284,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67554,11 +75301,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67569,11 +75318,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67584,11 +75335,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67599,11 +75352,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67614,11 +75369,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67629,11 +75386,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67644,11 +75403,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67659,11 +75420,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67674,11 +75437,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67689,11 +75454,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67704,11 +75471,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67719,11 +75488,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67734,11 +75505,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67749,11 +75522,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67764,11 +75539,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67779,11 +75556,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67853,11 +75632,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67868,11 +75649,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67883,11 +75666,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67898,11 +75683,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67913,11 +75700,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67928,11 +75717,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67943,11 +75734,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67958,11 +75751,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67973,11 +75768,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -67988,11 +75785,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68003,11 +75802,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68018,11 +75819,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68033,11 +75836,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68048,11 +75853,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68063,11 +75870,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68078,11 +75887,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68093,11 +75904,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68108,11 +75921,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68182,11 +75997,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68197,11 +76014,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68212,11 +76031,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68227,11 +76048,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68242,11 +76065,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68257,11 +76082,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68272,11 +76099,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68287,11 +76116,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68302,11 +76133,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68317,11 +76150,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68332,11 +76167,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68347,11 +76184,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68362,11 +76201,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68377,11 +76218,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68392,11 +76235,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68407,11 +76252,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68422,11 +76269,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68437,11 +76286,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -68511,7 +76362,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -68528,11 +76380,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -68543,11 +76397,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -68558,11 +76414,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -68573,11 +76431,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -68588,11 +76448,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -68603,11 +76465,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpointset", @@ -68618,11 +76482,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -68633,11 +76499,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -68648,11 +76516,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatchset", @@ -68663,11 +76533,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -68678,11 +76550,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -68693,11 +76567,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -68708,11 +76584,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -68723,11 +76601,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -68738,11 +76618,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -68753,11 +76635,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -68768,11 +76652,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -68783,11 +76669,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -68798,11 +76686,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -68813,11 +76703,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -68828,11 +76720,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3indexset", @@ -68843,11 +76737,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -68858,11 +76754,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -68873,11 +76771,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -68888,11 +76788,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -68903,11 +76805,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -68918,11 +76822,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -68933,11 +76839,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -68948,11 +76856,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -68963,11 +76873,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -68978,11 +76890,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -68993,11 +76907,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -69008,11 +76924,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -69023,11 +76941,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -69038,11 +76958,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -69053,11 +76975,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -69068,11 +76992,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -69083,11 +77009,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -69098,11 +77026,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -69113,11 +77043,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -69128,11 +77060,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -69143,11 +77077,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npointset", @@ -69305,11 +77241,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69320,11 +77258,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69335,11 +77275,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69350,11 +77292,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69365,11 +77309,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69380,11 +77326,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69395,11 +77343,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69410,11 +77360,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69425,11 +77377,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69440,11 +77394,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69455,11 +77411,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69470,11 +77428,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69485,11 +77445,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69500,11 +77462,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69515,11 +77479,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69530,11 +77496,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69545,11 +77513,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69560,11 +77530,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69575,11 +77547,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69590,11 +77564,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69605,11 +77581,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69620,11 +77598,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69635,11 +77615,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69650,11 +77632,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69665,11 +77649,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69680,11 +77666,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69695,11 +77683,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69710,11 +77700,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -69731,11 +77723,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -69746,11 +77740,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -69761,11 +77757,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -69776,11 +77774,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -69791,11 +77791,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -69806,11 +77808,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -69821,11 +77825,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -69836,11 +77842,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -69851,11 +77859,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -69866,11 +77876,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -69881,11 +77893,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -69896,11 +77910,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -69911,11 +77927,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -69926,11 +77944,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -69941,11 +77961,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -69956,11 +77978,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -70062,15 +78086,18 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -70081,15 +78108,18 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -70100,15 +78130,18 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -70119,15 +78152,18 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -70138,15 +78174,18 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -70157,15 +78196,18 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -70176,15 +78218,18 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -70195,15 +78240,18 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -70214,15 +78262,18 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -70233,15 +78284,18 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -70252,15 +78306,18 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -70271,15 +78328,18 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -70290,15 +78350,18 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -70309,15 +78372,18 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "dateset", @@ -70328,15 +78394,18 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -70353,15 +78422,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -70372,15 +78444,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -70391,15 +78466,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -70410,15 +78488,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -70429,15 +78510,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -70448,15 +78532,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -70467,15 +78554,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -70486,15 +78576,18 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -70505,15 +78598,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -70524,15 +78620,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -70543,15 +78642,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -70562,15 +78664,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -70581,15 +78686,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -70600,15 +78708,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -70619,15 +78730,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -70644,15 +78758,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -70663,15 +78780,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -70682,15 +78802,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -70701,15 +78824,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -70720,15 +78846,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -70739,15 +78868,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -70777,11 +78909,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -70792,11 +78926,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -70807,11 +78943,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -70822,11 +78960,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -70837,11 +78977,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -70852,11 +78994,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -70867,11 +79011,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -70882,11 +79028,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -70897,11 +79045,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -70912,11 +79062,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -70927,11 +79079,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -70942,11 +79096,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -70957,11 +79113,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -70972,11 +79130,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -70987,11 +79147,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -71037,11 +79199,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -71052,11 +79216,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -71067,11 +79233,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -71082,11 +79250,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -71097,11 +79267,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -71112,11 +79284,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -71166,11 +79340,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71181,11 +79357,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71196,11 +79374,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71211,11 +79391,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71226,11 +79408,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71241,11 +79425,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71256,11 +79442,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71271,11 +79459,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71286,11 +79476,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71301,11 +79493,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71316,11 +79510,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71331,11 +79527,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71346,11 +79544,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71361,11 +79561,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71376,11 +79578,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71391,11 +79595,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71406,11 +79612,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71421,11 +79629,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71436,11 +79646,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71451,11 +79663,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71466,11 +79680,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71481,11 +79697,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71496,11 +79714,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71511,11 +79731,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71526,11 +79748,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -71541,11 +79765,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -71556,11 +79782,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -71571,11 +79799,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71586,11 +79816,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71601,11 +79833,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71616,11 +79850,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -71631,11 +79867,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -71646,11 +79884,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -71661,11 +79901,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71676,11 +79918,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71691,11 +79935,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71706,11 +79952,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71721,11 +79969,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -71787,31 +80037,38 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -71822,23 +80079,28 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox[]", @@ -71849,27 +80111,33 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -71880,31 +80148,38 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -71915,23 +80190,28 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox[]", @@ -71942,27 +80222,33 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -71973,31 +80259,38 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72008,23 +80301,28 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox[]", @@ -72035,27 +80333,33 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72066,31 +80370,38 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72101,23 +80412,28 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox[]", @@ -72128,27 +80444,33 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72159,31 +80481,38 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72194,23 +80523,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox[]", @@ -72221,27 +80555,33 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72252,31 +80592,38 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72287,23 +80634,28 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "stbox[]", @@ -72314,27 +80666,33 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -72356,31 +80714,38 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72391,23 +80756,28 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -72418,27 +80788,33 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72449,31 +80825,38 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72484,23 +80867,28 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -72511,27 +80899,33 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72542,31 +80936,38 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72577,23 +80978,28 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -72604,27 +81010,33 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72635,31 +81047,38 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72670,23 +81089,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -72697,27 +81121,33 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72728,31 +81158,38 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72763,23 +81200,28 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -72790,27 +81232,33 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72827,27 +81275,33 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72858,19 +81312,23 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72881,23 +81339,28 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -72908,27 +81371,33 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72939,19 +81408,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -72962,23 +81435,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -73000,39 +81478,48 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73043,31 +81530,38 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox[]", @@ -73078,35 +81572,43 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73117,39 +81619,48 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73160,31 +81671,38 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox[]", @@ -73195,35 +81713,43 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73234,39 +81760,48 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73277,31 +81812,38 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox[]", @@ -73312,35 +81854,43 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73351,39 +81901,48 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73394,31 +81953,38 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox[]", @@ -73429,35 +81995,43 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73468,39 +82042,48 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73511,31 +82094,38 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox[]", @@ -73546,35 +82136,43 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73585,39 +82183,48 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73628,31 +82235,38 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "stbox[]", @@ -73663,35 +82277,43 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -73713,39 +82335,48 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -73756,31 +82387,38 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -73791,35 +82429,43 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -73830,39 +82476,48 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -73873,31 +82528,38 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -73908,35 +82570,43 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -73947,39 +82617,48 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -73990,31 +82669,38 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -74025,35 +82711,43 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74064,39 +82758,48 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74107,31 +82810,38 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -74142,35 +82852,43 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74181,39 +82899,48 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74224,31 +82951,38 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -74259,35 +82993,43 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74304,35 +83046,43 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74343,27 +83093,33 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -74374,31 +83130,38 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -74409,35 +83172,43 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -74448,27 +83219,33 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" } ], "returns": "SETOF", @@ -74479,31 +83256,38 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'Point(0 0 0)'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -74525,19 +83309,23 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "false" } ], "returns": "intspan", @@ -74548,19 +83336,23 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "false" } ], "returns": "bigintspan", @@ -74571,19 +83363,23 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "false" } ], "returns": "floatspan", @@ -74594,19 +83390,23 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "false" } ], "returns": "datespan", @@ -74617,19 +83417,23 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "false" } ], "returns": "tstzspan", @@ -74640,7 +83444,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -74651,7 +83456,8 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -74662,7 +83468,8 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -74673,7 +83480,8 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -74684,7 +83492,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -74695,7 +83504,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -74706,7 +83516,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -74717,7 +83528,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -74728,7 +83540,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -74739,7 +83552,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -74750,7 +83564,8 @@ "args": [ { "type": "int4range", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -74761,7 +83576,8 @@ "args": [ { "type": "int8range", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -74772,7 +83588,8 @@ "args": [ { "type": "daterange", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -74783,7 +83600,8 @@ "args": [ { "type": "tstzrange", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -74794,7 +83612,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -74805,7 +83624,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -74816,7 +83636,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -74827,7 +83648,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -74838,7 +83660,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -74892,11 +83715,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -74907,11 +83732,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -74922,11 +83749,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -74937,11 +83766,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -74952,11 +83783,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -74978,11 +83811,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -74993,11 +83828,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75008,11 +83845,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75023,11 +83862,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75038,11 +83879,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75053,11 +83896,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75068,11 +83913,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75083,11 +83930,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75098,11 +83947,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75113,11 +83964,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75128,11 +83981,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75143,11 +83998,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75158,11 +84015,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75173,11 +84032,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75188,11 +84049,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75203,11 +84066,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75218,11 +84083,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75233,11 +84100,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75248,11 +84117,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75263,11 +84134,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75278,11 +84151,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75293,11 +84168,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75308,11 +84185,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75323,11 +84202,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75338,11 +84219,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75353,11 +84236,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75368,11 +84253,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75383,11 +84270,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75398,11 +84287,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75413,11 +84304,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75428,11 +84321,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75443,11 +84338,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75458,11 +84355,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75473,11 +84372,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75488,11 +84389,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75503,11 +84406,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75518,11 +84423,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75533,11 +84440,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75548,11 +84457,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75563,11 +84474,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75641,7 +84554,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75658,11 +84572,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -75673,11 +84589,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -75688,11 +84606,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -75703,11 +84623,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -75718,11 +84640,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -75744,11 +84668,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75759,11 +84685,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75774,11 +84702,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75789,11 +84719,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75804,11 +84736,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75819,11 +84753,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75834,11 +84770,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75849,11 +84787,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75864,11 +84804,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75879,11 +84821,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75894,11 +84838,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75909,11 +84855,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75924,11 +84872,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75939,11 +84889,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75954,11 +84906,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75969,11 +84923,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75984,11 +84940,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -75999,11 +84957,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76014,11 +84974,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76029,11 +84991,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76044,11 +85008,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76059,11 +85025,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76074,11 +85042,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76089,11 +85059,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76104,11 +85076,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76119,11 +85093,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76134,11 +85110,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76149,11 +85127,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76164,11 +85144,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76179,11 +85161,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76257,11 +85241,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76272,11 +85258,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76287,11 +85275,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76302,11 +85292,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76317,11 +85309,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76332,11 +85326,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76347,11 +85343,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76362,11 +85360,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76377,11 +85377,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76392,11 +85394,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76407,11 +85411,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76422,11 +85428,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76437,11 +85445,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76452,11 +85462,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76467,11 +85479,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76482,11 +85496,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76497,11 +85513,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76512,11 +85530,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76527,11 +85547,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76542,11 +85564,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76557,11 +85581,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76572,11 +85598,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76587,11 +85615,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76602,11 +85632,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76617,11 +85649,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76632,11 +85666,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76647,11 +85683,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76662,11 +85700,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76677,11 +85717,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76692,11 +85734,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -76770,11 +85814,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -76785,11 +85831,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -76800,11 +85848,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -76815,11 +85865,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -76830,11 +85882,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -76845,11 +85899,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -76860,11 +85916,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -76875,11 +85933,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -76890,11 +85950,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -76905,11 +85967,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -76920,11 +85984,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -76935,11 +86001,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -76950,11 +86018,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -76965,11 +86035,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -76980,11 +86052,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -76995,11 +86069,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77010,11 +86086,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77025,11 +86103,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77040,11 +86120,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77055,11 +86137,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77070,11 +86154,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77085,11 +86171,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77100,11 +86188,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77115,11 +86205,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -77130,11 +86222,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -77145,11 +86239,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -77160,11 +86256,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -77175,11 +86273,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -77190,11 +86290,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -77205,11 +86307,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77220,11 +86324,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77235,11 +86341,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -77250,11 +86358,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -77265,11 +86375,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -77280,11 +86392,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -77414,11 +86528,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77429,11 +86545,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77444,11 +86562,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77459,11 +86579,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77474,11 +86596,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77500,11 +86624,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -77515,11 +86641,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -77530,11 +86658,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -77545,11 +86675,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -77560,11 +86692,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -77581,11 +86715,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -77596,11 +86732,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -77611,11 +86749,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -77626,11 +86766,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -77641,11 +86783,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -77656,11 +86800,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -77671,11 +86817,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -77686,11 +86834,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -77701,11 +86851,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -77716,11 +86868,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -77737,11 +86891,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77752,11 +86908,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77767,11 +86925,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77782,11 +86942,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77797,11 +86959,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -77823,23 +86987,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -77850,23 +87019,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -77877,23 +87051,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -77904,23 +87083,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -77931,23 +87115,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -77958,23 +87147,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -77985,23 +87179,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78012,23 +87211,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78039,23 +87243,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78066,23 +87275,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78093,23 +87307,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78120,23 +87339,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78147,23 +87371,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78174,23 +87403,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78201,23 +87435,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -78234,23 +87473,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78261,23 +87505,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78288,23 +87537,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78315,23 +87569,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78342,23 +87601,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78369,23 +87633,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78396,23 +87665,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78423,23 +87697,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78456,7 +87735,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78473,15 +87753,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78498,11 +87781,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78519,15 +87804,18 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78538,15 +87826,18 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78557,15 +87848,18 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78576,15 +87870,18 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78595,15 +87892,18 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78620,11 +87920,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -78641,11 +87943,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -78656,11 +87960,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -78671,11 +87977,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -78686,11 +87994,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -78701,11 +88011,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -78727,7 +88039,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -78738,7 +88051,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -78749,7 +88063,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -78760,7 +88075,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -78771,7 +88087,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -78793,11 +88110,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -78808,11 +88127,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -78823,11 +88144,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -78838,11 +88161,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -78853,11 +88178,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -78874,11 +88201,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -78889,11 +88218,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -78904,11 +88235,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -78919,11 +88252,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -78934,11 +88269,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -78949,11 +88286,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -78964,11 +88303,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -78979,11 +88320,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -78994,11 +88337,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -79009,11 +88354,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -79024,11 +88371,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -79039,11 +88388,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -79054,11 +88405,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -79069,11 +88422,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -79084,11 +88439,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -79099,11 +88456,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -79114,11 +88473,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -79129,11 +88490,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -79144,11 +88507,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -79159,11 +88524,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -79174,11 +88541,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -79189,11 +88558,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -79204,11 +88575,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -79219,11 +88592,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -79234,11 +88609,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -79249,11 +88626,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -79264,11 +88643,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -79279,11 +88660,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -79294,11 +88677,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -79309,11 +88694,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -79324,11 +88711,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -79339,11 +88728,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -79354,11 +88745,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -79369,11 +88762,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -79384,11 +88779,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -79399,11 +88796,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -79414,11 +88813,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -79429,11 +88830,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -79444,11 +88847,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -79459,11 +88864,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -79577,23 +88984,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -79610,11 +89022,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -79631,11 +89045,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -79652,11 +89068,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -79673,11 +89091,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79688,11 +89108,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79703,11 +89125,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79718,11 +89142,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79733,11 +89159,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79759,11 +89187,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79774,11 +89204,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79789,11 +89221,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79804,11 +89238,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79819,11 +89255,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79834,11 +89272,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79849,11 +89289,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79864,11 +89306,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79879,11 +89323,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79894,11 +89340,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79909,11 +89357,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79924,11 +89374,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79939,11 +89391,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79954,11 +89408,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79969,11 +89425,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79984,11 +89442,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -79999,11 +89459,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80014,11 +89476,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80029,11 +89493,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80044,11 +89510,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80059,11 +89527,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80074,11 +89544,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80089,11 +89561,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80104,11 +89578,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80119,11 +89595,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80134,11 +89612,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80149,11 +89629,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80164,11 +89646,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80179,11 +89663,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80194,11 +89680,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80209,11 +89697,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80224,11 +89714,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80239,11 +89731,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80254,11 +89748,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80269,11 +89765,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80284,11 +89782,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80299,11 +89799,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80314,11 +89816,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80329,11 +89833,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80344,11 +89850,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80462,11 +89970,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80477,11 +89987,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80492,11 +90004,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80507,11 +90021,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80522,11 +90038,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -80548,11 +90066,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80563,11 +90083,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80578,11 +90100,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80593,11 +90117,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80608,11 +90134,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80623,11 +90151,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80638,11 +90168,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80653,11 +90185,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80668,11 +90202,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80683,11 +90219,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80698,11 +90236,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -80713,11 +90253,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -80728,11 +90270,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -80743,11 +90287,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -80758,11 +90304,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -80773,11 +90321,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -80788,11 +90338,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -80803,11 +90355,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -80818,11 +90372,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -80833,11 +90389,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -80848,11 +90406,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -80863,11 +90423,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -80878,11 +90440,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -80893,11 +90457,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -80908,11 +90474,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -80923,11 +90491,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80938,11 +90508,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80953,11 +90525,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -80968,11 +90542,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80983,11 +90559,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -80998,11 +90576,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -81013,11 +90593,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -81028,11 +90610,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -81043,11 +90627,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -81058,11 +90644,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -81073,11 +90661,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -81088,11 +90678,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -81103,11 +90695,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -81118,11 +90712,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -81133,11 +90729,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -81207,11 +90805,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81222,11 +90822,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81237,11 +90839,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81252,11 +90856,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81267,11 +90873,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81293,11 +90901,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81308,11 +90918,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81323,11 +90935,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81338,11 +90952,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81353,11 +90969,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81368,11 +90986,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81383,11 +91003,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81398,11 +91020,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81413,11 +91037,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81428,11 +91054,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81443,11 +91071,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81458,11 +91088,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81473,11 +91105,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81488,11 +91122,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81503,11 +91139,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81518,11 +91156,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81533,11 +91173,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81548,11 +91190,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81563,11 +91207,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81578,11 +91224,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81616,11 +91264,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81631,11 +91281,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81646,11 +91298,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81661,11 +91315,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81676,11 +91332,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81691,11 +91349,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81706,11 +91366,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81721,11 +91383,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81736,11 +91400,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81751,11 +91417,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81766,11 +91434,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81781,11 +91451,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81796,11 +91468,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81811,11 +91485,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81826,11 +91502,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81841,11 +91519,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81856,11 +91536,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81871,11 +91553,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81886,11 +91570,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81901,11 +91587,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81916,11 +91604,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81931,11 +91621,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81946,11 +91638,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81961,11 +91655,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81976,11 +91672,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -81991,11 +91689,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82006,11 +91706,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82021,11 +91723,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82036,11 +91740,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82051,11 +91757,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82066,11 +91774,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82081,11 +91791,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82096,11 +91808,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82111,11 +91825,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82126,11 +91842,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82141,11 +91859,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82156,11 +91876,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82171,11 +91893,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82186,11 +91910,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82201,11 +91927,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82319,11 +92047,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82334,11 +92064,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82349,11 +92081,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82364,11 +92098,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82379,11 +92115,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82394,11 +92132,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82409,11 +92149,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82424,11 +92166,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82439,11 +92183,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82454,11 +92200,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82469,11 +92217,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82484,11 +92234,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82499,11 +92251,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82514,11 +92268,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82529,11 +92285,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82544,11 +92302,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82559,11 +92319,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82574,11 +92336,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82589,11 +92353,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82604,11 +92370,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82619,11 +92387,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82634,11 +92404,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82649,11 +92421,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82664,11 +92438,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82679,11 +92455,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82694,11 +92472,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82709,11 +92489,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82724,11 +92506,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82739,11 +92523,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82754,11 +92540,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82769,11 +92557,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82784,11 +92574,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82799,11 +92591,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82814,11 +92608,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82829,11 +92625,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82844,11 +92642,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82859,11 +92659,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82874,11 +92676,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82889,11 +92693,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -82904,11 +92710,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83022,11 +92830,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -83043,11 +92853,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -83064,11 +92876,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -83085,11 +92899,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83100,11 +92916,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83115,11 +92933,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83130,11 +92950,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83145,11 +92967,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83160,11 +92984,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83175,11 +93001,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83190,11 +93018,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83205,11 +93035,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83220,11 +93052,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83235,11 +93069,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83250,11 +93086,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83265,11 +93103,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83280,11 +93120,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83295,11 +93137,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83310,11 +93154,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83325,11 +93171,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83340,11 +93188,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83355,11 +93205,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83370,11 +93222,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83385,11 +93239,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83400,11 +93256,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83415,11 +93273,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83430,11 +93290,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83445,11 +93307,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83460,11 +93324,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83475,11 +93341,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83490,11 +93358,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83505,11 +93375,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83520,11 +93392,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83535,11 +93409,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83550,11 +93426,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83565,11 +93443,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83580,11 +93460,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83595,11 +93477,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83610,11 +93494,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83625,11 +93511,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83640,11 +93528,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83655,11 +93545,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83670,11 +93562,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -83788,19 +93682,23 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -83817,11 +93715,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -83838,11 +93738,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -83853,11 +93755,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -83868,11 +93772,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -83883,11 +93789,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -83898,11 +93806,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -83913,11 +93823,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -83928,11 +93840,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -83943,11 +93857,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -83958,11 +93874,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -83973,11 +93891,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -83988,11 +93908,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84003,11 +93925,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84018,11 +93942,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84033,11 +93959,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84048,11 +93976,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84063,11 +93993,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84078,11 +94010,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84093,11 +94027,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84108,11 +94044,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84123,11 +94061,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84138,11 +94078,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84153,11 +94095,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84168,11 +94112,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84183,11 +94129,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84198,11 +94146,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84213,11 +94163,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84228,11 +94180,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84243,11 +94197,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84258,11 +94214,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84273,11 +94231,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84288,11 +94248,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84303,11 +94265,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84318,11 +94282,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84333,11 +94299,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84348,11 +94316,13 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84363,11 +94333,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84378,11 +94350,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84393,11 +94367,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84408,11 +94384,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84423,11 +94401,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84497,7 +94477,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84508,7 +94489,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84519,7 +94501,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84530,7 +94513,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84541,7 +94525,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84552,7 +94537,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84563,7 +94549,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84574,7 +94561,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84585,7 +94573,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84596,7 +94585,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84607,7 +94597,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan[]", @@ -84618,7 +94609,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan[]", @@ -84629,7 +94621,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan[]", @@ -84640,7 +94633,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan[]", @@ -84651,7 +94645,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84662,7 +94657,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan[]", @@ -84673,7 +94669,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan[]", @@ -84684,7 +94681,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan[]", @@ -84695,7 +94693,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan[]", @@ -84706,7 +94705,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -84736,7 +94736,8 @@ "args": [ { "type": "intspan[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84747,7 +94748,8 @@ "args": [ { "type": "bigintspan[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84758,7 +94760,8 @@ "args": [ { "type": "floatspan[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84769,7 +94772,8 @@ "args": [ { "type": "datespan[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84780,7 +94784,8 @@ "args": [ { "type": "tstzspan[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84791,7 +94796,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84802,7 +94808,8 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84813,7 +94820,8 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84824,7 +94832,8 @@ "args": [ { "type": "date", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84835,7 +94844,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84846,7 +94856,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84857,7 +94868,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84868,7 +94880,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84879,7 +94892,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84890,7 +94904,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84901,7 +94916,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84912,7 +94928,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84923,7 +94940,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspanset", @@ -84934,7 +94952,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84945,7 +94964,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -84956,7 +94976,8 @@ "args": [ { "type": "int4multirange", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspanset", @@ -84967,7 +94988,8 @@ "args": [ { "type": "int8multirange", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspanset", @@ -84978,7 +95000,8 @@ "args": [ { "type": "datemultirange", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespanset", @@ -84989,7 +95012,8 @@ "args": [ { "type": "tstzmultirange", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -85011,11 +95035,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85026,11 +95052,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85041,11 +95069,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85056,11 +95086,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85071,11 +95103,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85097,11 +95131,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85112,11 +95148,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85127,11 +95165,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85142,11 +95182,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85157,11 +95199,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85183,11 +95227,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -85198,11 +95244,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -85213,11 +95261,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -85228,11 +95278,13 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -85243,11 +95295,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -85264,11 +95318,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85279,11 +95335,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85294,11 +95352,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85309,11 +95369,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85324,11 +95386,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85350,7 +95414,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85367,11 +95432,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85382,11 +95449,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85397,11 +95466,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85412,11 +95483,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85427,11 +95500,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85453,7 +95528,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85464,7 +95540,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85475,7 +95552,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85486,7 +95564,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85497,7 +95576,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -85519,11 +95599,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -85534,11 +95616,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -85549,11 +95633,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -85564,11 +95650,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -85579,11 +95667,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -85605,11 +95695,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85620,11 +95712,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85635,11 +95729,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85650,11 +95746,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85665,11 +95763,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85691,11 +95791,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85706,11 +95808,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85721,11 +95825,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85736,11 +95842,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85751,11 +95859,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85777,11 +95887,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85792,11 +95904,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85807,11 +95921,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85822,11 +95938,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85837,11 +95955,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -85863,7 +95983,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85880,11 +96001,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85895,11 +96018,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85910,11 +96035,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85925,11 +96052,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85940,11 +96069,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -85961,7 +96092,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -85978,23 +96110,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "set_eq(geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -86011,7 +96148,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -86022,7 +96160,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -86033,7 +96172,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -86044,7 +96184,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -86055,7 +96196,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -86089,11 +96231,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86104,11 +96248,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86119,11 +96265,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86134,11 +96282,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86149,11 +96299,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86164,11 +96316,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86179,11 +96333,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86194,11 +96350,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86209,11 +96367,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86224,11 +96384,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86239,11 +96401,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan[]", @@ -86254,11 +96418,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan[]", @@ -86269,11 +96435,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan[]", @@ -86284,11 +96452,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan[]", @@ -86299,11 +96469,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86314,11 +96486,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan[]", @@ -86329,11 +96503,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan[]", @@ -86344,11 +96520,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan[]", @@ -86359,11 +96537,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan[]", @@ -86374,11 +96554,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86404,11 +96586,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86419,11 +96603,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86434,11 +96620,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86449,11 +96637,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86464,11 +96654,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86479,11 +96671,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86494,11 +96688,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86509,11 +96705,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86524,11 +96722,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86550,11 +96750,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -86565,11 +96767,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -86580,11 +96784,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -86606,11 +96812,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86621,11 +96829,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86636,11 +96846,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86651,11 +96863,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86666,11 +96880,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86681,11 +96897,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86696,11 +96914,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86711,11 +96931,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86726,11 +96948,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86741,11 +96965,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86756,11 +96982,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan[]", @@ -86771,11 +96999,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan[]", @@ -86786,11 +97016,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan[]", @@ -86801,11 +97033,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan[]", @@ -86816,11 +97050,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86831,11 +97067,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan[]", @@ -86846,11 +97084,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan[]", @@ -86861,11 +97101,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan[]", @@ -86876,11 +97118,13 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan[]", @@ -86891,11 +97135,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan[]", @@ -86917,11 +97163,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86932,11 +97180,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86947,11 +97197,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86962,11 +97214,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86977,11 +97231,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -86992,11 +97248,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -87007,11 +97265,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -87022,11 +97282,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -87037,11 +97299,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -87063,11 +97327,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -87078,11 +97344,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -87093,11 +97361,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -87119,7 +97389,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -87130,7 +97401,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -87147,7 +97419,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -87169,7 +97442,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -87180,7 +97454,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -87191,7 +97466,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -87202,7 +97478,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -87213,7 +97490,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -87224,7 +97502,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -87235,7 +97514,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -87246,7 +97526,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -87257,7 +97538,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -87268,7 +97550,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -87279,7 +97562,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -87290,7 +97574,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -87301,7 +97586,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -87312,7 +97598,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -87323,7 +97610,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -87349,7 +97637,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -87366,7 +97655,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "double", @@ -87388,7 +97678,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -87399,7 +97690,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -87410,7 +97702,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -87421,7 +97714,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -87432,7 +97726,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -87443,7 +97738,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -87454,7 +97750,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -87465,7 +97762,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -87476,7 +97774,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -87487,7 +97786,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -87498,7 +97798,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -87509,7 +97810,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -87520,7 +97822,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -87546,7 +97849,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -87557,7 +97861,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -87568,7 +97873,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -87579,7 +97885,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "datespan", @@ -87590,7 +97897,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -87612,7 +97920,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87623,7 +97932,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87634,7 +97944,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87645,7 +97956,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87656,7 +97968,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87667,7 +97980,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87678,7 +97992,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87689,7 +98004,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87700,7 +98016,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87711,7 +98028,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87722,7 +98040,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87733,7 +98052,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87744,7 +98064,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87755,7 +98076,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87766,7 +98088,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87777,7 +98100,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -87811,7 +98135,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -87822,7 +98147,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -87833,7 +98159,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -87844,7 +98171,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -87855,7 +98183,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -87866,7 +98195,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -87877,7 +98207,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -87888,7 +98219,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -87899,7 +98231,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -87910,7 +98243,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -87921,7 +98255,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -87932,7 +98267,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -87943,7 +98279,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -87954,7 +98291,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -87965,7 +98303,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -87976,7 +98315,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -87987,7 +98327,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -87998,7 +98339,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -88009,7 +98351,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -88020,7 +98363,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -88031,7 +98375,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -88042,7 +98387,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -88053,7 +98399,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -88064,7 +98411,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -88075,7 +98423,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -88086,7 +98435,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -88097,7 +98447,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -88108,7 +98459,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -88119,7 +98471,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -88130,7 +98483,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -88240,7 +98594,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88251,7 +98606,8 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88262,11 +98618,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88277,11 +98635,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88292,7 +98652,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88303,7 +98664,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88314,7 +98676,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88325,7 +98688,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88336,11 +98700,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88351,11 +98717,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88366,7 +98734,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88377,7 +98746,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88388,7 +98758,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88399,7 +98770,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88410,11 +98782,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88425,11 +98799,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88440,11 +98816,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88455,11 +98833,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88470,7 +98850,8 @@ "args": [ { "type": "box2d", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88481,7 +98862,8 @@ "args": [ { "type": "box3d", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88492,7 +98874,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88503,7 +98886,8 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88514,7 +98898,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88525,7 +98910,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88536,7 +98922,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88547,7 +98934,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88558,7 +98946,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88569,7 +98958,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88580,7 +98970,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88591,7 +98982,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88602,7 +98994,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88613,7 +99006,8 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88624,7 +99018,8 @@ "args": [ { "type": "nsegment", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88635,11 +99030,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88650,11 +99047,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88665,7 +99064,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88676,7 +99076,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88766,7 +99167,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88783,7 +99185,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88805,7 +99208,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88816,7 +99220,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -88833,23 +99238,28 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -88866,27 +99276,33 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -88897,27 +99313,33 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -88934,31 +99356,38 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -88975,35 +99404,43 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -89014,35 +99451,43 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "stbox", @@ -89059,11 +99504,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89080,11 +99527,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89106,11 +99555,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89127,11 +99578,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89148,11 +99601,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89169,11 +99624,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89190,11 +99647,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -89216,11 +99675,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89242,11 +99703,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89268,11 +99731,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89294,11 +99759,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -89315,11 +99782,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -89336,11 +99805,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89357,11 +99828,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89383,23 +99856,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -89416,23 +99894,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -89449,15 +99932,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -89474,11 +99960,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -89495,15 +99983,18 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -89520,11 +100011,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -89541,11 +100034,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89567,7 +100062,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -89584,11 +100080,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -89610,7 +100108,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -89627,11 +100126,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -89657,11 +100158,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -89678,11 +100181,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -89699,11 +100204,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -89720,11 +100227,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89746,11 +100255,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89767,11 +100278,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89793,11 +100306,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89819,7 +100334,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -89836,11 +100352,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89857,11 +100375,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89878,11 +100398,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89899,11 +100421,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89920,11 +100444,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89941,11 +100467,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89962,11 +100490,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -89988,11 +100518,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -90009,11 +100541,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -90030,11 +100564,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -90051,11 +100587,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -90072,11 +100610,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -90093,7 +100633,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -90119,11 +100660,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -90140,11 +100683,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -90166,7 +100711,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -90183,11 +100729,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -90204,11 +100752,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -90225,11 +100775,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -90251,7 +100803,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90262,7 +100815,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90273,7 +100827,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90284,7 +100839,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90295,7 +100851,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90306,7 +100863,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90317,7 +100875,8 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90328,7 +100887,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90339,7 +100899,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox[]", @@ -90365,15 +100926,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "trgeometry", @@ -90384,15 +100948,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "tcbuffer", @@ -90403,15 +100970,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "tpose", @@ -90422,63 +100992,78 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes')\n -- RETURNS tgeography\n -- AS 'MODULE_PATHNAME', 'Temporal_stops'\n -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION stops(tgeometry" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes')\n -- RETURNS tgeometry\n -- AS 'SELECT @extschema@.stops($1" }, { "type": "0.0", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stops(tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes')\n -- RETURNS tgeography\n -- AS 'SELECT @extschema@.stops($1" }, { "type": "0.0", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timeSplit(tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -90489,15 +101074,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "tgeompoint", @@ -90508,15 +101096,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "tgeogpoint", @@ -90527,11 +101118,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -90542,11 +101135,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -90557,15 +101152,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "tfloat", @@ -90576,11 +101174,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -90591,15 +101191,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "'0 minutes'" } ], "returns": "tnpoint", @@ -90616,11 +101219,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90631,11 +101236,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90646,11 +101253,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90661,11 +101270,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90676,11 +101287,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90691,11 +101304,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90706,11 +101321,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90721,11 +101338,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90736,11 +101355,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90751,11 +101372,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90766,11 +101389,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90781,11 +101406,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90796,11 +101423,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90811,11 +101440,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90826,11 +101457,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90841,11 +101474,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90856,11 +101491,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90871,11 +101508,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90921,11 +101560,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90936,11 +101577,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90951,11 +101594,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90966,11 +101611,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90981,11 +101628,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -90996,11 +101645,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91011,11 +101662,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91026,11 +101679,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91041,11 +101696,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91056,11 +101713,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91071,11 +101730,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91086,11 +101747,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91101,11 +101764,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91116,11 +101781,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91131,11 +101798,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91146,11 +101815,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91161,11 +101832,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91211,11 +101884,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91226,11 +101901,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91241,11 +101918,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91256,11 +101935,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91271,11 +101952,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91286,11 +101969,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91301,11 +101986,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91316,11 +102003,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91331,11 +102020,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91346,11 +102037,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91361,11 +102054,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91376,11 +102071,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91391,11 +102088,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91406,11 +102105,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91421,11 +102122,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91436,11 +102139,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91451,11 +102156,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91466,11 +102173,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91481,11 +102190,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91496,11 +102207,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91511,11 +102224,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91526,11 +102241,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91541,11 +102258,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91556,11 +102275,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91610,11 +102331,13 @@ "args": [ { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91625,11 +102348,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91640,11 +102365,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91655,11 +102382,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91670,11 +102399,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91685,11 +102416,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -91700,11 +102433,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -91715,11 +102450,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91730,11 +102467,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -91745,11 +102484,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -91760,11 +102501,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -91775,11 +102518,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -91790,11 +102535,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91805,11 +102552,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91820,11 +102569,13 @@ "args": [ { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91835,11 +102586,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91850,11 +102603,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91865,11 +102620,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91880,11 +102637,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -91974,15 +102733,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -91993,15 +102755,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92012,15 +102777,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92031,15 +102799,18 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92050,15 +102821,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92069,15 +102843,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92088,15 +102865,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92107,15 +102887,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92126,15 +102909,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92145,15 +102931,18 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92164,15 +102953,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92183,15 +102975,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92202,15 +102997,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92221,15 +103019,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92240,15 +103041,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92259,15 +103063,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92278,15 +103085,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92297,15 +103107,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92316,15 +103129,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92335,15 +103151,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92354,15 +103173,18 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92373,15 +103195,18 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92419,27 +103244,33 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "setof", @@ -92450,27 +103281,33 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "setof", @@ -92492,11 +103329,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92507,11 +103346,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92522,11 +103363,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92537,11 +103380,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92552,11 +103397,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92567,11 +103414,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92582,11 +103431,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92597,11 +103448,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92612,11 +103465,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92627,11 +103482,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92642,11 +103499,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92657,11 +103516,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92672,11 +103533,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92687,11 +103550,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92702,11 +103567,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92717,11 +103584,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92732,11 +103601,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92747,11 +103618,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92762,11 +103635,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92777,11 +103652,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92792,11 +103669,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92807,11 +103686,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92822,11 +103703,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92837,11 +103720,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92891,11 +103776,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92906,11 +103793,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92921,11 +103810,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92936,11 +103827,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92951,11 +103844,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92966,11 +103861,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92981,11 +103878,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -92996,11 +103895,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93011,11 +103912,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93026,11 +103929,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93041,11 +103946,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93056,11 +103963,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93071,11 +103980,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93086,11 +103997,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93101,11 +104014,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93116,11 +104031,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93131,11 +104048,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93146,11 +104065,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93161,11 +104082,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93223,11 +104146,13 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93244,7 +104169,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -93261,11 +104187,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93282,7 +104210,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -93299,11 +104228,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93314,11 +104245,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93329,11 +104262,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93350,7 +104285,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93361,11 +104297,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93376,11 +104314,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93391,11 +104331,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93406,11 +104348,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93421,11 +104365,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93436,7 +104382,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93447,7 +104394,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93473,7 +104421,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93490,7 +104439,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93507,7 +104457,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93524,7 +104475,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93541,19 +104493,23 @@ "args": [ { "type": "tbigint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tbigint", @@ -93564,11 +104520,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tbigint", @@ -93585,7 +104543,8 @@ "args": [ { "type": "tbigint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93596,7 +104555,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93613,15 +104573,18 @@ "args": [ { "type": "tbigint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tbigint", @@ -93638,7 +104601,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93655,23 +104619,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -93688,15 +104657,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93713,15 +104685,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93738,7 +104713,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -93755,11 +104731,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93776,11 +104754,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93797,11 +104777,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93818,11 +104800,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93839,11 +104823,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93860,11 +104846,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93881,15 +104869,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93906,15 +104897,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93931,15 +104925,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -93956,11 +104953,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93971,11 +104970,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -93986,11 +104987,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94001,11 +105004,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94016,11 +105021,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94037,7 +105044,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94054,7 +105062,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94071,7 +105080,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94088,7 +105098,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94105,19 +105116,23 @@ "args": [ { "type": "tbool[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tbool", @@ -94128,11 +105143,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tbool", @@ -94149,7 +105166,8 @@ "args": [ { "type": "tbool[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94160,7 +105178,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94177,11 +105196,13 @@ "args": [ { "type": "tbool[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tbool", @@ -94198,11 +105219,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94213,11 +105236,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94228,11 +105253,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94249,7 +105276,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -94266,23 +105294,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -94299,15 +105332,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94324,7 +105360,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94341,11 +105378,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94356,11 +105395,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94371,11 +105412,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94392,15 +105435,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94417,7 +105463,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -94434,11 +105481,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -94455,11 +105504,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -94476,11 +105527,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -94497,11 +105550,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -94518,7 +105573,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94529,7 +105585,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94540,7 +105597,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94551,11 +105609,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94566,11 +105626,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94581,11 +105643,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94596,11 +105660,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94611,11 +105677,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94626,11 +105694,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94641,11 +105711,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94656,11 +105728,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94671,11 +105745,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94686,11 +105762,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94701,11 +105779,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94716,11 +105796,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94731,7 +105813,8 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94742,7 +105825,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94753,7 +105837,8 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94764,7 +105849,8 @@ "args": [ { "type": "numeric", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94775,7 +105861,8 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94786,7 +105873,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94797,7 +105885,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94808,7 +105897,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94819,7 +105909,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94830,7 +105921,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94841,7 +105933,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94852,7 +105945,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94863,7 +105957,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94874,7 +105969,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94885,7 +105981,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94896,7 +105993,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -94907,7 +106005,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95013,7 +106112,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95030,7 +106130,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95052,11 +106153,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95078,11 +106181,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95104,11 +106209,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95130,11 +106237,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -95156,11 +106265,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95182,11 +106293,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95208,11 +106321,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95234,11 +106349,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95255,11 +106372,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95276,11 +106395,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95302,23 +106423,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -95335,23 +106461,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -95368,15 +106499,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -95393,11 +106527,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -95414,15 +106550,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -95439,11 +106578,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -95460,11 +106601,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95486,7 +106629,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -95508,11 +106652,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -95534,7 +106680,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95556,11 +106703,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95577,11 +106726,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -95598,11 +106749,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -95619,11 +106772,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -95640,11 +106795,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95666,11 +106823,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95692,11 +106851,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95718,11 +106879,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95744,7 +106907,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -95766,11 +106930,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95792,11 +106958,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95818,11 +106986,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95844,11 +107014,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95870,11 +107042,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -95896,11 +107070,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -95917,11 +107093,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -95938,11 +107116,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -95959,7 +107139,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -95981,11 +107162,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -96007,11 +107190,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -96033,7 +107218,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -96055,11 +107241,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -96076,11 +107264,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -96097,11 +107287,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -96118,7 +107310,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -96129,7 +107322,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -96140,7 +107334,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox[]", @@ -96162,11 +107357,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96177,11 +107374,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96192,11 +107391,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96207,15 +107408,18 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tcbuffer", @@ -96226,15 +107430,18 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tcbuffer", @@ -96245,11 +107452,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96260,7 +107469,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96271,7 +107481,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96293,7 +107504,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96310,7 +107522,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96327,7 +107540,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96344,7 +107558,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96361,7 +107576,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96378,7 +107594,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96395,7 +107612,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96412,19 +107630,23 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tcbuffer", @@ -96435,11 +107657,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tcbuffer", @@ -96456,7 +107680,8 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96467,11 +107692,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tcbuffer", @@ -96488,19 +107715,23 @@ "args": [ { "type": "tcbuffer[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tcbuffer", @@ -96517,23 +107748,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -96550,15 +107786,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96575,15 +107814,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96600,7 +107842,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -96617,7 +107860,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -96634,11 +107878,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96655,7 +107901,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -96672,11 +107919,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96687,11 +107936,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96708,11 +107959,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96729,11 +107982,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96744,11 +107999,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96759,11 +108016,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96774,11 +108033,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96789,11 +108050,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96804,11 +108067,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96819,11 +108084,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96834,11 +108101,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96849,11 +108118,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96864,11 +108135,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96879,11 +108152,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96894,11 +108169,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96909,11 +108186,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96924,11 +108203,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96939,11 +108220,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96954,11 +108237,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96969,11 +108254,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96984,11 +108271,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -96999,11 +108288,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -97020,11 +108311,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -97041,7 +108334,8 @@ "args": [ { "type": "azimuth(tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97058,11 +108352,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97073,11 +108369,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97088,11 +108386,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97103,11 +108403,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97118,11 +108420,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97133,11 +108437,13 @@ "args": [ { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97148,11 +108454,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97163,11 +108471,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97178,11 +108488,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97193,11 +108505,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97208,11 +108522,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97223,11 +108539,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97238,11 +108556,13 @@ "args": [ { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97253,11 +108573,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97268,11 +108590,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97283,11 +108607,13 @@ "args": [ { "type": "geography(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97298,11 +108624,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97313,11 +108641,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97328,11 +108658,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97343,11 +108675,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97358,11 +108692,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97373,11 +108709,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97388,11 +108726,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97403,11 +108743,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -97424,7 +108766,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97435,7 +108778,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97446,7 +108790,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97457,7 +108802,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97468,7 +108814,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97479,7 +108826,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97490,7 +108838,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97501,7 +108850,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97512,7 +108862,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97523,7 +108874,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97534,7 +108886,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97545,7 +108898,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97567,7 +108921,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97578,7 +108933,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97589,7 +108945,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97600,7 +108957,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97611,7 +108969,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97622,7 +108981,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97633,7 +108993,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97644,7 +109005,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97655,7 +109017,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97666,7 +109029,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97677,7 +109041,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97688,7 +109053,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97699,7 +109065,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97710,7 +109077,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -97732,11 +109100,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97747,11 +109117,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97762,11 +109134,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97777,11 +109151,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97792,11 +109168,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97807,11 +109185,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97822,11 +109202,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97837,11 +109219,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97852,11 +109236,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97867,11 +109253,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97882,11 +109270,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97897,11 +109287,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97912,11 +109304,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97927,11 +109321,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97942,11 +109338,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97957,11 +109355,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97972,11 +109372,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -97987,11 +109389,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98002,11 +109406,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98017,11 +109423,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98032,11 +109440,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98047,11 +109457,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98062,11 +109474,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98077,11 +109491,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98092,11 +109508,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98107,11 +109525,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98122,11 +109542,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98156,11 +109578,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98171,11 +109595,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98186,11 +109612,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98201,11 +109629,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98216,11 +109646,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98231,11 +109663,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98246,11 +109680,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98261,11 +109697,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98276,11 +109714,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98291,11 +109731,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98306,11 +109748,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98321,11 +109765,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98336,11 +109782,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98351,11 +109799,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98366,11 +109816,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98381,11 +109833,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98396,11 +109850,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98411,11 +109867,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98426,11 +109884,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98441,11 +109901,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98456,11 +109918,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98471,11 +109935,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98486,11 +109952,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98501,11 +109969,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98516,11 +109986,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98531,11 +110003,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98546,11 +110020,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98561,11 +110037,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98576,11 +110054,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98591,11 +110071,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98606,11 +110088,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98621,11 +110105,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98636,11 +110122,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98651,11 +110139,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98666,11 +110156,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98681,11 +110173,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98696,11 +110190,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98711,11 +110207,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98726,11 +110224,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98741,11 +110241,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98756,11 +110258,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98771,11 +110275,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98786,11 +110292,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98801,11 +110309,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98816,11 +110326,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98831,11 +110343,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98846,11 +110360,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98861,11 +110377,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98876,11 +110394,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98891,11 +110411,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98906,11 +110428,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98921,11 +110445,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98936,11 +110462,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98951,11 +110479,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98966,11 +110496,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98981,11 +110513,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -98996,11 +110530,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99011,11 +110547,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99026,11 +110564,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99041,11 +110581,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99056,11 +110598,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99071,11 +110615,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99086,11 +110632,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99101,11 +110649,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99116,11 +110666,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99131,11 +110683,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99146,11 +110700,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99161,11 +110717,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99176,11 +110734,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99191,11 +110751,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99206,11 +110768,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99221,11 +110785,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99236,11 +110802,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99251,11 +110819,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99266,11 +110836,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99281,11 +110853,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99296,11 +110870,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99311,11 +110887,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99326,11 +110904,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99341,11 +110921,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99356,11 +110938,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99371,11 +110955,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99392,11 +110978,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99407,11 +110995,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99422,11 +111012,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99437,11 +111029,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99452,11 +111046,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99467,11 +111063,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99482,11 +111080,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99497,11 +111097,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99512,11 +111114,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99527,11 +111131,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99542,11 +111148,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99557,11 +111165,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99572,11 +111182,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99587,11 +111199,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99602,11 +111216,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99617,11 +111233,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99632,11 +111250,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99647,11 +111267,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99662,11 +111284,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99677,11 +111301,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99692,11 +111318,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99707,11 +111335,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99722,11 +111352,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99737,11 +111369,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99752,11 +111386,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99767,11 +111403,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99782,11 +111420,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99797,11 +111437,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99812,11 +111454,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99827,11 +111471,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99842,11 +111488,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99857,11 +111505,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99872,11 +111522,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99887,11 +111539,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99902,11 +111556,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99917,11 +111573,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99932,11 +111590,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99947,11 +111607,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99962,11 +111624,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99977,11 +111641,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -99992,11 +111658,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100007,11 +111675,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100022,11 +111692,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100037,11 +111709,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100052,11 +111726,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100067,11 +111743,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100082,11 +111760,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100097,11 +111777,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100112,11 +111794,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100127,11 +111811,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100142,11 +111828,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100157,11 +111845,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100172,11 +111862,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100187,11 +111879,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100202,11 +111896,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100217,11 +111913,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100232,11 +111930,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100247,11 +111947,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100262,11 +111964,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100277,11 +111981,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100292,11 +111998,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100307,11 +112015,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100322,11 +112032,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100337,11 +112049,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100352,11 +112066,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100367,11 +112083,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100382,11 +112100,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100397,11 +112117,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100412,11 +112134,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100427,11 +112151,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100442,11 +112168,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100457,11 +112185,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100472,11 +112202,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100487,11 +112219,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100502,11 +112236,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100517,11 +112253,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100575,7 +112313,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -100592,11 +112331,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -100607,15 +112348,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "trgeometry", @@ -100626,23 +112370,28 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "trgeometry", @@ -100653,11 +112402,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -100668,15 +112419,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tcbuffer", @@ -100687,23 +112441,28 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tcbuffer", @@ -100714,11 +112473,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -100729,19 +112490,23 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tpcpoint", @@ -100752,11 +112517,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -100767,11 +112534,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -100782,15 +112551,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tpose", @@ -100801,23 +112573,28 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tpose", @@ -100828,11 +112605,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -100843,11 +112622,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -100858,15 +112639,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeompoint", @@ -100877,15 +112661,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeogpoint", @@ -100896,23 +112683,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeompoint", @@ -100923,23 +112715,28 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeogpoint", @@ -100950,11 +112747,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -100965,11 +112764,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -100980,15 +112781,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeometry", @@ -100999,15 +112803,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeography", @@ -101018,23 +112825,28 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeometry", @@ -101045,23 +112857,28 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tgeography", @@ -101072,11 +112889,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -101087,11 +112906,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -101102,11 +112923,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -101117,11 +112940,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -101132,11 +112957,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -101147,15 +112974,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -101166,15 +112996,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -101185,15 +113018,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -101204,15 +113040,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -101223,15 +113062,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -101242,19 +113084,23 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -101265,23 +113111,28 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -101292,23 +113143,28 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -101319,23 +113175,28 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -101346,19 +113207,23 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -101369,11 +113234,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -101384,15 +113251,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tnpoint", @@ -101403,23 +113273,28 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tnpoint", @@ -101436,11 +113311,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -101451,11 +113328,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -101466,11 +113345,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -101481,11 +113362,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -101496,11 +113379,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -101511,11 +113396,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -101526,11 +113413,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -101541,11 +113430,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -101556,11 +113447,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -101571,11 +113464,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -101586,11 +113481,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -101601,11 +113498,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -101616,11 +113515,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -101631,11 +113532,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -101646,11 +113549,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -101667,7 +113572,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -101678,7 +113584,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -101689,7 +113596,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -101700,7 +113608,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -101711,7 +113620,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -101722,7 +113632,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -101733,7 +113644,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -101744,7 +113656,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -101755,7 +113668,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -101766,7 +113680,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -101777,7 +113692,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -101788,7 +113704,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -101799,7 +113716,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -101810,7 +113728,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -101821,7 +113740,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -101838,11 +113758,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101853,11 +113775,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101868,11 +113792,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101883,11 +113809,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101898,11 +113826,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101913,11 +113843,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101928,11 +113860,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101943,11 +113877,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101958,11 +113894,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101973,11 +113911,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -101988,11 +113928,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102003,11 +113945,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102018,11 +113962,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102033,11 +113979,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102048,11 +113996,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102063,11 +114013,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102078,11 +114030,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102093,11 +114047,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102127,11 +114083,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102142,11 +114100,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102157,11 +114117,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102172,11 +114134,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102187,11 +114151,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102202,11 +114168,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102217,11 +114185,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102232,11 +114202,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102247,11 +114219,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102262,11 +114236,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102277,11 +114253,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102292,11 +114270,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102307,11 +114287,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102322,11 +114304,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102337,11 +114321,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102352,11 +114338,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102367,11 +114355,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102382,11 +114372,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102397,11 +114389,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102412,11 +114406,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102427,11 +114423,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102442,11 +114440,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102457,11 +114457,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102472,11 +114474,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102487,11 +114491,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102502,11 +114508,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102517,11 +114525,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102532,11 +114542,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102547,11 +114559,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102562,11 +114576,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102577,11 +114593,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102592,11 +114610,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102607,11 +114627,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102622,11 +114644,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102637,11 +114661,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102652,11 +114678,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102667,11 +114695,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102682,11 +114712,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102697,11 +114729,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102712,11 +114746,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102727,11 +114763,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102742,11 +114780,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102757,11 +114797,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102772,11 +114814,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102787,11 +114831,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102802,11 +114848,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102817,11 +114865,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102832,11 +114882,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102847,11 +114899,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102862,11 +114916,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102877,11 +114933,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102892,11 +114950,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102907,11 +114967,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102922,11 +114984,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102937,11 +115001,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102952,11 +115018,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102967,11 +115035,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102982,11 +115052,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -102997,11 +115069,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103012,11 +115086,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103027,11 +115103,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103042,11 +115120,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103057,11 +115137,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103072,11 +115154,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103087,11 +115171,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103102,11 +115188,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103117,11 +115205,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103132,11 +115222,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103147,11 +115239,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103162,11 +115256,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103177,11 +115273,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103192,11 +115290,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103207,11 +115307,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103222,11 +115324,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103237,11 +115341,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103252,11 +115358,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103310,11 +115418,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103325,11 +115435,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103340,11 +115452,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103355,11 +115469,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103370,11 +115486,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103385,11 +115503,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103400,11 +115520,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103415,11 +115537,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103430,11 +115554,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103445,11 +115571,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103460,11 +115588,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103475,11 +115605,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103490,11 +115622,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103505,11 +115639,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103520,11 +115656,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103535,11 +115673,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103550,11 +115690,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103565,11 +115707,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103580,11 +115724,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103595,11 +115741,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103610,11 +115758,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103625,11 +115775,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103640,11 +115792,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103655,11 +115809,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103670,11 +115826,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103685,11 +115843,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103700,11 +115860,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -103798,11 +115960,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103813,11 +115977,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103828,11 +115994,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -103843,11 +116011,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -103858,11 +116028,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103873,11 +116045,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103888,11 +116062,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103903,11 +116079,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103918,11 +116096,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103933,11 +116113,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -103948,11 +116130,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -103963,11 +116147,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -103978,11 +116164,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -103993,11 +116181,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -104008,11 +116198,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -104023,11 +116215,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int4", @@ -104044,11 +116238,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104059,11 +116255,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104074,11 +116272,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104089,11 +116289,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104104,11 +116306,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104119,11 +116323,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104134,11 +116340,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104149,11 +116357,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104164,11 +116374,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104179,11 +116391,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104194,11 +116408,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104209,11 +116425,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104224,11 +116442,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104239,11 +116459,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104254,11 +116476,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104269,11 +116493,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104284,11 +116510,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104299,11 +116527,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104314,11 +116544,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104329,11 +116561,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104344,11 +116578,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104359,11 +116595,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104374,11 +116612,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104389,11 +116629,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104404,11 +116646,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104419,11 +116663,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104434,11 +116680,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104449,11 +116697,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104464,11 +116714,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104479,11 +116731,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104494,11 +116748,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104509,11 +116765,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104524,11 +116782,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104539,11 +116799,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104554,11 +116816,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104569,11 +116833,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104584,11 +116850,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104599,11 +116867,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104614,11 +116884,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104629,11 +116901,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104644,11 +116918,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104659,11 +116935,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104674,11 +116952,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104689,11 +116969,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104704,11 +116986,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104719,11 +117003,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104734,11 +117020,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104749,11 +117037,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104764,11 +117054,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104779,11 +117071,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104794,11 +117088,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104809,11 +117105,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104824,11 +117122,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104839,11 +117139,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104854,11 +117156,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104869,11 +117173,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104884,11 +117190,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104899,11 +117207,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104914,11 +117224,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104929,11 +117241,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104944,11 +117258,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104959,11 +117275,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104974,11 +117292,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -104989,11 +117309,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105004,11 +117326,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105019,11 +117343,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105034,11 +117360,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105049,11 +117377,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105064,11 +117394,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105079,11 +117411,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105094,11 +117428,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105109,11 +117445,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105124,11 +117462,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105139,11 +117479,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105154,11 +117496,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105169,11 +117513,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105184,11 +117530,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105199,11 +117547,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105214,11 +117564,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105229,11 +117581,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105244,11 +117598,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105259,11 +117615,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105280,11 +117638,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105295,11 +117655,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105310,11 +117672,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105325,11 +117689,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105340,11 +117706,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105355,11 +117723,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105370,11 +117740,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105385,11 +117757,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105400,11 +117774,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105415,11 +117791,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105430,11 +117808,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105445,11 +117825,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105460,11 +117842,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105475,11 +117859,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105490,11 +117876,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105505,11 +117893,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105520,11 +117910,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105535,11 +117927,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105550,11 +117944,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105565,11 +117961,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105580,11 +117978,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105595,11 +117995,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105610,11 +118012,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105625,11 +118029,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105640,11 +118046,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105655,11 +118063,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105670,11 +118080,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105685,11 +118097,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105700,11 +118114,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105715,11 +118131,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105730,11 +118148,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105745,11 +118165,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105760,11 +118182,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105775,11 +118199,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105790,11 +118216,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105805,11 +118233,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105820,11 +118250,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105835,11 +118267,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105850,11 +118284,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105865,11 +118301,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105880,11 +118318,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105895,11 +118335,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105910,11 +118352,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105925,11 +118369,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105940,11 +118386,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105955,11 +118403,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105970,11 +118420,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -105985,11 +118437,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106000,11 +118454,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106015,11 +118471,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106030,11 +118488,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106045,11 +118505,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106060,11 +118522,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106075,11 +118539,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106090,11 +118556,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106105,11 +118573,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106120,11 +118590,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106135,11 +118607,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106150,11 +118624,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106165,11 +118641,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106180,11 +118658,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106195,11 +118675,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106210,11 +118692,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106225,11 +118709,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106240,11 +118726,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106255,11 +118743,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106270,11 +118760,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106285,11 +118777,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106300,11 +118794,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106315,11 +118811,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106330,11 +118828,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106345,11 +118845,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106360,11 +118862,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106375,11 +118879,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106390,11 +118896,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106405,11 +118913,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106420,11 +118930,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106435,11 +118947,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106450,11 +118964,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106465,11 +118981,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106480,11 +118998,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106495,11 +119015,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106516,11 +119038,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106531,11 +119055,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106546,11 +119072,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106561,11 +119089,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106576,11 +119106,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106591,11 +119123,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106606,11 +119140,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106621,11 +119157,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106636,11 +119174,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106651,11 +119191,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106666,11 +119208,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106681,11 +119225,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106696,11 +119242,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106711,11 +119259,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106726,11 +119276,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106741,11 +119293,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -106762,11 +119316,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -106783,11 +119339,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -106798,11 +119356,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -106819,11 +119379,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106834,11 +119396,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106849,11 +119413,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106864,11 +119430,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106879,11 +119447,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106894,11 +119464,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106909,11 +119481,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106924,11 +119498,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106939,11 +119515,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106954,11 +119532,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106969,11 +119549,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106984,11 +119566,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -106999,11 +119583,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107014,11 +119600,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107029,11 +119617,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107044,11 +119634,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107059,11 +119651,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107074,11 +119668,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107108,11 +119704,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107123,11 +119721,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107138,11 +119738,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107153,11 +119755,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107168,11 +119772,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107183,11 +119789,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107198,11 +119806,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107213,11 +119823,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107228,11 +119840,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107243,11 +119857,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107258,11 +119874,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107273,11 +119891,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107288,11 +119908,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107303,11 +119925,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107318,11 +119942,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107333,11 +119959,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107354,11 +119982,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107369,11 +119999,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107384,11 +120016,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107399,11 +120033,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107414,11 +120050,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107429,11 +120067,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107444,11 +120084,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107459,11 +120101,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107474,11 +120118,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107489,11 +120135,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107504,11 +120152,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107519,11 +120169,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107534,11 +120186,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107549,11 +120203,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107564,11 +120220,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107579,11 +120237,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107600,7 +120260,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107611,7 +120272,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107622,7 +120284,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107633,7 +120296,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107644,7 +120308,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107655,7 +120320,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107666,7 +120332,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107677,7 +120344,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107688,7 +120356,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107699,7 +120368,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107710,7 +120380,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107721,7 +120392,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107732,7 +120404,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107743,7 +120416,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107754,7 +120428,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107765,7 +120440,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -107782,23 +120458,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -107815,11 +120496,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107830,11 +120513,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107845,11 +120530,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107860,11 +120547,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107875,11 +120564,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107890,11 +120581,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107905,11 +120598,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107920,11 +120615,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107935,11 +120632,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107950,11 +120649,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -107965,11 +120666,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107980,11 +120683,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -107995,11 +120700,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108010,11 +120717,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108025,11 +120734,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108040,11 +120751,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108061,11 +120774,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108076,11 +120791,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108091,11 +120808,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108106,11 +120825,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108121,11 +120842,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108136,11 +120859,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108151,11 +120876,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108166,11 +120893,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108181,11 +120910,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108196,11 +120927,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108211,11 +120944,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108226,11 +120961,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108241,11 +120978,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108256,11 +120995,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108271,11 +121012,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108286,11 +121029,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108301,11 +121046,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108316,11 +121063,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108331,11 +121080,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108346,11 +121097,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108361,11 +121114,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108376,11 +121131,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108391,11 +121148,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108406,11 +121165,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108421,11 +121182,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108436,11 +121199,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108451,11 +121216,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108466,11 +121233,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108481,11 +121250,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108496,11 +121267,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108511,11 +121284,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108526,11 +121301,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108541,11 +121318,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108556,11 +121335,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108571,11 +121352,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108586,11 +121369,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108601,11 +121386,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108616,11 +121403,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108631,11 +121420,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108646,11 +121437,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108661,11 +121454,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108676,11 +121471,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108691,11 +121488,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108706,11 +121505,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108721,11 +121522,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108736,11 +121539,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108751,11 +121556,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108766,11 +121573,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108820,11 +121629,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108835,11 +121646,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108850,11 +121663,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108865,11 +121680,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108880,11 +121697,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108895,11 +121714,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108910,11 +121731,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108925,11 +121748,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108940,11 +121765,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108955,11 +121782,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -108970,11 +121799,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -108985,11 +121816,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109000,11 +121833,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109015,11 +121850,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109030,11 +121867,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109045,11 +121884,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109066,11 +121907,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109087,11 +121930,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109102,11 +121947,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109117,11 +121964,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109132,11 +121981,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109147,11 +121998,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109162,11 +122015,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109177,11 +122032,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109192,11 +122049,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109207,11 +122066,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109222,11 +122083,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109237,11 +122100,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109252,11 +122117,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109267,11 +122134,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109282,11 +122151,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109297,11 +122168,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -109318,11 +122191,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109333,11 +122208,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109348,11 +122225,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109363,11 +122242,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109378,11 +122259,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109393,11 +122276,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109408,11 +122293,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109423,11 +122310,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109438,11 +122327,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109453,11 +122344,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109468,11 +122361,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109483,11 +122378,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109498,11 +122395,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109513,11 +122412,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109528,11 +122429,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109543,11 +122446,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -109564,7 +122469,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109575,7 +122481,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109586,7 +122493,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109597,7 +122505,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109608,7 +122517,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109619,7 +122529,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109630,7 +122541,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109641,7 +122553,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109652,7 +122565,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109663,7 +122577,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -109680,11 +122595,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109695,11 +122612,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109710,11 +122629,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109725,11 +122646,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109740,11 +122663,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109755,11 +122680,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109770,11 +122697,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109785,11 +122714,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109800,11 +122731,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109815,11 +122748,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109830,11 +122765,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109845,11 +122782,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109860,11 +122799,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109875,11 +122816,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109890,11 +122833,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109905,11 +122850,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109920,11 +122867,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109935,11 +122884,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109950,11 +122901,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109965,11 +122918,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109980,11 +122935,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -109995,11 +122952,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110010,11 +122969,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110025,11 +122986,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110040,11 +123003,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110055,11 +123020,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110070,11 +123037,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110104,11 +123073,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110119,11 +123090,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110134,11 +123107,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110149,11 +123124,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110164,11 +123141,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110179,11 +123158,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110194,11 +123175,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110209,11 +123192,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110224,11 +123209,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110239,11 +123226,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110254,11 +123243,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110269,11 +123260,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110284,11 +123277,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110299,11 +123294,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110314,11 +123311,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110329,11 +123328,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110344,11 +123345,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110359,11 +123362,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110374,11 +123379,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110389,11 +123396,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110404,11 +123413,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110419,11 +123430,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110434,11 +123447,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110449,11 +123464,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110464,11 +123481,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110479,11 +123498,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110494,11 +123515,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110509,11 +123532,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110524,11 +123549,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110539,11 +123566,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110554,11 +123583,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110569,11 +123600,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110584,11 +123617,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110599,11 +123634,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110614,11 +123651,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110629,11 +123668,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110644,11 +123685,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110659,11 +123702,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110674,11 +123719,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110689,11 +123736,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110704,11 +123753,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110719,11 +123770,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110734,11 +123787,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110749,11 +123804,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110764,11 +123821,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110779,11 +123838,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110794,11 +123855,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110809,11 +123872,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110824,11 +123889,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110839,11 +123906,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110854,11 +123923,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110869,11 +123940,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110884,11 +123957,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110899,11 +123974,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110914,11 +123991,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110929,11 +124008,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110944,11 +124025,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110959,11 +124042,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110974,11 +124059,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -110989,11 +124076,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111004,11 +124093,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111019,11 +124110,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111034,11 +124127,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111049,11 +124144,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111064,11 +124161,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111079,11 +124178,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111094,11 +124195,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111109,11 +124212,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111124,11 +124229,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111139,11 +124246,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111154,11 +124263,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111169,11 +124280,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111184,11 +124297,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111199,11 +124314,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111214,11 +124331,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111229,11 +124348,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111287,11 +124408,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111302,11 +124425,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111317,11 +124442,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111332,11 +124459,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111347,11 +124476,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111362,11 +124493,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111377,11 +124510,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111392,11 +124527,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111407,11 +124544,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111422,11 +124561,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111437,11 +124578,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111452,11 +124595,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111467,11 +124612,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111482,11 +124629,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111497,11 +124646,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111512,11 +124663,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111527,11 +124680,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111542,11 +124697,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111576,11 +124733,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111591,11 +124750,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111606,11 +124767,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111621,11 +124784,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111636,11 +124801,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111651,11 +124818,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111666,11 +124835,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111681,11 +124852,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111696,11 +124869,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111711,11 +124886,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111726,11 +124903,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111741,11 +124920,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111756,11 +124937,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111771,11 +124954,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111786,11 +124971,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111801,11 +124988,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111816,11 +125005,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111831,11 +125022,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111846,11 +125039,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111861,11 +125056,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111876,11 +125073,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111891,11 +125090,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111906,11 +125107,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111921,11 +125124,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111936,11 +125141,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111951,11 +125158,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111966,11 +125175,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111981,11 +125192,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -111996,11 +125209,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112011,11 +125226,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112026,11 +125243,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112041,11 +125260,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112056,11 +125277,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112071,11 +125294,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112086,11 +125311,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112101,11 +125328,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112116,11 +125345,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112131,11 +125362,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112146,11 +125379,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112161,11 +125396,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112176,11 +125413,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112191,11 +125430,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112206,11 +125447,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112221,11 +125464,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112236,11 +125481,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112251,11 +125498,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112266,11 +125515,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112281,11 +125532,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112296,11 +125549,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112311,11 +125566,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112326,11 +125583,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112341,11 +125600,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112356,11 +125617,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112371,11 +125634,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112386,11 +125651,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112401,11 +125668,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112416,11 +125685,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112431,11 +125702,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112446,11 +125719,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112461,11 +125736,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112476,11 +125753,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112491,11 +125770,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112506,11 +125787,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112521,11 +125804,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112536,11 +125821,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112551,11 +125838,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112566,11 +125855,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112581,11 +125872,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112596,11 +125889,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112611,11 +125906,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112626,11 +125923,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112641,11 +125940,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112656,11 +125957,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112671,11 +125974,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112686,11 +125991,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112701,11 +126008,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112759,11 +126068,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112774,11 +126085,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112789,11 +126102,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112804,11 +126119,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112819,11 +126136,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112834,11 +126153,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112849,11 +126170,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112864,11 +126187,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112879,11 +126204,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112894,11 +126221,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112909,11 +126238,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112924,11 +126255,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112939,11 +126272,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112954,11 +126289,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112969,11 +126306,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112984,11 +126323,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -112999,11 +126340,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113014,11 +126357,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113029,11 +126374,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113044,11 +126391,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113059,11 +126408,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113074,11 +126425,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113089,11 +126442,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113104,11 +126459,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113119,11 +126476,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113134,11 +126493,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113149,11 +126510,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113183,11 +126546,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113198,11 +126563,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113213,11 +126580,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113228,11 +126597,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113243,11 +126614,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113258,11 +126631,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113273,11 +126648,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113288,11 +126665,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113303,11 +126682,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113318,11 +126699,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113333,11 +126716,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113348,11 +126733,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113363,11 +126750,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113378,11 +126767,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113393,11 +126784,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113408,11 +126801,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113423,11 +126818,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113438,11 +126835,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113472,11 +126871,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113487,11 +126888,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113502,11 +126905,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113517,11 +126922,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113532,11 +126939,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113547,11 +126956,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113562,11 +126973,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113577,11 +126990,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113592,11 +127007,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113607,11 +127024,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113622,11 +127041,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113637,11 +127058,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113652,11 +127075,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113667,11 +127092,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113682,11 +127109,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113697,11 +127126,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113712,11 +127143,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113727,11 +127160,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113742,11 +127177,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113757,11 +127194,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113772,11 +127211,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113787,11 +127228,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113802,11 +127245,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113817,11 +127262,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113832,11 +127279,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113847,11 +127296,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113862,11 +127313,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113877,11 +127330,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113892,11 +127347,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113907,11 +127364,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113922,11 +127381,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113937,11 +127398,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113952,11 +127415,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113967,11 +127432,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113982,11 +127449,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -113997,11 +127466,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114012,11 +127483,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114027,11 +127500,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114042,11 +127517,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114057,11 +127534,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114072,11 +127551,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114087,11 +127568,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114102,11 +127585,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114117,11 +127602,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114132,11 +127619,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114147,11 +127636,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114162,11 +127653,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114177,11 +127670,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114192,11 +127687,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114207,11 +127704,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114222,11 +127721,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114237,11 +127738,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114252,11 +127755,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114267,11 +127772,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114282,11 +127789,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114297,11 +127806,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114312,11 +127823,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114327,11 +127840,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114342,11 +127857,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114357,11 +127874,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114372,11 +127891,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114387,11 +127908,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114402,11 +127925,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114417,11 +127942,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114432,11 +127959,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114447,11 +127976,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114462,11 +127993,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114477,11 +128010,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114492,11 +128027,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114507,11 +128044,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114522,11 +128061,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114537,11 +128078,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114552,11 +128095,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114567,11 +128112,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114582,11 +128129,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114597,11 +128146,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114612,11 +128163,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114627,11 +128180,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114642,11 +128197,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114657,11 +128214,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114672,11 +128231,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114687,11 +128248,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114708,11 +128271,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114723,11 +128288,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114738,11 +128305,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114753,11 +128322,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114768,11 +128339,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114783,11 +128356,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114798,11 +128373,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114813,11 +128390,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114828,11 +128407,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114843,11 +128424,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114858,11 +128441,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114873,11 +128458,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114888,11 +128475,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114903,11 +128492,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114918,11 +128509,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114933,11 +128526,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114948,11 +128543,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114963,11 +128560,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114978,11 +128577,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -114993,11 +128594,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115008,11 +128611,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115023,11 +128628,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115038,11 +128645,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115053,11 +128662,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115068,11 +128679,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115083,11 +128696,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115098,11 +128713,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115113,11 +128730,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115128,11 +128747,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115143,11 +128764,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115158,11 +128781,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115173,11 +128798,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115188,11 +128815,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115203,11 +128832,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115218,11 +128849,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115233,11 +128866,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115248,11 +128883,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115263,11 +128900,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115278,11 +128917,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115293,11 +128934,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115308,11 +128951,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115323,11 +128968,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115338,11 +128985,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115353,11 +129002,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115368,11 +129019,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115383,11 +129036,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115398,11 +129053,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115413,11 +129070,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115467,11 +129126,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115482,11 +129143,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115497,11 +129160,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115512,11 +129177,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115527,11 +129194,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115542,11 +129211,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115557,11 +129228,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115572,11 +129245,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115587,11 +129262,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115602,11 +129279,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115617,11 +129296,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115632,11 +129313,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115647,11 +129330,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115662,11 +129347,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115677,11 +129364,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115692,11 +129381,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115707,11 +129398,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115722,11 +129415,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115737,11 +129432,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115752,11 +129449,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115767,11 +129466,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115782,11 +129483,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115797,11 +129500,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115812,11 +129517,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115827,11 +129534,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115842,11 +129551,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115857,11 +129568,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115872,11 +129585,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115887,11 +129602,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115902,11 +129619,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115917,11 +129636,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115932,11 +129653,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115947,11 +129670,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115962,11 +129687,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115977,11 +129704,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -115992,11 +129721,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116007,11 +129738,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116022,11 +129755,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116037,11 +129772,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116052,11 +129789,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116067,11 +129806,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116082,11 +129823,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116097,11 +129840,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116112,11 +129857,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116127,11 +129874,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116142,11 +129891,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116157,11 +129908,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116172,11 +129925,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116226,11 +129981,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116241,11 +129998,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116256,11 +130015,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116271,11 +130032,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116286,11 +130049,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116301,11 +130066,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116316,11 +130083,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116331,11 +130100,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116346,11 +130117,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116361,11 +130134,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116376,11 +130151,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116391,11 +130168,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116406,11 +130185,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116421,11 +130202,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116436,11 +130219,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116451,11 +130236,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116466,11 +130253,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116481,11 +130270,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116496,11 +130287,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116511,11 +130304,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116526,11 +130321,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116541,11 +130338,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116556,11 +130355,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116571,11 +130372,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116586,11 +130389,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116601,11 +130406,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116616,11 +130423,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116631,11 +130440,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116646,11 +130457,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116661,11 +130474,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116676,11 +130491,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116691,11 +130508,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116706,11 +130525,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116721,11 +130542,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116736,11 +130559,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116751,11 +130576,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116766,11 +130593,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116781,11 +130610,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116796,11 +130627,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116811,11 +130644,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116826,11 +130661,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116841,11 +130678,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116856,11 +130695,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116871,11 +130712,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116886,11 +130729,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116901,11 +130746,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116916,11 +130763,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116931,11 +130780,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -116985,11 +130836,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117000,11 +130853,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117015,11 +130870,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117030,11 +130887,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117045,11 +130904,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117060,11 +130921,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117075,11 +130938,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117090,11 +130955,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117105,11 +130972,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117120,11 +130989,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117135,11 +131006,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117150,11 +131023,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117165,11 +131040,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117180,11 +131057,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117195,11 +131074,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117210,11 +131091,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117225,11 +131108,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117240,11 +131125,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117255,11 +131142,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117270,11 +131159,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117285,11 +131176,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117300,11 +131193,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117315,11 +131210,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117330,11 +131227,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117345,11 +131244,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117360,11 +131261,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117375,11 +131278,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117390,11 +131295,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117405,11 +131312,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117420,11 +131329,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117435,11 +131346,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117450,11 +131363,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117465,11 +131380,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117480,11 +131397,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117495,11 +131414,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117510,11 +131431,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117525,11 +131448,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117540,11 +131465,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117555,11 +131482,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117570,11 +131499,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117585,11 +131516,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117600,11 +131533,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117615,11 +131550,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117630,11 +131567,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117645,11 +131584,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117660,11 +131601,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117675,11 +131618,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117690,11 +131635,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117705,11 +131652,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117720,11 +131669,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117735,11 +131686,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117750,11 +131703,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117765,11 +131720,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117780,11 +131737,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117795,11 +131754,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117810,11 +131771,13 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117825,11 +131788,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117840,11 +131805,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117855,11 +131822,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117870,11 +131839,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117885,11 +131856,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117900,11 +131873,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117915,11 +131890,13 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117930,11 +131907,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117945,11 +131924,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117960,11 +131941,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117975,11 +131958,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -117990,11 +131975,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118005,11 +131992,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118020,11 +132009,13 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118035,11 +132026,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118050,11 +132043,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118065,11 +132060,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118080,11 +132077,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118095,11 +132094,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118110,11 +132111,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118125,11 +132128,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118140,11 +132145,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118155,11 +132162,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118170,11 +132179,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118185,11 +132196,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118200,11 +132213,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -118221,19 +132236,23 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -118250,7 +132269,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118261,7 +132281,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118272,7 +132293,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118283,7 +132305,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118294,7 +132317,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118305,7 +132329,8 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118316,7 +132341,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118327,7 +132353,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118338,7 +132365,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118349,7 +132377,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118360,7 +132389,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118371,7 +132401,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -118388,7 +132419,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -118405,11 +132437,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118420,11 +132454,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118435,11 +132471,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118450,11 +132488,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118465,11 +132505,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118480,11 +132522,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118495,11 +132539,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118510,11 +132556,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118525,11 +132573,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118540,11 +132590,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118555,11 +132607,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118570,11 +132624,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118585,11 +132641,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118600,11 +132658,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118615,11 +132675,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118630,11 +132692,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118645,11 +132709,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118660,11 +132726,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118675,11 +132743,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118690,11 +132760,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118705,11 +132777,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118720,11 +132794,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118735,11 +132811,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118750,11 +132828,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118765,11 +132845,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118780,11 +132862,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118795,11 +132879,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118810,11 +132896,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118825,11 +132913,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118840,11 +132930,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118934,11 +133026,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118949,11 +133043,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118964,11 +133060,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118979,11 +133077,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -118994,11 +133094,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119009,11 +133111,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119024,11 +133128,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119039,11 +133145,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119054,11 +133162,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119069,11 +133179,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119084,11 +133196,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119099,11 +133213,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119114,11 +133230,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119164,11 +133282,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119179,11 +133299,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119194,11 +133316,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119209,11 +133333,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119224,11 +133350,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119239,11 +133367,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119254,11 +133384,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119269,11 +133401,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119284,11 +133418,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119299,11 +133435,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119314,11 +133452,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119329,11 +133469,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119344,11 +133486,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119394,11 +133538,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119409,11 +133555,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119424,11 +133572,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119439,11 +133589,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119454,11 +133606,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119469,11 +133623,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119484,11 +133640,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119499,11 +133657,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119514,11 +133674,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119529,11 +133691,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119544,11 +133708,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119559,11 +133725,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119609,11 +133777,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119624,11 +133794,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119639,11 +133811,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119654,11 +133828,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119669,11 +133845,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119684,11 +133862,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119699,11 +133879,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119714,11 +133896,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119729,11 +133913,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119744,11 +133930,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119759,11 +133947,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119774,11 +133964,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119824,11 +134016,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119839,11 +134033,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119854,11 +134050,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119869,11 +134067,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119884,11 +134084,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119899,11 +134101,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119914,11 +134118,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119929,11 +134135,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119944,11 +134152,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119959,11 +134169,13 @@ "args": [ { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119974,11 +134186,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "h3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -119989,11 +134203,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120004,11 +134220,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120019,11 +134237,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120034,11 +134254,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120049,11 +134271,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120064,11 +134288,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120079,11 +134305,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120094,11 +134322,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120109,11 +134339,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120124,11 +134356,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120139,11 +134373,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120154,11 +134390,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120169,11 +134407,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120184,11 +134424,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120199,11 +134441,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120214,11 +134458,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120229,11 +134475,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120244,11 +134492,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120259,11 +134509,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120353,7 +134605,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -120370,7 +134623,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -120387,11 +134641,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120402,11 +134658,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120417,11 +134675,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120432,11 +134692,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120447,11 +134709,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120462,11 +134726,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120477,11 +134743,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120492,11 +134760,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120507,11 +134777,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120522,11 +134794,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120537,11 +134811,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120552,11 +134828,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120567,11 +134845,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120582,11 +134862,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120597,11 +134879,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120612,11 +134896,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120627,11 +134913,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120642,11 +134930,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120657,11 +134947,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120672,11 +134964,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120687,11 +134981,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120702,11 +134998,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120717,11 +135015,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120732,11 +135032,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120747,11 +135049,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120762,11 +135066,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120777,11 +135083,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120792,11 +135100,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120807,11 +135117,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120822,11 +135134,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120837,11 +135151,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120852,11 +135168,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120867,11 +135185,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120882,11 +135202,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120897,11 +135219,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120912,11 +135236,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -120933,7 +135259,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -120950,7 +135277,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -120967,11 +135295,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -120982,11 +135312,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -121012,7 +135344,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -121029,7 +135362,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -121046,7 +135380,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -121063,7 +135398,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -121080,7 +135416,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -121097,7 +135434,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121108,11 +135446,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121123,11 +135463,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121138,11 +135480,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121153,15 +135497,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tfloat", @@ -121172,15 +135519,18 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tfloat", @@ -121191,7 +135541,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121202,7 +135553,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121232,7 +135584,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121249,7 +135602,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121266,7 +135620,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121283,7 +135638,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121300,19 +135656,23 @@ "args": [ { "type": "tfloat[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tfloat", @@ -121323,11 +135683,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tfloat", @@ -121344,7 +135706,8 @@ "args": [ { "type": "tfloat[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121355,11 +135718,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tfloat", @@ -121376,19 +135741,23 @@ "args": [ { "type": "tfloat[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tfloat", @@ -121405,7 +135774,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121422,23 +135792,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -121455,15 +135830,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121480,15 +135858,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121505,7 +135886,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -121522,11 +135904,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121543,11 +135927,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121564,11 +135950,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121585,11 +135973,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121606,11 +135996,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121627,11 +136019,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121648,15 +136042,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121673,15 +136070,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121698,15 +136098,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -121723,11 +136126,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121738,11 +136143,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121753,11 +136160,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121768,11 +136177,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121783,11 +136194,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121798,11 +136211,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121813,11 +136228,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121828,11 +136245,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121843,11 +136262,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121864,11 +136285,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121879,11 +136302,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121894,11 +136319,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121909,11 +136336,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121924,11 +136353,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121939,11 +136370,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121954,11 +136387,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121969,11 +136404,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121984,11 +136421,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -121999,11 +136438,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122014,11 +136455,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122029,11 +136472,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122050,11 +136495,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122065,11 +136512,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122080,11 +136529,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122095,11 +136546,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122110,11 +136563,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122125,11 +136580,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122140,11 +136597,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122155,11 +136614,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122170,11 +136631,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122185,11 +136648,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122200,11 +136665,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122215,11 +136682,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -122236,7 +136705,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122247,7 +136717,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122258,11 +136729,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122273,11 +136746,13 @@ "args": [ { "type": "geography(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122288,11 +136763,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122303,15 +136780,18 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tgeogpoint", @@ -122322,15 +136802,18 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tgeompoint", @@ -122341,7 +136824,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122352,7 +136836,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122363,7 +136848,8 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122380,7 +136866,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122397,7 +136884,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122414,7 +136902,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122431,7 +136920,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122448,7 +136938,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122465,7 +136956,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122482,7 +136974,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122499,19 +136992,23 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeogpoint", @@ -122522,11 +137019,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122537,7 +137036,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122554,7 +137054,8 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122565,11 +137066,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122580,7 +137083,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122597,19 +137101,23 @@ "args": [ { "type": "tgeogpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tgeogpoint", @@ -122626,23 +137134,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -122659,15 +137172,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122684,15 +137200,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122709,7 +137228,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -122726,7 +137246,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -122743,11 +137264,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122758,11 +137281,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122773,11 +137298,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122788,15 +137315,18 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tgeography", @@ -122807,15 +137337,18 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tgeometry", @@ -122826,7 +137359,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122837,7 +137371,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122859,7 +137394,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122876,7 +137412,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122893,7 +137430,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122910,7 +137448,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122927,7 +137466,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122944,7 +137484,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122961,7 +137502,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -122978,19 +137520,23 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeography", @@ -123001,11 +137547,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123016,7 +137564,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123033,7 +137582,8 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123044,11 +137594,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123059,7 +137611,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123076,19 +137629,23 @@ "args": [ { "type": "tgeography[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tgeography", @@ -123105,23 +137662,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -123138,15 +137700,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123163,15 +137728,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123188,7 +137756,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -123205,7 +137774,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -123222,7 +137792,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123233,11 +137804,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123248,11 +137821,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123263,11 +137838,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123278,15 +137855,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tgeometry", @@ -123297,15 +137877,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tgeometry", @@ -123316,7 +137899,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123327,7 +137911,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123361,7 +137946,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123378,7 +137964,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123395,7 +137982,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123412,7 +138000,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123429,7 +138018,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123446,7 +138036,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123463,7 +138054,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123480,19 +138072,23 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeometry", @@ -123503,11 +138099,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123518,7 +138116,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123535,7 +138134,8 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123546,11 +138146,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123561,7 +138163,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123578,19 +138181,23 @@ "args": [ { "type": "tgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tgeometry", @@ -123607,23 +138214,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -123640,15 +138252,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123665,15 +138280,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123690,7 +138308,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -123707,7 +138326,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -123724,7 +138344,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123735,7 +138356,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123746,7 +138368,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123757,7 +138380,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123768,11 +138392,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123783,11 +138409,13 @@ "args": [ { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123798,11 +138426,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123813,15 +138443,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tgeompoint", @@ -123832,15 +138465,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tgeompoint", @@ -123851,7 +138487,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123862,7 +138499,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123873,7 +138511,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123884,7 +138523,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123922,7 +138562,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123939,7 +138580,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123956,7 +138598,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123973,7 +138616,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -123990,7 +138634,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124007,7 +138652,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124024,7 +138670,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124041,19 +138688,23 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeompoint", @@ -124064,11 +138715,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124079,7 +138732,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124096,7 +138750,8 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124107,11 +138762,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124122,7 +138779,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124139,19 +138797,23 @@ "args": [ { "type": "tgeompoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tgeompoint", @@ -124168,23 +138830,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -124201,15 +138868,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124226,15 +138896,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124251,7 +138924,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -124268,7 +138942,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -124285,11 +138960,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124300,11 +138977,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124315,11 +138994,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124330,11 +139011,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124345,11 +139028,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124360,11 +139045,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124375,11 +139062,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124390,11 +139079,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124405,11 +139096,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -124426,11 +139119,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -124441,7 +139136,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -124458,7 +139154,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -124475,7 +139172,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -124492,23 +139190,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -124525,15 +139228,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -124550,15 +139256,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "th3index", @@ -124575,15 +139284,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -124594,15 +139306,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -124613,15 +139328,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -124632,15 +139350,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -124651,15 +139372,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -124676,23 +139400,28 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -124703,23 +139432,28 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -124730,23 +139464,28 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -124757,23 +139496,28 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -124784,23 +139528,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -124811,23 +139560,28 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "stbox[]", @@ -124838,15 +139592,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox[]", @@ -124857,15 +139614,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox[]", @@ -124876,15 +139636,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox[]", @@ -124901,7 +139664,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124912,7 +139676,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124923,7 +139688,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124934,7 +139700,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124945,7 +139712,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124956,7 +139724,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124967,7 +139736,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124978,7 +139748,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -124989,7 +139760,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125000,7 +139772,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125011,7 +139784,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125022,7 +139796,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125033,7 +139808,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125044,7 +139820,8 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125055,7 +139832,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125089,15 +139867,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125108,15 +139889,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125127,15 +139911,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125146,15 +139933,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125165,15 +139955,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125184,15 +139977,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125203,15 +139999,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -125222,15 +140021,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -125241,15 +140043,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -125260,15 +140065,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -125279,15 +140087,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -125298,15 +140109,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "setof", @@ -125328,19 +140142,23 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -125351,19 +140169,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -125374,19 +140196,23 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "SETOF", @@ -125397,15 +140223,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -125427,11 +140256,13 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -125442,11 +140273,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -125457,11 +140290,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -125472,11 +140307,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -125487,11 +140324,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -125508,7 +140347,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125519,7 +140359,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -125536,11 +140377,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125551,11 +140394,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125566,11 +140411,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125581,11 +140428,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125596,11 +140445,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125611,11 +140462,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125626,11 +140479,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125641,11 +140496,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125656,11 +140513,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125671,11 +140530,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125686,11 +140547,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125701,11 +140564,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125716,11 +140581,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125731,11 +140598,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125746,11 +140615,13 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125761,11 +140632,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -125795,7 +140668,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125806,7 +140680,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125817,7 +140692,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125828,7 +140704,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125839,7 +140716,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125850,7 +140728,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125861,7 +140740,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125872,7 +140752,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125883,7 +140764,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125894,7 +140776,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125905,7 +140788,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125916,7 +140800,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125927,7 +140812,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -125938,7 +140824,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz[]", @@ -125976,11 +140863,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -125991,11 +140880,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126006,11 +140897,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126021,11 +140914,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126036,11 +140931,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126051,7 +140948,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126062,7 +140960,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126073,7 +140972,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126147,7 +141047,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126164,7 +141065,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126186,7 +141088,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126312,7 +141215,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126342,19 +141246,23 @@ "args": [ { "type": "tint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tint", @@ -126365,11 +141273,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tint", @@ -126411,7 +141321,8 @@ "args": [ { "type": "tint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126422,7 +141333,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126472,15 +141384,18 @@ "args": [ { "type": "tint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tint", @@ -126502,7 +141417,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126519,23 +141435,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -126552,15 +141473,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126577,15 +141501,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126611,7 +141538,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -126628,11 +141556,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126649,11 +141579,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126670,11 +141602,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126691,11 +141625,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126712,11 +141648,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126733,11 +141671,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126754,15 +141694,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126779,15 +141722,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126804,15 +141750,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -126829,11 +141778,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126844,11 +141795,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126859,11 +141812,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126874,11 +141829,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126889,11 +141846,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126904,11 +141863,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126919,11 +141880,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126934,11 +141897,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126949,11 +141914,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126970,11 +141937,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -126985,11 +141954,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127000,11 +141971,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127015,11 +141988,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127030,11 +142005,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127045,11 +142022,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127060,11 +142039,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127075,11 +142056,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127090,11 +142073,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127111,7 +142096,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -127133,7 +142119,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -127155,11 +142142,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127170,11 +142159,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127185,11 +142176,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127200,11 +142193,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127215,11 +142210,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127230,11 +142227,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127245,11 +142244,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127260,11 +142261,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127275,11 +142278,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127290,11 +142295,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127305,11 +142312,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127320,11 +142329,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127335,11 +142346,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127350,11 +142363,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127365,11 +142380,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127380,11 +142397,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127395,11 +142414,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127410,11 +142431,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127425,11 +142448,13 @@ "args": [ { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127440,11 +142465,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127455,11 +142482,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127470,11 +142499,13 @@ "args": [ { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127485,11 +142516,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127500,11 +142533,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127515,11 +142550,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127530,11 +142567,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127545,11 +142584,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127560,11 +142601,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127575,11 +142618,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127590,11 +142635,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127605,11 +142652,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127620,11 +142669,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127635,11 +142686,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127650,11 +142703,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127665,11 +142720,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127680,11 +142737,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbool", @@ -127701,11 +142760,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127716,11 +142777,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127731,11 +142794,13 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127746,15 +142811,18 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tnpoint", @@ -127765,15 +142833,18 @@ "args": [ { "type": "npoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tnpoint", @@ -127784,7 +142855,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127806,7 +142878,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127823,7 +142896,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127840,7 +142914,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127857,7 +142932,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127874,19 +142950,23 @@ "args": [ { "type": "tnpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tnpoint", @@ -127897,11 +142977,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127912,7 +142994,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127929,7 +143012,8 @@ "args": [ { "type": "tnpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127940,11 +143024,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127955,7 +143041,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -127972,19 +143059,23 @@ "args": [ { "type": "tnpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tnpoint", @@ -128001,31 +143092,38 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -128042,11 +143140,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -128063,31 +143163,38 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int2", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int4", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "char", @@ -128104,23 +143211,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -128137,15 +143249,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -128162,15 +143277,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -128187,7 +143305,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tnpoint", @@ -128204,11 +143323,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -128225,11 +143346,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128240,11 +143363,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128255,11 +143380,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128270,11 +143397,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128285,11 +143414,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128300,11 +143431,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128315,11 +143448,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128330,11 +143465,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128345,11 +143482,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128395,11 +143534,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128410,11 +143551,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128425,11 +143568,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128440,11 +143585,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128455,11 +143602,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128470,11 +143619,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128485,11 +143636,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128500,11 +143653,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128515,11 +143670,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128557,11 +143714,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -128578,11 +143737,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -128593,11 +143754,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -128608,11 +143771,13 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbox", @@ -128629,23 +143794,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -128662,11 +143832,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128677,11 +143849,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128692,11 +143866,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128707,11 +143883,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128722,11 +143900,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128737,11 +143917,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128752,11 +143934,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128767,11 +143951,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128782,11 +143968,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128832,19 +144020,23 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -128861,7 +144053,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -128878,11 +144071,13 @@ "args": [ { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128893,11 +144088,13 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128908,11 +144105,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128923,11 +144122,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tbigint", @@ -128938,11 +144139,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128953,11 +144156,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -128968,11 +144173,13 @@ "args": [ { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128983,11 +144190,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -128998,11 +144207,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -129048,7 +144259,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -129065,11 +144277,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129080,11 +144294,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129101,7 +144317,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -129118,7 +144335,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -129135,7 +144353,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -129152,7 +144371,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -129169,27 +144389,33 @@ "args": [ { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcbox", @@ -129200,7 +144426,8 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129211,11 +144438,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129226,7 +144455,8 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129248,11 +144478,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129269,11 +144501,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129290,11 +144524,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129311,11 +144547,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129332,11 +144570,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129353,11 +144593,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129374,11 +144616,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -129400,11 +144644,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129421,11 +144667,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129442,11 +144690,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129463,11 +144713,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129484,11 +144736,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129505,11 +144759,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129526,23 +144782,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -129559,23 +144820,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -129592,15 +144858,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -129617,11 +144886,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -129638,15 +144909,18 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -129663,11 +144937,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129684,11 +144960,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129705,7 +144983,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129722,11 +145001,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -129743,11 +145024,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129764,11 +145047,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129785,11 +145070,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129806,11 +145093,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129827,7 +145116,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -129844,11 +145134,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129865,11 +145157,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129886,11 +145180,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129907,11 +145203,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129928,11 +145226,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129949,11 +145249,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129970,11 +145272,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -129991,11 +145295,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -130012,11 +145318,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -130033,7 +145341,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -130050,11 +145359,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -130071,11 +145382,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -130092,7 +145405,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -130109,7 +145423,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -130126,11 +145441,13 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcbox", @@ -130147,11 +145464,13 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcbox", @@ -130168,31 +145487,38 @@ "args": [ { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcbox", @@ -130209,35 +145535,43 @@ "args": [ { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcbox", @@ -130254,39 +145588,48 @@ "args": [ { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcbox", @@ -130303,11 +145646,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130318,11 +145663,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130333,11 +145680,13 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130348,15 +145697,18 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -130367,15 +145719,18 @@ "args": [ { "type": "pcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -130392,7 +145747,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130409,7 +145765,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130426,19 +145783,23 @@ "args": [ { "type": "tpcpatch[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpatch", @@ -130455,7 +145816,8 @@ "args": [ { "type": "tpcpatch[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130472,15 +145834,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130497,7 +145862,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -130514,15 +145880,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130539,7 +145908,8 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -130556,7 +145926,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpatch", @@ -130573,11 +145944,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130588,11 +145961,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130603,11 +145978,13 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130618,15 +145995,18 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpoint", @@ -130637,15 +146017,18 @@ "args": [ { "type": "pcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpoint", @@ -130662,7 +146045,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130679,7 +146063,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130696,19 +146081,23 @@ "args": [ { "type": "tpcpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": null } ], "returns": "tpcpoint", @@ -130725,7 +146114,8 @@ "args": [ { "type": "tpcpoint[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130742,15 +146132,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130767,7 +146160,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -130784,15 +146178,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130809,7 +146206,8 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -130826,7 +146224,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpcpoint", @@ -130843,7 +146242,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130854,11 +146254,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130869,11 +146271,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130884,11 +146288,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130899,15 +146305,18 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tpose", @@ -130918,15 +146327,18 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tpose", @@ -130948,7 +146360,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130965,7 +146378,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130982,7 +146396,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -130999,7 +146414,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131021,7 +146437,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131038,7 +146455,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131055,7 +146473,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131072,7 +146491,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131089,19 +146509,23 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tpose", @@ -131112,11 +146536,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "tpose", @@ -131133,7 +146559,8 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131144,11 +146571,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "tpose", @@ -131165,19 +146594,23 @@ "args": [ { "type": "tpose[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "tpose", @@ -131194,23 +146627,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -131227,15 +146665,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131252,7 +146693,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -131269,15 +146711,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131294,7 +146739,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -131311,7 +146757,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131328,7 +146775,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -131345,15 +146793,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "trgeometry", @@ -131364,15 +146815,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tcbuffer", @@ -131383,15 +146837,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tpose", @@ -131402,15 +146859,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tgeometry", @@ -131421,15 +146881,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tgeography", @@ -131440,15 +146903,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tgeompoint", @@ -131459,15 +146925,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tgeogpoint", @@ -131478,15 +146947,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tint", @@ -131497,15 +146969,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tbigint", @@ -131516,15 +146991,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tfloat", @@ -131535,15 +147013,18 @@ "args": [ { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "timestamptz", @@ -131554,15 +147035,18 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tstzset", @@ -131573,15 +147057,18 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tstzspan", @@ -131592,15 +147079,18 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" } ], "returns": "tstzspanset", @@ -131617,11 +147107,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geometry", @@ -131632,11 +147124,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geometry", @@ -131647,11 +147141,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "geography", @@ -131662,7 +147158,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -131696,11 +147193,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -131711,11 +147210,13 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -131726,11 +147227,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tcbuffer", @@ -131741,11 +147244,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbufferset", @@ -131756,11 +147261,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tpose", @@ -131771,11 +147278,13 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -131786,11 +147295,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "poseset", @@ -131801,11 +147312,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -131816,11 +147329,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -131831,11 +147346,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -131846,11 +147363,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -131861,11 +147380,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeogpoint", @@ -131876,11 +147397,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -131891,11 +147414,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeography", @@ -131917,19 +147442,23 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "trgeometry", @@ -131940,19 +147469,23 @@ "args": [ { "type": "cbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "cbuffer", @@ -131963,19 +147496,23 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tcbuffer", @@ -131986,19 +147523,23 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "cbufferset", @@ -132009,19 +147550,23 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tpose", @@ -132032,19 +147577,23 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "pose", @@ -132055,19 +147604,23 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "poseset", @@ -132078,19 +147631,23 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geomset", @@ -132101,19 +147658,23 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geogset", @@ -132124,19 +147685,23 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "stbox", @@ -132147,19 +147712,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeompoint", @@ -132170,19 +147739,23 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeogpoint", @@ -132193,19 +147766,23 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeometry", @@ -132216,19 +147793,23 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "tgeography", @@ -132250,7 +147831,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -132261,7 +147843,8 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -132278,19 +147861,23 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -132301,15 +147888,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -132320,19 +147910,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -132343,15 +147937,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -132368,23 +147965,28 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeometry", @@ -132395,23 +147997,28 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float8", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tgeompoint", @@ -132428,11 +148035,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geometry", @@ -132443,11 +148052,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geometry", @@ -132458,11 +148069,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geometry", @@ -132473,11 +148086,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geometry", @@ -132488,11 +148103,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bool", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "geography", @@ -132550,7 +148167,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -132561,7 +148179,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -132572,7 +148191,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tint", @@ -132602,7 +148222,8 @@ "args": [ { "type": "cstring[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -132619,11 +148240,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132634,15 +148257,18 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132653,11 +148279,13 @@ "args": [ { "type": "geometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132674,7 +148302,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132691,7 +148320,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132708,7 +148338,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132725,7 +148356,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132742,7 +148374,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132759,7 +148392,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132776,7 +148410,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132798,19 +148433,23 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "trgeometry", @@ -132821,11 +148460,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "trgeometry", @@ -132847,7 +148488,8 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132858,11 +148500,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "trgeometry", @@ -132879,19 +148523,23 @@ "args": [ { "type": "trgeometry[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "NULL" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'linear'" } ], "returns": "trgeometry", @@ -132908,23 +148556,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -132941,15 +148594,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -132966,7 +148622,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -132983,7 +148640,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -133000,7 +148658,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -133017,7 +148676,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -133034,35 +148694,43 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "minusValues(trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "atValues(trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "minusValues(trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "atTime(trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "trgeometry", @@ -133073,19 +148741,23 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tcbuffer", @@ -133096,19 +148768,23 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tpose", @@ -133119,19 +148795,23 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tgeometry", @@ -133142,19 +148822,23 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tgeography", @@ -133165,19 +148849,23 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tgeompoint", @@ -133188,19 +148876,23 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tgeogpoint", @@ -133211,19 +148903,23 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tbool", @@ -133234,19 +148930,23 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tint", @@ -133257,19 +148957,23 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tbigint", @@ -133280,19 +148984,23 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tfloat", @@ -133303,19 +149011,23 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "ttext", @@ -133326,19 +149038,23 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'discrete'" } ], "returns": "tnpoint", @@ -133355,7 +149071,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -133372,11 +149089,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133387,11 +149106,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133402,11 +149123,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133417,11 +149140,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133432,11 +149157,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133447,11 +149174,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133462,11 +149191,13 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "stbox", @@ -133483,7 +149214,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -133500,23 +149232,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -133533,19 +149270,23 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -133562,7 +149303,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -133579,7 +149321,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -133596,7 +149339,8 @@ "args": [ { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -133613,7 +149357,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -133635,7 +149380,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -133652,7 +149398,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -133669,7 +149416,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -133686,7 +149434,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -133703,7 +149452,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -133720,7 +149470,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -133737,7 +149488,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzset", @@ -133754,7 +149506,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -133771,7 +149524,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -133788,7 +149542,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -133805,7 +149560,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -133822,7 +149578,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -133839,7 +149596,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspan", @@ -133856,7 +149614,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -133873,11 +149632,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "void", @@ -133894,7 +149655,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -133911,7 +149673,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -133933,7 +149696,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -133950,7 +149714,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -133967,7 +149732,8 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -133984,7 +149750,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cstring", @@ -134001,7 +149768,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -134018,7 +149786,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bytea", @@ -134035,11 +149804,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134050,11 +149821,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134065,11 +149838,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134080,11 +149855,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134095,11 +149872,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134116,7 +149895,8 @@ "args": [ { "type": "bytea", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134133,7 +149913,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134150,7 +149931,8 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134167,7 +149949,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134184,19 +149967,23 @@ "args": [ { "type": "ttext[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "true" } ], "returns": "ttext", @@ -134207,11 +149994,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": true + "hasDefault": true, + "default": "'step'" } ], "returns": "ttext", @@ -134228,7 +150017,8 @@ "args": [ { "type": "ttext[]", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134239,7 +150029,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134256,11 +150047,13 @@ "args": [ { "type": "ttext[]", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": true + "hasDefault": true, + "default": "NULL" } ], "returns": "ttext", @@ -134277,11 +150070,13 @@ "args": [ { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134292,11 +150087,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "text", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134307,11 +150104,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134328,7 +150127,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -134345,23 +150145,28 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "smallint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -134378,15 +150183,18 @@ "args": [ { "type": "cstring", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134403,15 +150211,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "oid", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134428,7 +150239,8 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -134445,11 +150257,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -134466,11 +150280,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -134487,11 +150303,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -134508,11 +150326,13 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -134529,7 +150349,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -134540,7 +150361,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -134551,7 +150373,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -134581,7 +150404,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -134592,7 +150416,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -134603,7 +150428,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -134641,7 +150467,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134652,7 +150479,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134663,7 +150491,8 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134674,7 +150503,8 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134685,7 +150515,8 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134696,7 +150527,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134707,7 +150539,8 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134718,7 +150551,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134729,7 +150563,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134740,7 +150575,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134751,7 +150587,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134762,7 +150599,8 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134773,7 +150611,8 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134784,7 +150623,8 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134795,7 +150635,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134806,7 +150647,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134817,7 +150659,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134828,7 +150671,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134839,7 +150683,8 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134850,7 +150695,8 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134861,7 +150707,8 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134872,7 +150719,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134883,7 +150731,8 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134894,7 +150743,8 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134905,7 +150755,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134916,7 +150767,8 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "SETOF", @@ -134933,15 +150785,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "trgeometry", @@ -134952,15 +150807,18 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tcbuffer", @@ -134971,15 +150829,18 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tpose", @@ -134990,15 +150851,18 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeometry", @@ -135009,15 +150873,18 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeography", @@ -135028,15 +150895,18 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeompoint", @@ -135047,15 +150917,18 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tgeogpoint", @@ -135066,15 +150939,18 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbool", @@ -135085,15 +150961,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tint", @@ -135104,15 +150983,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tbigint", @@ -135123,15 +151005,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tfloat", @@ -135142,15 +151027,18 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "ttext", @@ -135161,15 +151049,18 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "TRUE" } ], "returns": "tnpoint", @@ -135191,7 +151082,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -135202,7 +151094,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -135213,7 +151106,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135224,7 +151118,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -135235,7 +151130,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -135246,7 +151142,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -135257,7 +151154,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -135268,7 +151166,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135279,7 +151178,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -135290,7 +151190,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -135301,7 +151202,8 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "textset", @@ -135312,7 +151214,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "ttext", @@ -135378,7 +151281,8 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135389,7 +151293,8 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135400,7 +151305,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135411,7 +151317,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135422,7 +151329,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135433,7 +151341,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135444,7 +151353,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135455,7 +151365,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135466,7 +151377,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135477,7 +151389,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135488,7 +151401,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135499,7 +151413,8 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135510,7 +151425,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135521,7 +151437,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135532,7 +151449,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135543,7 +151461,8 @@ "args": [ { "type": "datespan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135554,7 +151473,8 @@ "args": [ { "type": "tstzspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135565,7 +151485,8 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135576,7 +151497,8 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135587,7 +151509,8 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135598,7 +151521,8 @@ "args": [ { "type": "datespanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135609,7 +151533,8 @@ "args": [ { "type": "tstzspanset", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135620,7 +151545,8 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -135642,11 +151568,13 @@ "args": [ { "type": "geometry(Polygon)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135663,11 +151591,13 @@ "args": [ { "type": "geometry(Polygon)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Polygon)", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135684,15 +151614,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Point)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135709,15 +151642,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "geometry(Polygon)", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135734,15 +151670,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135759,15 +151698,18 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135784,11 +151726,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -135799,11 +151743,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -135814,11 +151760,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -135829,11 +151777,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -135844,11 +151794,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -135859,11 +151811,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -135874,11 +151828,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -135889,11 +151845,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -135904,11 +151862,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -135919,11 +151879,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -135934,11 +151896,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "boolean", @@ -135949,11 +151913,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -135964,11 +151930,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -135979,11 +151947,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -135994,11 +151964,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -136009,11 +151981,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "timestamptz", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -136067,15 +152041,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "intspan[]", @@ -136086,15 +152063,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "bigintspan[]", @@ -136105,15 +152085,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "floatspan[]", @@ -136130,15 +152113,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tbox[]", @@ -136149,15 +152135,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tbox[]", @@ -136168,15 +152157,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "tbox[]", @@ -136193,11 +152185,13 @@ "args": [ { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -136208,11 +152202,13 @@ "args": [ { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -136223,11 +152219,13 @@ "args": [ { "type": "cbufferset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "cbuffer", @@ -136238,11 +152236,13 @@ "args": [ { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -136253,11 +152253,13 @@ "args": [ { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -136268,11 +152270,13 @@ "args": [ { "type": "pcpointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpoint", @@ -136283,11 +152287,13 @@ "args": [ { "type": "pcpatchset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pcpatch", @@ -136298,11 +152304,13 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -136313,11 +152321,13 @@ "args": [ { "type": "poseset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "pose", @@ -136328,11 +152338,13 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -136343,11 +152355,13 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -136358,11 +152372,13 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -136373,11 +152389,13 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -136388,11 +152406,13 @@ "args": [ { "type": "geomset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geometry", @@ -136403,11 +152423,13 @@ "args": [ { "type": "geogset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geography", @@ -136418,11 +152440,13 @@ "args": [ { "type": "h3indexset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -136433,11 +152457,13 @@ "args": [ { "type": "th3index", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "h3index", @@ -136448,11 +152474,13 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bool", @@ -136463,11 +152491,13 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -136478,11 +152508,13 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -136493,11 +152525,13 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -136508,11 +152542,13 @@ "args": [ { "type": "ttext", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -136523,11 +152559,13 @@ "args": [ { "type": "intset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "integer", @@ -136538,11 +152576,13 @@ "args": [ { "type": "bigintset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -136553,11 +152593,13 @@ "args": [ { "type": "floatset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -136568,11 +152610,13 @@ "args": [ { "type": "textset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "text", @@ -136583,11 +152627,13 @@ "args": [ { "type": "dateset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "date", @@ -136598,11 +152644,13 @@ "args": [ { "type": "tstzset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "timestamptz", @@ -136613,11 +152661,13 @@ "args": [ { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -136628,11 +152678,13 @@ "args": [ { "type": "npointset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "npoint", @@ -136738,7 +152790,8 @@ "args": [ { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -136749,7 +152802,8 @@ "args": [ { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -136760,7 +152814,8 @@ "args": [ { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geomset", @@ -136771,7 +152826,8 @@ "args": [ { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "geogset", @@ -136782,7 +152838,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intset", @@ -136793,7 +152850,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintset", @@ -136804,7 +152862,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatset", @@ -136821,7 +152880,8 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "intspan", @@ -136832,7 +152892,8 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigintspan", @@ -136843,7 +152904,8 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "floatspan", @@ -136865,15 +152927,18 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "SETOF", @@ -136884,15 +152949,18 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "SETOF", @@ -136903,15 +152971,18 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" } ], "returns": "SETOF", @@ -136937,15 +153008,18 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" } ], "returns": "SETOF", @@ -136962,23 +153036,28 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "int", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox[]", @@ -136989,23 +153068,28 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox[]", @@ -137016,23 +153100,28 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "tbox[]", @@ -137049,23 +153138,28 @@ "args": [ { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "integer", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -137076,23 +153170,28 @@ "args": [ { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "bigint", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -137103,23 +153202,28 @@ "args": [ { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -137145,23 +153249,28 @@ "args": [ { "type": "tbox", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "float", - "hasDefault": true + "hasDefault": true, + "default": "0.0" }, { "type": "timestamptz", - "hasDefault": true + "hasDefault": true, + "default": "'2000-01-03'" } ], "returns": "SETOF", @@ -137203,7 +153312,8 @@ "args": [ { "type": "stbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -137225,15 +153335,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137244,15 +153357,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137263,15 +153379,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137288,15 +153407,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "trgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137307,15 +153429,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tcbuffer", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137326,15 +153451,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137345,15 +153473,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpcpatch", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137364,15 +153495,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137383,15 +153517,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeompoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137402,15 +153539,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeogpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137421,15 +153561,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeometry", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137440,15 +153583,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tgeography", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137459,15 +153605,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137478,15 +153627,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tbigint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137497,15 +153649,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tfloat", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137516,15 +153671,18 @@ "args": [ { "type": "internal", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "tnpoint", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "interval", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "internal", @@ -137541,7 +153699,8 @@ "args": [ { "type": "tbool", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tstzspanset", @@ -137563,7 +153722,8 @@ "args": [ { "type": "intspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "int", @@ -137574,7 +153734,8 @@ "args": [ { "type": "bigintspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "bigint", @@ -137585,7 +153746,8 @@ "args": [ { "type": "floatspan", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -137596,11 +153758,13 @@ "args": [ { "type": "intspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "int", @@ -137611,11 +153775,13 @@ "args": [ { "type": "bigintspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "bigint", @@ -137626,11 +153792,13 @@ "args": [ { "type": "floatspanset", - "hasDefault": false + "hasDefault": false, + "default": null }, { "type": "boolean", - "hasDefault": true + "hasDefault": true, + "default": "FALSE" } ], "returns": "float", @@ -137680,7 +153848,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -137702,7 +153871,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -137724,7 +153894,8 @@ "args": [ { "type": "tpose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "tfloat", @@ -137735,7 +153906,8 @@ "args": [ { "type": "pose", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float", @@ -137757,7 +153929,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -137779,7 +153952,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -137801,7 +153975,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", @@ -137823,7 +153998,8 @@ "args": [ { "type": "tpcbox", - "hasDefault": false + "hasDefault": false, + "default": null } ], "returns": "float8", diff --git a/codegen/output/MobilitySparkConnectExtensionsGen.scala b/codegen/output/MobilitySparkConnectExtensionsGen.scala index ff5635bbb..c3c5bbea4 100644 --- a/codegen/output/MobilitySparkConnectExtensionsGen.scala +++ b/codegen/output/MobilitySparkConnectExtensionsGen.scala @@ -28,10 +28,10 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) case _ => StringType } private def inj(ext: SparkSessionExtensions, name: String, arity: Int, - argTs: Array[String], retT: String, udf: AnyRef): Unit = { + argTs: Array[String], retT: String, udf: AnyRef, defaults: Array[AnyRef]): Unit = { val builder = (children: Seq[Expression]) => { val n = math.min(children.size, arity) - ScalaUDF(MobilitySparkConnectExtensionsGen.fn(n, udf, arity), dt(retT), children, + ScalaUDF(MobilitySparkConnectExtensionsGen.fn(n, udf, arity, defaults), dt(retT), children, argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) } try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) @@ -52,91 +52,132 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) } def apply(ext: SparkSessionExtensions): Unit = { - inj(ext, "Ymax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmax) - inj(ext, "Ymin", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmin) - inj(ext, "Zmax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxZmax) - inj(ext, "Zmin", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxZmin) - inj(ext, "aDisjoint", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.aDisjoint) - inj(ext, "appendInstant", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.appendInstant) - inj(ext, "appendSequence", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.appendSequence) - inj(ext, "asMFJSON", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.TemporalUDFs.temporalAsMfjson) - inj(ext, "azimuth", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AnalyticsUDFs.tpointAzimuth) - inj(ext, "bigintspan", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.bigintSpan) - inj(ext, "convexHull", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointConvexHull) - inj(ext, "dateN", 2, Array[String]("String", "Integer"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.dateN) - inj(ext, "dates", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorAliasUDFs.dates) - inj(ext, "dateset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tstzsetToDateset) - inj(ext, "direction", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AnalyticsUDFs.tpointDirection) - inj(ext, "eCovers", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eCovers) - inj(ext, "eIntersects", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eIntersectsTgeoTgeo) - inj(ext, "eTouches", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eTouches) - inj(ext, "endDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.endDate) - inj(ext, "endInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.endInstant) - inj(ext, "endSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.endSequence) - inj(ext, "expandTime", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TBoxUDFs.tboxExpandTime) - inj(ext, "floatset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.intsetToFloatset) - inj(ext, "frechetDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.temporal.SimilarityUDFs.frechetDistance) - inj(ext, "geometry", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.STBoxUDFs.stboxToGeo) - inj(ext, "getX", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getX) - inj(ext, "getY", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getY) - inj(ext, "getZ", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getZ) - inj(ext, "hasZ", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxHasz) - inj(ext, "initcap", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.textsetInitcap) - inj(ext, "insert", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.insert) - inj(ext, "instantN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.instantN) - inj(ext, "interp", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.interp) - inj(ext, "intset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.floatsetToIntset) - inj(ext, "intsetFromHexWKB", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.IOAliasUDFs.asHexEWKB) - inj(ext, "isGeodetic", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxIsGeodetic) - inj(ext, "lowerInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.lowerInc) - inj(ext, "maxInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.maxInstant) - inj(ext, "merge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.merge) - inj(ext, "minInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.minInstant) - inj(ext, "minusMax", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusMax) - inj(ext, "minusMin", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusMin) - inj(ext, "nearestApproachDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.geo.GeoUDFs.nearestApproachDistance) - inj(ext, "numDates", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.numDates) - inj(ext, "numInstants", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.TemporalUDFs.numInstants) - inj(ext, "numSequences", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorUDFs.numSequences) - inj(ext, "numTimestamps", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.MoreAccessorUDFs.numTimestamps) - inj(ext, "numValues", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.SpanAccessorUDFs.setNumValues) - inj(ext, "sequenceN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.sequenceN) - inj(ext, "setInterp", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSetInterp) - inj(ext, "set_contains", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setContains) - inj(ext, "set_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setIntersection) - inj(ext, "set_minus", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setMinus) - inj(ext, "set_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setOverlaps) - inj(ext, "set_union", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setUnion) - inj(ext, "shortestLine", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.DistanceUDFs.shortestLineTgeoTgeo) - inj(ext, "span_adjacent", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanAdjacent) - inj(ext, "span_left", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanLeft) - inj(ext, "span_overleft", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverleft) - inj(ext, "span_overright", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverright) - inj(ext, "span_right", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanRight) - inj(ext, "startDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.startDate) - inj(ext, "startInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startInstant) - inj(ext, "startSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startSequence) - inj(ext, "stbox_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.stboxIntersection) - inj(ext, "stbox_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.stboxOverlaps) - inj(ext, "tCovers", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.TempSpatialRelsUDFs.tCoversTgeoGeo) - inj(ext, "temporal_after", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalAfterSpan) - inj(ext, "temporal_before", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalBeforeSpan) - inj(ext, "temporal_overafter", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverafterSpan) - inj(ext, "temporal_overbefore", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverbeforeSpan) - inj(ext, "temporal_teq", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.teqTemporalTemporal) - inj(ext, "temporal_tge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tgeTemporalTemporal) - inj(ext, "temporal_tgt", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tgtTemporalTemporal) - inj(ext, "temporal_tle", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tleTemporalTemporal) - inj(ext, "temporal_tlt", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tltTemporalTemporal) - inj(ext, "temporal_tne", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tneTemporalTemporal) - inj(ext, "tfloat", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tintToTfloat) - inj(ext, "timestampN", 2, Array[String]("String", "Integer"), "Timestamp", org.mobilitydb.spark.temporal.MoreAccessorUDFs.timestampN) - inj(ext, "tintInst", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalToTInstant) - inj(ext, "trajectory", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tpointTrajectory) - inj(ext, "twCentroid", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.twCentroid) - inj(ext, "update", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.update) - inj(ext, "upperInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.upperInc) - inj(ext, "volume", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxVolume) + inj(ext, "Ymax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmax, Array[AnyRef](null)) + inj(ext, "Ymin", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxYmin, Array[AnyRef](null)) + inj(ext, "Zmax", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxZmax, Array[AnyRef](null)) + inj(ext, "Zmin", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxZmin, Array[AnyRef](null)) + inj(ext, "aDisjoint", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.aDisjoint, Array[AnyRef](null, null)) + inj(ext, "abs", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MathGapUDFs.abs, Array[AnyRef](null)) + inj(ext, "appendInstant", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.appendInstant, Array[AnyRef](null, null)) + inj(ext, "appendSequence", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.appendSequence, Array[AnyRef](null, null)) + inj(ext, "asEWKT", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.asEWKT, Array[AnyRef](null, (Integer.valueOf(15): AnyRef))) + inj(ext, "asMFJSON", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.TemporalUDFs.temporalAsMfjson, Array[AnyRef](null, null)) + inj(ext, "asText", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.asText, Array[AnyRef](null, (Integer.valueOf(15): AnyRef))) + inj(ext, "atMax", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.atMax, Array[AnyRef](null)) + inj(ext, "atMin", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.atMin, Array[AnyRef](null)) + inj(ext, "atStbox", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.atStbox, Array[AnyRef](null, null)) + inj(ext, "atTbox", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.atTbox, Array[AnyRef](null, null)) + inj(ext, "atValues", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.atValues, Array[AnyRef](null, null)) + inj(ext, "azimuth", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AnalyticsUDFs.tpointAzimuth, Array[AnyRef](null)) + inj(ext, "bigintspan", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.bigintSpan, Array[AnyRef](null)) + inj(ext, "convexHull", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointConvexHull, Array[AnyRef](null)) + inj(ext, "cumulativeLength", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.cumulativeLength, Array[AnyRef](null)) + inj(ext, "dateN", 2, Array[String]("String", "Integer"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.dateN, Array[AnyRef](null, null)) + inj(ext, "dates", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorAliasUDFs.dates, Array[AnyRef](null)) + inj(ext, "dateset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tstzsetToDateset, Array[AnyRef](null)) + inj(ext, "deltaValue", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MathGapUDFs.deltavalue, Array[AnyRef](null)) + inj(ext, "derivative", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MathGapUDFs.derivative, Array[AnyRef](null)) + inj(ext, "direction", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AnalyticsUDFs.tpointDirection, Array[AnyRef](null)) + inj(ext, "douglasPeuckerSimplify", 2, Array[String]("String", "Double"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSimplifyDp, Array[AnyRef](null, null)) + inj(ext, "dynTimeWarpDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.temporal.SimilarityUDFs.dynamicTimeWarp, Array[AnyRef](null, null)) + inj(ext, "eContains", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eContains, Array[AnyRef](null, null)) + inj(ext, "eCovers", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eCovers, Array[AnyRef](null, null)) + inj(ext, "eIntersects", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eIntersectsTgeoTgeo, Array[AnyRef](null, null)) + inj(ext, "eTouches", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.geo.GeoUDFs.eTouches, Array[AnyRef](null, null)) + inj(ext, "endDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.endDate, Array[AnyRef](null)) + inj(ext, "endInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.endInstant, Array[AnyRef](null)) + inj(ext, "endSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.endSequence, Array[AnyRef](null)) + inj(ext, "endSpan", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.endSpan, Array[AnyRef](null)) + inj(ext, "expandSpace", 2, Array[String]("String", "Number"), "String", org.mobilitydb.spark.geo.GeoUDFs.expandSpace, Array[AnyRef](null, null)) + inj(ext, "expandTime", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TBoxUDFs.tboxExpandTime, Array[AnyRef](null, null)) + inj(ext, "floatset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.intsetToFloatset, Array[AnyRef](null)) + inj(ext, "floatspanset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.intspansetToFloat, Array[AnyRef](null)) + inj(ext, "frechetDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.temporal.SimilarityUDFs.frechetDistance, Array[AnyRef](null, null)) + inj(ext, "geometry", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.STBoxUDFs.stboxToGeo, Array[AnyRef](null)) + inj(ext, "getSpace", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorGapUDFs.getSpace, Array[AnyRef](null)) + inj(ext, "getTime", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.getTime, Array[AnyRef](null)) + inj(ext, "getX", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getX, Array[AnyRef](null)) + inj(ext, "getY", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getY, Array[AnyRef](null)) + inj(ext, "getZ", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoUDFs.getZ, Array[AnyRef](null)) + inj(ext, "hasZ", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxHasz, Array[AnyRef](null)) + inj(ext, "initcap", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.textsetInitcap, Array[AnyRef](null)) + inj(ext, "insert", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.insert, Array[AnyRef](null, null)) + inj(ext, "instantN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.instantN, Array[AnyRef](null, null)) + inj(ext, "interp", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.interp, Array[AnyRef](null)) + inj(ext, "intset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.floatsetToIntset, Array[AnyRef](null)) + inj(ext, "intsetFromHexWKB", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.IOAliasUDFs.asHexEWKB, Array[AnyRef](null)) + inj(ext, "isGeodetic", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxIsGeodetic, Array[AnyRef](null)) + inj(ext, "lowerInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.lowerInc, Array[AnyRef](null)) + inj(ext, "maxInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.maxInstant, Array[AnyRef](null)) + inj(ext, "merge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.merge, Array[AnyRef](null, null)) + inj(ext, "minDistSimplify", 2, Array[String]("String", "Double"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSimplifyMinDist, Array[AnyRef](null, null)) + inj(ext, "minDistance", 2, Array[String]("Object", "Object"), "Double", org.mobilitydb.spark.geo.DistanceUDFs.minDistanceTgeoarrTgeoarr, Array[AnyRef](null, null)) + inj(ext, "minInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.minInstant, Array[AnyRef](null)) + inj(ext, "minTimeDeltaSimplify", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSimplifyMinTdelta, Array[AnyRef](null, null)) + inj(ext, "minusMax", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusMax, Array[AnyRef](null)) + inj(ext, "minusMin", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusMin, Array[AnyRef](null)) + inj(ext, "minusStbox", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.minusStbox, Array[AnyRef](null, null)) + inj(ext, "minusTbox", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.minusTbox, Array[AnyRef](null, null)) + inj(ext, "minusValues", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorGapUDFs.minusValues, Array[AnyRef](null, null)) + inj(ext, "nearestApproachDistance", 2, Array[String]("String", "String"), "Double", org.mobilitydb.spark.geo.GeoUDFs.nearestApproachDistance, Array[AnyRef](null, null)) + inj(ext, "numDates", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.numDates, Array[AnyRef](null)) + inj(ext, "numInstants", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.TemporalUDFs.numInstants, Array[AnyRef](null)) + inj(ext, "numSequences", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorUDFs.numSequences, Array[AnyRef](null)) + inj(ext, "numSpans", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.SetSpanGapUDFs.numSpans, Array[AnyRef](null)) + inj(ext, "numTimestamps", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.MoreAccessorUDFs.numTimestamps, Array[AnyRef](null)) + inj(ext, "numValues", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.SpanAccessorUDFs.setNumValues, Array[AnyRef](null)) + inj(ext, "scaleTime", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.scale, Array[AnyRef](null, null)) + inj(ext, "sequenceN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.sequenceN, Array[AnyRef](null, null)) + inj(ext, "setInterp", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalSetInterp, Array[AnyRef](null, null)) + inj(ext, "set_contains", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setContains, Array[AnyRef](null, null)) + inj(ext, "set_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setIntersection, Array[AnyRef](null, null)) + inj(ext, "set_minus", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setMinus, Array[AnyRef](null, null)) + inj(ext, "set_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setOverlaps, Array[AnyRef](null, null)) + inj(ext, "set_union", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setUnion, Array[AnyRef](null, null)) + inj(ext, "shortestLine", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.DistanceUDFs.shortestLineTgeoTgeo, Array[AnyRef](null, null)) + inj(ext, "spanN", 2, Array[String]("String", "Integer"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.spann, Array[AnyRef](null, null)) + inj(ext, "span_adjacent", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanAdjacent, Array[AnyRef](null, null)) + inj(ext, "span_left", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanLeft, Array[AnyRef](null, null)) + inj(ext, "span_overleft", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverleft, Array[AnyRef](null, null)) + inj(ext, "span_overright", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverright, Array[AnyRef](null, null)) + inj(ext, "span_right", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanRight, Array[AnyRef](null, null)) + inj(ext, "startDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.startDate, Array[AnyRef](null)) + inj(ext, "startInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startInstant, Array[AnyRef](null)) + inj(ext, "startSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startSequence, Array[AnyRef](null)) + inj(ext, "startSpan", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.startSpan, Array[AnyRef](null)) + inj(ext, "stboxFromHexWKB", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorAliasUDFs.box2d, Array[AnyRef](null)) + inj(ext, "stbox_intersection", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.stboxIntersection, Array[AnyRef](null, null)) + inj(ext, "stbox_overlaps", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.demo.BerlinMODUDFs.stboxOverlaps, Array[AnyRef](null, null)) + inj(ext, "stbox_union", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.SetSpanGapUDFs.stboxUnion, Array[AnyRef](null, null)) + inj(ext, "tCovers", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.geo.TempSpatialRelsUDFs.tCoversTgeoGeo, Array[AnyRef](null, null)) + inj(ext, "tempSubtype", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.tempSubtype, Array[AnyRef](null)) + inj(ext, "temporal_after", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalAfterSpan, Array[AnyRef](null, null)) + inj(ext, "temporal_before", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalBeforeSpan, Array[AnyRef](null, null)) + inj(ext, "temporal_overafter", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverafterSpan, Array[AnyRef](null, null)) + inj(ext, "temporal_overbefore", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.PosOpsUDFs.temporalOverbeforeSpan, Array[AnyRef](null, null)) + inj(ext, "temporal_teq", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.teqTemporalTemporal, Array[AnyRef](null, null)) + inj(ext, "temporal_tge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tgeTemporalTemporal, Array[AnyRef](null, null)) + inj(ext, "temporal_tgt", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tgtTemporalTemporal, Array[AnyRef](null, null)) + inj(ext, "temporal_tle", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tleTemporalTemporal, Array[AnyRef](null, null)) + inj(ext, "temporal_tlt", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tltTemporalTemporal, Array[AnyRef](null, null)) + inj(ext, "temporal_tne", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.BoolOpsUDFs.tneTemporalTemporal, Array[AnyRef](null, null)) + inj(ext, "tfloat", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tintToTfloat, Array[AnyRef](null)) + inj(ext, "timestampN", 2, Array[String]("String", "Integer"), "Timestamp", org.mobilitydb.spark.temporal.MoreAccessorUDFs.timestampN, Array[AnyRef](null, null)) + inj(ext, "tintFromHexWKB", 1, Array[String]("String"), "String", org.mobilitydb.spark.npoint.NpointUDFs.routes, Array[AnyRef](null)) + inj(ext, "tintInst", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.temporalToTInstant, Array[AnyRef](null)) + inj(ext, "tintSeq", 1, Array[String]("String"), "String", org.mobilitydb.spark.pose.PoseUDFs.tposeSeq, Array[AnyRef](null)) + inj(ext, "tintSeqSet", 2, Array[String]("String", "Timestamp"), "String", org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.ttextInst, Array[AnyRef](null, null)) + inj(ext, "tintSeqSetGaps", 2, Array[String]("String[]", "String"), "String", org.mobilitydb.spark.pose.PoseUDFs.tposeSeqSetGaps, Array[AnyRef](null, null)) + inj(ext, "trajectory", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tpointTrajectory, Array[AnyRef](null)) + inj(ext, "traversedArea", 2, Array[String]("String", "Boolean"), "String", org.mobilitydb.spark.temporal.AccessorGapUDFs.traversedArea, Array[AnyRef](null, null)) + inj(ext, "trend", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MathGapUDFs.trend, Array[AnyRef](null)) + inj(ext, "twAvg", 1, Array[String]("String"), "Double", org.mobilitydb.spark.temporal.MathGapUDFs.twavg, Array[AnyRef](null)) + inj(ext, "twCentroid", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.twCentroid, Array[AnyRef](null)) + inj(ext, "update", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.update, Array[AnyRef](null, null)) + inj(ext, "upperInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.upperInc, Array[AnyRef](null)) + inj(ext, "valueSpan", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.AccessorAliasUDFs.valueSpan, Array[AnyRef](null)) + inj(ext, "volume", 1, Array[String]("String"), "Double", org.mobilitydb.spark.geo.STBoxUDFs.stboxVolume, Array[AnyRef](null)) + inj(ext, "whenTrue", 1, Array[String]("String"), "String", org.mobilitydb.spark.demo.BerlinMODUDFs.whenTrue, Array[AnyRef](null)) // multi-impl: per-row arg0 MEOS-type-tag dispatch injMulti(ext, "SRID", 1, Array[String]("String"), "Integer", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSrid: AnyRef)), (org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointSrid: AnyRef)) @@ -160,7 +201,6 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // the differentiating arg, e.g. atTime on the time argument): // aDwithin -> ['aDwithin', 'aDwithinGeo'] // aIntersects -> ['aIntersects', 'eIntersects'] - // abs -> ['abs', 'tnumberAbs'] // always_eq -> ['alwaysEqBoolTbool', 'alwaysEqFloatTfloat', 'alwaysEqIntTint', 'alwaysEqTboolBool', 'alwaysEqTemporal', 'alwaysEqTfloatFloat', 'alwaysEqTintInt'] // always_ge -> ['alwaysGeFloatTfloat', 'alwaysGeIntTint', 'alwaysGeTemporal', 'alwaysGeTfloatFloat', 'alwaysGeTintInt'] // always_gt -> ['alwaysGtFloatTfloat', 'alwaysGtIntTint', 'alwaysGtTemporal', 'alwaysGtTfloatFloat', 'alwaysGtTintInt'] @@ -169,30 +209,16 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // always_ne -> ['alwaysNeBoolTbool', 'alwaysNeFloatTfloat', 'alwaysNeIntTint', 'alwaysNeTboolBool', 'alwaysNeTemporal', 'alwaysNeTfloatFloat', 'alwaysNeTintInt'] // angularDifference -> ['tnumberAngularDifference', 'tpointAngularDifference'] // area -> ['stboxArea', 'stboxPerimeter'] - // asEWKT -> ['asEWKT', 'tpointAsEWKT'] - // asText -> ['asText', 'tpointAsText'] // atGeometry -> ['atElevation', 'atGeometry', 'tgeoAtGeom', 'tpointAtElevation'] - // atMax -> ['atMax', 'temporalAtMax'] - // atMin -> ['atMin', 'temporalAtMin'] - // atStbox -> ['atStbox', 'tgeoAtStbox'] - // atTbox -> ['atTbox', 'tnumberAtTbox'] // atTime -> ['atSpan', 'atSpanset', 'atTime', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset'] // atValue -> ['tboolAtValue', 'tfloatAtValue', 'tintAtValue', 'tpointAtValue', 'ttextAtValue'] - // atValues -> ['atValues', 'temporalAtValues'] // bearing -> ['bearing', 'bearingToPoint'] // ceil -> ['ceil', 'floatsetCeil', 'floatspansetCeil', 'tfloatCeil'] - // cumulativeLength -> ['cumulativeLength', 'tpointCumulativeLength'] // degrees -> ['degrees', 'floatsetDegrees', 'tfloatDegrees'] // deleteTime -> ['deleteTime', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset'] - // deltaValue -> ['deltavalue', 'tnumberDeltaValue'] - // derivative -> ['derivative', 'tfloatDerivative'] - // douglasPeuckerSimplify -> ['douglasPeuckerSimplify', 'temporalSimplifyDp'] // duration -> ['datespanDuration', 'duration', 'tstzspanDuration', 'tstzspansetDuration'] - // dynTimeWarpDistance -> ['dynTimeWarpDistance', 'dynamicTimeWarp'] - // eContains -> ['eContains', 'geomContains'] // eDisjoint -> ['eDisjoint', 'eDisjointTgeoTgeo'] // eDwithin -> ['eDwithin', 'eDwithinGeo'] - // endSpan -> ['endSpan', 'spansetEndSpan'] // endTimestamp -> ['endTimestamp', 'tstzspansetEndTimestamptz'] // endValue -> ['tboolEndValue', 'tfloatEndValue', 'tintEndValue', 'tpointEndValue', 'ttextEndValue'] // ever_eq -> ['everEqBoolTbool', 'everEqFloatTfloat', 'everEqIntTint', 'everEqTboolBool', 'everEqTemporal', 'everEqTfloatFloat', 'everEqTintInt'] @@ -201,37 +227,24 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // ever_le -> ['everLeFloatTfloat', 'everLeIntTint', 'everLeTemporal', 'everLeTfloatFloat', 'everLeTintInt'] // ever_lt -> ['everLtFloatTfloat', 'everLtIntTint', 'everLtTemporal', 'everLtTfloatFloat', 'everLtTintInt'] // ever_ne -> ['everNeFloatTfloat', 'everNeIntTint', 'everNeTboolBool', 'everNeTemporal', 'everNeTfloatFloat', 'everNeTintInt'] - // expandSpace -> ['expandSpace', 'stboxExpandSpace'] // floatspan -> ['tboxToFloatspan', 'tboxToIntspan'] - // floatspanset -> ['floatspanset', 'intspansetToFloat'] // floor -> ['floatsetFloor', 'floatspansetFloor', 'floor', 'tfloatFloor'] - // getSpace -> ['getSpace', 'stboxGetSpace'] - // getTime -> ['getTime', 'time'] // getValues -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'textsetEndValue', 'tnumberValuespans', 'tstzsetEndValue', 'ttextValueAtTimestamptz'] // length -> ['length', 'speed', 'tpointLength', 'tpointSpeed'] // ln -> ['exp', 'ln', 'log10', 'tfloatExp', 'tfloatLn', 'tfloatLog10'] // lower -> ['bigintspanLower', 'datespanLower', 'floatspanLower', 'floatspansetLower', 'intspanLower', 'intspansetLower', 'textsetLower', 'tstzspanLower', 'tstzspansetLower', 'ttextLower'] // maxValue -> ['tfloatMaxValue', 'tintMaxValue', 'ttextMaxValue'] - // minDistSimplify -> ['minDistSimplify', 'temporalSimplifyMinDist'] - // minDistance -> ['minDistance', 'minDistanceTgeoarrTgeoarr'] - // minTimeDeltaSimplify -> ['minTimeDeltaSimplify', 'temporalSimplifyMinTdelta'] // minValue -> ['tfloatMinValue', 'tintMinValue', 'ttextMinValue'] // minusGeometry -> ['tgeoMinusGeom', 'tpointMinusElevation'] - // minusStbox -> ['minusStbox', 'tgeoMinusStbox'] - // minusTbox -> ['minusTbox', 'tnumberMinusTbox'] // minusTime -> ['minusTime', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset'] // minusValue -> ['minusValue', 'tboolMinusValue', 'tfloatMinusValue', 'tintMinusValue', 'tpointMinusValue', 'ttextMinusValue'] - // minusValues -> ['minusValues', 'temporalMinusValues'] - // numSpans -> ['numSpans', 'spansetNumSpans'] // radians -> ['floatsetRadians', 'radians', 'tfloatRadians'] - // scaleTime -> ['scale', 'temporalScaleTime'] // scaleValue -> ['tfloatScaleValue', 'tintScaleValue'] // set -> ['floatToSet', 'intToSet', 'timestamptzToSet'] // set_distance -> ['distanceBigintsetBigintset', 'distanceFloatsetFloatset', 'distanceIntsetIntset', 'distanceTstzsetTstzset', 'setDistance', 'set_distance'] // shift -> ['floatspanShiftScale', 'floatspansetShiftScale', 'intspanShiftScale', 'intspansetShiftScale', 'shiftScale', 'tstzspanShiftScale', 'tstzspansetShiftScale'] // shiftScaleValue -> ['tfloatShiftScaleValue', 'tintShiftScaleValue'] // shiftValue -> ['tfloatShiftValue', 'tintShiftValue'] - // spanN -> ['spann', 'spansetSpanN'] // span_contained -> ['spanContainedIn', 'spanContainedInSpanset'] // span_contains -> ['spanContains', 'spansetContainsSpan'] // span_distance -> ['bigintspanDistance', 'datespanDistance', 'floatspanDistance', 'intspanDistance', 'spanDistance', 'span_distance', 'spanset_distance', 'timeDistance', 'time_distance', 'time_distance_spanset', 'tstzspanDistance'] @@ -239,43 +252,33 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // span_minus -> ['spansetMinus', 'spansetMinusSpan', 'spanset_minus'] // span_overlaps -> ['spanOverlaps', 'spansetOverlaps'] // span_union -> ['spansetUnion', 'spansetUnionSpan', 'spanset_union'] - // startSpan -> ['spansetStartSpan', 'startSpan'] // startTimestamp -> ['getTimestamp', 'startTimestamp', 'tstzspansetStartTimestamptz'] // startValue -> ['datesetStartValue', 'floatsetStartValue', 'getValue', 'intsetStartValue', 'startValue', 'tboolGetValue', 'tboolStartValue', 'textsetStartValue', 'tfloatGetValue', 'tfloatStartValue', 'tintGetValue', 'tintStartValue', 'tpointGetValue', 'tpointStartValue', 'tstzsetStartValue', 'ttextGetValue', 'ttextStartValue'] - // stboxFromHexWKB -> ['box2d', 'box3d', 'nadTgeoStbox'] - // stbox_union -> ['stboxUnion', 'stbox_union', 'unionStboxStbox'] // tContains -> ['tContains', 'tContainsTgeoGeo'] // tDisjoint -> ['tDisjoint', 'tDisjointTgeoTgeo'] // tDistance -> ['tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber'] // tDwithin -> ['tDwithin', 'tDwithinTgeoGeo'] // tIntersects -> ['tIntersects', 'tIntersectsTgeoTgeo'] // tTouches -> ['tTouches', 'tTouchesTogeoTgeo'] - // tempSubtype -> ['tempSubtype', 'temporalSubtype'] // textset_cat -> ['textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText'] // timestamps -> ['atValue', 'tstzspansetNumTimestamps'] // tint -> ['tboolInst', 'tcbufferInst', 'tfloatInst', 'tfloatToTint', 'tgeompointInst', 'tintInst', 'tposeInst'] - // tintFromHexWKB -> ['avgValue', 'memSize', 'minDistanceTgeoTgeo', 'nadTgeoTgeo', 'routes'] - // tintSeq -> ['tcbufferSeq', 'temporalToTSequence', 'tnpointSeq', 'tposeSeq', 'trgeometrySeq'] - // tintSeqSet -> ['tcbufferSeqSet', 'temporalToTSequenceSet', 'tnpointSeqSet', 'tposeSeqSet', 'trgeometrySeqSet', 'ttextInst'] - // tintSeqSetGaps -> ['tcbufferSeqSetGaps', 'tnpointSeqSetGaps', 'tposeSeqSetGaps', 'trgeometrySeqSetGaps'] // tnumber_add -> ['addTfloatFloat', 'addTintInt', 'addTnumberTnumber', 'tnumber_add'] // tnumber_div -> ['divTfloatFloat', 'divTnumberTnumber', 'tnumber_div'] // tnumber_mul -> ['multTfloatFloat', 'multTintInt', 'multTnumberTnumber', 'tnumber_mul'] // tnumber_sub -> ['subTfloatFloat', 'subTintInt', 'subTnumberTnumber', 'tnumber_sub'] - // traversedArea -> ['tgeoTraversedArea', 'traversedArea'] - // trend -> ['tnumberTrend', 'trend'] - // twAvg -> ['tnumberTwavg', 'twavg'] // upper -> ['bigintspanUpper', 'datespanUpper', 'floatspanUpper', 'floatspansetUpper', 'intspanUpper', 'intspansetUpper', 'textsetUpper', 'tstzspanUpper', 'tstzspansetUpper', 'ttextUpper'] // valueAtTimestamp -> ['tboolValueAtTimestamptz', 'tfloatValueAtTimestamptz', 'tintValueAtTimestamptz', 'valueAtTimestamp'] // valueN -> ['everNeBoolTbool', 'tboolValueN', 'tfloatValueN', 'tintValueN', 'tpointValueN', 'ttextInitcap', 'ttextValueN', 'valueN'] - // valueSpan -> ['tnumberToSpan', 'valueSpan'] - // whenTrue -> ['tboolWhenTrue', 'whenTrue'] // width -> ['bigintspanWidth', 'bigintspansetWidth', 'floatspanWidth', 'floatspansetWidth', 'intspanWidth', 'intspansetWidth', 'width'] } object MobilitySparkConnectExtensionsGen { - private def call(u: AnyRef, m: Int, a: Seq[Any]): Any = { - def g(i: Int): AnyRef = if (i < a.length) a(i).asInstanceOf[AnyRef] else null + private def call(u: AnyRef, m: Int, a: Seq[Any], defaults: Array[AnyRef]): Any = { + // fill an omitted optional arg with the canonical SQL default, not a null pad + def g(i: Int): AnyRef = + if (i < a.length) a(i).asInstanceOf[AnyRef] + else if (defaults != null && i < defaults.length) defaults(i) else null m match { case 1 => u.asInstanceOf[UDF1[Any, Any]].call(g(0)) case 2 => u.asInstanceOf[UDF2[Any, Any, Any]].call(g(0), g(1)) @@ -283,11 +286,11 @@ object MobilitySparkConnectExtensionsGen { case _ => u.asInstanceOf[UDF4[Any, Any, Any, Any, Any]].call(g(0), g(1), g(2), g(3)) } } - def fn(n: Int, u: AnyRef, m: Int): AnyRef = n match { - case 1 => (a: Any) => call(u, m, Seq(a)) - case 2 => (a: Any, b: Any) => call(u, m, Seq(a, b)) - case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c)) - case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d)) + def fn(n: Int, u: AnyRef, m: Int, defaults: Array[AnyRef]): AnyRef = n match { + case 1 => (a: Any) => call(u, m, Seq(a), defaults) + case 2 => (a: Any, b: Any) => call(u, m, Seq(a, b), defaults) + case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c), defaults) + case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d), defaults) } // route by arg0's MEOS type-tag name to the matching type-specific impl private def pick(a0: Any, routes: Map[String, AnyRef], dflt: AnyRef): AnyRef = a0 match { @@ -298,9 +301,9 @@ object MobilitySparkConnectExtensionsGen { case _ => dflt } def disp(n: Int, routes: Map[String, AnyRef], dflt: AnyRef, m: Int): AnyRef = n match { - case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a)) } - case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b)) } - case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c)) } - case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d)) } + case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a), null) } + case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b), null) } + case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c), null) } + case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d), null) } } } diff --git a/codegen/tools/extract_named_surface.py b/codegen/tools/extract_named_surface.py index 855d8392e..dcf84d3a8 100644 --- a/codegen/tools/extract_named_surface.py +++ b/codegen/tools/extract_named_surface.py @@ -33,12 +33,16 @@ def split_top(args): return [a.strip() for a in out if a.strip()] def parse_arg(a): - """One arg -> (type, has_default). Forms: 'type' | 'name type' | '[name] type DEFAULT v'.""" - has_def = bool(re.search(r'\bDEFAULT\b', a, re.IGNORECASE)) - head = re.split(r'\bDEFAULT\b', a, flags=re.IGNORECASE)[0].strip() + """One arg -> (type, has_default, default). Forms: 'type' | 'name type' | + '[name] type DEFAULT v'. The default literal (after DEFAULT) lets the registrar + fill an omitted optional argument with the canonical value, not a null pad.""" + parts = re.split(r'\bDEFAULT\b', a, flags=re.IGNORECASE) + has_def = len(parts) > 1 + head = parts[0].strip() toks = head.split() typ = toks[-1] if toks else head # type is the last token before DEFAULT - return typ, has_def + default = parts[1].strip().rstrip(',') if has_def else None + return typ, has_def, default def parse_sql(root): funcs = {} @@ -46,7 +50,7 @@ def parse_sql(root): text = open(f, encoding='utf-8', errors='ignore').read() for m in CREATE_RE.finditer(text): name, arglist, ret = m.group(1), m.group(2), m.group(3) - args = [dict(zip(('type', 'hasDefault'), parse_arg(a))) for a in split_top(arglist)] + args = [dict(zip(('type', 'hasDefault', 'default'), parse_arg(a))) for a in split_top(arglist)] req = sum(1 for a in args if not a['hasDefault']) funcs.setdefault(name, []).append( {'args': args, 'returns': ret, 'minArity': req, 'maxArity': len(args)}) diff --git a/codegen/tools/generate_spark_registrar.py b/codegen/tools/generate_spark_registrar.py index 03228d03a..5b9c4108d 100644 --- a/codegen/tools/generate_spark_registrar.py +++ b/codegen/tools/generate_spark_registrar.py @@ -75,6 +75,12 @@ def impl_routes(spark): names = sorted({sn for c in fn['c'] for sn in meos2spark.get(c['meos'], [])}) if len(names) == 1: single.append((fn['name'], names[0])) + elif len(names) > 1 and len({impls[s]['primaryMeos'] for s in names}) == 1: + # several Spark registrations (bare + camelCase) of one MEOS op: single op, + # bind the identity name to the impl named for it (else the shortest name) + pick = next((s for s in names if s.lower() == fn['name'].lower()), None) \ + or min(names, key=len) + single.append((fn['name'], pick)) elif len(names) > 1: cats = {category(prim2ctype0.get(impls[s]['primaryMeos'], '')) for s in names} # arg0 distinguishes only when impls differ on the FIRST-arg category and @@ -96,6 +102,29 @@ def impl_routes(spark): else: multi.append((fn['name'], names)) +import re as _re +named_by_name = {fn['name']: fn for fn in named['functions']} + +def scala_default(v): + if v is not None and _re.fullmatch(r'-?\d+', v): + return f'(Integer.valueOf({v}): AnyRef)' + return 'null' # absent or non-integer default: fall back to a null pad + +def defaults_arr(canon, arity): + """Fill an omitted optional arg with the SQL default ONLY when the impl exposes + exactly one overload's worth of args (impl arity == that overload's maxArity, so + positions align); otherwise null-pad and let the impl's own default hold (the + impl may expose a non-leading subset of the canonical args).""" + fn = named_by_name.get(canon) + ov = next((o for o in fn['overloads'] if o['maxArity'] == arity), None) if fn else None + if not ov: + items = ', '.join('null' for _ in range(arity)) + else: + items = ', '.join( + scala_default(ov['args'][i].get('default') if i < len(ov['args']) else None) + for i in range(arity)) + return f'Array[AnyRef]({items})' + lines = [] seen = set() for canon, spark in single: @@ -106,7 +135,7 @@ def impl_routes(spark): fqn = f"{d['pkg']}.{d['class']}.{d['field']}" argts = ', '.join(f'"{t}"' for t in d['argTypes']) lines.append(f' inj(ext, "{canon}", {d["arity"]}, Array[String]({argts}), ' - f'"{d["retType"]}", {fqn})') + f'"{d["retType"]}", {fqn}, {defaults_arr(canon, d["arity"])})') dlines = [] for canon, names, routes, default in dispatch: @@ -153,10 +182,10 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) case _ => StringType } private def inj(ext: SparkSessionExtensions, name: String, arity: Int, - argTs: Array[String], retT: String, udf: AnyRef): Unit = { + argTs: Array[String], retT: String, udf: AnyRef, defaults: Array[AnyRef]): Unit = { val builder = (children: Seq[Expression]) => { val n = math.min(children.size, arity) - ScalaUDF(MobilitySparkConnectExtensionsGen.fn(n, udf, arity), dt(retT), children, + ScalaUDF(MobilitySparkConnectExtensionsGen.fn(n, udf, arity, defaults), dt(retT), children, argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) } try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) @@ -194,8 +223,11 @@ def apply(ext: SparkSessionExtensions): Unit = { # Companion object: the shipped ScalaUDF closures live here so they capture # only the serializable UDF object, never the (non-serializable) extension. f.write('''object MobilitySparkConnectExtensionsGen { - private def call(u: AnyRef, m: Int, a: Seq[Any]): Any = { - def g(i: Int): AnyRef = if (i < a.length) a(i).asInstanceOf[AnyRef] else null + private def call(u: AnyRef, m: Int, a: Seq[Any], defaults: Array[AnyRef]): Any = { + // fill an omitted optional arg with the canonical SQL default, not a null pad + def g(i: Int): AnyRef = + if (i < a.length) a(i).asInstanceOf[AnyRef] + else if (defaults != null && i < defaults.length) defaults(i) else null m match { case 1 => u.asInstanceOf[UDF1[Any, Any]].call(g(0)) case 2 => u.asInstanceOf[UDF2[Any, Any, Any]].call(g(0), g(1)) @@ -203,11 +235,11 @@ def g(i: Int): AnyRef = if (i < a.length) a(i).asInstanceOf[AnyRef] else null case _ => u.asInstanceOf[UDF4[Any, Any, Any, Any, Any]].call(g(0), g(1), g(2), g(3)) } } - def fn(n: Int, u: AnyRef, m: Int): AnyRef = n match { - case 1 => (a: Any) => call(u, m, Seq(a)) - case 2 => (a: Any, b: Any) => call(u, m, Seq(a, b)) - case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c)) - case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d)) + def fn(n: Int, u: AnyRef, m: Int, defaults: Array[AnyRef]): AnyRef = n match { + case 1 => (a: Any) => call(u, m, Seq(a), defaults) + case 2 => (a: Any, b: Any) => call(u, m, Seq(a, b), defaults) + case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c), defaults) + case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d), defaults) } // route by arg0's MEOS type-tag name to the matching type-specific impl private def pick(a0: Any, routes: Map[String, AnyRef], dflt: AnyRef): AnyRef = a0 match { @@ -218,10 +250,10 @@ def fn(n: Int, u: AnyRef, m: Int): AnyRef = n match { case _ => dflt } def disp(n: Int, routes: Map[String, AnyRef], dflt: AnyRef, m: Int): AnyRef = n match { - case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a)) } - case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b)) } - case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c)) } - case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d)) } + case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a), null) } + case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b), null) } + case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c), null) } + case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d), null) } } } ''') From bf9d53fcb3f81b3b58d5e2ab5f0ff4245e988725 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 6 Jun 2026 08:39:19 +0200 Subject: [PATCH 16/23] Dispatch on the differentiating argument and apply per-impl defaults Generalize the multi-impl dispatch from arg0 to the first argument position at which the type-specific impls differ, peeking that argument's MEOS type tag: atTime routes on its time argument (tstzspan/tstzset/tstzspanset), duration routes on its span argument. The concrete type for a generic Span/Set receiver is taken from the MEOS type-name embedded in the impl's primary function name. Each dispatch route carries its impl's arity and SQL-default fills, so an omitted optional argument of the chosen impl is filled with the canonical default rather than a null pad (duration on a tstzspanset supplies boundspan=FALSE); boolean SQL defaults are emitted alongside integer ones. The named surface is regenerated from the pin, so speed(tgeompoint) resolves through the dedicated Tpoint_speed wrapper to tpoint_speed and binds to the speed impl. --- codegen/input/meos-named-surface.json | 531 ++++++++++-------- .../MobilitySparkConnectExtensionsGen.scala | 124 ++-- codegen/tools/generate_spark_registrar.py | 167 +++--- 3 files changed, 460 insertions(+), 362 deletions(-) diff --git a/codegen/input/meos-named-surface.json b/codegen/input/meos-named-surface.json index 9464b9de3..1bcc6c1d2 100644 --- a/codegen/input/meos-named-surface.json +++ b/codegen/input/meos-named-surface.json @@ -1,6 +1,6 @@ { "source": "MobilityDB SQL catalog + doxygen @sqlfn/@csqlfn chain", - "functionCount": 1284, + "functionCount": 1285, "functions": [ { "name": "NearestApproachDistance", @@ -13358,12 +13358,12 @@ { "type": "int4", "hasDefault": true, - "default": null + "default": "0" }, { "type": "int4", "hasDefault": true, - "default": null + "default": "-1" } ], "returns": "text", @@ -13380,12 +13380,12 @@ { "type": "int4", "hasDefault": true, - "default": null + "default": "0" }, { "type": "int4", "hasDefault": true, - "default": null + "default": "-1" } ], "returns": "text", @@ -14679,17 +14679,17 @@ { "type": "int4", "hasDefault": true, - "default": null + "default": "4096" }, { "type": "int4", "hasDefault": true, - "default": null + "default": "256" }, { "type": "bool", "hasDefault": true, - "default": null + "default": "TRUE)\n-- RETURNS tgeompoint\nRETURNS geom_times\nAS 'MODULE_PATHNAME','Tpoint_AsMVTGeom'\nLANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n/*****************************************************************************/\n\nCREATE TYPE geom_wlof AS (\n geom geometry" }, { "type": "wlocalOutlierFactor(geometry[]", @@ -14704,7 +14704,7 @@ { "type": "float", "hasDefault": true, - "default": null + "default": "0.0" } ], "returns": "SETOF", @@ -17312,7 +17312,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tpcpatch", @@ -17334,7 +17334,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tpcpoint", @@ -17362,7 +17362,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tpcpatch", @@ -20953,7 +20953,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" } ], "returns": "floatspan[]", @@ -20975,7 +20975,7 @@ { "type": "date", "hasDefault": true, - "default": "0" + "default": "'2000-01-01'" } ], "returns": "datespan[]", @@ -20997,7 +20997,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "0" + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -21063,7 +21063,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" } ], "returns": "floatspan[]", @@ -21085,7 +21085,7 @@ { "type": "date", "hasDefault": true, - "default": "0" + "default": "'2000-01-01'" } ], "returns": "datespan[]", @@ -21107,7 +21107,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "0" + "default": "'2000-01-03'" } ], "returns": "tstzspan[]", @@ -30993,6 +30993,14 @@ } ], "c": [ + { + "pg": "Edwithin_trgeometry_geo", + "meos": "edwithin_trgeo_geo" + }, + { + "pg": "Edwithin_trgeometry_trgeometry", + "meos": "edwithin_trgeo_trgeo" + }, { "pg": "Edwithin_tcbuffer_geo", "meos": "ea_dwithin_tcbuffer_geo" @@ -36498,7 +36506,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tgeompoint", @@ -36530,7 +36538,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tfloat", @@ -38461,7 +38469,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" } ], "returns": "floatspan", @@ -38483,7 +38491,7 @@ { "type": "date", "hasDefault": true, - "default": "0" + "default": "'2000-01-03'" } ], "returns": "datespan", @@ -38505,7 +38513,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "0" + "default": "'2000-01-03'" } ], "returns": "tstzspan", @@ -38805,12 +38813,12 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" } ], "returns": "stbox", @@ -40147,7 +40155,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'km2'" } ], "returns": "tfloat", @@ -40491,7 +40499,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'km'" } ], "returns": "tfloat", @@ -40609,7 +40617,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'km'" } ], "returns": "tfloat", @@ -40837,46 +40845,6 @@ ], "c": [] }, - { - "name": "h3_latlng_to_cell", - "overloads": [ - { - "args": [ - { - "type": "tgeompoint", - "hasDefault": false, - "default": null - }, - { - "type": "integer", - "hasDefault": false, - "default": null - } - ], - "returns": "th3index", - "minArity": 2, - "maxArity": 2 - }, - { - "args": [ - { - "type": "tgeogpoint", - "hasDefault": false, - "default": null - }, - { - "type": "integer", - "hasDefault": false, - "default": null - } - ], - "returns": "th3index", - "minArity": 2, - "maxArity": 2 - } - ], - "c": [] - }, { "name": "h3_local_ij_to_cell", "overloads": [ @@ -44638,10 +44606,6 @@ "pg": "Tpoint_length", "meos": "tpoint_length" }, - { - "pg": "Tpoint_length", - "meos": "tpoint_speed" - }, { "pg": "Tnpoint_length", "meos": "tnpoint_length" @@ -48800,7 +48764,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tpcpatch", @@ -48822,7 +48786,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tpcpoint", @@ -48850,7 +48814,7 @@ { "type": "boolean", "hasDefault": true, - "default": null + "default": "TRUE" } ], "returns": "tpcpatch", @@ -50879,6 +50843,10 @@ "pg": "NAD_tgeo_tgeo", "meos": "nad_tgeo_tgeo" }, + { + "pg": "NAD_tgeo_tgeo", + "meos": "mindistance_tgeo_tgeo" + }, { "pg": "NAD_tnumber_number", "meos": "nad_tint_int" @@ -61660,6 +61628,18 @@ { "name": "points", "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false, + "default": null + } + ], + "returns": "geomset", + "minArity": 1, + "maxArity": 1 + }, { "args": [ { @@ -61698,6 +61678,10 @@ } ], "c": [ + { + "pg": "Trgeometry_points", + "meos": "trgeometry_points" + }, { "pg": "Tcbuffer_points", "meos": "tcbuffer_members" @@ -64126,6 +64110,18 @@ { "name": "rotation", "overloads": [ + { + "args": [ + { + "type": "trgeometry", + "hasDefault": false, + "default": null + } + ], + "returns": "tfloat", + "minArity": 1, + "maxArity": 1 + }, { "args": [ { @@ -64151,7 +64147,12 @@ "maxArity": 1 } ], - "c": [] + "c": [ + { + "pg": "Trgeometry_rotation", + "meos": "trgeometry_rotation" + } + ] }, { "name": "round", @@ -67377,6 +67378,10 @@ } ], "c": [ + { + "pg": "Temporal_segments", + "meos": "trgeometry_segments" + }, { "pg": "Temporal_segments", "meos": "tsequence_segments" @@ -80100,7 +80105,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -80127,12 +80132,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80211,7 +80216,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -80238,12 +80243,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80322,7 +80327,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -80349,12 +80354,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80433,7 +80438,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -80460,12 +80465,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80544,7 +80549,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -80571,12 +80576,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80655,7 +80660,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -80682,12 +80687,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80777,7 +80782,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -80804,12 +80809,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80888,7 +80893,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -80915,12 +80920,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -80999,7 +81004,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -81026,12 +81031,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -81110,7 +81115,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -81137,12 +81142,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -81221,7 +81226,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -81248,12 +81253,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", @@ -81355,12 +81360,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -81451,12 +81456,12 @@ { "type": "geometry", "hasDefault": true, - "default": "TRUE" + "default": "'Point(0 0 0)'" }, { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -81556,12 +81561,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -81593,17 +81598,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -81697,12 +81702,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -81734,17 +81739,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -81838,12 +81843,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -81875,17 +81880,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -81979,12 +81984,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -82016,17 +82021,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82120,12 +82125,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -82157,17 +82162,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82261,12 +82266,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "stbox[]", @@ -82298,17 +82303,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82413,12 +82418,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -82450,17 +82455,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82554,12 +82559,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -82591,17 +82596,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82695,12 +82700,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -82732,17 +82737,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82836,12 +82841,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -82873,17 +82878,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -82977,12 +82982,12 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -83014,17 +83019,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" }, { "type": "boolean", @@ -83119,7 +83124,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -83151,17 +83156,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -83245,7 +83250,7 @@ { "type": "boolean", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "TRUE" } ], "returns": "SETOF", @@ -83277,17 +83282,17 @@ { "type": "geometry", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'Point(0 0 0)'" }, { "type": "timestamptz", "hasDefault": true, - "default": "'Point(0 0 0)'" + "default": "'2000-01-03'" }, { "type": "boolean", "hasDefault": true, - "default": "'2000-01-03'" + "default": "TRUE" } ], "returns": "SETOF", @@ -96214,6 +96219,10 @@ "pg": "Tpose_speed", "meos": "tpose_speed" }, + { + "pg": "Tpoint_speed", + "meos": "tpoint_speed" + }, { "pg": "Tnpoint_speed", "meos": "tnpointseq_speed" @@ -99110,6 +99119,14 @@ "pg": "Pose_tstzspan_to_stbox", "meos": "pose_tstzspan_to_stbox" }, + { + "pg": "Geo_timestamptz_to_stbox", + "meos": "geo_timestamptz_to_stbox" + }, + { + "pg": "Geo_tstzspan_to_stbox", + "meos": "geo_tstzspan_to_stbox" + }, { "pg": "Geo_to_stbox", "meos": "geo_stbox" @@ -101003,7 +101020,7 @@ { "type": "interval", "hasDefault": true, - "default": "'0 minutes'" + "default": "'0 minutes')\n -- RETURNS tgeometry\n -- AS 'MODULE_PATHNAME', 'Temporal_stops'\n -- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n-- CREATE FUNCTION stops(tgeography" }, { "type": "float", @@ -104499,17 +104516,17 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" }, { "type": "boolean", "hasDefault": true, - "default": null + "default": "true" }, { "type": "boolean", "hasDefault": true, - "default": null + "default": "true" } ], "returns": "tbigint", @@ -104526,7 +104543,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "NULL" } ], "returns": "tbigint", @@ -104579,12 +104596,12 @@ { "type": "interval", "hasDefault": true, - "default": null + "default": "NULL" }, { "type": "float", "hasDefault": true, - "default": null + "default": "NULL" } ], "returns": "tbigint", @@ -105149,7 +105166,7 @@ { "type": "text", "hasDefault": true, - "default": "'step'" + "default": "NULL" } ], "returns": "tbool", @@ -107663,7 +107680,7 @@ { "type": "text", "hasDefault": true, - "default": "'linear'" + "default": "NULL" } ], "returns": "tcbuffer", @@ -135689,7 +135706,7 @@ { "type": "text", "hasDefault": true, - "default": "'linear'" + "default": "NULL" } ], "returns": "tfloat", @@ -137239,6 +137256,29 @@ ], "c": [] }, + { + "name": "tgeogpoint_to_th3index", + "overloads": [ + { + "args": [ + { + "type": "tgeogpoint", + "hasDefault": false, + "default": null + }, + { + "type": "integer", + "hasDefault": false, + "default": null + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, { "name": "tgeogpoint_typmod_in", "overloads": [ @@ -138935,6 +138975,29 @@ ], "c": [] }, + { + "name": "tgeompoint_to_th3index", + "overloads": [ + { + "args": [ + { + "type": "tgeompoint", + "hasDefault": false, + "default": null + }, + { + "type": "integer", + "hasDefault": false, + "default": null + } + ], + "returns": "th3index", + "minArity": 2, + "maxArity": 2 + } + ], + "c": [] + }, { "name": "tgeompoint_typmod_in", "overloads": [ @@ -141279,7 +141342,7 @@ { "type": "text", "hasDefault": true, - "default": "'step'" + "default": "NULL" } ], "returns": "tint", @@ -144410,12 +144473,12 @@ { "type": "integer", "hasDefault": true, - "default": null + "default": "0" }, { "type": "integer", "hasDefault": true, - "default": null + "default": "0" } ], "returns": "tpcbox", @@ -145447,7 +145510,7 @@ { "type": "integer", "hasDefault": true, - "default": null + "default": "0" } ], "returns": "tpcbox", @@ -145513,12 +145576,12 @@ { "type": "integer", "hasDefault": true, - "default": null + "default": "0" }, { "type": "integer", "hasDefault": true, - "default": null + "default": "0" } ], "returns": "tpcbox", @@ -145566,12 +145629,12 @@ { "type": "integer", "hasDefault": true, - "default": null + "default": "0" }, { "type": "integer", "hasDefault": true, - "default": null + "default": "0" } ], "returns": "tpcbox", @@ -145624,12 +145687,12 @@ { "type": "integer", "hasDefault": true, - "default": null + "default": "0" }, { "type": "integer", "hasDefault": true, - "default": null + "default": "0" } ], "returns": "tpcbox", @@ -145708,7 +145771,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" } ], "returns": "tpcpatch", @@ -145730,7 +145793,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" } ], "returns": "tpcpatch", @@ -145789,17 +145852,17 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" }, { "type": "boolean", "hasDefault": true, - "default": null + "default": "true" }, { "type": "boolean", "hasDefault": true, - "default": null + "default": "true" } ], "returns": "tpcpatch", @@ -146006,7 +146069,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" } ], "returns": "tpcpoint", @@ -146028,7 +146091,7 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" } ], "returns": "tpcpoint", @@ -146087,17 +146150,17 @@ { "type": "text", "hasDefault": true, - "default": null + "default": "'step'" }, { "type": "boolean", "hasDefault": true, - "default": null + "default": "true" }, { "type": "boolean", "hasDefault": true, - "default": null + "default": "true" } ], "returns": "tpcpoint", @@ -146542,7 +146605,7 @@ { "type": "text", "hasDefault": true, - "default": "'linear'" + "default": "NULL" } ], "returns": "tpose", @@ -146804,7 +146867,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "trgeometry", @@ -146826,7 +146889,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tcbuffer", @@ -146848,7 +146911,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tpose", @@ -146870,7 +146933,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tgeometry", @@ -146892,7 +146955,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tgeography", @@ -146914,7 +146977,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tgeompoint", @@ -146936,7 +146999,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tgeogpoint", @@ -146958,7 +147021,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tint", @@ -146980,7 +147043,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tbigint", @@ -147002,7 +147065,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tfloat", @@ -147024,7 +147087,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "timestamptz", @@ -147046,7 +147109,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tstzset", @@ -147068,7 +147131,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tstzspan", @@ -147090,7 +147153,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tprecision'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n-- CREATE FUNCTION tsample(trgeometry" + "default": "'2000-01-03'" } ], "returns": "tstzspanset", @@ -148041,7 +148104,7 @@ { "type": "bool", "hasDefault": true, - "default": "true" + "default": "FALSE" } ], "returns": "geometry", @@ -148058,7 +148121,7 @@ { "type": "bool", "hasDefault": true, - "default": "true" + "default": "FALSE" } ], "returns": "geometry", @@ -148075,7 +148138,7 @@ { "type": "bool", "hasDefault": true, - "default": "true" + "default": "FALSE" } ], "returns": "geometry", @@ -148092,7 +148155,7 @@ { "type": "bool", "hasDefault": true, - "default": "true" + "default": "FALSE" } ], "returns": "geometry", @@ -148109,7 +148172,7 @@ { "type": "bool", "hasDefault": true, - "default": "true" + "default": "FALSE" } ], "returns": "geography", @@ -148466,7 +148529,7 @@ { "type": "text", "hasDefault": true, - "default": "'linear'" + "default": "NULL" } ], "returns": "trgeometry", @@ -148705,7 +148768,7 @@ { "type": "timestamptz", "hasDefault": true, - "default": "'2000-01-03'" + "default": "'2000-01-03')\n-- RETURNS trgeometry\n-- AS 'MODULE_PATHNAME', 'Temporal_tsample'\n-- LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;\n\n/*****************************************************************************\n * Restriction Functions\n *****************************************************************************/\n\n-- CREATE FUNCTION atValues(trgeometry" }, { "type": "minusValues(trgeometry", @@ -150000,7 +150063,7 @@ { "type": "text", "hasDefault": true, - "default": "'step'" + "default": "NULL" } ], "returns": "ttext", @@ -152096,7 +152159,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" } ], "returns": "floatspan[]", @@ -152168,7 +152231,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" } ], "returns": "tbox[]", @@ -152982,7 +153045,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" } ], "returns": "SETOF", @@ -153116,7 +153179,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" }, { "type": "timestamptz", @@ -153218,7 +153281,7 @@ { "type": "float", "hasDefault": true, - "default": "0" + "default": "0.0" }, { "type": "timestamptz", diff --git a/codegen/output/MobilitySparkConnectExtensionsGen.scala b/codegen/output/MobilitySparkConnectExtensionsGen.scala index c3c5bbea4..02116d79f 100644 --- a/codegen/output/MobilitySparkConnectExtensionsGen.scala +++ b/codegen/output/MobilitySparkConnectExtensionsGen.scala @@ -37,15 +37,16 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) catch { case _: Throwable => } } - // One SQL name over several type-specific impls: dispatch per row on arg0's - // runtime MEOS type tag to the impl whose receiver type matches. - private def injMulti(ext: SparkSessionExtensions, name: String, arity: Int, - argTs: Array[String], retT: String, - routes: Map[String, AnyRef], dflt: AnyRef): Unit = { + // One SQL name over several type-specific impls: dispatch per row on the + // differentiating argument's MEOS type tag to the impl whose receiver matches. + // Each route carries (impl, impl arity, impl SQL-default fills). + private def injMulti(ext: SparkSessionExtensions, name: String, dpos: Int, retT: String, + routes: Map[String, (AnyRef, Int, Array[AnyRef])], + dflt: (AnyRef, Int, Array[AnyRef])): Unit = { val builder = (children: Seq[Expression]) => { - val n = math.min(children.size, arity) - ScalaUDF(MobilitySparkConnectExtensionsGen.disp(n, routes, dflt, arity), dt(retT), children, - argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) + val n = children.size + ScalaUDF(MobilitySparkConnectExtensionsGen.disp(n, dpos, routes, dflt), dt(retT), children, + children.map(_ => Some(enc("String"))), Some(enc(retT)), Some(name)) } try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) catch { case _: Throwable => } @@ -107,6 +108,7 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "intset", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.floatsetToIntset, Array[AnyRef](null)) inj(ext, "intsetFromHexWKB", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.IOAliasUDFs.asHexEWKB, Array[AnyRef](null)) inj(ext, "isGeodetic", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.geo.STBoxUDFs.stboxIsGeodetic, Array[AnyRef](null)) + inj(ext, "length", 1, Array[String]("String"), "Double", org.mobilitydb.spark.demo.BerlinMODUDFs.length, Array[AnyRef](null)) inj(ext, "lowerInc", 1, Array[String]("String"), "Boolean", org.mobilitydb.spark.temporal.MoreAccessorUDFs.lowerInc, Array[AnyRef](null)) inj(ext, "maxInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.maxInstant, Array[AnyRef](null)) inj(ext, "merge", 2, Array[String]("String", "String"), "String", org.mobilitydb.spark.temporal.AccessorUDFs.merge, Array[AnyRef](null, null)) @@ -141,6 +143,7 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "span_overleft", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverleft, Array[AnyRef](null, null)) inj(ext, "span_overright", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanOverright, Array[AnyRef](null, null)) inj(ext, "span_right", 2, Array[String]("String", "String"), "Boolean", org.mobilitydb.spark.temporal.SpanAlgebraUDFs.spanRight, Array[AnyRef](null, null)) + inj(ext, "speed", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TemporalUDFs.speed, Array[AnyRef](null)) inj(ext, "startDate", 1, Array[String]("String"), "Integer", org.mobilitydb.spark.temporal.AccessorAliasUDFs.startDate, Array[AnyRef](null)) inj(ext, "startInstant", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startInstant, Array[AnyRef](null)) inj(ext, "startSequence", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MoreAccessorUDFs.startSequence, Array[AnyRef](null)) @@ -169,7 +172,7 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "tintSeqSet", 2, Array[String]("String", "Timestamp"), "String", org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.ttextInst, Array[AnyRef](null, null)) inj(ext, "tintSeqSetGaps", 2, Array[String]("String[]", "String"), "String", org.mobilitydb.spark.pose.PoseUDFs.tposeSeqSetGaps, Array[AnyRef](null, null)) inj(ext, "trajectory", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.TransformUDFs.tpointTrajectory, Array[AnyRef](null)) - inj(ext, "traversedArea", 2, Array[String]("String", "Boolean"), "String", org.mobilitydb.spark.temporal.AccessorGapUDFs.traversedArea, Array[AnyRef](null, null)) + inj(ext, "traversedArea", 2, Array[String]("String", "Boolean"), "String", org.mobilitydb.spark.temporal.AccessorGapUDFs.traversedArea, Array[AnyRef](null, (java.lang.Boolean.FALSE: AnyRef))) inj(ext, "trend", 1, Array[String]("String"), "String", org.mobilitydb.spark.temporal.MathGapUDFs.trend, Array[AnyRef](null)) inj(ext, "twAvg", 1, Array[String]("String"), "Double", org.mobilitydb.spark.temporal.MathGapUDFs.twavg, Array[AnyRef](null)) inj(ext, "twCentroid", 1, Array[String]("String"), "String", org.mobilitydb.spark.geo.GeoAnalyticsUDFs.twCentroid, Array[AnyRef](null)) @@ -180,22 +183,39 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) inj(ext, "whenTrue", 1, Array[String]("String"), "String", org.mobilitydb.spark.demo.BerlinMODUDFs.whenTrue, Array[AnyRef](null)) // multi-impl: per-row arg0 MEOS-type-tag dispatch - injMulti(ext, "SRID", 1, Array[String]("String"), "Integer", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSrid: AnyRef)), (org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointSrid: AnyRef)) - injMulti(ext, "Tmax", 1, Array[String]("String"), "java.sql.Timestamp", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxTmax: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxTmax: AnyRef)), null) - injMulti(ext, "Tmin", 1, Array[String]("String"), "java.sql.Timestamp", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxTmin: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxTmin: AnyRef)), null) - injMulti(ext, "Xmax", 1, Array[String]("String"), "Double", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxXmax: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxXmax: AnyRef)), null) - injMulti(ext, "Xmin", 1, Array[String]("String"), "Double", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxXmin: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxXmin: AnyRef)), null) - injMulti(ext, "asHexWKB", 2, Array[String]("String", "Timestamp"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.temporal.TileUDFs.getSpaceTile: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxExpandFloat: AnyRef)), (org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.afterTimestamp: AnyRef)) - injMulti(ext, "hasT", 1, Array[String]("String"), "Boolean", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxHast: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxHast: AnyRef)), null) - injMulti(ext, "hasX", 1, Array[String]("String"), "Boolean", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxHasx: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxHasx: AnyRef)), null) - injMulti(ext, "intspanset", 1, Array[String]("Double"), "String", Map[String, AnyRef]("floatspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspansetToInt: AnyRef), "set" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setToSpanset: AnyRef)), null) - injMulti(ext, "round", 2, Array[String]("String", "Integer"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxRound: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxRound: AnyRef)), null) - injMulti(ext, "setSRID", 2, Array[String]("String", "Integer"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSetSrid: AnyRef)), (org.mobilitydb.spark.geo.GeoAnalyticsUDFs.setSRID: AnyRef)) - injMulti(ext, "shiftTime", 2, Array[String]("String", "String"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxShiftScaleTime: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxShiftScaleTime: AnyRef)), (org.mobilitydb.spark.temporal.AccessorUDFs.shift: AnyRef)) - injMulti(ext, "span", 1, Array[String]("Double"), "String", Map[String, AnyRef]("set" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.setToSpan: AnyRef), "span" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.spanToSpanset: AnyRef)), null) - injMulti(ext, "stbox", 1, Array[String]("String"), "String", Map[String, AnyRef]("tstzspan" -> (org.mobilitydb.spark.geo.STBoxUDFs.tstzspanToStbox: AnyRef)), (org.mobilitydb.spark.geo.GeoUDFs.tpointToStbox: AnyRef)) - injMulti(ext, "tbox", 1, Array[String]("Double"), "String", Map[String, AnyRef]("numspan_timestamptz" -> (org.mobilitydb.spark.temporal.TBoxUDFs.numspanTimestamptzToTbox: AnyRef), "set" -> (org.mobilitydb.spark.temporal.TBoxUDFs.setToTbox: AnyRef), "span" -> (org.mobilitydb.spark.temporal.TBoxUDFs.spanToTbox: AnyRef), "spanset" -> (org.mobilitydb.spark.temporal.TBoxUDFs.spansetToTbox: AnyRef)), (org.mobilitydb.spark.temporal.AccessorUDFs.tnumberToTbox: AnyRef)) - injMulti(ext, "timeSpan", 1, Array[String]("String"), "String", Map[String, AnyRef]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxToTstzspan: AnyRef), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxToTstzspan: AnyRef)), (org.mobilitydb.spark.temporal.TransformUDFs.temporalToTstzspan: AnyRef)) + injMulti(ext, "SRID", 0, "Integer", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSrid: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.MoreAccessorUDFs.tpointSrid: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "Tmax", 0, "java.sql.Timestamp", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxTmax: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxTmax: AnyRef, 1, Array[AnyRef](null))), null) + injMulti(ext, "Tmin", 0, "java.sql.Timestamp", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxTmin: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxTmin: AnyRef, 1, Array[AnyRef](null))), null) + injMulti(ext, "Xmax", 0, "Double", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxXmax: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxXmax: AnyRef, 1, Array[AnyRef](null))), null) + injMulti(ext, "Xmin", 0, "Double", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxXmin: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxXmin: AnyRef, 1, Array[AnyRef](null))), null) + injMulti(ext, "asHexWKB", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.temporal.TileUDFs.getSpaceTile: AnyRef, 5, Array[AnyRef](null, null, null, null, null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxExpandFloat: AnyRef, 2, Array[AnyRef](null, null))), (org.mobilitydb.spark.temporal.SubtypeConstructorUDFs.afterTimestamp: AnyRef, 2, Array[AnyRef](null, null))) + injMulti(ext, "atTime", 1, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzset" -> (org.mobilitydb.spark.temporal.RestrictionUDFs.temporalAtTstzset: AnyRef, 2, Array[AnyRef](null, null)), "tstzspan" -> (org.mobilitydb.spark.temporal.AccessorUDFs.atSpan: AnyRef, 2, Array[AnyRef](null, null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.AccessorUDFs.atSpanset: AnyRef, 2, Array[AnyRef](null, null))), null) + injMulti(ext, "ceil", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("floatset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatsetCeil: AnyRef, 1, Array[AnyRef](null)), "floatspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspansetCeil: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.MathGapUDFs.ceil: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "degrees", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("floatset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatsetDegrees: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.MathGapUDFs.degrees: AnyRef, 2, Array[AnyRef](null, (java.lang.Boolean.FALSE: AnyRef)))) + injMulti(ext, "deleteTime", 1, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzset" -> (org.mobilitydb.spark.temporal.RestrictionUDFs.temporalDeleteTstzset: AnyRef, 2, Array[AnyRef](null, null)), "tstzspan" -> (org.mobilitydb.spark.temporal.RestrictionUDFs.temporalDeleteTstzspan: AnyRef, 2, Array[AnyRef](null, null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.RestrictionUDFs.temporalDeleteTstzspanset: AnyRef, 2, Array[AnyRef](null, null))), null) + injMulti(ext, "duration", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("datespan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.datespanDuration: AnyRef, 1, Array[AnyRef](null)), "tstzspan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.tstzspanDuration: AnyRef, 1, Array[AnyRef](null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspansetDuration: AnyRef, 2, Array[AnyRef](null, (java.lang.Boolean.FALSE: AnyRef)))), (org.mobilitydb.spark.temporal.MoreAccessorUDFs.duration: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "endTimestamp", 0, "Timestamp", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspansetEndTimestamptz: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.TemporalUDFs.endTimestamp: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "floor", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("floatset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatsetFloor: AnyRef, 1, Array[AnyRef](null)), "floatspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspansetFloor: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.MathGapUDFs.floor: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "getValues", 0, "java.sql.Date", Map[String, (AnyRef, Int, Array[AnyRef])]("dateset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.datesetEndValue: AnyRef, 1, Array[AnyRef](null)), "floatset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.floatsetEndValue: AnyRef, 1, Array[AnyRef](null)), "intset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.intsetEndValue: AnyRef, 1, Array[AnyRef](null)), "textset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.textsetEndValue: AnyRef, 1, Array[AnyRef](null)), "tstzset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzsetEndValue: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.AccessorUDFs.tnumberValuespans: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "hasT", 0, "Boolean", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxHast: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxHast: AnyRef, 1, Array[AnyRef](null))), null) + injMulti(ext, "hasX", 0, "Boolean", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxHasx: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxHasx: AnyRef, 1, Array[AnyRef](null))), null) + injMulti(ext, "lower", 0, "Long", Map[String, (AnyRef, Int, Array[AnyRef])]("bigintspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.bigintspanLower: AnyRef, 1, Array[AnyRef](null)), "datespan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.datespanLower: AnyRef, 1, Array[AnyRef](null)), "floatspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.floatspanLower: AnyRef, 1, Array[AnyRef](null)), "intspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.intspanLower: AnyRef, 1, Array[AnyRef](null)), "intspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.intspansetLower: AnyRef, 1, Array[AnyRef](null)), "textset" -> (org.mobilitydb.spark.temporal.TransformUDFs.textsetLower: AnyRef, 1, Array[AnyRef](null)), "tstzspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspanLower: AnyRef, 1, Array[AnyRef](null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspansetLower: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.TTextUDFs.ttextLower: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "minusTime", 1, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzset" -> (org.mobilitydb.spark.temporal.RestrictionUDFs.temporalMinusTstzset: AnyRef, 2, Array[AnyRef](null, null)), "tstzspan" -> (org.mobilitydb.spark.temporal.AccessorUDFs.minusTime: AnyRef, 2, Array[AnyRef](null, null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.RestrictionUDFs.temporalMinusTstzspanset: AnyRef, 2, Array[AnyRef](null, null))), null) + injMulti(ext, "radians", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("floatset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatsetRadians: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.MathGapUDFs.radians: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "round", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("floatspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspansetRound: AnyRef, 2, Array[AnyRef](null, (Integer.valueOf(0): AnyRef))), "stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxRound: AnyRef, 2, Array[AnyRef](null, (Integer.valueOf(0): AnyRef))), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxRound: AnyRef, 2, Array[AnyRef](null, (Integer.valueOf(0): AnyRef)))), null) + injMulti(ext, "setSRID", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxSetSrid: AnyRef, 2, Array[AnyRef](null, null))), (org.mobilitydb.spark.geo.GeoAnalyticsUDFs.setSRID: AnyRef, 2, Array[AnyRef](null, null))) + injMulti(ext, "set_distance", 0, "Long", Map[String, (AnyRef, Int, Array[AnyRef])]("bigintset" -> (org.mobilitydb.spark.temporal.SetOpsUDFs.distanceBigintsetBigintset: AnyRef, 2, Array[AnyRef](null, null)), "floatset" -> (org.mobilitydb.spark.temporal.SetOpsUDFs.distanceFloatsetFloatset: AnyRef, 2, Array[AnyRef](null, null)), "intset" -> (org.mobilitydb.spark.temporal.SetOpsUDFs.distanceIntsetIntset: AnyRef, 2, Array[AnyRef](null, null)), "tstzset" -> (org.mobilitydb.spark.temporal.SetOpsUDFs.distanceTstzsetTstzset: AnyRef, 2, Array[AnyRef](null, null))), null) + injMulti(ext, "shift", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("floatspan" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspanShiftScale: AnyRef, 3, Array[AnyRef](null, null, null)), "floatspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.floatspansetShiftScale: AnyRef, 3, Array[AnyRef](null, null, null)), "intspan" -> (org.mobilitydb.spark.temporal.TransformUDFs.intspanShiftScale: AnyRef, 3, Array[AnyRef](null, null, null)), "intspanset" -> (org.mobilitydb.spark.temporal.TransformUDFs.intspansetShiftScale: AnyRef, 3, Array[AnyRef](null, null, null)), "tstzspan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.tstzspanShiftScale: AnyRef, 3, Array[AnyRef](null, null, null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.tstzspansetShiftScale: AnyRef, 3, Array[AnyRef](null, null, null))), null) + injMulti(ext, "shiftTime", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxShiftScaleTime: AnyRef, 3, Array[AnyRef](null, null, null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxShiftScaleTime: AnyRef, 3, Array[AnyRef](null, null, null))), (org.mobilitydb.spark.temporal.AccessorUDFs.shift: AnyRef, 2, Array[AnyRef](null, null))) + injMulti(ext, "span_distance", 0, "Long", Map[String, (AnyRef, Int, Array[AnyRef])]("bigintspan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.bigintspanDistance: AnyRef, 2, Array[AnyRef](null, null)), "datespan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.datespanDistance: AnyRef, 2, Array[AnyRef](null, null)), "floatspan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.floatspanDistance: AnyRef, 2, Array[AnyRef](null, null)), "floatspanset" -> (org.mobilitydb.spark.temporal.SetSpanGapUDFs.spansetDistance: AnyRef, 2, Array[AnyRef](null, null)), "intspan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.intspanDistance: AnyRef, 2, Array[AnyRef](null, null)), "tstzspan" -> (org.mobilitydb.spark.temporal.SpanAlgebraUDFs.tstzspanDistance: AnyRef, 2, Array[AnyRef](null, null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.SetSpanGapUDFs.timeDistanceSpanset: AnyRef, 2, Array[AnyRef](null, null))), null) + injMulti(ext, "startTimestamp", 0, "Timestamp", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspansetStartTimestamptz: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.TemporalUDFs.startTimestamp: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "startValue", 0, "java.sql.Date", Map[String, (AnyRef, Int, Array[AnyRef])]("dateset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.datesetStartValue: AnyRef, 1, Array[AnyRef](null)), "floatset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.floatsetStartValue: AnyRef, 1, Array[AnyRef](null)), "intset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.intsetStartValue: AnyRef, 1, Array[AnyRef](null)), "textset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.textsetStartValue: AnyRef, 1, Array[AnyRef](null)), "tstzset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzsetStartValue: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.AccessorUDFs.tfloatStartValue: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "stbox", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzspan" -> (org.mobilitydb.spark.geo.STBoxUDFs.tstzspanToStbox: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.geo.GeoUDFs.tpointToStbox: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "tbox", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.setToTbox: AnyRef, 1, Array[AnyRef](null)), "timestamptz" -> (org.mobilitydb.spark.temporal.TBoxUDFs.numspanTimestamptzToTbox: AnyRef, 2, Array[AnyRef](null, null))), (org.mobilitydb.spark.temporal.AccessorUDFs.tnumberToTbox: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "timeSpan", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("stbox" -> (org.mobilitydb.spark.geo.STBoxUDFs.stboxToTstzspan: AnyRef, 1, Array[AnyRef](null)), "tbox" -> (org.mobilitydb.spark.temporal.TBoxUDFs.tboxToTstzspan: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.TransformUDFs.temporalToTstzspan: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "timestamps", 0, "String", Map[String, (AnyRef, Int, Array[AnyRef])]("tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspansetNumTimestamps: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.AccessorGapUDFs.atValue: AnyRef, 2, Array[AnyRef](null, null))) + injMulti(ext, "upper", 0, "Long", Map[String, (AnyRef, Int, Array[AnyRef])]("bigintspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.bigintspanUpper: AnyRef, 1, Array[AnyRef](null)), "datespan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.datespanUpper: AnyRef, 1, Array[AnyRef](null)), "floatspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.floatspanUpper: AnyRef, 1, Array[AnyRef](null)), "intspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.intspanUpper: AnyRef, 1, Array[AnyRef](null)), "intspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.intspansetUpper: AnyRef, 1, Array[AnyRef](null)), "textset" -> (org.mobilitydb.spark.temporal.TransformUDFs.textsetUpper: AnyRef, 1, Array[AnyRef](null)), "tstzspan" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspanUpper: AnyRef, 1, Array[AnyRef](null)), "tstzspanset" -> (org.mobilitydb.spark.temporal.SpanAccessorUDFs.tstzspansetUpper: AnyRef, 1, Array[AnyRef](null))), (org.mobilitydb.spark.temporal.TTextUDFs.ttextUpper: AnyRef, 1, Array[AnyRef](null))) + injMulti(ext, "width", 0, "Long", Map[String, (AnyRef, Int, Array[AnyRef])]("bigintspan" -> (org.mobilitydb.spark.temporal.AccessorAliasUDFs.bigintspanWidth: AnyRef, 1, Array[AnyRef](null)), "bigintspanset" -> (org.mobilitydb.spark.temporal.AccessorAliasUDFs.bigintspansetWidth: AnyRef, 2, Array[AnyRef](null, (java.lang.Boolean.FALSE: AnyRef))), "floatspan" -> (org.mobilitydb.spark.temporal.AccessorAliasUDFs.floatspanWidth: AnyRef, 1, Array[AnyRef](null)), "floatspanset" -> (org.mobilitydb.spark.temporal.AccessorAliasUDFs.floatspansetWidth: AnyRef, 2, Array[AnyRef](null, (java.lang.Boolean.FALSE: AnyRef))), "intspan" -> (org.mobilitydb.spark.temporal.AccessorAliasUDFs.intspanWidth: AnyRef, 1, Array[AnyRef](null)), "intspanset" -> (org.mobilitydb.spark.temporal.AccessorAliasUDFs.intspansetWidth: AnyRef, 2, Array[AnyRef](null, (java.lang.Boolean.FALSE: AnyRef)))), null) } // multi-impl not arg0-dispatchable (all impls share arg0 type; need // the differentiating arg, e.g. atTime on the time argument): @@ -210,16 +230,10 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // angularDifference -> ['tnumberAngularDifference', 'tpointAngularDifference'] // area -> ['stboxArea', 'stboxPerimeter'] // atGeometry -> ['atElevation', 'atGeometry', 'tgeoAtGeom', 'tpointAtElevation'] - // atTime -> ['atSpan', 'atSpanset', 'atTime', 'temporalAtTimestamptz', 'temporalAtTstzset', 'temporalAtTstzspan', 'temporalAtTstzspanset'] // atValue -> ['tboolAtValue', 'tfloatAtValue', 'tintAtValue', 'tpointAtValue', 'ttextAtValue'] // bearing -> ['bearing', 'bearingToPoint'] - // ceil -> ['ceil', 'floatsetCeil', 'floatspansetCeil', 'tfloatCeil'] - // degrees -> ['degrees', 'floatsetDegrees', 'tfloatDegrees'] - // deleteTime -> ['deleteTime', 'temporalDeleteTimestamptz', 'temporalDeleteTstzset', 'temporalDeleteTstzspan', 'temporalDeleteTstzspanset'] - // duration -> ['datespanDuration', 'duration', 'tstzspanDuration', 'tstzspansetDuration'] // eDisjoint -> ['eDisjoint', 'eDisjointTgeoTgeo'] // eDwithin -> ['eDwithin', 'eDwithinGeo'] - // endTimestamp -> ['endTimestamp', 'tstzspansetEndTimestamptz'] // endValue -> ['tboolEndValue', 'tfloatEndValue', 'tintEndValue', 'tpointEndValue', 'ttextEndValue'] // ever_eq -> ['everEqBoolTbool', 'everEqFloatTfloat', 'everEqIntTint', 'everEqTboolBool', 'everEqTemporal', 'everEqTfloatFloat', 'everEqTintInt'] // ever_ge -> ['everGeFloatTfloat', 'everGeIntTint', 'everGeTemporal', 'everGeTfloatFloat', 'everGeTintInt'] @@ -228,32 +242,23 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // ever_lt -> ['everLtFloatTfloat', 'everLtIntTint', 'everLtTemporal', 'everLtTfloatFloat', 'everLtTintInt'] // ever_ne -> ['everNeFloatTfloat', 'everNeIntTint', 'everNeTboolBool', 'everNeTemporal', 'everNeTfloatFloat', 'everNeTintInt'] // floatspan -> ['tboxToFloatspan', 'tboxToIntspan'] - // floor -> ['floatsetFloor', 'floatspansetFloor', 'floor', 'tfloatFloor'] - // getValues -> ['datesetEndValue', 'floatsetEndValue', 'intsetEndValue', 'textsetEndValue', 'tnumberValuespans', 'tstzsetEndValue', 'ttextValueAtTimestamptz'] - // length -> ['length', 'speed', 'tpointLength', 'tpointSpeed'] + // intspanset -> ['floatToSpanset', 'floatspansetToInt', 'intToSpanset', 'intspanset', 'setToSpanset'] // ln -> ['exp', 'ln', 'log10', 'tfloatExp', 'tfloatLn', 'tfloatLog10'] - // lower -> ['bigintspanLower', 'datespanLower', 'floatspanLower', 'floatspansetLower', 'intspanLower', 'intspansetLower', 'textsetLower', 'tstzspanLower', 'tstzspansetLower', 'ttextLower'] // maxValue -> ['tfloatMaxValue', 'tintMaxValue', 'ttextMaxValue'] // minValue -> ['tfloatMinValue', 'tintMinValue', 'ttextMinValue'] // minusGeometry -> ['tgeoMinusGeom', 'tpointMinusElevation'] - // minusTime -> ['minusTime', 'temporalMinusTimestamptz', 'temporalMinusTstzset', 'temporalMinusTstzspan', 'temporalMinusTstzspanset'] // minusValue -> ['minusValue', 'tboolMinusValue', 'tfloatMinusValue', 'tintMinusValue', 'tpointMinusValue', 'ttextMinusValue'] - // radians -> ['floatsetRadians', 'radians', 'tfloatRadians'] // scaleValue -> ['tfloatScaleValue', 'tintScaleValue'] // set -> ['floatToSet', 'intToSet', 'timestamptzToSet'] - // set_distance -> ['distanceBigintsetBigintset', 'distanceFloatsetFloatset', 'distanceIntsetIntset', 'distanceTstzsetTstzset', 'setDistance', 'set_distance'] - // shift -> ['floatspanShiftScale', 'floatspansetShiftScale', 'intspanShiftScale', 'intspansetShiftScale', 'shiftScale', 'tstzspanShiftScale', 'tstzspansetShiftScale'] // shiftScaleValue -> ['tfloatShiftScaleValue', 'tintShiftScaleValue'] // shiftValue -> ['tfloatShiftValue', 'tintShiftValue'] + // span -> ['floatToSpan', 'intToSpan', 'setToSpan', 'spanToSpanset', 'spanset', 'timestamptzToSpan'] // span_contained -> ['spanContainedIn', 'spanContainedInSpanset'] // span_contains -> ['spanContains', 'spansetContainsSpan'] - // span_distance -> ['bigintspanDistance', 'datespanDistance', 'floatspanDistance', 'intspanDistance', 'spanDistance', 'span_distance', 'spanset_distance', 'timeDistance', 'time_distance', 'time_distance_spanset', 'tstzspanDistance'] // span_intersection -> ['spanIntersection', 'span_intersection', 'spansetIntersection', 'spansetIntersectionSpan', 'spanset_intersection'] // span_minus -> ['spansetMinus', 'spansetMinusSpan', 'spanset_minus'] // span_overlaps -> ['spanOverlaps', 'spansetOverlaps'] // span_union -> ['spansetUnion', 'spansetUnionSpan', 'spanset_union'] - // startTimestamp -> ['getTimestamp', 'startTimestamp', 'tstzspansetStartTimestamptz'] - // startValue -> ['datesetStartValue', 'floatsetStartValue', 'getValue', 'intsetStartValue', 'startValue', 'tboolGetValue', 'tboolStartValue', 'textsetStartValue', 'tfloatGetValue', 'tfloatStartValue', 'tintGetValue', 'tintStartValue', 'tpointGetValue', 'tpointStartValue', 'tstzsetStartValue', 'ttextGetValue', 'ttextStartValue'] // tContains -> ['tContains', 'tContainsTgeoGeo'] // tDisjoint -> ['tDisjoint', 'tDisjointTgeoTgeo'] // tDistance -> ['tdistanceTfloatFloat', 'tdistanceTgeoGeo', 'tdistanceTgeoTgeo', 'tdistanceTintInt', 'tdistanceTnumberTnumber'] @@ -261,16 +266,13 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) // tIntersects -> ['tIntersects', 'tIntersectsTgeoTgeo'] // tTouches -> ['tTouches', 'tTouchesTogeoTgeo'] // textset_cat -> ['textsetCat', 'textsetCatTextTextset', 'textsetCatTextsetText'] - // timestamps -> ['atValue', 'tstzspansetNumTimestamps'] // tint -> ['tboolInst', 'tcbufferInst', 'tfloatInst', 'tfloatToTint', 'tgeompointInst', 'tintInst', 'tposeInst'] // tnumber_add -> ['addTfloatFloat', 'addTintInt', 'addTnumberTnumber', 'tnumber_add'] // tnumber_div -> ['divTfloatFloat', 'divTnumberTnumber', 'tnumber_div'] // tnumber_mul -> ['multTfloatFloat', 'multTintInt', 'multTnumberTnumber', 'tnumber_mul'] // tnumber_sub -> ['subTfloatFloat', 'subTintInt', 'subTnumberTnumber', 'tnumber_sub'] - // upper -> ['bigintspanUpper', 'datespanUpper', 'floatspanUpper', 'floatspansetUpper', 'intspanUpper', 'intspansetUpper', 'textsetUpper', 'tstzspanUpper', 'tstzspansetUpper', 'ttextUpper'] // valueAtTimestamp -> ['tboolValueAtTimestamptz', 'tfloatValueAtTimestamptz', 'tintValueAtTimestamptz', 'valueAtTimestamp'] // valueN -> ['everNeBoolTbool', 'tboolValueN', 'tfloatValueN', 'tintValueN', 'tpointValueN', 'ttextInitcap', 'ttextValueN', 'valueN'] - // width -> ['bigintspanWidth', 'bigintspansetWidth', 'floatspanWidth', 'floatspansetWidth', 'intspanWidth', 'intspansetWidth', 'width'] } object MobilitySparkConnectExtensionsGen { @@ -292,18 +294,24 @@ object MobilitySparkConnectExtensionsGen { case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c), defaults) case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d), defaults) } - // route by arg0's MEOS type-tag name to the matching type-specific impl - private def pick(a0: Any, routes: Map[String, AnyRef], dflt: AnyRef): AnyRef = a0 match { - case s: String => - val tn = try GeneratedFunctions.meostype_name(GeneratedFunctions.meos_typeof_hexwkb(s)) - catch { case _: Throwable => null } - routes.getOrElse(tn, dflt) - case _ => dflt - } - def disp(n: Int, routes: Map[String, AnyRef], dflt: AnyRef, m: Int): AnyRef = n match { - case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a), null) } - case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b), null) } - case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c), null) } - case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d), null) } + // route by the differentiating argument's MEOS type-tag name to the matching + // (impl, impl arity, defaults); the default route handles temporal/unknown tags + private def pick(args: Seq[Any], dpos: Int, routes: Map[String, (AnyRef, Int, Array[AnyRef])], + dflt: (AnyRef, Int, Array[AnyRef])): (AnyRef, Int, Array[AnyRef]) = + (if (dpos < args.length) args(dpos) else null) match { + case s: String => + val tn = try GeneratedFunctions.meostype_name(GeneratedFunctions.meos_typeof_hexwkb(s)) + catch { case _: Throwable => null } + routes.getOrElse(tn, dflt) + case _ => dflt + } + private def run(t: (AnyRef, Int, Array[AnyRef]), a: Seq[Any]): Any = + if (t == null || t._1 == null) null else call(t._1, t._2, a, t._3) + def disp(n: Int, dpos: Int, routes: Map[String, (AnyRef, Int, Array[AnyRef])], + dflt: (AnyRef, Int, Array[AnyRef])): AnyRef = n match { + case 1 => (a: Any) => run(pick(Seq(a), dpos, routes, dflt), Seq(a)) + case 2 => (a: Any, b: Any) => run(pick(Seq(a, b), dpos, routes, dflt), Seq(a, b)) + case 3 => (a: Any, b: Any, c: Any) => run(pick(Seq(a, b, c), dpos, routes, dflt), Seq(a, b, c)) + case _ => (a: Any, b: Any, c: Any, d: Any) => run(pick(Seq(a, b, c, d), dpos, routes, dflt), Seq(a, b, c, d)) } } diff --git a/codegen/tools/generate_spark_registrar.py b/codegen/tools/generate_spark_registrar.py index 5b9c4108d..6f546f002 100644 --- a/codegen/tools/generate_spark_registrar.py +++ b/codegen/tools/generate_spark_registrar.py @@ -33,43 +33,65 @@ meos2spark.setdefault(d['primaryMeos'], []).append(sn) # C-FFI param types -> receiver category, so a multi-impl SQL name can dispatch on -# arg0's runtime MEOS type tag (meos_typeof_hexwkb) to the type-specific impl. +# a runtime MEOS type tag (meos_typeof_hexwkb of the differentiating argument) to +# the type-specific impl. idl = json.load(open(os.path.join(HERE, '..', 'input', 'meos-idl.json'))) -prim2ctype0 = {} -for fdef in idl['functions']: - ps = fdef.get('params') or [] - if ps: - prim2ctype0[fdef['name']] = ps[0].get('cType', '') +prim2params = {f['name']: [p.get('cType', '') for p in (f.get('params') or [])] + for f in idl['functions']} +# every meostype_name string, longest first for greedy matching of the concrete +# type embedded in a primaryMeos name (e.g. temporal_at_tstzspanset -> tstzspanset) +TNAMES = json.load(open('/tmp/tnames.json')) if os.path.exists('/tmp/tnames.json') else [] def category(ctype): if 'STBox' in ctype: return 'stbox' if 'TBox' in ctype: return 'tbox' if 'GSERIALIZED' in ctype: return 'geo' if 'Temporal' in ctype: return 'temporal' - if 'Span' in ctype: return 'span' - if 'Set' in ctype: return 'set' + if 'Span' in ctype or 'Set' in ctype: return 'spanset' return 'other' -# meostype_name strings each impl's arg0 category answers to (geo serves both -# geometry/geography; temporal is the catch-all default; span/set take the -# concrete source type from the *_to_* primaryMeos name) CAT_TNAMES = {'stbox': ['stbox'], 'tbox': ['tbox'], - 'geo': ['geometry', 'geography', 'geometryset', 'geographyset']} + 'geo': ['geometry', 'geography', 'geomset', 'geogset']} -def impl_routes(spark): - """(tnames, isDefault) for an impl, by its primaryMeos arg0 category.""" - d = impls[spark] - cat = category(prim2ctype0.get(d['primaryMeos'], '')) +def ctype_at(spark, pos): + ps = prim2params.get(impls[spark]['primaryMeos'], []) + return ps[pos] if pos < len(ps) else '' + +def impl_tnames(spark, pos): + """(tnames, isDefault) the impl answers to at arg position `pos`. Concrete + receivers map to fixed tags; a Temporal receiver is the catch-all default; a + generic Span/Set takes the concrete tag embedded in its primaryMeos name; + a non-WKB receiver (timestamptz/numeric) yields nothing (cannot be peeked).""" + cat = category(ctype_at(spark, pos)) if cat == 'temporal': return [], True if cat in CAT_TNAMES: return CAT_TNAMES[cat], False - if cat in ('span', 'set'): - pm = d['primaryMeos'] - src = pm.split('_to_')[0] if '_to_' in pm else None - return ([src] if src else []), False + if cat == 'spanset': + pm = impls[spark]['primaryMeos'] + hit = next((t for t in TNAMES if t in pm), None) + return ([hit] if hit else []), False return [], False +def dispatch_for(names): + """Pick the first arg position at which the impls differ and yield a usable + routes map, then return (pos, routes, default) or None.""" + arity = min(impls[s]['arity'] for s in names) + for pos in range(arity): + routes, default = {}, None + for s in names: + tns, isdef = impl_tnames(s, pos) + for tn in tns: + routes.setdefault(tn, s) + if isdef and default is None: + default = s + # this position differentiates if it routes to >=2 distinct impls (or one + # concrete route plus a temporal default) + targets = set(routes.values()) | ({default} if default else set()) + if routes and len(targets) > 1: + return pos, routes, default + return None + single, multi, dispatch = [], [], [] for fn in named['functions']: names = sorted({sn for c in fn['c'] for sn in meos2spark.get(c['meos'], [])}) @@ -82,23 +104,10 @@ def impl_routes(spark): or min(names, key=len) single.append((fn['name'], pick)) elif len(names) > 1: - cats = {category(prim2ctype0.get(impls[s]['primaryMeos'], '')) for s in names} - # arg0 distinguishes only when impls differ on the FIRST-arg category and - # at least one is a concrete WKB-peekable receiver (box/geo/span/set) - peekable = cats & {'stbox', 'tbox', 'geo', 'span', 'set'} - if len(cats) > 1 and peekable: - routes = {} # tname -> spark impl - default = None - for s in names: - tns, isdef = impl_routes(s) - for tn in tns: - routes.setdefault(tn, s) - if isdef and default is None: - default = s - if routes: - dispatch.append((fn['name'], names, routes, default)) - else: - multi.append((fn['name'], names)) + d = dispatch_for(names) + if d: + pos, routes, default = d + dispatch.append((fn['name'], names, pos, routes, default)) else: multi.append((fn['name'], names)) @@ -106,9 +115,13 @@ def impl_routes(spark): named_by_name = {fn['name']: fn for fn in named['functions']} def scala_default(v): - if v is not None and _re.fullmatch(r'-?\d+', v): + if v is None: + return 'null' + if _re.fullmatch(r'-?\d+', v): return f'(Integer.valueOf({v}): AnyRef)' - return 'null' # absent or non-integer default: fall back to a null pad + if v.strip().upper() in ('TRUE', 'FALSE'): + return f'(java.lang.Boolean.{v.strip().upper()}: AnyRef)' + return 'null' # unsupported default literal: fall back to a null pad def defaults_arr(canon, arity): """Fill an omitted optional arg with the SQL default ONLY when the impl exposes @@ -138,19 +151,26 @@ def defaults_arr(canon, arity): f'"{d["retType"]}", {fqn}, {defaults_arr(canon, d["arity"])})') dlines = [] -for canon, names, routes, default in dispatch: +def fqn(s): + x = impls[s] + return f"{x['pkg']}.{x['class']}.{x['field']}" + +def route_target(canon, s): + # (impl, impl arity, impl SQL-default fills) so the dispatch can pad an omitted + # optional argument of the chosen impl exactly as the single-impl path does + d = impls[s] + return f"({fqn(s)}: AnyRef, {d['arity']}, {defaults_arr(canon, d['arity'])})" + +for canon, names, pos, routes, default in dispatch: if canon in seen: continue seen.add(canon) - d = impls[names[0]] # arity/types shared across the type-specific impls - argts = ', '.join(f'"{t}"' for t in d['argTypes']) - def fqn(s): - x = impls[s] - return f"{x['pkg']}.{x['class']}.{x['field']}" - rmap = ', '.join(f'"{tn}" -> ({fqn(s)}: AnyRef)' for tn, s in sorted(routes.items())) - dflt = f"({fqn(default)}: AnyRef)" if default else "null" - dlines.append(f' injMulti(ext, "{canon}", {d["arity"]}, Array[String]({argts}), ' - f'"{d["retType"]}", Map[String, AnyRef]({rmap}), {dflt})') + d = impls[names[0]] + retT = d['retType'] + rmap = ', '.join(f'"{tn}" -> {route_target(canon, s)}' for tn, s in sorted(routes.items())) + dflt = route_target(canon, default) if default else "null" + dlines.append(f' injMulti(ext, "{canon}", {pos}, "{retT}", ' + f'Map[String, (AnyRef, Int, Array[AnyRef])]({rmap}), {dflt})') HEADER = '''/* GENERATED by codegen/tools/generate_spark_registrar.py from the canonical * named-operation surface (meos-named-surface.json) joined with the MobilitySpark @@ -191,15 +211,16 @@ class MobilitySparkConnectExtensionsGen extends (SparkSessionExtensions => Unit) try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) catch { case _: Throwable => } } - // One SQL name over several type-specific impls: dispatch per row on arg0's - // runtime MEOS type tag to the impl whose receiver type matches. - private def injMulti(ext: SparkSessionExtensions, name: String, arity: Int, - argTs: Array[String], retT: String, - routes: Map[String, AnyRef], dflt: AnyRef): Unit = { + // One SQL name over several type-specific impls: dispatch per row on the + // differentiating argument's MEOS type tag to the impl whose receiver matches. + // Each route carries (impl, impl arity, impl SQL-default fills). + private def injMulti(ext: SparkSessionExtensions, name: String, dpos: Int, retT: String, + routes: Map[String, (AnyRef, Int, Array[AnyRef])], + dflt: (AnyRef, Int, Array[AnyRef])): Unit = { val builder = (children: Seq[Expression]) => { - val n = math.min(children.size, arity) - ScalaUDF(MobilitySparkConnectExtensionsGen.disp(n, routes, dflt, arity), dt(retT), children, - argTs.take(n).map(t => Some(enc(t))).toSeq, Some(enc(retT)), Some(name)) + val n = children.size + ScalaUDF(MobilitySparkConnectExtensionsGen.disp(n, dpos, routes, dflt), dt(retT), children, + children.map(_ => Some(enc("String"))), Some(enc(retT)), Some(name)) } try ext.injectFunction((FunctionIdentifier(name), new ExpressionInfo(name, name), builder)) catch { case _: Throwable => } @@ -241,19 +262,25 @@ def fn(n: Int, u: AnyRef, m: Int, defaults: Array[AnyRef]): AnyRef = n match { case 3 => (a: Any, b: Any, c: Any) => call(u, m, Seq(a, b, c), defaults) case _ => (a: Any, b: Any, c: Any, d: Any) => call(u, m, Seq(a, b, c, d), defaults) } - // route by arg0's MEOS type-tag name to the matching type-specific impl - private def pick(a0: Any, routes: Map[String, AnyRef], dflt: AnyRef): AnyRef = a0 match { - case s: String => - val tn = try GeneratedFunctions.meostype_name(GeneratedFunctions.meos_typeof_hexwkb(s)) - catch { case _: Throwable => null } - routes.getOrElse(tn, dflt) - case _ => dflt - } - def disp(n: Int, routes: Map[String, AnyRef], dflt: AnyRef, m: Int): AnyRef = n match { - case 1 => (a: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a), null) } - case 2 => (a: Any, b: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b), null) } - case 3 => (a: Any, b: Any, c: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c), null) } - case _ => (a: Any, b: Any, c: Any, d: Any) => { val u = pick(a, routes, dflt); if (u == null) null else call(u, m, Seq(a, b, c, d), null) } + // route by the differentiating argument's MEOS type-tag name to the matching + // (impl, impl arity, defaults); the default route handles temporal/unknown tags + private def pick(args: Seq[Any], dpos: Int, routes: Map[String, (AnyRef, Int, Array[AnyRef])], + dflt: (AnyRef, Int, Array[AnyRef])): (AnyRef, Int, Array[AnyRef]) = + (if (dpos < args.length) args(dpos) else null) match { + case s: String => + val tn = try GeneratedFunctions.meostype_name(GeneratedFunctions.meos_typeof_hexwkb(s)) + catch { case _: Throwable => null } + routes.getOrElse(tn, dflt) + case _ => dflt + } + private def run(t: (AnyRef, Int, Array[AnyRef]), a: Seq[Any]): Any = + if (t == null || t._1 == null) null else call(t._1, t._2, a, t._3) + def disp(n: Int, dpos: Int, routes: Map[String, (AnyRef, Int, Array[AnyRef])], + dflt: (AnyRef, Int, Array[AnyRef])): AnyRef = n match { + case 1 => (a: Any) => run(pick(Seq(a), dpos, routes, dflt), Seq(a)) + case 2 => (a: Any, b: Any) => run(pick(Seq(a, b), dpos, routes, dflt), Seq(a, b)) + case 3 => (a: Any, b: Any, c: Any) => run(pick(Seq(a, b, c), dpos, routes, dflt), Seq(a, b, c)) + case _ => (a: Any, b: Any, c: Any, d: Any) => run(pick(Seq(a, b, c, d), dpos, routes, dflt), Seq(a, b, c, d)) } } ''') From 5a1f1779ff94e71b39708fb002476f93474f3bf8 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 12 Jun 2026 06:16:27 +0200 Subject: [PATCH 17/23] feat(codegen): bind by-value struct returns via the sret convention Functions that return a struct larger than 16 bytes by value (the seven *Split returns plus MvtGeom) use the SysV/AArch64 sret calling convention: the caller allocates the struct and passes a hidden pointer as an implicit first argument; the callee fills it and returns it. The emitter previously collapsed such a return to a bare Pointer, so jnr-ffi mis-read the return register and the struct fields (notably count) came back as garbage. Parse the IDL "structs" section, compute each struct's size, and for a by-value return larger than 16 bytes emit a hidden leading Pointer _sret parameter in the interface, allocate it in the wrapper, and return the filled buffer. Register-returned structs (<=16B) are logged, not silently mis-bound. Regenerates GeneratedFunctions with the new bindings. --- codegen/src/main/java/FunctionsGenerator.java | 125 +- .../java/functions/GeneratedFunctions.java | 39838 ++++++++++++++++ 2 files changed, 39959 insertions(+), 4 deletions(-) create mode 100644 jmeos-core/src/main/java/functions/GeneratedFunctions.java diff --git a/codegen/src/main/java/FunctionsGenerator.java b/codegen/src/main/java/FunctionsGenerator.java index ed053084d..c05186189 100644 --- a/codegen/src/main/java/FunctionsGenerator.java +++ b/codegen/src/main/java/FunctionsGenerator.java @@ -24,6 +24,16 @@ public class FunctionsGenerator { // These are mapped to int in Java (JNR-FFI represents C enums as int). private final Set enumNames = new HashSet<>(); + // Struct names → SysV-AMD64 size in bytes, from the JSON "structs" section. + // Used to detect functions that return a struct BY VALUE. On the SysV / + // AArch64 ABIs a by-value struct larger than 16 bytes is returned via memory + // (the "sret" convention): the caller allocates the struct and passes a hidden + // pointer as an implicit FIRST argument; the callee fills it and returns it in + // the return register. jnr-ffi cannot bind a by-value struct return mapped to + // a bare Pointer (it mis-reads the return register), so for these we model the + // sret pointer explicitly — see generateAllInterfaces / generateStaticMethod. + private final Map structSizes = new HashMap<>(); + // DateADT → typedef int32_t → Java int // Timestamp → typedef int64_t → Java long (no timezone) // TimestampTz → typedef int64_t → Java long (with timezone) @@ -157,6 +167,10 @@ private void run(String inputPath, String outputPath) throws IOException { collectEnumNames(root); System.out.println("Enums collected: " + enumNames); + // 1b. Collect struct layouts so by-value struct returns can be bound + // via the sret calling convention (see structSizes). + collectStructs(root); + // 2. Parse all functions JsonNode functionsNode = root.get("functions"); if (functionsNode == null || !functionsNode.isArray()) { @@ -210,6 +224,69 @@ private void collectEnumNames(JsonNode root) { } } + /** + * Collects struct layouts from the JSON "structs" section and records each + * struct's SysV-AMD64 size. Structs larger than 16 bytes are returned via + * memory (sret) when used as a by-value return type; that is the only fact + * the generator needs (see structSizes / parseFunctionDef). + */ + private void collectStructs(JsonNode root) { + JsonNode structs = root.get("structs"); + if (structs == null || !structs.isArray()) { + return; + } + List registerReturned = new ArrayList<>(); + for (JsonNode s : structs) { + JsonNode nameNode = s.get("name"); + JsonNode fields = s.get("fields"); + if (nameNode == null || fields == null || !fields.isArray()) { + continue; + } + int off = 0, maxAlign = 1; + for (JsonNode f : fields) { + JsonNode ct = f.get("cType"); + int sz = (ct == null) ? 8 : cFieldSize(ct.asText()); + off = ((off + sz - 1) / sz) * sz; // align field to its own size + off += sz; + maxAlign = Math.max(maxAlign, sz); + } + int size = ((off + maxAlign - 1) / maxAlign) * maxAlign; + String nm = nameNode.asText(); + structSizes.put(nm, size); + if (size <= 16) { + registerReturned.add(nm + "(" + size + "B)"); + } + } + System.out.println("Structs collected: " + structSizes.size()); + // No silent caps: a by-value return of a <=16B struct is register-returned + // (not sret) and is NOT handled by the sret path below. Log it so the gap + // is visible rather than silently mis-bound. + if (!registerReturned.isEmpty()) { + System.out.println("NOTE: register-returned structs (<=16B, NOT sret-bound): " + + registerReturned); + } + } + + /** SysV-AMD64 size of a single C field type (pointers and 8-byte scalars = 8). */ + private int cFieldSize(String cType) { + String t = cType.replace("const ", "").trim(); + if (t.endsWith("*")) { + return 8; + } + return switch (t) { + case "double", "float8", "long", "int64", "int64_t", "uint64", + "uint64_t", "size_t", "uintptr_t", "Datum", + "Timestamp", "TimestampTz" -> 8; + case "int", "int32", "int32_t", "uint32", + "uint32_t", "float", "DateADT" -> 4; + case "short", "int16", "int16_t", + "uint16", "uint16_t" -> 2; + case "bool", "char", "int8", "int8_t", + "uint8", "uint8_t" -> 1; + default -> 8; // nested struct/pointer: conservative + }; + } + private FunctionDef parseFunctionDef(JsonNode fn) { String name = fn.get("name").asText(); @@ -251,7 +328,16 @@ private FunctionDef parseFunctionDef(JsonNode fn) { } } - return new FunctionDef(name, retJava, retCType, params); + // By-value struct return: if the return C type names a struct larger than + // 16 bytes, it is returned via memory (sret) and must be bound with an + // explicit hidden first pointer argument (see generateStaticMethod). + int sretStructSize = 0; + Integer sz = structSizes.get(retCType.replace("struct ", "").trim()); + if (sz != null && sz > 16) { + sretStructSize = sz; + } + + return new FunctionDef(name, retJava, retCType, params, sretStructSize); } // ------------------------------------------------------------------------- @@ -533,10 +619,17 @@ private String generateAllInterfaces(List functions, int partSize) sb.append("\tpublic interface MeosLibraryPart").append(letters[p]).append(" {\n\n"); for (int i = start; i < end; i++) { FunctionDef fn = functions.get(i); + String ifaceParams = buildInterfaceParamList(fn.params); + // sret return: the struct pointer is a hidden FIRST argument. + if (fn.sretStructSize > 0) { + ifaceParams = ifaceParams.isEmpty() + ? "Pointer _sret" + : "Pointer _sret, " + ifaceParams; + } sb.append("\t\t") .append(fn.returnType).append(" ") .append(fn.name).append("(") - .append(buildInterfaceParamList(fn.params)) + .append(ifaceParams) .append(");\n\n"); } sb.append("\t}\n\n"); @@ -611,6 +704,12 @@ private String generateStaticMethod(FunctionDef fn, int partIndex) { OUTPUT_RESULT_PARAMS.contains(p.name) && p.javaType().equals("Pointer")); + // sret pattern: the function returns a >16B struct by value. The wrapper + // allocates the struct buffer internally, passes it as the hidden first + // argument, and returns the filled buffer. Callers read the struct fields + // off the returned Pointer (.getPointer(0), .getInt(offset), …). + boolean isSretStruct = fn.sretStructSize > 0; + // Resolve the ResultStrategy from the C type of the result param. // Determines allocation size, read expression, and wrapper return type. // Previously hardcoded to Pointer/Long.BYTES/getPointer(0), which caused @@ -667,7 +766,7 @@ private String generateStaticMethod(FunctionDef fn, int partIndex) { // --- Internal allocations --- // Determine if we need a Runtime (needed for any Memory.allocateDirect call). - boolean needsRuntime = !internalSizeParams.isEmpty() || hasInternalResult; + boolean needsRuntime = !internalSizeParams.isEmpty() || hasInternalResult || isSretStruct; if (isBoolResultPattern) { // Emit the "boolean out" sentinel variable first, @@ -687,6 +786,12 @@ private String generateStaticMethod(FunctionDef fn, int partIndex) { .append(resultStrategy.allocExpr()).append(");\n"); } + // Allocate the hidden sret struct buffer. + if (isSretStruct) { + sb.append("\t\tPointer _sret = Memory.allocateDirect(runtime, ") + .append(fn.sretStructSize).append(");\n"); + } + // Allocate hidden size_out pointer(s). for (String paramName : internalSizeParams) { sb.append("\t\tPointer ").append(paramName) @@ -710,6 +815,9 @@ private String generateStaticMethod(FunctionDef fn, int partIndex) { // --- Build argument list for the interface call --- // Hidden params (size_out, result) are still forwarded by their local name. StringJoiner args = new StringJoiner(", "); + if (isSretStruct) { + args.add("_sret"); // hidden sret buffer is the first native argument + } for (ParamDef p : fn.params) { if (OUTPUT_SIZE_PARAMS.contains(p.name) || (isBoolResultPattern && OUTPUT_RESULT_PARAMS.contains(p.name) @@ -744,6 +852,12 @@ private String generateStaticMethod(FunctionDef fn, int partIndex) { sb.append("\t\tMeosErrorHandler.checkError();\n"); sb.append("\t\treturn out ? result : null;\n"); } + } else if (isSretStruct) { + // The native function fills _sret and also returns it in the return + // register; we keep our own buffer (known size) and return that. + sb.append("\t\t").append(call).append("\n"); + sb.append("\t\tMeosErrorHandler.checkError();\n"); + sb.append("\t\treturn _sret;\n"); } else if (fn.returnType.equals("void")) { sb.append("\t\t").append(call).append("\n"); sb.append("\t\tMeosErrorHandler.checkError();\n"); @@ -800,7 +914,10 @@ private String buildWrapperParamList(List params) { // retCType field so generateStaticMethod can decide the // wrapper return type independently of the interface return type. - private record FunctionDef(String name, String returnType, String retCType, List params) {} + // sretStructSize > 0 marks a by-value struct return bound via the sret + // convention (hidden first pointer arg of that many bytes); 0 otherwise. + private record FunctionDef(String name, String returnType, String retCType, + List params, int sretStructSize) {} // Added cType field so each param's original C type is // available when generating conversion code in the static wrapper. diff --git a/jmeos-core/src/main/java/functions/GeneratedFunctions.java b/jmeos-core/src/main/java/functions/GeneratedFunctions.java new file mode 100644 index 000000000..4317330e9 --- /dev/null +++ b/jmeos-core/src/main/java/functions/GeneratedFunctions.java @@ -0,0 +1,39838 @@ +package functions; + +import jnr.ffi.Pointer; +import jnr.ffi.Memory; +import jnr.ffi.Runtime; +import jnr.ffi.byref.PointerByReference; +import jnr.ffi.Struct; +import utils.JarLibraryLoader; +import utils.meosCatalog.MeosEnums.meosType; +import utils.meosCatalog.MeosEnums.meosOper; +import functions.MeosErrorHandler; + +import java.time.*; + +public class GeneratedFunctions { + public interface MeosLibraryPartA { + + void meos_error(int errlevel, int errcode, String format); + + int meos_errno(); + + int meos_errno_set(int err); + + int meos_errno_restore(int err); + + int meos_errno_reset(); + + Pointer meos_array_create(int elem_size); + + void meos_array_add(Pointer array, Pointer value); + + Pointer meos_array_get(Pointer array, int n); + + int meos_array_count(Pointer array); + + void meos_array_reset(Pointer array); + + void meos_array_reset_free(Pointer array); + + void meos_array_destroy(Pointer array); + + void meos_array_destroy_free(Pointer array); + + Pointer rtree_create_intspan(); + + Pointer rtree_create_bigintspan(); + + Pointer rtree_create_floatspan(); + + Pointer rtree_create_datespan(); + + Pointer rtree_create_tstzspan(); + + Pointer rtree_create_tbox(); + + Pointer rtree_create_stbox(); + + void rtree_free(Pointer rtree); + + void rtree_insert(Pointer rtree, Pointer box, int id); + + void rtree_insert_temporal(Pointer rtree, Pointer temp, int id); + + void rtree_insert_temporal_split(Pointer rtree, Pointer temp, int id, int maxboxes); + + int rtree_search(Pointer rtree, int op, Pointer query, Pointer result); + + int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result); + + int rtree_search_temporal_dedup(Pointer rtree, int op, Pointer temp, int maxboxes, Pointer result); + + void meos_initialize_error_handler(error_handler_fn err_handler); + + void meos_initialize_noexit_error_handler(); + + void meos_initialize_timezone(String name); + + void meos_initialize_collation(); + + void meos_finalize_timezone(); + + void meos_finalize_collation(); + + void meos_finalize_projsrs(); + + void meos_finalize_ways(); + + boolean meos_set_datestyle(String newval, Pointer extra); + + boolean meos_set_intervalstyle(String newval, int extra); + + String meos_get_datestyle(); + + String meos_get_intervalstyle(); + + void meos_set_spatial_ref_sys_csv(String path); + + void meos_set_ways_csv(String path); + + void meos_initialize(); + + void meos_finalize(); + + Pointer bigintset_in(String str); + + String bigintset_out(Pointer set); + + Pointer bigintspan_expand(Pointer sp, long value); + + Pointer bigintspan_in(String str); + + String bigintspan_out(Pointer sp); + + Pointer bigintspanset_in(String str); + + String bigintspanset_out(Pointer ss); + + Pointer dateset_in(String str); + + String dateset_out(Pointer s); + + Pointer datespan_in(String str); + + String datespan_out(Pointer sp); + + Pointer datespanset_in(String str); + + String datespanset_out(Pointer ss); + + Pointer floatset_in(String str); + + String floatset_out(Pointer set, int maxdd); + + Pointer floatspan_expand(Pointer sp, double value); + + Pointer floatspan_in(String str); + + String floatspan_out(Pointer sp, int maxdd); + + Pointer floatspanset_in(String str); + + String floatspanset_out(Pointer ss, int maxdd); + + Pointer intset_in(String str); + + String intset_out(Pointer set); + + Pointer intspan_expand(Pointer sp, int value); + + Pointer intspan_in(String str); + + String intspan_out(Pointer sp); + + Pointer intspanset_in(String str); + + String intspanset_out(Pointer ss); + + String set_as_hexwkb(Pointer s, byte variant, Pointer size_out); + + Pointer set_as_wkb(Pointer s, byte variant, Pointer size_out); + + Pointer set_from_hexwkb(String hexwkb); + + Pointer set_from_wkb(Pointer wkb, long size); + + String span_as_hexwkb(Pointer sp, byte variant, Pointer size_out); + + Pointer span_as_wkb(Pointer sp, byte variant, Pointer size_out); + + Pointer span_from_hexwkb(String hexwkb); + + Pointer span_from_wkb(Pointer wkb, long size); + + String spanset_as_hexwkb(Pointer ss, byte variant, Pointer size_out); + + Pointer spanset_as_wkb(Pointer ss, byte variant, Pointer size_out); + + Pointer spanset_from_hexwkb(String hexwkb); + + Pointer spanset_from_wkb(Pointer wkb, long size); + + Pointer textset_in(String str); + + String textset_out(Pointer set); + + Pointer tstzset_in(String str); + + String tstzset_out(Pointer set); + + Pointer tstzspan_in(String str); + + String tstzspan_out(Pointer sp); + + Pointer tstzspanset_in(String str); + + String tstzspanset_out(Pointer ss); + + Pointer bigintset_make(Pointer values, int count); + + Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); + + Pointer dateset_make(Pointer values, int count); + + Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); + + Pointer floatset_make(Pointer values, int count); + + Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc); + + Pointer intset_make(Pointer values, int count); + + Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); + + Pointer set_copy(Pointer s); + + Pointer span_copy(Pointer sp); + + Pointer spanset_copy(Pointer ss); + + Pointer spanset_make(Pointer spans, int count); + + Pointer textset_make(Pointer values, int count); + + Pointer tstzset_make(Pointer values, int count); + + Pointer tstzspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); + + Pointer bigint_to_set(long i); + + Pointer bigint_to_span(long i); + + Pointer bigint_to_spanset(long i); + + Pointer bigintspan_to_intspan(Pointer s); + + Pointer bigintspan_to_floatspan(Pointer s); + + Pointer date_to_set(int d); + + Pointer date_to_span(int d); + + Pointer date_to_spanset(int d); + + Pointer dateset_to_tstzset(Pointer s); + + Pointer datespan_to_tstzspan(Pointer sp); + + Pointer datespanset_to_tstzspanset(Pointer ss); + + Pointer float_to_set(double d); + + Pointer float_to_span(double d); + + Pointer float_to_spanset(double d); + + Pointer floatset_to_intset(Pointer s); + + Pointer floatspan_to_bigintspan(Pointer s); + + Pointer floatspan_to_intspan(Pointer s); + + Pointer floatspanset_to_intspanset(Pointer ss); + + Pointer int_to_set(int i); + + Pointer int_to_span(int i); + + Pointer int_to_spanset(int i); + + Pointer intset_to_floatset(Pointer s); + + Pointer intspan_to_bigintspan(Pointer s); + + Pointer intspan_to_floatspan(Pointer s); + + Pointer intspanset_to_floatspanset(Pointer ss); + + Pointer set_to_span(Pointer s); + + Pointer set_to_spanset(Pointer s); + + Pointer span_to_spanset(Pointer sp); + + Pointer text_to_set(Pointer txt); + + Pointer timestamptz_to_set(long t); + + Pointer timestamptz_to_span(long t); + + Pointer timestamptz_to_spanset(long t); + + Pointer tstzset_to_dateset(Pointer s); + + Pointer tstzspan_to_datespan(Pointer sp); + + Pointer tstzspanset_to_datespanset(Pointer ss); + + long bigintset_end_value(Pointer s); + + long bigintset_start_value(Pointer s); + + boolean bigintset_value_n(Pointer s, int n, Pointer result); + + Pointer bigintset_values(Pointer s, Pointer count); + + long bigintspan_lower(Pointer s); + + long bigintspan_upper(Pointer s); + + long bigintspan_width(Pointer s); + + long bigintspanset_lower(Pointer ss); + + long bigintspanset_upper(Pointer ss); + + long bigintspanset_width(Pointer ss, boolean boundspan); + + int dateset_end_value(Pointer s); + + int dateset_start_value(Pointer s); + + boolean dateset_value_n(Pointer s, int n, Pointer result); + + Pointer dateset_values(Pointer s, Pointer count); + + Pointer datespan_duration(Pointer s); + + int datespan_lower(Pointer s); + + int datespan_upper(Pointer s); + + boolean datespanset_date_n(Pointer ss, int n, Pointer result); + + Pointer datespanset_dates(Pointer ss); + + Pointer datespanset_duration(Pointer ss, boolean boundspan); + + int datespanset_end_date(Pointer ss); + + int datespanset_num_dates(Pointer ss); + + int datespanset_start_date(Pointer ss); + + double floatset_end_value(Pointer s); + + double floatset_start_value(Pointer s); + + boolean floatset_value_n(Pointer s, int n, Pointer result); + + Pointer floatset_values(Pointer s, Pointer count); + + double floatspan_lower(Pointer s); + + double floatspan_upper(Pointer s); + + double floatspan_width(Pointer s); + + double floatspanset_lower(Pointer ss); + + double floatspanset_upper(Pointer ss); + + double floatspanset_width(Pointer ss, boolean boundspan); + + int intset_end_value(Pointer s); + + int intset_start_value(Pointer s); + + boolean intset_value_n(Pointer s, int n, Pointer result); + + Pointer intset_values(Pointer s, Pointer count); + + int intspan_lower(Pointer s); + + int intspan_upper(Pointer s); + + int intspan_width(Pointer s); + + int intspanset_lower(Pointer ss); + + int intspanset_upper(Pointer ss); + + int intspanset_width(Pointer ss, boolean boundspan); + + int set_hash(Pointer s); + + long set_hash_extended(Pointer s, long seed); + + int set_num_values(Pointer s); + + int span_hash(Pointer sp); + + long span_hash_extended(Pointer sp, long seed); + + boolean span_lower_inc(Pointer sp); + + boolean span_upper_inc(Pointer sp); + + Pointer spanset_end_span(Pointer ss); + + int spanset_hash(Pointer ss); + + long spanset_hash_extended(Pointer ss, long seed); + + boolean spanset_lower_inc(Pointer ss); + + int spanset_num_spans(Pointer ss); + + Pointer spanset_span(Pointer ss); + + Pointer spanset_span_n(Pointer ss, int i); + + Pointer spanset_spanarr(Pointer ss, Pointer count); + + Pointer spanset_start_span(Pointer ss); + + boolean spanset_upper_inc(Pointer ss); + + Pointer textset_end_value(Pointer s); + + Pointer textset_start_value(Pointer s); + + boolean textset_value_n(Pointer s, int n, Pointer result); + + Pointer textset_values(Pointer s, Pointer count); + + long tstzset_end_value(Pointer s); + + long tstzset_start_value(Pointer s); + + boolean tstzset_value_n(Pointer s, int n, Pointer result); + + Pointer tstzset_values(Pointer s, Pointer count); + + Pointer tstzspan_duration(Pointer s); + + long tstzspan_lower(Pointer s); + + long tstzspan_upper(Pointer s); + + Pointer tstzspanset_duration(Pointer ss, boolean boundspan); + + long tstzspanset_end_timestamptz(Pointer ss); + + long tstzspanset_lower(Pointer ss); + + int tstzspanset_num_timestamps(Pointer ss); + + long tstzspanset_start_timestamptz(Pointer ss); + + Pointer tstzspanset_timestamps(Pointer ss); + + boolean tstzspanset_timestamptz_n(Pointer ss, int n, Pointer result); + + long tstzspanset_upper(Pointer ss); + + Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth); + + Pointer bigintspan_shift_scale(Pointer sp, long shift, long width, boolean hasshift, boolean haswidth); + + Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth); + + Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer datespan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer floatset_ceil(Pointer s); + + Pointer floatset_degrees(Pointer s, boolean normalize); + + Pointer floatset_floor(Pointer s); + + Pointer floatset_radians(Pointer s); + + Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth); + + Pointer floatspan_ceil(Pointer sp); + + Pointer floatspan_degrees(Pointer sp, boolean normalize); + + Pointer floatspan_floor(Pointer sp); + + Pointer floatspan_radians(Pointer sp); + + Pointer floatspan_round(Pointer sp, int maxdd); + + Pointer floatspan_shift_scale(Pointer sp, double shift, double width, boolean hasshift, boolean haswidth); + + Pointer floatspanset_ceil(Pointer ss); + + Pointer floatspanset_floor(Pointer ss); + + Pointer floatspanset_degrees(Pointer ss, boolean normalize); + + Pointer floatspanset_radians(Pointer ss); + + Pointer floatspanset_round(Pointer ss, int maxdd); + + Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth); + + Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer intspan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer tstzspan_expand(Pointer sp, Pointer interv); + + Pointer set_round(Pointer s, int maxdd); + + Pointer textcat_text_textset(Pointer txt, Pointer s); + + Pointer textcat_textset_text(Pointer s, Pointer txt); + + Pointer textset_initcap(Pointer s); + + Pointer textset_lower(Pointer s); + + Pointer textset_upper(Pointer s); + + long timestamptz_tprecision(long t, Pointer duration, long torigin); + + Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration); + + Pointer tstzset_tprecision(Pointer s, Pointer duration, long torigin); + + Pointer tstzspan_shift_scale(Pointer sp, Pointer shift, Pointer duration); + + Pointer tstzspan_tprecision(Pointer sp, Pointer duration, long torigin); + + Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration); + + Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, long torigin); + + int set_cmp(Pointer s1, Pointer s2); + + boolean set_eq(Pointer s1, Pointer s2); + + boolean set_ge(Pointer s1, Pointer s2); + + boolean set_gt(Pointer s1, Pointer s2); + + boolean set_le(Pointer s1, Pointer s2); + + boolean set_lt(Pointer s1, Pointer s2); + + boolean set_ne(Pointer s1, Pointer s2); + + int span_cmp(Pointer sp1, Pointer sp2); + + boolean span_eq(Pointer sp1, Pointer sp2); + + boolean span_ge(Pointer sp1, Pointer sp2); + + boolean span_gt(Pointer sp1, Pointer sp2); + + boolean span_le(Pointer sp1, Pointer sp2); + + boolean span_lt(Pointer sp1, Pointer sp2); + + boolean span_ne(Pointer sp1, Pointer sp2); + + int spanset_cmp(Pointer ss1, Pointer ss2); + + boolean spanset_eq(Pointer ss1, Pointer ss2); + + boolean spanset_ge(Pointer ss1, Pointer ss2); + + boolean spanset_gt(Pointer ss1, Pointer ss2); + + boolean spanset_le(Pointer ss1, Pointer ss2); + + boolean spanset_lt(Pointer ss1, Pointer ss2); + + boolean spanset_ne(Pointer ss1, Pointer ss2); + + Pointer set_spans(Pointer s, Pointer count); + + Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count); + + Pointer set_split_n_spans(Pointer s, int span_count, Pointer count); + + Pointer spanset_spans(Pointer ss, Pointer count); + + Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count); + + Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count); + + boolean adjacent_span_bigint(Pointer sp, long i); + + boolean adjacent_span_date(Pointer sp, int d); + + boolean adjacent_span_float(Pointer sp, double d); + + boolean adjacent_span_int(Pointer sp, int i); + + boolean adjacent_span_span(Pointer sp1, Pointer sp2); + + boolean adjacent_span_spanset(Pointer sp, Pointer ss); + + boolean adjacent_span_timestamptz(Pointer sp, long t); + + boolean adjacent_spanset_bigint(Pointer ss, long i); + + boolean adjacent_spanset_date(Pointer ss, int d); + + boolean adjacent_spanset_float(Pointer ss, double d); + + boolean adjacent_spanset_int(Pointer ss, int i); + + boolean adjacent_spanset_timestamptz(Pointer ss, long t); + + boolean adjacent_spanset_span(Pointer ss, Pointer sp); + + boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean contained_bigint_set(long i, Pointer s); + + boolean contained_bigint_span(long i, Pointer sp); + + boolean contained_bigint_spanset(long i, Pointer ss); + + boolean contained_date_set(int d, Pointer s); + + boolean contained_date_span(int d, Pointer sp); + + boolean contained_date_spanset(int d, Pointer ss); + + boolean contained_float_set(double d, Pointer s); + + boolean contained_float_span(double d, Pointer sp); + + boolean contained_float_spanset(double d, Pointer ss); + + boolean contained_int_set(int i, Pointer s); + + boolean contained_int_span(int i, Pointer sp); + + boolean contained_int_spanset(int i, Pointer ss); + + boolean contained_set_set(Pointer s1, Pointer s2); + + boolean contained_span_span(Pointer sp1, Pointer sp2); + + boolean contained_span_spanset(Pointer sp, Pointer ss); + + boolean contained_spanset_span(Pointer ss, Pointer sp); + + boolean contained_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean contained_text_set(Pointer txt, Pointer s); + + boolean contained_timestamptz_set(long t, Pointer s); + + boolean contained_timestamptz_span(long t, Pointer sp); + + boolean contained_timestamptz_spanset(long t, Pointer ss); + + boolean contains_set_bigint(Pointer s, long i); + + boolean contains_set_date(Pointer s, int d); + + boolean contains_set_float(Pointer s, double d); + + boolean contains_set_int(Pointer s, int i); + + boolean contains_set_set(Pointer s1, Pointer s2); + + boolean contains_set_text(Pointer s, Pointer t); + + boolean contains_set_timestamptz(Pointer s, long t); + + boolean contains_span_bigint(Pointer sp, long i); + + boolean contains_span_date(Pointer sp, int d); + + boolean contains_span_float(Pointer sp, double d); + + boolean contains_span_int(Pointer sp, int i); + + boolean contains_span_span(Pointer sp1, Pointer sp2); + + boolean contains_span_spanset(Pointer sp, Pointer ss); + + boolean contains_span_timestamptz(Pointer sp, long t); + + boolean contains_spanset_bigint(Pointer ss, long i); + + boolean contains_spanset_date(Pointer ss, int d); + + boolean contains_spanset_float(Pointer ss, double d); + + boolean contains_spanset_int(Pointer ss, int i); + + boolean contains_spanset_span(Pointer ss, Pointer sp); + + boolean contains_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean contains_spanset_timestamptz(Pointer ss, long t); + + boolean overlaps_set_set(Pointer s1, Pointer s2); + + boolean overlaps_span_span(Pointer sp1, Pointer sp2); + + boolean overlaps_span_spanset(Pointer sp, Pointer ss); + + boolean overlaps_spanset_span(Pointer ss, Pointer sp); + + boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean after_date_set(int d, Pointer s); + + boolean after_date_span(int d, Pointer sp); + + boolean after_date_spanset(int d, Pointer ss); + + boolean after_set_date(Pointer s, int d); + + boolean after_set_timestamptz(Pointer s, long t); + + boolean after_span_date(Pointer sp, int d); + + boolean after_span_timestamptz(Pointer sp, long t); + + boolean after_spanset_date(Pointer ss, int d); + + boolean after_spanset_timestamptz(Pointer ss, long t); + + boolean after_timestamptz_set(long t, Pointer s); + + boolean after_timestamptz_span(long t, Pointer sp); + + boolean after_timestamptz_spanset(long t, Pointer ss); + + boolean before_date_set(int d, Pointer s); + + boolean before_date_span(int d, Pointer sp); + + boolean before_date_spanset(int d, Pointer ss); + + boolean before_set_date(Pointer s, int d); + + boolean before_set_timestamptz(Pointer s, long t); + + boolean before_span_date(Pointer sp, int d); + + boolean before_span_timestamptz(Pointer sp, long t); + + boolean before_spanset_date(Pointer ss, int d); + + boolean before_spanset_timestamptz(Pointer ss, long t); + + boolean before_timestamptz_set(long t, Pointer s); + + boolean before_timestamptz_span(long t, Pointer sp); + + boolean before_timestamptz_spanset(long t, Pointer ss); + + boolean left_bigint_set(long i, Pointer s); + + boolean left_bigint_span(long i, Pointer sp); + + boolean left_bigint_spanset(long i, Pointer ss); + + boolean left_float_set(double d, Pointer s); + + boolean left_float_span(double d, Pointer sp); + + boolean left_float_spanset(double d, Pointer ss); + + boolean left_int_set(int i, Pointer s); + + boolean left_int_span(int i, Pointer sp); + + boolean left_int_spanset(int i, Pointer ss); + + boolean left_set_bigint(Pointer s, long i); + + boolean left_set_float(Pointer s, double d); + + boolean left_set_int(Pointer s, int i); + + boolean left_set_set(Pointer s1, Pointer s2); + + boolean left_set_text(Pointer s, Pointer txt); + + boolean left_span_bigint(Pointer sp, long i); + + boolean left_span_float(Pointer sp, double d); + + boolean left_span_int(Pointer sp, int i); + + boolean left_span_span(Pointer sp1, Pointer sp2); + + boolean left_span_spanset(Pointer sp, Pointer ss); + + boolean left_spanset_bigint(Pointer ss, long i); + + boolean left_spanset_float(Pointer ss, double d); + + boolean left_spanset_int(Pointer ss, int i); + + boolean left_spanset_span(Pointer ss, Pointer sp); + + boolean left_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean left_text_set(Pointer txt, Pointer s); + + boolean overafter_date_set(int d, Pointer s); + + boolean overafter_date_span(int d, Pointer sp); + + boolean overafter_date_spanset(int d, Pointer ss); + + boolean overafter_set_date(Pointer s, int d); + + boolean overafter_set_timestamptz(Pointer s, long t); + + boolean overafter_span_date(Pointer sp, int d); + + boolean overafter_span_timestamptz(Pointer sp, long t); + + boolean overafter_spanset_date(Pointer ss, int d); + + boolean overafter_spanset_timestamptz(Pointer ss, long t); + + boolean overafter_timestamptz_set(long t, Pointer s); + + boolean overafter_timestamptz_span(long t, Pointer sp); + + boolean overafter_timestamptz_spanset(long t, Pointer ss); + + boolean overbefore_date_set(int d, Pointer s); + + boolean overbefore_date_span(int d, Pointer sp); + + boolean overbefore_date_spanset(int d, Pointer ss); + + boolean overbefore_set_date(Pointer s, int d); + + boolean overbefore_set_timestamptz(Pointer s, long t); + + boolean overbefore_span_date(Pointer sp, int d); + + boolean overbefore_span_timestamptz(Pointer sp, long t); + + boolean overbefore_spanset_date(Pointer ss, int d); + + boolean overbefore_spanset_timestamptz(Pointer ss, long t); + + boolean overbefore_timestamptz_set(long t, Pointer s); + + boolean overbefore_timestamptz_span(long t, Pointer sp); + + boolean overbefore_timestamptz_spanset(long t, Pointer ss); + + boolean overleft_bigint_set(long i, Pointer s); + + boolean overleft_bigint_span(long i, Pointer sp); + + boolean overleft_bigint_spanset(long i, Pointer ss); + + boolean overleft_float_set(double d, Pointer s); + + boolean overleft_float_span(double d, Pointer sp); + + boolean overleft_float_spanset(double d, Pointer ss); + + boolean overleft_int_set(int i, Pointer s); + + boolean overleft_int_span(int i, Pointer sp); + + boolean overleft_int_spanset(int i, Pointer ss); + + boolean overleft_set_bigint(Pointer s, long i); + + boolean overleft_set_float(Pointer s, double d); + + boolean overleft_set_int(Pointer s, int i); + + boolean overleft_set_set(Pointer s1, Pointer s2); + + boolean overleft_set_text(Pointer s, Pointer txt); + + boolean overleft_span_bigint(Pointer sp, long i); + + boolean overleft_span_float(Pointer sp, double d); + + boolean overleft_span_int(Pointer sp, int i); + + boolean overleft_span_span(Pointer sp1, Pointer sp2); + + boolean overleft_span_spanset(Pointer sp, Pointer ss); + + boolean overleft_spanset_bigint(Pointer ss, long i); + + boolean overleft_spanset_float(Pointer ss, double d); + + boolean overleft_spanset_int(Pointer ss, int i); + + boolean overleft_spanset_span(Pointer ss, Pointer sp); + + boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean overleft_text_set(Pointer txt, Pointer s); + + boolean overright_bigint_set(long i, Pointer s); + + boolean overright_bigint_span(long i, Pointer sp); + + boolean overright_bigint_spanset(long i, Pointer ss); + + boolean overright_float_set(double d, Pointer s); + + boolean overright_float_span(double d, Pointer sp); + + boolean overright_float_spanset(double d, Pointer ss); + + boolean overright_int_set(int i, Pointer s); + + boolean overright_int_span(int i, Pointer sp); + + boolean overright_int_spanset(int i, Pointer ss); + + boolean overright_set_bigint(Pointer s, long i); + + boolean overright_set_float(Pointer s, double d); + + boolean overright_set_int(Pointer s, int i); + + boolean overright_set_set(Pointer s1, Pointer s2); + + boolean overright_set_text(Pointer s, Pointer txt); + + boolean overright_span_bigint(Pointer sp, long i); + + boolean overright_span_float(Pointer sp, double d); + + boolean overright_span_int(Pointer sp, int i); + + boolean overright_span_span(Pointer sp1, Pointer sp2); + + boolean overright_span_spanset(Pointer sp, Pointer ss); + + boolean overright_spanset_bigint(Pointer ss, long i); + + boolean overright_spanset_float(Pointer ss, double d); + + boolean overright_spanset_int(Pointer ss, int i); + + boolean overright_spanset_span(Pointer ss, Pointer sp); + + boolean overright_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean overright_text_set(Pointer txt, Pointer s); + + boolean right_bigint_set(long i, Pointer s); + + boolean right_bigint_span(long i, Pointer sp); + + boolean right_bigint_spanset(long i, Pointer ss); + + boolean right_float_set(double d, Pointer s); + + boolean right_float_span(double d, Pointer sp); + + boolean right_float_spanset(double d, Pointer ss); + + boolean right_int_set(int i, Pointer s); + + boolean right_int_span(int i, Pointer sp); + + boolean right_int_spanset(int i, Pointer ss); + + boolean right_set_bigint(Pointer s, long i); + + boolean right_set_float(Pointer s, double d); + + boolean right_set_int(Pointer s, int i); + + boolean right_set_set(Pointer s1, Pointer s2); + + boolean right_set_text(Pointer s, Pointer txt); + + boolean right_span_bigint(Pointer sp, long i); + + boolean right_span_float(Pointer sp, double d); + + boolean right_span_int(Pointer sp, int i); + + boolean right_span_span(Pointer sp1, Pointer sp2); + + boolean right_span_spanset(Pointer sp, Pointer ss); + + boolean right_spanset_bigint(Pointer ss, long i); + + boolean right_spanset_float(Pointer ss, double d); + + boolean right_spanset_int(Pointer ss, int i); + + boolean right_spanset_span(Pointer ss, Pointer sp); + + boolean right_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean right_text_set(Pointer txt, Pointer s); + + Pointer intersection_bigint_set(long i, Pointer s); + + Pointer intersection_date_set(int d, Pointer s); + + Pointer intersection_float_set(double d, Pointer s); + + Pointer intersection_int_set(int i, Pointer s); + + Pointer intersection_set_bigint(Pointer s, long i); + + Pointer intersection_set_date(Pointer s, int d); + + Pointer intersection_set_float(Pointer s, double d); + + Pointer intersection_set_int(Pointer s, int i); + + Pointer intersection_set_set(Pointer s1, Pointer s2); + + Pointer intersection_set_text(Pointer s, Pointer txt); + + Pointer intersection_set_timestamptz(Pointer s, long t); + + Pointer intersection_span_bigint(Pointer sp, long i); + + Pointer intersection_span_date(Pointer sp, int d); + + Pointer intersection_span_float(Pointer sp, double d); + + Pointer intersection_span_int(Pointer sp, int i); + + Pointer intersection_span_span(Pointer sp1, Pointer sp2); + + Pointer intersection_span_spanset(Pointer sp, Pointer ss); + + Pointer intersection_span_timestamptz(Pointer sp, long t); + + Pointer intersection_spanset_bigint(Pointer ss, long i); + + Pointer intersection_spanset_date(Pointer ss, int d); + + Pointer intersection_spanset_float(Pointer ss, double d); + + Pointer intersection_spanset_int(Pointer ss, int i); + + Pointer intersection_spanset_span(Pointer ss, Pointer sp); + + Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2); + + Pointer intersection_spanset_timestamptz(Pointer ss, long t); + + Pointer intersection_text_set(Pointer txt, Pointer s); + + Pointer intersection_timestamptz_set(long t, Pointer s); + + Pointer minus_bigint_set(long i, Pointer s); + + Pointer minus_bigint_span(long i, Pointer sp); + + Pointer minus_bigint_spanset(long i, Pointer ss); + + Pointer minus_date_set(int d, Pointer s); + + Pointer minus_date_span(int d, Pointer sp); + + Pointer minus_date_spanset(int d, Pointer ss); + + Pointer minus_float_set(double d, Pointer s); + + Pointer minus_float_span(double d, Pointer sp); + + Pointer minus_float_spanset(double d, Pointer ss); + + Pointer minus_int_set(int i, Pointer s); + + Pointer minus_int_span(int i, Pointer sp); + + Pointer minus_int_spanset(int i, Pointer ss); + + Pointer minus_set_bigint(Pointer s, long i); + + Pointer minus_set_date(Pointer s, int d); + + Pointer minus_set_float(Pointer s, double d); + + Pointer minus_set_int(Pointer s, int i); + + Pointer minus_set_set(Pointer s1, Pointer s2); + + Pointer minus_set_text(Pointer s, Pointer txt); + + Pointer minus_set_timestamptz(Pointer s, long t); + + Pointer minus_span_bigint(Pointer sp, long i); + + Pointer minus_span_date(Pointer sp, int d); + + Pointer minus_span_float(Pointer sp, double d); + + Pointer minus_span_int(Pointer sp, int i); + + Pointer minus_span_span(Pointer sp1, Pointer sp2); + + Pointer minus_span_spanset(Pointer sp, Pointer ss); + + Pointer minus_span_timestamptz(Pointer sp, long t); + + Pointer minus_spanset_bigint(Pointer ss, long i); + + Pointer minus_spanset_date(Pointer ss, int d); + + Pointer minus_spanset_float(Pointer ss, double d); + + Pointer minus_spanset_int(Pointer ss, int i); + + Pointer minus_spanset_span(Pointer ss, Pointer sp); + + Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2); + + Pointer minus_spanset_timestamptz(Pointer ss, long t); + + Pointer minus_text_set(Pointer txt, Pointer s); + + Pointer minus_timestamptz_set(long t, Pointer s); + + Pointer minus_timestamptz_span(long t, Pointer sp); + + Pointer minus_timestamptz_spanset(long t, Pointer ss); + + Pointer union_bigint_set(long i, Pointer s); + + Pointer union_bigint_span(Pointer sp, long i); + + Pointer union_bigint_spanset(long i, Pointer ss); + + Pointer union_date_set(int d, Pointer s); + + Pointer union_date_span(Pointer sp, int d); + + Pointer union_date_spanset(int d, Pointer ss); + + Pointer union_float_set(double d, Pointer s); + + Pointer union_float_span(Pointer sp, double d); + + Pointer union_float_spanset(double d, Pointer ss); + + Pointer union_int_set(int i, Pointer s); + + Pointer union_int_span(int i, Pointer sp); + + Pointer union_int_spanset(int i, Pointer ss); + + Pointer union_set_bigint(Pointer s, long i); + + Pointer union_set_date(Pointer s, int d); + + Pointer union_set_float(Pointer s, double d); + + Pointer union_set_int(Pointer s, int i); + + Pointer union_set_set(Pointer s1, Pointer s2); + + Pointer union_set_text(Pointer s, Pointer txt); + + Pointer union_set_timestamptz(Pointer s, long t); + + Pointer union_span_bigint(Pointer s, long i); + + Pointer union_span_date(Pointer s, int d); + + Pointer union_span_float(Pointer s, double d); + + Pointer union_span_int(Pointer s, int i); + + Pointer union_span_span(Pointer s1, Pointer s2); + + Pointer super_union_span_span(Pointer s1, Pointer s2, boolean strict); + + Pointer union_span_spanset(Pointer s, Pointer ss); + + Pointer union_span_timestamptz(Pointer s, long t); + + Pointer union_spanset_bigint(Pointer ss, long i); + + Pointer union_spanset_date(Pointer ss, int d); + + Pointer union_spanset_float(Pointer ss, double d); + + Pointer union_spanset_int(Pointer ss, int i); + + Pointer union_spanset_span(Pointer ss, Pointer sp); + + Pointer union_spanset_spanset(Pointer ss1, Pointer ss2); + + Pointer union_spanset_timestamptz(Pointer ss, long t); + + Pointer union_text_set(Pointer txt, Pointer s); + + Pointer union_timestamptz_set(long t, Pointer s); + + Pointer union_timestamptz_span(long t, Pointer sp); + + Pointer union_timestamptz_spanset(long t, Pointer ss); + + long distance_bigintset_bigintset(Pointer s1, Pointer s2); + + long distance_bigintspan_bigintspan(Pointer sp1, Pointer sp2); + + long distance_bigintspanset_bigintspan(Pointer ss, Pointer sp); + + long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2); + + int distance_dateset_dateset(Pointer s1, Pointer s2); + + int distance_datespan_datespan(Pointer sp1, Pointer sp2); + + int distance_datespanset_datespan(Pointer ss, Pointer sp); + + int distance_datespanset_datespanset(Pointer ss1, Pointer ss2); + + double distance_floatset_floatset(Pointer s1, Pointer s2); + + double distance_floatspan_floatspan(Pointer sp1, Pointer sp2); + + double distance_floatspanset_floatspan(Pointer ss, Pointer sp); + + double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2); + + int distance_intset_intset(Pointer s1, Pointer s2); + + int distance_intspan_intspan(Pointer sp1, Pointer sp2); + + int distance_intspanset_intspan(Pointer ss, Pointer sp); + + int distance_intspanset_intspanset(Pointer ss1, Pointer ss2); + + long distance_set_bigint(Pointer s, long i); + + int distance_set_date(Pointer s, int d); + + double distance_set_float(Pointer s, double d); + + int distance_set_int(Pointer s, int i); + + double distance_set_timestamptz(Pointer s, long t); + + long distance_span_bigint(Pointer sp, long i); + + int distance_span_date(Pointer sp, int d); + + double distance_span_float(Pointer sp, double d); + + int distance_span_int(Pointer sp, int i); + + double distance_span_timestamptz(Pointer sp, long t); + + long distance_spanset_bigint(Pointer ss, long i); + + int distance_spanset_date(Pointer ss, int d); + + double distance_spanset_float(Pointer ss, double d); + + int distance_spanset_int(Pointer ss, int i); + + double distance_spanset_timestamptz(Pointer ss, long t); + + double distance_tstzset_tstzset(Pointer s1, Pointer s2); + + double distance_tstzspan_tstzspan(Pointer sp1, Pointer sp2); + + double distance_tstzspanset_tstzspan(Pointer ss, Pointer sp); + + double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2); + + Pointer bigint_extent_transfn(Pointer state, long i); + + Pointer bigint_union_transfn(Pointer state, long i); + + Pointer date_extent_transfn(Pointer state, int d); + + Pointer date_union_transfn(Pointer state, int d); + + Pointer float_extent_transfn(Pointer state, double d); + + Pointer float_union_transfn(Pointer state, double d); + + Pointer int_extent_transfn(Pointer state, int i); + + Pointer int_union_transfn(Pointer state, int i); + + Pointer set_extent_transfn(Pointer state, Pointer s); + + Pointer set_union_finalfn(Pointer state); + + Pointer set_union_transfn(Pointer state, Pointer s); + + Pointer span_extent_transfn(Pointer state, Pointer sp); + + Pointer span_union_transfn(Pointer state, Pointer sp); + + Pointer spanset_extent_transfn(Pointer state, Pointer ss); + + Pointer spanset_union_finalfn(Pointer state); + + Pointer spanset_union_transfn(Pointer state, Pointer ss); + + Pointer text_union_transfn(Pointer state, Pointer txt); + + Pointer timestamptz_extent_transfn(Pointer state, long t); + + Pointer timestamptz_union_transfn(Pointer state, long t); + + long bigint_get_bin(long value, long vsize, long vorigin); + + Pointer bigintspan_bins(Pointer sp, long vsize, long vorigin, Pointer count); + + Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count); + + int date_get_bin(int d, Pointer duration, int torigin); + + Pointer datespan_bins(Pointer sp, Pointer duration, int torigin, Pointer count); + + Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count); + + double float_get_bin(double value, double vsize, double vorigin); + + Pointer floatspan_bins(Pointer sp, double vsize, double vorigin, Pointer count); + + Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count); + + int int_get_bin(int value, int vsize, int vorigin); + + Pointer intspan_bins(Pointer sp, int vsize, int vorigin, Pointer count); + + Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count); + + long timestamptz_get_bin(long t, Pointer duration, long torigin); + + Pointer tstzspan_bins(Pointer sp, Pointer duration, long origin, Pointer count); + + Pointer tstzspanset_bins(Pointer ss, Pointer duration, long torigin, Pointer count); + + String tbox_as_hexwkb(Pointer box, byte variant, Pointer size); + + Pointer tbox_as_wkb(Pointer box, byte variant, Pointer size_out); + + Pointer tbox_from_hexwkb(String hexwkb); + + Pointer tbox_from_wkb(Pointer wkb, long size); + + Pointer tbox_in(String str); + + String tbox_out(Pointer box, int maxdd); + + Pointer float_timestamptz_to_tbox(double d, long t); + + Pointer float_tstzspan_to_tbox(double d, Pointer sp); + + Pointer int_timestamptz_to_tbox(int i, long t); + + Pointer bigint_timestamptz_to_tbox(long i, long t); + + Pointer int_tstzspan_to_tbox(int i, Pointer s); + + Pointer bigint_tstzspan_to_tbox(long i, Pointer s); + + Pointer numspan_tstzspan_to_tbox(Pointer s, Pointer p); + + Pointer numspan_timestamptz_to_tbox(Pointer span, long t); + + Pointer tbox_copy(Pointer box); + + Pointer tbox_make(Pointer sp1, Pointer sp2); + + Pointer float_to_tbox(double d); + + Pointer int_to_tbox(int i); + + Pointer bigint_to_tbox(long i); + + Pointer set_to_tbox(Pointer s); + + Pointer span_to_tbox(Pointer sp); + + Pointer spanset_to_tbox(Pointer ss); + + Pointer tbox_to_bigintspan(Pointer box); + + Pointer tbox_to_intspan(Pointer box); + + Pointer tbox_to_floatspan(Pointer box); + + Pointer tbox_to_tstzspan(Pointer box); + + Pointer timestamptz_to_tbox(long t); + + int tbox_hash(Pointer box); + + long tbox_hash_extended(Pointer box, long seed); + + boolean tbox_hast(Pointer box); + + boolean tbox_hasx(Pointer box); + + boolean tbox_tmax(Pointer box, Pointer result); + + boolean tbox_tmax_inc(Pointer box, Pointer result); + + boolean tbox_tmin(Pointer box, Pointer result); + + boolean tbox_tmin_inc(Pointer box, Pointer result); + + boolean tbox_xmax(Pointer box, Pointer result); + + boolean tbox_xmax_inc(Pointer box, Pointer result); + + boolean tbox_xmin(Pointer box, Pointer result); + + boolean tbox_xmin_inc(Pointer box, Pointer result); + + boolean tboxfloat_xmax(Pointer box, Pointer result); + + boolean tboxfloat_xmin(Pointer box, Pointer result); + + boolean tboxint_xmax(Pointer box, Pointer result); + + boolean tboxbigint_xmax(Pointer box, Pointer result); + + boolean tboxint_xmin(Pointer box, Pointer result); + + boolean tboxbigint_xmin(Pointer box, Pointer result); + + Pointer tbigintbox_expand(Pointer box, long i); + + Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth); + + Pointer tbox_expand_time(Pointer box, Pointer interv); + + Pointer tbox_round(Pointer box, int maxdd); + + Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth); + + Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth); + + Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); + + Pointer tfloatbox_expand(Pointer box, double d); + + Pointer tintbox_expand(Pointer box, int i); + + Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict); + + Pointer intersection_tbox_tbox(Pointer box1, Pointer box2); + + boolean adjacent_tbox_tbox(Pointer box1, Pointer box2); + + boolean contained_tbox_tbox(Pointer box1, Pointer box2); + + boolean contains_tbox_tbox(Pointer box1, Pointer box2); + + boolean overlaps_tbox_tbox(Pointer box1, Pointer box2); + + boolean same_tbox_tbox(Pointer box1, Pointer box2); + + boolean after_tbox_tbox(Pointer box1, Pointer box2); + + boolean before_tbox_tbox(Pointer box1, Pointer box2); + + boolean left_tbox_tbox(Pointer box1, Pointer box2); + + boolean overafter_tbox_tbox(Pointer box1, Pointer box2); + + boolean overbefore_tbox_tbox(Pointer box1, Pointer box2); + + boolean overleft_tbox_tbox(Pointer box1, Pointer box2); + + boolean overright_tbox_tbox(Pointer box1, Pointer box2); + + boolean right_tbox_tbox(Pointer box1, Pointer box2); + + int tbox_cmp(Pointer box1, Pointer box2); + + boolean tbox_eq(Pointer box1, Pointer box2); + + boolean tbox_ge(Pointer box1, Pointer box2); + + boolean tbox_gt(Pointer box1, Pointer box2); + + boolean tbox_le(Pointer box1, Pointer box2); + + boolean tbox_lt(Pointer box1, Pointer box2); + + boolean tbox_ne(Pointer box1, Pointer box2); + + Pointer tbigint_from_mfjson(String str); + + Pointer tbigint_in(String str); + + String tbigint_out(Pointer temp); + + Pointer tbool_from_mfjson(String str); + + Pointer tbool_in(String str); + + String tbool_out(Pointer temp); + + String temporal_as_hexwkb(Pointer temp, byte variant, Pointer size_out); + + String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs); + + Pointer temporal_as_wkb(Pointer temp, byte variant, Pointer size_out); + + Pointer temporal_from_hexwkb(String hexwkb); + + Pointer temporal_from_wkb(Pointer wkb, long size); + + boolean meos_temporal_to_arrow(Pointer temp, Pointer out_schema, Pointer out_array); + + Pointer meos_temporal_from_arrow(Pointer schema, Pointer array); + + Pointer meos_temporal_arrow_roundtrip(Pointer temp); + + boolean meos_set_to_arrow(Pointer s, Pointer out_schema, Pointer out_array); + + Pointer meos_set_from_arrow(Pointer schema, Pointer array); + + Pointer meos_set_arrow_roundtrip(Pointer s); + + boolean meos_span_to_arrow(Pointer s, Pointer out_schema, Pointer out_array); + + Pointer meos_span_from_arrow(Pointer schema, Pointer array); + + Pointer meos_span_arrow_roundtrip(Pointer s); + + boolean meos_spanset_to_arrow(Pointer ss, Pointer out_schema, Pointer out_array); + + Pointer meos_spanset_from_arrow(Pointer schema, Pointer array); + + Pointer meos_spanset_arrow_roundtrip(Pointer ss); + + boolean meos_tbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array); + + Pointer meos_tbox_from_arrow(Pointer schema, Pointer array); + + Pointer meos_tbox_arrow_roundtrip(Pointer box); + + boolean meos_stbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array); + + Pointer meos_stbox_from_arrow(Pointer schema, Pointer array); + + Pointer meos_stbox_arrow_roundtrip(Pointer box); + + Pointer tfloat_from_mfjson(String str); + + Pointer tfloat_in(String str); + + String tfloat_out(Pointer temp, int maxdd); + + Pointer tint_from_mfjson(String str); + + Pointer tint_in(String str); + + String tint_out(Pointer temp); + + Pointer ttext_from_mfjson(String str); + + Pointer ttext_in(String str); + + String ttext_out(Pointer temp); + + Pointer tbigint_from_base_temp(long i, Pointer temp); + + Pointer tbigintinst_make(long i, long t); + + Pointer tbigintseq_from_base_tstzset(long i, Pointer s); + + Pointer tbigintseq_from_base_tstzspan(long i, Pointer s); + + Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss); + + Pointer tbool_from_base_temp(boolean b, Pointer temp); + + Pointer tboolinst_make(boolean b, long t); + + Pointer tboolseq_from_base_tstzset(boolean b, Pointer s); + + Pointer tboolseq_from_base_tstzspan(boolean b, Pointer sp); + + Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss); + + Pointer temporal_copy(Pointer temp); + + Pointer tfloat_from_base_temp(double d, Pointer temp); + + Pointer tfloatinst_make(double d, long t); + + Pointer tfloatseq_from_base_tstzset(double d, Pointer s); + + Pointer tfloatseq_from_base_tstzspan(double d, Pointer sp, int interp); + + Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp); + + Pointer tint_from_base_temp(int i, Pointer temp); + + Pointer tintinst_make(int i, long t); + + Pointer tintseq_from_base_tstzset(int i, Pointer s); + + Pointer tintseq_from_base_tstzspan(int i, Pointer s); + + Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss); + + Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize); + + Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist); + + Pointer ttext_from_base_temp(Pointer txt, Pointer temp); + + Pointer ttextinst_make(Pointer txt, long t); + + Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s); + + Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer sp); + + Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss); + + Pointer tbigint_to_tfloat(Pointer temp); + + Pointer tbigint_to_tint(Pointer temp); + + Pointer tbool_to_tint(Pointer temp); + + Pointer temporal_to_tstzspan(Pointer temp); + + Pointer tfloat_to_tbigint(Pointer temp); + + Pointer tfloat_to_tint(Pointer temp); + + Pointer tint_to_tfloat(Pointer temp); + + Pointer tint_to_tbigint(Pointer temp); + + Pointer tnumber_to_span(Pointer temp); + + Pointer tnumber_to_tbox(Pointer temp); + + long tbigint_end_value(Pointer temp); + + long tbigint_max_value(Pointer temp); + + long tbigint_min_value(Pointer temp); + + long tbigint_start_value(Pointer temp); + + boolean tbigint_value_n(Pointer temp, long n, Pointer result); + + Pointer tbigint_values(Pointer temp, Pointer count); + + boolean tbool_end_value(Pointer temp); + + boolean tbool_start_value(Pointer temp); + + boolean tbool_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tbool_value_n(Pointer temp, int n, Pointer result); + + Pointer tbool_values(Pointer temp, Pointer count); + + Pointer temporal_duration(Pointer temp, boolean boundspan); + + Pointer temporal_end_instant(Pointer temp); + + Pointer temporal_end_sequence(Pointer temp); + + long temporal_end_timestamptz(Pointer temp); + + int temporal_hash(Pointer temp); + + Pointer temporal_instant_n(Pointer temp, int n); + + Pointer temporal_instants(Pointer temp, Pointer count); + + Pointer temporal_instants_p(Pointer temp, Pointer count); + + String temporal_interp(Pointer temp); + + boolean temporal_lower_inc(Pointer temp); + + Pointer temporal_max_instant(Pointer temp); + + Pointer temporal_min_instant(Pointer temp); + + int temporal_num_instants(Pointer temp); + + int temporal_num_sequences(Pointer temp); + + int temporal_num_timestamps(Pointer temp); + + Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict); + + Pointer temporal_segments(Pointer temp, Pointer count); + + Pointer temporal_sequence_n(Pointer temp, int i); + + Pointer temporal_sequences(Pointer temp, Pointer count); + + Pointer temporal_start_instant(Pointer temp); + + Pointer temporal_start_sequence(Pointer temp); + + long temporal_start_timestamptz(Pointer temp); + + Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration); + + String temporal_subtype(Pointer temp); + + String temporal_basetype_name(Pointer temp); + + Pointer temporal_time(Pointer temp); + + Pointer temporal_timestamps(Pointer temp, Pointer count); + + boolean temporal_timestamptz_n(Pointer temp, int n, Pointer result); + + boolean temporal_upper_inc(Pointer temp); + + double tfloat_end_value(Pointer temp); + + double tfloat_min_value(Pointer temp); + + double tfloat_max_value(Pointer temp); + + double tfloat_start_value(Pointer temp); + + boolean tfloat_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tfloat_value_n(Pointer temp, int n, Pointer result); + + Pointer tfloat_values(Pointer temp, Pointer count); + + int tint_end_value(Pointer temp); + + int tint_max_value(Pointer temp); + + int tint_min_value(Pointer temp); + + int tint_start_value(Pointer temp); + + boolean tint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tint_value_n(Pointer temp, int n, Pointer result); + + Pointer tint_values(Pointer temp, Pointer count); + + double tnumber_avg_value(Pointer temp); + + double tnumber_integral(Pointer temp); + + double tnumber_twavg(Pointer temp); + + Pointer tnumber_valuespans(Pointer temp); + + Pointer ttext_end_value(Pointer temp); + + Pointer ttext_max_value(Pointer temp); + + Pointer ttext_min_value(Pointer temp); + + Pointer ttext_start_value(Pointer temp); + + boolean ttext_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean ttext_value_n(Pointer temp, int n, Pointer result); + + Pointer ttext_values(Pointer temp, Pointer count); + + double float_degrees(double value, boolean normalize); + + Pointer tbigint_scale_value(Pointer temp, long width); + + Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width); + + Pointer tbigint_shift_value(Pointer temp, long shift); + + Pointer temparr_round(Pointer temp, int count, int maxdd); + + Pointer temporal_round(Pointer temp, int maxdd); + + Pointer temporal_scale_time(Pointer temp, Pointer duration); + + Pointer temporal_set_interp(Pointer temp, int interp); + + Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration); + + Pointer temporal_shift_time(Pointer temp, Pointer shift); + + Pointer temporal_to_tinstant(Pointer temp); + + Pointer temporal_to_tsequence(Pointer temp, int interp); + + Pointer temporal_to_tsequenceset(Pointer temp, int interp); + + Pointer tfloat_ceil(Pointer temp); + + Pointer tfloat_degrees(Pointer temp, boolean normalize); + + Pointer tfloat_floor(Pointer temp); + + Pointer tfloat_radians(Pointer temp); + + Pointer tfloat_scale_value(Pointer temp, double width); + + Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width); + + Pointer tfloat_shift_value(Pointer temp, double shift); + + Pointer tint_scale_value(Pointer temp, int width); + + Pointer tint_shift_scale_value(Pointer temp, int shift, int width); + + Pointer tint_shift_value(Pointer temp, int shift); + + Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); + + Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand); + + Pointer temporal_delete_timestamptz(Pointer temp, long t, boolean connect); + + Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect); + + Pointer temporal_delete_tstzspan(Pointer temp, Pointer sp, boolean connect); + + Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); + + Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect); + + Pointer temporal_merge(Pointer temp1, Pointer temp2); + + Pointer temporal_merge_array(Pointer temparr, int count); + + Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect); + + Pointer tbool_at_value(Pointer temp, boolean b); + + Pointer tbool_minus_value(Pointer temp, boolean b); + + Pointer temporal_after_timestamptz(Pointer temp, long t, boolean strict); + + Pointer temporal_at_max(Pointer temp); + + Pointer temporal_at_min(Pointer temp); + + Pointer temporal_at_timestamptz(Pointer temp, long t); + + Pointer temporal_at_tstzset(Pointer temp, Pointer s); + + Pointer temporal_at_tstzspan(Pointer temp, Pointer sp); + + Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss); + + Pointer temporal_at_values(Pointer temp, Pointer set); + + Pointer temporal_before_timestamptz(Pointer temp, long t, boolean strict); + + Pointer temporal_minus_max(Pointer temp); + + Pointer temporal_minus_min(Pointer temp); + + Pointer temporal_minus_timestamptz(Pointer temp, long t); + + Pointer temporal_minus_tstzset(Pointer temp, Pointer s); + + Pointer temporal_minus_tstzspan(Pointer temp, Pointer sp); + + Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss); + + Pointer temporal_minus_values(Pointer temp, Pointer set); + + Pointer tfloat_at_value(Pointer temp, double d); + + Pointer tfloat_minus_value(Pointer temp, double d); + + Pointer tint_at_value(Pointer temp, int i); + + Pointer tint_minus_value(Pointer temp, int i); + + Pointer tnumber_at_span(Pointer temp, Pointer sp); + + Pointer tnumber_at_spanset(Pointer temp, Pointer ss); + + Pointer tnumber_at_tbox(Pointer temp, Pointer box); + + Pointer tnumber_minus_span(Pointer temp, Pointer sp); + + Pointer tnumber_minus_spanset(Pointer temp, Pointer ss); + + Pointer tnumber_minus_tbox(Pointer temp, Pointer box); + + Pointer ttext_at_value(Pointer temp, Pointer txt); + + Pointer ttext_minus_value(Pointer temp, Pointer txt); + + int temporal_cmp(Pointer temp1, Pointer temp2); + + boolean temporal_eq(Pointer temp1, Pointer temp2); + + boolean temporal_ge(Pointer temp1, Pointer temp2); + + boolean temporal_gt(Pointer temp1, Pointer temp2); + + boolean temporal_le(Pointer temp1, Pointer temp2); + + boolean temporal_lt(Pointer temp1, Pointer temp2); + + boolean temporal_ne(Pointer temp1, Pointer temp2); + + int always_eq_bigint_tbigint(long i, Pointer temp); + + int always_eq_bool_tbool(boolean b, Pointer temp); + + int always_eq_float_tfloat(double d, Pointer temp); + + int always_eq_int_tint(int i, Pointer temp); + + int always_eq_tbool_bool(Pointer temp, boolean b); + + int always_eq_temporal_temporal(Pointer temp1, Pointer temp2); + + int always_eq_text_ttext(Pointer txt, Pointer temp); + + int always_eq_tbigint_bigint(Pointer temp, long i); + + int always_eq_tfloat_float(Pointer temp, double d); + + int always_eq_tint_int(Pointer temp, int i); + + int always_eq_ttext_text(Pointer temp, Pointer txt); + + int always_ge_bigint_tbigint(long i, Pointer temp); + + int always_ge_float_tfloat(double d, Pointer temp); + + int always_ge_int_tint(int i, Pointer temp); + + int always_ge_tbigint_bigint(Pointer temp, long i); + + int always_ge_temporal_temporal(Pointer temp1, Pointer temp2); + + int always_ge_text_ttext(Pointer txt, Pointer temp); + + int always_ge_tfloat_float(Pointer temp, double d); + + int always_ge_tint_int(Pointer temp, int i); + + int always_ge_ttext_text(Pointer temp, Pointer txt); + + int always_gt_bigint_tbigint(long i, Pointer temp); + + int always_gt_float_tfloat(double d, Pointer temp); + + int always_gt_int_tint(int i, Pointer temp); + + int always_gt_tbigint_bigint(Pointer temp, long i); + + int always_gt_temporal_temporal(Pointer temp1, Pointer temp2); + + int always_gt_text_ttext(Pointer txt, Pointer temp); + + int always_gt_tfloat_float(Pointer temp, double d); + + int always_gt_tint_int(Pointer temp, int i); + + int always_gt_ttext_text(Pointer temp, Pointer txt); + + int always_le_bigint_tbigint(long i, Pointer temp); + + int always_le_float_tfloat(double d, Pointer temp); + + int always_le_int_tint(int i, Pointer temp); + + int always_le_tbigint_bigint(Pointer temp, long i); + + int always_le_temporal_temporal(Pointer temp1, Pointer temp2); + + int always_le_text_ttext(Pointer txt, Pointer temp); + + int always_le_tfloat_float(Pointer temp, double d); + + int always_le_tint_int(Pointer temp, int i); + + int always_le_ttext_text(Pointer temp, Pointer txt); + + int always_lt_bigint_tbigint(long i, Pointer temp); + + int always_lt_float_tfloat(double d, Pointer temp); + + int always_lt_int_tint(int i, Pointer temp); + + int always_lt_temporal_temporal(Pointer temp1, Pointer temp2); + + int always_lt_text_ttext(Pointer txt, Pointer temp); + + int always_lt_tfloat_float(Pointer temp, double d); + + int always_lt_tint_int(Pointer temp, int i); + + int always_lt_tbigint_bigint(Pointer temp, long i); + + int always_lt_ttext_text(Pointer temp, Pointer txt); + + int always_ne_bool_tbool(boolean b, Pointer temp); + + int always_ne_float_tfloat(double d, Pointer temp); + + int always_ne_int_tint(int i, Pointer temp); + + int always_ne_bigint_tbigint(long i, Pointer temp); + + int always_ne_tbool_bool(Pointer temp, boolean b); + + int always_ne_tbigint_bigint(Pointer temp, long i); + + int always_ne_temporal_temporal(Pointer temp1, Pointer temp2); + + int always_ne_text_ttext(Pointer txt, Pointer temp); + + int always_ne_tfloat_float(Pointer temp, double d); + + int always_ne_tint_int(Pointer temp, int i); + + int always_ne_ttext_text(Pointer temp, Pointer txt); + + int ever_eq_bigint_tbigint(long i, Pointer temp); + + int ever_eq_bool_tbool(boolean b, Pointer temp); + + int ever_eq_float_tfloat(double d, Pointer temp); + + int ever_eq_int_tint(int i, Pointer temp); + + int ever_eq_tbigint_bigint(Pointer temp, long i); + + int ever_eq_tbool_bool(Pointer temp, boolean b); + + int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2); + + int ever_eq_text_ttext(Pointer txt, Pointer temp); + + int ever_eq_tfloat_float(Pointer temp, double d); + + int ever_eq_tint_int(Pointer temp, int i); + + int ever_eq_ttext_text(Pointer temp, Pointer txt); + + int ever_ge_bigint_tbigint(long i, Pointer temp); + + int ever_ge_float_tfloat(double d, Pointer temp); + + int ever_ge_int_tint(int i, Pointer temp); + + int ever_ge_tbigint_bigint(Pointer temp, long i); + + int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2); + + int ever_ge_text_ttext(Pointer txt, Pointer temp); + + int ever_ge_tfloat_float(Pointer temp, double d); + + int ever_ge_tint_int(Pointer temp, int i); + + int ever_ge_ttext_text(Pointer temp, Pointer txt); + + int ever_gt_bigint_tbigint(long i, Pointer temp); + + int ever_gt_float_tfloat(double d, Pointer temp); + + int ever_gt_int_tint(int i, Pointer temp); + + int ever_gt_tbigint_bigint(Pointer temp, long i); + + int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2); + + int ever_gt_text_ttext(Pointer txt, Pointer temp); + + int ever_gt_tfloat_float(Pointer temp, double d); + + int ever_gt_tint_int(Pointer temp, int i); + + int ever_gt_ttext_text(Pointer temp, Pointer txt); + + int ever_le_bigint_tbigint(long i, Pointer temp); + + int ever_le_float_tfloat(double d, Pointer temp); + + int ever_le_int_tint(int i, Pointer temp); + + int ever_le_tbigint_bigint(Pointer temp, long i); + + int ever_le_temporal_temporal(Pointer temp1, Pointer temp2); + + int ever_le_text_ttext(Pointer txt, Pointer temp); + + int ever_le_tfloat_float(Pointer temp, double d); + + int ever_le_tint_int(Pointer temp, int i); + + int ever_le_ttext_text(Pointer temp, Pointer txt); + + int ever_lt_bigint_tbigint(long i, Pointer temp); + + int ever_lt_float_tfloat(double d, Pointer temp); + + int ever_lt_int_tint(int i, Pointer temp); + + int ever_lt_tbigint_bigint(Pointer temp, long i); + + int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2); + + int ever_lt_text_ttext(Pointer txt, Pointer temp); + + int ever_lt_tfloat_float(Pointer temp, double d); + + int ever_lt_tint_int(Pointer temp, int i); + + int ever_lt_ttext_text(Pointer temp, Pointer txt); + + int ever_ne_bigint_tbigint(long i, Pointer temp); + + int ever_ne_bool_tbool(boolean b, Pointer temp); + + int ever_ne_float_tfloat(double d, Pointer temp); + + int ever_ne_int_tint(int i, Pointer temp); + + int ever_ne_tbigint_bigint(Pointer temp, long i); + + int ever_ne_tbool_bool(Pointer temp, boolean b); + + int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2); + + int ever_ne_text_ttext(Pointer txt, Pointer temp); + + int ever_ne_tfloat_float(Pointer temp, double d); + + int ever_ne_tint_int(Pointer temp, int i); + + int ever_ne_ttext_text(Pointer temp, Pointer txt); + + Pointer teq_bool_tbool(boolean b, Pointer temp); + + Pointer teq_float_tfloat(double d, Pointer temp); + + Pointer teq_int_tint(int i, Pointer temp); + + Pointer teq_tbool_bool(Pointer temp, boolean b); + + Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2); + + Pointer teq_text_ttext(Pointer txt, Pointer temp); + + Pointer teq_tfloat_float(Pointer temp, double d); + + Pointer teq_tint_int(Pointer temp, int i); + + Pointer teq_ttext_text(Pointer temp, Pointer txt); + + Pointer tge_float_tfloat(double d, Pointer temp); + + Pointer tge_int_tint(int i, Pointer temp); + + Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2); + + Pointer tge_text_ttext(Pointer txt, Pointer temp); + + Pointer tge_tfloat_float(Pointer temp, double d); + + Pointer tge_tint_int(Pointer temp, int i); + + Pointer tge_ttext_text(Pointer temp, Pointer txt); + + Pointer tgt_float_tfloat(double d, Pointer temp); + + Pointer tgt_int_tint(int i, Pointer temp); + + Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2); + + Pointer tgt_text_ttext(Pointer txt, Pointer temp); + + Pointer tgt_tfloat_float(Pointer temp, double d); + + Pointer tgt_tint_int(Pointer temp, int i); + + Pointer tgt_ttext_text(Pointer temp, Pointer txt); + + Pointer tle_float_tfloat(double d, Pointer temp); + + } + + public interface MeosLibraryPartB { + + Pointer tle_int_tint(int i, Pointer temp); + + Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2); + + Pointer tle_text_ttext(Pointer txt, Pointer temp); + + Pointer tle_tfloat_float(Pointer temp, double d); + + Pointer tle_tint_int(Pointer temp, int i); + + Pointer tle_ttext_text(Pointer temp, Pointer txt); + + Pointer tlt_float_tfloat(double d, Pointer temp); + + Pointer tlt_int_tint(int i, Pointer temp); + + Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2); + + Pointer tlt_text_ttext(Pointer txt, Pointer temp); + + Pointer tlt_tfloat_float(Pointer temp, double d); + + Pointer tlt_tint_int(Pointer temp, int i); + + Pointer tlt_ttext_text(Pointer temp, Pointer txt); + + Pointer tne_bool_tbool(boolean b, Pointer temp); + + Pointer tne_float_tfloat(double d, Pointer temp); + + Pointer tne_int_tint(int i, Pointer temp); + + Pointer tne_tbool_bool(Pointer temp, boolean b); + + Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2); + + Pointer tne_text_ttext(Pointer txt, Pointer temp); + + Pointer tne_tfloat_float(Pointer temp, double d); + + Pointer tne_tint_int(Pointer temp, int i); + + Pointer tne_ttext_text(Pointer temp, Pointer txt); + + Pointer temporal_spans(Pointer temp, Pointer count); + + Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count); + + Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count); + + Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count); + + Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count); + + Pointer tnumber_tboxes(Pointer temp, Pointer count); + + boolean adjacent_numspan_tnumber(Pointer sp, Pointer temp); + + boolean adjacent_tbox_tnumber(Pointer box, Pointer temp); + + boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean adjacent_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean adjacent_tnumber_numspan(Pointer temp, Pointer sp); + + boolean adjacent_tnumber_tbox(Pointer temp, Pointer box); + + boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean adjacent_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean contained_numspan_tnumber(Pointer sp, Pointer temp); + + boolean contained_tbox_tnumber(Pointer box, Pointer temp); + + boolean contained_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean contained_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean contained_tnumber_numspan(Pointer temp, Pointer sp); + + boolean contained_tnumber_tbox(Pointer temp, Pointer box); + + boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean contained_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean contains_numspan_tnumber(Pointer sp, Pointer temp); + + boolean contains_tbox_tnumber(Pointer box, Pointer temp); + + boolean contains_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean contains_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean contains_tnumber_numspan(Pointer temp, Pointer sp); + + boolean contains_tnumber_tbox(Pointer temp, Pointer box); + + boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean contains_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean overlaps_numspan_tnumber(Pointer sp, Pointer temp); + + boolean overlaps_tbox_tnumber(Pointer box, Pointer temp); + + boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean overlaps_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean overlaps_tnumber_numspan(Pointer temp, Pointer sp); + + boolean overlaps_tnumber_tbox(Pointer temp, Pointer box); + + boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean overlaps_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean same_numspan_tnumber(Pointer sp, Pointer temp); + + boolean same_tbox_tnumber(Pointer box, Pointer temp); + + boolean same_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean same_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean same_tnumber_numspan(Pointer temp, Pointer sp); + + boolean same_tnumber_tbox(Pointer temp, Pointer box); + + boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean same_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean after_tbox_tnumber(Pointer box, Pointer temp); + + boolean after_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean after_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean after_tnumber_tbox(Pointer temp, Pointer box); + + boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean after_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean before_tbox_tnumber(Pointer box, Pointer temp); + + boolean before_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean before_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean before_tnumber_tbox(Pointer temp, Pointer box); + + boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean before_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean left_tbox_tnumber(Pointer box, Pointer temp); + + boolean left_numspan_tnumber(Pointer sp, Pointer temp); + + boolean left_tnumber_numspan(Pointer temp, Pointer sp); + + boolean left_tnumber_tbox(Pointer temp, Pointer box); + + boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean overafter_tbox_tnumber(Pointer box, Pointer temp); + + boolean overafter_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean overafter_tnumber_tbox(Pointer temp, Pointer box); + + boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean overafter_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean overbefore_tbox_tnumber(Pointer box, Pointer temp); + + boolean overbefore_temporal_tstzspan(Pointer temp, Pointer sp); + + boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean overbefore_tnumber_tbox(Pointer temp, Pointer box); + + boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean overbefore_tstzspan_temporal(Pointer sp, Pointer temp); + + boolean overleft_numspan_tnumber(Pointer sp, Pointer temp); + + boolean overleft_tbox_tnumber(Pointer box, Pointer temp); + + boolean overleft_tnumber_numspan(Pointer temp, Pointer sp); + + boolean overleft_tnumber_tbox(Pointer temp, Pointer box); + + boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean overright_numspan_tnumber(Pointer sp, Pointer temp); + + boolean overright_tbox_tnumber(Pointer box, Pointer temp); + + boolean overright_tnumber_numspan(Pointer temp, Pointer sp); + + boolean overright_tnumber_tbox(Pointer temp, Pointer box); + + boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean right_numspan_tnumber(Pointer sp, Pointer temp); + + boolean right_tbox_tnumber(Pointer box, Pointer temp); + + boolean right_tnumber_numspan(Pointer temp, Pointer sp); + + boolean right_tnumber_tbox(Pointer temp, Pointer box); + + boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2); + + Pointer tand_bool_tbool(boolean b, Pointer temp); + + Pointer tand_tbool_bool(Pointer temp, boolean b); + + Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2); + + Pointer tbool_when_true(Pointer temp); + + Pointer tnot_tbool(Pointer temp); + + Pointer tor_bool_tbool(boolean b, Pointer temp); + + Pointer tor_tbool_bool(Pointer temp, boolean b); + + Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2); + + Pointer add_bigint_tbigint(long i, Pointer tnumber); + + Pointer add_float_tfloat(double d, Pointer tnumber); + + Pointer add_int_tint(int i, Pointer tnumber); + + Pointer add_tbigint_bigint(Pointer tnumber, long i); + + Pointer add_tfloat_float(Pointer tnumber, double d); + + Pointer add_tint_int(Pointer tnumber, int i); + + Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + + Pointer div_bigint_tbigint(long i, Pointer tnumber); + + Pointer div_float_tfloat(double d, Pointer tnumber); + + Pointer div_int_tint(int i, Pointer tnumber); + + Pointer div_tbigint_bigint(Pointer tnumber, long i); + + Pointer div_tfloat_float(Pointer tnumber, double d); + + Pointer div_tint_int(Pointer tnumber, int i); + + Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + + Pointer mul_bigint_tbigint(long i, Pointer tnumber); + + Pointer mul_float_tfloat(double d, Pointer tnumber); + + Pointer mul_int_tint(int i, Pointer tnumber); + + Pointer mul_tbigint_bigint(Pointer tnumber, long i); + + Pointer mul_tfloat_float(Pointer tnumber, double d); + + Pointer mul_tint_int(Pointer tnumber, int i); + + Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + + Pointer sub_bigint_tbigint(long i, Pointer tnumber); + + Pointer sub_float_tfloat(double d, Pointer tnumber); + + Pointer sub_int_tint(int i, Pointer tnumber); + + Pointer sub_tbigint_bigint(Pointer tnumber, long i); + + Pointer sub_tfloat_float(Pointer tnumber, double d); + + Pointer sub_tint_int(Pointer tnumber, int i); + + Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); + + Pointer temporal_derivative(Pointer temp); + + Pointer tfloat_exp(Pointer temp); + + Pointer tfloat_ln(Pointer temp); + + Pointer tfloat_log10(Pointer temp); + + Pointer tnumber_abs(Pointer temp); + + Pointer tnumber_trend(Pointer temp); + + double float_angular_difference(double degrees1, double degrees2); + + Pointer tnumber_angular_difference(Pointer temp); + + Pointer tnumber_delta_value(Pointer temp); + + Pointer textcat_text_ttext(Pointer txt, Pointer temp); + + Pointer textcat_ttext_text(Pointer temp, Pointer txt); + + Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2); + + Pointer ttext_initcap(Pointer temp); + + Pointer ttext_upper(Pointer temp); + + Pointer ttext_lower(Pointer temp); + + Pointer tdistance_tfloat_float(Pointer temp, double d); + + Pointer tdistance_tint_int(Pointer temp, int i); + + Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2); + + double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2); + + int nad_tboxint_tboxint(Pointer box1, Pointer box2); + + double nad_tfloat_float(Pointer temp, double d); + + double nad_tfloat_tfloat(Pointer temp1, Pointer temp2); + + double nad_tfloat_tbox(Pointer temp, Pointer box); + + int nad_tint_int(Pointer temp, int i); + + int nad_tint_tbox(Pointer temp, Pointer box); + + int nad_tint_tint(Pointer temp1, Pointer temp2); + + Pointer tbool_tand_transfn(Pointer state, Pointer temp); + + Pointer tbool_tand_combinefn(Pointer state1, Pointer state2); + + Pointer tbool_tor_transfn(Pointer state, Pointer temp); + + Pointer tbool_tor_combinefn(Pointer state1, Pointer state2); + + Pointer temporal_extent_transfn(Pointer s, Pointer temp); + + Pointer temporal_merge_transfn(Pointer state, Pointer temp); + + Pointer temporal_merge_combinefn(Pointer state1, Pointer state2); + + Pointer temporal_tagg_finalfn(Pointer state); + + Pointer temporal_tcount_transfn(Pointer state, Pointer temp); + + Pointer temporal_tcount_combinefn(Pointer state1, Pointer state2); + + Pointer tfloat_tmax_transfn(Pointer state, Pointer temp); + + Pointer tfloat_tmax_combinefn(Pointer state1, Pointer state2); + + Pointer tfloat_tmin_transfn(Pointer state, Pointer temp); + + Pointer tfloat_tmin_combinefn(Pointer state1, Pointer state2); + + Pointer tfloat_tsum_transfn(Pointer state, Pointer temp); + + Pointer tfloat_tsum_combinefn(Pointer state1, Pointer state2); + + Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer timestamptz_tcount_transfn(Pointer state, long t); + + Pointer tint_tmax_transfn(Pointer state, Pointer temp); + + Pointer tint_tmax_combinefn(Pointer state1, Pointer state2); + + Pointer tint_tmin_transfn(Pointer state, Pointer temp); + + Pointer tint_tmin_combinefn(Pointer state1, Pointer state2); + + Pointer tint_tsum_transfn(Pointer state, Pointer temp); + + Pointer tint_tsum_combinefn(Pointer state1, Pointer state2); + + Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer tnumber_extent_transfn(Pointer box, Pointer temp); + + Pointer tnumber_tavg_finalfn(Pointer state); + + Pointer tnumber_tavg_transfn(Pointer state, Pointer temp); + + Pointer tnumber_tavg_combinefn(Pointer state1, Pointer state2); + + Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv); + + Pointer tstzset_tcount_transfn(Pointer state, Pointer s); + + Pointer tstzspan_tcount_transfn(Pointer state, Pointer sp); + + Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss); + + Pointer ttext_tmax_transfn(Pointer state, Pointer temp); + + Pointer ttext_tmax_combinefn(Pointer state1, Pointer state2); + + Pointer ttext_tmin_transfn(Pointer state, Pointer temp); + + Pointer ttext_tmin_combinefn(Pointer state1, Pointer state2); + + Pointer temporal_simplify_dp(Pointer temp, double dist, boolean synchronize); + + Pointer temporal_simplify_max_dist(Pointer temp, double dist, boolean synchronize); + + Pointer temporal_simplify_min_dist(Pointer temp, double dist); + + Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint); + + Pointer temporal_tprecision(Pointer temp, Pointer duration, long origin); + + Pointer temporal_tsample(Pointer temp, Pointer duration, long origin, int interp); + + double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2); + + Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count); + + double temporal_frechet_distance(Pointer temp1, Pointer temp2); + + Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count); + + double temporal_hausdorff_distance(Pointer temp1, Pointer temp2); + + double temporal_average_hausdorff_distance(Pointer temp1, Pointer temp2); + + double temporal_lcss_distance(Pointer temp1, Pointer temp2, double epsilon); + + Pointer temporal_ext_kalman_filter(Pointer temp, double gate, double q, double variance, boolean to_drop); + + Pointer temporal_time_bins(Pointer temp, Pointer duration, long origin, Pointer count); + + Pointer temporal_time_split(Pointer _sret, Pointer temp, Pointer duration, long torigin); + + Pointer tfloat_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); + + Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count); + + Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count); + + Pointer tfloat_value_split(Pointer _sret, Pointer temp, double size, double origin); + + Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); + + Pointer tfloat_value_time_split(Pointer _sret, Pointer temp, double vsize, Pointer duration, double vorigin, long torigin); + + Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); + + Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count); + + Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); + + Pointer tint_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); + + Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count); + + Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count); + + Pointer tint_value_split(Pointer _sret, Pointer temp, int vsize, int vorigin); + + Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, long torigin, Pointer count); + + Pointer tint_value_time_split(Pointer _sret, Pointer temp, long size, Pointer duration, int vorigin, long torigin); + + Pointer tintbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); + + Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count); + + Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, long torigin, Pointer count); + + Pointer box3d_from_gbox(Pointer box); + + Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid); + + String box3d_out(Pointer box, int maxdd); + + Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax); + + String gbox_out(Pointer box, int maxdd); + + Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size); + + String geo_as_ewkt(Pointer gs, int precision); + + String geo_as_geojson(Pointer gs, int option, int precision, String srs); + + String geo_as_hexewkb(Pointer gs, String endian); + + String geo_as_text(Pointer gs, int precision); + + Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid); + + Pointer geo_from_geojson(String geojson); + + Pointer geo_from_text(String wkt, int srid); + + String geo_out(Pointer gs); + + Pointer geog_from_hexewkb(String wkt); + + Pointer geog_in(String str, int typmod); + + Pointer geom_from_hexewkb(String wkt); + + Pointer geom_in(String str, int typmod); + + Pointer box3d_in(String str); + + Pointer gbox_in(String str); + + Pointer geo_copy(Pointer gs); + + Pointer geogpoint_make2d(int srid, double x, double y); + + Pointer geogpoint_make3dz(int srid, double x, double y, double z); + + Pointer geompoint_make2d(int srid, double x, double y); + + Pointer geompoint_make3dz(int srid, double x, double y, double z); + + Pointer geom_to_geog(Pointer geom); + + Pointer geog_to_geom(Pointer geog); + + boolean geo_is_empty(Pointer gs); + + boolean geo_is_unitary(Pointer gs); + + String geo_typename(int type); + + double geog_area(Pointer gs, boolean use_spheroid); + + Pointer geog_centroid(Pointer gs, boolean use_spheroid); + + double geog_length(Pointer gs, boolean use_spheroid); + + double geog_perimeter(Pointer gs, boolean use_spheroid); + + boolean geom_azimuth(Pointer gs1, Pointer gs2, Pointer result); + + double geom_length(Pointer gs); + + double geom_perimeter(Pointer gs); + + int line_numpoints(Pointer gs); + + Pointer line_point_n(Pointer geom, int n); + + Pointer geo_reverse(Pointer gs); + + Pointer geo_round(Pointer gs, int maxdd); + + Pointer geo_set_srid(Pointer gs, int srid); + + int geo_srid(Pointer gs); + + Pointer geo_transform(Pointer geom, int srid_to); + + Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward); + + Pointer geo_collect_garray(Pointer gsarr, int count); + + Pointer geo_makeline_garray(Pointer gsarr, int count); + + int geo_num_points(Pointer gs); + + int geo_num_geos(Pointer gs); + + Pointer geo_geo_n(Pointer geom, int n); + + Pointer geo_pointarr(Pointer gs, Pointer count); + + Pointer geo_points(Pointer gs); + + Pointer geom_array_union(Pointer gsarr, int count); + + Pointer geom_boundary(Pointer gs); + + Pointer geom_buffer(Pointer gs, double size, String params); + + Pointer geom_centroid(Pointer gs); + + Pointer geom_convex_hull(Pointer gs); + + Pointer geom_difference2d(Pointer gs1, Pointer gs2); + + Pointer geom_intersection2d(Pointer gs1, Pointer gs2); + + Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2); + + Pointer geom_min_bounding_radius(Pointer geom); + + Pointer geom_shortestline2d(Pointer gs1, Pointer s2); + + Pointer geom_shortestline3d(Pointer gs1, Pointer s2); + + Pointer geom_unary_union(Pointer gs, double prec); + + Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat); + + double line_locate_point(Pointer gs1, Pointer gs2); + + Pointer line_substring(Pointer gs, double from, double to); + + boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid); + + boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid); + + boolean geom_contains(Pointer gs1, Pointer gs2); + + boolean geom_covers(Pointer gs1, Pointer gs2); + + boolean geom_disjoint2d(Pointer gs1, Pointer gs2); + + boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance); + + boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance); + + boolean geom_intersects2d(Pointer gs1, Pointer gs2); + + boolean geom_intersects3d(Pointer gs1, Pointer gs2); + + boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt); + + boolean geom_touches(Pointer gs1, Pointer gs2); + + Pointer geo_stboxes(Pointer gs, Pointer count); + + Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count); + + Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count); + + double geog_distance(Pointer g1, Pointer g2); + + double geom_distance2d(Pointer gs1, Pointer gs2); + + double geom_distance3d(Pointer gs1, Pointer gs2); + + int geo_equals(Pointer gs1, Pointer gs2); + + boolean geo_same(Pointer gs1, Pointer gs2); + + Pointer geogset_in(String str); + + Pointer geomset_in(String str); + + String spatialset_out(Pointer s, int maxdd); + + String spatialset_as_text(Pointer set, int maxdd); + + String spatialset_as_ewkt(Pointer set, int maxdd); + + Pointer geoset_make(Pointer values, int count); + + Pointer geo_to_set(Pointer gs); + + Pointer geoset_end_value(Pointer s); + + Pointer geoset_start_value(Pointer s); + + boolean geoset_value_n(Pointer s, int n, Pointer result); + + Pointer geoset_values(Pointer s, Pointer count); + + boolean contained_geo_set(Pointer gs, Pointer s); + + boolean contains_set_geo(Pointer s, Pointer gs); + + Pointer geo_union_transfn(Pointer state, Pointer gs); + + Pointer intersection_geo_set(Pointer gs, Pointer s); + + Pointer intersection_set_geo(Pointer s, Pointer gs); + + Pointer minus_geo_set(Pointer gs, Pointer s); + + Pointer minus_set_geo(Pointer s, Pointer gs); + + Pointer union_geo_set(Pointer gs, Pointer s); + + Pointer union_set_geo(Pointer s, Pointer gs); + + Pointer spatialset_set_srid(Pointer s, int srid); + + int spatialset_srid(Pointer s); + + Pointer spatialset_transform(Pointer s, int srid); + + Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward); + + String stbox_as_hexwkb(Pointer box, byte variant, Pointer size); + + Pointer stbox_as_wkb(Pointer box, byte variant, Pointer size_out); + + Pointer stbox_from_hexwkb(String hexwkb); + + Pointer stbox_from_wkb(Pointer wkb, long size); + + Pointer stbox_in(String str); + + String stbox_out(Pointer box, int maxdd); + + Pointer geo_timestamptz_to_stbox(Pointer gs, long t); + + Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s); + + Pointer stbox_copy(Pointer box); + + Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s); + + Pointer geo_to_stbox(Pointer gs); + + Pointer spatialset_to_stbox(Pointer s); + + Pointer stbox_to_box3d(Pointer box); + + Pointer stbox_to_gbox(Pointer box); + + Pointer stbox_to_geo(Pointer box); + + Pointer stbox_to_tstzspan(Pointer box); + + Pointer timestamptz_to_stbox(long t); + + Pointer tstzset_to_stbox(Pointer s); + + Pointer tstzspan_to_stbox(Pointer s); + + Pointer tstzspanset_to_stbox(Pointer ss); + + double stbox_area(Pointer box, boolean spheroid); + + int stbox_hash(Pointer box); + + int stbox_hash_extended(Pointer box, int seed); + + boolean stbox_hast(Pointer box); + + boolean stbox_hasx(Pointer box); + + boolean stbox_hasz(Pointer box); + + boolean stbox_isgeodetic(Pointer box); + + double stbox_perimeter(Pointer box, boolean spheroid); + + boolean stbox_tmax(Pointer box, Pointer result); + + boolean stbox_tmax_inc(Pointer box, Pointer result); + + boolean stbox_tmin(Pointer box, Pointer result); + + boolean stbox_tmin_inc(Pointer box, Pointer result); + + double stbox_volume(Pointer box); + + boolean stbox_xmax(Pointer box, Pointer result); + + boolean stbox_xmin(Pointer box, Pointer result); + + boolean stbox_ymax(Pointer box, Pointer result); + + boolean stbox_ymin(Pointer box, Pointer result); + + boolean stbox_zmax(Pointer box, Pointer result); + + boolean stbox_zmin(Pointer box, Pointer result); + + Pointer stbox_expand_space(Pointer box, double d); + + Pointer stbox_expand_time(Pointer box, Pointer interv); + + Pointer stbox_get_space(Pointer box); + + Pointer stbox_quad_split(Pointer box, Pointer count); + + Pointer stbox_round(Pointer box, int maxdd); + + Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); + + Pointer stboxarr_round(Pointer boxarr, int count, int maxdd); + + Pointer stbox_set_srid(Pointer box, int srid); + + int stbox_srid(Pointer box); + + Pointer stbox_transform(Pointer box, int srid); + + Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward); + + boolean adjacent_stbox_stbox(Pointer box1, Pointer box2); + + boolean contained_stbox_stbox(Pointer box1, Pointer box2); + + boolean contains_stbox_stbox(Pointer box1, Pointer box2); + + boolean overlaps_stbox_stbox(Pointer box1, Pointer box2); + + boolean same_stbox_stbox(Pointer box1, Pointer box2); + + boolean above_stbox_stbox(Pointer box1, Pointer box2); + + boolean after_stbox_stbox(Pointer box1, Pointer box2); + + boolean back_stbox_stbox(Pointer box1, Pointer box2); + + boolean before_stbox_stbox(Pointer box1, Pointer box2); + + boolean below_stbox_stbox(Pointer box1, Pointer box2); + + boolean front_stbox_stbox(Pointer box1, Pointer box2); + + boolean left_stbox_stbox(Pointer box1, Pointer box2); + + boolean overabove_stbox_stbox(Pointer box1, Pointer box2); + + boolean overafter_stbox_stbox(Pointer box1, Pointer box2); + + boolean overback_stbox_stbox(Pointer box1, Pointer box2); + + boolean overbefore_stbox_stbox(Pointer box1, Pointer box2); + + boolean overbelow_stbox_stbox(Pointer box1, Pointer box2); + + boolean overfront_stbox_stbox(Pointer box1, Pointer box2); + + boolean overleft_stbox_stbox(Pointer box1, Pointer box2); + + boolean overright_stbox_stbox(Pointer box1, Pointer box2); + + boolean right_stbox_stbox(Pointer box1, Pointer box2); + + Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict); + + Pointer intersection_stbox_stbox(Pointer box1, Pointer box2); + + int stbox_cmp(Pointer box1, Pointer box2); + + boolean stbox_eq(Pointer box1, Pointer box2); + + boolean stbox_ge(Pointer box1, Pointer box2); + + boolean stbox_gt(Pointer box1, Pointer box2); + + boolean stbox_le(Pointer box1, Pointer box2); + + boolean stbox_lt(Pointer box1, Pointer box2); + + boolean stbox_ne(Pointer box1, Pointer box2); + + String tspatial_out(Pointer temp, int maxdd); + + Pointer tgeogpoint_from_mfjson(String str); + + Pointer tgeogpoint_in(String str); + + Pointer tgeography_from_mfjson(String mfjson); + + Pointer tgeography_in(String str); + + Pointer tgeometry_from_mfjson(String str); + + Pointer tgeometry_in(String str); + + Pointer tgeompoint_from_mfjson(String str); + + Pointer tgeompoint_in(String str); + + String tspatial_as_ewkt(Pointer temp, int maxdd); + + String tspatial_as_text(Pointer temp, int maxdd); + + Pointer tgeo_from_base_temp(Pointer gs, Pointer temp); + + Pointer tgeoinst_make(Pointer gs, long t); + + Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s); + + Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); + + Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); + + Pointer tpoint_from_base_temp(Pointer gs, Pointer temp); + + Pointer tpointinst_make(Pointer gs, long t); + + Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s); + + Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); + + Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); + + Pointer box3d_to_stbox(Pointer box); + + Pointer gbox_to_stbox(Pointer box); + + Pointer geomeas_to_tpoint(Pointer gs); + + Pointer tgeogpoint_to_tgeography(Pointer temp); + + Pointer tgeography_to_tgeogpoint(Pointer temp); + + Pointer tgeography_to_tgeometry(Pointer temp); + + Pointer tgeometry_to_tgeography(Pointer temp); + + Pointer tgeometry_to_tgeompoint(Pointer temp); + + Pointer tgeompoint_to_tgeometry(Pointer temp); + + Pointer tpoint_as_mvtgeom(Pointer _sret, Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom); + + boolean tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize, Pointer result); + + Pointer tspatial_to_stbox(Pointer temp); + + boolean bearing_point_point(Pointer gs1, Pointer gs2, Pointer result); + + Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert); + + Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2); + + Pointer tgeo_centroid(Pointer temp); + + Pointer tgeo_convex_hull(Pointer temp); + + Pointer tgeo_end_value(Pointer temp); + + Pointer tgeo_start_value(Pointer temp); + + Pointer tgeo_traversed_area(Pointer temp, boolean unary_union); + + boolean tgeo_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tgeo_value_n(Pointer temp, int n, Pointer result); + + Pointer tgeo_values(Pointer temp, Pointer count); + + Pointer tpoint_angular_difference(Pointer temp); + + Pointer tpoint_azimuth(Pointer temp); + + Pointer tpoint_cumulative_length(Pointer temp); + + boolean tpoint_direction(Pointer temp, Pointer result); + + Pointer tpoint_get_x(Pointer temp); + + Pointer tpoint_get_y(Pointer temp); + + Pointer tpoint_get_z(Pointer temp); + + boolean tpoint_is_simple(Pointer temp); + + double tpoint_length(Pointer temp); + + Pointer tpoint_speed(Pointer temp); + + Pointer tpoint_trajectory(Pointer temp, boolean unary_union); + + Pointer tpoint_twcentroid(Pointer temp); + + Pointer tgeo_affine(Pointer temp, Pointer a); + + Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin); + + Pointer tpoint_make_simple(Pointer temp, Pointer count); + + int tspatial_srid(Pointer temp); + + Pointer tspatial_set_srid(Pointer temp, int srid); + + Pointer tspatial_transform(Pointer temp, int srid); + + Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward); + + Pointer tgeo_at_geom(Pointer temp, Pointer gs); + + Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tgeo_at_value(Pointer temp, Pointer gs); + + Pointer tgeo_minus_geom(Pointer temp, Pointer gs); + + Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tgeo_minus_value(Pointer temp, Pointer gs); + + Pointer tpoint_at_elevation(Pointer temp, Pointer s); + + Pointer tpoint_at_geom(Pointer temp, Pointer gs); + + Pointer tpoint_at_value(Pointer temp, Pointer gs); + + Pointer tpoint_minus_elevation(Pointer temp, Pointer s); + + Pointer tpoint_minus_geom(Pointer temp, Pointer gs); + + Pointer tpoint_minus_value(Pointer temp, Pointer gs); + + int always_eq_geo_tgeo(Pointer gs, Pointer temp); + + int always_eq_tgeo_geo(Pointer temp, Pointer gs); + + int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int always_ne_geo_tgeo(Pointer gs, Pointer temp); + + int always_ne_tgeo_geo(Pointer temp, Pointer gs); + + int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int ever_eq_geo_tgeo(Pointer gs, Pointer temp); + + int ever_eq_tgeo_geo(Pointer temp, Pointer gs); + + int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int ever_ne_geo_tgeo(Pointer gs, Pointer temp); + + int ever_ne_tgeo_geo(Pointer temp, Pointer gs); + + int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer teq_geo_tgeo(Pointer gs, Pointer temp); + + Pointer teq_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tne_geo_tgeo(Pointer gs, Pointer temp); + + Pointer tne_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tgeo_stboxes(Pointer temp, Pointer count); + + Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count); + + Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer count); + + Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count); + + Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count); + + boolean adjacent_stbox_tspatial(Pointer box, Pointer temp); + + boolean adjacent_tspatial_stbox(Pointer temp, Pointer box); + + boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean contained_stbox_tspatial(Pointer box, Pointer temp); + + boolean contained_tspatial_stbox(Pointer temp, Pointer box); + + boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean contains_stbox_tspatial(Pointer box, Pointer temp); + + boolean contains_tspatial_stbox(Pointer temp, Pointer box); + + boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overlaps_stbox_tspatial(Pointer box, Pointer temp); + + boolean overlaps_tspatial_stbox(Pointer temp, Pointer box); + + boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean same_stbox_tspatial(Pointer box, Pointer temp); + + boolean same_tspatial_stbox(Pointer temp, Pointer box); + + boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean above_stbox_tspatial(Pointer box, Pointer temp); + + boolean above_tspatial_stbox(Pointer temp, Pointer box); + + boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean after_stbox_tspatial(Pointer box, Pointer temp); + + boolean after_tspatial_stbox(Pointer temp, Pointer box); + + boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean back_stbox_tspatial(Pointer box, Pointer temp); + + boolean back_tspatial_stbox(Pointer temp, Pointer box); + + boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean before_stbox_tspatial(Pointer box, Pointer temp); + + boolean before_tspatial_stbox(Pointer temp, Pointer box); + + boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean below_stbox_tspatial(Pointer box, Pointer temp); + + boolean below_tspatial_stbox(Pointer temp, Pointer box); + + boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean front_stbox_tspatial(Pointer box, Pointer temp); + + boolean front_tspatial_stbox(Pointer temp, Pointer box); + + boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean left_stbox_tspatial(Pointer box, Pointer temp); + + boolean left_tspatial_stbox(Pointer temp, Pointer box); + + boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overabove_stbox_tspatial(Pointer box, Pointer temp); + + boolean overabove_tspatial_stbox(Pointer temp, Pointer box); + + boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overafter_stbox_tspatial(Pointer box, Pointer temp); + + boolean overafter_tspatial_stbox(Pointer temp, Pointer box); + + boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overback_stbox_tspatial(Pointer box, Pointer temp); + + boolean overback_tspatial_stbox(Pointer temp, Pointer box); + + boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overbefore_stbox_tspatial(Pointer box, Pointer temp); + + boolean overbefore_tspatial_stbox(Pointer temp, Pointer box); + + boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overbelow_stbox_tspatial(Pointer box, Pointer temp); + + boolean overbelow_tspatial_stbox(Pointer temp, Pointer box); + + boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overfront_stbox_tspatial(Pointer box, Pointer temp); + + boolean overfront_tspatial_stbox(Pointer temp, Pointer box); + + boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overleft_stbox_tspatial(Pointer box, Pointer temp); + + boolean overleft_tspatial_stbox(Pointer temp, Pointer box); + + boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean overright_stbox_tspatial(Pointer box, Pointer temp); + + boolean overright_tspatial_stbox(Pointer temp, Pointer box); + + boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean right_stbox_tspatial(Pointer box, Pointer temp); + + boolean right_tspatial_stbox(Pointer temp, Pointer box); + + boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2); + + int acontains_geo_tgeo(Pointer gs, Pointer temp); + + int acontains_tgeo_geo(Pointer temp, Pointer gs); + + int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int acovers_geo_tgeo(Pointer gs, Pointer temp); + + int acovers_tgeo_geo(Pointer temp, Pointer gs); + + int acovers_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int adisjoint_tgeo_geo(Pointer temp, Pointer gs); + + int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); + + int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); + + int aintersects_tgeo_geo(Pointer temp, Pointer gs); + + int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int atouches_tgeo_geo(Pointer temp, Pointer gs); + + int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int atouches_tpoint_geo(Pointer temp, Pointer gs); + + int econtains_geo_tgeo(Pointer gs, Pointer temp); + + int econtains_tgeo_geo(Pointer temp, Pointer gs); + + int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int ecovers_geo_tgeo(Pointer gs, Pointer temp); + + int ecovers_tgeo_geo(Pointer temp, Pointer gs); + + int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int edisjoint_tgeo_geo(Pointer temp, Pointer gs); + + int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); + + int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); + + int eintersects_tgeo_geo(Pointer temp, Pointer gs); + + int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int etouches_tgeo_geo(Pointer temp, Pointer gs); + + int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2); + + int etouches_tpoint_geo(Pointer temp, Pointer gs); + + Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp); + + Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp); + + Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp); + + Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist); + + Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); + + Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); + + Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp); + + Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp); + + Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs); + + Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs); + + Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2); + + double nad_stbox_geo(Pointer box, Pointer gs); + + double nad_stbox_stbox(Pointer box1, Pointer box2); + + double nad_tgeo_geo(Pointer temp, Pointer gs); + + double nad_tgeo_stbox(Pointer temp, Pointer box); + + double nad_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer nai_tgeo_geo(Pointer temp, Pointer gs); + + Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2); + + Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2); + + double mindistance_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2); + + double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold); + + Pointer edwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count); + + Pointer tdwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count, Pointer periods); + + Pointer adisjoint_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, Pointer count); + + Pointer tpoint_tcentroid_finalfn(Pointer state); + + Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp); + + Pointer tspatial_extent_transfn(Pointer box, Pointer temp); + + Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin); + + Pointer stbox_get_space_time_tile(Pointer point, long t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin); + + Pointer stbox_get_time_tile(long t, Pointer duration, long torigin); + + Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count); + + Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean border_inc, Pointer count); + + Pointer stbox_time_tiles(Pointer bounds, Pointer duration, long torigin, boolean border_inc, Pointer count); + + Pointer tgeo_space_split(Pointer _sret, Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc); + + Pointer tgeo_space_time_split(Pointer _sret, Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc); + + Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k, Pointer count); + + Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count); + + Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count); + + Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count); + + Pointer geo_wlof(Pointer geoms, int ngeoms, int k, double epsilon, Pointer newcount, Pointer clusters); + + String cbuffer_as_ewkt(Pointer cb, int maxdd); + + String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size); + + String cbuffer_as_text(Pointer cb, int maxdd); + + Pointer cbuffer_as_wkb(Pointer cb, byte variant, Pointer size_out); + + Pointer cbuffer_from_hexwkb(String hexwkb); + + Pointer cbuffer_from_wkb(Pointer wkb, long size); + + Pointer cbuffer_in(String str); + + String cbuffer_out(Pointer cb, int maxdd); + + Pointer cbuffer_copy(Pointer cb); + + Pointer cbuffer_make(Pointer point, double radius); + + Pointer cbuffer_to_geom(Pointer cb); + + Pointer cbuffer_to_stbox(Pointer cb); + + Pointer cbufferarr_to_geom(Pointer cbarr, int count); + + Pointer geom_to_cbuffer(Pointer gs); + + int cbuffer_hash(Pointer cb); + + int cbuffer_hash_extended(Pointer cb, int seed); + + Pointer cbuffer_point(Pointer cb); + + double cbuffer_radius(Pointer cb); + + Pointer cbuffer_round(Pointer cb, int maxdd); + + Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd); + + void cbuffer_set_srid(Pointer cb, int srid); + + int cbuffer_srid(Pointer cb); + + Pointer cbuffer_transform(Pointer cb, int srid); + + Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward); + + int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist); + + int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s); + + Pointer cbuffer_timestamptz_to_stbox(Pointer cb, long t); + + double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + double distance_cbuffer_geo(Pointer cb, Pointer gs); + + double distance_cbuffer_stbox(Pointer cb, Pointer box); + + double nad_cbuffer_stbox(Pointer cb, Pointer box); + + int cbuffer_cmp(Pointer cb1, Pointer cb2); + + boolean cbuffer_eq(Pointer cb1, Pointer cb2); + + boolean cbuffer_ge(Pointer cb1, Pointer cb2); + + boolean cbuffer_gt(Pointer cb1, Pointer cb2); + + boolean cbuffer_le(Pointer cb1, Pointer cb2); + + boolean cbuffer_lt(Pointer cb1, Pointer cb2); + + boolean cbuffer_ne(Pointer cb1, Pointer cb2); + + boolean cbuffer_nsame(Pointer cb1, Pointer cb2); + + boolean cbuffer_same(Pointer cb1, Pointer cb2); + + Pointer cbufferset_in(String str); + + String cbufferset_out(Pointer s, int maxdd); + + Pointer cbufferset_make(Pointer values, int count); + + Pointer cbuffer_to_set(Pointer cb); + + Pointer cbufferset_end_value(Pointer s); + + Pointer cbufferset_start_value(Pointer s); + + boolean cbufferset_value_n(Pointer s, int n, Pointer result); + + Pointer cbufferset_values(Pointer s, Pointer count); + + Pointer cbuffer_union_transfn(Pointer state, Pointer cb); + + boolean contained_cbuffer_set(Pointer cb, Pointer s); + + boolean contains_set_cbuffer(Pointer s, Pointer cb); + + Pointer intersection_cbuffer_set(Pointer cb, Pointer s); + + Pointer intersection_set_cbuffer(Pointer s, Pointer cb); + + Pointer minus_cbuffer_set(Pointer cb, Pointer s); + + Pointer minus_set_cbuffer(Pointer s, Pointer cb); + + Pointer union_cbuffer_set(Pointer cb, Pointer s); + + Pointer union_set_cbuffer(Pointer s, Pointer cb); + + Pointer tcbuffer_in(String str); + + Pointer tcbuffer_from_mfjson(String mfjson); + + Pointer tcbufferinst_make(Pointer cb, long t); + + Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat); + + Pointer tcbuffer_from_base_temp(Pointer cb, Pointer temp); + + Pointer tcbufferseq_from_base_tstzset(Pointer cb, Pointer s); + + Pointer tcbufferseq_from_base_tstzspan(Pointer cb, Pointer s, int interp); + + Pointer tcbufferseqset_from_base_tstzspanset(Pointer cb, Pointer ss, int interp); + + Pointer tcbuffer_end_value(Pointer temp); + + Pointer tcbuffer_points(Pointer temp); + + Pointer tcbuffer_radius(Pointer temp); + + Pointer tcbuffer_traversed_area(Pointer temp, boolean unary_union); + + Pointer tcbuffer_convex_hull(Pointer temp); + + Pointer tcbuffer_start_value(Pointer temp); + + boolean tcbuffer_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tcbuffer_value_n(Pointer temp, int n, Pointer result); + + Pointer tcbuffer_values(Pointer temp, Pointer count); + + Pointer tcbuffer_to_tfloat(Pointer temp); + + Pointer tcbuffer_to_tgeompoint(Pointer temp); + + Pointer tgeometry_to_tcbuffer(Pointer temp); + + Pointer tcbuffer_expand(Pointer temp, double dist); + + Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb); + + Pointer tcbuffer_at_geom(Pointer temp, Pointer gs); + + Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb); + + Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs); + + Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + double nad_tcbuffer_geo(Pointer temp, Pointer gs); + + double nad_tcbuffer_stbox(Pointer temp, Pointer box); + + double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + double mindistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double threshold); + + Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int acontains_geo_tcbuffer(Pointer gs, Pointer temp); + + int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int acontains_tcbuffer_geo(Pointer temp, Pointer gs); + + int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int acovers_geo_tcbuffer(Pointer gs, Pointer temp); + + int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int acovers_tcbuffer_geo(Pointer temp, Pointer gs); + + int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs); + + int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); + + int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); + + int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); + + int aintersects_tcbuffer_geo(Pointer temp, Pointer gs); + + int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int atouches_tcbuffer_geo(Pointer temp, Pointer gs); + + int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int econtains_tcbuffer_geo(Pointer temp, Pointer gs); + + int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + int ecovers_geo_tcbuffer(Pointer gs, Pointer temp); + + int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int ecovers_tcbuffer_geo(Pointer temp, Pointer gs); + + int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs); + + int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); + + int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); + + int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); + + int eintersects_tcbuffer_geo(Pointer temp, Pointer gs); + + int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int etouches_tcbuffer_geo(Pointer temp, Pointer gs); + + int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist); + + Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); + + Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); + + Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); + + Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp); + + Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs); + + Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp); + + Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + boolean ensure_valid_cbuffer_cbuffer(Pointer cb1, Pointer cb2); + + boolean ensure_valid_cbuffer_geo(Pointer cb, Pointer gs); + + boolean ensure_valid_cbuffer_stbox(Pointer cb, Pointer box); + + boolean ensure_valid_cbufferset_cbuffer(Pointer s, Pointer cb); + + boolean cbuffer_collinear(Pointer cb1, Pointer cb2, Pointer cbuf3, double ratio); + + Pointer cbuffersegm_interpolate(Pointer start, Pointer end, Pointer ratio); + + Pointer cbuffersegm_locate(Pointer start, Pointer end, Pointer value); + + Pointer cbuffer_parse(Pointer str, boolean end); + + String cbuffer_wkt_out(Pointer value, int maxdd, boolean extended); + + Pointer cbuffer_point_p(Pointer cb); + + Pointer datum_cbuffer_round(Pointer buffer, Pointer size); + + Pointer cbuffer_transf_pj(Pointer cb, int srid_to, Pointer pj); + + double cbuffer_distance(Pointer cb1, Pointer cb2); + + Pointer datum_cbuffer_distance(Pointer cb1, Pointer cb2); + + int cbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); + + int cbuffer_contains(Pointer cb1, Pointer cb2); + + int cbuffer_covers(Pointer cb1, Pointer cb2); + + int cbuffer_disjoint(Pointer cb1, Pointer cb2); + + int cbuffer_intersects(Pointer cb1, Pointer cb2); + + int cbuffer_dwithin(Pointer cb1, Pointer cb2, double dist); + + int cbuffer_touches(Pointer cb1, Pointer cb2); + + Pointer datum_cbuffer_contains(Pointer cb1, Pointer cb2); + + Pointer datum_cbuffer_covers(Pointer cb1, Pointer cb2); + + Pointer datum_cbuffer_disjoint(Pointer cb1, Pointer cb2); + + Pointer datum_cbuffer_intersects(Pointer cb1, Pointer cb2); + + Pointer datum_cbuffer_dwithin(Pointer cb1, Pointer cb2, Pointer dist); + + Pointer datum_cbuffer_touches(Pointer cb1, Pointer cb2); + + boolean temptype_subtype(int subtype); + + boolean temptype_subtype_all(int subtype); + + String tempsubtype_name(int subtype); + + boolean tempsubtype_from_string(String str, Pointer subtype); + + String meosoper_name(int oper); + + int meosoper_from_string(String name); + + String interptype_name(int interp); + + int interptype_from_string(String interp_str); + + int meos_typeof_hexwkb(String hexwkb); + + String meostype_name(int type); + + int temptype_basetype(int type); + + int settype_basetype(int type); + + int spantype_basetype(int type); + + int spantype_spansettype(int type); + + int spansettype_spantype(int type); + + int basetype_spantype(int type); + + int basetype_settype(int type); + + boolean tnumber_basetype(int type); + + boolean geo_basetype(int type); + + boolean meos_basetype(int type); + + boolean alphanum_basetype(int type); + + boolean alphanum_temptype(int type); + + boolean time_type(int type); + + boolean set_basetype(int type); + + boolean set_type(int type); + + boolean numset_type(int type); + + boolean ensure_numset_type(int type); + + boolean timeset_type(int type); + + boolean set_spantype(int type); + + boolean ensure_set_spantype(int type); + + boolean alphanumset_type(int settype); + + boolean geoset_type(int type); + + boolean ensure_geoset_type(int type); + + boolean spatialset_type(int type); + + boolean ensure_spatialset_type(int type); + + boolean span_basetype(int type); + + boolean span_canon_basetype(int type); + + boolean span_type(int type); + + boolean type_span_bbox(int type); + + boolean span_tbox_type(int type); + + boolean ensure_span_tbox_type(int type); + + boolean numspan_basetype(int type); + + boolean numspan_type(int type); + + boolean ensure_numspan_type(int type); + + boolean timespan_basetype(int type); + + boolean timespan_type(int type); + + boolean spanset_type(int type); + + boolean timespanset_type(int type); + + boolean ensure_timespanset_type(int type); + + boolean temporal_type(int type); + + boolean temporal_basetype(int type); + + boolean temptype_supports_linear(int type); + + boolean basetype_byvalue(int type); + + boolean basetype_varlength(int type); + + short meostype_length(int type); + + boolean talphanum_type(int type); + + boolean talpha_type(int type); + + boolean tnumber_type(int type); + + boolean ensure_tnumber_type(int type); + + boolean ensure_tnumber_basetype(int type); + + boolean tnumber_spantype(int type); + + boolean spatial_basetype(int type); + + boolean tspatial_type(int type); + + boolean ensure_tspatial_type(int type); + + boolean tpoint_type(int type); + + boolean ensure_tpoint_type(int type); + + boolean tgeo_type(int type); + + boolean ensure_tgeo_type(int type); + + boolean tgeo_type_all(int type); + + boolean ensure_tgeo_type_all(int type); + + boolean tgeometry_type(int type); + + boolean ensure_tgeometry_type(int type); + + boolean tgeodetic_type(int type); + + boolean ensure_tgeodetic_type(int type); + + boolean ensure_tnumber_tpoint_type(int type); + + Pointer gsl_get_generation_rng(); + + Pointer gsl_get_aggregation_rng(); + + Pointer datum_ceil(Pointer d); + + Pointer datum_degrees(Pointer d, Pointer normalize); + + Pointer datum_float_round(Pointer value, Pointer size); + + Pointer datum_floor(Pointer d); + + int datum_hash(Pointer d, int basetype); + + int datum_hash_extended(Pointer d, int basetype, int seed); + + Pointer datum_radians(Pointer d); + + void floatspan_round_set(Pointer s, int maxdd, Pointer result); + + Pointer set_in(String str, int basetype); + + String set_out(Pointer s, int maxdd); + + Pointer span_in(String str, int spantype); + + String span_out(Pointer s, int maxdd); + + Pointer spanset_in(String str, int spantype); + + String spanset_out(Pointer ss, int maxdd); + + Pointer set_make(Pointer values, int count, int basetype, boolean order); + + Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order); + + Pointer set_make_free(Pointer values, int count, int basetype, boolean order); + + Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype); + + void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer result); + + Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order); + + Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order); + + Pointer set_span(Pointer s); + + Pointer set_spanset(Pointer s); + + void value_set_span(Pointer value, int basetype, Pointer result); + + Pointer value_set(Pointer d, int basetype); + + Pointer value_span(Pointer d, int basetype); + + Pointer value_spanset(Pointer d, int basetype); + + Pointer numspan_width(Pointer s); + + Pointer numspanset_width(Pointer ss, boolean boundspan); + + Pointer set_end_value(Pointer s); + + int set_mem_size(Pointer s); + + void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result); + + void set_set_span(Pointer s, Pointer result); + + Pointer set_start_value(Pointer s); + + boolean set_value_n(Pointer s, int n, Pointer result); + + Pointer set_vals(Pointer s, Pointer count); + + Pointer set_values(Pointer s, Pointer count); + + Pointer spanset_lower(Pointer ss); + + int spanset_mem_size(Pointer ss); + + Pointer spanset_sps(Pointer ss, Pointer count); + + Pointer spanset_upper(Pointer ss); + + void bigintspan_set_floatspan(Pointer s1, Pointer s2); + + void bigintspan_set_intspan(Pointer s1, Pointer s2); + + void datespan_set_tstzspan(Pointer s1, Pointer s2); + + void floatspan_set_bigintspan(Pointer s1, Pointer s2); + + void floatspan_set_intspan(Pointer s1, Pointer s2); + + void intspan_set_bigintspan(Pointer s1, Pointer s2); + + void intspan_set_floatspan(Pointer s1, Pointer s2); + + Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer numspan_expand(Pointer s, Pointer value); + + Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer set_compact(Pointer s); + + void span_expand(Pointer s1, Pointer s2); + + Pointer spanset_compact(Pointer ss); + + Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp); + + Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert); + + void tstzspan_set_datespan(Pointer s1, Pointer s2); + + boolean adjacent_span_value(Pointer s, Pointer value); + + boolean adjacent_spanset_value(Pointer ss, Pointer value); + + boolean adjacent_value_spanset(Pointer value, Pointer ss); + + boolean contained_value_set(Pointer value, Pointer s); + + boolean contained_value_span(Pointer value, Pointer s); + + boolean contained_value_spanset(Pointer value, Pointer ss); + + boolean contains_set_value(Pointer s, Pointer value); + + boolean contains_span_value(Pointer s, Pointer value); + + boolean contains_spanset_value(Pointer ss, Pointer value); + + boolean ovadj_span_span(Pointer s1, Pointer s2); + + boolean left_set_value(Pointer s, Pointer value); + + boolean left_span_value(Pointer s, Pointer value); + + boolean left_spanset_value(Pointer ss, Pointer value); + + boolean left_value_set(Pointer value, Pointer s); + + boolean left_value_span(Pointer value, Pointer s); + + boolean left_value_spanset(Pointer value, Pointer ss); + + boolean lfnadj_span_span(Pointer s1, Pointer s2); + + boolean overleft_set_value(Pointer s, Pointer value); + + boolean overleft_span_value(Pointer s, Pointer value); + + boolean overleft_spanset_value(Pointer ss, Pointer value); + + boolean overleft_value_set(Pointer value, Pointer s); + + boolean overleft_value_span(Pointer value, Pointer s); + + boolean overleft_value_spanset(Pointer value, Pointer ss); + + boolean overright_set_value(Pointer s, Pointer value); + + boolean overright_span_value(Pointer s, Pointer value); + + boolean overright_spanset_value(Pointer ss, Pointer value); + + boolean overright_value_set(Pointer value, Pointer s); + + boolean overright_value_span(Pointer value, Pointer s); + + boolean overright_value_spanset(Pointer value, Pointer ss); + + boolean right_value_set(Pointer value, Pointer s); + + boolean right_set_value(Pointer s, Pointer value); + + boolean right_value_span(Pointer value, Pointer s); + + boolean right_value_spanset(Pointer value, Pointer ss); + + boolean right_span_value(Pointer s, Pointer value); + + boolean right_spanset_value(Pointer ss, Pointer value); + + boolean bbox_type(int bboxtype); + + long bbox_get_size(int bboxtype); + + int bbox_max_dims(int bboxtype); + + boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype); + + int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype); + + void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result); + + boolean inter_span_span(Pointer s1, Pointer s2, Pointer result); + + Pointer intersection_set_value(Pointer s, Pointer value); + + Pointer intersection_span_value(Pointer s, Pointer value); + + Pointer intersection_spanset_value(Pointer ss, Pointer value); + + Pointer intersection_value_set(Pointer value, Pointer s); + + Pointer intersection_value_span(Pointer value, Pointer s); + + Pointer intersection_value_spanset(Pointer value, Pointer ss); + + int mi_span_span(Pointer s1, Pointer s2, Pointer result); + + Pointer minus_set_value(Pointer s, Pointer value); + + Pointer minus_span_value(Pointer s, Pointer value); + + Pointer minus_spanset_value(Pointer ss, Pointer value); + + Pointer minus_value_set(Pointer value, Pointer s); + + Pointer minus_value_span(Pointer value, Pointer s); + + Pointer minus_value_spanset(Pointer value, Pointer ss); + + Pointer union_set_value(Pointer s, Pointer value); + + Pointer union_span_value(Pointer s, Pointer value); + + Pointer union_spanset_value(Pointer ss, Pointer value); + + Pointer union_value_set(Pointer value, Pointer s); + + Pointer union_value_span(Pointer value, Pointer s); + + Pointer union_value_spanset(Pointer value, Pointer ss); + + Pointer distance_set_set(Pointer s1, Pointer s2); + + Pointer distance_set_value(Pointer s, Pointer value); + + Pointer distance_span_span(Pointer s1, Pointer s2); + + Pointer distance_span_value(Pointer s, Pointer value); + + } + + public interface MeosLibraryPartC { + + Pointer distance_spanset_span(Pointer ss, Pointer s); + + Pointer distance_spanset_spanset(Pointer ss1, Pointer ss2); + + Pointer distance_spanset_value(Pointer ss, Pointer value); + + Pointer distance_value_value(Pointer l, Pointer r, int basetype); + + Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype); + + Pointer value_union_transfn(Pointer state, Pointer value, int basetype); + + Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s); + + Pointer number_timestamptz_to_tbox(Pointer d, int basetype, long t); + + void tbox_set(Pointer s, Pointer p, Pointer result); + + void float_set_tbox(double d, Pointer result); + + void int_set_tbox(int i, Pointer result); + + void number_set_tbox(Pointer d, int basetype, Pointer result); + + Pointer number_tbox(Pointer value, int basetype); + + void numset_set_tbox(Pointer s, Pointer result); + + void numspan_set_tbox(Pointer span, Pointer result); + + void timestamptz_set_tbox(long t, Pointer result); + + void tstzset_set_tbox(Pointer s, Pointer result); + + void tstzspan_set_tbox(Pointer s, Pointer result); + + Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + void tbox_expand(Pointer box1, Pointer box2); + + boolean inter_tbox_tbox(Pointer box1, Pointer box2, Pointer result); + + Pointer tboolinst_from_mfjson(Pointer mfjson); + + Pointer tboolinst_in(String str); + + Pointer tboolseq_from_mfjson(Pointer mfjson); + + Pointer tboolseq_in(String str, int interp); + + Pointer tboolseqset_from_mfjson(Pointer mfjson); + + Pointer tboolseqset_in(String str); + + Pointer temporal_in(String str, int temptype); + + String temporal_out(Pointer temp, int maxdd); + + Pointer temparr_out(Pointer temparr, int count, int maxdd); + + Pointer tfloatinst_from_mfjson(Pointer mfjson); + + Pointer tfloatinst_in(String str); + + Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp); + + Pointer tfloatseq_in(String str, int interp); + + Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp); + + Pointer tfloatseqset_in(String str); + + Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype); + + Pointer tinstant_in(String str, int temptype); + + String tinstant_out(Pointer inst, int maxdd); + + Pointer tbigintinst_from_mfjson(Pointer mfjson); + + Pointer tbigintinst_in(String str); + + Pointer tbigintseq_from_mfjson(Pointer mfjson); + + Pointer tbigintseqset_from_mfjson(Pointer mfjson); + + Pointer tbigintseqset_in(String str); + + Pointer tintinst_from_mfjson(Pointer mfjson); + + Pointer tintinst_in(String str); + + Pointer tintseq_from_mfjson(Pointer mfjson); + + Pointer tintseq_in(String str, int interp); + + Pointer tintseqset_from_mfjson(Pointer mfjson); + + Pointer tintseqset_in(String str); + + Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); + + Pointer tsequence_in(String str, int temptype, int interp); + + String tsequence_out(Pointer seq, int maxdd); + + Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); + + Pointer tsequenceset_in(String str, int temptype, int interp); + + String tsequenceset_out(Pointer ss, int maxdd); + + Pointer ttextinst_from_mfjson(Pointer mfjson); + + Pointer ttextinst_in(String str); + + Pointer ttextseq_from_mfjson(Pointer mfjson); + + Pointer ttextseq_in(String str, int interp); + + Pointer ttextseqset_from_mfjson(Pointer mfjson); + + Pointer ttextseqset_in(String str); + + Pointer temporal_from_mfjson(String mfjson, int temptype); + + Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp); + + Pointer tinstant_copy(Pointer inst); + + Pointer tinstant_make(Pointer value, int temptype, long t); + + Pointer tinstant_make_free(Pointer value, int temptype, long t); + + Pointer tsequence_copy(Pointer seq); + + Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq); + + Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s); + + Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp); + + Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer tsequenceset_copy(Pointer ss); + + Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs); + + Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss); + + Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp); + + Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize); + + Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize); + + void temporal_set_tstzspan(Pointer temp, Pointer result); + + void tinstant_set_tstzspan(Pointer inst, Pointer result); + + void tnumber_set_tbox(Pointer temp, Pointer result); + + void tnumberinst_set_tbox(Pointer inst, Pointer result); + + void tnumberseq_set_tbox(Pointer seq, Pointer result); + + void tnumberseqset_set_tbox(Pointer ss, Pointer result); + + void tsequence_set_tstzspan(Pointer seq, Pointer result); + + void tsequenceset_set_tstzspan(Pointer ss, Pointer result); + + Pointer temporal_end_inst(Pointer temp); + + Pointer temporal_end_value(Pointer temp); + + Pointer temporal_inst_n(Pointer temp, int n); + + Pointer temporal_insts_p(Pointer temp, Pointer count); + + Pointer temporal_max_inst_p(Pointer temp); + + Pointer temporal_max_value(Pointer temp); + + long temporal_mem_size(Pointer temp); + + Pointer temporal_min_inst_p(Pointer temp); + + Pointer temporal_min_value(Pointer temp); + + Pointer temporal_sequences_p(Pointer temp, Pointer count); + + void temporal_set_bbox(Pointer temp, Pointer result); + + Pointer temporal_start_inst(Pointer temp); + + Pointer temporal_start_value(Pointer temp); + + Pointer temporal_values_p(Pointer temp, Pointer count); + + boolean temporal_value_n(Pointer temp, int n, Pointer result); + + Pointer temporal_values(Pointer temp, Pointer count); + + int tinstant_hash(Pointer inst); + + Pointer tinstant_insts(Pointer inst, Pointer count); + + void tinstant_set_bbox(Pointer inst, Pointer result); + + Pointer tinstant_time(Pointer inst); + + Pointer tinstant_timestamps(Pointer inst, Pointer count); + + Pointer tinstant_value_p(Pointer inst); + + Pointer tinstant_value(Pointer inst); + + boolean tinstant_value_at_timestamptz(Pointer inst, long t, Pointer result); + + Pointer tinstant_values_p(Pointer inst, Pointer count); + + void tnumber_set_span(Pointer temp, Pointer result); + + Pointer tnumberinst_valuespans(Pointer inst); + + double tnumberseq_avg_val(Pointer seq); + + Pointer tnumberseq_valuespans(Pointer seq); + + double tnumberseqset_avg_val(Pointer ss); + + Pointer tnumberseqset_valuespans(Pointer ss); + + Pointer tsequence_duration(Pointer seq); + + long tsequence_end_timestamptz(Pointer seq); + + int tsequence_hash(Pointer seq); + + Pointer tsequence_insts_p(Pointer seq, Pointer count); + + Pointer tsequence_max_inst_p(Pointer seq); + + Pointer tsequence_max_val(Pointer seq); + + Pointer tsequence_min_inst_p(Pointer seq); + + Pointer tsequence_min_val(Pointer seq); + + Pointer tsequence_segments(Pointer seq, Pointer count); + + Pointer tsequence_seqs(Pointer seq, Pointer count); + + long tsequence_start_timestamptz(Pointer seq); + + Pointer tsequence_time(Pointer seq); + + Pointer tsequence_timestamps(Pointer seq, Pointer count); + + boolean tsequence_value_at_timestamptz(Pointer seq, long t, boolean strict, Pointer result); + + Pointer tsequence_values_p(Pointer seq, Pointer count); + + Pointer tsequenceset_duration(Pointer ss, boolean boundspan); + + long tsequenceset_end_timestamptz(Pointer ss); + + int tsequenceset_hash(Pointer ss); + + Pointer tsequenceset_inst_n(Pointer ss, int n); + + Pointer tsequenceset_insts_p(Pointer ss, Pointer count); + + Pointer tsequenceset_max_inst_p(Pointer ss); + + Pointer tsequenceset_max_val(Pointer ss); + + Pointer tsequenceset_min_inst_p(Pointer ss); + + Pointer tsequenceset_min_val(Pointer ss); + + int tsequenceset_num_instants(Pointer ss); + + int tsequenceset_num_timestamps(Pointer ss); + + Pointer tsequenceset_segments(Pointer ss, Pointer count); + + Pointer tsequenceset_sequences_p(Pointer ss, Pointer count); + + long tsequenceset_start_timestamptz(Pointer ss); + + Pointer tsequenceset_time(Pointer ss); + + boolean tsequenceset_timestamptz_n(Pointer ss, int n, Pointer result); + + Pointer tsequenceset_timestamps(Pointer ss, Pointer count); + + boolean tsequenceset_value_at_timestamptz(Pointer ss, long t, boolean strict, Pointer result); + + boolean tsequenceset_value_n(Pointer ss, int n, Pointer result); + + Pointer tsequenceset_values_p(Pointer ss, Pointer count); + + void temporal_restart(Pointer temp, int count); + + Pointer temporal_tsequence(Pointer temp, int interp); + + Pointer temporal_tsequenceset(Pointer temp, int interp); + + Pointer tinstant_shift_time(Pointer inst, Pointer interv); + + Pointer tinstant_to_tsequence(Pointer inst, int interp); + + Pointer tinstant_to_tsequence_free(Pointer inst, int interp); + + Pointer tinstant_to_tsequenceset(Pointer inst, int interp); + + Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer tnumberinst_shift_value(Pointer inst, Pointer shift); + + Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); + + Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth); + + void tsequence_restart(Pointer seq, int count); + + Pointer tsequence_set_interp(Pointer seq, int interp); + + Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration); + + Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc); + + Pointer tsequence_to_tinstant(Pointer seq); + + Pointer tsequence_to_tsequenceset(Pointer seq); + + Pointer tsequence_to_tsequenceset_free(Pointer seq); + + Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp); + + void tsequenceset_restart(Pointer ss, int count); + + Pointer tsequenceset_set_interp(Pointer ss, int interp); + + Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration); + + Pointer tsequenceset_to_discrete(Pointer ss); + + Pointer tsequenceset_to_linear(Pointer ss); + + Pointer tsequenceset_to_step(Pointer ss); + + Pointer tsequenceset_to_tinstant(Pointer ss); + + Pointer tsequenceset_to_tsequence(Pointer ss); + + Pointer tinstant_merge(Pointer inst1, Pointer inst2); + + Pointer tinstant_merge_array(Pointer instants, int count); + + Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand); + + Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand); + + Pointer tsequence_delete_timestamptz(Pointer seq, long t, boolean connect); + + Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect); + + Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect); + + Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect); + + Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect); + + Pointer tsequence_merge(Pointer seq1, Pointer seq2); + + Pointer tsequence_merge_array(Pointer sequences, int count); + + Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand); + + Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand); + + Pointer tsequenceset_delete_timestamptz(Pointer ss, long t); + + Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s); + + Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s); + + Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps); + + Pointer tsequenceset_insert(Pointer ss1, Pointer ss2); + + Pointer tsequenceset_merge(Pointer ss1, Pointer ss2); + + Pointer tsequenceset_merge_array(Pointer seqsets, int count); + + void tsequence_expand_bbox(Pointer seq, Pointer inst); + + void tsequence_set_bbox(Pointer seq, Pointer result); + + void tsequenceset_expand_bbox(Pointer ss, Pointer seq); + + void tsequenceset_set_bbox(Pointer ss, Pointer result); + + Pointer tcontseq_after_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tcontseq_before_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); + + Pointer tdiscseq_after_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tdiscseq_before_timestamptz(Pointer seq, long t, boolean strict); + + Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); + + boolean temporal_bbox_restrict_set(Pointer temp, Pointer set); + + Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc); + + Pointer temporal_restrict_timestamptz(Pointer temp, long t, boolean atfunc); + + Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); + + Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); + + Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); + + Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc); + + Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc); + + boolean temporal_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + Pointer tinstant_after_timestamptz(Pointer inst, long t, boolean strict); + + Pointer tinstant_before_timestamptz(Pointer inst, long t, boolean strict); + + Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc); + + Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc); + + Pointer tinstant_restrict_timestamptz(Pointer inst, long t, boolean atfunc); + + Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc); + + Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc); + + Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc); + + Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc); + + Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc); + + Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc); + + Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc); + + Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc); + + Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc); + + Pointer tsequence_at_timestamptz(Pointer seq, long t); + + Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc); + + Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); + + Pointer tsequenceset_after_timestamptz(Pointer ss, long t, boolean strict); + + Pointer tsequenceset_before_timestamptz(Pointer ss, long t, boolean strict); + + Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc); + + Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc); + + Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc); + + Pointer tsequenceset_restrict_timestamptz(Pointer ss, long t, boolean atfunc); + + Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc); + + Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc); + + Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc); + + int tinstant_cmp(Pointer inst1, Pointer inst2); + + boolean tinstant_eq(Pointer inst1, Pointer inst2); + + int tsequence_cmp(Pointer seq1, Pointer seq2); + + boolean tsequence_eq(Pointer seq1, Pointer seq2); + + int tsequenceset_cmp(Pointer ss1, Pointer ss2); + + boolean tsequenceset_eq(Pointer ss1, Pointer ss2); + + int always_eq_base_temporal(Pointer value, Pointer temp); + + int always_eq_temporal_base(Pointer temp, Pointer value); + + int always_ne_base_temporal(Pointer value, Pointer temp); + + int always_ne_temporal_base(Pointer temp, Pointer value); + + int always_ge_base_temporal(Pointer value, Pointer temp); + + int always_ge_temporal_base(Pointer temp, Pointer value); + + int always_gt_base_temporal(Pointer value, Pointer temp); + + int always_gt_temporal_base(Pointer temp, Pointer value); + + int always_le_base_temporal(Pointer value, Pointer temp); + + int always_le_temporal_base(Pointer temp, Pointer value); + + int always_lt_base_temporal(Pointer value, Pointer temp); + + int always_lt_temporal_base(Pointer temp, Pointer value); + + int ever_eq_base_temporal(Pointer value, Pointer temp); + + int ever_eq_temporal_base(Pointer temp, Pointer value); + + int ever_ne_base_temporal(Pointer value, Pointer temp); + + int ever_ne_temporal_base(Pointer temp, Pointer value); + + int ever_ge_base_temporal(Pointer value, Pointer temp); + + int ever_ge_temporal_base(Pointer temp, Pointer value); + + int ever_gt_base_temporal(Pointer value, Pointer temp); + + int ever_gt_temporal_base(Pointer temp, Pointer value); + + int ever_le_base_temporal(Pointer value, Pointer temp); + + int ever_le_temporal_base(Pointer temp, Pointer value); + + int ever_lt_base_temporal(Pointer value, Pointer temp); + + int ever_lt_temporal_base(Pointer temp, Pointer value); + + Pointer tnumberinst_abs(Pointer inst); + + double tnumberinst_distance(Pointer inst1, Pointer inst2); + + Pointer tnumberseq_abs(Pointer seq); + + Pointer tnumberseq_angular_difference(Pointer seq); + + Pointer tnumberseq_delta_value(Pointer seq); + + Pointer tnumberseqset_abs(Pointer ss); + + Pointer tnumberseqset_angular_difference(Pointer ss); + + Pointer tnumberseqset_delta_value(Pointer ss); + + double distance_span_span_double(Pointer s1, Pointer s2); + + double nad_tbox_tbox(Pointer box1, Pointer box2); + + double nad_tnumber_number(Pointer temp, Pointer value); + + double nad_tnumber_tbox(Pointer temp, Pointer box); + + double nad_tnumber_tnumber(Pointer temp1, Pointer temp2); + + Pointer tdistance_tnumber_number(Pointer temp, Pointer value); + + double tnumberseq_integral(Pointer seq); + + double tnumberseq_twavg(Pointer seq); + + double tnumberseqset_integral(Pointer ss); + + double tnumberseqset_twavg(Pointer ss); + + Pointer temporal_compact(Pointer temp); + + Pointer tsequence_compact(Pointer seq); + + Pointer tsequenceset_compact(Pointer ss); + + Pointer temporal_skiplist_make(); + + Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn); + + int skiplist_search(Pointer list, Pointer key, Pointer value); + + void skiplist_free(Pointer list); + + void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype); + + void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings); + + Pointer skiplist_values(Pointer list); + + Pointer skiplist_keys_values(Pointer list, Pointer values); + + Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt); + + Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq); + + Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count); + + Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count); + + Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count); + + Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, Pointer count); + + Pointer tnumber_value_split(Pointer _sret, Pointer temp, Pointer vsize, Pointer vorigin); + + Pointer tbox_get_value_time_tile(Pointer value, long t, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, int basetype, int spantype); + + Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); + + String double2_out(Pointer d, int maxdd); + + void double2_set(double a, double b, Pointer result); + + Pointer double2_add(Pointer d1, Pointer d2); + + boolean double2_eq(Pointer d1, Pointer d2); + + String double3_out(Pointer d, int maxdd); + + void double3_set(double a, double b, double c, Pointer result); + + Pointer double3_add(Pointer d1, Pointer d2); + + boolean double3_eq(Pointer d1, Pointer d2); + + String double4_out(Pointer d, int maxdd); + + void double4_set(double a, double b, double c, double d, Pointer result); + + Pointer double4_add(Pointer d1, Pointer d2); + + boolean double4_eq(Pointer d1, Pointer d2); + + boolean double2_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio); + + boolean double3_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio); + + boolean double4_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio); + + Pointer double2segm_interpolate(Pointer start, Pointer end, Pointer ratio); + + Pointer double3segm_interpolate(Pointer start, Pointer end, Pointer ratio); + + Pointer double4segm_interpolate(Pointer start, Pointer end, Pointer ratio); + + int pg_atoi(String s, long size, int c); + + boolean ensure_has_X(int type, short flags); + + boolean ensure_has_Z(int type, short flags); + + boolean ensure_has_T(int type, short flags); + + boolean ensure_has_not_Z(int type, short flags); + + boolean ensure_not_null(Pointer ptr); + + boolean ensure_one_not_null(Pointer ptr1, Pointer ptr2); + + boolean ensure_one_true(boolean hasshift, boolean haswidth); + + boolean ensure_valid_interp(int temptype, int interp); + + boolean ensure_continuous(Pointer temp); + + boolean ensure_same_interp(Pointer temp1, Pointer temp2); + + boolean ensure_same_continuous_interp(short flags1, short flags2); + + boolean ensure_linear_interp(short flags); + + boolean ensure_nonlinear_interp(short flags); + + boolean ensure_common_dimension(short flags1, short flags2); + + boolean ensure_temporal_isof_type(Pointer temp, int type); + + boolean ensure_temporal_isof_basetype(Pointer temp, int basetype); + + boolean ensure_temporal_isof_subtype(Pointer temp, int type); + + boolean ensure_same_temporal_type(Pointer temp1, Pointer temp2); + + boolean ensure_valid_tnumber_numspan(Pointer temp, Pointer s); + + boolean ensure_valid_tnumber_numspanset(Pointer temp, Pointer ss); + + boolean ensure_valid_tnumber_tbox(Pointer temp, Pointer box); + + boolean ensure_valid_temporal_set(Pointer temp, Pointer s); + + boolean ensure_valid_temporal_temporal(Pointer temp1, Pointer temp2); + + boolean ensure_valid_tnumber_tnumber(Pointer temp1, Pointer temp2); + + boolean ensure_not_negative(int i); + + boolean ensure_positive(int i); + + boolean not_negative_datum(Pointer size, int basetype); + + boolean ensure_not_negative_datum(Pointer size, int basetype); + + boolean positive_datum(Pointer size, int basetype); + + boolean ensure_positive_datum(Pointer size, int basetype); + + boolean ensure_valid_day_duration(Pointer duration); + + boolean positive_duration(Pointer duration); + + boolean ensure_positive_duration(Pointer duration); + + Pointer temporal_bbox_ptr(Pointer temp); + + boolean intersection_temporal_temporal(Pointer temp1, Pointer temp2, int mode, Pointer inter1, Pointer inter2); + + String mobilitydb_version(); + + String mobilitydb_full_version(); + + Pointer round_fn(int basetype); + + boolean temporal_bbox_restrict_value(Pointer temp, Pointer value); + + boolean ensure_valid_tcbuffer_cbuffer(Pointer temp, Pointer cb); + + boolean ensure_valid_tcbuffer_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_tcbuffer_stbox(Pointer temp, Pointer box); + + boolean ensure_valid_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); + + int tcbuffersegm_intersection_value(Pointer start, Pointer end, Pointer value, long lower, long upper, Pointer t1, Pointer t2); + + int tcbuffersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); + + int tcbuffersegm_dwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, long lower, long upper, Pointer t1, Pointer t2); + + int tcbuffersegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, long lower, long upper, Pointer t1, Pointer t2); + + int tcbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist); + + boolean cbuffer_set_stbox(Pointer cb, Pointer box); + + void cbufferarr_set_stbox(Pointer values, int count, Pointer box); + + void cbuffer_timestamptz_set_stbox(Pointer cb, long t, Pointer box); + + void cbuffer_tstzspan_set_stbox(Pointer cb, Pointer s, Pointer box); + + void tcbufferinst_set_stbox(Pointer inst, Pointer box); + + void tcbufferinstarr_set_stbox(Pointer instants, int count, Pointer box); + + void tcbufferseq_expand_stbox(Pointer seq, Pointer inst); + + Pointer tcbufferinst_traversed_area(Pointer inst); + + Pointer tcbufferseq_traversed_area(Pointer seq, boolean unary_union); + + Pointer tcbufferseqset_traversed_area(Pointer ss, boolean unary_union); + + Pointer tcbuffersegm_traversed_area(Pointer inst1, Pointer inst2); + + Pointer tcbuffer_restrict_cbuffer(Pointer temp, Pointer cb, boolean atfunc); + + Pointer tcbuffer_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tcbuffer_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); + + int ea_contains_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); + + int ea_contains_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_contains_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); + + int ea_contains_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); + + int ea_covers_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); + + int ea_covers_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_covers_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); + + int ea_covers_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); + + int ea_covers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); + + int ea_disjoint_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_disjoint_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); + + int ea_disjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); + + int ea_disjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); + + int ea_disjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); + + int ea_intersects_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_intersects_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); + + int ea_intersects_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); + + int ea_intersects_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); + + int ea_intersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); + + int ea_touches_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_touches_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); + + int ea_touches_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); + + int ea_touches_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); + + int ea_touches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); + + Pointer tinterrel_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean tinter); + + Pointer tinterrel_tcbuffer_geo(Pointer temp, Pointer gs, boolean tinter); + + Pointer clipper2_clip_poly_poly(Pointer subj, Pointer clip, int op); + + Pointer clipper2_traj_poly_periods(Pointer seq, Pointer gs, Pointer out_count); + + Pointer clip_poly_poly(Pointer subj, Pointer clip, int operation); + + int lwproj_lookup(int srid_from, int srid_to, Pointer pj); + + int spheroid_init_from_srid(int srid, Pointer s); + + void srid_check_latlong(int srid); + + int srid_is_latlong(int srid); + + Pointer geom_serialize(Pointer lwgeom); + + Pointer geog_serialize(Pointer lwgeom); + + Pointer meos_postgis_valid_typmod(Pointer gs, int typmod); + + String geo_as_wkt(Pointer gs, int precision, boolean extended); + + Pointer box2d_to_lwgeom(Pointer box, int srid); + + Pointer box3d_to_lwgeom(Pointer box); + + Pointer MEOS_POSTGIS2GEOS(Pointer pglwgeom); + + Pointer MEOS_GEOS2POSTGIS(Pointer geom, String want3d); + + boolean geom_spatialrel(Pointer gs1, Pointer gs2, int rel); + + Pointer lwgeom_line_interpolate_point(Pointer geom, double fraction, int srid, String repeat); + + void point_get_coords(Pointer point, boolean hasz, Pointer x, Pointer y, Pointer z); + + void tstzset_stbox_slice(Pointer tsdatum, Pointer box); + + void tstzspanset_stbox_slice(Pointer psdatum, Pointer box); + + boolean stbox_index_leaf_consistent(Pointer key, Pointer query, int strategy); + + boolean stbox_gist_inner_consistent(Pointer key, Pointer query, int strategy); + + boolean stbox_index_recheck(int strategy); + + Pointer stboxnode_copy(Pointer box); + + int getQuadrant8D(Pointer centroid, Pointer inBox); + + void stboxnode_init(Pointer centroid, Pointer nodebox); + + void stboxnode_quadtree_next(Pointer nodebox, Pointer centroid, int quadrant, Pointer next_nodebox); + + void stboxnode_kdtree_next(Pointer nodebox, Pointer centroid, int node, int level, Pointer next_nodebox); + + boolean overlap8D(Pointer nodebox, Pointer query); + + boolean overlapKD(Pointer nodebox, Pointer query, int level); + + boolean contain8D(Pointer nodebox, Pointer query); + + boolean containKD(Pointer nodebox, Pointer query, int level); + + boolean left8D(Pointer nodebox, Pointer query); + + boolean overLeft8D(Pointer nodebox, Pointer query); + + boolean right8D(Pointer nodebox, Pointer query); + + boolean overRight8D(Pointer nodebox, Pointer query); + + boolean below8D(Pointer nodebox, Pointer query); + + boolean overBelow8D(Pointer nodebox, Pointer query); + + boolean above8D(Pointer nodebox, Pointer query); + + boolean overAbove8D(Pointer nodebox, Pointer query); + + boolean front8D(Pointer nodebox, Pointer query); + + boolean overFront8D(Pointer nodebox, Pointer query); + + boolean back8D(Pointer nodebox, Pointer query); + + boolean overBack8D(Pointer nodebox, Pointer query); + + boolean before8D(Pointer nodebox, Pointer query); + + boolean overBefore8D(Pointer nodebox, Pointer query); + + boolean after8D(Pointer nodebox, Pointer query); + + boolean overAfter8D(Pointer nodebox, Pointer query); + + double distance_stbox_nodebox(Pointer query, Pointer nodebox); + + void tspatial_spgist_get_stbox(Pointer value, int type, Pointer result); + + void mobilitydb_init(); + + Pointer geo_stbox(Pointer gs); + + Pointer stbox_geo(Pointer box); + + Pointer tcomp_geo_tgeo(Pointer gs, Pointer temp, Pointer func); + + Pointer tcomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func); + + boolean ensure_geoaggstate(Pointer state, int srid, boolean hasz); + + boolean ensure_geoaggstate_state(Pointer state1, Pointer state2); + + Pointer tpoint_transform_tcentroid(Pointer temp, Pointer count); + + Pointer tpointinst_tcentroid_finalfn(Pointer instants, int count, int srid); + + Pointer tpointseq_tcentroid_finalfn(Pointer sequences, int count, int srid); + + boolean point3d_min_dist(Pointer p1, Pointer p2, Pointer p3, Pointer p4, Pointer fraction); + + double stbox_spatial_distance(Pointer box1, Pointer box2); + + int tgeompointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param); + + int tgeogpointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param); + + double tinstant_distance(Pointer inst1, Pointer inst2, Pointer func); + + Pointer tpointseq_at_geom(Pointer seq, Pointer gs, Pointer count); + + Pointer tpointseq_interperiods(Pointer seq, Pointer gs, Pointer count); + + void datum_point4d(Pointer value, Pointer p); + + int geopoint_cmp(Pointer gs1, Pointer gs2); + + boolean geopoint_eq(Pointer gs1, Pointer gs2); + + boolean geopoint_same(Pointer gs1, Pointer gs2); + + boolean datum_point_eq(Pointer point1, Pointer point2); + + boolean datum_point_same(Pointer point1, Pointer point2); + + Pointer datum2_point_eq(Pointer point1, Pointer point2); + + Pointer datum2_point_ne(Pointer point1, Pointer point2); + + Pointer datum2_point_same(Pointer point1, Pointer point2); + + Pointer datum2_point_nsame(Pointer point1, Pointer point2); + + Pointer datum2_geom_centroid(Pointer geo); + + Pointer datum2_geog_centroid(Pointer geo); + + Pointer geo_extract_elements(Pointer gs, Pointer count); + + Pointer geo_serialize(Pointer geom); + + Pointer geo_distance_fn(short flags); + + Pointer point_distance_fn(short flags); + + Pointer datum_geom_distance2d(Pointer geom1, Pointer geom2); + + Pointer datum_geom_distance3d(Pointer geom1, Pointer geom2); + + Pointer datum_geog_distance(Pointer geog1, Pointer geog2); + + Pointer datum_pt_distance2d(Pointer geom1, Pointer geom2); + + Pointer datum_pt_distance3d(Pointer geom1, Pointer geom2); + + short spatial_flags(Pointer d, int basetype); + + boolean ensure_srid_is_latlong(int srid); + + boolean ensure_spatial_validity(Pointer temp1, Pointer temp2); + + boolean ensure_not_geodetic(short flags); + + boolean ensure_same_geodetic(short flags1, short flags2); + + boolean ensure_same_geodetic_geo(Pointer gs1, Pointer gs2); + + boolean ensure_same_geodetic_tspatial_geo(Pointer temp, Pointer gs); + + boolean ensure_same_geodetic_tspatial_base(Pointer temp, Pointer base); + + boolean ensure_srid_known(int srid); + + boolean ensure_same_srid(int srid1, int srid2); + + boolean ensure_same_dimensionality(short flags1, short flags2); + + boolean same_spatial_dimensionality(short flags1, short flags2); + + boolean ensure_same_spatial_dimensionality(short flags1, short flags2); + + boolean ensure_same_dimensionality_geo(Pointer gs1, Pointer gs2); + + boolean same_dimensionality_tspatial_geo(Pointer temp, Pointer gs); + + boolean ensure_same_dimensionality_tspatial_geo(Pointer temp, Pointer gs); + + boolean ensure_same_spatial_dimensionality_stbox_geo(Pointer box, Pointer gs); + + boolean ensure_same_geodetic_stbox_geo(Pointer box, Pointer gs); + + boolean ensure_has_Z_geo(Pointer gs); + + boolean ensure_has_not_Z_geo(Pointer gs); + + boolean ensure_has_M_geo(Pointer gs); + + boolean ensure_has_not_M_geo(Pointer gs); + + boolean ensure_not_geodetic_geo(Pointer gs); + + boolean ensure_point_type(Pointer gs); + + boolean ensure_mline_type(Pointer gs); + + boolean circle_type(Pointer gs); + + boolean ensure_circle_type(Pointer gs); + + boolean ensure_not_empty(Pointer gs); + + boolean ensure_valid_stbox_geo(Pointer box, Pointer gs); + + boolean ensure_valid_tspatial_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_tspatial_base(Pointer temp, Pointer base); + + boolean ensure_valid_tspatial_tspatial(Pointer temp1, Pointer temp2); + + boolean ensure_valid_spatial_stbox_stbox(Pointer box1, Pointer box2); + + boolean ensure_valid_tgeo_stbox(Pointer temp, Pointer box); + + boolean ensure_valid_geo_geo(Pointer gs1, Pointer gs2); + + boolean ensure_valid_tgeo_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_tgeo_tgeo(Pointer temp1, Pointer temp2); + + boolean ensure_valid_tpoint_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_tpoint_tpoint(Pointer temp1, Pointer temp2); + + boolean mline_type(Pointer gs); + + Pointer tpoint_get_coord(Pointer temp, int coord); + + int eacomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func, boolean ever); + + Pointer closest_point2d_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest); + + Pointer closest_point3dz_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest); + + Pointer closest_point_on_segment_sphere(Pointer p, Pointer A, Pointer B, Pointer closest, Pointer dist); + + void interpolate_point4d_spheroid(Pointer p1, Pointer p2, Pointer p, Pointer s, double f); + + Pointer geopoint_make(double x, double y, double z, boolean hasz, boolean geodetic, int srid); + + Pointer lwcircle_make(double x, double y, double radius, int srid); + + Pointer geocircle_make(double x, double y, double radius, int srid); + + Pointer pointsegm_interpolate(Pointer start, Pointer end, Pointer ratio); + + Pointer pointsegm_locate(Pointer start, Pointer end, Pointer point, Pointer dist); + + int tgeompointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); + + int tgeogpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); + + boolean geopoint_collinear(Pointer value1, Pointer value2, Pointer value3, double ratio, boolean hasz, boolean geodetic); + + Pointer lwpointarr_remove_duplicates(Pointer points, int count, Pointer newcount); + + Pointer lwpointarr_make_trajectory(Pointer points, int count, int interp); + + Pointer lwline_make(Pointer value1, Pointer value2); + + Pointer lwcoll_from_points_lines(Pointer points, Pointer lines, int npoints, int nlines); + + int tpointseq_stops_iter(Pointer seq, double maxdist, int mintunits, Pointer result); + + Pointer datum_geom_contains(Pointer geom1, Pointer geom2); + + Pointer datum_geom_covers(Pointer geom1, Pointer geom2); + + Pointer datum_geom_disjoint2d(Pointer geom1, Pointer geom2); + + Pointer datum_geom_disjoint3d(Pointer geom1, Pointer geom2); + + Pointer datum_geog_disjoint(Pointer geog1, Pointer geog2); + + Pointer datum_geom_intersects2d(Pointer geom1, Pointer geom2); + + Pointer datum_geom_intersects3d(Pointer geom1, Pointer geom2); + + Pointer datum_geog_intersects(Pointer geog1, Pointer geog2); + + Pointer datum_geom_touches(Pointer geom1, Pointer geom2); + + Pointer datum_geom_dwithin2d(Pointer geom1, Pointer geom2, Pointer dist); + + Pointer datum_geom_dwithin3d(Pointer geom1, Pointer geom2, Pointer dist); + + Pointer datum_geog_dwithin(Pointer geog1, Pointer geog2, Pointer dist); + + Pointer datum_geom_relate_pattern(Pointer geog1, Pointer geog2, Pointer p); + + Pointer geo_disjoint_fn(short flags1, short flags2); + + Pointer geo_disjoint_fn_geo(short flags1, byte flags2); + + Pointer geo_intersects_fn(short flags1, short flags2); + + Pointer geo_intersects_fn_geo(short flags1, byte flags2); + + Pointer geo_dwithin_fn(short flags1, short flags2); + + Pointer geo_dwithin_fn_geo(short flags1, byte flags2); + + int tpointsegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer value, long lower, long upper, Pointer t1, Pointer t2); + + int spatialrel_geo_geo(Pointer gs1, Pointer gs2, Pointer param, Pointer func, int numparam, boolean invert); + + int spatialrel_tgeo_tgeo(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam); + + int ea_contains_geo_tgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_contains_tgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_contains_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); + + int ea_covers_geo_tgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_covers_tgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_covers_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); + + int ea_disjoint_geo_tgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_disjoint_tgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_disjoint_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); + + int ea_intersects_geo_tgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_intersects_tgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_intersects_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); + + int ea_touches_tpoint_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_touches_tgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_touches_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); + + int ea_dwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever); + + int ea_dwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean ever); + + int ea_spatialrel_tspatial_geo(Pointer temp, Pointer gs, Pointer func, boolean ever, boolean invert); + + int ea_spatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer func, boolean ever); + + Pointer tspatialrel_tspatial_base(Pointer temp, Pointer base, Pointer param, Pointer func, int numparam, boolean invert); + + Pointer tspatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam, boolean invert); + + Pointer tinterrel_tgeo_geo(Pointer temp, Pointer gs, boolean tinter); + + Pointer tinterrel_tspatial_base(Pointer temp, Pointer base, boolean tinter, Pointer func); + + Pointer tinterrel_tspatial_tspatial(Pointer temp1, Pointer temp2, boolean tinter); + + Pointer tdwithin_tspatial_tspatial(Pointer sync1, Pointer sync2, Pointer dist, Pointer func, Pointer tpfn); + + int tdwithin_add_solutions(int solutions, long lower, long upper, boolean lower_inc, boolean upper_inc, boolean upper_inc1, long t1, long t2, Pointer instants, Pointer result); + + Pointer tdwithin_tspatial_spatial(Pointer temp, Pointer base, Pointer dist, Pointer func, Pointer tpfn); + + Pointer bitmatrix_make(Pointer count, int ndims); + + int tpoint_set_tiles(Pointer temp, Pointer state, Pointer bm); + + Pointer tpoint_at_tile(Pointer temp, Pointer box); + + void stbox_tile_state_set(double x, double y, double z, long t, double xsize, double ysize, double zsize, long tunits, boolean hasx, boolean hasz, boolean hast, int srid, Pointer result); + + Pointer stbox_tile_state_make(Pointer temp, Pointer box, double xsize, double ysize, double zsize, Pointer duration, int sorigin, long torigin, boolean border_inc); + + void stbox_tile_state_next(Pointer state); + + boolean stbox_tile_state_get(Pointer state, Pointer box); + + Pointer tgeo_space_time_tile_init(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer ntiles); + + Pointer stbox_space_time_tile(Pointer point, long t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean hasx, boolean hast); + + Pointer create_trip(Pointer lines, Pointer maxSpeeds, Pointer categories, int noEdges, long startTime, boolean disturbData, int verbosity); + + Pointer spatialarr_wkt_out(Pointer spatialarr, int basetype, int count, int maxdd, boolean extended); + + String spatialbase_as_text(Pointer value, int type, int maxdd); + + String spatialbase_as_ewkt(Pointer value, int type, int maxdd); + + boolean point_transf_pj(Pointer gs, int srid_to, Pointer pj); + + void tgeoinst_set_stbox(Pointer inst, Pointer box); + + void tgeoinstarr_set_stbox(Pointer instants, int count, Pointer box); + + void tgeoseq_expand_stbox(Pointer seq, Pointer inst); + + void tspatialinst_set_stbox(Pointer inst, Pointer box); + + void tspatialinstarr_set_stbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box); + + void tspatialseqarr_set_stbox(Pointer sequences, int count, Pointer box); + + void tspatialseq_expand_stbox(Pointer seq, Pointer inst); + + void spatialarr_set_bbox(Pointer values, int basetype, int count, Pointer box); + + boolean boxop_tspatial_stbox(Pointer temp, Pointer box, Pointer bool, boolean invert); + + boolean boxop_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer bool); + + boolean srid_parse(Pointer str, Pointer srid); + + boolean spatial_parse_elem(Pointer str, int temptype, String delim, Pointer temp_srid, Pointer result); + + boolean geo_parse(Pointer str, int basetype, String delim, Pointer srid, Pointer result); + + Pointer stbox_parse(Pointer str); + + Pointer tpoint_parse(Pointer str, int temptype); + + Pointer tspatialinst_parse(Pointer str, int temptype, boolean end, Pointer temp_srid); + + Pointer tspatialseq_disc_parse(Pointer str, int temptype, Pointer temp_srid); + + Pointer tspatialseq_cont_parse(Pointer str, int temptype, int interp, boolean end, Pointer temp_srid); + + Pointer tspatialseqset_parse(Pointer str, int temptype, int interp, Pointer temp_srid); + + Pointer tspatial_parse(Pointer str, int temptype); + + boolean h3_are_neighbor_cells_meos(long origin, long destination); + + long h3_cells_to_directed_edge_meos(long origin, long destination); + + boolean h3_is_valid_directed_edge_meos(long edge); + + long h3_get_directed_edge_origin_meos(long edge); + + long h3_get_directed_edge_destination_meos(long edge); + + long h3_cell_to_parent_meos(long origin, int resolution); + + long h3_cell_to_center_child_meos(long origin, int resolution); + + long h3_cell_to_child_pos_meos(long child, int parentRes); + + long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes); + + int h3_get_resolution_meos(long hex); + + int h3_get_base_cell_number_meos(long hex); + + boolean h3_is_valid_cell_meos(long hex); + + boolean h3_is_res_class_iii_meos(long hex); + + boolean h3_is_pentagon_meos(long hex); + + long h3_get_num_cells_meos(int resolution); + + long h3_grid_distance_meos(long originIndex, long h3Index); + + long h3_cell_to_vertex_meos(long cell, int vertexNum); + + boolean h3_is_valid_vertex_meos(long vertex); + + long h3index_parse(String str); + + String h3index_to_string(long cell); + + boolean h3index_eq(long a, long b); + + boolean h3index_ne(long a, long b); + + boolean h3index_lt(long a, long b); + + boolean h3index_le(long a, long b); + + boolean h3index_gt(long a, long b); + + boolean h3index_ge(long a, long b); + + int h3index_cmp(long a, long b); + + int h3index_hash(long cell); + + Pointer h3_grid_disk(long origin, int k); + + Pointer h3_grid_ring(long origin, int k); + + Pointer h3_grid_path_cells(long start, long end); + + Pointer h3_cell_to_children(long origin, int childRes); + + Pointer h3_compact_cells(Pointer cells); + + Pointer h3_uncompact_cells(Pointer cells, int res); + + Pointer h3_origin_to_directed_edges(long origin); + + Pointer h3_cell_to_vertexes(long cell); + + Pointer h3_get_icosahedron_faces(long cell); + + boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2); + + boolean ensure_valid_th3index_h3index(Pointer temp, long cell); + + boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2); + + Pointer datum2_h3index_eq(Pointer d1, Pointer d2, int type); + + Pointer datum2_h3index_ne(Pointer d1, Pointer d2, int type); + + void th3indexinst_set_stbox(Pointer inst, Pointer box); + + void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box); + + void th3indexseq_expand_stbox(Pointer seq, Pointer inst); + + long h3_gs_point_to_cell(Pointer point, int resolution); + + Pointer h3_cell_to_gs_point(long cell); + + Pointer h3_cell_to_gs_boundary(long cell); + + Pointer cell_boundary_to_gs(Pointer bnd); + + double h3_sample_step_deg(int resolution); + + long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution); + + long h3_cell_to_parent_next_meos(long cell); + + long h3_cell_to_center_child_next_meos(long cell); + + Pointer h3_directed_edge_to_gs_boundary(long edge); + + Pointer h3_vertex_to_gs_point(long vertex); + + Pointer h3_cell_to_local_ij_meos(long origin, long cell); + + long h3_local_ij_to_cell_meos(long origin, Pointer coord); + + int h3_unit_from_cstring(String unit); + + double h3_cell_area_meos(long cell, int unit); + + double h3_edge_length_meos(long edge, int unit); + + double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit); + + Pointer datum_h3_get_resolution(Pointer d); + + Pointer datum_h3_get_base_cell_number(Pointer d); + + Pointer datum_h3_is_valid_cell(Pointer d); + + Pointer datum_h3_is_res_class_iii(Pointer d); + + Pointer datum_h3_is_pentagon(Pointer d); + + Pointer datum_h3_cell_to_parent(Pointer cell_d, Pointer res_d); + + Pointer datum_h3_cell_to_parent_next(Pointer cell_d); + + Pointer datum_h3_cell_to_center_child(Pointer cell_d, Pointer res_d); + + Pointer datum_h3_cell_to_center_child_next(Pointer cell_d); + + Pointer datum_h3_cell_to_child_pos(Pointer cell_d, Pointer parent_res_d); + + Pointer datum_h3_child_pos_to_cell(Pointer pos_d, Pointer parent_d, Pointer child_res_d); + + Pointer datum_h3_are_neighbor_cells(Pointer origin_d, Pointer dest_d); + + Pointer datum_h3_cells_to_directed_edge(Pointer origin_d, Pointer dest_d); + + Pointer datum_h3_is_valid_directed_edge(Pointer d); + + Pointer datum_h3_get_directed_edge_origin(Pointer d); + + Pointer datum_h3_get_directed_edge_destination(Pointer d); + + Pointer datum_h3_directed_edge_to_boundary(Pointer d); + + Pointer datum_h3_cell_to_vertex(Pointer cell_d, Pointer vnum_d); + + Pointer datum_h3_vertex_to_latlng(Pointer d); + + Pointer datum_h3_is_valid_vertex(Pointer d); + + Pointer datum_h3_grid_distance(Pointer origin_d, Pointer dest_d); + + Pointer datum_h3_cell_to_local_ij(Pointer origin_d, Pointer cell_d); + + Pointer datum_h3_local_ij_to_cell(Pointer origin_d, Pointer coord_d); + + Pointer datum_h3_latlng_to_cell(Pointer point_d, Pointer res_d); + + Pointer datum_h3_cell_to_latlng(Pointer d); + + Pointer datum_h3_cell_to_boundary(Pointer d); + + Pointer datum_h3_cell_area(Pointer cell_d, Pointer unit_d); + + Pointer datum_h3_edge_length(Pointer edge_d, Pointer unit_d); + + Pointer datum_h3_great_circle_distance(Pointer a_d, Pointer b_d, Pointer unit_d); + + Pointer json_in(String str); + + String json_out(Pointer js); + + Pointer jsonb_from_text(Pointer txt, boolean unique_keys); + + Pointer jsonb_in(String str); + + String jsonb_out(Pointer jb); + + Pointer json_make(Pointer keys_vals, int count); + + Pointer json_make_two_arg(Pointer keys, Pointer values, int count); + + Pointer jsonb_copy(Pointer jb); + + Pointer jsonb_make(Pointer keys_vals, int count); + + Pointer jsonb_make_two_arg(Pointer keys, Pointer values, int count); + + boolean jsonb_to_bool(Pointer jb); + + String jsonb_to_cstring(Pointer jb); + + int jsonb_to_float4(Pointer jb); + + int jsonb_to_float8(Pointer jb); + + short jsonb_to_int16(Pointer jb); + + int jsonb_to_int32(Pointer jb); + + long jsonb_to_int64(Pointer jb); + + int jsonb_to_numeric(Pointer jb); + + Pointer jsonb_to_text(Pointer jb); + + Pointer json_array_element(Pointer js, int element); + + Pointer json_array_element_text(Pointer js, int element); + + Pointer json_array_elements(Pointer js, Pointer count); + + Pointer json_array_elements_text(Pointer js, Pointer count); + + int json_array_length(Pointer js); + + Pointer json_each(Pointer js, Pointer values, Pointer count); + + Pointer json_each_text(Pointer js, Pointer values, Pointer count); + + Pointer json_extract_path(Pointer js, Pointer path_elems, int path_len); + + Pointer json_extract_path_text(Pointer js, Pointer path_elems, int path_len); + + Pointer json_object_field(Pointer js, Pointer key); + + Pointer json_object_field_text(Pointer js, Pointer key); + + Pointer json_object_keys(Pointer js, Pointer count); + + Pointer json_typeof(Pointer js); + + Pointer jsonb_array_element(Pointer jb, int element); + + Pointer jsonb_array_element_text(Pointer jb, int element); + + Pointer jsonb_array_elements(Pointer jb, Pointer count); + + Pointer jsonb_array_elements_text(Pointer jb, Pointer count); + + int jsonb_array_length(Pointer jb); + + boolean jsonb_contained(Pointer jb1, Pointer jb2); + + boolean jsonb_contains(Pointer jb1, Pointer jb2); + + Pointer jsonb_each(Pointer jb, Pointer values, Pointer count); + + Pointer jsonb_each_text(Pointer jb, Pointer values, Pointer count); + + boolean jsonb_exists(Pointer jb, Pointer key); + + boolean jsonb_exists_array(Pointer jb, Pointer keys_elems, int keys_len, boolean any); + + Pointer jsonb_extract_path(Pointer jb, Pointer path_elems, int path_len); + + Pointer jsonb_extract_path_text(Pointer jb, Pointer path_elems, int path_len); + + int jsonb_hash(Pointer jb); + + int jsonb_hash_extended(Pointer jb, int seed); + + Pointer jsonb_object_field(Pointer jb, Pointer key); + + Pointer jsonb_object_field_text(Pointer jb, Pointer key); + + Pointer jsonb_object_keys(Pointer jb, Pointer count); + + Pointer json_strip_nulls(Pointer js, boolean strip_in_arrays); + + Pointer jsonb_concat(Pointer jb1, Pointer jb2); + + Pointer jsonb_delete(Pointer jb, Pointer key); + + Pointer jsonb_delete_array(Pointer jb, Pointer keys_elems, int keys_len); + + Pointer jsonb_delete_index(Pointer jb, int idx); + + Pointer jsonb_delete_path(Pointer jb, Pointer path_elems, int path_len); + + Pointer jsonb_insert(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean after); + + Pointer jsonb_pretty(Pointer jb); + + Pointer jsonb_set(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create); + + Pointer jsonb_set_lax(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create, Pointer handle_null); + + Pointer jsonb_strip_nulls(Pointer jb, boolean strip_in_arrays); + + int jsonb_cmp(Pointer jb1, Pointer jb2); + + boolean jsonb_eq(Pointer jb1, Pointer jb2); + + boolean jsonb_ge(Pointer jb1, Pointer jb2); + + boolean jsonb_gt(Pointer jb1, Pointer jb2); + + boolean jsonb_le(Pointer jb1, Pointer jb2); + + boolean jsonb_lt(Pointer jb1, Pointer jb2); + + boolean jsonb_ne(Pointer jb1, Pointer jb2); + + int jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); + + boolean jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonb_path_query_all(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonpath_in(String str); + + Pointer jsonpath_copy(Pointer jp); + + String jsonpath_out(Pointer jp); + + Pointer jsonbset_in(String str); + + String jsonbset_out(Pointer s, int maxdd); + + Pointer jsonbset_make(Pointer values, int count); + + Pointer jsonb_to_set(Pointer jb); + + Pointer jsonbset_end_value(Pointer s); + + Pointer jsonbset_start_value(Pointer s); + + boolean jsonbset_value_n(Pointer s, int n, Pointer result); + + Pointer jsonbset_values(Pointer s); + + Pointer concat_jsonbset_jsonb(Pointer s, Pointer jb, boolean invert); + + Pointer jsonbset_array_length(Pointer set); + + Pointer jsonbset_object_field(Pointer set, Pointer key, boolean astext, int null_handle); + + Pointer jsonbset_array_element(Pointer set, int idx, boolean astext, int null_handle); + + Pointer jsonbset_delete_index(Pointer set, int idx); + + Pointer jsonbset_delete(Pointer set, Pointer key); + + Pointer jsonbset_delete_array(Pointer set, Pointer keys, int count); + + Pointer jsonbset_exists(Pointer set, Pointer key); + + Pointer jsonbset_exists_array(Pointer set, Pointer keys, int count, boolean any); + + Pointer jsonbset_set(Pointer set, Pointer keys, int count, Pointer newjb, boolean create, Pointer null_handle, boolean lax); + + Pointer jsonbset_to_alphanumset(Pointer set, String key, int settype, int null_handle); + + Pointer jsonbset_to_intset(Pointer set, String key, int null_handle); + + Pointer jsonbset_to_floatset(Pointer set, String key, int null_handle); + + Pointer jsonbset_to_textset_key(Pointer set, String key, int null_handle); + + Pointer jsonbset_strip_nulls(Pointer set, boolean strip_in_arrays); + + Pointer jsonbset_pretty(Pointer set); + + Pointer jsonbset_delete_path(Pointer set, Pointer path_elems, int path_len); + + Pointer jsonbset_extract_path(Pointer set, Pointer path_elems, int path_len, boolean astext, int null_handle); + + Pointer jsonbset_insert(Pointer set, Pointer path_elems, int path_len, Pointer newjb, boolean after); + + Pointer jsonbset_path_exists(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonbset_path_match(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonbset_path_query_array(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer jsonbset_path_query_first(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); + + boolean contained_jsonb_set(Pointer jb, Pointer s); + + boolean contains_set_jsonb(Pointer s, Pointer jb); + + Pointer intersection_jsonb_set(Pointer jb, Pointer s); + + Pointer intersection_set_jsonb(Pointer s, Pointer jb); + + Pointer jsonb_union_transfn(Pointer state, Pointer jb); + + Pointer minus_jsonb_set(Pointer jb, Pointer s); + + Pointer minus_set_jsonb(Pointer s, Pointer jb); + + Pointer union_jsonb_set(Pointer jb, Pointer s); + + Pointer union_set_jsonb(Pointer s, Pointer jb); + + Pointer tjsonb_from_mfjson(String str); + + Pointer tjsonb_in(String str); + + String tjsonb_out(Pointer temp); + + Pointer tjsonbinst_from_mfjson(Pointer mfjson); + + Pointer tjsonbinst_in(String str); + + Pointer tjsonbseq_from_mfjson(Pointer mfjson); + + Pointer tjsonbseq_in(String str, int interp); + + Pointer tjsonbseqset_from_mfjson(Pointer mfjson); + + Pointer tjsonbseqset_in(String str); + + Pointer tjsonb_from_base_temp(Pointer jsonb, Pointer temp); + + Pointer tjsonbinst_make(Pointer jsonb, long t); + + Pointer tjsonbseq_from_base_tstzset(Pointer jsonb, Pointer s); + + Pointer tjsonbseq_from_base_tstzspan(Pointer jsonb, Pointer sp); + + Pointer tjsonbseqset_from_base_tstzspanset(Pointer jsonb, Pointer ss); + + Pointer tjsonb_to_ttext(Pointer temp); + + Pointer ttext_to_tjsonb(Pointer temp); + + Pointer tjsonb_end_value(Pointer temp); + + Pointer tjsonb_start_value(Pointer temp); + + boolean tjsonb_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); + + boolean tjsonb_value_n(Pointer temp, int n, Pointer result); + + Pointer tjsonb_values(Pointer temp, Pointer count); + + Pointer concat_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert); + + Pointer concat_tjsonb_tjsonb(Pointer temp1, Pointer temp2); + + Pointer contains_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert); + + Pointer contains_tjsonb_tjsonb(Pointer temp1, Pointer temp2); + + int null_handle_type_from_string(String str); + + Pointer tjson_array_element(Pointer temp, int idx, int null_handle); + + Pointer tjson_array_length(Pointer temp); + + Pointer tjson_extract_path(Pointer temp, Pointer path_elems, int path_len, int null_handle); + + Pointer tjson_object_field(Pointer temp, Pointer key, boolean astext, int null_handle); + + Pointer tjson_strip_nulls(Pointer temp, boolean strip_in_arrays); + + Pointer tjsonb_array_element(Pointer temp, int idx, boolean astext, int null_handle); + + Pointer tjsonb_array_length(Pointer temp); + + Pointer tjsonb_delete(Pointer temp, Pointer key); + + Pointer tjsonb_delete_array(Pointer temp, Pointer keys, int count); + + Pointer tjsonb_delete_index(Pointer temp, int idx); + + Pointer tjsonb_delete_path(Pointer temp, Pointer path_elems, int path_len); + + Pointer tjsonb_exists(Pointer temp, Pointer key); + + Pointer tjsonb_exists_array(Pointer temp, Pointer keys, int count, boolean any); + + Pointer tjsonb_extract_path(Pointer temp, Pointer path_elems, int path_len, boolean astext, int null_handle); + + Pointer tjsonb_insert(Pointer temp, Pointer keys, int count, Pointer newjb, boolean after); + + Pointer tjsonb_object_field(Pointer temp, Pointer key, boolean astext, int null_handle); + + Pointer tjsonb_path_exists(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer tjsonb_path_match(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer tjsonb_path_query_array(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer tjsonb_path_query_first(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); + + Pointer tjsonb_pretty(Pointer temp); + + Pointer tjsonb_set(Pointer temp, Pointer keys, int count, Pointer newjb, boolean create, Pointer handle_null, boolean lax); + + Pointer tjsonb_strip_nulls(Pointer temp, boolean strip_in_arrays); + + Pointer tjsonb_to_tbool(Pointer temp, String key, int null_handle); + + Pointer tjsonb_to_tfloat(Pointer temp, String key, int interp, int null_handle); + + Pointer tjsonb_to_tint(Pointer temp, String key, int null_handle); + + Pointer tjsonb_to_ttext_key(Pointer temp, String key, int null_handle); + + Pointer tjsonb_at_value(Pointer temp, Pointer jsb); + + Pointer tjsonb_minus_value(Pointer temp, Pointer jsb); + + int always_eq_jsonb_tjsonb(Pointer jb, Pointer temp); + + int always_eq_tjsonb_jsonb(Pointer temp, Pointer jb); + + int always_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2); + + int always_ne_jsonb_tjsonb(Pointer jb, Pointer temp); + + int always_ne_tjsonb_jsonb(Pointer temp, Pointer jb); + + int always_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2); + + int ever_eq_jsonb_tjsonb(Pointer jb, Pointer temp); + + int ever_eq_tjsonb_jsonb(Pointer temp, Pointer jb); + + int ever_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2); + + int ever_ne_jsonb_tjsonb(Pointer jb, Pointer temp); + + int ever_ne_tjsonb_jsonb(Pointer temp, Pointer jb); + + int ever_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2); + + Pointer teq_jsonb_tjsonb(Pointer jb, Pointer temp); + + Pointer teq_tjsonb_jsonb(Pointer temp, Pointer jb); + + Pointer tne_jsonb_tjsonb(Pointer jb, Pointer temp); + + Pointer tne_tjsonb_jsonb(Pointer temp, Pointer jb); + + Pointer setPath(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int op_type); + + void setPathObject(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int npairs, int op_type); + + void setPathArray(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int nelems, int op_type); + + Pointer datum_jsonb_concat(Pointer l, Pointer r); + + Pointer datum_jsonb_contained(Pointer l, Pointer r); + + Pointer datum_jsonb_contains(Pointer l, Pointer r); + + Pointer datum_jsonb_delete(Pointer jb, Pointer key); + + Pointer datum_jsonb_delete_array(Pointer jb, Pointer array, Pointer count); + + Pointer datum_jsonb_delete_index(Pointer jb, Pointer idx); + + Pointer datum_json_array_element(Pointer txt, Pointer element); + + Pointer datum_jsonb_array_element(Pointer jb, Pointer element); + + Pointer datum_json_array_element_text(Pointer txt, Pointer element); + + Pointer datum_jsonb_array_element_text(Pointer jb, Pointer element); + + Pointer datum_jsonb_exists(Pointer l, Pointer r); + + Pointer datum_jsonb_exists_array(Pointer value, Pointer array, Pointer count, Pointer any); + + Pointer datum_json_array_length(Pointer txt); + + Pointer datum_jsonb_array_length(Pointer txt); + + Pointer datum_json_object_field(Pointer txt, Pointer key); + + Pointer datum_jsonb_object_field(Pointer jb, Pointer key); + + Pointer datum_json_object_field_text(Pointer txt, Pointer key); + + Pointer datum_jsonb_object_field_text(Pointer jb, Pointer key); + + Pointer datum_json_strip_nulls(Pointer txt, Pointer strip_in_arrays); + + Pointer datum_jsonb_strip_nulls(Pointer jb, Pointer strip_in_arrays); + + Pointer datum_jsonb_pretty(Pointer jb); + + Pointer datum_json_extract_path(Pointer txt, Pointer path_elems, Pointer path_len); + + Pointer datum_jsonb_extract_path(Pointer jb, Pointer path_elems, Pointer path_len); + + Pointer datum_json_extract_path_text(Pointer txt, Pointer path_elems, Pointer path_len); + + Pointer datum_jsonb_extract_path_text(Pointer jb, Pointer path_elems, Pointer path_len); + + Pointer datum_jsonb_set(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create); + + Pointer datum_jsonb_set_lax(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create, Pointer null_handle); + + Pointer datum_jsonb_delete_path(Pointer jb, Pointer keys, Pointer count); + + Pointer datum_jsonb_insert(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer after); + + Pointer datum_jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); + + Pointer datum_jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); + + Pointer datum_jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); + + Pointer datum_jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); + + Pointer datum_jsonb_to_text(Pointer jb); + + Pointer datum_text_to_jsonb(Pointer txt); + + Pointer datum_jsonb_to_alphanum(Pointer jb, Pointer key, Pointer temptype, Pointer null_handle); + + Pointer tjsonb_to_talphanum(Pointer temp, String key, int resbasetype, int interp, int null_handle); + + Pointer jsonbfunc_jsonbset(Pointer s, int func, int intype, int restype); + + Pointer jsonbfunc_jsonbset_jsonb(Pointer s, Pointer jb, Pointer func, boolean invert); + + Pointer jsonbfunc_jsonbset_text(Pointer s, Pointer txt, Pointer func); + + Pointer th3index_in(String str); + + Pointer th3indexinst_in(String str); + + Pointer th3indexseq_in(String str, int interp); + + Pointer th3indexseqset_in(String str); + + Pointer th3index_make(long value, long t); + + Pointer th3indexinst_make(long value, long t); + + Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc); + + Pointer th3indexseqset_make(Pointer sequences, int count); + + long th3index_start_value(Pointer temp); + + long th3index_end_value(Pointer temp); + + boolean th3index_value_n(Pointer temp, int n, Pointer result); + + Pointer th3index_values(Pointer temp, Pointer count); + + boolean th3index_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + Pointer tbigint_to_th3index(Pointer temp); + + Pointer th3index_to_tbigint(Pointer temp); + + int ever_eq_h3index_th3index(long cell, Pointer temp); + + int ever_eq_th3index_h3index(Pointer temp, long cell); + + int ever_ne_h3index_th3index(long cell, Pointer temp); + + int ever_ne_th3index_h3index(Pointer temp, long cell); + + int always_eq_h3index_th3index(long cell, Pointer temp); + + int always_eq_th3index_h3index(Pointer temp, long cell); + + int always_ne_h3index_th3index(long cell, Pointer temp); + + int always_ne_th3index_h3index(Pointer temp, long cell); + + int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2); + + int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2); + + int always_eq_th3index_th3index(Pointer temp1, Pointer temp2); + + int always_ne_th3index_th3index(Pointer temp1, Pointer temp2); + + Pointer teq_h3index_th3index(long cell, Pointer temp); + + Pointer teq_th3index_h3index(Pointer temp, long cell); + + Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2); + + Pointer tne_h3index_th3index(long cell, Pointer temp); + + Pointer tne_th3index_h3index(Pointer temp, long cell); + + Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2); + + Pointer th3index_get_resolution(Pointer temp); + + Pointer th3index_get_base_cell_number(Pointer temp); + + Pointer th3index_is_valid_cell(Pointer temp); + + Pointer th3index_is_res_class_iii(Pointer temp); + + Pointer th3index_is_pentagon(Pointer temp); + + Pointer th3index_cell_to_parent(Pointer temp, int resolution); + + Pointer th3index_cell_to_parent_next(Pointer temp); + + Pointer th3index_cell_to_center_child(Pointer temp, int resolution); + + Pointer th3index_cell_to_center_child_next(Pointer temp); + + Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res); + + Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res); + + Pointer tgeogpoint_to_th3index(Pointer temp, int resolution); + + Pointer tgeompoint_to_th3index(Pointer temp, int resolution); + + Pointer th3index_to_tgeogpoint(Pointer temp); + + Pointer th3index_to_tgeompoint(Pointer temp); + + Pointer th3index_cell_to_boundary(Pointer temp); + + Pointer geo_to_h3index_set(Pointer gs, int resolution); + + int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx); + + Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest); + + Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest); + + Pointer th3index_is_valid_directed_edge(Pointer edge); + + Pointer th3index_get_directed_edge_origin(Pointer edge); + + Pointer th3index_get_directed_edge_destination(Pointer edge); + + Pointer th3index_directed_edge_to_boundary(Pointer edge); + + Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num); + + Pointer th3index_vertex_to_latlng(Pointer temp); + + Pointer th3index_is_valid_vertex(Pointer temp); + + Pointer th3index_grid_distance(Pointer origin, Pointer dest); + + Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell); + + Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord); + + Pointer th3index_cell_area(Pointer temp, String unit); + + Pointer th3index_edge_length(Pointer temp, String unit); + + Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit); + + Pointer proj_get_context(); + + Pointer geos_get_context(); + + Pointer datum_geo_round(Pointer value, Pointer size); + + Pointer point_round(Pointer gs, int maxdd); + + void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer result); + + void gbox_set_stbox(Pointer box, int srid, Pointer result); + + boolean geo_set_stbox(Pointer gs, Pointer result); + + void geoarr_set_stbox(Pointer values, int count, Pointer result); + + boolean spatial_set_stbox(Pointer d, int basetype, Pointer result); + + void spatialset_set_stbox(Pointer set, Pointer result); + + void stbox_set_box3d(Pointer box, Pointer result); + + void stbox_set_gbox(Pointer box, Pointer result); + + void tstzset_set_stbox(Pointer s, Pointer result); + + void tstzspan_set_stbox(Pointer s, Pointer result); + + void tstzspanset_set_stbox(Pointer s, Pointer result); + + void stbox_expand(Pointer box1, Pointer box2); + + boolean inter_stbox_stbox(Pointer box1, Pointer box2, Pointer result); + + Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeogpointinst_in(String str); + + Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeogpointseq_in(String str, int interp); + + Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeogpointseqset_in(String str); + + Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeompointinst_in(String str); + + Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeompointseq_in(String str, int interp); + + Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeompointseqset_in(String str); + + Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeographyinst_in(String str); + + Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeographyseq_in(String str, int interp); + + Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeographyseqset_in(String str); + + Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid); + + Pointer tgeometryinst_in(String str); + + Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeometryseq_in(String str, int interp); + + Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp); + + Pointer tgeometryseqset_in(String str); + + void tspatial_set_stbox(Pointer temp, Pointer result); + + void tspatialseq_set_stbox(Pointer seq, Pointer box); + + void tspatialseqset_set_stbox(Pointer ss, Pointer box); + + Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc); + + Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); + + Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc); + + Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc); + + Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc); + + Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc); + + int spatial_srid(Pointer d, int basetype); + + boolean spatial_set_srid(Pointer d, int basetype, int srid); + + int tspatialinst_srid(Pointer inst); + + Pointer tpointseq_azimuth(Pointer seq); + + Pointer tpointseq_cumulative_length(Pointer seq, double prevlength); + + } + + public interface MeosLibraryPartD { + + boolean tpointseq_is_simple(Pointer seq); + + double tpointseq_length(Pointer seq); + + Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union); + + Pointer tgeoseq_stboxes(Pointer seq, Pointer count); + + Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count); + + Pointer tpointseqset_azimuth(Pointer ss); + + Pointer tpointseqset_cumulative_length(Pointer ss); + + boolean tpointseqset_is_simple(Pointer ss); + + double tpointseqset_length(Pointer ss); + + Pointer tgeoseqset_stboxes(Pointer ss, Pointer count); + + Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count); + + Pointer tgeominst_tgeoginst(Pointer inst, boolean oper); + + Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper); + + Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper); + + Pointer tgeom_tgeog(Pointer temp, boolean oper); + + Pointer tgeo_tpoint(Pointer temp, boolean oper); + + void tspatialinst_set_srid(Pointer inst, int srid); + + Pointer tpointseq_make_simple(Pointer seq, Pointer count); + + void tspatialseq_set_srid(Pointer seq, int srid); + + Pointer tpointseqset_make_simple(Pointer ss, Pointer count); + + void tspatialseqset_set_srid(Pointer ss, int srid); + + Pointer tpointseq_twcentroid(Pointer seq); + + Pointer tpointseqset_twcentroid(Pointer ss); + + String npoint_as_ewkt(Pointer np, int maxdd); + + String npoint_as_hexwkb(Pointer np, byte variant, Pointer size_out); + + String npoint_as_text(Pointer np, int maxdd); + + Pointer npoint_as_wkb(Pointer np, byte variant, Pointer size_out); + + Pointer npoint_from_hexwkb(String hexwkb); + + Pointer npoint_from_wkb(Pointer wkb, long size); + + Pointer npoint_in(String str); + + String npoint_out(Pointer np, int maxdd); + + Pointer nsegment_in(String str); + + String nsegment_out(Pointer ns, int maxdd); + + Pointer npoint_make(long rid, double pos); + + Pointer nsegment_make(long rid, double pos1, double pos2); + + Pointer geompoint_to_npoint(Pointer gs); + + Pointer geom_to_nsegment(Pointer gs); + + Pointer npoint_to_geompoint(Pointer np); + + Pointer npoint_to_nsegment(Pointer np); + + Pointer npoint_to_stbox(Pointer np); + + Pointer nsegment_to_geom(Pointer ns); + + Pointer nsegment_to_stbox(Pointer ns); + + int npoint_hash(Pointer np); + + int npoint_hash_extended(Pointer np, int seed); + + double npoint_position(Pointer np); + + long npoint_route(Pointer np); + + double nsegment_end_position(Pointer ns); + + long nsegment_route(Pointer ns); + + double nsegment_start_position(Pointer ns); + + boolean route_exists(long rid); + + Pointer route_geom(long rid); + + double route_length(long rid); + + Pointer npoint_round(Pointer np, int maxdd); + + Pointer nsegment_round(Pointer ns, int maxdd); + + int get_srid_ways(); + + int npoint_srid(Pointer np); + + int nsegment_srid(Pointer ns); + + Pointer npoint_timestamptz_to_stbox(Pointer np, long t); + + Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s); + + int npoint_cmp(Pointer np1, Pointer np2); + + boolean npoint_eq(Pointer np1, Pointer np2); + + boolean npoint_ge(Pointer np1, Pointer np2); + + boolean npoint_gt(Pointer np1, Pointer np2); + + boolean npoint_le(Pointer np1, Pointer np2); + + boolean npoint_lt(Pointer np1, Pointer np2); + + boolean npoint_ne(Pointer np1, Pointer np2); + + boolean npoint_same(Pointer np1, Pointer np2); + + int nsegment_cmp(Pointer ns1, Pointer ns2); + + boolean nsegment_eq(Pointer ns1, Pointer ns2); + + boolean nsegment_ge(Pointer ns1, Pointer ns2); + + boolean nsegment_gt(Pointer ns1, Pointer ns2); + + boolean nsegment_le(Pointer ns1, Pointer ns2); + + boolean nsegment_lt(Pointer ns1, Pointer ns2); + + boolean nsegment_ne(Pointer ns1, Pointer ns2); + + Pointer npointset_in(String str); + + String npointset_out(Pointer s, int maxdd); + + Pointer npointset_make(Pointer values, int count); + + Pointer npoint_to_set(Pointer np); + + Pointer npointset_end_value(Pointer s); + + Pointer npointset_routes(Pointer s); + + Pointer npointset_start_value(Pointer s); + + boolean npointset_value_n(Pointer s, int n, Pointer result); + + Pointer npointset_values(Pointer s, Pointer count); + + boolean contained_npoint_set(Pointer np, Pointer s); + + boolean contains_set_npoint(Pointer s, Pointer np); + + Pointer intersection_npoint_set(Pointer np, Pointer s); + + Pointer intersection_set_npoint(Pointer s, Pointer np); + + Pointer minus_npoint_set(Pointer np, Pointer s); + + Pointer minus_set_npoint(Pointer s, Pointer np); + + Pointer npoint_union_transfn(Pointer state, Pointer np); + + Pointer union_npoint_set(Pointer np, Pointer s); + + Pointer union_set_npoint(Pointer s, Pointer np); + + Pointer tnpoint_in(String str); + + Pointer tnpoint_from_mfjson(String mfjson); + + String tnpoint_out(Pointer temp, int maxdd); + + Pointer tnpointinst_make(Pointer np, long t); + + Pointer tnpoint_from_base_temp(Pointer np, Pointer temp); + + Pointer tnpointseq_from_base_tstzset(Pointer np, Pointer s); + + Pointer tnpointseq_from_base_tstzspan(Pointer np, Pointer s, int interp); + + Pointer tnpointseqset_from_base_tstzspanset(Pointer np, Pointer ss, int interp); + + Pointer tgeompoint_to_tnpoint(Pointer temp); + + Pointer tnpoint_to_tgeompoint(Pointer temp); + + Pointer tnpoint_cumulative_length(Pointer temp); + + Pointer tnpoint_end_value(Pointer temp); + + double tnpoint_length(Pointer temp); + + Pointer tnpoint_positions(Pointer temp, Pointer count); + + long tnpoint_route(Pointer temp); + + Pointer tnpoint_routes(Pointer temp); + + Pointer tnpoint_speed(Pointer temp); + + Pointer tnpoint_start_value(Pointer temp); + + Pointer tnpoint_trajectory(Pointer temp); + + boolean tnpoint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tnpoint_value_n(Pointer temp, int n, Pointer result); + + Pointer tnpoint_values(Pointer temp, Pointer count); + + Pointer tnpoint_twcentroid(Pointer temp); + + Pointer tnpoint_at_geom(Pointer temp, Pointer gs); + + Pointer tnpoint_at_npoint(Pointer temp, Pointer np); + + Pointer tnpoint_at_npointset(Pointer temp, Pointer s); + + Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tnpoint_minus_geom(Pointer temp, Pointer gs); + + Pointer tnpoint_minus_npoint(Pointer temp, Pointer np); + + Pointer tnpoint_minus_npointset(Pointer temp, Pointer s); + + Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer tdistance_tnpoint_geo(Pointer temp, Pointer gs); + + Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + double nad_tnpoint_geo(Pointer temp, Pointer gs); + + double nad_tnpoint_npoint(Pointer temp, Pointer np); + + double nad_tnpoint_stbox(Pointer temp, Pointer box); + + double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer nai_tnpoint_geo(Pointer temp, Pointer gs); + + Pointer nai_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp); + + int always_eq_npoint_tnpoint(Pointer np, Pointer temp); + + int always_eq_tnpoint_npoint(Pointer temp, Pointer np); + + int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int always_ne_npoint_tnpoint(Pointer np, Pointer temp); + + int always_ne_tnpoint_npoint(Pointer temp, Pointer np); + + int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int ever_eq_npoint_tnpoint(Pointer np, Pointer temp); + + int ever_eq_tnpoint_npoint(Pointer temp, Pointer np); + + int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int ever_ne_npoint_tnpoint(Pointer np, Pointer temp); + + int ever_ne_tnpoint_npoint(Pointer temp, Pointer np); + + int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + Pointer teq_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer tne_tnpoint_npoint(Pointer temp, Pointer np); + + Pointer pcpoint_hex_in(String str); + + String pcpoint_hex_out(Pointer pt, int maxdd); + + Pointer pcpoint_from_hexwkb(String hexwkb); + + String pcpoint_as_hexwkb(Pointer pt); + + Pointer pcpoint_copy(Pointer pt); + + int pcpoint_get_pcid(Pointer pt); + + int pcpoint_hash(Pointer pt); + + int pcpoint_hash_extended(Pointer pt, int seed); + + boolean pcpoint_get_x(Pointer pt, Pointer schema, Pointer out); + + boolean pcpoint_get_y(Pointer pt, Pointer schema, Pointer out); + + boolean pcpoint_get_z(Pointer pt, Pointer schema, Pointer out); + + boolean pcpoint_get_dim(Pointer pt, Pointer schema, String name, Pointer out); + + Pointer pcpoint_to_tpcbox(Pointer pt, Pointer schema); + + Pointer meos_pc_schema(int pcid); + + void meos_pc_schema_register(int pcid, Pointer schema); + + void meos_pc_schema_register_xml(int pcid, Pointer schema, String xml_text); + + String meos_pc_schema_xml(int pcid); + + void meos_pc_schema_clear(); + + int pcpoint_cmp(Pointer pt1, Pointer pt2); + + boolean pcpoint_eq(Pointer pt1, Pointer pt2); + + boolean pcpoint_ne(Pointer pt1, Pointer pt2); + + boolean pcpoint_lt(Pointer pt1, Pointer pt2); + + boolean pcpoint_le(Pointer pt1, Pointer pt2); + + boolean pcpoint_gt(Pointer pt1, Pointer pt2); + + boolean pcpoint_ge(Pointer pt1, Pointer pt2); + + Pointer pcpatch_hex_in(String str); + + String pcpatch_hex_out(Pointer pa, int maxdd); + + Pointer pcpatch_from_hexwkb(String hexwkb); + + String pcpatch_as_hexwkb(Pointer pa); + + Pointer pcpatch_copy(Pointer pa); + + int pcpatch_get_pcid(Pointer pa); + + int pcpatch_npoints(Pointer pa); + + int pcpatch_hash(Pointer pa); + + int pcpatch_hash_extended(Pointer pa, int seed); + + int pcpatch_cmp(Pointer pa1, Pointer pa2); + + boolean pcpatch_eq(Pointer pa1, Pointer pa2); + + boolean pcpatch_ne(Pointer pa1, Pointer pa2); + + boolean pcpatch_lt(Pointer pa1, Pointer pa2); + + boolean pcpatch_le(Pointer pa1, Pointer pa2); + + boolean pcpatch_gt(Pointer pa1, Pointer pa2); + + boolean pcpatch_ge(Pointer pa1, Pointer pa2); + + Pointer pcpointset_in(String str); + + String pcpointset_out(Pointer s, int maxdd); + + Pointer pcpointset_make(Pointer values, int count); + + Pointer pcpoint_to_set(Pointer pt); + + Pointer pcpointset_start_value(Pointer s); + + Pointer pcpointset_end_value(Pointer s); + + boolean pcpointset_value_n(Pointer s, int n, Pointer result); + + Pointer pcpointset_values(Pointer s); + + boolean contains_set_pcpoint(Pointer s, Pointer pt); + + boolean contained_pcpoint_set(Pointer pt, Pointer s); + + Pointer intersection_pcpoint_set(Pointer pt, Pointer s); + + Pointer intersection_set_pcpoint(Pointer s, Pointer pt); + + Pointer minus_pcpoint_set(Pointer pt, Pointer s); + + Pointer minus_set_pcpoint(Pointer s, Pointer pt); + + Pointer union_pcpoint_set(Pointer pt, Pointer s); + + Pointer union_set_pcpoint(Pointer s, Pointer pt); + + Pointer pcpoint_union_transfn(Pointer state, Pointer pt); + + Pointer pcpatchset_in(String str); + + String pcpatchset_out(Pointer s, int maxdd); + + Pointer pcpatchset_make(Pointer values, int count); + + Pointer pcpatch_to_set(Pointer pa); + + Pointer pcpatchset_start_value(Pointer s); + + Pointer pcpatchset_end_value(Pointer s); + + boolean pcpatchset_value_n(Pointer s, int n, Pointer result); + + Pointer pcpatchset_values(Pointer s); + + boolean contains_set_pcpatch(Pointer s, Pointer pa); + + boolean contained_pcpatch_set(Pointer pa, Pointer s); + + Pointer intersection_pcpatch_set(Pointer pa, Pointer s); + + Pointer intersection_set_pcpatch(Pointer s, Pointer pa); + + Pointer minus_pcpatch_set(Pointer pa, Pointer s); + + Pointer minus_set_pcpatch(Pointer s, Pointer pa); + + Pointer union_pcpatch_set(Pointer pa, Pointer s); + + Pointer union_set_pcpatch(Pointer s, Pointer pa); + + Pointer pcpatch_union_transfn(Pointer state, Pointer pa); + + Pointer tpcbox_in(String str); + + String tpcbox_out(Pointer box, int maxdd); + + Pointer tpcbox_make(boolean hasx, boolean hasz, boolean hast, boolean geodetic, int srid, int pcid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer period); + + Pointer tpcbox_copy(Pointer box); + + Pointer pcpatch_to_tpcbox(Pointer pa, int srid); + + boolean tpcbox_hasx(Pointer box); + + boolean tpcbox_hasz(Pointer box); + + boolean tpcbox_hast(Pointer box); + + boolean tpcbox_geodetic(Pointer box); + + boolean tpcbox_xmin(Pointer box, Pointer result); + + boolean tpcbox_xmax(Pointer box, Pointer result); + + boolean tpcbox_ymin(Pointer box, Pointer result); + + boolean tpcbox_ymax(Pointer box, Pointer result); + + boolean tpcbox_zmin(Pointer box, Pointer result); + + boolean tpcbox_zmax(Pointer box, Pointer result); + + boolean tpcbox_tmin(Pointer box, Pointer result); + + boolean tpcbox_tmax(Pointer box, Pointer result); + + int tpcbox_srid(Pointer box); + + int tpcbox_pcid(Pointer box); + + Pointer tpcbox_to_stbox(Pointer box); + + void tpcbox_expand(Pointer box1, Pointer box2); + + Pointer tpcbox_round(Pointer box, int maxdd); + + Pointer tpcbox_set_srid(Pointer box, int srid); + + Pointer union_tpcbox_tpcbox(Pointer box1, Pointer box2, boolean strict); + + boolean inter_tpcbox_tpcbox(Pointer box1, Pointer box2, Pointer result); + + Pointer intersection_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean contains_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean contained_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overlaps_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean same_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean adjacent_tpcbox_tpcbox(Pointer box1, Pointer box2); + + int tpcbox_cmp(Pointer box1, Pointer box2); + + boolean tpcbox_eq(Pointer box1, Pointer box2); + + boolean tpcbox_ne(Pointer box1, Pointer box2); + + boolean tpcbox_lt(Pointer box1, Pointer box2); + + boolean tpcbox_le(Pointer box1, Pointer box2); + + boolean tpcbox_gt(Pointer box1, Pointer box2); + + boolean tpcbox_ge(Pointer box1, Pointer box2); + + boolean left_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overleft_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean right_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overright_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean below_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overbelow_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean above_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overabove_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean front_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overfront_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean back_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overback_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean before_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overbefore_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean after_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean overafter_tpcbox_tpcbox(Pointer box1, Pointer box2); + + boolean ensure_same_pcid_tpcbox(Pointer box1, Pointer box2); + + String pose_as_ewkt(Pointer pose, int maxdd); + + String pose_as_hexwkb(Pointer pose, byte variant, Pointer size); + + String pose_as_text(Pointer pose, int maxdd); + + Pointer pose_as_wkb(Pointer pose, byte variant, Pointer size_out); + + Pointer pose_from_wkb(Pointer wkb, long size); + + Pointer pose_from_hexwkb(String hexwkb); + + Pointer pose_in(String str); + + String pose_out(Pointer pose, int maxdd); + + Pointer pose_from_geopose(String json); + + String pose_as_geopose(Pointer pose, int conformance, int precision); + + Pointer tpose_from_geopose(String json); + + String tpose_as_geopose(Pointer temp, int conformance, int precision); + + Pointer pose_apply_geo(Pointer pose, Pointer body); + + Pointer tpose_apply_geo(Pointer temp, Pointer body); + + Pointer pose_copy(Pointer pose); + + Pointer pose_make_2d(double x, double y, double theta, int srid); + + Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid); + + Pointer pose_make_point2d(Pointer gs, double theta); + + Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z); + + Pointer pose_to_point(Pointer pose); + + Pointer pose_to_stbox(Pointer pose); + + int pose_hash(Pointer pose); + + int pose_hash_extended(Pointer pose, int seed); + + Pointer pose_orientation(Pointer pose, Pointer count); + + double pose_rotation(Pointer pose); + + double pose_yaw(Pointer pose); + + double pose_pitch(Pointer pose); + + double pose_roll(Pointer pose); + + double pose_angular_distance(Pointer pose1, Pointer pose2); + + Pointer pose_normalise(Pointer pose); + + Pointer pose_round(Pointer pose, int maxdd); + + Pointer posearr_round(Pointer posearr, int count, int maxdd); + + void pose_set_srid(Pointer pose, int srid); + + int pose_srid(Pointer pose); + + Pointer pose_transform(Pointer pose, int srid); + + Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward); + + Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s); + + Pointer pose_timestamptz_to_stbox(Pointer pose, long t); + + double distance_pose_geo(Pointer pose, Pointer gs); + + double distance_pose_pose(Pointer pose1, Pointer pose2); + + double distance_pose_stbox(Pointer pose, Pointer box); + + int pose_cmp(Pointer pose1, Pointer pose2); + + boolean pose_eq(Pointer pose1, Pointer pose2); + + boolean pose_ge(Pointer pose1, Pointer pose2); + + boolean pose_gt(Pointer pose1, Pointer pose2); + + boolean pose_le(Pointer pose1, Pointer pose2); + + boolean pose_lt(Pointer pose1, Pointer pose2); + + boolean pose_ne(Pointer pose1, Pointer pose2); + + boolean pose_nsame(Pointer pose1, Pointer pose2); + + boolean pose_same(Pointer pose1, Pointer pose2); + + Pointer poseset_in(String str); + + String poseset_out(Pointer s, int maxdd); + + Pointer poseset_make(Pointer values, int count); + + Pointer pose_to_set(Pointer pose); + + Pointer poseset_end_value(Pointer s); + + Pointer poseset_start_value(Pointer s); + + boolean poseset_value_n(Pointer s, int n, Pointer result); + + Pointer poseset_values(Pointer s, Pointer count); + + boolean contained_pose_set(Pointer pose, Pointer s); + + boolean contains_set_pose(Pointer s, Pointer pose); + + Pointer intersection_pose_set(Pointer pose, Pointer s); + + Pointer intersection_set_pose(Pointer s, Pointer pose); + + Pointer minus_pose_set(Pointer pose, Pointer s); + + Pointer minus_set_pose(Pointer s, Pointer pose); + + Pointer pose_union_transfn(Pointer state, Pointer pose); + + Pointer union_pose_set(Pointer pose, Pointer s); + + Pointer union_set_pose(Pointer s, Pointer pose); + + Pointer tpose_from_mfjson(String str); + + Pointer tpose_in(String str); + + Pointer tposeinst_make(Pointer pose, long t); + + Pointer tpose_from_base_temp(Pointer pose, Pointer temp); + + Pointer tposeseq_from_base_tstzset(Pointer pose, Pointer s); + + Pointer tposeseq_from_base_tstzspan(Pointer pose, Pointer s, int interp); + + Pointer tposeseqset_from_base_tstzspanset(Pointer pose, Pointer ss, int interp); + + Pointer tpose_make(Pointer tpoint, Pointer tradius); + + Pointer tpose_to_tpoint(Pointer temp); + + Pointer tpose_end_value(Pointer temp); + + Pointer tpose_points(Pointer temp); + + Pointer tpose_rotation(Pointer temp); + + Pointer tpose_yaw(Pointer temp); + + Pointer tpose_pitch(Pointer temp); + + Pointer tpose_roll(Pointer temp); + + Pointer tpose_speed(Pointer temp); + + Pointer tpose_angular_speed(Pointer temp); + + Pointer tpose_start_value(Pointer temp); + + Pointer tpose_trajectory(Pointer temp); + + boolean tpose_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + boolean tpose_value_n(Pointer temp, int n, Pointer result); + + Pointer tpose_values(Pointer temp, Pointer count); + + Pointer tpose_at_geom(Pointer temp, Pointer gs); + + Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tpose_at_pose(Pointer temp, Pointer pose); + + Pointer tpose_minus_geom(Pointer temp, Pointer gs); + + Pointer tpose_minus_pose(Pointer temp, Pointer pose); + + Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_tpose_pose(Pointer temp, Pointer pose); + + Pointer tdistance_tpose_geo(Pointer temp, Pointer gs); + + Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2); + + double nad_tpose_geo(Pointer temp, Pointer gs); + + double nad_tpose_pose(Pointer temp, Pointer pose); + + double nad_tpose_stbox(Pointer temp, Pointer box); + + double nad_tpose_tpose(Pointer temp1, Pointer temp2); + + Pointer nai_tpose_geo(Pointer temp, Pointer gs); + + Pointer nai_tpose_pose(Pointer temp, Pointer pose); + + Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2); + + Pointer shortestline_tpose_geo(Pointer temp, Pointer gs); + + Pointer shortestline_tpose_pose(Pointer temp, Pointer pose); + + Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2); + + int always_eq_pose_tpose(Pointer pose, Pointer temp); + + int always_eq_tpose_pose(Pointer temp, Pointer pose); + + int always_eq_tpose_tpose(Pointer temp1, Pointer temp2); + + int always_ne_pose_tpose(Pointer pose, Pointer temp); + + int always_ne_tpose_pose(Pointer temp, Pointer pose); + + int always_ne_tpose_tpose(Pointer temp1, Pointer temp2); + + int ever_eq_pose_tpose(Pointer pose, Pointer temp); + + int ever_eq_tpose_pose(Pointer temp, Pointer pose); + + int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2); + + int ever_ne_pose_tpose(Pointer pose, Pointer temp); + + int ever_ne_tpose_pose(Pointer temp, Pointer pose); + + int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2); + + Pointer teq_pose_tpose(Pointer pose, Pointer temp); + + Pointer teq_tpose_pose(Pointer temp, Pointer pose); + + Pointer tne_pose_tpose(Pointer pose, Pointer temp); + + Pointer tne_tpose_pose(Pointer temp, Pointer pose); + + String trgeometry_out(Pointer temp); + + Pointer trgeoinst_make(Pointer geom, Pointer pose, long t); + + Pointer geo_tpose_to_trgeometry(Pointer gs, Pointer temp); + + Pointer trgeometry_to_tpose(Pointer temp); + + Pointer trgeometry_to_tpoint(Pointer temp); + + Pointer trgeometry_to_tgeometry(Pointer temp); + + Pointer trgeometry_end_instant(Pointer temp); + + Pointer trgeometry_end_sequence(Pointer temp); + + Pointer trgeometry_end_value(Pointer temp); + + Pointer trgeometry_geom(Pointer temp); + + Pointer trgeometry_instant_n(Pointer temp, int n); + + Pointer trgeometry_instants(Pointer temp, Pointer count); + + Pointer trgeometry_points(Pointer temp); + + Pointer trgeometry_rotation(Pointer temp); + + Pointer trgeometry_segments(Pointer temp, Pointer count); + + Pointer trgeometry_sequence_n(Pointer temp, int i); + + Pointer trgeometry_sequences(Pointer temp, Pointer count); + + Pointer trgeometry_start_instant(Pointer temp); + + Pointer trgeometry_start_sequence(Pointer temp); + + Pointer trgeometry_start_value(Pointer temp); + + boolean trgeometry_value_n(Pointer temp, int n, Pointer result); + + Pointer trgeometry_traversed_area(Pointer temp, boolean unary_union); + + Pointer trgeometry_centroid(Pointer temp); + + Pointer trgeometry_convex_hull(Pointer temp); + + Pointer trgeometry_body_point_trajectory(Pointer temp, Pointer gs); + + Pointer trgeometry_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count); + + Pointer trgeometry_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer count); + + Pointer trgeometry_stboxes(Pointer temp, Pointer count); + + Pointer trgeometry_split_n_stboxes(Pointer temp, int box_count, Pointer count); + + Pointer trgeometry_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count); + + double trgeometry_hausdorff_distance(Pointer temp1, Pointer temp2); + + double trgeometry_frechet_distance(Pointer temp1, Pointer temp2); + + double trgeometry_dyntimewarp_distance(Pointer temp1, Pointer temp2); + + Pointer trgeometry_frechet_path(Pointer temp1, Pointer temp2, Pointer count); + + Pointer trgeometry_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count); + + double trgeometry_length(Pointer temp); + + Pointer trgeometry_cumulative_length(Pointer temp); + + Pointer trgeometry_speed(Pointer temp); + + Pointer trgeometry_twcentroid(Pointer temp); + + Pointer trgeometry_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); + + Pointer trgeometry_append_tsequence(Pointer temp, Pointer seq, boolean expand); + + Pointer trgeometry_delete_timestamptz(Pointer temp, long t, boolean connect); + + Pointer trgeometry_delete_tstzset(Pointer temp, Pointer s, boolean connect); + + Pointer trgeometry_delete_tstzspan(Pointer temp, Pointer s, boolean connect); + + Pointer trgeometry_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); + + Pointer trgeometry_round(Pointer temp, int maxdd); + + Pointer trgeometry_set_interp(Pointer temp, int interp); + + Pointer trgeometry_to_tinstant(Pointer temp); + + Pointer trgeometry_after_timestamptz(Pointer temp, long t, boolean strict); + + Pointer trgeometry_before_timestamptz(Pointer temp, long t, boolean strict); + + Pointer trgeometry_restrict_values(Pointer temp, Pointer s, boolean atfunc); + + Pointer trgeometry_restrict_timestamptz(Pointer temp, long t, boolean atfunc); + + Pointer trgeometry_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); + + Pointer trgeometry_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); + + Pointer trgeometry_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); + + Pointer trgeometry_at_geom(Pointer temp, Pointer gs); + + Pointer trgeometry_minus_geom(Pointer temp, Pointer gs); + + Pointer trgeometry_at_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer trgeometry_minus_stbox(Pointer temp, Pointer box, boolean border_inc); + + Pointer tdistance_trgeometry_geo(Pointer temp, Pointer gs); + + Pointer tdistance_trgeometry_tpoint(Pointer temp1, Pointer temp2); + + Pointer tdistance_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + double nad_stbox_trgeometry(Pointer box, Pointer temp); + + double nad_trgeometry_geo(Pointer temp, Pointer gs); + + double nad_trgeometry_stbox(Pointer temp, Pointer box); + + double nad_trgeometry_tpoint(Pointer temp1, Pointer temp2); + + double nad_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + Pointer nai_trgeometry_geo(Pointer temp, Pointer gs); + + Pointer nai_trgeometry_tpoint(Pointer temp1, Pointer temp2); + + Pointer nai_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + Pointer shortestline_trgeometry_geo(Pointer temp, Pointer gs); + + Pointer shortestline_trgeometry_tpoint(Pointer temp1, Pointer temp2); + + Pointer shortestline_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + int always_eq_geo_trgeometry(Pointer gs, Pointer temp); + + int always_eq_trgeometry_geo(Pointer temp, Pointer gs); + + int always_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + int always_ne_geo_trgeometry(Pointer gs, Pointer temp); + + int always_ne_trgeometry_geo(Pointer temp, Pointer gs); + + int always_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + int ever_eq_geo_trgeometry(Pointer gs, Pointer temp); + + int ever_eq_trgeometry_geo(Pointer temp, Pointer gs); + + int ever_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + int ever_ne_geo_trgeometry(Pointer gs, Pointer temp); + + int ever_ne_trgeometry_geo(Pointer temp, Pointer gs); + + int ever_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2); + + Pointer teq_geo_trgeometry(Pointer gs, Pointer temp); + + Pointer teq_trgeometry_geo(Pointer temp, Pointer gs); + + Pointer tne_geo_trgeometry(Pointer gs, Pointer temp); + + Pointer tne_trgeometry_geo(Pointer temp, Pointer gs); + + int econtains_geo_trgeo(Pointer gs, Pointer temp); + + int acontains_geo_trgeo(Pointer gs, Pointer temp); + + int ecovers_geo_trgeo(Pointer gs, Pointer temp); + + int acovers_geo_trgeo(Pointer gs, Pointer temp); + + int ecovers_trgeo_geo(Pointer temp, Pointer gs); + + int acovers_trgeo_geo(Pointer temp, Pointer gs); + + int edisjoint_trgeo_geo(Pointer temp, Pointer gs); + + int adisjoint_trgeo_geo(Pointer temp, Pointer gs); + + int eintersects_trgeo_geo(Pointer temp, Pointer gs); + + int aintersects_trgeo_geo(Pointer temp, Pointer gs); + + int etouches_trgeo_geo(Pointer temp, Pointer gs); + + int atouches_trgeo_geo(Pointer temp, Pointer gs); + + int edwithin_trgeo_geo(Pointer temp, Pointer gs, double dist); + + int adwithin_trgeo_geo(Pointer temp, Pointer gs, double dist); + + int edisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int adisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int eintersects_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int aintersects_trgeo_trgeo(Pointer temp1, Pointer temp2); + + int edwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist); + + int adwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist); + + boolean ensure_valid_tnpoint_npoint(Pointer temp, Pointer np); + + boolean ensure_valid_tnpoint_npointset(Pointer temp, Pointer s); + + boolean ensure_valid_tnpoint_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_tnpoint_stbox(Pointer temp, Pointer box); + + boolean ensure_valid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + int tnpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); + + boolean common_rid_tnpoint_npoint(Pointer temp, Pointer np); + + boolean common_rid_tnpoint_npointset(Pointer temp, Pointer s); + + boolean common_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + boolean npoint_collinear(Pointer np1, Pointer np2, Pointer np3, double ratio); + + Pointer npointsegm_interpolate(Pointer start, Pointer end, Pointer ratio); + + Pointer npointsegm_locate(Pointer start, Pointer end, Pointer value); + + Pointer npointarr_geom(Pointer points, int count); + + Pointer nsegmentarr_geom(Pointer segments, int count); + + Pointer nsegmentarr_normalize(Pointer segments, Pointer count); + + String npoint_wkt_out(Pointer value, int maxdd); + + void npoint_set(long rid, double pos, Pointer np); + + void nsegment_set(long rid, double pos1, double pos2, Pointer ns); + + Pointer datum_npoint_round(Pointer npoint, Pointer size); + + Pointer tnpointinst_tgeompointinst(Pointer inst); + + Pointer tnpointseq_tgeompointseq_disc(Pointer is); + + Pointer tnpointseq_tgeompointseq_cont(Pointer seq); + + Pointer tnpointseqset_tgeompointseqset(Pointer ss); + + Pointer tgeompointinst_tnpointinst(Pointer inst); + + Pointer tgeompointseq_tnpointseq(Pointer seq); + + Pointer tgeompointseqset_tnpointseqset(Pointer ss); + + Pointer tnpointinst_positions(Pointer inst); + + Pointer tnpointseq_positions(Pointer seq, Pointer count); + + Pointer tnpointseqset_positions(Pointer ss, Pointer count); + + long tnpointinst_route(Pointer inst); + + Pointer tnpointinst_routes(Pointer inst); + + Pointer tnpointseq_disc_routes(Pointer is); + + Pointer tnpointseq_cont_routes(Pointer seq); + + Pointer tnpointseqset_routes(Pointer ss); + + Pointer tnpointseq_linear_positions(Pointer seq); + + Pointer tnpoint_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tnpoint_restrict_npoint(Pointer temp, Pointer np, boolean atfunc); + + Pointer tnpoint_restrict_npointset(Pointer temp, Pointer s, boolean atfunc); + + boolean npoint_set_stbox(Pointer np, Pointer box); + + void npointarr_set_stbox(Pointer values, int count, Pointer box); + + boolean nsegment_set_stbox(Pointer ns, Pointer box); + + boolean npoint_timestamptz_set_stbox(Pointer np, long t, Pointer box); + + boolean npoint_tstzspan_set_stbox(Pointer np, Pointer s, Pointer box); + + void tnpointinst_set_stbox(Pointer inst, Pointer box); + + void tnpointinstarr_set_stbox(Pointer inst, int count, int interp, Pointer box); + + void tnpointseq_expand_stbox(Pointer seq, Pointer inst); + + Pointer datum_npoint_distance(Pointer np1, Pointer np2); + + Pointer npoint_parse(Pointer str, boolean end); + + Pointer nsegment_parse(Pointer str); + + boolean contains_rid_tnpoint_bigint(Pointer temp, long rid, int invert); + + boolean contained_rid_tnpoint_bigint(Pointer temp, long rid, boolean invert); + + boolean same_rid_tnpoint_bigint(Pointer temp, long rid, int invert); + + boolean overlaps_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert); + + boolean contains_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert); + + boolean contained_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert); + + boolean same_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert); + + boolean contains_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert); + + boolean contained_rid_npoint_tnpoint(Pointer temp, Pointer np, boolean invert); + + boolean same_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert); + + boolean overlaps_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + boolean contains_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + boolean contained_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + boolean same_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); + + boolean ensure_same_rid_tnpointinst(Pointer inst1, Pointer inst2); + + Pointer tnpoint_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); + + int meos_pc_schema_get_srid(int pcid); + + boolean ensure_same_pcid_pcpatch(Pointer pa1, Pointer pa2); + + boolean ensure_valid_pcpatchset_pcpatch(Pointer s, Pointer pa); + + Pointer pcpatch_parse(Pointer str, boolean end); + + Pointer pcpatch_filter_per_point(Pointer pa, int pred, Pointer extra, boolean keep_when_true); + + boolean pcpatch_any_point_matches(Pointer pa, int pred, Pointer extra); + + boolean pcpoint_in_tpcbox(Pointer pt, Pointer extra); + + boolean pcpoint_intersects_geometry(Pointer pt, Pointer extra); + + boolean ensure_same_pcid_pcpoint(Pointer pt1, Pointer pt2); + + boolean ensure_valid_pcpointset_pcpoint(Pointer s, Pointer pt); + + Pointer pcpoint_parse(Pointer str, boolean end); + + Pointer meos_pc_point_serialize(Pointer pcpt); + + Pointer meos_pc_point_deserialize(Pointer serpt, Pointer schema); + + long meos_pc_patch_serialized_size(Pointer patch); + + Pointer meos_pc_patch_serialize(Pointer patch_in, Pointer userdata); + + Pointer meos_pc_patch_serialize_to_uncompressed(Pointer patch_in); + + Pointer meos_pc_patch_deserialize(Pointer serpatch, Pointer schema); + + void tpointcloudinst_set_tpcbox(Pointer inst, Pointer box); + + void tpointcloudinstarr_set_tpcbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box); + + void tpointcloudseq_expand_tpcbox(Pointer seq, Pointer inst); + + void tpointcloudseqarr_set_tpcbox(Pointer sequences, int count, Pointer box); + + Pointer tpcbox_extent_transfn(Pointer state, Pointer temp); + + boolean boxop_tpointcloud_tpcbox(Pointer temp, Pointer box, Pointer func, boolean inverted); + + boolean boxop_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2, Pointer func); + + void tpcbox_set_stbox(Pointer src, Pointer dst); + + double nad_tpcbox_tpcbox(Pointer box1, Pointer box2); + + double nad_tpointcloud_tpcbox(Pointer temp, Pointer box); + + double nad_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2); + + boolean tpcbox_index_leaf_consistent(Pointer key, Pointer query, int strategy); + + boolean tpcbox_gist_inner_consistent(Pointer key, Pointer query, int strategy); + + boolean tpcbox_index_recheck(int strategy); + + boolean ensure_valid_pose_geo(Pointer pose, Pointer gs); + + boolean ensure_valid_pose_stbox(Pointer pose, Pointer box); + + boolean ensure_valid_pose_pose(Pointer pose1, Pointer pose2); + + boolean ensure_valid_poseset_pose(Pointer s, Pointer pose); + + boolean pose_collinear(Pointer pose1, Pointer pose2, Pointer pose3, double ratio); + + Pointer posesegm_interpolate(Pointer start, Pointer end, double ratio); + + Pointer posesegm_locate(Pointer start, Pointer end, Pointer value); + + String pose_wkt_out(Pointer pose, boolean extended, int maxdd); + + Pointer pose_parse(Pointer str, boolean end); + + Pointer datum_pose_point(Pointer pose); + + Pointer datum_pose_rotation(Pointer pose); + + Pointer datum_pose_yaw(Pointer pose); + + Pointer datum_pose_pitch(Pointer pose); + + Pointer datum_pose_roll(Pointer pose); + + Pointer datum_pose_apply_geo(Pointer pose, Pointer body); + + Pointer datum_pose_round(Pointer pose, Pointer size); + + Pointer pose_distance(Pointer pose1, Pointer pose2); + + boolean pose_set_stbox(Pointer pose, Pointer box); + + void posearr_set_stbox(Pointer values, int count, Pointer box); + + boolean pose_timestamptz_set_stbox(Pointer pose, long t, Pointer box); + + boolean pose_tstzspan_set_stbox(Pointer pose, Pointer p, Pointer box); + + boolean ensure_valid_tpose_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_tpose_pose(Pointer temp, Pointer pose); + + boolean ensure_valid_tpose_stbox(Pointer temp, Pointer box); + + boolean ensure_valid_tpose_tpose(Pointer temp1, Pointer temp2); + + int tposesegm_intersection_value(Pointer start, Pointer end, Pointer value, long lower, long upper, Pointer t1, Pointer t2); + + int tposesegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); + + void tposeinst_set_stbox(Pointer inst, Pointer box); + + void tposeinstarr_set_stbox(Pointer instants, int count, Pointer box); + + void tposeseq_expand_stbox(Pointer seq, Pointer inst); + + Pointer tpose_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); + + Pointer tpose_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); + + Pointer tpose_restrict_elevation(Pointer temp, Pointer s, boolean atfunc); + + int geo_get_srid(Pointer g); + + Pointer cstring_to_text(String str); + + String text_to_cstring(Pointer txt); + + int date_in(String str); + + String date_out(int date); + + int interval_cmp(Pointer interv1, Pointer interv2); + + Pointer interval_in(String str, int typmod); + + Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs); + + String interval_out(Pointer interv); + + Pointer time_in(String str, int typmod); + + String time_out(Pointer time); + + long timestamp_in(String str, int typmod); + + String timestamp_out(long ts); + + long timestamptz_in(String str, int typmod); + + String timestamptz_out(long tstz); + + boolean ensure_has_geom(short flags); + + boolean ensure_valid_trgeo_geo(Pointer temp, Pointer gs); + + boolean ensure_valid_trgeo_stbox(Pointer temp, Pointer box); + + boolean ensure_valid_trgeo_trgeo(Pointer temp1, Pointer temp2); + + boolean ensure_valid_trgeo_tpoint(Pointer temp1, Pointer temp2); + + Pointer trgeo_geom_p(Pointer temp); + + String trgeo_wkt_out(Pointer temp, int maxdd, boolean extended); + + Pointer geo_tposeinst_to_trgeo(Pointer gs, Pointer inst); + + Pointer geo_tposeseq_to_trgeo(Pointer gs, Pointer seq); + + Pointer geo_tposeseqset_to_trgeo(Pointer gs, Pointer ss); + + boolean trgeo_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); + + Pointer trgeometry_restrict_value(Pointer temp, Pointer value, boolean atfunc); + + Pointer trgeoinst_geom_p(Pointer inst); + + long trgeoinst_pose_varsize(Pointer inst); + + void trgeoinst_set_pose(Pointer inst); + + Pointer trgeoinst_tposeinst(Pointer inst); + + Pointer trgeoinst_make1(Pointer geom, Pointer pose, long t); + + Pointer trgeoseq_to_tinstant(Pointer seq); + + Pointer trgeoseqset_to_tinstant(Pointer ts); + + Pointer trgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); + + Pointer trgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); + + int spatialrel_trgeo_trav_geo(Pointer temp, Pointer gs, Pointer param, Pointer func, int numparam, boolean invert); + + int ea_contains_geo_trgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_contains_trgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_contains_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); + + int ea_covers_geo_trgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_covers_trgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_covers_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); + + int ea_disjoint_geo_trgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_disjoint_trgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_disjoint_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); + + int ea_intersects_geo_trgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_intersects_trgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_intersects_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); + + int ea_touches_geo_trgeo(Pointer gs, Pointer temp, boolean ever); + + int ea_touches_trgeo_geo(Pointer temp, Pointer gs, boolean ever); + + int ea_touches_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); + + int ea_dwithin_trgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever); + + int ea_dwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist, boolean ever); + + Pointer trgeoseq_geom_p(Pointer seq); + + long trgeoseq_pose_varsize(Pointer seq); + + void trgeoseq_set_pose(Pointer seq); + + Pointer trgeoseq_tposeseq(Pointer seq); + + boolean trgeoseq_make_valid(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, boolean linear); + + Pointer trgeoseq_make1_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer trgeoseq_make1(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer trgeoseq_make_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer trgeoseq_make(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer trgeoseq_make_free_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer trgeoseq_make_free(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); + + Pointer trgeoinst_to_tsequence(Pointer inst, int interp); + + Pointer trgeoseqset_geom_p(Pointer ts); + + Pointer trgeoseqset_tposeseqset(Pointer ss); + + Pointer trgeoseqset_make1_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize); + + Pointer trgeoseqset_make_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize); + + Pointer trgeoseqset_make(Pointer geom, Pointer sequences, int count, boolean normalize); + + Pointer trgeoseqset_make_free(Pointer geom, Pointer sequences, int count, boolean normalize); + + Pointer trgeoseqset_make_gaps(Pointer geom, Pointer instants, int count, int interp, Pointer maxt, double maxdist); + + Pointer trgeoseqset_to_tsequence(Pointer ss); + + Pointer trgeo_to_tsequence(Pointer temp, String interp_str); + + Pointer trgeo_to_tsequenceset(Pointer temp, String interp_str); + + void trgeoinst_set_stbox(Pointer geom, Pointer inst, Pointer box); + + void trgeoinstarr_static_stbox(Pointer geom, Pointer instants, int count, Pointer box); + + void trgeoinstarr_rotating_stbox(Pointer geom, Pointer instants, int count, Pointer box); + + void trgeoinstarr_compute_bbox(Pointer geom, Pointer instants, int count, int interp, Pointer box); + + boolean ensure_span_isof_type(Pointer s, int spantype); + + boolean ensure_span_isof_basetype(Pointer s, int basetype); + + boolean ensure_same_span_type(Pointer s1, Pointer s2); + + boolean ensure_valid_span_span(Pointer s1, Pointer s2); + + void span_deserialize(Pointer s, Pointer lower, Pointer upper); + + int span_bound_cmp(Pointer b1, Pointer b2); + + int span_bound_qsort_cmp(Pointer s1, Pointer s2); + + int span_lower_cmp(Pointer s1, Pointer s2); + + int span_upper_cmp(Pointer s1, Pointer s2); + + Pointer span_decr_bound(Pointer upper, int basetype); + + Pointer span_incr_bound(Pointer upper, int basetype); + + Pointer spanarr_normalize(Pointer spans, int count, boolean sort, Pointer newcount); + + void span_bounds_shift_scale_value(Pointer shift, Pointer width, int type, boolean hasshift, boolean haswidth, Pointer lower, Pointer upper); + + void span_bounds_shift_scale_time(Pointer shift, Pointer duration, Pointer lower, Pointer upper); + + void floatspan_floor_ceil_iter(Pointer s, int func); + + void numspan_delta_scale_iter(Pointer s, Pointer origin, Pointer delta, boolean hasdelta, double scale); + + void tstzspan_delta_scale_iter(Pointer s, long origin, long delta, double scale); + + void numspan_shift_scale_iter(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth, Pointer delta, Pointer scale); + + void tstzspan_shift_scale1(Pointer s, Pointer shift, Pointer duration, Pointer delta, Pointer scale); + + int mi_span_value(Pointer s, Pointer value, Pointer result); + + double dist_double_value_value(Pointer l, Pointer r, int type); + + int trgeo_geom_clip_polygon(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer pa, Pointer intervals_out); + + int trgeo_geom_clip_lwpoly(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer poly, Pointer intervals_out); + + int trgeo_geom_clip_box(Pointer a1, Pointer b1, Pointer a2, Pointer b2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out); + + int trgeo_geom_clip_polygon_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer pa, Pointer intervals_out); + + int trgeo_geom_clip_lwpoly_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer poly, Pointer intervals_out); + + int trgeo_geom_clip_box_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out); + + int trgeo_geom_clip_lwgeom(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer geom, Pointer intervals_out); + + int trgeo_geom_clip_lwgeom_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer geom, Pointer intervals_out); + + Pointer trgeo_parse(Pointer str, int temptype); + + boolean ensure_same_geom(Pointer gs1, Pointer gs2); + + void lwgeom_apply_pose(Pointer pose, Pointer geom); + + Pointer geom_apply_pose(Pointer gs, Pointer pose); + + double geom_radius(Pointer gs); + + int v_clip_tpoly_point(Pointer poly, Pointer point, Pointer pose, Pointer poly_feature, Pointer dist); + + int v_clip_tpoly_tpoly(Pointer poly1, Pointer poly2, Pointer pose1, Pointer pose2, Pointer poly1_feature, Pointer poly2_feature, Pointer dist); + + void apply_pose_point4d(Pointer p, Pointer pose); + + Pointer tfunc_tinstant(Pointer inst, Pointer lfinfo); + + Pointer tfunc_tsequence(Pointer seq, Pointer lfinfo); + + Pointer tfunc_tsequenceset(Pointer ss, Pointer lfinfo); + + Pointer tfunc_temporal(Pointer temp, Pointer lfinfo); + + Pointer tfunc_tinstant_base(Pointer inst, Pointer value, Pointer lfinfo); + + Pointer tfunc_tsequence_base(Pointer seq, Pointer value, Pointer lfinfo); + + Pointer tfunc_tsequenceset_base(Pointer ss, Pointer value, Pointer lfinfo); + + Pointer tfunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo); + + Pointer tfunc_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer lfinfo); + + Pointer tfunc_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer lfinfo); + + Pointer tfunc_tcontseq_tcontseq(Pointer seq1, Pointer seq2, Pointer lfinfo); + + Pointer tfunc_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, Pointer lfinfo); + + Pointer tfunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo); + + int eafunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo); + + int eafunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo); + + Pointer lfunc_set(Pointer set, Pointer lfinfo); + + String set_out_fn(Pointer s, int maxdd, Pointer value_out); + + boolean ensure_set_isof_type(Pointer s, int settype); + + boolean ensure_valid_set_set(Pointer s1, Pointer s2); + + boolean set_find_value(Pointer s, Pointer arg1, Pointer loc); + + Pointer set_unnest_state_make(Pointer set); + + void set_unnest_state_next(Pointer state); + + boolean ensure_same_skiplist_subtype(Pointer state, byte subtype); + + void skiplist_set_extra(Pointer state, Pointer data, long size); + + Pointer skiplist_headval(Pointer list); + + int common_entry_cmp(Pointer i1, Pointer i2); + + boolean span_index_leaf_consistent(Pointer key, Pointer query, int strategy); + + boolean span_gist_inner_consistent(Pointer key, Pointer query, int strategy); + + boolean span_index_recheck(int strategy); + + int span_lower_qsort_cmp(Pointer a, Pointer b); + + int span_upper_qsort_cmp(Pointer a, Pointer b); + + byte getQuadrant2D(Pointer centroid, Pointer query); + + boolean overlap2D(Pointer nodebox, Pointer query); + + boolean contain2D(Pointer nodebox, Pointer query); + + boolean left2D(Pointer nodebox, Pointer query); + + boolean overLeft2D(Pointer nodebox, Pointer query); + + boolean right2D(Pointer nodebox, Pointer query); + + boolean overRight2D(Pointer nodebox, Pointer query); + + boolean adjacent2D(Pointer nodebox, Pointer query); + + double distance_span_nodespan(Pointer query, Pointer nodebox); + + boolean span_spgist_get_span(Pointer value, int type, Pointer result); + + void spannode_init(Pointer nodebox, int spantype, int basetype); + + Pointer spannode_copy(Pointer orig); + + void spannode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodespan); + + void spannode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodespan); + + boolean ensure_spanset_isof_type(Pointer ss, int spansettype); + + boolean ensure_same_spanset_type(Pointer ss1, Pointer ss2); + + boolean ensure_same_spanset_span_type(Pointer ss, Pointer s); + + boolean ensure_valid_spanset_span(Pointer ss, Pointer s); + + boolean ensure_valid_spanset_spanset(Pointer ss1, Pointer ss2); + + boolean spanset_find_value(Pointer ss, Pointer v, Pointer loc); + + Pointer datum_and(Pointer l, Pointer r); + + Pointer datum_or(Pointer l, Pointer r); + + Pointer boolop_tbool_bool(Pointer temp, Pointer b, Pointer func, boolean invert); + + Pointer boolop_tbool_tbool(Pointer temp1, Pointer temp2, Pointer func); + + boolean ensure_same_dimensionality_tbox(Pointer box1, Pointer box2); + + Pointer set_tbox(Pointer s); + + Pointer span_tbox(Pointer s); + + Pointer tbox_tstzspan(Pointer box); + + Pointer tbox_intspan(Pointer box); + + Pointer tbox_floatspan(Pointer box); + + boolean tbox_index_leaf_consistent(Pointer key, Pointer query, int strategy); + + boolean tbox_gist_inner_consistent(Pointer key, Pointer query, int strategy); + + boolean tbox_index_recheck(int strategy); + + void tboxnode_init(Pointer centroid, Pointer nodebox); + + Pointer tboxnode_copy(Pointer box); + + byte getQuadrant4D(Pointer centroid, Pointer inBox); + + void tboxnode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodebox); + + void tboxnode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodebox); + + boolean overlap4D(Pointer nodebox, Pointer query); + + boolean contain4D(Pointer nodebox, Pointer query); + + boolean left4D(Pointer nodebox, Pointer query); + + boolean overLeft4D(Pointer nodebox, Pointer query); + + boolean right4D(Pointer nodebox, Pointer query); + + boolean overRight4D(Pointer nodebox, Pointer query); + + boolean before4D(Pointer nodebox, Pointer query); + + boolean overBefore4D(Pointer nodebox, Pointer query); + + boolean after4D(Pointer nodebox, Pointer query); + + boolean overAfter4D(Pointer nodebox, Pointer query); + + double distance_tbox_nodebox(Pointer query, Pointer nodebox); + + void tnumber_spgist_get_tbox(Pointer value, int type, Pointer result); + + int tbox_xmin_cmp(Pointer box1, Pointer box2); + + int tbox_xmax_cmp(Pointer box1, Pointer box2); + + int tbox_tmin_cmp(Pointer box1, Pointer box2); + + int tbox_tmax_cmp(Pointer box1, Pointer box2); + + int tbox_level_cmp(Pointer centroid, Pointer query, int level); + + Pointer datum_min_int32(Pointer l, Pointer r); + + Pointer datum_max_int32(Pointer l, Pointer r); + + Pointer datum_min_int64(Pointer l, Pointer r); + + Pointer datum_max_int64(Pointer l, Pointer r); + + Pointer datum_min_float8(Pointer l, Pointer r); + + Pointer datum_max_float8(Pointer l, Pointer r); + + Pointer datum_sum_int32(Pointer l, Pointer r); + + Pointer datum_sum_int64(Pointer l, Pointer r); + + Pointer datum_sum_float8(Pointer l, Pointer r); + + Pointer datum_min_text(Pointer l, Pointer r); + + Pointer datum_max_text(Pointer l, Pointer r); + + Pointer datum_sum_double2(Pointer l, Pointer r); + + Pointer datum_sum_double3(Pointer l, Pointer r); + + Pointer datum_sum_double4(Pointer l, Pointer r); + + int temporal_skiplist_common(Pointer list, Pointer values, int count, Pointer lower, Pointer upper, Pointer update); + + Pointer temporal_skiplist_merge(Pointer spliced, int spliced_count, Pointer values, int count, Pointer func, boolean crossings, Pointer newcount, Pointer tofree, Pointer nfree); + + Pointer tinstant_tagg(Pointer instants1, int count1, Pointer instants2, int count2, Pointer func, Pointer newcount, Pointer tofree, Pointer nfree); + + Pointer tsequence_tagg(Pointer sequences1, int count1, Pointer sequences2, int count2, Pointer func, boolean crossings, Pointer newcount); + + Pointer tcontseq_tagg_transfn(Pointer state, Pointer seq, Pointer func, boolean interpoint); + + Pointer temporal_tagg_combinefn(Pointer state1, Pointer state2, Pointer func, boolean crossings); + + Pointer tinstant_tagg_transfn(Pointer state, Pointer inst, Pointer func); + + Pointer tinstant_tavg_finalfn(Pointer instants, int count); + + Pointer tsequence_tavg_finalfn(Pointer sequences, int count); + + Pointer tnumberinst_transform_tavg(Pointer inst); + + Pointer temporal_transform_tcount(Pointer temp, Pointer count); + + Pointer temporal_transform_tagg(Pointer temp, Pointer count, Pointer func); + + Pointer tsequenceset_tagg_transfn(Pointer state, Pointer ss, Pointer func, boolean crossings); + + Pointer tdiscseq_tagg_transfn(Pointer state, Pointer seq, Pointer func); + + Pointer temporal_tagg_transfn(Pointer state, Pointer temp, Pointer arg2, boolean crossings); + + Pointer temporal_tagg_transform_transfn(Pointer state, Pointer temp, Pointer func, boolean crossings, Pointer transform); + + double temporal_similarity(Pointer temp1, Pointer temp2, int simfunc); + + Pointer temporal_similarity_path(Pointer temp1, Pointer temp2, Pointer count, int simfunc); + + long temporal_bbox_size(int tempype); + + void tinstarr_set_bbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer bbox); + + void tsequence_compute_bbox(Pointer seq); + + void tseqarr_compute_bbox(Pointer sequences, int count, Pointer bbox); + + void tsequenceset_compute_bbox(Pointer ss); + + boolean boxop_temporal_tstzspan(Pointer temp, Pointer s, Pointer func, boolean invert); + + boolean boxop_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func); + + boolean boxop_tnumber_numspan(Pointer temp, Pointer span, Pointer func, boolean invert); + + boolean boxop_tnumber_tbox(Pointer temp, Pointer box, Pointer func, boolean invert); + + boolean boxop_tnumber_tnumber(Pointer temp1, Pointer temp2, Pointer func); + + int eacomp_base_temporal(Pointer value, Pointer temp, Pointer func, boolean ever); + + int eacomp_temporal_base(Pointer temp, Pointer value, Pointer func, boolean ever); + + int eacomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func, boolean ever); + + Pointer tcomp_base_temporal(Pointer value, Pointer temp, Pointer func); + + Pointer tcomp_temporal_base(Pointer temp, Pointer value, Pointer func); + + Pointer tcomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func); + + Pointer tdiscseq_at_timestamptz(Pointer seq, long t); + + Pointer tdiscseq_restrict_value(Pointer seq, Pointer value, boolean atfunc); + + Pointer tdiscseq_restrict_values(Pointer seq, Pointer s, boolean atfunc); + + Pointer tdiscseq_minus_timestamptz(Pointer seq, long t); + + Pointer tdiscseq_restrict_tstzset(Pointer seq, Pointer s, boolean atfunc); + + Pointer tdiscseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); + + int tcontseq_restrict_value_iter(Pointer seq, Pointer value, boolean atfunc, Pointer result); + + Pointer tcontseq_delete_timestamptz(Pointer seq, long t); + + Pointer tcontseq_delete_tstzset(Pointer seq, Pointer s); + + Pointer tcontseq_delete_tstzspanset(Pointer seq, Pointer ss); + + Pointer tcontseq_at_tstzset(Pointer seq, Pointer s); + + Pointer tcontseq_minus_timestamptz(Pointer seq, long t); + + Pointer tcontseq_minus_tstzset(Pointer seq, Pointer s); + + Pointer tcontseq_minus_tstzspan(Pointer seq, Pointer s); + + Pointer tcontseq_restrict_value(Pointer seq, Pointer value, boolean atfunc); + + Pointer tcontseq_restrict_values(Pointer seq, Pointer s, boolean atfunc); + + int tsequence_at_values_iter(Pointer seq, Pointer set, Pointer result); + + int tnumberseq_cont_restrict_span_iter(Pointer seq, Pointer span, boolean atfunc, Pointer result); + + int tnumberseq_cont_restrict_spanset_iter(Pointer seq, Pointer ss, boolean atfunc, Pointer result); + + Pointer tsegment_at_timestamptz(Pointer inst1, Pointer inst2, int interp, long t); + + int tcontseq_minus_timestamp_iter(Pointer seq, long t, Pointer result); + + int tcontseq_minus_tstzset_iter(Pointer seq, Pointer s, Pointer result); + + int tcontseq_at_tstzspanset1(Pointer seq, Pointer ss, Pointer result); + + int tcontseq_minus_tstzspanset_iter(Pointer seq, Pointer ss, Pointer result); + + Pointer tcontseq_at_tstzspan(Pointer seq, Pointer s); + + Pointer tcontseq_at_timestamptz(Pointer seq, long t); + + Pointer tcontseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); + + boolean tdiscseq_value_at_timestamptz(Pointer seq, long t, Pointer result); + + Pointer tnumberseq_disc_restrict_span(Pointer seq, Pointer span, boolean atfunc); + + Pointer tnumberseq_disc_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc); + + Pointer tnumberseq_cont_restrict_span(Pointer seq, Pointer span, boolean atfunc); + + Pointer tnumberseq_cont_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc); + + double tnumberseq_cont_twavg(Pointer seq); + + int span_num_bins(Pointer s, Pointer size, Pointer origin, Pointer start_bin, Pointer end_bin); + + Pointer temporal_time_bin_init(Pointer temp, Pointer duration, long torigin, Pointer nbins); + + Pointer tbox_tile_state_make(Pointer temp, Pointer box, Pointer vsize, Pointer duration, Pointer xorigin, long torigin); + + void tbox_tile_state_next(Pointer state); + + void tbox_tile_state_set(Pointer value, long t, Pointer vsize, long tunits, int basetype, int spantype, Pointer box); + + long interval_units(Pointer interval); + + long timestamptz_bin_start(long timestamp, long tunits, long torigin); + + Pointer datum_bin(Pointer value, Pointer size, Pointer offset, int basetype); + + Pointer tnumber_value_time_tile_init(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, Pointer ntiles); + + boolean tbox_tile_state_get(Pointer state, Pointer box); + + Pointer temporal_transform_wcount(Pointer temp, Pointer interval, Pointer count); + + Pointer tnumber_transform_wavg(Pointer temp, Pointer interval, Pointer count); + + Pointer temporal_wagg_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, boolean min, boolean crossings); + + Pointer temporal_wagg_transform_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, Pointer transform); + + void tinstant_set(Pointer inst, Pointer value, long t); + + double tnumberinst_double(Pointer inst); + + String tinstant_to_string(Pointer inst, int maxdd, Pointer value_out); + + boolean tinstant_restrict_values_test(Pointer inst, Pointer s, boolean atfunc); + + boolean tnumberinst_restrict_span_test(Pointer inst, Pointer s, boolean atfunc); + + boolean tnumberinst_restrict_spanset_test(Pointer inst, Pointer ss, boolean atfunc); + + boolean tinstant_restrict_tstzset_test(Pointer inst, Pointer s, boolean atfunc); + + boolean tinstant_restrict_tstzspanset_test(Pointer inst, Pointer ss, boolean atfunc); + + boolean intersection_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer inter1, Pointer inter2); + + void _mulmat(Pointer a, Pointer b, Pointer c, int arows, int acols, int bcols); + + void _mulvec(Pointer a, Pointer x, Pointer y, int m, int n); + + void _transpose(Pointer a, Pointer at, int m, int n); + + void _addmat(Pointer a, Pointer b, Pointer c, int m, int n); + + void _negate(Pointer a, int m, int n); + + void _addeye(Pointer a, int n); + + int _choldc1(Pointer a, Pointer p, int n); + + int _choldcsl(Pointer A, Pointer a, Pointer p, int n); + + int _cholsl(Pointer A, Pointer a, Pointer p, int n); + + void _addvec(Pointer a, Pointer b, Pointer c, int n); + + void _sub(Pointer a, Pointer b, Pointer c, int n); + + int invert(Pointer a, Pointer ainv); + + void ekf_initialize(Pointer ekf, float pdiag); + + void ekf_predict(Pointer ekf, float fx, float F, float Q); + + void ekf_update_step3(Pointer ekf, float GH); + + int ekf_update(Pointer ekf, float z, float hx, float H, float R); + + int tfloat_arithop_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param); + + Pointer arithop_tnumber_number(Pointer temp, Pointer value, int oper, Pointer func, boolean invert); + + Pointer arithop_tnumber_tnumber(Pointer temp1, Pointer temp2, int oper, Pointer func, Pointer tpfunc); + + boolean float_collinear(double x1, double x2, double x3, double ratio); + + double floatsegm_interpolate(double value1, double value2, Pointer value); + + Pointer floatsegm_locate(double value1, double value2, double value); + + int tnumbersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int basetype, long lower, long upper, Pointer t1, Pointer t2); + + boolean tsequence_norm_test(Pointer value1, Pointer value2, Pointer value3, int basetype, int interp, long t1, long t2, long t3); + + boolean tsequence_join_test(Pointer seq1, Pointer seq2, Pointer removelast, Pointer removefirst); + + Pointer tsequence_join(Pointer seq1, Pointer seq2, boolean removelast, boolean removefirst); + + Pointer tinstarr_normalize(Pointer instants, int interp, int count, Pointer newcount); + + int tcontseq_find_timestamptz(Pointer seq, long t); + + int tdiscseq_find_timestamptz(Pointer seq, long t); + + Pointer tseqarr2_to_tseqarr(Pointer sequences, Pointer countseqs, int count, int totalseqs); + + boolean ensure_valid_tinstarr_common(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp); + + Pointer tsequence_make_exp1(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize, Pointer bbox); + + boolean synchronize_tsequence_tsequence(Pointer seq1, Pointer seq2, Pointer sync1, Pointer sync2, boolean interpoint); + + int tfloatsegm_intersection_value(Pointer start, Pointer end, Pointer value, long lower, long upper, Pointer t); + + int tsegment_intersection_value(Pointer start, Pointer end, Pointer value, int temptype, long lower, long upper, Pointer t1, Pointer t2); + + int tsegment_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int temptype, long lower, long upper, Pointer t1, Pointer t2); + + Pointer tsegment_value_at_timestamptz(Pointer start, Pointer end, int temptype, long lower, long upper, long t); + + boolean intersection_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2); + + boolean intersection_tcontseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2); + + boolean intersection_tdiscseq_tcontseq(Pointer is, Pointer seq2, Pointer inter1, Pointer inter2); + + boolean intersection_tsequence_tinstant(Pointer seq, Pointer inst, Pointer inter1, Pointer inter2); + + boolean intersection_tinstant_tsequence(Pointer inst, Pointer seq, Pointer inter1, Pointer inter2); + + String tsequence_to_string(Pointer seq, int maxdd, boolean component, Pointer value_out); + + boolean ensure_increasing_timestamps(Pointer inst1, Pointer inst2, boolean strict); + + void bbox_expand(Pointer box1, Pointer box2, int temptype); + + boolean ensure_valid_tinstarr(Pointer instants, int count, boolean merge, int interp); + + boolean tsequence_make_valid(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp); + + void tnumberseq_shift_scale_value_iter(Pointer seq, Pointer origin, Pointer delta, boolean hasdelta, double scale); + + void tsequence_shift_scale_time_iter(Pointer seq, long delta, double scale); + + int tstepseq_to_linear_iter(Pointer seq, Pointer result); + + Pointer tstepseq_to_linear(Pointer seq); + + int tsequence_segments_iter(Pointer seq, Pointer result); + + int tsequence_timestamps_iter(Pointer seq, Pointer result); + + boolean tsequenceset_find_timestamptz(Pointer ss, long t, Pointer loc); + + Pointer tseqarr_normalize(Pointer sequences, int count, Pointer newcount); + + double datum_distance(Pointer value1, Pointer value2, int basetype, short flags); + + Pointer ensure_valid_tinstarr_gaps(Pointer instants, int count, boolean merge, double maxdist, Pointer maxt, Pointer nsplits); + + boolean ensure_valid_tseqarr(Pointer sequences, int count); + + boolean synchronize_tsequenceset_tsequence(Pointer ss, Pointer seq, int mode, Pointer inter1, Pointer inter2); + + boolean synchronize_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, int mode, Pointer inter1, Pointer inter2); + + boolean intersection_tsequenceset_tinstant(Pointer ss, Pointer inst, Pointer inter1, Pointer inter2); + + boolean intersection_tinstant_tsequenceset(Pointer inst, Pointer ss, Pointer inter1, Pointer inter2); + + boolean intersection_tsequenceset_tdiscseq(Pointer ss, Pointer is, Pointer inter1, Pointer inter2); + + boolean intersection_tdiscseq_tsequenceset(Pointer is, Pointer ss, Pointer inter1, Pointer inter2); + + boolean intersection_tsequence_tsequenceset(Pointer seq, Pointer ss, int mode, Pointer inter1, Pointer inter2); + + String tsequenceset_to_string(Pointer ss, int maxdd, Pointer value_out); + + Pointer datum_textcat(Pointer l, Pointer r); + + Pointer datum_lower(Pointer value); + + Pointer datum_upper(Pointer value); + + Pointer datum_initcap(Pointer value); + + Pointer textfunc_ttext(Pointer temp, int func); + + Pointer textfunc_ttext_text(Pointer temp, Pointer value, Pointer func, boolean invert); + + Pointer textfunc_ttext_ttext(Pointer temp1, Pointer temp2, Pointer func); + + Pointer datum_as_wkb(Pointer value, int type, byte variant, Pointer size_out); + + String datum_as_hexwkb(Pointer value, int type, byte variant, Pointer size); + + Pointer type_from_wkb(Pointer wkb, long size, int type); + + Pointer type_from_hexwkb(String hexwkb, long size, int type); + + boolean ensure_end_input(Pointer str, String type); + + void p_whitespace(Pointer str); + + boolean p_delimchar(Pointer str, String delim); + + boolean p_obrace(Pointer str); + + boolean ensure_obrace(Pointer str, String type); + + boolean p_cbrace(Pointer str); + + boolean ensure_cbrace(Pointer str, String type); + + boolean p_obracket(Pointer str); + + boolean p_cbracket(Pointer str); + + boolean p_oparen(Pointer str); + + boolean ensure_oparen(Pointer str, String type); + + boolean p_cparen(Pointer str); + + boolean ensure_cparen(Pointer str, String type); + + boolean p_comma(Pointer str); + + boolean basetype_parse(Pointer str, int basetypid, String delim, Pointer result); + + boolean double_parse(Pointer str, Pointer result); + + boolean elem_parse(Pointer str, int basetype, Pointer result); + + Pointer set_parse(Pointer str, int basetype); + + boolean span_parse(Pointer str, int spantype, boolean end, Pointer span); + + Pointer spanset_parse(Pointer str, int spantype); + + Pointer tbox_parse(Pointer str); + + long timestamp_parse(Pointer str); + + Pointer tinstant_parse(Pointer str, int temptype, boolean end); + + Pointer tdiscseq_parse(Pointer str, int temptype); + + Pointer tcontseq_parse(Pointer str, int temptype, int interp, boolean end); + + Pointer tsequenceset_parse(Pointer str, int temptype, int interp); + + Pointer temporal_parse(Pointer str, int temptype); + + Pointer datum_copy(Pointer value, int typid); + + double datum_double(Pointer d, int type); + + Pointer double_datum(double d, int type); + + Pointer bstring2bytea(Pointer wkb, long size); + + double meos_strtod(String str, Pointer endptr); + + boolean basetype_in(String str, int type, boolean end, Pointer result); + + String basetype_out(Pointer value, int type, int maxdd); + + void pfree_array(Pointer array, int count); + + boolean string_escape(String str, int quotes, Pointer result); + + long string_unescape(String str, Pointer result); + + String stringarr_to_string(Pointer strings, int count, String prefix, String open, String close, int quotes, boolean spaces); + + void datumarr_sort(Pointer values, int count, int basetype); + + void tstzarr_sort(Pointer times, int count); + + void spanarr_sort(Pointer spans, int count); + + void tinstarr_sort(Pointer instants, int count); + + void tseqarr_sort(Pointer sequences, int count); + + int datumarr_remove_duplicates(Pointer values, int count, int basetype); + + int tstzarr_remove_duplicates(Pointer values, int count); + + int tinstarr_remove_duplicates(Pointer instants, int count); + + Pointer datum_add(Pointer l, Pointer r, int type); + + Pointer datum_sub(Pointer l, Pointer r, int type); + + Pointer datum_mul(Pointer l, Pointer r, int type); + + Pointer datum_div(Pointer l, Pointer r, int type); + + int datum_cmp(Pointer l, Pointer r, int type); + + boolean datum_eq(Pointer l, Pointer r, int type); + + boolean datum_ne(Pointer l, Pointer r, int type); + + boolean datum_lt(Pointer l, Pointer r, int type); + + boolean datum_le(Pointer l, Pointer r, int type); + + boolean datum_gt(Pointer l, Pointer r, int type); + + boolean datum_ge(Pointer l, Pointer r, int type); + + Pointer datum2_eq(Pointer l, Pointer r, int type); + + Pointer datum2_ne(Pointer l, Pointer r, int type); + + Pointer datum2_lt(Pointer l, Pointer r, int type); + + Pointer datum2_le(Pointer l, Pointer r, int type); + + Pointer datum2_gt(Pointer l, Pointer r, int type); + + Pointer datum2_ge(Pointer l, Pointer r, int type); + + double hypot3d(double x, double y, double z); + + } + + private static final String _LIB = "libmeos.so"; + + static final MeosLibraryPartA _meos_a = + JarLibraryLoader.create(MeosLibraryPartA.class, _LIB).getLibraryInstance(); + static final MeosLibraryPartB _meos_b = + JarLibraryLoader.create(MeosLibraryPartB.class, _LIB).getLibraryInstance(); + static final MeosLibraryPartC _meos_c = + JarLibraryLoader.create(MeosLibraryPartC.class, _LIB).getLibraryInstance(); + static final MeosLibraryPartD _meos_d = + JarLibraryLoader.create(MeosLibraryPartD.class, _LIB).getLibraryInstance(); + + private static final java.util.Map _dispatch; + static { + _dispatch = new java.util.HashMap<>(4096); + for (java.lang.reflect.Method _m : MeosLibraryPartA.class.getMethods()) + _dispatch.put(_m.getName(), _meos_a); + for (java.lang.reflect.Method _m : MeosLibraryPartB.class.getMethods()) + _dispatch.put(_m.getName(), _meos_b); + for (java.lang.reflect.Method _m : MeosLibraryPartC.class.getMethods()) + _dispatch.put(_m.getName(), _meos_c); + for (java.lang.reflect.Method _m : MeosLibraryPartD.class.getMethods()) + _dispatch.put(_m.getName(), _meos_d); + } + + + + @SuppressWarnings("unused") + public static void meos_error(int errlevel, int errcode, String format) { + _meos_a.meos_error(errlevel, errcode, format); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int meos_errno() { + var _result = _meos_a.meos_errno(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_errno_set(int err) { + var _result = _meos_a.meos_errno_set(err); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_errno_restore(int err) { + var _result = _meos_a.meos_errno_restore(err); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_errno_reset() { + var _result = _meos_a.meos_errno_reset(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_array_create(int elem_size) { + var _result = _meos_a.meos_array_create(elem_size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_array_add(Pointer array, Pointer value) { + _meos_a.meos_array_add(array, value); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer meos_array_get(Pointer array, int n) { + var _result = _meos_a.meos_array_get(array, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_array_count(Pointer array) { + var _result = _meos_a.meos_array_count(array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_array_reset(Pointer array) { + _meos_a.meos_array_reset(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_array_reset_free(Pointer array) { + _meos_a.meos_array_reset_free(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_array_destroy(Pointer array) { + _meos_a.meos_array_destroy(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_array_destroy_free(Pointer array) { + _meos_a.meos_array_destroy_free(array); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_intspan() { + var _result = _meos_a.rtree_create_intspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_bigintspan() { + var _result = _meos_a.rtree_create_bigintspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_floatspan() { + var _result = _meos_a.rtree_create_floatspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_datespan() { + var _result = _meos_a.rtree_create_datespan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_tstzspan() { + var _result = _meos_a.rtree_create_tstzspan(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_tbox() { + var _result = _meos_a.rtree_create_tbox(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer rtree_create_stbox() { + var _result = _meos_a.rtree_create_stbox(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void rtree_free(Pointer rtree) { + _meos_a.rtree_free(rtree); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void rtree_insert(Pointer rtree, Pointer box, int id) { + _meos_a.rtree_insert(rtree, box, id); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void rtree_insert_temporal(Pointer rtree, Pointer temp, int id) { + _meos_a.rtree_insert_temporal(rtree, temp, id); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void rtree_insert_temporal_split(Pointer rtree, Pointer temp, int id, int maxboxes) { + _meos_a.rtree_insert_temporal_split(rtree, temp, id, maxboxes); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int rtree_search(Pointer rtree, int op, Pointer query, Pointer result) { + var _result = _meos_a.rtree_search(rtree, op, query, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result) { + var _result = _meos_a.rtree_search_temporal(rtree, op, temp, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int rtree_search_temporal_dedup(Pointer rtree, int op, Pointer temp, int maxboxes, Pointer result) { + var _result = _meos_a.rtree_search_temporal_dedup(rtree, op, temp, maxboxes, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_initialize_error_handler(error_handler_fn err_handler) { + _meos_a.meos_initialize_error_handler(err_handler); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_initialize_noexit_error_handler() { + _meos_a.meos_initialize_noexit_error_handler(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_initialize_timezone(String name) { + _meos_a.meos_initialize_timezone(name); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_initialize_collation() { + _meos_a.meos_initialize_collation(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_timezone() { + _meos_a.meos_finalize_timezone(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_collation() { + _meos_a.meos_finalize_collation(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_projsrs() { + _meos_a.meos_finalize_projsrs(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize_ways() { + _meos_a.meos_finalize_ways(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean meos_set_datestyle(String newval, Pointer extra) { + var _result = _meos_a.meos_set_datestyle(newval, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_set_intervalstyle(String newval, int extra) { + var _result = _meos_a.meos_set_intervalstyle(newval, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String meos_get_datestyle() { + var _result = _meos_a.meos_get_datestyle(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String meos_get_intervalstyle() { + var _result = _meos_a.meos_get_intervalstyle(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_set_spatial_ref_sys_csv(String path) { + _meos_a.meos_set_spatial_ref_sys_csv(path); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_set_ways_csv(String path) { + _meos_a.meos_set_ways_csv(path); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_initialize() { + _meos_a.meos_initialize(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_finalize() { + _meos_a.meos_finalize(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer bigintset_in(String str) { + var _result = _meos_a.bigintset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bigintset_out(Pointer set) { + var _result = _meos_a.bigintset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_expand(Pointer sp, long value) { + var _result = _meos_a.bigintspan_expand(sp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_in(String str) { + var _result = _meos_a.bigintspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bigintspan_out(Pointer sp) { + var _result = _meos_a.bigintspan_out(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspanset_in(String str) { + var _result = _meos_a.bigintspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String bigintspanset_out(Pointer ss) { + var _result = _meos_a.bigintspanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_in(String str) { + var _result = _meos_a.dateset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String dateset_out(Pointer s) { + var _result = _meos_a.dateset_out(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_in(String str) { + var _result = _meos_a.datespan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String datespan_out(Pointer sp) { + var _result = _meos_a.datespan_out(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_in(String str) { + var _result = _meos_a.datespanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String datespanset_out(Pointer ss) { + var _result = _meos_a.datespanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_in(String str) { + var _result = _meos_a.floatset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String floatset_out(Pointer set, int maxdd) { + var _result = _meos_a.floatset_out(set, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_expand(Pointer sp, double value) { + var _result = _meos_a.floatspan_expand(sp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_in(String str) { + var _result = _meos_a.floatspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String floatspan_out(Pointer sp, int maxdd) { + var _result = _meos_a.floatspan_out(sp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_in(String str) { + var _result = _meos_a.floatspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String floatspanset_out(Pointer ss, int maxdd) { + var _result = _meos_a.floatspanset_out(ss, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_in(String str) { + var _result = _meos_a.intset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String intset_out(Pointer set) { + var _result = _meos_a.intset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_expand(Pointer sp, int value) { + var _result = _meos_a.intspan_expand(sp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_in(String str) { + var _result = _meos_a.intspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String intspan_out(Pointer sp) { + var _result = _meos_a.intspan_out(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_in(String str) { + var _result = _meos_a.intspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String intspanset_out(Pointer ss) { + var _result = _meos_a.intspanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String set_as_hexwkb(Pointer s, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.set_as_hexwkb(s, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_as_wkb(Pointer s, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.set_as_wkb(s, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_from_hexwkb(String hexwkb) { + var _result = _meos_a.set_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.set_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String span_as_hexwkb(Pointer sp, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.span_as_hexwkb(sp, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_as_wkb(Pointer sp, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.span_as_wkb(sp, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_from_hexwkb(String hexwkb) { + var _result = _meos_a.span_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.span_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spanset_as_hexwkb(Pointer ss, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.spanset_as_hexwkb(ss, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_as_wkb(Pointer ss, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.spanset_as_wkb(ss, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_from_hexwkb(String hexwkb) { + var _result = _meos_a.spanset_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.spanset_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_in(String str) { + var _result = _meos_a.textset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String textset_out(Pointer set) { + var _result = _meos_a.textset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_in(String str) { + var _result = _meos_a.tstzset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tstzset_out(Pointer set) { + var _result = _meos_a.tstzset_out(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_in(String str) { + var _result = _meos_a.tstzspan_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tstzspan_out(Pointer sp) { + var _result = _meos_a.tstzspan_out(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_in(String str) { + var _result = _meos_a.tstzspanset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tstzspanset_out(Pointer ss) { + var _result = _meos_a.tstzspanset_out(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_make(Pointer values, int count) { + var _result = _meos_a.bigintset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.bigintspan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_make(Pointer values, int count) { + var _result = _meos_a.dateset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.datespan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_make(Pointer values, int count) { + var _result = _meos_a.floatset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.floatspan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_make(Pointer values, int count) { + var _result = _meos_a.intset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { + var _result = _meos_a.intspan_make(lower, upper, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_copy(Pointer s) { + var _result = _meos_a.set_copy(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_copy(Pointer sp) { + var _result = _meos_a.span_copy(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_copy(Pointer ss) { + var _result = _meos_a.spanset_copy(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_make(Pointer spans, int count) { + var _result = _meos_a.spanset_make(spans, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_make(Pointer values, int count) { + var _result = _meos_a.textset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_make(Pointer values, int count) { + var _result = _meos_a.tstzset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_make(OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_a.tstzspan_make(lower_new, upper_new, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_set(long i) { + var _result = _meos_a.bigint_to_set(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_span(long i) { + var _result = _meos_a.bigint_to_span(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_spanset(long i) { + var _result = _meos_a.bigint_to_spanset(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_to_intspan(Pointer s) { + var _result = _meos_a.bigintspan_to_intspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_to_floatspan(Pointer s) { + var _result = _meos_a.bigintspan_to_floatspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_to_set(int d) { + var _result = _meos_a.date_to_set(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_to_span(int d) { + var _result = _meos_a.date_to_span(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_to_spanset(int d) { + var _result = _meos_a.date_to_spanset(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_to_tstzset(Pointer s) { + var _result = _meos_a.dateset_to_tstzset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_to_tstzspan(Pointer sp) { + var _result = _meos_a.datespan_to_tstzspan(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_to_tstzspanset(Pointer ss) { + var _result = _meos_a.datespanset_to_tstzspanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_set(double d) { + var _result = _meos_a.float_to_set(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_span(double d) { + var _result = _meos_a.float_to_span(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_spanset(double d) { + var _result = _meos_a.float_to_spanset(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_to_intset(Pointer s) { + var _result = _meos_a.floatset_to_intset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_to_bigintspan(Pointer s) { + var _result = _meos_a.floatspan_to_bigintspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_to_intspan(Pointer s) { + var _result = _meos_a.floatspan_to_intspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_to_intspanset(Pointer ss) { + var _result = _meos_a.floatspanset_to_intspanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_set(int i) { + var _result = _meos_a.int_to_set(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_span(int i) { + var _result = _meos_a.int_to_span(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_spanset(int i) { + var _result = _meos_a.int_to_spanset(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_to_floatset(Pointer s) { + var _result = _meos_a.intset_to_floatset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_to_bigintspan(Pointer s) { + var _result = _meos_a.intspan_to_bigintspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_to_floatspan(Pointer s) { + var _result = _meos_a.intspan_to_floatspan(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_to_floatspanset(Pointer ss) { + var _result = _meos_a.intspanset_to_floatspanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_to_span(Pointer s) { + var _result = _meos_a.set_to_span(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_to_spanset(Pointer s) { + var _result = _meos_a.set_to_spanset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_to_spanset(Pointer sp) { + var _result = _meos_a.span_to_spanset(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_to_set(Pointer txt) { + var _result = _meos_a.text_to_set(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_set(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_set(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_span(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_span(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_spanset(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_spanset(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_to_dateset(Pointer s) { + var _result = _meos_a.tstzset_to_dateset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_to_datespan(Pointer sp) { + var _result = _meos_a.tstzspan_to_datespan(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_to_datespanset(Pointer ss) { + var _result = _meos_a.tstzspanset_to_datespanset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintset_end_value(Pointer s) { + var _result = _meos_a.bigintset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintset_start_value(Pointer s) { + var _result = _meos_a.bigintset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.bigintset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer bigintset_values(Pointer s, Pointer count) { + var _result = _meos_a.bigintset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspan_lower(Pointer s) { + var _result = _meos_a.bigintspan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspan_upper(Pointer s) { + var _result = _meos_a.bigintspan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspan_width(Pointer s) { + var _result = _meos_a.bigintspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspanset_lower(Pointer ss) { + var _result = _meos_a.bigintspanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspanset_upper(Pointer ss) { + var _result = _meos_a.bigintspanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigintspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_a.bigintspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int dateset_end_value(Pointer s) { + var _result = _meos_a.dateset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int dateset_start_value(Pointer s) { + var _result = _meos_a.dateset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.dateset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer dateset_values(Pointer s, Pointer count) { + var _result = _meos_a.dateset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_duration(Pointer s) { + var _result = _meos_a.datespan_duration(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespan_lower(Pointer s) { + var _result = _meos_a.datespan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespan_upper(Pointer s) { + var _result = _meos_a.datespan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_date_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.datespanset_date_n(ss, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_dates(Pointer ss) { + var _result = _meos_a.datespanset_dates(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_duration(Pointer ss, boolean boundspan) { + var _result = _meos_a.datespanset_duration(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespanset_end_date(Pointer ss) { + var _result = _meos_a.datespanset_end_date(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespanset_num_dates(Pointer ss) { + var _result = _meos_a.datespanset_num_dates(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datespanset_start_date(Pointer ss) { + var _result = _meos_a.datespanset_start_date(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatset_end_value(Pointer s) { + var _result = _meos_a.floatset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatset_start_value(Pointer s) { + var _result = _meos_a.floatset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.floatset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer floatset_values(Pointer s, Pointer count) { + var _result = _meos_a.floatset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspan_lower(Pointer s) { + var _result = _meos_a.floatspan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspan_upper(Pointer s) { + var _result = _meos_a.floatspan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspan_width(Pointer s) { + var _result = _meos_a.floatspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspanset_lower(Pointer ss) { + var _result = _meos_a.floatspanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspanset_upper(Pointer ss) { + var _result = _meos_a.floatspanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_a.floatspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intset_end_value(Pointer s) { + var _result = _meos_a.intset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intset_start_value(Pointer s) { + var _result = _meos_a.intset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.intset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer intset_values(Pointer s, Pointer count) { + var _result = _meos_a.intset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspan_lower(Pointer s) { + var _result = _meos_a.intspan_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspan_upper(Pointer s) { + var _result = _meos_a.intspan_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspan_width(Pointer s) { + var _result = _meos_a.intspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspanset_lower(Pointer ss) { + var _result = _meos_a.intspanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspanset_upper(Pointer ss) { + var _result = _meos_a.intspanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_a.intspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_hash(Pointer s) { + var _result = _meos_a.set_hash(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long set_hash_extended(Pointer s, long seed) { + var _result = _meos_a.set_hash_extended(s, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_num_values(Pointer s) { + var _result = _meos_a.set_num_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_hash(Pointer sp) { + var _result = _meos_a.span_hash(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long span_hash_extended(Pointer sp, long seed) { + var _result = _meos_a.span_hash_extended(sp, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_lower_inc(Pointer sp) { + var _result = _meos_a.span_lower_inc(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_upper_inc(Pointer sp) { + var _result = _meos_a.span_upper_inc(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_end_span(Pointer ss) { + var _result = _meos_a.spanset_end_span(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_hash(Pointer ss) { + var _result = _meos_a.spanset_hash(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long spanset_hash_extended(Pointer ss, long seed) { + var _result = _meos_a.spanset_hash_extended(ss, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_lower_inc(Pointer ss) { + var _result = _meos_a.spanset_lower_inc(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_num_spans(Pointer ss) { + var _result = _meos_a.spanset_num_spans(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_span(Pointer ss) { + var _result = _meos_a.spanset_span(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_span_n(Pointer ss, int i) { + var _result = _meos_a.spanset_span_n(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_spanarr(Pointer ss, Pointer count) { + var _result = _meos_a.spanset_spanarr(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_start_span(Pointer ss) { + var _result = _meos_a.spanset_start_span(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_upper_inc(Pointer ss) { + var _result = _meos_a.spanset_upper_inc(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_end_value(Pointer s) { + var _result = _meos_a.textset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_start_value(Pointer s) { + var _result = _meos_a.textset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.textset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer textset_values(Pointer s, Pointer count) { + var _result = _meos_a.textset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzset_end_value(Pointer s) { + var _result = _meos_a.tstzset_end_value(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzset_start_value(Pointer s) { + var _result = _meos_a.tstzset_start_value(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tstzset_value_n(s, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_values(Pointer s, Pointer count) { + var _result = _meos_a.tstzset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_duration(Pointer s) { + var _result = _meos_a.tstzspan_duration(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspan_lower(Pointer s) { + var _result = _meos_a.tstzspan_lower(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspan_upper(Pointer s) { + var _result = _meos_a.tstzspan_upper(s); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_duration(Pointer ss, boolean boundspan) { + var _result = _meos_a.tstzspanset_duration(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_end_timestamptz(Pointer ss) { + var _result = _meos_a.tstzspanset_end_timestamptz(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_lower(Pointer ss) { + var _result = _meos_a.tstzspanset_lower(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int tstzspanset_num_timestamps(Pointer ss) { + var _result = _meos_a.tstzspanset_num_timestamps(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_start_timestamptz(Pointer ss) { + var _result = _meos_a.tstzspanset_start_timestamptz(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_timestamps(Pointer ss) { + var _result = _meos_a.tstzspanset_timestamps(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_timestamptz_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tstzspanset_timestamptz_n(ss, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tstzspanset_upper(Pointer ss) { + var _result = _meos_a.tstzspanset_upper(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.bigintset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_shift_scale(Pointer sp, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.bigintspan_shift_scale(sp, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.dateset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.datespan_shift_scale(sp, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.datespanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_ceil(Pointer s) { + var _result = _meos_a.floatset_ceil(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_degrees(Pointer s, boolean normalize) { + var _result = _meos_a.floatset_degrees(s, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_floor(Pointer s) { + var _result = _meos_a.floatset_floor(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_radians(Pointer s) { + var _result = _meos_a.floatset_radians(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.floatset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_ceil(Pointer sp) { + var _result = _meos_a.floatspan_ceil(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_degrees(Pointer sp, boolean normalize) { + var _result = _meos_a.floatspan_degrees(sp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_floor(Pointer sp) { + var _result = _meos_a.floatspan_floor(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_radians(Pointer sp) { + var _result = _meos_a.floatspan_radians(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_round(Pointer sp, int maxdd) { + var _result = _meos_a.floatspan_round(sp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_shift_scale(Pointer sp, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.floatspan_shift_scale(sp, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_ceil(Pointer ss) { + var _result = _meos_a.floatspanset_ceil(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_floor(Pointer ss) { + var _result = _meos_a.floatspanset_floor(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_degrees(Pointer ss, boolean normalize) { + var _result = _meos_a.floatspanset_degrees(ss, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_radians(Pointer ss) { + var _result = _meos_a.floatspanset_radians(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_round(Pointer ss, int maxdd) { + var _result = _meos_a.floatspanset_round(ss, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.floatspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.intset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.intspan_shift_scale(sp, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.intspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_expand(Pointer sp, Pointer interv) { + var _result = _meos_a.tstzspan_expand(sp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_round(Pointer s, int maxdd) { + var _result = _meos_a.set_round(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_text_textset(Pointer txt, Pointer s) { + var _result = _meos_a.textcat_text_textset(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_textset_text(Pointer s, Pointer txt) { + var _result = _meos_a.textcat_textset_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_initcap(Pointer s) { + var _result = _meos_a.textset_initcap(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_lower(Pointer s) { + var _result = _meos_a.textset_lower(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textset_upper(Pointer s) { + var _result = _meos_a.textset_upper(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_tprecision(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.timestamptz_tprecision(t_new, duration, torigin_new); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration) { + var _result = _meos_a.tstzset_shift_scale(s, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzset_tprecision(s, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_shift_scale(Pointer sp, Pointer shift, Pointer duration) { + var _result = _meos_a.tstzspan_shift_scale(sp, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_tprecision(Pointer sp, Pointer duration, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzspan_tprecision(sp, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration) { + var _result = _meos_a.tstzspanset_shift_scale(ss, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzspanset_tprecision(ss, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_cmp(Pointer s1, Pointer s2) { + var _result = _meos_a.set_cmp(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_eq(Pointer s1, Pointer s2) { + var _result = _meos_a.set_eq(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_ge(Pointer s1, Pointer s2) { + var _result = _meos_a.set_ge(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_gt(Pointer s1, Pointer s2) { + var _result = _meos_a.set_gt(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_le(Pointer s1, Pointer s2) { + var _result = _meos_a.set_le(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_lt(Pointer s1, Pointer s2) { + var _result = _meos_a.set_lt(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_ne(Pointer s1, Pointer s2) { + var _result = _meos_a.set_ne(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_cmp(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_cmp(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_eq(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_eq(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_ge(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_ge(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_gt(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_gt(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_le(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_le(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_lt(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_lt(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_ne(Pointer sp1, Pointer sp2) { + var _result = _meos_a.span_ne(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_cmp(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_cmp(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_eq(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_eq(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_ge(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_ge(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_gt(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_gt(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_le(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_le(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_lt(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_lt(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_ne(Pointer ss1, Pointer ss2) { + var _result = _meos_a.spanset_ne(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_spans(Pointer s, Pointer count) { + var _result = _meos_a.set_spans(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count) { + var _result = _meos_a.set_split_each_n_spans(s, elems_per_span, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_split_n_spans(Pointer s, int span_count, Pointer count) { + var _result = _meos_a.set_split_n_spans(s, span_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_spans(Pointer ss, Pointer count) { + var _result = _meos_a.spanset_spans(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count) { + var _result = _meos_a.spanset_split_each_n_spans(ss, elems_per_span, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count) { + var _result = _meos_a.spanset_split_n_spans(ss, span_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_bigint(Pointer sp, long i) { + var _result = _meos_a.adjacent_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_date(Pointer sp, int d) { + var _result = _meos_a.adjacent_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_float(Pointer sp, double d) { + var _result = _meos_a.adjacent_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_int(Pointer sp, int i) { + var _result = _meos_a.adjacent_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.adjacent_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.adjacent_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.adjacent_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.adjacent_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_date(Pointer ss, int d) { + var _result = _meos_a.adjacent_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_float(Pointer ss, double d) { + var _result = _meos_a.adjacent_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_int(Pointer ss, int i) { + var _result = _meos_a.adjacent_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.adjacent_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.adjacent_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.adjacent_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_bigint_set(long i, Pointer s) { + var _result = _meos_a.contained_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_bigint_span(long i, Pointer sp) { + var _result = _meos_a.contained_bigint_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.contained_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_date_set(int d, Pointer s) { + var _result = _meos_a.contained_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_date_span(int d, Pointer sp) { + var _result = _meos_a.contained_date_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_date_spanset(int d, Pointer ss) { + var _result = _meos_a.contained_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_float_set(double d, Pointer s) { + var _result = _meos_a.contained_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_float_span(double d, Pointer sp) { + var _result = _meos_a.contained_float_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_float_spanset(double d, Pointer ss) { + var _result = _meos_a.contained_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_int_set(int i, Pointer s) { + var _result = _meos_a.contained_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_int_span(int i, Pointer sp) { + var _result = _meos_a.contained_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_int_spanset(int i, Pointer ss) { + var _result = _meos_a.contained_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.contained_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.contained_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.contained_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.contained_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.contained_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.contained_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contained_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contained_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contained_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_bigint(Pointer s, long i) { + var _result = _meos_a.contains_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_date(Pointer s, int d) { + var _result = _meos_a.contains_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_float(Pointer s, double d) { + var _result = _meos_a.contains_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_int(Pointer s, int i) { + var _result = _meos_a.contains_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.contains_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_text(Pointer s, Pointer t) { + var _result = _meos_a.contains_set_text(s, t); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contains_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_bigint(Pointer sp, long i) { + var _result = _meos_a.contains_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_date(Pointer sp, int d) { + var _result = _meos_a.contains_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_float(Pointer sp, double d) { + var _result = _meos_a.contains_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_int(Pointer sp, int i) { + var _result = _meos_a.contains_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.contains_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.contains_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contains_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.contains_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_date(Pointer ss, int d) { + var _result = _meos_a.contains_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_float(Pointer ss, double d) { + var _result = _meos_a.contains_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_int(Pointer ss, int i) { + var _result = _meos_a.contains_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.contains_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.contains_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.contains_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.overlaps_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.overlaps_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.overlaps_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.overlaps_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.overlaps_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_date_set(int d, Pointer s) { + var _result = _meos_a.after_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_date_span(int d, Pointer sp) { + var _result = _meos_a.after_date_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_date_spanset(int d, Pointer ss) { + var _result = _meos_a.after_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_set_date(Pointer s, int d) { + var _result = _meos_a.after_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_span_date(Pointer sp, int d) { + var _result = _meos_a.after_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_spanset_date(Pointer ss, int d) { + var _result = _meos_a.after_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.after_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_date_set(int d, Pointer s) { + var _result = _meos_a.before_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_date_span(int d, Pointer sp) { + var _result = _meos_a.before_date_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_date_spanset(int d, Pointer ss) { + var _result = _meos_a.before_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_set_date(Pointer s, int d) { + var _result = _meos_a.before_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_span_date(Pointer sp, int d) { + var _result = _meos_a.before_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_spanset_date(Pointer ss, int d) { + var _result = _meos_a.before_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.before_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_bigint_set(long i, Pointer s) { + var _result = _meos_a.left_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_bigint_span(long i, Pointer sp) { + var _result = _meos_a.left_bigint_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.left_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_float_set(double d, Pointer s) { + var _result = _meos_a.left_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_float_span(double d, Pointer sp) { + var _result = _meos_a.left_float_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_float_spanset(double d, Pointer ss) { + var _result = _meos_a.left_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_int_set(int i, Pointer s) { + var _result = _meos_a.left_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_int_span(int i, Pointer sp) { + var _result = _meos_a.left_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_int_spanset(int i, Pointer ss) { + var _result = _meos_a.left_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_bigint(Pointer s, long i) { + var _result = _meos_a.left_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_float(Pointer s, double d) { + var _result = _meos_a.left_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_int(Pointer s, int i) { + var _result = _meos_a.left_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.left_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.left_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_bigint(Pointer sp, long i) { + var _result = _meos_a.left_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_float(Pointer sp, double d) { + var _result = _meos_a.left_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_int(Pointer sp, int i) { + var _result = _meos_a.left_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.left_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.left_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.left_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_float(Pointer ss, double d) { + var _result = _meos_a.left_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_int(Pointer ss, int i) { + var _result = _meos_a.left_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.left_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.left_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.left_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_date_set(int d, Pointer s) { + var _result = _meos_a.overafter_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_date_span(int d, Pointer sp) { + var _result = _meos_a.overafter_date_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_date_spanset(int d, Pointer ss) { + var _result = _meos_a.overafter_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_set_date(Pointer s, int d) { + var _result = _meos_a.overafter_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_span_date(Pointer sp, int d) { + var _result = _meos_a.overafter_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_spanset_date(Pointer ss, int d) { + var _result = _meos_a.overafter_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overafter_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_date_set(int d, Pointer s) { + var _result = _meos_a.overbefore_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_date_span(int d, Pointer sp) { + var _result = _meos_a.overbefore_date_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_date_spanset(int d, Pointer ss) { + var _result = _meos_a.overbefore_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_set_date(Pointer s, int d) { + var _result = _meos_a.overbefore_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_span_date(Pointer sp, int d) { + var _result = _meos_a.overbefore_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_spanset_date(Pointer ss, int d) { + var _result = _meos_a.overbefore_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.overbefore_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_bigint_set(long i, Pointer s) { + var _result = _meos_a.overleft_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_bigint_span(long i, Pointer sp) { + var _result = _meos_a.overleft_bigint_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.overleft_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_float_set(double d, Pointer s) { + var _result = _meos_a.overleft_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_float_span(double d, Pointer sp) { + var _result = _meos_a.overleft_float_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_float_spanset(double d, Pointer ss) { + var _result = _meos_a.overleft_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_int_set(int i, Pointer s) { + var _result = _meos_a.overleft_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_int_span(int i, Pointer sp) { + var _result = _meos_a.overleft_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_int_spanset(int i, Pointer ss) { + var _result = _meos_a.overleft_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_bigint(Pointer s, long i) { + var _result = _meos_a.overleft_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_float(Pointer s, double d) { + var _result = _meos_a.overleft_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_int(Pointer s, int i) { + var _result = _meos_a.overleft_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.overleft_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.overleft_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_bigint(Pointer sp, long i) { + var _result = _meos_a.overleft_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_float(Pointer sp, double d) { + var _result = _meos_a.overleft_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_int(Pointer sp, int i) { + var _result = _meos_a.overleft_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.overleft_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.overleft_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.overleft_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_float(Pointer ss, double d) { + var _result = _meos_a.overleft_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_int(Pointer ss, int i) { + var _result = _meos_a.overleft_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.overleft_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.overleft_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.overleft_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_bigint_set(long i, Pointer s) { + var _result = _meos_a.overright_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_bigint_span(long i, Pointer sp) { + var _result = _meos_a.overright_bigint_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.overright_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_float_set(double d, Pointer s) { + var _result = _meos_a.overright_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_float_span(double d, Pointer sp) { + var _result = _meos_a.overright_float_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_float_spanset(double d, Pointer ss) { + var _result = _meos_a.overright_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_int_set(int i, Pointer s) { + var _result = _meos_a.overright_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_int_span(int i, Pointer sp) { + var _result = _meos_a.overright_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_int_spanset(int i, Pointer ss) { + var _result = _meos_a.overright_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_bigint(Pointer s, long i) { + var _result = _meos_a.overright_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_float(Pointer s, double d) { + var _result = _meos_a.overright_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_int(Pointer s, int i) { + var _result = _meos_a.overright_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.overright_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.overright_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_bigint(Pointer sp, long i) { + var _result = _meos_a.overright_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_float(Pointer sp, double d) { + var _result = _meos_a.overright_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_int(Pointer sp, int i) { + var _result = _meos_a.overright_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.overright_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.overright_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.overright_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_float(Pointer ss, double d) { + var _result = _meos_a.overright_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_int(Pointer ss, int i) { + var _result = _meos_a.overright_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.overright_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.overright_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.overright_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_bigint_set(long i, Pointer s) { + var _result = _meos_a.right_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_bigint_span(long i, Pointer sp) { + var _result = _meos_a.right_bigint_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.right_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_float_set(double d, Pointer s) { + var _result = _meos_a.right_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_float_span(double d, Pointer sp) { + var _result = _meos_a.right_float_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_float_spanset(double d, Pointer ss) { + var _result = _meos_a.right_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_int_set(int i, Pointer s) { + var _result = _meos_a.right_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_int_span(int i, Pointer sp) { + var _result = _meos_a.right_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_int_spanset(int i, Pointer ss) { + var _result = _meos_a.right_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_bigint(Pointer s, long i) { + var _result = _meos_a.right_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_float(Pointer s, double d) { + var _result = _meos_a.right_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_int(Pointer s, int i) { + var _result = _meos_a.right_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.right_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.right_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_bigint(Pointer sp, long i) { + var _result = _meos_a.right_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_float(Pointer sp, double d) { + var _result = _meos_a.right_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_int(Pointer sp, int i) { + var _result = _meos_a.right_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.right_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.right_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.right_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_float(Pointer ss, double d) { + var _result = _meos_a.right_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_int(Pointer ss, int i) { + var _result = _meos_a.right_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.right_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.right_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.right_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_bigint_set(long i, Pointer s) { + var _result = _meos_a.intersection_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_date_set(int d, Pointer s) { + var _result = _meos_a.intersection_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_float_set(double d, Pointer s) { + var _result = _meos_a.intersection_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_int_set(int i, Pointer s) { + var _result = _meos_a.intersection_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_bigint(Pointer s, long i) { + var _result = _meos_a.intersection_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_date(Pointer s, int d) { + var _result = _meos_a.intersection_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_float(Pointer s, double d) { + var _result = _meos_a.intersection_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_int(Pointer s, int i) { + var _result = _meos_a.intersection_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.intersection_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.intersection_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_bigint(Pointer sp, long i) { + var _result = _meos_a.intersection_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_date(Pointer sp, int d) { + var _result = _meos_a.intersection_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_float(Pointer sp, double d) { + var _result = _meos_a.intersection_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_int(Pointer sp, int i) { + var _result = _meos_a.intersection_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.intersection_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.intersection_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.intersection_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_date(Pointer ss, int d) { + var _result = _meos_a.intersection_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_float(Pointer ss, double d) { + var _result = _meos_a.intersection_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_int(Pointer ss, int i) { + var _result = _meos_a.intersection_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.intersection_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.intersection_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.intersection_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.intersection_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_bigint_set(long i, Pointer s) { + var _result = _meos_a.minus_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_bigint_span(long i, Pointer sp) { + var _result = _meos_a.minus_bigint_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.minus_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_date_set(int d, Pointer s) { + var _result = _meos_a.minus_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_date_span(int d, Pointer sp) { + var _result = _meos_a.minus_date_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_date_spanset(int d, Pointer ss) { + var _result = _meos_a.minus_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_float_set(double d, Pointer s) { + var _result = _meos_a.minus_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_float_span(double d, Pointer sp) { + var _result = _meos_a.minus_float_span(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_float_spanset(double d, Pointer ss) { + var _result = _meos_a.minus_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_int_set(int i, Pointer s) { + var _result = _meos_a.minus_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_int_span(int i, Pointer sp) { + var _result = _meos_a.minus_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_int_spanset(int i, Pointer ss) { + var _result = _meos_a.minus_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_bigint(Pointer s, long i) { + var _result = _meos_a.minus_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_date(Pointer s, int d) { + var _result = _meos_a.minus_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_float(Pointer s, double d) { + var _result = _meos_a.minus_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_int(Pointer s, int i) { + var _result = _meos_a.minus_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.minus_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.minus_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_bigint(Pointer sp, long i) { + var _result = _meos_a.minus_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_date(Pointer sp, int d) { + var _result = _meos_a.minus_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_float(Pointer sp, double d) { + var _result = _meos_a.minus_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_int(Pointer sp, int i) { + var _result = _meos_a.minus_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_span(Pointer sp1, Pointer sp2) { + var _result = _meos_a.minus_span_span(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_spanset(Pointer sp, Pointer ss) { + var _result = _meos_a.minus_span_spanset(sp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.minus_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_date(Pointer ss, int d) { + var _result = _meos_a.minus_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_float(Pointer ss, double d) { + var _result = _meos_a.minus_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_int(Pointer ss, int i) { + var _result = _meos_a.minus_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.minus_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.minus_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.minus_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.minus_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_bigint_set(long i, Pointer s) { + var _result = _meos_a.union_bigint_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_bigint_span(Pointer sp, long i) { + var _result = _meos_a.union_bigint_span(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_bigint_spanset(long i, Pointer ss) { + var _result = _meos_a.union_bigint_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_date_set(int d, Pointer s) { + var _result = _meos_a.union_date_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_date_span(Pointer sp, int d) { + var _result = _meos_a.union_date_span(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_date_spanset(int d, Pointer ss) { + var _result = _meos_a.union_date_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_float_set(double d, Pointer s) { + var _result = _meos_a.union_float_set(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_float_span(Pointer sp, double d) { + var _result = _meos_a.union_float_span(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_float_spanset(double d, Pointer ss) { + var _result = _meos_a.union_float_spanset(d, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_int_set(int i, Pointer s) { + var _result = _meos_a.union_int_set(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_int_span(int i, Pointer sp) { + var _result = _meos_a.union_int_span(i, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_int_spanset(int i, Pointer ss) { + var _result = _meos_a.union_int_spanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_bigint(Pointer s, long i) { + var _result = _meos_a.union_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_date(Pointer s, int d) { + var _result = _meos_a.union_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_float(Pointer s, double d) { + var _result = _meos_a.union_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_int(Pointer s, int i) { + var _result = _meos_a.union_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_set(Pointer s1, Pointer s2) { + var _result = _meos_a.union_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_text(Pointer s, Pointer txt) { + var _result = _meos_a.union_set_text(s, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_bigint(Pointer s, long i) { + var _result = _meos_a.union_span_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_date(Pointer s, int d) { + var _result = _meos_a.union_span_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_float(Pointer s, double d) { + var _result = _meos_a.union_span_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_int(Pointer s, int i) { + var _result = _meos_a.union_span_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_span(Pointer s1, Pointer s2) { + var _result = _meos_a.union_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer super_union_span_span(Pointer s1, Pointer s2, boolean strict) { + var _result = _meos_a.super_union_span_span(s1, s2, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_spanset(Pointer s, Pointer ss) { + var _result = _meos_a.union_span_spanset(s, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_span_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.union_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_date(Pointer ss, int d) { + var _result = _meos_a.union_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_float(Pointer ss, double d) { + var _result = _meos_a.union_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_int(Pointer ss, int i) { + var _result = _meos_a.union_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_span(Pointer ss, Pointer sp) { + var _result = _meos_a.union_spanset_span(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.union_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_text_set(Pointer txt, Pointer s) { + var _result = _meos_a.union_text_set(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_timestamptz_set(OffsetDateTime t, Pointer s) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_timestamptz_set(t_new, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_timestamptz_span(OffsetDateTime t, Pointer sp) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_timestamptz_span(t_new, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_timestamptz_spanset(OffsetDateTime t, Pointer ss) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.union_timestamptz_spanset(t_new, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintset_bigintset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_bigintset_bigintset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintspan_bigintspan(Pointer sp1, Pointer sp2) { + var _result = _meos_a.distance_bigintspan_bigintspan(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintspanset_bigintspan(Pointer ss, Pointer sp) { + var _result = _meos_a.distance_bigintspanset_bigintspan(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_bigintspanset_bigintspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_dateset_dateset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_dateset_dateset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_datespan_datespan(Pointer sp1, Pointer sp2) { + var _result = _meos_a.distance_datespan_datespan(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_datespanset_datespan(Pointer ss, Pointer sp) { + var _result = _meos_a.distance_datespanset_datespan(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_datespanset_datespanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_datespanset_datespanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatset_floatset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_floatset_floatset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatspan_floatspan(Pointer sp1, Pointer sp2) { + var _result = _meos_a.distance_floatspan_floatspan(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatspanset_floatspan(Pointer ss, Pointer sp) { + var _result = _meos_a.distance_floatspanset_floatspan(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_floatspanset_floatspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intset_intset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_intset_intset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intspan_intspan(Pointer sp1, Pointer sp2) { + var _result = _meos_a.distance_intspan_intspan(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intspanset_intspan(Pointer ss, Pointer sp) { + var _result = _meos_a.distance_intspanset_intspan(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_intspanset_intspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_intspanset_intspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_set_bigint(Pointer s, long i) { + var _result = _meos_a.distance_set_bigint(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_set_date(Pointer s, int d) { + var _result = _meos_a.distance_set_date(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_set_float(Pointer s, double d) { + var _result = _meos_a.distance_set_float(s, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_set_int(Pointer s, int i) { + var _result = _meos_a.distance_set_int(s, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_set_timestamptz(Pointer s, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.distance_set_timestamptz(s, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_span_bigint(Pointer sp, long i) { + var _result = _meos_a.distance_span_bigint(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_span_date(Pointer sp, int d) { + var _result = _meos_a.distance_span_date(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_span_float(Pointer sp, double d) { + var _result = _meos_a.distance_span_float(sp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_span_int(Pointer sp, int i) { + var _result = _meos_a.distance_span_int(sp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_span_timestamptz(Pointer sp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.distance_span_timestamptz(sp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long distance_spanset_bigint(Pointer ss, long i) { + var _result = _meos_a.distance_spanset_bigint(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_spanset_date(Pointer ss, int d) { + var _result = _meos_a.distance_spanset_date(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_spanset_float(Pointer ss, double d) { + var _result = _meos_a.distance_spanset_float(ss, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int distance_spanset_int(Pointer ss, int i) { + var _result = _meos_a.distance_spanset_int(ss, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_spanset_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.distance_spanset_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzset_tstzset(Pointer s1, Pointer s2) { + var _result = _meos_a.distance_tstzset_tstzset(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzspan_tstzspan(Pointer sp1, Pointer sp2) { + var _result = _meos_a.distance_tstzspan_tstzspan(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzspanset_tstzspan(Pointer ss, Pointer sp) { + var _result = _meos_a.distance_tstzspanset_tstzspan(ss, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2) { + var _result = _meos_a.distance_tstzspanset_tstzspanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_extent_transfn(Pointer state, long i) { + var _result = _meos_a.bigint_extent_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_union_transfn(Pointer state, long i) { + var _result = _meos_a.bigint_union_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_extent_transfn(Pointer state, int d) { + var _result = _meos_a.date_extent_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer date_union_transfn(Pointer state, int d) { + var _result = _meos_a.date_union_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_extent_transfn(Pointer state, double d) { + var _result = _meos_a.float_extent_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_union_transfn(Pointer state, double d) { + var _result = _meos_a.float_union_transfn(state, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_extent_transfn(Pointer state, int i) { + var _result = _meos_a.int_extent_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_union_transfn(Pointer state, int i) { + var _result = _meos_a.int_union_transfn(state, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_extent_transfn(Pointer state, Pointer s) { + var _result = _meos_a.set_extent_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_union_finalfn(Pointer state) { + var _result = _meos_a.set_union_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_union_transfn(Pointer state, Pointer s) { + var _result = _meos_a.set_union_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_extent_transfn(Pointer state, Pointer sp) { + var _result = _meos_a.span_extent_transfn(state, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_union_transfn(Pointer state, Pointer sp) { + var _result = _meos_a.span_union_transfn(state, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_extent_transfn(Pointer state, Pointer ss) { + var _result = _meos_a.spanset_extent_transfn(state, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_union_finalfn(Pointer state) { + var _result = _meos_a.spanset_union_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_union_transfn(Pointer state, Pointer ss) { + var _result = _meos_a.spanset_union_transfn(state, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer text_union_transfn(Pointer state, Pointer txt) { + var _result = _meos_a.text_union_transfn(state, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_extent_transfn(Pointer state, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_extent_transfn(state, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_union_transfn(Pointer state, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_union_transfn(state, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bigint_get_bin(long value, long vsize, long vorigin) { + var _result = _meos_a.bigint_get_bin(value, vsize, vorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspan_bins(Pointer sp, long vsize, long vorigin, Pointer count) { + var _result = _meos_a.bigintspan_bins(sp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count) { + var _result = _meos_a.bigintspanset_bins(ss, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int date_get_bin(int d, Pointer duration, int torigin) { + var _result = _meos_a.date_get_bin(d, duration, torigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespan_bins(Pointer sp, Pointer duration, int torigin, Pointer count) { + var _result = _meos_a.datespan_bins(sp, duration, torigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count) { + var _result = _meos_a.datespanset_bins(ss, duration, torigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_get_bin(double value, double vsize, double vorigin) { + var _result = _meos_a.float_get_bin(value, vsize, vorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspan_bins(Pointer sp, double vsize, double vorigin, Pointer count) { + var _result = _meos_a.floatspan_bins(sp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count) { + var _result = _meos_a.floatspanset_bins(ss, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int int_get_bin(int value, int vsize, int vorigin) { + var _result = _meos_a.int_get_bin(value, vsize, vorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspan_bins(Pointer sp, int vsize, int vorigin, Pointer count) { + var _result = _meos_a.intspan_bins(sp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count) { + var _result = _meos_a.intspanset_bins(ss, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_get_bin(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.timestamptz_get_bin(t_new, duration, torigin_new); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_bins(Pointer sp, Pointer duration, OffsetDateTime origin, Pointer count) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_a.tstzspan_bins(sp, duration, origin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_bins(Pointer ss, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_a.tstzspanset_bins(ss, duration, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbox_as_hexwkb(Pointer box, byte variant, Pointer size) { + var _result = _meos_a.tbox_as_hexwkb(box, variant, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_as_wkb(Pointer box, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.tbox_as_wkb(box, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_from_hexwkb(String hexwkb) { + var _result = _meos_a.tbox_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.tbox_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_in(String str) { + var _result = _meos_a.tbox_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbox_out(Pointer box, int maxdd) { + var _result = _meos_a.tbox_out(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_timestamptz_to_tbox(double d, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.float_timestamptz_to_tbox(d, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_tstzspan_to_tbox(double d, Pointer sp) { + var _result = _meos_a.float_tstzspan_to_tbox(d, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_timestamptz_to_tbox(int i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.int_timestamptz_to_tbox(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_timestamptz_to_tbox(long i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.bigint_timestamptz_to_tbox(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_tstzspan_to_tbox(int i, Pointer s) { + var _result = _meos_a.int_tstzspan_to_tbox(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_tstzspan_to_tbox(long i, Pointer s) { + var _result = _meos_a.bigint_tstzspan_to_tbox(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_tstzspan_to_tbox(Pointer s, Pointer p) { + var _result = _meos_a.numspan_tstzspan_to_tbox(s, p); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_timestamptz_to_tbox(Pointer span, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.numspan_timestamptz_to_tbox(span, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_copy(Pointer box) { + var _result = _meos_a.tbox_copy(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_make(Pointer sp1, Pointer sp2) { + var _result = _meos_a.tbox_make(sp1, sp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer float_to_tbox(double d) { + var _result = _meos_a.float_to_tbox(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer int_to_tbox(int i) { + var _result = _meos_a.int_to_tbox(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bigint_to_tbox(long i) { + var _result = _meos_a.bigint_to_tbox(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_to_tbox(Pointer s) { + var _result = _meos_a.set_to_tbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_to_tbox(Pointer sp) { + var _result = _meos_a.span_to_tbox(sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_to_tbox(Pointer ss) { + var _result = _meos_a.spanset_to_tbox(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_bigintspan(Pointer box) { + var _result = _meos_a.tbox_to_bigintspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_intspan(Pointer box) { + var _result = _meos_a.tbox_to_intspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_floatspan(Pointer box) { + var _result = _meos_a.tbox_to_floatspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_to_tstzspan(Pointer box) { + var _result = _meos_a.tbox_to_tstzspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_tbox(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.timestamptz_to_tbox(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_hash(Pointer box) { + var _result = _meos_a.tbox_hash(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbox_hash_extended(Pointer box, long seed) { + var _result = _meos_a.tbox_hash_extended(box, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_hast(Pointer box) { + var _result = _meos_a.tbox_hast(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_hasx(Pointer box) { + var _result = _meos_a.tbox_hasx(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tbox_tmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmax_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_a.tbox_tmax_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tbox_tmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tmin_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_a.tbox_tmin_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.tbox_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmax_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_a.tbox_xmax_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.tbox_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbox_xmin_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_a.tbox_xmin_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxfloat_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.tboxfloat_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxfloat_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.tboxfloat_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxint_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.tboxint_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxbigint_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tboxbigint_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxint_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.tboxint_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboxbigint_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tboxbigint_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbigintbox_expand(Pointer box, long i) { + var _result = _meos_a.tbigintbox_expand(box, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.tbigintbox_shift_scale(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_expand_time(Pointer box, Pointer interv) { + var _result = _meos_a.tbox_expand_time(box, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_round(Pointer box, int maxdd) { + var _result = _meos_a.tbox_round(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth) { + var _result = _meos_a.tintbox_shift_scale(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { + var _result = _meos_a.tbox_shift_scale_time(box, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_expand(Pointer box, double d) { + var _result = _meos_a.tfloatbox_expand(box, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_expand(Pointer box, int i) { + var _result = _meos_a.tintbox_expand(box, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict) { + var _result = _meos_a.union_tbox_tbox(box1, box2, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.intersection_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.adjacent_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.contained_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.contains_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.overlaps_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.same_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.after_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.before_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.left_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.overafter_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.overbefore_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.overleft_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.overright_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_a.right_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_cmp(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_eq(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_eq(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_ge(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_ge(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_gt(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_gt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_le(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_le(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_lt(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_lt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_ne(Pointer box1, Pointer box2) { + var _result = _meos_a.tbox_ne(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_from_mfjson(String str) { + var _result = _meos_a.tbigint_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_in(String str) { + var _result = _meos_a.tbigint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbigint_out(Pointer temp) { + var _result = _meos_a.tbigint_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_from_mfjson(String str) { + var _result = _meos_a.tbool_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_in(String str) { + var _result = _meos_a.tbool_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tbool_out(Pointer temp) { + var _result = _meos_a.tbool_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_as_hexwkb(Pointer temp, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.temporal_as_hexwkb(temp, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs) { + var _result = _meos_a.temporal_as_mfjson(temp, with_bbox, flags, precision, srs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_as_wkb(Pointer temp, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_a.temporal_as_wkb(temp, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_from_hexwkb(String hexwkb) { + var _result = _meos_a.temporal_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_from_wkb(Pointer wkb, long size) { + var _result = _meos_a.temporal_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_temporal_to_arrow(Pointer temp, Pointer out_schema, Pointer out_array) { + var _result = _meos_a.meos_temporal_to_arrow(temp, out_schema, out_array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_temporal_from_arrow(Pointer schema, Pointer array) { + var _result = _meos_a.meos_temporal_from_arrow(schema, array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_temporal_arrow_roundtrip(Pointer temp) { + var _result = _meos_a.meos_temporal_arrow_roundtrip(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_set_to_arrow(Pointer s, Pointer out_schema, Pointer out_array) { + var _result = _meos_a.meos_set_to_arrow(s, out_schema, out_array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_set_from_arrow(Pointer schema, Pointer array) { + var _result = _meos_a.meos_set_from_arrow(schema, array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_set_arrow_roundtrip(Pointer s) { + var _result = _meos_a.meos_set_arrow_roundtrip(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_span_to_arrow(Pointer s, Pointer out_schema, Pointer out_array) { + var _result = _meos_a.meos_span_to_arrow(s, out_schema, out_array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_span_from_arrow(Pointer schema, Pointer array) { + var _result = _meos_a.meos_span_from_arrow(schema, array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_span_arrow_roundtrip(Pointer s) { + var _result = _meos_a.meos_span_arrow_roundtrip(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_spanset_to_arrow(Pointer ss, Pointer out_schema, Pointer out_array) { + var _result = _meos_a.meos_spanset_to_arrow(ss, out_schema, out_array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_spanset_from_arrow(Pointer schema, Pointer array) { + var _result = _meos_a.meos_spanset_from_arrow(schema, array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_spanset_arrow_roundtrip(Pointer ss) { + var _result = _meos_a.meos_spanset_arrow_roundtrip(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_tbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array) { + var _result = _meos_a.meos_tbox_to_arrow(box, out_schema, out_array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_tbox_from_arrow(Pointer schema, Pointer array) { + var _result = _meos_a.meos_tbox_from_arrow(schema, array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_tbox_arrow_roundtrip(Pointer box) { + var _result = _meos_a.meos_tbox_arrow_roundtrip(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_stbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array) { + var _result = _meos_a.meos_stbox_to_arrow(box, out_schema, out_array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_stbox_from_arrow(Pointer schema, Pointer array) { + var _result = _meos_a.meos_stbox_from_arrow(schema, array); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_stbox_arrow_roundtrip(Pointer box) { + var _result = _meos_a.meos_stbox_arrow_roundtrip(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_from_mfjson(String str) { + var _result = _meos_a.tfloat_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_in(String str) { + var _result = _meos_a.tfloat_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tfloat_out(Pointer temp, int maxdd) { + var _result = _meos_a.tfloat_out(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_from_mfjson(String str) { + var _result = _meos_a.tint_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_in(String str) { + var _result = _meos_a.tint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tint_out(Pointer temp) { + var _result = _meos_a.tint_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_from_mfjson(String str) { + var _result = _meos_a.ttext_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_in(String str) { + var _result = _meos_a.ttext_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String ttext_out(Pointer temp) { + var _result = _meos_a.ttext_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_from_base_temp(long i, Pointer temp) { + var _result = _meos_a.tbigint_from_base_temp(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintinst_make(long i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.tbigintinst_make(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseq_from_base_tstzset(long i, Pointer s) { + var _result = _meos_a.tbigintseq_from_base_tstzset(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseq_from_base_tstzspan(long i, Pointer s) { + var _result = _meos_a.tbigintseq_from_base_tstzspan(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss) { + var _result = _meos_a.tbigintseqset_from_base_tstzspanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_from_base_temp(boolean b, Pointer temp) { + var _result = _meos_a.tbool_from_base_temp(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolinst_make(boolean b, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.tboolinst_make(b, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseq_from_base_tstzset(boolean b, Pointer s) { + var _result = _meos_a.tboolseq_from_base_tstzset(b, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseq_from_base_tstzspan(boolean b, Pointer sp) { + var _result = _meos_a.tboolseq_from_base_tstzspan(b, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss) { + var _result = _meos_a.tboolseqset_from_base_tstzspanset(b, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_copy(Pointer temp) { + var _result = _meos_a.temporal_copy(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_from_base_temp(double d, Pointer temp) { + var _result = _meos_a.tfloat_from_base_temp(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatinst_make(double d, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.tfloatinst_make(d, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseq_from_base_tstzset(double d, Pointer s) { + var _result = _meos_a.tfloatseq_from_base_tstzset(d, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseq_from_base_tstzspan(double d, Pointer sp, int interp) { + var _result = _meos_a.tfloatseq_from_base_tstzspan(d, sp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp) { + var _result = _meos_a.tfloatseqset_from_base_tstzspanset(d, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_from_base_temp(int i, Pointer temp) { + var _result = _meos_a.tint_from_base_temp(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintinst_make(int i, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.tintinst_make(i, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseq_from_base_tstzset(int i, Pointer s) { + var _result = _meos_a.tintseq_from_base_tstzset(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseq_from_base_tstzspan(int i, Pointer s) { + var _result = _meos_a.tintseq_from_base_tstzspan(i, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss) { + var _result = _meos_a.tintseqset_from_base_tstzspanset(i, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_a.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize) { + var _result = _meos_a.tsequenceset_make(sequences, count, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist) { + var _result = _meos_a.tsequenceset_make_gaps(instants, count, interp, maxt, maxdist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_from_base_temp(Pointer txt, Pointer temp) { + var _result = _meos_a.ttext_from_base_temp(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextinst_make(Pointer txt, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.ttextinst_make(txt, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s) { + var _result = _meos_a.ttextseq_from_base_tstzset(txt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer sp) { + var _result = _meos_a.ttextseq_from_base_tstzspan(txt, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss) { + var _result = _meos_a.ttextseqset_from_base_tstzspanset(txt, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_to_tfloat(Pointer temp) { + var _result = _meos_a.tbigint_to_tfloat(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_to_tint(Pointer temp) { + var _result = _meos_a.tbigint_to_tint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_to_tint(Pointer temp) { + var _result = _meos_a.tbool_to_tint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tstzspan(Pointer temp) { + var _result = _meos_a.temporal_to_tstzspan(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_to_tbigint(Pointer temp) { + var _result = _meos_a.tfloat_to_tbigint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_to_tint(Pointer temp) { + var _result = _meos_a.tfloat_to_tint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_to_tfloat(Pointer temp) { + var _result = _meos_a.tint_to_tfloat(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_to_tbigint(Pointer temp) { + var _result = _meos_a.tint_to_tbigint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_to_span(Pointer temp) { + var _result = _meos_a.tnumber_to_span(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_to_tbox(Pointer temp) { + var _result = _meos_a.tnumber_to_tbox(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_end_value(Pointer temp) { + var _result = _meos_a.tbigint_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_max_value(Pointer temp) { + var _result = _meos_a.tbigint_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_min_value(Pointer temp) { + var _result = _meos_a.tbigint_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tbigint_start_value(Pointer temp) { + var _result = _meos_a.tbigint_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_value_n(Pointer temp, long n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.tbigint_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_values(Pointer temp, Pointer count) { + var _result = _meos_a.tbigint_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbool_end_value(Pointer temp) { + var _result = _meos_a.tbool_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbool_start_value(Pointer temp) { + var _result = _meos_a.tbool_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_a.tbool_value_at_timestamptz(temp, t_new, strict, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbool_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_a.tbool_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbool_values(Pointer temp, Pointer count) { + var _result = _meos_a.tbool_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_duration(Pointer temp, boolean boundspan) { + var _result = _meos_a.temporal_duration(temp, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_end_instant(Pointer temp) { + var _result = _meos_a.temporal_end_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_end_sequence(Pointer temp) { + var _result = _meos_a.temporal_end_sequence(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime temporal_end_timestamptz(Pointer temp) { + var _result = _meos_a.temporal_end_timestamptz(temp); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int temporal_hash(Pointer temp) { + var _result = _meos_a.temporal_hash(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_instant_n(Pointer temp, int n) { + var _result = _meos_a.temporal_instant_n(temp, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_instants(Pointer temp, Pointer count) { + var _result = _meos_a.temporal_instants(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_instants_p(Pointer temp, Pointer count) { + var _result = _meos_a.temporal_instants_p(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_interp(Pointer temp) { + var _result = _meos_a.temporal_interp(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_lower_inc(Pointer temp) { + var _result = _meos_a.temporal_lower_inc(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_max_instant(Pointer temp) { + var _result = _meos_a.temporal_max_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_min_instant(Pointer temp) { + var _result = _meos_a.temporal_min_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_num_instants(Pointer temp) { + var _result = _meos_a.temporal_num_instants(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_num_sequences(Pointer temp) { + var _result = _meos_a.temporal_num_sequences(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_num_timestamps(Pointer temp) { + var _result = _meos_a.temporal_num_timestamps(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict) { + var _result = _meos_a.temporal_segm_duration(temp, duration, atleast, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_segments(Pointer temp, Pointer count) { + var _result = _meos_a.temporal_segments(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_sequence_n(Pointer temp, int i) { + var _result = _meos_a.temporal_sequence_n(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_sequences(Pointer temp, Pointer count) { + var _result = _meos_a.temporal_sequences(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_start_instant(Pointer temp) { + var _result = _meos_a.temporal_start_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_start_sequence(Pointer temp) { + var _result = _meos_a.temporal_start_sequence(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime temporal_start_timestamptz(Pointer temp) { + var _result = _meos_a.temporal_start_timestamptz(temp); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration) { + var _result = _meos_a.temporal_stops(temp, maxdist, minduration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_subtype(Pointer temp) { + var _result = _meos_a.temporal_subtype(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_basetype_name(Pointer temp) { + var _result = _meos_a.temporal_basetype_name(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_time(Pointer temp) { + var _result = _meos_a.temporal_time(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_timestamps(Pointer temp, Pointer count) { + var _result = _meos_a.temporal_timestamps(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_timestamptz_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.temporal_timestamptz_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static boolean temporal_upper_inc(Pointer temp) { + var _result = _meos_a.temporal_upper_inc(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_end_value(Pointer temp) { + var _result = _meos_a.tfloat_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_min_value(Pointer temp) { + var _result = _meos_a.tfloat_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_max_value(Pointer temp) { + var _result = _meos_a.tfloat_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tfloat_start_value(Pointer temp) { + var _result = _meos_a.tfloat_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_a.tfloat_value_at_timestamptz(temp, t_new, strict, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_a.tfloat_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_values(Pointer temp, Pointer count) { + var _result = _meos_a.tfloat_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_end_value(Pointer temp) { + var _result = _meos_a.tint_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_max_value(Pointer temp) { + var _result = _meos_a.tint_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_min_value(Pointer temp) { + var _result = _meos_a.tint_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tint_start_value(Pointer temp) { + var _result = _meos_a.tint_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_a.tint_value_at_timestamptz(temp, t_new, strict, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); + out = _meos_a.tint_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tint_values(Pointer temp, Pointer count) { + var _result = _meos_a.tint_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumber_avg_value(Pointer temp) { + var _result = _meos_a.tnumber_avg_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumber_integral(Pointer temp) { + var _result = _meos_a.tnumber_integral(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumber_twavg(Pointer temp) { + var _result = _meos_a.tnumber_twavg(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_valuespans(Pointer temp) { + var _result = _meos_a.tnumber_valuespans(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_end_value(Pointer temp) { + var _result = _meos_a.ttext_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_max_value(Pointer temp) { + var _result = _meos_a.ttext_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_min_value(Pointer temp) { + var _result = _meos_a.ttext_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_start_value(Pointer temp) { + var _result = _meos_a.ttext_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_a.ttext_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer ttext_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_a.ttext_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer ttext_values(Pointer temp, Pointer count) { + var _result = _meos_a.ttext_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_degrees(double value, boolean normalize) { + var _result = _meos_a.float_degrees(value, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_scale_value(Pointer temp, long width) { + var _result = _meos_a.tbigint_scale_value(temp, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width) { + var _result = _meos_a.tbigint_shift_scale_value(temp, shift, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_shift_value(Pointer temp, long shift) { + var _result = _meos_a.tbigint_shift_value(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temparr_round(Pointer temp, int count, int maxdd) { + var _result = _meos_a.temparr_round(temp, count, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_round(Pointer temp, int maxdd) { + var _result = _meos_a.temporal_round(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_scale_time(Pointer temp, Pointer duration) { + var _result = _meos_a.temporal_scale_time(temp, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_set_interp(Pointer temp, int interp) { + var _result = _meos_a.temporal_set_interp(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration) { + var _result = _meos_a.temporal_shift_scale_time(temp, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_shift_time(Pointer temp, Pointer shift) { + var _result = _meos_a.temporal_shift_time(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tinstant(Pointer temp) { + var _result = _meos_a.temporal_to_tinstant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tsequence(Pointer temp, int interp) { + var _result = _meos_a.temporal_to_tsequence(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_to_tsequenceset(Pointer temp, int interp) { + var _result = _meos_a.temporal_to_tsequenceset(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_ceil(Pointer temp) { + var _result = _meos_a.tfloat_ceil(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_degrees(Pointer temp, boolean normalize) { + var _result = _meos_a.tfloat_degrees(temp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_floor(Pointer temp) { + var _result = _meos_a.tfloat_floor(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_radians(Pointer temp) { + var _result = _meos_a.tfloat_radians(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_scale_value(Pointer temp, double width) { + var _result = _meos_a.tfloat_scale_value(temp, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width) { + var _result = _meos_a.tfloat_shift_scale_value(temp, shift, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_shift_value(Pointer temp, double shift) { + var _result = _meos_a.tfloat_shift_value(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_scale_value(Pointer temp, int width) { + var _result = _meos_a.tint_scale_value(temp, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_shift_scale_value(Pointer temp, int shift, int width) { + var _result = _meos_a.tint_shift_scale_value(temp, shift, width); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_shift_value(Pointer temp, int shift) { + var _result = _meos_a.tint_shift_value(temp, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_a.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand) { + var _result = _meos_a.temporal_append_tsequence(temp, seq, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.temporal_delete_timestamptz(temp, t_new, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_a.temporal_delete_tstzset(temp, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_tstzspan(Pointer temp, Pointer sp, boolean connect) { + var _result = _meos_a.temporal_delete_tstzspan(temp, sp, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { + var _result = _meos_a.temporal_delete_tstzspanset(temp, ss, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect) { + var _result = _meos_a.temporal_insert(temp1, temp2, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_merge(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_merge(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_merge_array(Pointer temparr, int count) { + var _result = _meos_a.temporal_merge_array(temparr, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect) { + var _result = _meos_a.temporal_update(temp1, temp2, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_at_value(Pointer temp, boolean b) { + var _result = _meos_a.tbool_at_value(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_minus_value(Pointer temp, boolean b) { + var _result = _meos_a.tbool_minus_value(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.temporal_after_timestamptz(temp, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_max(Pointer temp) { + var _result = _meos_a.temporal_at_max(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_min(Pointer temp) { + var _result = _meos_a.temporal_at_min(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_timestamptz(Pointer temp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.temporal_at_timestamptz(temp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_tstzset(Pointer temp, Pointer s) { + var _result = _meos_a.temporal_at_tstzset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_a.temporal_at_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss) { + var _result = _meos_a.temporal_at_tstzspanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_at_values(Pointer temp, Pointer set) { + var _result = _meos_a.temporal_at_values(temp, set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.temporal_before_timestamptz(temp, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_max(Pointer temp) { + var _result = _meos_a.temporal_minus_max(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_min(Pointer temp) { + var _result = _meos_a.temporal_minus_min(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_timestamptz(Pointer temp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_a.temporal_minus_timestamptz(temp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_tstzset(Pointer temp, Pointer s) { + var _result = _meos_a.temporal_minus_tstzset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_a.temporal_minus_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss) { + var _result = _meos_a.temporal_minus_tstzspanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_minus_values(Pointer temp, Pointer set) { + var _result = _meos_a.temporal_minus_values(temp, set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_at_value(Pointer temp, double d) { + var _result = _meos_a.tfloat_at_value(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_minus_value(Pointer temp, double d) { + var _result = _meos_a.tfloat_minus_value(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_at_value(Pointer temp, int i) { + var _result = _meos_a.tint_at_value(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_minus_value(Pointer temp, int i) { + var _result = _meos_a.tint_minus_value(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_at_span(Pointer temp, Pointer sp) { + var _result = _meos_a.tnumber_at_span(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_at_spanset(Pointer temp, Pointer ss) { + var _result = _meos_a.tnumber_at_spanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_at_tbox(Pointer temp, Pointer box) { + var _result = _meos_a.tnumber_at_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_minus_span(Pointer temp, Pointer sp) { + var _result = _meos_a.tnumber_minus_span(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_minus_spanset(Pointer temp, Pointer ss) { + var _result = _meos_a.tnumber_minus_spanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_minus_tbox(Pointer temp, Pointer box) { + var _result = _meos_a.tnumber_minus_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_at_value(Pointer temp, Pointer txt) { + var _result = _meos_a.ttext_at_value(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_minus_value(Pointer temp, Pointer txt) { + var _result = _meos_a.ttext_minus_value(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_cmp(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_cmp(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_eq(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_eq(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_ge(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_ge(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_gt(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_gt(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_le(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_le(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_lt(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_lt(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_ne(Pointer temp1, Pointer temp2) { + var _result = _meos_a.temporal_ne(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.always_eq_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_a.always_eq_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.always_eq_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_int_tint(int i, Pointer temp) { + var _result = _meos_a.always_eq_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_a.always_eq_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.always_eq_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.always_eq_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.always_eq_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.always_eq_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tint_int(Pointer temp, int i) { + var _result = _meos_a.always_eq_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.always_eq_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.always_ge_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.always_ge_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_int_tint(int i, Pointer temp) { + var _result = _meos_a.always_ge_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.always_ge_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.always_ge_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.always_ge_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.always_ge_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_tint_int(Pointer temp, int i) { + var _result = _meos_a.always_ge_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.always_ge_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.always_gt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.always_gt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_int_tint(int i, Pointer temp) { + var _result = _meos_a.always_gt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.always_gt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.always_gt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.always_gt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.always_gt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_tint_int(Pointer temp, int i) { + var _result = _meos_a.always_gt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.always_gt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.always_le_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.always_le_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_int_tint(int i, Pointer temp) { + var _result = _meos_a.always_le_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.always_le_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.always_le_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.always_le_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.always_le_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_tint_int(Pointer temp, int i) { + var _result = _meos_a.always_le_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.always_le_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.always_lt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.always_lt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_int_tint(int i, Pointer temp) { + var _result = _meos_a.always_lt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.always_lt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.always_lt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.always_lt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_tint_int(Pointer temp, int i) { + var _result = _meos_a.always_lt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.always_lt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.always_lt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_a.always_ne_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.always_ne_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_int_tint(int i, Pointer temp) { + var _result = _meos_a.always_ne_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.always_ne_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_a.always_ne_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.always_ne_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.always_ne_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.always_ne_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.always_ne_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tint_int(Pointer temp, int i) { + var _result = _meos_a.always_ne_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.always_ne_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.ever_eq_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_a.ever_eq_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.ever_eq_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_int_tint(int i, Pointer temp) { + var _result = _meos_a.ever_eq_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.ever_eq_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_a.ever_eq_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.ever_eq_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.ever_eq_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.ever_eq_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tint_int(Pointer temp, int i) { + var _result = _meos_a.ever_eq_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.ever_eq_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.ever_ge_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.ever_ge_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_int_tint(int i, Pointer temp) { + var _result = _meos_a.ever_ge_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.ever_ge_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.ever_ge_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.ever_ge_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.ever_ge_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_tint_int(Pointer temp, int i) { + var _result = _meos_a.ever_ge_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.ever_ge_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.ever_gt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.ever_gt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_int_tint(int i, Pointer temp) { + var _result = _meos_a.ever_gt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.ever_gt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.ever_gt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.ever_gt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.ever_gt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_tint_int(Pointer temp, int i) { + var _result = _meos_a.ever_gt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.ever_gt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.ever_le_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.ever_le_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_int_tint(int i, Pointer temp) { + var _result = _meos_a.ever_le_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.ever_le_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.ever_le_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.ever_le_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.ever_le_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_tint_int(Pointer temp, int i) { + var _result = _meos_a.ever_le_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.ever_le_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.ever_lt_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.ever_lt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_int_tint(int i, Pointer temp) { + var _result = _meos_a.ever_lt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.ever_lt_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.ever_lt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.ever_lt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.ever_lt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_tint_int(Pointer temp, int i) { + var _result = _meos_a.ever_lt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.ever_lt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_bigint_tbigint(long i, Pointer temp) { + var _result = _meos_a.ever_ne_bigint_tbigint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_a.ever_ne_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.ever_ne_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_int_tint(int i, Pointer temp) { + var _result = _meos_a.ever_ne_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tbigint_bigint(Pointer temp, long i) { + var _result = _meos_a.ever_ne_tbigint_bigint(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_a.ever_ne_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.ever_ne_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.ever_ne_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.ever_ne_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tint_int(Pointer temp, int i) { + var _result = _meos_a.ever_ne_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.ever_ne_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_a.teq_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.teq_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_int_tint(int i, Pointer temp) { + var _result = _meos_a.teq_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_a.teq_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.teq_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.teq_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.teq_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tint_int(Pointer temp, int i) { + var _result = _meos_a.teq_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.teq_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.tge_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_int_tint(int i, Pointer temp) { + var _result = _meos_a.tge_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.tge_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.tge_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.tge_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_tint_int(Pointer temp, int i) { + var _result = _meos_a.tge_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tge_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.tge_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.tgt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_int_tint(int i, Pointer temp) { + var _result = _meos_a.tgt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_a.tgt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_a.tgt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_tfloat_float(Pointer temp, double d) { + var _result = _meos_a.tgt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_tint_int(Pointer temp, int i) { + var _result = _meos_a.tgt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_a.tgt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_float_tfloat(double d, Pointer temp) { + var _result = _meos_a.tle_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_int_tint(int i, Pointer temp) { + var _result = _meos_b.tle_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tle_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tle_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tle_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_tint_int(Pointer temp, int i) { + var _result = _meos_b.tle_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tle_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tle_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tlt_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_int_tint(int i, Pointer temp) { + var _result = _meos_b.tlt_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tlt_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tlt_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tlt_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_tint_int(Pointer temp, int i) { + var _result = _meos_b.tlt_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tlt_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tlt_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.tne_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_float_tfloat(double d, Pointer temp) { + var _result = _meos_b.tne_float_tfloat(d, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_int_tint(int i, Pointer temp) { + var _result = _meos_b.tne_int_tint(i, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.tne_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tne_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.tne_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tne_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tint_int(Pointer temp, int i) { + var _result = _meos_b.tne_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.tne_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_spans(Pointer temp, Pointer count) { + var _result = _meos_b.temporal_spans(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_b.temporal_split_each_n_spans(temp, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count) { + var _result = _meos_b.temporal_split_n_spans(temp, span_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_b.tnumber_split_each_n_tboxes(temp, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count) { + var _result = _meos_b.tnumber_split_n_tboxes(temp, box_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_tboxes(Pointer temp, Pointer count) { + var _result = _meos_b.tnumber_tboxes(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.adjacent_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.adjacent_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adjacent_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.adjacent_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.adjacent_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.adjacent_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adjacent_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.adjacent_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.contained_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.contained_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contained_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.contained_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.contained_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.contained_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contained_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.contained_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.contains_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.contains_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.contains_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contains_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.contains_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.contains_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contains_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.contains_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.overlaps_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overlaps_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overlaps_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.overlaps_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.overlaps_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overlaps_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overlaps_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.overlaps_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.same_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.same_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.same_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.same_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.same_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.same_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.same_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.same_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.after_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.after_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.after_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.after_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.after_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.after_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.before_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.before_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.before_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.before_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.before_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.before_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.left_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.left_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.left_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.left_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.left_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overafter_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.overafter_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overafter_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overafter_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overafter_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.overafter_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overbefore_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_temporal_tstzspan(Pointer temp, Pointer sp) { + var _result = _meos_b.overbefore_temporal_tstzspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overbefore_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overbefore_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overbefore_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tstzspan_temporal(Pointer sp, Pointer temp) { + var _result = _meos_b.overbefore_tstzspan_temporal(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.overleft_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overleft_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.overleft_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overleft_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overleft_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.overright_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.overright_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.overright_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.overright_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overright_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_numspan_tnumber(Pointer sp, Pointer temp) { + var _result = _meos_b.right_numspan_tnumber(sp, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tbox_tnumber(Pointer box, Pointer temp) { + var _result = _meos_b.right_tbox_tnumber(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tnumber_numspan(Pointer temp, Pointer sp) { + var _result = _meos_b.right_tnumber_numspan(temp, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.right_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.right_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tand_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.tand_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tand_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.tand_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tand_tbool_tbool(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_when_true(Pointer temp) { + var _result = _meos_b.tbool_when_true(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnot_tbool(Pointer temp) { + var _result = _meos_b.tnot_tbool(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tor_bool_tbool(boolean b, Pointer temp) { + var _result = _meos_b.tor_bool_tbool(b, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tor_tbool_bool(Pointer temp, boolean b) { + var _result = _meos_b.tor_tbool_bool(temp, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tor_tbool_tbool(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.add_bigint_tbigint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.add_float_tfloat(d, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.add_int_tint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.add_tbigint_bigint(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.add_tfloat_float(tnumber, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.add_tint_int(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.add_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.div_bigint_tbigint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.div_float_tfloat(d, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.div_int_tint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.div_tbigint_bigint(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.div_tfloat_float(tnumber, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.div_tint_int(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.div_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.mul_bigint_tbigint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.mul_float_tfloat(d, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.mul_int_tint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.mul_tbigint_bigint(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.mul_tfloat_float(tnumber, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.mul_tint_int(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.mul_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_bigint_tbigint(long i, Pointer tnumber) { + var _result = _meos_b.sub_bigint_tbigint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_float_tfloat(double d, Pointer tnumber) { + var _result = _meos_b.sub_float_tfloat(d, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_int_tint(int i, Pointer tnumber) { + var _result = _meos_b.sub_int_tint(i, tnumber); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tbigint_bigint(Pointer tnumber, long i) { + var _result = _meos_b.sub_tbigint_bigint(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tfloat_float(Pointer tnumber, double d) { + var _result = _meos_b.sub_tfloat_float(tnumber, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tint_int(Pointer tnumber, int i) { + var _result = _meos_b.sub_tint_int(tnumber, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { + var _result = _meos_b.sub_tnumber_tnumber(tnumber1, tnumber2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_derivative(Pointer temp) { + var _result = _meos_b.temporal_derivative(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_exp(Pointer temp) { + var _result = _meos_b.tfloat_exp(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_ln(Pointer temp) { + var _result = _meos_b.tfloat_ln(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_log10(Pointer temp) { + var _result = _meos_b.tfloat_log10(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_abs(Pointer temp) { + var _result = _meos_b.tnumber_abs(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_trend(Pointer temp) { + var _result = _meos_b.tnumber_trend(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double float_angular_difference(double degrees1, double degrees2) { + var _result = _meos_b.float_angular_difference(degrees1, degrees2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_angular_difference(Pointer temp) { + var _result = _meos_b.tnumber_angular_difference(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_delta_value(Pointer temp) { + var _result = _meos_b.tnumber_delta_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_text_ttext(Pointer txt, Pointer temp) { + var _result = _meos_b.textcat_text_ttext(txt, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_ttext_text(Pointer temp, Pointer txt) { + var _result = _meos_b.textcat_ttext_text(temp, txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2) { + var _result = _meos_b.textcat_ttext_ttext(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_initcap(Pointer temp) { + var _result = _meos_b.ttext_initcap(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_upper(Pointer temp) { + var _result = _meos_b.ttext_upper(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_lower(Pointer temp) { + var _result = _meos_b.ttext_lower(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.tdistance_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tint_int(Pointer temp, int i) { + var _result = _meos_b.tdistance_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tdistance_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2) { + var _result = _meos_b.nad_tboxfloat_tboxfloat(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int nad_tboxint_tboxint(Pointer box1, Pointer box2) { + var _result = _meos_b.nad_tboxint_tboxint(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tfloat_float(Pointer temp, double d) { + var _result = _meos_b.nad_tfloat_float(temp, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tfloat_tfloat(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nad_tfloat_tfloat(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tfloat_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.nad_tfloat_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int nad_tint_int(Pointer temp, int i) { + var _result = _meos_b.nad_tint_int(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int nad_tint_tbox(Pointer temp, Pointer box) { + var _result = _meos_b.nad_tint_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int nad_tint_tint(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nad_tint_tint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_tand_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tbool_tand_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_tand_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tbool_tand_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_tor_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tbool_tor_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbool_tor_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tbool_tor_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_extent_transfn(Pointer s, Pointer temp) { + var _result = _meos_b.temporal_extent_transfn(s, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_merge_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.temporal_merge_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_merge_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.temporal_merge_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tagg_finalfn(Pointer state) { + var _result = _meos_b.temporal_tagg_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tcount_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.temporal_tcount_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tcount_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.temporal_tcount_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_tmax_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tfloat_tmax_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_tmax_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tfloat_tmax_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_tmin_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tfloat_tmin_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_tmin_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tfloat_tmin_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_tsum_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tfloat_tsum_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_tsum_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tfloat_tsum_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tfloat_wmax_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tfloat_wmin_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tfloat_wsum_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_tcount_transfn(Pointer state, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.timestamptz_tcount_transfn(state, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_tmax_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tint_tmax_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_tmax_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tint_tmax_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_tmin_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tint_tmin_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_tmin_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tint_tmin_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_tsum_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tint_tsum_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_tsum_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tint_tsum_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tint_wmax_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tint_wmin_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tint_wsum_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_extent_transfn(Pointer box, Pointer temp) { + var _result = _meos_b.tnumber_extent_transfn(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_tavg_finalfn(Pointer state) { + var _result = _meos_b.tnumber_tavg_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_tavg_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tnumber_tavg_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_tavg_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.tnumber_tavg_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv) { + var _result = _meos_b.tnumber_wavg_transfn(state, temp, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_tcount_transfn(Pointer state, Pointer s) { + var _result = _meos_b.tstzset_tcount_transfn(state, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_tcount_transfn(Pointer state, Pointer sp) { + var _result = _meos_b.tstzspan_tcount_transfn(state, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss) { + var _result = _meos_b.tstzspanset_tcount_transfn(state, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_tmax_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.ttext_tmax_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_tmax_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.ttext_tmax_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_tmin_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.ttext_tmin_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_tmin_combinefn(Pointer state1, Pointer state2) { + var _result = _meos_b.ttext_tmin_combinefn(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_simplify_dp(Pointer temp, double dist, boolean synchronize) { + var _result = _meos_b.temporal_simplify_dp(temp, dist, synchronize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_simplify_max_dist(Pointer temp, double dist, boolean synchronize) { + var _result = _meos_b.temporal_simplify_max_dist(temp, dist, synchronize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_simplify_min_dist(Pointer temp, double dist) { + var _result = _meos_b.temporal_simplify_min_dist(temp, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint) { + var _result = _meos_b.temporal_simplify_min_tdelta(temp, mint); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tprecision(Pointer temp, Pointer duration, OffsetDateTime origin) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_b.temporal_tprecision(temp, duration, origin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tsample(Pointer temp, Pointer duration, OffsetDateTime origin, int interp) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_b.temporal_tsample(temp, duration, origin_new, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_dyntimewarp_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { + var _result = _meos_b.temporal_dyntimewarp_path(temp1, temp2, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double temporal_frechet_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_frechet_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { + var _result = _meos_b.temporal_frechet_path(temp1, temp2, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double temporal_hausdorff_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_hausdorff_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double temporal_average_hausdorff_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_b.temporal_average_hausdorff_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double temporal_lcss_distance(Pointer temp1, Pointer temp2, double epsilon) { + var _result = _meos_b.temporal_lcss_distance(temp1, temp2, epsilon); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_ext_kalman_filter(Pointer temp, double gate, double q, double variance, boolean to_drop) { + var _result = _meos_b.temporal_ext_kalman_filter(temp, gate, q, variance, to_drop); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_time_bins(Pointer temp, Pointer duration, OffsetDateTime origin, Pointer count) { + var origin_new = origin.toEpochSecond(); + var _result = _meos_b.temporal_time_bins(temp, duration, origin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_time_split(Pointer temp, Pointer duration, OffsetDateTime torigin) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 24); + var torigin_new = torigin.toEpochSecond(); + _meos_b.temporal_time_split(_sret, temp, duration, torigin_new); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloat_time_boxes(temp, duration, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count) { + var _result = _meos_b.tfloat_value_bins(temp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count) { + var _result = _meos_b.tfloat_value_boxes(temp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_split(Pointer temp, double size, double origin) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 24); + _meos_b.tfloat_value_split(_sret, temp, size, origin); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 32); + var torigin_new = torigin.toEpochSecond(); + _meos_b.tfloat_value_time_split(_sret, temp, vsize, duration, vorigin, torigin_new); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloatbox_time_tiles(box, duration, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count) { + var _result = _meos_b.tfloatbox_value_tiles(box, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tint_time_boxes(temp, duration, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count) { + var _result = _meos_b.tint_value_bins(temp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count) { + var _result = _meos_b.tint_value_boxes(temp, vsize, vorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_split(Pointer temp, int vsize, int vorigin) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 24); + _meos_b.tint_value_split(_sret, temp, vsize, vorigin); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, OffsetDateTime torigin) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 32); + var torigin_new = torigin.toEpochSecond(); + _meos_b.tint_value_time_split(_sret, temp, size, duration, vorigin, torigin_new); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tintbox_time_tiles(box, duration, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count) { + var _result = _meos_b.tintbox_value_tiles(box, xsize, xorigin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer box3d_from_gbox(Pointer box) { + var _result = _meos_b.box3d_from_gbox(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) { + var _result = _meos_b.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String box3d_out(Pointer box, int maxdd) { + var _result = _meos_b.box3d_out(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) { + var _result = _meos_b.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String gbox_out(Pointer box, int maxdd) { + var _result = _meos_b.gbox_out(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size) { + var _result = _meos_b.geo_as_ewkb(gs, endian, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_as_ewkt(Pointer gs, int precision) { + var _result = _meos_b.geo_as_ewkt(gs, precision); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_as_geojson(Pointer gs, int option, int precision, String srs) { + var _result = _meos_b.geo_as_geojson(gs, option, precision, srs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_as_hexewkb(Pointer gs, String endian) { + var _result = _meos_b.geo_as_hexewkb(gs, endian); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_as_text(Pointer gs, int precision) { + var _result = _meos_b.geo_as_text(gs, precision); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid) { + var _result = _meos_b.geo_from_ewkb(wkb, wkb_size, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_from_geojson(String geojson) { + var _result = _meos_b.geo_from_geojson(geojson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_from_text(String wkt, int srid) { + var _result = _meos_b.geo_from_text(wkt, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_out(Pointer gs) { + var _result = _meos_b.geo_out(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geog_from_hexewkb(String wkt) { + var _result = _meos_b.geog_from_hexewkb(wkt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geog_in(String str, int typmod) { + var _result = _meos_b.geog_in(str, typmod); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_from_hexewkb(String wkt) { + var _result = _meos_b.geom_from_hexewkb(wkt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_in(String str, int typmod) { + var _result = _meos_b.geom_in(str, typmod); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer box3d_in(String str) { + var _result = _meos_b.box3d_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer gbox_in(String str) { + var _result = _meos_b.gbox_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_copy(Pointer gs) { + var _result = _meos_b.geo_copy(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geogpoint_make2d(int srid, double x, double y) { + var _result = _meos_b.geogpoint_make2d(srid, x, y); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geogpoint_make3dz(int srid, double x, double y, double z) { + var _result = _meos_b.geogpoint_make3dz(srid, x, y, z); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geompoint_make2d(int srid, double x, double y) { + var _result = _meos_b.geompoint_make2d(srid, x, y); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geompoint_make3dz(int srid, double x, double y, double z) { + var _result = _meos_b.geompoint_make3dz(srid, x, y, z); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_to_geog(Pointer geom) { + var _result = _meos_b.geom_to_geog(geom); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geog_to_geom(Pointer geog) { + var _result = _meos_b.geog_to_geom(geog); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geo_is_empty(Pointer gs) { + var _result = _meos_b.geo_is_empty(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geo_is_unitary(Pointer gs) { + var _result = _meos_b.geo_is_unitary(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_typename(int type) { + var _result = _meos_b.geo_typename(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geog_area(Pointer gs, boolean use_spheroid) { + var _result = _meos_b.geog_area(gs, use_spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geog_centroid(Pointer gs, boolean use_spheroid) { + var _result = _meos_b.geog_centroid(gs, use_spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geog_length(Pointer gs, boolean use_spheroid) { + var _result = _meos_b.geog_length(gs, use_spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geog_perimeter(Pointer gs, boolean use_spheroid) { + var _result = _meos_b.geog_perimeter(gs, use_spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_azimuth(Pointer gs1, Pointer gs2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.geom_azimuth(gs1, gs2, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static double geom_length(Pointer gs) { + var _result = _meos_b.geom_length(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geom_perimeter(Pointer gs) { + var _result = _meos_b.geom_perimeter(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int line_numpoints(Pointer gs) { + var _result = _meos_b.line_numpoints(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer line_point_n(Pointer geom, int n) { + var _result = _meos_b.line_point_n(geom, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_reverse(Pointer gs) { + var _result = _meos_b.geo_reverse(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_round(Pointer gs, int maxdd) { + var _result = _meos_b.geo_round(gs, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_set_srid(Pointer gs, int srid) { + var _result = _meos_b.geo_set_srid(gs, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int geo_srid(Pointer gs) { + var _result = _meos_b.geo_srid(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_transform(Pointer geom, int srid_to) { + var _result = _meos_b.geo_transform(geom, srid_to); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward) { + var _result = _meos_b.geo_transform_pipeline(gs, pipeline, srid_to, is_forward); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_collect_garray(Pointer gsarr, int count) { + var _result = _meos_b.geo_collect_garray(gsarr, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_makeline_garray(Pointer gsarr, int count) { + var _result = _meos_b.geo_makeline_garray(gsarr, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int geo_num_points(Pointer gs) { + var _result = _meos_b.geo_num_points(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int geo_num_geos(Pointer gs) { + var _result = _meos_b.geo_num_geos(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_geo_n(Pointer geom, int n) { + var _result = _meos_b.geo_geo_n(geom, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_pointarr(Pointer gs, Pointer count) { + var _result = _meos_b.geo_pointarr(gs, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_points(Pointer gs) { + var _result = _meos_b.geo_points(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_array_union(Pointer gsarr, int count) { + var _result = _meos_b.geom_array_union(gsarr, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_boundary(Pointer gs) { + var _result = _meos_b.geom_boundary(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_buffer(Pointer gs, double size, String params) { + var _result = _meos_b.geom_buffer(gs, size, params); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_centroid(Pointer gs) { + var _result = _meos_b.geom_centroid(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_convex_hull(Pointer gs) { + var _result = _meos_b.geom_convex_hull(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_difference2d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_difference2d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_intersection2d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_intersection2d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_intersection2d_coll(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_min_bounding_radius(Pointer geom) { + var _result = _meos_b.geom_min_bounding_radius(geom); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_shortestline2d(Pointer gs1, Pointer s2) { + var _result = _meos_b.geom_shortestline2d(gs1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_shortestline3d(Pointer gs1, Pointer s2) { + var _result = _meos_b.geom_shortestline3d(gs1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_unary_union(Pointer gs, double prec) { + var _result = _meos_b.geom_unary_union(gs, prec); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat) { + var _result = _meos_b.line_interpolate_point(gs, distance_fraction, repeat); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double line_locate_point(Pointer gs1, Pointer gs2) { + var _result = _meos_b.line_locate_point(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer line_substring(Pointer gs, double from, double to) { + var _result = _meos_b.line_substring(gs, from, to); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid) { + var _result = _meos_b.geog_dwithin(g1, g2, tolerance, use_spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid) { + var _result = _meos_b.geog_intersects(gs1, gs2, use_spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_contains(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_contains(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_covers(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_covers(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_disjoint2d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_disjoint2d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance) { + var _result = _meos_b.geom_dwithin2d(gs1, gs2, tolerance); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance) { + var _result = _meos_b.geom_dwithin3d(gs1, gs2, tolerance); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_intersects2d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_intersects2d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_intersects3d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_intersects3d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt) { + var _result = _meos_b.geom_relate_pattern(gs1, gs2, patt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_touches(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_touches(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_stboxes(Pointer gs, Pointer count) { + var _result = _meos_b.geo_stboxes(gs, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count) { + var _result = _meos_b.geo_split_each_n_stboxes(gs, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count) { + var _result = _meos_b.geo_split_n_stboxes(gs, box_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geog_distance(Pointer g1, Pointer g2) { + var _result = _meos_b.geog_distance(g1, g2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geom_distance2d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_distance2d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geom_distance3d(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geom_distance3d(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int geo_equals(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geo_equals(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geo_same(Pointer gs1, Pointer gs2) { + var _result = _meos_b.geo_same(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geogset_in(String str) { + var _result = _meos_b.geogset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geomset_in(String str) { + var _result = _meos_b.geomset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spatialset_out(Pointer s, int maxdd) { + var _result = _meos_b.spatialset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spatialset_as_text(Pointer set, int maxdd) { + var _result = _meos_b.spatialset_as_text(set, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spatialset_as_ewkt(Pointer set, int maxdd) { + var _result = _meos_b.spatialset_as_ewkt(set, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geoset_make(Pointer values, int count) { + var _result = _meos_b.geoset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_to_set(Pointer gs) { + var _result = _meos_b.geo_to_set(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geoset_end_value(Pointer s) { + var _result = _meos_b.geoset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geoset_start_value(Pointer s) { + var _result = _meos_b.geoset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geoset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.geoset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer geoset_values(Pointer s, Pointer count) { + var _result = _meos_b.geoset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_geo_set(Pointer gs, Pointer s) { + var _result = _meos_b.contained_geo_set(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_geo(Pointer s, Pointer gs) { + var _result = _meos_b.contains_set_geo(s, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_union_transfn(Pointer state, Pointer gs) { + var _result = _meos_b.geo_union_transfn(state, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_geo_set(Pointer gs, Pointer s) { + var _result = _meos_b.intersection_geo_set(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_geo(Pointer s, Pointer gs) { + var _result = _meos_b.intersection_set_geo(s, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_geo_set(Pointer gs, Pointer s) { + var _result = _meos_b.minus_geo_set(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_geo(Pointer s, Pointer gs) { + var _result = _meos_b.minus_set_geo(s, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_geo_set(Pointer gs, Pointer s) { + var _result = _meos_b.union_geo_set(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_geo(Pointer s, Pointer gs) { + var _result = _meos_b.union_set_geo(s, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spatialset_set_srid(Pointer s, int srid) { + var _result = _meos_b.spatialset_set_srid(s, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spatialset_srid(Pointer s) { + var _result = _meos_b.spatialset_srid(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spatialset_transform(Pointer s, int srid) { + var _result = _meos_b.spatialset_transform(s, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_b.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String stbox_as_hexwkb(Pointer box, byte variant, Pointer size) { + var _result = _meos_b.stbox_as_hexwkb(box, variant, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_as_wkb(Pointer box, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_b.stbox_as_wkb(box, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_from_hexwkb(String hexwkb) { + var _result = _meos_b.stbox_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_from_wkb(Pointer wkb, long size) { + var _result = _meos_b.stbox_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_in(String str) { + var _result = _meos_b.stbox_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String stbox_out(Pointer box, int maxdd) { + var _result = _meos_b.stbox_out(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_timestamptz_to_stbox(Pointer gs, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.geo_timestamptz_to_stbox(gs, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s) { + var _result = _meos_b.geo_tstzspan_to_stbox(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_copy(Pointer box) { + var _result = _meos_b.stbox_copy(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s) { + var _result = _meos_b.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_to_stbox(Pointer gs) { + var _result = _meos_b.geo_to_stbox(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spatialset_to_stbox(Pointer s) { + var _result = _meos_b.spatialset_to_stbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_to_box3d(Pointer box) { + var _result = _meos_b.stbox_to_box3d(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_to_gbox(Pointer box) { + var _result = _meos_b.stbox_to_gbox(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_to_geo(Pointer box) { + var _result = _meos_b.stbox_to_geo(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_to_tstzspan(Pointer box) { + var _result = _meos_b.stbox_to_tstzspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer timestamptz_to_stbox(OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.timestamptz_to_stbox(t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzset_to_stbox(Pointer s) { + var _result = _meos_b.tstzset_to_stbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspan_to_stbox(Pointer s) { + var _result = _meos_b.tstzspan_to_stbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstzspanset_to_stbox(Pointer ss) { + var _result = _meos_b.tstzspanset_to_stbox(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double stbox_area(Pointer box, boolean spheroid) { + var _result = _meos_b.stbox_area(box, spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int stbox_hash(Pointer box) { + var _result = _meos_b.stbox_hash(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int stbox_hash_extended(Pointer box, int seed) { + var _result = _meos_b.stbox_hash_extended(box, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_hast(Pointer box) { + var _result = _meos_b.stbox_hast(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_hasx(Pointer box) { + var _result = _meos_b.stbox_hasx(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_hasz(Pointer box) { + var _result = _meos_b.stbox_hasz(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_isgeodetic(Pointer box) { + var _result = _meos_b.stbox_isgeodetic(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double stbox_perimeter(Pointer box, boolean spheroid) { + var _result = _meos_b.stbox_perimeter(box, spheroid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_tmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.stbox_tmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_tmax_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.stbox_tmax_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_tmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.stbox_tmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_tmin_inc(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); + out = _meos_b.stbox_tmin_inc(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static double stbox_volume(Pointer box) { + var _result = _meos_b.stbox_volume(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.stbox_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.stbox_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_ymax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.stbox_ymax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_ymin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.stbox_ymin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_zmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.stbox_zmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_zmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.stbox_zmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_expand_space(Pointer box, double d) { + var _result = _meos_b.stbox_expand_space(box, d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_expand_time(Pointer box, Pointer interv) { + var _result = _meos_b.stbox_expand_time(box, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_get_space(Pointer box) { + var _result = _meos_b.stbox_get_space(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_quad_split(Pointer box, Pointer count) { + var _result = _meos_b.stbox_quad_split(box, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_round(Pointer box, int maxdd) { + var _result = _meos_b.stbox_round(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { + var _result = _meos_b.stbox_shift_scale_time(box, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stboxarr_round(Pointer boxarr, int count, int maxdd) { + var _result = _meos_b.stboxarr_round(boxarr, count, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_set_srid(Pointer box, int srid) { + var _result = _meos_b.stbox_set_srid(box, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int stbox_srid(Pointer box) { + var _result = _meos_b.stbox_srid(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_transform(Pointer box, int srid) { + var _result = _meos_b.stbox_transform(box, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_b.stbox_transform_pipeline(box, pipelinestr, srid, is_forward); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.adjacent_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.contained_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.contains_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overlaps_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.same_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean above_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.above_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.after_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean back_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.back_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.before_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean below_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.below_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean front_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.front_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.left_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overabove_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overabove_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overafter_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overback_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overback_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overbefore_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbelow_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overbelow_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overfront_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overfront_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overleft_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.overright_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.right_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict) { + var _result = _meos_b.union_stbox_stbox(box1, box2, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.intersection_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int stbox_cmp(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_eq(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_eq(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_ge(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_ge(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_gt(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_gt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_le(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_le(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_lt(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_lt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_ne(Pointer box1, Pointer box2) { + var _result = _meos_b.stbox_ne(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tspatial_out(Pointer temp, int maxdd) { + var _result = _meos_b.tspatial_out(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpoint_from_mfjson(String str) { + var _result = _meos_b.tgeogpoint_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpoint_in(String str) { + var _result = _meos_b.tgeogpoint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeography_from_mfjson(String mfjson) { + var _result = _meos_b.tgeography_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeography_in(String str) { + var _result = _meos_b.tgeography_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometry_from_mfjson(String str) { + var _result = _meos_b.tgeometry_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometry_in(String str) { + var _result = _meos_b.tgeometry_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompoint_from_mfjson(String str) { + var _result = _meos_b.tgeompoint_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompoint_in(String str) { + var _result = _meos_b.tgeompoint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tspatial_as_ewkt(Pointer temp, int maxdd) { + var _result = _meos_b.tspatial_as_ewkt(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tspatial_as_text(Pointer temp, int maxdd) { + var _result = _meos_b.tspatial_as_text(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_from_base_temp(Pointer gs, Pointer temp) { + var _result = _meos_b.tgeo_from_base_temp(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoinst_make(Pointer gs, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tgeoinst_make(gs, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s) { + var _result = _meos_b.tgeoseq_from_base_tstzset(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { + var _result = _meos_b.tgeoseq_from_base_tstzspan(gs, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { + var _result = _meos_b.tgeoseqset_from_base_tstzspanset(gs, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_from_base_temp(Pointer gs, Pointer temp) { + var _result = _meos_b.tpoint_from_base_temp(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointinst_make(Pointer gs, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tpointinst_make(gs, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s) { + var _result = _meos_b.tpointseq_from_base_tstzset(gs, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { + var _result = _meos_b.tpointseq_from_base_tstzspan(gs, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_b.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { + var _result = _meos_b.tpointseqset_from_base_tstzspanset(gs, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer box3d_to_stbox(Pointer box) { + var _result = _meos_b.box3d_to_stbox(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer gbox_to_stbox(Pointer box) { + var _result = _meos_b.gbox_to_stbox(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geomeas_to_tpoint(Pointer gs) { + var _result = _meos_b.geomeas_to_tpoint(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpoint_to_tgeography(Pointer temp) { + var _result = _meos_b.tgeogpoint_to_tgeography(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeography_to_tgeogpoint(Pointer temp) { + var _result = _meos_b.tgeography_to_tgeogpoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeography_to_tgeometry(Pointer temp) { + var _result = _meos_b.tgeography_to_tgeometry(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometry_to_tgeography(Pointer temp) { + var _result = _meos_b.tgeometry_to_tgeography(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometry_to_tgeompoint(Pointer temp) { + var _result = _meos_b.tgeometry_to_tgeompoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompoint_to_tgeometry(Pointer temp) { + var _result = _meos_b.tgeompoint_to_tgeometry(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 24); + _meos_b.tpoint_as_mvtgeom(_sret, temp, bounds, extent, buffer, clip_geom); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tspatial_to_stbox(Pointer temp) { + var _result = _meos_b.tspatial_to_stbox(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bearing_point_point(Pointer gs1, Pointer gs2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.bearing_point_point(gs1, gs2, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert) { + var _result = _meos_b.bearing_tpoint_point(temp, gs, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_b.bearing_tpoint_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_centroid(Pointer temp) { + var _result = _meos_b.tgeo_centroid(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_convex_hull(Pointer temp) { + var _result = _meos_b.tgeo_convex_hull(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_end_value(Pointer temp) { + var _result = _meos_b.tgeo_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_start_value(Pointer temp) { + var _result = _meos_b.tgeo_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_traversed_area(Pointer temp, boolean unary_union) { + var _result = _meos_b.tgeo_traversed_area(temp, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_b.tgeo_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.tgeo_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_values(Pointer temp, Pointer count) { + var _result = _meos_b.tgeo_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_angular_difference(Pointer temp) { + var _result = _meos_b.tpoint_angular_difference(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_azimuth(Pointer temp) { + var _result = _meos_b.tpoint_azimuth(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_cumulative_length(Pointer temp) { + var _result = _meos_b.tpoint_cumulative_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_direction(Pointer temp) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_b.tpoint_direction(temp, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_get_x(Pointer temp) { + var _result = _meos_b.tpoint_get_x(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_get_y(Pointer temp) { + var _result = _meos_b.tpoint_get_y(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_get_z(Pointer temp) { + var _result = _meos_b.tpoint_get_z(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpoint_is_simple(Pointer temp) { + var _result = _meos_b.tpoint_is_simple(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tpoint_length(Pointer temp) { + var _result = _meos_b.tpoint_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_speed(Pointer temp) { + var _result = _meos_b.tpoint_speed(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_trajectory(Pointer temp, boolean unary_union) { + var _result = _meos_b.tpoint_trajectory(temp, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_twcentroid(Pointer temp) { + var _result = _meos_b.tpoint_twcentroid(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_affine(Pointer temp, Pointer a) { + var _result = _meos_b.tgeo_affine(temp, a); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin) { + var _result = _meos_b.tgeo_scale(temp, scale, sorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_make_simple(Pointer temp, Pointer count) { + var _result = _meos_b.tpoint_make_simple(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tspatial_srid(Pointer temp) { + var _result = _meos_b.tspatial_srid(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatial_set_srid(Pointer temp, int srid) { + var _result = _meos_b.tspatial_set_srid(temp, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatial_transform(Pointer temp, int srid) { + var _result = _meos_b.tspatial_transform(temp, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_b.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_b.tgeo_at_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_b.tgeo_at_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_at_value(Pointer temp, Pointer gs) { + var _result = _meos_b.tgeo_at_value(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_b.tgeo_minus_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_b.tgeo_minus_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_minus_value(Pointer temp, Pointer gs) { + var _result = _meos_b.tgeo_minus_value(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_at_elevation(Pointer temp, Pointer s) { + var _result = _meos_b.tpoint_at_elevation(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_b.tpoint_at_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_at_value(Pointer temp, Pointer gs) { + var _result = _meos_b.tpoint_at_value(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_minus_elevation(Pointer temp, Pointer s) { + var _result = _meos_b.tpoint_minus_elevation(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_b.tpoint_minus_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_minus_value(Pointer temp, Pointer gs) { + var _result = _meos_b.tpoint_minus_value(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.always_eq_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.always_eq_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_eq_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.always_ne_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.always_ne_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_ne_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.ever_eq_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.ever_eq_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_eq_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.ever_ne_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.ever_ne_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_ne_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.teq_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.teq_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.tne_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tne_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_stboxes(Pointer temp, Pointer count) { + var _result = _meos_b.tgeo_stboxes(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { + var _result = _meos_b.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_b.tgeo_split_each_n_stboxes(temp, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count) { + var _result = _meos_b.tgeo_split_n_stboxes(temp, box_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.adjacent_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.adjacent_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adjacent_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.contained_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.contained_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contained_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.contains_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.contains_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.contains_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overlaps_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overlaps_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overlaps_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.same_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.same_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.same_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean above_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.above_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean above_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.above_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.above_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.after_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.after_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.after_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean back_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.back_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean back_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.back_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.back_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.before_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.before_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.before_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean below_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.below_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean below_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.below_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.below_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean front_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.front_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean front_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.front_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.front_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.left_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.left_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.left_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overabove_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overabove_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overabove_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overabove_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overabove_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overafter_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overafter_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overafter_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overback_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overback_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overback_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overback_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overback_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overbefore_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overbefore_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overbefore_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbelow_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overbelow_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbelow_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overbelow_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overbelow_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overfront_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overfront_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overfront_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overfront_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overfront_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overleft_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overleft_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overleft_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.overright_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.overright_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.overright_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_stbox_tspatial(Pointer box, Pointer temp) { + var _result = _meos_b.right_stbox_tspatial(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tspatial_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.right_tspatial_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_b.right_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.acontains_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.acontains_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.acontains_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.acovers_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.acovers_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.acovers_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.adisjoint_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adisjoint_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_b.adwithin_tgeo_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_b.adwithin_tgeo_tgeo(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.aintersects_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.aintersects_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.atouches_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.atouches_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_tpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.atouches_tpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.econtains_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.econtains_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.econtains_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.ecovers_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.ecovers_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ecovers_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edisjoint_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.edisjoint_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.edisjoint_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_b.edwithin_tgeo_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_b.edwithin_tgeo_tgeo(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.eintersects_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.eintersects_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.etouches_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.etouches_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_tpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.etouches_tpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.tcontains_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tcontains_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tcontains_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.tcovers_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tcovers_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tcovers_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.tdisjoint_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tdisjoint_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tdisjoint_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist) { + var _result = _meos_b.tdwithin_geo_tgeo(gs, temp, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_b.tdwithin_tgeo_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_b.tdwithin_tgeo_tgeo(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.tintersects_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tintersects_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tintersects_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp) { + var _result = _meos_b.ttouches_geo_tgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.ttouches_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ttouches_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tdistance_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tdistance_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_stbox_geo(Pointer box, Pointer gs) { + var _result = _meos_b.nad_stbox_geo(box, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_b.nad_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.nad_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tgeo_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.nad_tgeo_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nad_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.nai_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nai_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.shortestline_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_b.shortestline_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double mindistance_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2) { + var _result = _meos_b.mindistance_tgeoarr_tgeoarr(arr1, count1, arr2, count2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold) { + var _result = _meos_b.mindistance_tgeo_tgeo(temp1, temp2, threshold); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer edwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count) { + var _result = _meos_b.edwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count, Pointer periods) { + var _result = _meos_b.tdwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, count, periods); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer adisjoint_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, Pointer count) { + var _result = _meos_b.adisjoint_tgeoarr_tgeoarr(arr1, count1, arr2, count2, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_tcentroid_finalfn(Pointer state) { + var _result = _meos_b.tpoint_tcentroid_finalfn(state); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp) { + var _result = _meos_b.tpoint_tcentroid_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatial_extent_transfn(Pointer box, Pointer temp) { + var _result = _meos_b.tspatial_extent_transfn(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin) { + var _result = _meos_b.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_get_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.stbox_get_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_get_time_tile(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.stbox_get_time_tile(t_new, duration, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count) { + var _result = _meos_b.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_time_tiles(Pointer bounds, Pointer duration, OffsetDateTime torigin, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_b.stbox_time_tiles(bounds, duration, torigin_new, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 24); + _meos_b.tgeo_space_split(_sret, temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 32); + var torigin_new = torigin.toEpochSecond(); + _meos_b.tgeo_space_time_split(_sret, temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k, Pointer count) { + var _result = _meos_b.geo_cluster_kmeans(geoms, ngeoms, k, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count) { + var _result = _meos_b.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count) { + var _result = _meos_b.geo_cluster_intersecting(geoms, ngeoms, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count) { + var _result = _meos_b.geo_cluster_within(geoms, ngeoms, tolerance, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_wlof(Pointer geoms, int ngeoms, int k, double epsilon, Pointer newcount, Pointer clusters) { + var _result = _meos_b.geo_wlof(geoms, ngeoms, k, epsilon, newcount, clusters); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String cbuffer_as_ewkt(Pointer cb, int maxdd) { + var _result = _meos_b.cbuffer_as_ewkt(cb, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size) { + var _result = _meos_b.cbuffer_as_hexwkb(cb, variant, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String cbuffer_as_text(Pointer cb, int maxdd) { + var _result = _meos_b.cbuffer_as_text(cb, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_as_wkb(Pointer cb, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_b.cbuffer_as_wkb(cb, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_from_hexwkb(String hexwkb) { + var _result = _meos_b.cbuffer_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_from_wkb(Pointer wkb, long size) { + var _result = _meos_b.cbuffer_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_in(String str) { + var _result = _meos_b.cbuffer_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String cbuffer_out(Pointer cb, int maxdd) { + var _result = _meos_b.cbuffer_out(cb, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_copy(Pointer cb) { + var _result = _meos_b.cbuffer_copy(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_make(Pointer point, double radius) { + var _result = _meos_b.cbuffer_make(point, radius); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_to_geom(Pointer cb) { + var _result = _meos_b.cbuffer_to_geom(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_to_stbox(Pointer cb) { + var _result = _meos_b.cbuffer_to_stbox(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferarr_to_geom(Pointer cbarr, int count) { + var _result = _meos_b.cbufferarr_to_geom(cbarr, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_to_cbuffer(Pointer gs) { + var _result = _meos_b.geom_to_cbuffer(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_hash(Pointer cb) { + var _result = _meos_b.cbuffer_hash(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_hash_extended(Pointer cb, int seed) { + var _result = _meos_b.cbuffer_hash_extended(cb, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_point(Pointer cb) { + var _result = _meos_b.cbuffer_point(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double cbuffer_radius(Pointer cb) { + var _result = _meos_b.cbuffer_radius(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_round(Pointer cb, int maxdd) { + var _result = _meos_b.cbuffer_round(cb, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd) { + var _result = _meos_b.cbufferarr_round(cbarr, count, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void cbuffer_set_srid(Pointer cb, int srid) { + _meos_b.cbuffer_set_srid(cb, srid); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int cbuffer_srid(Pointer cb) { + var _result = _meos_b.cbuffer_srid(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_transform(Pointer cb, int srid) { + var _result = _meos_b.cbuffer_transform(cb, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_b.cbuffer_transform_pipeline(cb, pipelinestr, srid, is_forward); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.contains_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.covers_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.disjoint_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist) { + var _result = _meos_b.dwithin_cbuffer_cbuffer(cb1, cb2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.intersects_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.touches_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s) { + var _result = _meos_b.cbuffer_tstzspan_to_stbox(cb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_timestamptz_to_stbox(Pointer cb, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.cbuffer_timestamptz_to_stbox(cb, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.distance_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_cbuffer_geo(Pointer cb, Pointer gs) { + var _result = _meos_b.distance_cbuffer_geo(cb, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_cbuffer_stbox(Pointer cb, Pointer box) { + var _result = _meos_b.distance_cbuffer_stbox(cb, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_cbuffer_stbox(Pointer cb, Pointer box) { + var _result = _meos_b.nad_cbuffer_stbox(cb, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_cmp(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_cmp(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_eq(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_eq(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_ge(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_ge(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_gt(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_gt(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_le(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_le(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_lt(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_lt(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_ne(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_ne(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_nsame(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_nsame(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_same(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_same(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferset_in(String str) { + var _result = _meos_b.cbufferset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String cbufferset_out(Pointer s, int maxdd) { + var _result = _meos_b.cbufferset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferset_make(Pointer values, int count) { + var _result = _meos_b.cbufferset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_to_set(Pointer cb) { + var _result = _meos_b.cbuffer_to_set(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferset_end_value(Pointer s) { + var _result = _meos_b.cbufferset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferset_start_value(Pointer s) { + var _result = _meos_b.cbufferset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbufferset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.cbufferset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer cbufferset_values(Pointer s, Pointer count) { + var _result = _meos_b.cbufferset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_union_transfn(Pointer state, Pointer cb) { + var _result = _meos_b.cbuffer_union_transfn(state, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_b.contained_cbuffer_set(cb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_b.contains_set_cbuffer(s, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_b.intersection_cbuffer_set(cb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_b.intersection_set_cbuffer(s, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_b.minus_cbuffer_set(cb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_b.minus_set_cbuffer(s, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_cbuffer_set(Pointer cb, Pointer s) { + var _result = _meos_b.union_cbuffer_set(cb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_b.union_set_cbuffer(s, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_in(String str) { + var _result = _meos_b.tcbuffer_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_from_mfjson(String mfjson) { + var _result = _meos_b.tcbuffer_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbufferinst_make(Pointer cb, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_b.tcbufferinst_make(cb, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat) { + var _result = _meos_b.tcbuffer_make(tpoint, tfloat); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_from_base_temp(Pointer cb, Pointer temp) { + var _result = _meos_b.tcbuffer_from_base_temp(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbufferseq_from_base_tstzset(Pointer cb, Pointer s) { + var _result = _meos_b.tcbufferseq_from_base_tstzset(cb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbufferseq_from_base_tstzspan(Pointer cb, Pointer s, int interp) { + var _result = _meos_b.tcbufferseq_from_base_tstzspan(cb, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbufferseqset_from_base_tstzspanset(Pointer cb, Pointer ss, int interp) { + var _result = _meos_b.tcbufferseqset_from_base_tstzspanset(cb, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_end_value(Pointer temp) { + var _result = _meos_b.tcbuffer_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_points(Pointer temp) { + var _result = _meos_b.tcbuffer_points(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_radius(Pointer temp) { + var _result = _meos_b.tcbuffer_radius(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_traversed_area(Pointer temp, boolean unary_union) { + var _result = _meos_b.tcbuffer_traversed_area(temp, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_convex_hull(Pointer temp) { + var _result = _meos_b.tcbuffer_convex_hull(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_start_value(Pointer temp) { + var _result = _meos_b.tcbuffer_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_b.tcbuffer_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.tcbuffer_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_values(Pointer temp, Pointer count) { + var _result = _meos_b.tcbuffer_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_to_tfloat(Pointer temp) { + var _result = _meos_b.tcbuffer_to_tfloat(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_to_tgeompoint(Pointer temp) { + var _result = _meos_b.tcbuffer_to_tgeompoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometry_to_tcbuffer(Pointer temp) { + var _result = _meos_b.tgeometry_to_tcbuffer(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_expand(Pointer temp, double dist) { + var _result = _meos_b.tcbuffer_expand(temp, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tcbuffer_at_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_b.tcbuffer_at_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_b.tcbuffer_at_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tcbuffer_minus_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_b.tcbuffer_minus_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_b.tcbuffer_minus_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tdistance_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tdistance_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tdistance_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.nad_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.nad_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tcbuffer_stbox(Pointer temp, Pointer box) { + var _result = _meos_b.nad_tcbuffer_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nad_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double mindistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double threshold) { + var _result = _meos_b.mindistance_tcbuffer_tcbuffer(temp1, temp2, threshold); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.nai_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.nai_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.nai_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.shortestline_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.shortestline_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.shortestline_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.always_eq_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.always_eq_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_eq_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.always_ne_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.always_ne_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.always_ne_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.ever_eq_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.ever_eq_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_eq_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.ever_ne_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.ever_ne_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ever_ne_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.teq_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.teq_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.tne_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tne_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.acontains_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.acontains_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.acontains_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.acontains_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.acovers_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.acovers_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.acovers_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.acovers_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.acovers_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.adisjoint_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.adisjoint_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.adisjoint_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_b.adwithin_tcbuffer_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { + var _result = _meos_b.adwithin_tcbuffer_cbuffer(temp, cb, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_b.adwithin_tcbuffer_tcbuffer(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.aintersects_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.aintersects_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.aintersects_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.atouches_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.atouches_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.atouches_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.econtains_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.econtains_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.econtains_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.ecovers_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.ecovers_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.ecovers_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.ecovers_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ecovers_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.edisjoint_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.edisjoint_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_b.edwithin_tcbuffer_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { + var _result = _meos_b.edwithin_tcbuffer_cbuffer(temp, cb, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_b.edwithin_tcbuffer_tcbuffer(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.eintersects_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.eintersects_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.eintersects_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.etouches_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.etouches_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.etouches_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.tcontains_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.tcontains_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tcontains_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tcontains_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tcontains_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.tcovers_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.tcovers_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tcovers_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tcovers_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tcovers_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist) { + var _result = _meos_b.tdwithin_geo_tcbuffer(gs, temp, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_b.tdwithin_tcbuffer_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { + var _result = _meos_b.tdwithin_tcbuffer_cbuffer(temp, cb, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_b.tdwithin_tcbuffer_tcbuffer(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.tdisjoint_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.tdisjoint_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tdisjoint_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tdisjoint_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tdisjoint_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.tintersects_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.tintersects_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.tintersects_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.tintersects_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.tintersects_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp) { + var _result = _meos_b.ttouches_geo_tcbuffer(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_b.ttouches_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp) { + var _result = _meos_b.ttouches_cbuffer_tcbuffer(cb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_b.ttouches_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_b.ttouches_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { + var _result = _meos_b.ensure_valid_cbuffer_cbuffer(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_cbuffer_geo(Pointer cb, Pointer gs) { + var _result = _meos_b.ensure_valid_cbuffer_geo(cb, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_cbuffer_stbox(Pointer cb, Pointer box) { + var _result = _meos_b.ensure_valid_cbuffer_stbox(cb, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_cbufferset_cbuffer(Pointer s, Pointer cb) { + var _result = _meos_b.ensure_valid_cbufferset_cbuffer(s, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_collinear(Pointer cb1, Pointer cb2, Pointer cbuf3, double ratio) { + var _result = _meos_b.cbuffer_collinear(cb1, cb2, cbuf3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffersegm_interpolate(Pointer start, Pointer end, Pointer ratio) { + var _result = _meos_b.cbuffersegm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffersegm_locate(Pointer start, Pointer end, Pointer value) { + var _result = _meos_b.cbuffersegm_locate(start, end, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_parse(Pointer str, boolean end) { + var _result = _meos_b.cbuffer_parse(str, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String cbuffer_wkt_out(Pointer value, int maxdd, boolean extended) { + var _result = _meos_b.cbuffer_wkt_out(value, maxdd, extended); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_point_p(Pointer cb) { + var _result = _meos_b.cbuffer_point_p(cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_round(Pointer buffer, Pointer size) { + var _result = _meos_b.datum_cbuffer_round(buffer, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cbuffer_transf_pj(Pointer cb, int srid_to, Pointer pj) { + var _result = _meos_b.cbuffer_transf_pj(cb, srid_to, pj); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double cbuffer_distance(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_distance(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_distance(Pointer cb1, Pointer cb2) { + var _result = _meos_b.datum_cbuffer_distance(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_b.cbuffersegm_distance_turnpt(start1, end1, start2, end2, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_contains(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_contains(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_covers(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_covers(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_disjoint(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_disjoint(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_intersects(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_intersects(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_dwithin(Pointer cb1, Pointer cb2, double dist) { + var _result = _meos_b.cbuffer_dwithin(cb1, cb2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int cbuffer_touches(Pointer cb1, Pointer cb2) { + var _result = _meos_b.cbuffer_touches(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_contains(Pointer cb1, Pointer cb2) { + var _result = _meos_b.datum_cbuffer_contains(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_covers(Pointer cb1, Pointer cb2) { + var _result = _meos_b.datum_cbuffer_covers(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_disjoint(Pointer cb1, Pointer cb2) { + var _result = _meos_b.datum_cbuffer_disjoint(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_intersects(Pointer cb1, Pointer cb2) { + var _result = _meos_b.datum_cbuffer_intersects(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_dwithin(Pointer cb1, Pointer cb2, Pointer dist) { + var _result = _meos_b.datum_cbuffer_dwithin(cb1, cb2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_cbuffer_touches(Pointer cb1, Pointer cb2) { + var _result = _meos_b.datum_cbuffer_touches(cb1, cb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temptype_subtype(int subtype) { + var _result = _meos_b.temptype_subtype(subtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temptype_subtype_all(int subtype) { + var _result = _meos_b.temptype_subtype_all(subtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tempsubtype_name(int subtype) { + var _result = _meos_b.tempsubtype_name(subtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tempsubtype_from_string(String str, Pointer subtype) { + var _result = _meos_b.tempsubtype_from_string(str, subtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String meosoper_name(int oper) { + var _result = _meos_b.meosoper_name(oper); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meosoper_from_string(String name) { + var _result = _meos_b.meosoper_from_string(name); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String interptype_name(int interp) { + var _result = _meos_b.interptype_name(interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int interptype_from_string(String interp_str) { + var _result = _meos_b.interptype_from_string(interp_str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_typeof_hexwkb(String hexwkb) { + var _result = _meos_b.meos_typeof_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String meostype_name(int type) { + var _result = _meos_b.meostype_name(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temptype_basetype(int type) { + var _result = _meos_b.temptype_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int settype_basetype(int type) { + var _result = _meos_b.settype_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spantype_basetype(int type) { + var _result = _meos_b.spantype_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spantype_spansettype(int type) { + var _result = _meos_b.spantype_spansettype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spansettype_spantype(int type) { + var _result = _meos_b.spansettype_spantype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int basetype_spantype(int type) { + var _result = _meos_b.basetype_spantype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int basetype_settype(int type) { + var _result = _meos_b.basetype_settype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tnumber_basetype(int type) { + var _result = _meos_b.tnumber_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geo_basetype(int type) { + var _result = _meos_b.geo_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean meos_basetype(int type) { + var _result = _meos_b.meos_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean alphanum_basetype(int type) { + var _result = _meos_b.alphanum_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean alphanum_temptype(int type) { + var _result = _meos_b.alphanum_temptype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean time_type(int type) { + var _result = _meos_b.time_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_basetype(int type) { + var _result = _meos_b.set_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_type(int type) { + var _result = _meos_b.set_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean numset_type(int type) { + var _result = _meos_b.numset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_numset_type(int type) { + var _result = _meos_b.ensure_numset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean timeset_type(int type) { + var _result = _meos_b.timeset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_spantype(int type) { + var _result = _meos_b.set_spantype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_set_spantype(int type) { + var _result = _meos_b.ensure_set_spantype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean alphanumset_type(int settype) { + var _result = _meos_b.alphanumset_type(settype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geoset_type(int type) { + var _result = _meos_b.geoset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_geoset_type(int type) { + var _result = _meos_b.ensure_geoset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spatialset_type(int type) { + var _result = _meos_b.spatialset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_spatialset_type(int type) { + var _result = _meos_b.ensure_spatialset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_basetype(int type) { + var _result = _meos_b.span_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_canon_basetype(int type) { + var _result = _meos_b.span_canon_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_type(int type) { + var _result = _meos_b.span_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean type_span_bbox(int type) { + var _result = _meos_b.type_span_bbox(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_tbox_type(int type) { + var _result = _meos_b.span_tbox_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_span_tbox_type(int type) { + var _result = _meos_b.ensure_span_tbox_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean numspan_basetype(int type) { + var _result = _meos_b.numspan_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean numspan_type(int type) { + var _result = _meos_b.numspan_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_numspan_type(int type) { + var _result = _meos_b.ensure_numspan_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean timespan_basetype(int type) { + var _result = _meos_b.timespan_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean timespan_type(int type) { + var _result = _meos_b.timespan_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_type(int type) { + var _result = _meos_b.spanset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean timespanset_type(int type) { + var _result = _meos_b.timespanset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_timespanset_type(int type) { + var _result = _meos_b.ensure_timespanset_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_type(int type) { + var _result = _meos_b.temporal_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_basetype(int type) { + var _result = _meos_b.temporal_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temptype_supports_linear(int type) { + var _result = _meos_b.temptype_supports_linear(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean basetype_byvalue(int type) { + var _result = _meos_b.basetype_byvalue(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean basetype_varlength(int type) { + var _result = _meos_b.basetype_varlength(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static short meostype_length(int type) { + var _result = _meos_b.meostype_length(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean talphanum_type(int type) { + var _result = _meos_b.talphanum_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean talpha_type(int type) { + var _result = _meos_b.talpha_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tnumber_type(int type) { + var _result = _meos_b.tnumber_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tnumber_type(int type) { + var _result = _meos_b.ensure_tnumber_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tnumber_basetype(int type) { + var _result = _meos_b.ensure_tnumber_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tnumber_spantype(int type) { + var _result = _meos_b.tnumber_spantype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spatial_basetype(int type) { + var _result = _meos_b.spatial_basetype(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tspatial_type(int type) { + var _result = _meos_b.tspatial_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tspatial_type(int type) { + var _result = _meos_b.ensure_tspatial_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpoint_type(int type) { + var _result = _meos_b.tpoint_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tpoint_type(int type) { + var _result = _meos_b.ensure_tpoint_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tgeo_type(int type) { + var _result = _meos_b.tgeo_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tgeo_type(int type) { + var _result = _meos_b.ensure_tgeo_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tgeo_type_all(int type) { + var _result = _meos_b.tgeo_type_all(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tgeo_type_all(int type) { + var _result = _meos_b.ensure_tgeo_type_all(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tgeometry_type(int type) { + var _result = _meos_b.tgeometry_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tgeometry_type(int type) { + var _result = _meos_b.ensure_tgeometry_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tgeodetic_type(int type) { + var _result = _meos_b.tgeodetic_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tgeodetic_type(int type) { + var _result = _meos_b.ensure_tgeodetic_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_tnumber_tpoint_type(int type) { + var _result = _meos_b.ensure_tnumber_tpoint_type(type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer gsl_get_generation_rng() { + var _result = _meos_b.gsl_get_generation_rng(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer gsl_get_aggregation_rng() { + var _result = _meos_b.gsl_get_aggregation_rng(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_ceil(Pointer d) { + var _result = _meos_b.datum_ceil(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_degrees(Pointer d, Pointer normalize) { + var _result = _meos_b.datum_degrees(d, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_float_round(Pointer value, Pointer size) { + var _result = _meos_b.datum_float_round(value, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_floor(Pointer d) { + var _result = _meos_b.datum_floor(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datum_hash(Pointer d, int basetype) { + var _result = _meos_b.datum_hash(d, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datum_hash_extended(Pointer d, int basetype, int seed) { + var _result = _meos_b.datum_hash_extended(d, basetype, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_radians(Pointer d) { + var _result = _meos_b.datum_radians(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void floatspan_round_set(Pointer s, int maxdd, Pointer result) { + _meos_b.floatspan_round_set(s, maxdd, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer set_in(String str, int basetype) { + var _result = _meos_b.set_in(str, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String set_out(Pointer s, int maxdd) { + var _result = _meos_b.set_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_in(String str, int spantype) { + var _result = _meos_b.span_in(str, spantype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String span_out(Pointer s, int maxdd) { + var _result = _meos_b.span_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_in(String str, int spantype) { + var _result = _meos_b.spanset_in(str, spantype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spanset_out(Pointer ss, int maxdd) { + var _result = _meos_b.spanset_out(ss, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_make(Pointer values, int count, int basetype, boolean order) { + var _result = _meos_b.set_make(values, count, basetype, order); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order) { + var _result = _meos_b.set_make_exp(values, count, maxcount, basetype, order); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_make_free(Pointer values, int count, int basetype, boolean order) { + var _result = _meos_b.set_make_free(values, count, basetype, order); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype) { + var _result = _meos_b.span_make(lower, upper, lower_inc, upper_inc, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer result) { + _meos_b.span_set(lower, upper, lower_inc, upper_inc, basetype, spantype, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order) { + var _result = _meos_b.spanset_make_exp(spans, count, maxcount, normalize, order); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order) { + var _result = _meos_b.spanset_make_free(spans, count, normalize, order); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_span(Pointer s) { + var _result = _meos_b.set_span(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_spanset(Pointer s) { + var _result = _meos_b.set_spanset(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void value_set_span(Pointer value, int basetype, Pointer result) { + _meos_b.value_set_span(value, basetype, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer value_set(Pointer d, int basetype) { + var _result = _meos_b.value_set(d, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer value_span(Pointer d, int basetype) { + var _result = _meos_b.value_span(d, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer value_spanset(Pointer d, int basetype) { + var _result = _meos_b.value_spanset(d, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_width(Pointer s) { + var _result = _meos_b.numspan_width(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspanset_width(Pointer ss, boolean boundspan) { + var _result = _meos_b.numspanset_width(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_end_value(Pointer s) { + var _result = _meos_b.set_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int set_mem_size(Pointer s) { + var _result = _meos_b.set_mem_size(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result) { + _meos_b.set_set_subspan(s, minidx, maxidx, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void set_set_span(Pointer s, Pointer result) { + _meos_b.set_set_span(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer set_start_value(Pointer s) { + var _result = _meos_b.set_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.set_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer set_vals(Pointer s, Pointer count) { + var _result = _meos_b.set_vals(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_values(Pointer s, Pointer count) { + var _result = _meos_b.set_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_lower(Pointer ss) { + var _result = _meos_b.spanset_lower(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spanset_mem_size(Pointer ss) { + var _result = _meos_b.spanset_mem_size(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_sps(Pointer ss, Pointer count) { + var _result = _meos_b.spanset_sps(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_upper(Pointer ss) { + var _result = _meos_b.spanset_upper(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void bigintspan_set_floatspan(Pointer s1, Pointer s2) { + _meos_b.bigintspan_set_floatspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void bigintspan_set_intspan(Pointer s1, Pointer s2) { + _meos_b.bigintspan_set_intspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void datespan_set_tstzspan(Pointer s1, Pointer s2) { + _meos_b.datespan_set_tstzspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void floatspan_set_bigintspan(Pointer s1, Pointer s2) { + _meos_b.floatspan_set_bigintspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void floatspan_set_intspan(Pointer s1, Pointer s2) { + _meos_b.floatspan_set_intspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void intspan_set_bigintspan(Pointer s1, Pointer s2) { + _meos_b.intspan_set_bigintspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void intspan_set_floatspan(Pointer s1, Pointer s2) { + _meos_b.intspan_set_floatspan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_b.numset_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_expand(Pointer s, Pointer value) { + var _result = _meos_b.numspan_expand(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_b.numspan_shift_scale(s, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_b.numspanset_shift_scale(ss, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_compact(Pointer s) { + var _result = _meos_b.set_compact(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void span_expand(Pointer s1, Pointer s2) { + _meos_b.span_expand(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer spanset_compact(Pointer ss) { + var _result = _meos_b.spanset_compact(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp) { + var _result = _meos_b.tbox_expand_value(box, value, basetyp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert) { + var _result = _meos_b.textcat_textset_text_common(s, txt, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tstzspan_set_datespan(Pointer s1, Pointer s2) { + _meos_b.tstzspan_set_datespan(s1, s2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean adjacent_span_value(Pointer s, Pointer value) { + var _result = _meos_b.adjacent_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.adjacent_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.adjacent_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_value_set(Pointer value, Pointer s) { + var _result = _meos_b.contained_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_value_span(Pointer value, Pointer s) { + var _result = _meos_b.contained_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.contained_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_value(Pointer s, Pointer value) { + var _result = _meos_b.contains_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_span_value(Pointer s, Pointer value) { + var _result = _meos_b.contains_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.contains_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ovadj_span_span(Pointer s1, Pointer s2) { + var _result = _meos_b.ovadj_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_set_value(Pointer s, Pointer value) { + var _result = _meos_b.left_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_span_value(Pointer s, Pointer value) { + var _result = _meos_b.left_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.left_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_value_set(Pointer value, Pointer s) { + var _result = _meos_b.left_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_value_span(Pointer value, Pointer s) { + var _result = _meos_b.left_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.left_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean lfnadj_span_span(Pointer s1, Pointer s2) { + var _result = _meos_b.lfnadj_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_set_value(Pointer s, Pointer value) { + var _result = _meos_b.overleft_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_span_value(Pointer s, Pointer value) { + var _result = _meos_b.overleft_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.overleft_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_value_set(Pointer value, Pointer s) { + var _result = _meos_b.overleft_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_value_span(Pointer value, Pointer s) { + var _result = _meos_b.overleft_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.overleft_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_set_value(Pointer s, Pointer value) { + var _result = _meos_b.overright_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_span_value(Pointer s, Pointer value) { + var _result = _meos_b.overright_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.overright_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_value_set(Pointer value, Pointer s) { + var _result = _meos_b.overright_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_value_span(Pointer value, Pointer s) { + var _result = _meos_b.overright_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.overright_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_value_set(Pointer value, Pointer s) { + var _result = _meos_b.right_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_set_value(Pointer s, Pointer value) { + var _result = _meos_b.right_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_value_span(Pointer value, Pointer s) { + var _result = _meos_b.right_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.right_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_span_value(Pointer s, Pointer value) { + var _result = _meos_b.right_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.right_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean bbox_type(int bboxtype) { + var _result = _meos_b.bbox_type(bboxtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long bbox_get_size(int bboxtype) { + var _result = _meos_b.bbox_get_size(bboxtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int bbox_max_dims(int bboxtype) { + var _result = _meos_b.bbox_max_dims(bboxtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype) { + var _result = _meos_b.temporal_bbox_eq(box1, box2, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype) { + var _result = _meos_b.temporal_bbox_cmp(box1, box2, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result) { + _meos_b.bbox_union_span_span(s1, s2, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer inter_span_span(Pointer s1, Pointer s2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_b.inter_span_span(s1, s2, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_value(Pointer s, Pointer value) { + var _result = _meos_b.intersection_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_span_value(Pointer s, Pointer value) { + var _result = _meos_b.intersection_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.intersection_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_value_set(Pointer value, Pointer s) { + var _result = _meos_b.intersection_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_value_span(Pointer value, Pointer s) { + var _result = _meos_b.intersection_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.intersection_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int mi_span_span(Pointer s1, Pointer s2, Pointer result) { + var _result = _meos_b.mi_span_span(s1, s2, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_value(Pointer s, Pointer value) { + var _result = _meos_b.minus_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_span_value(Pointer s, Pointer value) { + var _result = _meos_b.minus_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.minus_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_value_set(Pointer value, Pointer s) { + var _result = _meos_b.minus_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_value_span(Pointer value, Pointer s) { + var _result = _meos_b.minus_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.minus_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_value(Pointer s, Pointer value) { + var _result = _meos_b.union_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_span_value(Pointer s, Pointer value) { + var _result = _meos_b.union_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_b.union_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_value_set(Pointer value, Pointer s) { + var _result = _meos_b.union_value_set(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_value_span(Pointer value, Pointer s) { + var _result = _meos_b.union_value_span(value, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_value_spanset(Pointer value, Pointer ss) { + var _result = _meos_b.union_value_spanset(value, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_set_set(Pointer s1, Pointer s2) { + var _result = _meos_b.distance_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_set_value(Pointer s, Pointer value) { + var _result = _meos_b.distance_set_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_span_span(Pointer s1, Pointer s2) { + var _result = _meos_b.distance_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_span_value(Pointer s, Pointer value) { + var _result = _meos_b.distance_span_value(s, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_c.distance_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_c.distance_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_spanset_value(Pointer ss, Pointer value) { + var _result = _meos_c.distance_spanset_value(ss, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer distance_value_value(Pointer l, Pointer r, int basetype) { + var _result = _meos_c.distance_value_value(l, r, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype) { + var _result = _meos_c.spanbase_extent_transfn(state, value, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer value_union_transfn(Pointer state, Pointer value, int basetype) { + var _result = _meos_c.value_union_transfn(state, value, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s) { + var _result = _meos_c.number_tstzspan_to_tbox(d, basetype, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer number_timestamptz_to_tbox(Pointer d, int basetype, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.number_timestamptz_to_tbox(d, basetype, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tbox_set(Pointer s, Pointer p, Pointer result) { + _meos_c.tbox_set(s, p, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void float_set_tbox(double d, Pointer result) { + _meos_c.float_set_tbox(d, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void int_set_tbox(int i, Pointer result) { + _meos_c.int_set_tbox(i, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void number_set_tbox(Pointer d, int basetype, Pointer result) { + _meos_c.number_set_tbox(d, basetype, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer number_tbox(Pointer value, int basetype) { + var _result = _meos_c.number_tbox(value, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void numset_set_tbox(Pointer s, Pointer result) { + _meos_c.numset_set_tbox(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void numspan_set_tbox(Pointer span, Pointer result) { + _meos_c.numspan_set_tbox(span, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void timestamptz_set_tbox(OffsetDateTime t, Pointer result) { + var t_new = t.toEpochSecond(); + _meos_c.timestamptz_set_tbox(t_new, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzset_set_tbox(Pointer s, Pointer result) { + _meos_c.tstzset_set_tbox(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzspan_set_tbox(Pointer s, Pointer result) { + _meos_c.tstzspan_set_tbox(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.tbox_shift_scale_value(box, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tbox_expand(Pointer box1, Pointer box2) { + _meos_c.tbox_expand(box1, box2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer inter_tbox_tbox(Pointer box1, Pointer box2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.inter_tbox_tbox(box1, box2, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tboolinst_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tboolinst_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolinst_in(String str) { + var _result = _meos_c.tboolinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseq_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tboolseq_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseq_in(String str, int interp) { + var _result = _meos_c.tboolseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tboolseqset_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tboolseqset_in(String str) { + var _result = _meos_c.tboolseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_in(String str, int temptype) { + var _result = _meos_c.temporal_in(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String temporal_out(Pointer temp, int maxdd) { + var _result = _meos_c.temporal_out(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temparr_out(Pointer temparr, int count, int maxdd) { + var _result = _meos_c.temparr_out(temparr, count, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatinst_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tfloatinst_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatinst_in(String str) { + var _result = _meos_c.tfloatinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp) { + var _result = _meos_c.tfloatseq_from_mfjson(mfjson, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseq_in(String str, int interp) { + var _result = _meos_c.tfloatseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp) { + var _result = _meos_c.tfloatseqset_from_mfjson(mfjson, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfloatseqset_in(String str) { + var _result = _meos_c.tfloatseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype) { + var _result = _meos_c.tinstant_from_mfjson(mfjson, spatial, srid, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_in(String str, int temptype) { + var _result = _meos_c.tinstant_in(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tinstant_out(Pointer inst, int maxdd) { + var _result = _meos_c.tinstant_out(inst, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintinst_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tbigintinst_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintinst_in(String str) { + var _result = _meos_c.tbigintinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseq_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tbigintseq_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tbigintseqset_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbigintseqset_in(String str) { + var _result = _meos_c.tbigintseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintinst_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tintinst_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintinst_in(String str) { + var _result = _meos_c.tintinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseq_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tintseq_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseq_in(String str, int interp) { + var _result = _meos_c.tintseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tintseqset_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tintseqset_in(String str) { + var _result = _meos_c.tintseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { + var _result = _meos_c.tsequence_from_mfjson(mfjson, spatial, srid, temptype, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_in(String str, int temptype, int interp) { + var _result = _meos_c.tsequence_in(str, temptype, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tsequence_out(Pointer seq, int maxdd) { + var _result = _meos_c.tsequence_out(seq, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { + var _result = _meos_c.tsequenceset_from_mfjson(mfjson, spatial, srid, temptype, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_in(String str, int temptype, int interp) { + var _result = _meos_c.tsequenceset_in(str, temptype, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tsequenceset_out(Pointer ss, int maxdd) { + var _result = _meos_c.tsequenceset_out(ss, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextinst_from_mfjson(Pointer mfjson) { + var _result = _meos_c.ttextinst_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextinst_in(String str) { + var _result = _meos_c.ttextinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseq_from_mfjson(Pointer mfjson) { + var _result = _meos_c.ttextseq_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseq_in(String str, int interp) { + var _result = _meos_c.ttextseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_c.ttextseqset_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttextseqset_in(String str) { + var _result = _meos_c.ttextseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_from_mfjson(String mfjson, int temptype) { + var _result = _meos_c.temporal_from_mfjson(mfjson, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp) { + var _result = _meos_c.temporal_from_base_temp(value, temptype, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_copy(Pointer inst) { + var _result = _meos_c.tinstant_copy(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_make(Pointer value, int temptype, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tinstant_make(value, temptype, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_make_free(Pointer value, int temptype, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tinstant_make_free(value, temptype, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_copy(Pointer seq) { + var _result = _meos_c.tsequence_copy(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq) { + var _result = _meos_c.tsequence_from_base_temp(value, temptype, seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s) { + var _result = _meos_c.tsequence_from_base_tstzset(value, temptype, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp) { + var _result = _meos_c.tsequence_from_base_tstzspan(value, temptype, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_c.tsequence_make_exp(instants, count, maxcount, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_c.tsequence_make_free(instants, count, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_copy(Pointer ss) { + var _result = _meos_c.tsequenceset_copy(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs) { + var _result = _meos_c.tseqsetarr_to_tseqset(seqsets, count, totalseqs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss) { + var _result = _meos_c.tsequenceset_from_base_temp(value, temptype, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp) { + var _result = _meos_c.tsequenceset_from_base_tstzspanset(value, temptype, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize) { + var _result = _meos_c.tsequenceset_make_exp(sequences, count, maxcount, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize) { + var _result = _meos_c.tsequenceset_make_free(sequences, count, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void temporal_set_tstzspan(Pointer temp, Pointer result) { + _meos_c.temporal_set_tstzspan(temp, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tinstant_set_tstzspan(Pointer inst, Pointer result) { + _meos_c.tinstant_set_tstzspan(inst, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tnumber_set_tbox(Pointer temp, Pointer result) { + _meos_c.tnumber_set_tbox(temp, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tnumberinst_set_tbox(Pointer inst, Pointer result) { + _meos_c.tnumberinst_set_tbox(inst, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tnumberseq_set_tbox(Pointer seq, Pointer result) { + _meos_c.tnumberseq_set_tbox(seq, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tnumberseqset_set_tbox(Pointer ss, Pointer result) { + _meos_c.tnumberseqset_set_tbox(ss, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequence_set_tstzspan(Pointer seq, Pointer result) { + _meos_c.tsequence_set_tstzspan(seq, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequenceset_set_tstzspan(Pointer ss, Pointer result) { + _meos_c.tsequenceset_set_tstzspan(ss, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer temporal_end_inst(Pointer temp) { + var _result = _meos_c.temporal_end_inst(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_end_value(Pointer temp) { + var _result = _meos_c.temporal_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_inst_n(Pointer temp, int n) { + var _result = _meos_c.temporal_inst_n(temp, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_insts_p(Pointer temp, Pointer count) { + var _result = _meos_c.temporal_insts_p(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_max_inst_p(Pointer temp) { + var _result = _meos_c.temporal_max_inst_p(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_max_value(Pointer temp) { + var _result = _meos_c.temporal_max_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long temporal_mem_size(Pointer temp) { + var _result = _meos_c.temporal_mem_size(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_min_inst_p(Pointer temp) { + var _result = _meos_c.temporal_min_inst_p(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_min_value(Pointer temp) { + var _result = _meos_c.temporal_min_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_sequences_p(Pointer temp, Pointer count) { + var _result = _meos_c.temporal_sequences_p(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void temporal_set_bbox(Pointer temp, Pointer result) { + _meos_c.temporal_set_bbox(temp, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer temporal_start_inst(Pointer temp) { + var _result = _meos_c.temporal_start_inst(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_start_value(Pointer temp) { + var _result = _meos_c.temporal_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_values_p(Pointer temp, Pointer count) { + var _result = _meos_c.temporal_values_p(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.temporal_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer temporal_values(Pointer temp, Pointer count) { + var _result = _meos_c.temporal_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tinstant_hash(Pointer inst) { + var _result = _meos_c.tinstant_hash(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_insts(Pointer inst, Pointer count) { + var _result = _meos_c.tinstant_insts(inst, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tinstant_set_bbox(Pointer inst, Pointer result) { + _meos_c.tinstant_set_bbox(inst, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tinstant_time(Pointer inst) { + var _result = _meos_c.tinstant_time(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_timestamps(Pointer inst, Pointer count) { + var _result = _meos_c.tinstant_timestamps(inst, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_value_p(Pointer inst) { + var _result = _meos_c.tinstant_value_p(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_value(Pointer inst) { + var _result = _meos_c.tinstant_value(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_value_at_timestamptz(Pointer inst, OffsetDateTime t) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_c.tinstant_value_at_timestamptz(inst, t_new, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_values_p(Pointer inst, Pointer count) { + var _result = _meos_c.tinstant_values_p(inst, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tnumber_set_span(Pointer temp, Pointer result) { + _meos_c.tnumber_set_span(temp, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tnumberinst_valuespans(Pointer inst) { + var _result = _meos_c.tnumberinst_valuespans(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseq_avg_val(Pointer seq) { + var _result = _meos_c.tnumberseq_avg_val(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_valuespans(Pointer seq) { + var _result = _meos_c.tnumberseq_valuespans(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseqset_avg_val(Pointer ss) { + var _result = _meos_c.tnumberseqset_avg_val(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_valuespans(Pointer ss) { + var _result = _meos_c.tnumberseqset_valuespans(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_duration(Pointer seq) { + var _result = _meos_c.tsequence_duration(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tsequence_end_timestamptz(Pointer seq) { + var _result = _meos_c.tsequence_end_timestamptz(seq); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int tsequence_hash(Pointer seq) { + var _result = _meos_c.tsequence_hash(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_insts_p(Pointer seq, Pointer count) { + var _result = _meos_c.tsequence_insts_p(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_max_inst_p(Pointer seq) { + var _result = _meos_c.tsequence_max_inst_p(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_max_val(Pointer seq) { + var _result = _meos_c.tsequence_max_val(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_min_inst_p(Pointer seq) { + var _result = _meos_c.tsequence_min_inst_p(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_min_val(Pointer seq) { + var _result = _meos_c.tsequence_min_val(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_segments(Pointer seq, Pointer count) { + var _result = _meos_c.tsequence_segments(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_seqs(Pointer seq, Pointer count) { + var _result = _meos_c.tsequence_seqs(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tsequence_start_timestamptz(Pointer seq) { + var _result = _meos_c.tsequence_start_timestamptz(seq); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tsequence_time(Pointer seq) { + var _result = _meos_c.tsequence_time(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_timestamps(Pointer seq, Pointer count) { + var _result = _meos_c.tsequence_timestamps(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_value_at_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_c.tsequence_value_at_timestamptz(seq, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_values_p(Pointer seq, Pointer count) { + var _result = _meos_c.tsequence_values_p(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_duration(Pointer ss, boolean boundspan) { + var _result = _meos_c.tsequenceset_duration(ss, boundspan); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tsequenceset_end_timestamptz(Pointer ss) { + var _result = _meos_c.tsequenceset_end_timestamptz(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static int tsequenceset_hash(Pointer ss) { + var _result = _meos_c.tsequenceset_hash(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_inst_n(Pointer ss, int n) { + var _result = _meos_c.tsequenceset_inst_n(ss, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_insts_p(Pointer ss, Pointer count) { + var _result = _meos_c.tsequenceset_insts_p(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_max_inst_p(Pointer ss) { + var _result = _meos_c.tsequenceset_max_inst_p(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_max_val(Pointer ss) { + var _result = _meos_c.tsequenceset_max_val(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_min_inst_p(Pointer ss) { + var _result = _meos_c.tsequenceset_min_inst_p(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_min_val(Pointer ss) { + var _result = _meos_c.tsequenceset_min_val(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequenceset_num_instants(Pointer ss) { + var _result = _meos_c.tsequenceset_num_instants(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequenceset_num_timestamps(Pointer ss) { + var _result = _meos_c.tsequenceset_num_timestamps(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_segments(Pointer ss, Pointer count) { + var _result = _meos_c.tsequenceset_segments(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_sequences_p(Pointer ss, Pointer count) { + var _result = _meos_c.tsequenceset_sequences_p(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime tsequenceset_start_timestamptz(Pointer ss) { + var _result = _meos_c.tsequenceset_start_timestamptz(ss); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_time(Pointer ss) { + var _result = _meos_c.tsequenceset_time(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_timestamptz_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.tsequenceset_timestamptz_n(ss, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_timestamps(Pointer ss, Pointer count) { + var _result = _meos_c.tsequenceset_timestamps(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_value_at_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_c.tsequenceset_value_at_timestamptz(ss, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_value_n(Pointer ss, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.tsequenceset_value_n(ss, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_values_p(Pointer ss, Pointer count) { + var _result = _meos_c.tsequenceset_values_p(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void temporal_restart(Pointer temp, int count) { + _meos_c.temporal_restart(temp, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer temporal_tsequence(Pointer temp, int interp) { + var _result = _meos_c.temporal_tsequence(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tsequenceset(Pointer temp, int interp) { + var _result = _meos_c.temporal_tsequenceset(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_shift_time(Pointer inst, Pointer interv) { + var _result = _meos_c.tinstant_shift_time(inst, interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_to_tsequence(Pointer inst, int interp) { + var _result = _meos_c.tinstant_to_tsequence(inst, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_to_tsequence_free(Pointer inst, int interp) { + var _result = _meos_c.tinstant_to_tsequence_free(inst, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_to_tsequenceset(Pointer inst, int interp) { + var _result = _meos_c.tinstant_to_tsequenceset(inst, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.tnumber_shift_scale_value(temp, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberinst_shift_value(Pointer inst, Pointer shift) { + var _result = _meos_c.tnumberinst_shift_value(inst, shift); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.tnumberseq_shift_scale_value(seq, shift, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth) { + var _result = _meos_c.tnumberseqset_shift_scale_value(ss, start, width, hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tsequence_restart(Pointer seq, int count) { + _meos_c.tsequence_restart(seq, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tsequence_set_interp(Pointer seq, int interp) { + var _result = _meos_c.tsequence_set_interp(seq, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration) { + var _result = _meos_c.tsequence_shift_scale_time(seq, shift, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc) { + var _result = _meos_c.tsequence_subseq(seq, from, to, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_to_tinstant(Pointer seq) { + var _result = _meos_c.tsequence_to_tinstant(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_to_tsequenceset(Pointer seq) { + var _result = _meos_c.tsequence_to_tsequenceset(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_to_tsequenceset_free(Pointer seq) { + var _result = _meos_c.tsequence_to_tsequenceset_free(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp) { + var _result = _meos_c.tsequence_to_tsequenceset_interp(seq, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tsequenceset_restart(Pointer ss, int count) { + _meos_c.tsequenceset_restart(ss, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_set_interp(Pointer ss, int interp) { + var _result = _meos_c.tsequenceset_set_interp(ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration) { + var _result = _meos_c.tsequenceset_shift_scale_time(ss, start, duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_to_discrete(Pointer ss) { + var _result = _meos_c.tsequenceset_to_discrete(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_to_linear(Pointer ss) { + var _result = _meos_c.tsequenceset_to_linear(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_to_step(Pointer ss) { + var _result = _meos_c.tsequenceset_to_step(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_to_tinstant(Pointer ss) { + var _result = _meos_c.tsequenceset_to_tinstant(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_to_tsequence(Pointer ss) { + var _result = _meos_c.tsequenceset_to_tsequence(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_merge(Pointer inst1, Pointer inst2) { + var _result = _meos_c.tinstant_merge(inst1, inst2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_merge_array(Pointer instants, int count) { + var _result = _meos_c.tinstant_merge_array(instants, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_c.tsequence_append_tinstant(seq, inst, maxdist, maxt, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand) { + var _result = _meos_c.tsequence_append_tsequence(seq1, seq2, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_delete_timestamptz(Pointer seq, OffsetDateTime t, boolean connect) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tsequence_delete_timestamptz(seq, t_new, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect) { + var _result = _meos_c.tsequence_delete_tstzset(seq, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect) { + var _result = _meos_c.tsequence_delete_tstzspan(seq, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect) { + var _result = _meos_c.tsequence_delete_tstzspanset(seq, ss, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect) { + var _result = _meos_c.tsequence_insert(seq1, seq2, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_merge(Pointer seq1, Pointer seq2) { + var _result = _meos_c.tsequence_merge(seq1, seq2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_merge_array(Pointer sequences, int count) { + var _result = _meos_c.tsequence_merge_array(sequences, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_c.tsequenceset_append_tinstant(ss, inst, maxdist, maxt, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand) { + var _result = _meos_c.tsequenceset_append_tsequence(ss, seq, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_delete_timestamptz(Pointer ss, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tsequenceset_delete_timestamptz(ss, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s) { + var _result = _meos_c.tsequenceset_delete_tstzset(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s) { + var _result = _meos_c.tsequenceset_delete_tstzspan(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps) { + var _result = _meos_c.tsequenceset_delete_tstzspanset(ss, ps); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_insert(Pointer ss1, Pointer ss2) { + var _result = _meos_c.tsequenceset_insert(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_merge(Pointer ss1, Pointer ss2) { + var _result = _meos_c.tsequenceset_merge(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_merge_array(Pointer seqsets, int count) { + var _result = _meos_c.tsequenceset_merge_array(seqsets, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tsequence_expand_bbox(Pointer seq, Pointer inst) { + _meos_c.tsequence_expand_bbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequence_set_bbox(Pointer seq, Pointer result) { + _meos_c.tsequence_set_bbox(seq, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequenceset_expand_bbox(Pointer ss, Pointer seq) { + _meos_c.tsequenceset_expand_bbox(ss, seq); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequenceset_set_bbox(Pointer ss, Pointer result) { + _meos_c.tsequenceset_set_bbox(ss, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tcontseq_after_timestamptz(seq, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tcontseq_before_timestamptz(seq, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { + var _result = _meos_c.tcontseq_restrict_minmax(seq, min, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tdiscseq_after_timestamptz(seq, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tdiscseq_before_timestamptz(seq, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { + var _result = _meos_c.tdiscseq_restrict_minmax(seq, min, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_bbox_restrict_set(Pointer temp, Pointer set) { + var _result = _meos_c.temporal_bbox_restrict_set(temp, set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc) { + var _result = _meos_c.temporal_restrict_minmax(temp, min, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.temporal_restrict_timestamptz(temp, t_new, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_c.temporal_restrict_tstzset(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_c.temporal_restrict_tstzspan(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { + var _result = _meos_c.temporal_restrict_tstzspanset(temp, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc) { + var _result = _meos_c.temporal_restrict_value(temp, value, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc) { + var _result = _meos_c.temporal_restrict_values(temp, set, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_c.temporal_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_after_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tinstant_after_timestamptz(inst, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_before_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tinstant_before_timestamptz(inst, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc) { + var _result = _meos_c.tinstant_restrict_tstzspan(inst, period, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc) { + var _result = _meos_c.tinstant_restrict_tstzspanset(inst, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_restrict_timestamptz(Pointer inst, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tinstant_restrict_timestamptz(inst, t_new, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc) { + var _result = _meos_c.tinstant_restrict_tstzset(inst, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc) { + var _result = _meos_c.tinstant_restrict_value(inst, value, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc) { + var _result = _meos_c.tinstant_restrict_values(inst, set, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc) { + var _result = _meos_c.tnumber_restrict_span(temp, span, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc) { + var _result = _meos_c.tnumber_restrict_spanset(temp, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc) { + var _result = _meos_c.tnumberinst_restrict_span(inst, span, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc) { + var _result = _meos_c.tnumberinst_restrict_spanset(inst, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc) { + var _result = _meos_c.tnumberseqset_restrict_span(ss, span, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc) { + var _result = _meos_c.tnumberseqset_restrict_spanset(ss, spanset, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_at_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tsequence_at_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc) { + var _result = _meos_c.tsequence_restrict_tstzspan(seq, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { + var _result = _meos_c.tsequence_restrict_tstzspanset(seq, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_after_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tsequenceset_after_timestamptz(ss, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_before_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tsequenceset_before_timestamptz(ss, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc) { + var _result = _meos_c.tsequenceset_restrict_minmax(ss, min, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc) { + var _result = _meos_c.tsequenceset_restrict_tstzspan(ss, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc) { + var _result = _meos_c.tsequenceset_restrict_tstzspanset(ss, ps, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_timestamptz(Pointer ss, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tsequenceset_restrict_timestamptz(ss, t_new, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc) { + var _result = _meos_c.tsequenceset_restrict_tstzset(ss, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc) { + var _result = _meos_c.tsequenceset_restrict_value(ss, value, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc) { + var _result = _meos_c.tsequenceset_restrict_values(ss, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tinstant_cmp(Pointer inst1, Pointer inst2) { + var _result = _meos_c.tinstant_cmp(inst1, inst2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tinstant_eq(Pointer inst1, Pointer inst2) { + var _result = _meos_c.tinstant_eq(inst1, inst2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequence_cmp(Pointer seq1, Pointer seq2) { + var _result = _meos_c.tsequence_cmp(seq1, seq2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tsequence_eq(Pointer seq1, Pointer seq2) { + var _result = _meos_c.tsequence_eq(seq1, seq2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequenceset_cmp(Pointer ss1, Pointer ss2) { + var _result = _meos_c.tsequenceset_cmp(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tsequenceset_eq(Pointer ss1, Pointer ss2) { + var _result = _meos_c.tsequenceset_eq(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.always_eq_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.always_eq_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.always_ne_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.always_ne_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.always_ge_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ge_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.always_ge_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.always_gt_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_gt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.always_gt_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.always_le_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_le_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.always_le_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.always_lt_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_lt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.always_lt_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.ever_eq_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.ever_eq_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.ever_ne_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.ever_ne_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.ever_ge_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ge_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.ever_ge_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.ever_gt_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_gt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.ever_gt_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.ever_le_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_le_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.ever_le_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_base_temporal(Pointer value, Pointer temp) { + var _result = _meos_c.ever_lt_base_temporal(value, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_lt_temporal_base(Pointer temp, Pointer value) { + var _result = _meos_c.ever_lt_temporal_base(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberinst_abs(Pointer inst) { + var _result = _meos_c.tnumberinst_abs(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberinst_distance(Pointer inst1, Pointer inst2) { + var _result = _meos_c.tnumberinst_distance(inst1, inst2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_abs(Pointer seq) { + var _result = _meos_c.tnumberseq_abs(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_angular_difference(Pointer seq) { + var _result = _meos_c.tnumberseq_angular_difference(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_delta_value(Pointer seq) { + var _result = _meos_c.tnumberseq_delta_value(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_abs(Pointer ss) { + var _result = _meos_c.tnumberseqset_abs(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_angular_difference(Pointer ss) { + var _result = _meos_c.tnumberseqset_angular_difference(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseqset_delta_value(Pointer ss) { + var _result = _meos_c.tnumberseqset_delta_value(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_span_span_double(Pointer s1, Pointer s2) { + var _result = _meos_c.distance_span_span_double(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tbox_tbox(Pointer box1, Pointer box2) { + var _result = _meos_c.nad_tbox_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnumber_number(Pointer temp, Pointer value) { + var _result = _meos_c.nad_tnumber_number(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_c.nad_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_c.nad_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tnumber_number(Pointer temp, Pointer value) { + var _result = _meos_c.tdistance_tnumber_number(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseq_integral(Pointer seq) { + var _result = _meos_c.tnumberseq_integral(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseq_twavg(Pointer seq) { + var _result = _meos_c.tnumberseq_twavg(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseqset_integral(Pointer ss) { + var _result = _meos_c.tnumberseqset_integral(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseqset_twavg(Pointer ss) { + var _result = _meos_c.tnumberseqset_twavg(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_compact(Pointer temp) { + var _result = _meos_c.temporal_compact(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_compact(Pointer seq) { + var _result = _meos_c.tsequence_compact(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_compact(Pointer ss) { + var _result = _meos_c.tsequenceset_compact(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_skiplist_make() { + var _result = _meos_c.temporal_skiplist_make(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn) { + var _result = _meos_c.skiplist_make(key_size, value_size, comp_fn, merge_fn); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int skiplist_search(Pointer list, Pointer key, Pointer value) { + var _result = _meos_c.skiplist_search(list, key, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void skiplist_free(Pointer list) { + _meos_c.skiplist_free(list); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype) { + _meos_c.skiplist_splice(list, keys, values, count, func, crossings, sktype); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings) { + _meos_c.temporal_skiplist_splice(list, values, count, func, crossings); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer skiplist_values(Pointer list) { + var _result = _meos_c.skiplist_values(list); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer skiplist_keys_values(Pointer list, Pointer values) { + var _result = _meos_c.skiplist_keys_values(list, values); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt) { + var _result = _meos_c.temporal_app_tinst_transfn(state, inst, interp, maxdist, maxt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq) { + var _result = _meos_c.temporal_app_tseq_transfn(state, seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count) { + var _result = _meos_c.span_bins(s, size, origin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count) { + var _result = _meos_c.spanset_bins(ss, size, origin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count) { + var _result = _meos_c.tnumber_value_bins(temp, size, origin, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.tnumber_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_value_split(Pointer temp, Pointer vsize, Pointer vorigin) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer _sret = Memory.allocateDirect(runtime, 24); + _meos_c.tnumber_value_split(_sret, temp, vsize, vorigin); + MeosErrorHandler.checkError(); + return _sret; + } + + @SuppressWarnings("unused") + public static Pointer tbox_get_value_time_tile(Pointer value, OffsetDateTime t, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, int basetype, int spantype) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.tbox_get_value_time_tile(value, t_new, vsize, duration, vorigin, torigin_new, basetype, spantype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.tnumber_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String double2_out(Pointer d, int maxdd) { + var _result = _meos_c.double2_out(d, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void double2_set(double a, double b, Pointer result) { + _meos_c.double2_set(a, b, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer double2_add(Pointer d1, Pointer d2) { + var _result = _meos_c.double2_add(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean double2_eq(Pointer d1, Pointer d2) { + var _result = _meos_c.double2_eq(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String double3_out(Pointer d, int maxdd) { + var _result = _meos_c.double3_out(d, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void double3_set(double a, double b, double c, Pointer result) { + _meos_c.double3_set(a, b, c, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer double3_add(Pointer d1, Pointer d2) { + var _result = _meos_c.double3_add(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean double3_eq(Pointer d1, Pointer d2) { + var _result = _meos_c.double3_eq(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String double4_out(Pointer d, int maxdd) { + var _result = _meos_c.double4_out(d, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void double4_set(double a, double b, double c, double d, Pointer result) { + _meos_c.double4_set(a, b, c, d, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer double4_add(Pointer d1, Pointer d2) { + var _result = _meos_c.double4_add(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean double4_eq(Pointer d1, Pointer d2) { + var _result = _meos_c.double4_eq(d1, d2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean double2_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio) { + var _result = _meos_c.double2_collinear(x1, x2, x3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean double3_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio) { + var _result = _meos_c.double3_collinear(x1, x2, x3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean double4_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio) { + var _result = _meos_c.double4_collinear(x1, x2, x3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer double2segm_interpolate(Pointer start, Pointer end, Pointer ratio) { + var _result = _meos_c.double2segm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer double3segm_interpolate(Pointer start, Pointer end, Pointer ratio) { + var _result = _meos_c.double3segm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer double4segm_interpolate(Pointer start, Pointer end, Pointer ratio) { + var _result = _meos_c.double4segm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pg_atoi(String s, long size, int c) { + var _result = _meos_c.pg_atoi(s, size, c); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_X(int type, short flags) { + var _result = _meos_c.ensure_has_X(type, flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_Z(int type, short flags) { + var _result = _meos_c.ensure_has_Z(type, flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_T(int type, short flags) { + var _result = _meos_c.ensure_has_T(type, flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_not_Z(int type, short flags) { + var _result = _meos_c.ensure_has_not_Z(type, flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_not_null(Pointer ptr) { + var _result = _meos_c.ensure_not_null(ptr); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_one_not_null(Pointer ptr1, Pointer ptr2) { + var _result = _meos_c.ensure_one_not_null(ptr1, ptr2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_one_true(boolean hasshift, boolean haswidth) { + var _result = _meos_c.ensure_one_true(hasshift, haswidth); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_interp(int temptype, int interp) { + var _result = _meos_c.ensure_valid_interp(temptype, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_continuous(Pointer temp) { + var _result = _meos_c.ensure_continuous(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_interp(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_same_interp(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_continuous_interp(short flags1, short flags2) { + var _result = _meos_c.ensure_same_continuous_interp(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_linear_interp(short flags) { + var _result = _meos_c.ensure_linear_interp(flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_nonlinear_interp(short flags) { + var _result = _meos_c.ensure_nonlinear_interp(flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_common_dimension(short flags1, short flags2) { + var _result = _meos_c.ensure_common_dimension(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_temporal_isof_type(Pointer temp, int type) { + var _result = _meos_c.ensure_temporal_isof_type(temp, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_temporal_isof_basetype(Pointer temp, int basetype) { + var _result = _meos_c.ensure_temporal_isof_basetype(temp, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_temporal_isof_subtype(Pointer temp, int type) { + var _result = _meos_c.ensure_temporal_isof_subtype(temp, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_temporal_type(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_same_temporal_type(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnumber_numspan(Pointer temp, Pointer s) { + var _result = _meos_c.ensure_valid_tnumber_numspan(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnumber_numspanset(Pointer temp, Pointer ss) { + var _result = _meos_c.ensure_valid_tnumber_numspanset(temp, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnumber_tbox(Pointer temp, Pointer box) { + var _result = _meos_c.ensure_valid_tnumber_tbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_temporal_set(Pointer temp, Pointer s) { + var _result = _meos_c.ensure_valid_temporal_set(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_temporal_temporal(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_temporal_temporal(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnumber_tnumber(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_tnumber_tnumber(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_not_negative(int i) { + var _result = _meos_c.ensure_not_negative(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_positive(int i) { + var _result = _meos_c.ensure_positive(i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean not_negative_datum(Pointer size, int basetype) { + var _result = _meos_c.not_negative_datum(size, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_not_negative_datum(Pointer size, int basetype) { + var _result = _meos_c.ensure_not_negative_datum(size, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean positive_datum(Pointer size, int basetype) { + var _result = _meos_c.positive_datum(size, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_positive_datum(Pointer size, int basetype) { + var _result = _meos_c.ensure_positive_datum(size, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_day_duration(Pointer duration) { + var _result = _meos_c.ensure_valid_day_duration(duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean positive_duration(Pointer duration) { + var _result = _meos_c.positive_duration(duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_positive_duration(Pointer duration) { + var _result = _meos_c.ensure_positive_duration(duration); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_bbox_ptr(Pointer temp) { + var _result = _meos_c.temporal_bbox_ptr(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_temporal_temporal(Pointer temp1, Pointer temp2, int mode, Pointer inter1, Pointer inter2) { + var _result = _meos_c.intersection_temporal_temporal(temp1, temp2, mode, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String mobilitydb_version() { + var _result = _meos_c.mobilitydb_version(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String mobilitydb_full_version() { + var _result = _meos_c.mobilitydb_full_version(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer round_fn(int basetype) { + var _result = _meos_c.round_fn(basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean temporal_bbox_restrict_value(Pointer temp, Pointer value) { + var _result = _meos_c.temporal_bbox_restrict_value(temp, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tcbuffer_cbuffer(Pointer temp, Pointer cb) { + var _result = _meos_c.ensure_valid_tcbuffer_cbuffer(temp, cb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tcbuffer_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ensure_valid_tcbuffer_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tcbuffer_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.ensure_valid_tcbuffer_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_tcbuffer_tcbuffer(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcbuffersegm_intersection_value(Pointer start, Pointer end, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tcbuffersegm_intersection_value(start, end, value, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcbuffersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tcbuffersegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcbuffersegm_dwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tcbuffersegm_dwithin_turnpt(start1, end1, start2, end2, dist, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcbuffersegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tcbuffersegm_tdwithin_turnpt(start1, end1, start2, end2, dist, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist) { + var _result = _meos_c.tcbuffersegm_distance_turnpt(start1, end1, start2, end2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean cbuffer_set_stbox(Pointer cb, Pointer box) { + var _result = _meos_c.cbuffer_set_stbox(cb, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void cbufferarr_set_stbox(Pointer values, int count, Pointer box) { + _meos_c.cbufferarr_set_stbox(values, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void cbuffer_timestamptz_set_stbox(Pointer cb, OffsetDateTime t, Pointer box) { + var t_new = t.toEpochSecond(); + _meos_c.cbuffer_timestamptz_set_stbox(cb, t_new, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void cbuffer_tstzspan_set_stbox(Pointer cb, Pointer s, Pointer box) { + _meos_c.cbuffer_tstzspan_set_stbox(cb, s, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tcbufferinst_set_stbox(Pointer inst, Pointer box) { + _meos_c.tcbufferinst_set_stbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tcbufferinstarr_set_stbox(Pointer instants, int count, Pointer box) { + _meos_c.tcbufferinstarr_set_stbox(instants, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tcbufferseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_c.tcbufferseq_expand_stbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tcbufferinst_traversed_area(Pointer inst) { + var _result = _meos_c.tcbufferinst_traversed_area(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbufferseq_traversed_area(Pointer seq, boolean unary_union) { + var _result = _meos_c.tcbufferseq_traversed_area(seq, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbufferseqset_traversed_area(Pointer ss, boolean unary_union) { + var _result = _meos_c.tcbufferseqset_traversed_area(ss, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffersegm_traversed_area(Pointer inst1, Pointer inst2) { + var _result = _meos_c.tcbuffersegm_traversed_area(inst1, inst2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_restrict_cbuffer(Pointer temp, Pointer cb, boolean atfunc) { + var _result = _meos_c.tcbuffer_restrict_cbuffer(temp, cb, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_c.tcbuffer_restrict_stbox(temp, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcbuffer_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { + var _result = _meos_c.tcbuffer_restrict_geom(temp, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_contains_geo_tcbuffer(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_contains_tcbuffer_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { + var _result = _meos_c.ea_contains_tcbuffer_cbuffer(temp, cb, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { + var _result = _meos_c.ea_contains_cbuffer_tcbuffer(cb, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_covers_geo_tcbuffer(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_covers_tcbuffer_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { + var _result = _meos_c.ea_covers_tcbuffer_cbuffer(temp, cb, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { + var _result = _meos_c.ea_covers_cbuffer_tcbuffer(cb, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_covers_tcbuffer_tcbuffer(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_disjoint_tcbuffer_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_disjoint_geo_tcbuffer(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { + var _result = _meos_c.ea_disjoint_tcbuffer_cbuffer(temp, cb, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { + var _result = _meos_c.ea_disjoint_cbuffer_tcbuffer(cb, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_disjoint_tcbuffer_tcbuffer(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_intersects_tcbuffer_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_intersects_geo_tcbuffer(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { + var _result = _meos_c.ea_intersects_tcbuffer_cbuffer(temp, cb, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { + var _result = _meos_c.ea_intersects_cbuffer_tcbuffer(cb, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_intersects_tcbuffer_tcbuffer(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_touches_tcbuffer_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_touches_geo_tcbuffer(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { + var _result = _meos_c.ea_touches_tcbuffer_cbuffer(temp, cb, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { + var _result = _meos_c.ea_touches_cbuffer_tcbuffer(cb, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_touches_tcbuffer_tcbuffer(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinterrel_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean tinter) { + var _result = _meos_c.tinterrel_tcbuffer_cbuffer(temp, cb, tinter); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinterrel_tcbuffer_geo(Pointer temp, Pointer gs, boolean tinter) { + var _result = _meos_c.tinterrel_tcbuffer_geo(temp, gs, tinter); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer clipper2_clip_poly_poly(Pointer subj, Pointer clip, int op) { + var _result = _meos_c.clipper2_clip_poly_poly(subj, clip, op); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer clipper2_traj_poly_periods(Pointer seq, Pointer gs, Pointer out_count) { + var _result = _meos_c.clipper2_traj_poly_periods(seq, gs, out_count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer clip_poly_poly(Pointer subj, Pointer clip, int operation) { + var _result = _meos_c.clip_poly_poly(subj, clip, operation); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int lwproj_lookup(int srid_from, int srid_to, Pointer pj) { + var _result = _meos_c.lwproj_lookup(srid_from, srid_to, pj); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spheroid_init_from_srid(int srid, Pointer s) { + var _result = _meos_c.spheroid_init_from_srid(srid, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void srid_check_latlong(int srid) { + _meos_c.srid_check_latlong(srid); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int srid_is_latlong(int srid) { + var _result = _meos_c.srid_is_latlong(srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_serialize(Pointer lwgeom) { + var _result = _meos_c.geom_serialize(lwgeom); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geog_serialize(Pointer lwgeom) { + var _result = _meos_c.geog_serialize(lwgeom); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_postgis_valid_typmod(Pointer gs, int typmod) { + var _result = _meos_c.meos_postgis_valid_typmod(gs, typmod); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String geo_as_wkt(Pointer gs, int precision, boolean extended) { + var _result = _meos_c.geo_as_wkt(gs, precision, extended); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer box2d_to_lwgeom(Pointer box, int srid) { + var _result = _meos_c.box2d_to_lwgeom(box, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer box3d_to_lwgeom(Pointer box) { + var _result = _meos_c.box3d_to_lwgeom(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer MEOS_POSTGIS2GEOS(Pointer pglwgeom) { + var _result = _meos_c.MEOS_POSTGIS2GEOS(pglwgeom); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer MEOS_GEOS2POSTGIS(Pointer geom, String want3d) { + var _result = _meos_c.MEOS_GEOS2POSTGIS(geom, want3d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geom_spatialrel(Pointer gs1, Pointer gs2, int rel) { + var _result = _meos_c.geom_spatialrel(gs1, gs2, rel); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lwgeom_line_interpolate_point(Pointer geom, double fraction, int srid, String repeat) { + var _result = _meos_c.lwgeom_line_interpolate_point(geom, fraction, srid, repeat); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void point_get_coords(Pointer point, boolean hasz, Pointer x, Pointer y, Pointer z) { + _meos_c.point_get_coords(point, hasz, x, y, z); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzset_stbox_slice(Pointer tsdatum, Pointer box) { + _meos_c.tstzset_stbox_slice(tsdatum, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzspanset_stbox_slice(Pointer psdatum, Pointer box) { + _meos_c.tstzspanset_stbox_slice(psdatum, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean stbox_index_leaf_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_c.stbox_index_leaf_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_gist_inner_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_c.stbox_gist_inner_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean stbox_index_recheck(int strategy) { + var _result = _meos_c.stbox_index_recheck(strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stboxnode_copy(Pointer box) { + var _result = _meos_c.stboxnode_copy(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int getQuadrant8D(Pointer centroid, Pointer inBox) { + var _result = _meos_c.getQuadrant8D(centroid, inBox); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void stboxnode_init(Pointer centroid, Pointer nodebox) { + _meos_c.stboxnode_init(centroid, nodebox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void stboxnode_quadtree_next(Pointer nodebox, Pointer centroid, int quadrant, Pointer next_nodebox) { + _meos_c.stboxnode_quadtree_next(nodebox, centroid, quadrant, next_nodebox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void stboxnode_kdtree_next(Pointer nodebox, Pointer centroid, int node, int level, Pointer next_nodebox) { + _meos_c.stboxnode_kdtree_next(nodebox, centroid, node, level, next_nodebox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean overlap8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overlap8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlapKD(Pointer nodebox, Pointer query, int level) { + var _result = _meos_c.overlapKD(nodebox, query, level); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contain8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.contain8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean containKD(Pointer nodebox, Pointer query, int level) { + var _result = _meos_c.containKD(nodebox, query, level); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.left8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overLeft8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overLeft8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.right8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overRight8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overRight8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean below8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.below8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overBelow8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overBelow8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean above8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.above8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overAbove8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overAbove8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean front8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.front8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overFront8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overFront8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean back8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.back8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overBack8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overBack8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.before8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overBefore8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overBefore8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.after8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overAfter8D(Pointer nodebox, Pointer query) { + var _result = _meos_c.overAfter8D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_stbox_nodebox(Pointer query, Pointer nodebox) { + var _result = _meos_c.distance_stbox_nodebox(query, nodebox); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tspatial_spgist_get_stbox(Pointer value, int type, Pointer result) { + _meos_c.tspatial_spgist_get_stbox(value, type, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void mobilitydb_init() { + _meos_c.mobilitydb_init(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer geo_stbox(Pointer gs) { + var _result = _meos_c.geo_stbox(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_geo(Pointer box) { + var _result = _meos_c.stbox_geo(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcomp_geo_tgeo(Pointer gs, Pointer temp, Pointer func) { + var _result = _meos_c.tcomp_geo_tgeo(gs, temp, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func) { + var _result = _meos_c.tcomp_tgeo_geo(temp, gs, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_geoaggstate(Pointer state, int srid, boolean hasz) { + var _result = _meos_c.ensure_geoaggstate(state, srid, hasz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_geoaggstate_state(Pointer state1, Pointer state2) { + var _result = _meos_c.ensure_geoaggstate_state(state1, state2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_transform_tcentroid(Pointer temp, Pointer count) { + var _result = _meos_c.tpoint_transform_tcentroid(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointinst_tcentroid_finalfn(Pointer instants, int count, int srid) { + var _result = _meos_c.tpointinst_tcentroid_finalfn(instants, count, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_tcentroid_finalfn(Pointer sequences, int count, int srid) { + var _result = _meos_c.tpointseq_tcentroid_finalfn(sequences, count, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean point3d_min_dist(Pointer p1, Pointer p2, Pointer p3, Pointer p4, Pointer fraction) { + var _result = _meos_c.point3d_min_dist(p1, p2, p3, p4, fraction); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double stbox_spatial_distance(Pointer box1, Pointer box2) { + var _result = _meos_c.stbox_spatial_distance(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tgeompointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param) { + var _result = _meos_c.tgeompointsegm_distance_turnpt(start1, end1, start2, end2, param); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tgeogpointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param) { + var _result = _meos_c.tgeogpointsegm_distance_turnpt(start1, end1, start2, end2, param); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tinstant_distance(Pointer inst1, Pointer inst2, Pointer func) { + var _result = _meos_c.tinstant_distance(inst1, inst2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_at_geom(Pointer seq, Pointer gs, Pointer count) { + var _result = _meos_c.tpointseq_at_geom(seq, gs, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_interperiods(Pointer seq, Pointer gs, Pointer count) { + var _result = _meos_c.tpointseq_interperiods(seq, gs, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void datum_point4d(Pointer value, Pointer p) { + _meos_c.datum_point4d(value, p); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int geopoint_cmp(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geopoint_cmp(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geopoint_eq(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geopoint_eq(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geopoint_same(Pointer gs1, Pointer gs2) { + var _result = _meos_c.geopoint_same(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_point_eq(Pointer point1, Pointer point2) { + var _result = _meos_c.datum_point_eq(point1, point2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_point_same(Pointer point1, Pointer point2) { + var _result = _meos_c.datum_point_same(point1, point2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_point_eq(Pointer point1, Pointer point2) { + var _result = _meos_c.datum2_point_eq(point1, point2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_point_ne(Pointer point1, Pointer point2) { + var _result = _meos_c.datum2_point_ne(point1, point2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_point_same(Pointer point1, Pointer point2) { + var _result = _meos_c.datum2_point_same(point1, point2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_point_nsame(Pointer point1, Pointer point2) { + var _result = _meos_c.datum2_point_nsame(point1, point2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_geom_centroid(Pointer geo) { + var _result = _meos_c.datum2_geom_centroid(geo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_geog_centroid(Pointer geo) { + var _result = _meos_c.datum2_geog_centroid(geo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_extract_elements(Pointer gs, Pointer count) { + var _result = _meos_c.geo_extract_elements(gs, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_serialize(Pointer geom) { + var _result = _meos_c.geo_serialize(geom); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_distance_fn(short flags) { + var _result = _meos_c.geo_distance_fn(flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer point_distance_fn(short flags) { + var _result = _meos_c.point_distance_fn(flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_distance2d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_distance2d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_distance3d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_distance3d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geog_distance(Pointer geog1, Pointer geog2) { + var _result = _meos_c.datum_geog_distance(geog1, geog2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pt_distance2d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_pt_distance2d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pt_distance3d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_pt_distance3d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static short spatial_flags(Pointer d, int basetype) { + var _result = _meos_c.spatial_flags(d, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_srid_is_latlong(int srid) { + var _result = _meos_c.ensure_srid_is_latlong(srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_spatial_validity(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_spatial_validity(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_not_geodetic(short flags) { + var _result = _meos_c.ensure_not_geodetic(flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_geodetic(short flags1, short flags2) { + var _result = _meos_c.ensure_same_geodetic(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_geodetic_geo(Pointer gs1, Pointer gs2) { + var _result = _meos_c.ensure_same_geodetic_geo(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_geodetic_tspatial_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ensure_same_geodetic_tspatial_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_geodetic_tspatial_base(Pointer temp, Pointer base) { + var _result = _meos_c.ensure_same_geodetic_tspatial_base(temp, base); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_srid_known(int srid) { + var _result = _meos_c.ensure_srid_known(srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_srid(int srid1, int srid2) { + var _result = _meos_c.ensure_same_srid(srid1, srid2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_dimensionality(short flags1, short flags2) { + var _result = _meos_c.ensure_same_dimensionality(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_spatial_dimensionality(short flags1, short flags2) { + var _result = _meos_c.same_spatial_dimensionality(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_spatial_dimensionality(short flags1, short flags2) { + var _result = _meos_c.ensure_same_spatial_dimensionality(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_dimensionality_geo(Pointer gs1, Pointer gs2) { + var _result = _meos_c.ensure_same_dimensionality_geo(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_dimensionality_tspatial_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.same_dimensionality_tspatial_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_dimensionality_tspatial_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ensure_same_dimensionality_tspatial_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_spatial_dimensionality_stbox_geo(Pointer box, Pointer gs) { + var _result = _meos_c.ensure_same_spatial_dimensionality_stbox_geo(box, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_geodetic_stbox_geo(Pointer box, Pointer gs) { + var _result = _meos_c.ensure_same_geodetic_stbox_geo(box, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_Z_geo(Pointer gs) { + var _result = _meos_c.ensure_has_Z_geo(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_not_Z_geo(Pointer gs) { + var _result = _meos_c.ensure_has_not_Z_geo(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_M_geo(Pointer gs) { + var _result = _meos_c.ensure_has_M_geo(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_not_M_geo(Pointer gs) { + var _result = _meos_c.ensure_has_not_M_geo(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_not_geodetic_geo(Pointer gs) { + var _result = _meos_c.ensure_not_geodetic_geo(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_point_type(Pointer gs) { + var _result = _meos_c.ensure_point_type(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_mline_type(Pointer gs) { + var _result = _meos_c.ensure_mline_type(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean circle_type(Pointer gs) { + var _result = _meos_c.circle_type(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_circle_type(Pointer gs) { + var _result = _meos_c.ensure_circle_type(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_not_empty(Pointer gs) { + var _result = _meos_c.ensure_not_empty(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_stbox_geo(Pointer box, Pointer gs) { + var _result = _meos_c.ensure_valid_stbox_geo(box, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tspatial_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ensure_valid_tspatial_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tspatial_base(Pointer temp, Pointer base) { + var _result = _meos_c.ensure_valid_tspatial_base(temp, base); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tspatial_tspatial(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_tspatial_tspatial(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_spatial_stbox_stbox(Pointer box1, Pointer box2) { + var _result = _meos_c.ensure_valid_spatial_stbox_stbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tgeo_stbox(Pointer temp, Pointer box) { + var _result = _meos_c.ensure_valid_tgeo_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_geo_geo(Pointer gs1, Pointer gs2) { + var _result = _meos_c.ensure_valid_geo_geo(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ensure_valid_tgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tgeo_tgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_tgeo_tgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_c.ensure_valid_tpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tpoint_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_tpoint_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean mline_type(Pointer gs) { + var _result = _meos_c.mline_type(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_get_coord(Pointer temp, int coord) { + var _result = _meos_c.tpoint_get_coord(temp, coord); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eacomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func, boolean ever) { + var _result = _meos_c.eacomp_tgeo_geo(temp, gs, func, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer closest_point2d_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest) { + var _result = _meos_c.closest_point2d_on_segment_ratio(p, A, B, closest); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer closest_point3dz_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest) { + var _result = _meos_c.closest_point3dz_on_segment_ratio(p, A, B, closest); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer closest_point_on_segment_sphere(Pointer p, Pointer A, Pointer B, Pointer closest, Pointer dist) { + var _result = _meos_c.closest_point_on_segment_sphere(p, A, B, closest, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void interpolate_point4d_spheroid(Pointer p1, Pointer p2, Pointer p, Pointer s, double f) { + _meos_c.interpolate_point4d_spheroid(p1, p2, p, s, f); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer geopoint_make(double x, double y, double z, boolean hasz, boolean geodetic, int srid) { + var _result = _meos_c.geopoint_make(x, y, z, hasz, geodetic, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lwcircle_make(double x, double y, double radius, int srid) { + var _result = _meos_c.lwcircle_make(x, y, radius, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geocircle_make(double x, double y, double radius, int srid) { + var _result = _meos_c.geocircle_make(x, y, radius, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pointsegm_interpolate(Pointer start, Pointer end, Pointer ratio) { + var _result = _meos_c.pointsegm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pointsegm_locate(Pointer start, Pointer end, Pointer point, Pointer dist) { + var _result = _meos_c.pointsegm_locate(start, end, point, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tgeompointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tgeompointsegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tgeogpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tgeogpointsegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean geopoint_collinear(Pointer value1, Pointer value2, Pointer value3, double ratio, boolean hasz, boolean geodetic) { + var _result = _meos_c.geopoint_collinear(value1, value2, value3, ratio, hasz, geodetic); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lwpointarr_remove_duplicates(Pointer points, int count, Pointer newcount) { + var _result = _meos_c.lwpointarr_remove_duplicates(points, count, newcount); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lwpointarr_make_trajectory(Pointer points, int count, int interp) { + var _result = _meos_c.lwpointarr_make_trajectory(points, count, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lwline_make(Pointer value1, Pointer value2) { + var _result = _meos_c.lwline_make(value1, value2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lwcoll_from_points_lines(Pointer points, Pointer lines, int npoints, int nlines) { + var _result = _meos_c.lwcoll_from_points_lines(points, lines, npoints, nlines); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tpointseq_stops_iter(Pointer seq, double maxdist, int mintunits, Pointer result) { + var _result = _meos_c.tpointseq_stops_iter(seq, maxdist, mintunits, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_contains(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_contains(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_covers(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_covers(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_disjoint2d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_disjoint2d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_disjoint3d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_disjoint3d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geog_disjoint(Pointer geog1, Pointer geog2) { + var _result = _meos_c.datum_geog_disjoint(geog1, geog2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_intersects2d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_intersects2d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_intersects3d(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_intersects3d(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geog_intersects(Pointer geog1, Pointer geog2) { + var _result = _meos_c.datum_geog_intersects(geog1, geog2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_touches(Pointer geom1, Pointer geom2) { + var _result = _meos_c.datum_geom_touches(geom1, geom2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_dwithin2d(Pointer geom1, Pointer geom2, Pointer dist) { + var _result = _meos_c.datum_geom_dwithin2d(geom1, geom2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_dwithin3d(Pointer geom1, Pointer geom2, Pointer dist) { + var _result = _meos_c.datum_geom_dwithin3d(geom1, geom2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geog_dwithin(Pointer geog1, Pointer geog2, Pointer dist) { + var _result = _meos_c.datum_geog_dwithin(geog1, geog2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geom_relate_pattern(Pointer geog1, Pointer geog2, Pointer p) { + var _result = _meos_c.datum_geom_relate_pattern(geog1, geog2, p); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_disjoint_fn(short flags1, short flags2) { + var _result = _meos_c.geo_disjoint_fn(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_disjoint_fn_geo(short flags1, byte flags2) { + var _result = _meos_c.geo_disjoint_fn_geo(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_intersects_fn(short flags1, short flags2) { + var _result = _meos_c.geo_intersects_fn(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_intersects_fn_geo(short flags1, byte flags2) { + var _result = _meos_c.geo_intersects_fn_geo(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_dwithin_fn(short flags1, short flags2) { + var _result = _meos_c.geo_dwithin_fn(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_dwithin_fn_geo(short flags1, byte flags2) { + var _result = _meos_c.geo_dwithin_fn_geo(flags1, flags2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tpointsegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_c.tpointsegm_tdwithin_turnpt(start1, end1, start2, end2, value, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spatialrel_geo_geo(Pointer gs1, Pointer gs2, Pointer param, Pointer func, int numparam, boolean invert) { + var _result = _meos_c.spatialrel_geo_geo(gs1, gs2, param, func, numparam, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spatialrel_tgeo_tgeo(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam) { + var _result = _meos_c.spatialrel_tgeo_tgeo(temp1, temp2, param, func, numparam); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_contains_geo_tgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_contains_tgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_contains_tgeo_tgeo(temp, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_covers_geo_tgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_covers_tgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_covers_tgeo_tgeo(temp, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_disjoint_geo_tgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_disjoint_tgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_disjoint_tgeo_tgeo(temp, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_c.ea_intersects_geo_tgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_intersects_tgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_intersects_tgeo_tgeo(temp, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_tpoint_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_touches_tpoint_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_c.ea_touches_tgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { + var _result = _meos_c.ea_touches_tgeo_tgeo(temp, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_dwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever) { + var _result = _meos_c.ea_dwithin_tgeo_geo(temp, gs, dist, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_dwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean ever) { + var _result = _meos_c.ea_dwithin_tgeo_tgeo(temp1, temp2, dist, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_spatialrel_tspatial_geo(Pointer temp, Pointer gs, Pointer func, boolean ever, boolean invert) { + var _result = _meos_c.ea_spatialrel_tspatial_geo(temp, gs, func, ever, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_spatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer func, boolean ever) { + var _result = _meos_c.ea_spatialrel_tspatial_tspatial(temp1, temp2, func, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatialrel_tspatial_base(Pointer temp, Pointer base, Pointer param, Pointer func, int numparam, boolean invert) { + var _result = _meos_c.tspatialrel_tspatial_base(temp, base, param, func, numparam, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam, boolean invert) { + var _result = _meos_c.tspatialrel_tspatial_tspatial(temp1, temp2, param, func, numparam, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinterrel_tgeo_geo(Pointer temp, Pointer gs, boolean tinter) { + var _result = _meos_c.tinterrel_tgeo_geo(temp, gs, tinter); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinterrel_tspatial_base(Pointer temp, Pointer base, boolean tinter, Pointer func) { + var _result = _meos_c.tinterrel_tspatial_base(temp, base, tinter, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinterrel_tspatial_tspatial(Pointer temp1, Pointer temp2, boolean tinter) { + var _result = _meos_c.tinterrel_tspatial_tspatial(temp1, temp2, tinter); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tspatial_tspatial(Pointer sync1, Pointer sync2, Pointer dist, Pointer func, Pointer tpfn) { + var _result = _meos_c.tdwithin_tspatial_tspatial(sync1, sync2, dist, func, tpfn); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tdwithin_add_solutions(int solutions, OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc, boolean upper_inc1, OffsetDateTime t1, OffsetDateTime t2, Pointer instants, Pointer result) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var t1_new = t1.toEpochSecond(); + var t2_new = t2.toEpochSecond(); + var _result = _meos_c.tdwithin_add_solutions(solutions, lower_new, upper_new, lower_inc, upper_inc, upper_inc1, t1_new, t2_new, instants, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdwithin_tspatial_spatial(Pointer temp, Pointer base, Pointer dist, Pointer func, Pointer tpfn) { + var _result = _meos_c.tdwithin_tspatial_spatial(temp, base, dist, func, tpfn); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bitmatrix_make(Pointer count, int ndims) { + var _result = _meos_c.bitmatrix_make(count, ndims); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tpoint_set_tiles(Pointer temp, Pointer state, Pointer bm) { + var _result = _meos_c.tpoint_set_tiles(temp, state, bm); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_at_tile(Pointer temp, Pointer box) { + var _result = _meos_c.tpoint_at_tile(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void stbox_tile_state_set(double x, double y, double z, OffsetDateTime t, double xsize, double ysize, double zsize, long tunits, boolean hasx, boolean hasz, boolean hast, int srid, Pointer result) { + var t_new = t.toEpochSecond(); + _meos_c.stbox_tile_state_set(x, y, z, t_new, xsize, ysize, zsize, tunits, hasx, hasz, hast, srid, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer stbox_tile_state_make(Pointer temp, Pointer box, double xsize, double ysize, double zsize, Pointer duration, int sorigin, OffsetDateTime torigin, boolean border_inc) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.stbox_tile_state_make(temp, box, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void stbox_tile_state_next(Pointer state) { + _meos_c.stbox_tile_state_next(state); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean stbox_tile_state_get(Pointer state, Pointer box) { + var _result = _meos_c.stbox_tile_state_get(state, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_space_time_tile_init(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer ntiles) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.tgeo_space_time_tile_init(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, ntiles); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer stbox_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean hasx, boolean hast) { + var t_new = t.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_c.stbox_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new, hasx, hast); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer create_trip(Pointer lines, Pointer maxSpeeds, Pointer categories, int noEdges, OffsetDateTime startTime, boolean disturbData, int verbosity) { + var startTime_new = startTime.toEpochSecond(); + var _result = _meos_c.create_trip(lines, maxSpeeds, categories, noEdges, startTime_new, disturbData, verbosity); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spatialarr_wkt_out(Pointer spatialarr, int basetype, int count, int maxdd, boolean extended) { + var _result = _meos_c.spatialarr_wkt_out(spatialarr, basetype, count, maxdd, extended); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spatialbase_as_text(Pointer value, int type, int maxdd) { + var _result = _meos_c.spatialbase_as_text(value, type, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String spatialbase_as_ewkt(Pointer value, int type, int maxdd) { + var _result = _meos_c.spatialbase_as_ewkt(value, type, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean point_transf_pj(Pointer gs, int srid_to, Pointer pj) { + var _result = _meos_c.point_transf_pj(gs, srid_to, pj); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tgeoinst_set_stbox(Pointer inst, Pointer box) { + _meos_c.tgeoinst_set_stbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tgeoinstarr_set_stbox(Pointer instants, int count, Pointer box) { + _meos_c.tgeoinstarr_set_stbox(instants, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tgeoseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_c.tgeoseq_expand_stbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tspatialinst_set_stbox(Pointer inst, Pointer box) { + _meos_c.tspatialinst_set_stbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tspatialinstarr_set_stbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box) { + _meos_c.tspatialinstarr_set_stbox(instants, count, lower_inc, upper_inc, interp, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tspatialseqarr_set_stbox(Pointer sequences, int count, Pointer box) { + _meos_c.tspatialseqarr_set_stbox(sequences, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tspatialseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_c.tspatialseq_expand_stbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void spatialarr_set_bbox(Pointer values, int basetype, int count, Pointer box) { + _meos_c.spatialarr_set_bbox(values, basetype, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean boxop_tspatial_stbox(Pointer temp, Pointer box, Pointer bool, boolean invert) { + var _result = _meos_c.boxop_tspatial_stbox(temp, box, bool, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer bool) { + var _result = _meos_c.boxop_tspatial_tspatial(temp1, temp2, bool); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean srid_parse(Pointer str, Pointer srid) { + var _result = _meos_c.srid_parse(str, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spatial_parse_elem(Pointer str, int temptype, String delim, Pointer temp_srid) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.spatial_parse_elem(str, temptype, delim, temp_srid, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer geo_parse(Pointer str, int basetype, String delim, Pointer srid) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.geo_parse(str, basetype, delim, srid, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer stbox_parse(Pointer str) { + var _result = _meos_c.stbox_parse(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpoint_parse(Pointer str, int temptype) { + var _result = _meos_c.tpoint_parse(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatialinst_parse(Pointer str, int temptype, boolean end, Pointer temp_srid) { + var _result = _meos_c.tspatialinst_parse(str, temptype, end, temp_srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatialseq_disc_parse(Pointer str, int temptype, Pointer temp_srid) { + var _result = _meos_c.tspatialseq_disc_parse(str, temptype, temp_srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatialseq_cont_parse(Pointer str, int temptype, int interp, boolean end, Pointer temp_srid) { + var _result = _meos_c.tspatialseq_cont_parse(str, temptype, interp, end, temp_srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatialseqset_parse(Pointer str, int temptype, int interp, Pointer temp_srid) { + var _result = _meos_c.tspatialseqset_parse(str, temptype, interp, temp_srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tspatial_parse(Pointer str, int temptype) { + var _result = _meos_c.tspatial_parse(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3_are_neighbor_cells_meos(long origin, long destination) { + var _result = _meos_c.h3_are_neighbor_cells_meos(origin, destination); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cells_to_directed_edge_meos(long origin, long destination) { + var _result = _meos_c.h3_cells_to_directed_edge_meos(origin, destination); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3_is_valid_directed_edge_meos(long edge) { + var _result = _meos_c.h3_is_valid_directed_edge_meos(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_get_directed_edge_origin_meos(long edge) { + var _result = _meos_c.h3_get_directed_edge_origin_meos(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_get_directed_edge_destination_meos(long edge) { + var _result = _meos_c.h3_get_directed_edge_destination_meos(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cell_to_parent_meos(long origin, int resolution) { + var _result = _meos_c.h3_cell_to_parent_meos(origin, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cell_to_center_child_meos(long origin, int resolution) { + var _result = _meos_c.h3_cell_to_center_child_meos(origin, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cell_to_child_pos_meos(long child, int parentRes) { + var _result = _meos_c.h3_cell_to_child_pos_meos(child, parentRes); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes) { + var _result = _meos_c.h3_child_pos_to_cell_meos(childPos, parent, childRes); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int h3_get_resolution_meos(long hex) { + var _result = _meos_c.h3_get_resolution_meos(hex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int h3_get_base_cell_number_meos(long hex) { + var _result = _meos_c.h3_get_base_cell_number_meos(hex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3_is_valid_cell_meos(long hex) { + var _result = _meos_c.h3_is_valid_cell_meos(hex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3_is_res_class_iii_meos(long hex) { + var _result = _meos_c.h3_is_res_class_iii_meos(hex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3_is_pentagon_meos(long hex) { + var _result = _meos_c.h3_is_pentagon_meos(hex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_get_num_cells_meos(int resolution) { + var _result = _meos_c.h3_get_num_cells_meos(resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_grid_distance_meos(long originIndex, long h3Index) { + var _result = _meos_c.h3_grid_distance_meos(originIndex, h3Index); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cell_to_vertex_meos(long cell, int vertexNum) { + var _result = _meos_c.h3_cell_to_vertex_meos(cell, vertexNum); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3_is_valid_vertex_meos(long vertex) { + var _result = _meos_c.h3_is_valid_vertex_meos(vertex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3index_parse(String str) { + var _result = _meos_c.h3index_parse(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String h3index_to_string(long cell) { + var _result = _meos_c.h3index_to_string(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3index_eq(long a, long b) { + var _result = _meos_c.h3index_eq(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3index_ne(long a, long b) { + var _result = _meos_c.h3index_ne(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3index_lt(long a, long b) { + var _result = _meos_c.h3index_lt(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3index_le(long a, long b) { + var _result = _meos_c.h3index_le(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3index_gt(long a, long b) { + var _result = _meos_c.h3index_gt(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean h3index_ge(long a, long b) { + var _result = _meos_c.h3index_ge(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int h3index_cmp(long a, long b) { + var _result = _meos_c.h3index_cmp(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int h3index_hash(long cell) { + var _result = _meos_c.h3index_hash(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_grid_disk(long origin, int k) { + var _result = _meos_c.h3_grid_disk(origin, k); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_grid_ring(long origin, int k) { + var _result = _meos_c.h3_grid_ring(origin, k); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_grid_path_cells(long start, long end) { + var _result = _meos_c.h3_grid_path_cells(start, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_cell_to_children(long origin, int childRes) { + var _result = _meos_c.h3_cell_to_children(origin, childRes); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_compact_cells(Pointer cells) { + var _result = _meos_c.h3_compact_cells(cells); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_uncompact_cells(Pointer cells, int res) { + var _result = _meos_c.h3_uncompact_cells(cells, res); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_origin_to_directed_edges(long origin) { + var _result = _meos_c.h3_origin_to_directed_edges(origin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_cell_to_vertexes(long cell) { + var _result = _meos_c.h3_cell_to_vertexes(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_get_icosahedron_faces(long cell) { + var _result = _meos_c.h3_get_icosahedron_faces(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.ensure_valid_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ensure_valid_th3index_tgeogpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_h3index_eq(Pointer d1, Pointer d2, int type) { + var _result = _meos_c.datum2_h3index_eq(d1, d2, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_h3index_ne(Pointer d1, Pointer d2, int type) { + var _result = _meos_c.datum2_h3index_ne(d1, d2, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void th3indexinst_set_stbox(Pointer inst, Pointer box) { + _meos_c.th3indexinst_set_stbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box) { + _meos_c.th3indexinstarr_set_stbox(instants, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void th3indexseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_c.th3indexseq_expand_stbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static long h3_gs_point_to_cell(Pointer point, int resolution) { + var _result = _meos_c.h3_gs_point_to_cell(point, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_cell_to_gs_point(long cell) { + var _result = _meos_c.h3_cell_to_gs_point(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_cell_to_gs_boundary(long cell) { + var _result = _meos_c.h3_cell_to_gs_boundary(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cell_boundary_to_gs(Pointer bnd) { + var _result = _meos_c.cell_boundary_to_gs(bnd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double h3_sample_step_deg(int resolution) { + var _result = _meos_c.h3_sample_step_deg(resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution) { + var _result = _meos_c.h3_latlng_deg_to_cell(lat_deg, lng_deg, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cell_to_parent_next_meos(long cell) { + var _result = _meos_c.h3_cell_to_parent_next_meos(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_cell_to_center_child_next_meos(long cell) { + var _result = _meos_c.h3_cell_to_center_child_next_meos(cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_directed_edge_to_gs_boundary(long edge) { + var _result = _meos_c.h3_directed_edge_to_gs_boundary(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_vertex_to_gs_point(long vertex) { + var _result = _meos_c.h3_vertex_to_gs_point(vertex); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer h3_cell_to_local_ij_meos(long origin, long cell) { + var _result = _meos_c.h3_cell_to_local_ij_meos(origin, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long h3_local_ij_to_cell_meos(long origin, Pointer coord) { + var _result = _meos_c.h3_local_ij_to_cell_meos(origin, coord); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int h3_unit_from_cstring(String unit) { + var _result = _meos_c.h3_unit_from_cstring(unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double h3_cell_area_meos(long cell, int unit) { + var _result = _meos_c.h3_cell_area_meos(cell, unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double h3_edge_length_meos(long edge, int unit) { + var _result = _meos_c.h3_edge_length_meos(edge, unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit) { + var _result = _meos_c.h3_gs_great_circle_distance_meos(a, b, unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_get_resolution(Pointer d) { + var _result = _meos_c.datum_h3_get_resolution(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_get_base_cell_number(Pointer d) { + var _result = _meos_c.datum_h3_get_base_cell_number(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_is_valid_cell(Pointer d) { + var _result = _meos_c.datum_h3_is_valid_cell(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_is_res_class_iii(Pointer d) { + var _result = _meos_c.datum_h3_is_res_class_iii(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_is_pentagon(Pointer d) { + var _result = _meos_c.datum_h3_is_pentagon(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_parent(Pointer cell_d, Pointer res_d) { + var _result = _meos_c.datum_h3_cell_to_parent(cell_d, res_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_parent_next(Pointer cell_d) { + var _result = _meos_c.datum_h3_cell_to_parent_next(cell_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_center_child(Pointer cell_d, Pointer res_d) { + var _result = _meos_c.datum_h3_cell_to_center_child(cell_d, res_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_center_child_next(Pointer cell_d) { + var _result = _meos_c.datum_h3_cell_to_center_child_next(cell_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_child_pos(Pointer cell_d, Pointer parent_res_d) { + var _result = _meos_c.datum_h3_cell_to_child_pos(cell_d, parent_res_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_child_pos_to_cell(Pointer pos_d, Pointer parent_d, Pointer child_res_d) { + var _result = _meos_c.datum_h3_child_pos_to_cell(pos_d, parent_d, child_res_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_are_neighbor_cells(Pointer origin_d, Pointer dest_d) { + var _result = _meos_c.datum_h3_are_neighbor_cells(origin_d, dest_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cells_to_directed_edge(Pointer origin_d, Pointer dest_d) { + var _result = _meos_c.datum_h3_cells_to_directed_edge(origin_d, dest_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_is_valid_directed_edge(Pointer d) { + var _result = _meos_c.datum_h3_is_valid_directed_edge(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_get_directed_edge_origin(Pointer d) { + var _result = _meos_c.datum_h3_get_directed_edge_origin(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_get_directed_edge_destination(Pointer d) { + var _result = _meos_c.datum_h3_get_directed_edge_destination(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_directed_edge_to_boundary(Pointer d) { + var _result = _meos_c.datum_h3_directed_edge_to_boundary(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_vertex(Pointer cell_d, Pointer vnum_d) { + var _result = _meos_c.datum_h3_cell_to_vertex(cell_d, vnum_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_vertex_to_latlng(Pointer d) { + var _result = _meos_c.datum_h3_vertex_to_latlng(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_is_valid_vertex(Pointer d) { + var _result = _meos_c.datum_h3_is_valid_vertex(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_grid_distance(Pointer origin_d, Pointer dest_d) { + var _result = _meos_c.datum_h3_grid_distance(origin_d, dest_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_local_ij(Pointer origin_d, Pointer cell_d) { + var _result = _meos_c.datum_h3_cell_to_local_ij(origin_d, cell_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_local_ij_to_cell(Pointer origin_d, Pointer coord_d) { + var _result = _meos_c.datum_h3_local_ij_to_cell(origin_d, coord_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_latlng_to_cell(Pointer point_d, Pointer res_d) { + var _result = _meos_c.datum_h3_latlng_to_cell(point_d, res_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_latlng(Pointer d) { + var _result = _meos_c.datum_h3_cell_to_latlng(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_to_boundary(Pointer d) { + var _result = _meos_c.datum_h3_cell_to_boundary(d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_cell_area(Pointer cell_d, Pointer unit_d) { + var _result = _meos_c.datum_h3_cell_area(cell_d, unit_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_edge_length(Pointer edge_d, Pointer unit_d) { + var _result = _meos_c.datum_h3_edge_length(edge_d, unit_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_h3_great_circle_distance(Pointer a_d, Pointer b_d, Pointer unit_d) { + var _result = _meos_c.datum_h3_great_circle_distance(a_d, b_d, unit_d); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_in(String str) { + var _result = _meos_c.json_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String json_out(Pointer js) { + var _result = _meos_c.json_out(js); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_from_text(Pointer txt, boolean unique_keys) { + var _result = _meos_c.jsonb_from_text(txt, unique_keys); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_in(String str) { + var _result = _meos_c.jsonb_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String jsonb_out(Pointer jb) { + var _result = _meos_c.jsonb_out(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_make(Pointer keys_vals, int count) { + var _result = _meos_c.json_make(keys_vals, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_make_two_arg(Pointer keys, Pointer values, int count) { + var _result = _meos_c.json_make_two_arg(keys, values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_copy(Pointer jb) { + var _result = _meos_c.jsonb_copy(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_make(Pointer keys_vals, int count) { + var _result = _meos_c.jsonb_make(keys_vals, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_make_two_arg(Pointer keys, Pointer values, int count) { + var _result = _meos_c.jsonb_make_two_arg(keys, values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_to_bool(Pointer jb) { + var _result = _meos_c.jsonb_to_bool(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String jsonb_to_cstring(Pointer jb) { + var _result = _meos_c.jsonb_to_cstring(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_to_float4(Pointer jb) { + var _result = _meos_c.jsonb_to_float4(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_to_float8(Pointer jb) { + var _result = _meos_c.jsonb_to_float8(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static short jsonb_to_int16(Pointer jb) { + var _result = _meos_c.jsonb_to_int16(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_to_int32(Pointer jb) { + var _result = _meos_c.jsonb_to_int32(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long jsonb_to_int64(Pointer jb) { + var _result = _meos_c.jsonb_to_int64(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_to_numeric(Pointer jb) { + var _result = _meos_c.jsonb_to_numeric(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_to_text(Pointer jb) { + var _result = _meos_c.jsonb_to_text(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_array_element(Pointer js, int element) { + var _result = _meos_c.json_array_element(js, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_array_element_text(Pointer js, int element) { + var _result = _meos_c.json_array_element_text(js, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_array_elements(Pointer js, Pointer count) { + var _result = _meos_c.json_array_elements(js, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_array_elements_text(Pointer js, Pointer count) { + var _result = _meos_c.json_array_elements_text(js, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int json_array_length(Pointer js) { + var _result = _meos_c.json_array_length(js); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_each(Pointer js, Pointer values, Pointer count) { + var _result = _meos_c.json_each(js, values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_each_text(Pointer js, Pointer values, Pointer count) { + var _result = _meos_c.json_each_text(js, values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_extract_path(Pointer js, Pointer path_elems, int path_len) { + var _result = _meos_c.json_extract_path(js, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_extract_path_text(Pointer js, Pointer path_elems, int path_len) { + var _result = _meos_c.json_extract_path_text(js, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_object_field(Pointer js, Pointer key) { + var _result = _meos_c.json_object_field(js, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_object_field_text(Pointer js, Pointer key) { + var _result = _meos_c.json_object_field_text(js, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_object_keys(Pointer js, Pointer count) { + var _result = _meos_c.json_object_keys(js, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_typeof(Pointer js) { + var _result = _meos_c.json_typeof(js); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_array_element(Pointer jb, int element) { + var _result = _meos_c.jsonb_array_element(jb, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_array_element_text(Pointer jb, int element) { + var _result = _meos_c.jsonb_array_element_text(jb, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_array_elements(Pointer jb, Pointer count) { + var _result = _meos_c.jsonb_array_elements(jb, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_array_elements_text(Pointer jb, Pointer count) { + var _result = _meos_c.jsonb_array_elements_text(jb, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_array_length(Pointer jb) { + var _result = _meos_c.jsonb_array_length(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_contained(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_contained(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_contains(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_contains(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_each(Pointer jb, Pointer values, Pointer count) { + var _result = _meos_c.jsonb_each(jb, values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_each_text(Pointer jb, Pointer values, Pointer count) { + var _result = _meos_c.jsonb_each_text(jb, values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_exists(Pointer jb, Pointer key) { + var _result = _meos_c.jsonb_exists(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_exists_array(Pointer jb, Pointer keys_elems, int keys_len, boolean any) { + var _result = _meos_c.jsonb_exists_array(jb, keys_elems, keys_len, any); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_extract_path(Pointer jb, Pointer path_elems, int path_len) { + var _result = _meos_c.jsonb_extract_path(jb, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_extract_path_text(Pointer jb, Pointer path_elems, int path_len) { + var _result = _meos_c.jsonb_extract_path_text(jb, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_hash(Pointer jb) { + var _result = _meos_c.jsonb_hash(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_hash_extended(Pointer jb, int seed) { + var _result = _meos_c.jsonb_hash_extended(jb, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_object_field(Pointer jb, Pointer key) { + var _result = _meos_c.jsonb_object_field(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_object_field_text(Pointer jb, Pointer key) { + var _result = _meos_c.jsonb_object_field_text(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_object_keys(Pointer jb, Pointer count) { + var _result = _meos_c.jsonb_object_keys(jb, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer json_strip_nulls(Pointer js, boolean strip_in_arrays) { + var _result = _meos_c.json_strip_nulls(js, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_concat(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_concat(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_delete(Pointer jb, Pointer key) { + var _result = _meos_c.jsonb_delete(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_delete_array(Pointer jb, Pointer keys_elems, int keys_len) { + var _result = _meos_c.jsonb_delete_array(jb, keys_elems, keys_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_delete_index(Pointer jb, int idx) { + var _result = _meos_c.jsonb_delete_index(jb, idx); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_delete_path(Pointer jb, Pointer path_elems, int path_len) { + var _result = _meos_c.jsonb_delete_path(jb, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_insert(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean after) { + var _result = _meos_c.jsonb_insert(jb, path_elems, path_len, newjb, after); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_pretty(Pointer jb) { + var _result = _meos_c.jsonb_pretty(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_set(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create) { + var _result = _meos_c.jsonb_set(jb, path_elems, path_len, newjb, create); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_set_lax(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create, Pointer handle_null) { + var _result = _meos_c.jsonb_set_lax(jb, path_elems, path_len, newjb, create, handle_null); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_strip_nulls(Pointer jb, boolean strip_in_arrays) { + var _result = _meos_c.jsonb_strip_nulls(jb, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_cmp(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_cmp(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_eq(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_eq(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_ge(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_ge(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_gt(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_gt(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_le(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_le(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_lt(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_lt(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_ne(Pointer jb1, Pointer jb2) { + var _result = _meos_c.jsonb_ne(jb1, jb2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonb_path_exists(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonb_path_match(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_path_query_all(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonb_path_query_all(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonb_path_query_array(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonb_path_query_first(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonpath_in(String str) { + var _result = _meos_c.jsonpath_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonpath_copy(Pointer jp) { + var _result = _meos_c.jsonpath_copy(jp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String jsonpath_out(Pointer jp) { + var _result = _meos_c.jsonpath_out(jp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_in(String str) { + var _result = _meos_c.jsonbset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String jsonbset_out(Pointer s, int maxdd) { + var _result = _meos_c.jsonbset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_make(Pointer values, int count) { + var _result = _meos_c.jsonbset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_to_set(Pointer jb) { + var _result = _meos_c.jsonb_to_set(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_end_value(Pointer s) { + var _result = _meos_c.jsonbset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_start_value(Pointer s) { + var _result = _meos_c.jsonbset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.jsonbset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_values(Pointer s) { + var _result = _meos_c.jsonbset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer concat_jsonbset_jsonb(Pointer s, Pointer jb, boolean invert) { + var _result = _meos_c.concat_jsonbset_jsonb(s, jb, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_array_length(Pointer set) { + var _result = _meos_c.jsonbset_array_length(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_object_field(Pointer set, Pointer key, boolean astext, int null_handle) { + var _result = _meos_c.jsonbset_object_field(set, key, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_array_element(Pointer set, int idx, boolean astext, int null_handle) { + var _result = _meos_c.jsonbset_array_element(set, idx, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_delete_index(Pointer set, int idx) { + var _result = _meos_c.jsonbset_delete_index(set, idx); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_delete(Pointer set, Pointer key) { + var _result = _meos_c.jsonbset_delete(set, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_delete_array(Pointer set, Pointer keys, int count) { + var _result = _meos_c.jsonbset_delete_array(set, keys, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_exists(Pointer set, Pointer key) { + var _result = _meos_c.jsonbset_exists(set, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_exists_array(Pointer set, Pointer keys, int count, boolean any) { + var _result = _meos_c.jsonbset_exists_array(set, keys, count, any); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_set(Pointer set, Pointer keys, int count, Pointer newjb, boolean create, Pointer null_handle, boolean lax) { + var _result = _meos_c.jsonbset_set(set, keys, count, newjb, create, null_handle, lax); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_to_alphanumset(Pointer set, String key, int settype, int null_handle) { + var _result = _meos_c.jsonbset_to_alphanumset(set, key, settype, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_to_intset(Pointer set, String key, int null_handle) { + var _result = _meos_c.jsonbset_to_intset(set, key, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_to_floatset(Pointer set, String key, int null_handle) { + var _result = _meos_c.jsonbset_to_floatset(set, key, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_to_textset_key(Pointer set, String key, int null_handle) { + var _result = _meos_c.jsonbset_to_textset_key(set, key, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_strip_nulls(Pointer set, boolean strip_in_arrays) { + var _result = _meos_c.jsonbset_strip_nulls(set, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_pretty(Pointer set) { + var _result = _meos_c.jsonbset_pretty(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_delete_path(Pointer set, Pointer path_elems, int path_len) { + var _result = _meos_c.jsonbset_delete_path(set, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_extract_path(Pointer set, Pointer path_elems, int path_len, boolean astext, int null_handle) { + var _result = _meos_c.jsonbset_extract_path(set, path_elems, path_len, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_insert(Pointer set, Pointer path_elems, int path_len, Pointer newjb, boolean after) { + var _result = _meos_c.jsonbset_insert(set, path_elems, path_len, newjb, after); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_path_exists(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonbset_path_exists(set, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_path_match(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonbset_path_match(set, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_path_query_array(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonbset_path_query_array(set, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbset_path_query_first(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.jsonbset_path_query_first(set, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_jsonb_set(Pointer jb, Pointer s) { + var _result = _meos_c.contained_jsonb_set(jb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_jsonb(Pointer s, Pointer jb) { + var _result = _meos_c.contains_set_jsonb(s, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_jsonb_set(Pointer jb, Pointer s) { + var _result = _meos_c.intersection_jsonb_set(jb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_jsonb(Pointer s, Pointer jb) { + var _result = _meos_c.intersection_set_jsonb(s, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonb_union_transfn(Pointer state, Pointer jb) { + var _result = _meos_c.jsonb_union_transfn(state, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_jsonb_set(Pointer jb, Pointer s) { + var _result = _meos_c.minus_jsonb_set(jb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_jsonb(Pointer s, Pointer jb) { + var _result = _meos_c.minus_set_jsonb(s, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_jsonb_set(Pointer jb, Pointer s) { + var _result = _meos_c.union_jsonb_set(jb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_jsonb(Pointer s, Pointer jb) { + var _result = _meos_c.union_set_jsonb(s, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_from_mfjson(String str) { + var _result = _meos_c.tjsonb_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_in(String str) { + var _result = _meos_c.tjsonb_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tjsonb_out(Pointer temp) { + var _result = _meos_c.tjsonb_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbinst_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tjsonbinst_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbinst_in(String str) { + var _result = _meos_c.tjsonbinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseq_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tjsonbseq_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseq_in(String str, int interp) { + var _result = _meos_c.tjsonbseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseqset_from_mfjson(Pointer mfjson) { + var _result = _meos_c.tjsonbseqset_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseqset_in(String str) { + var _result = _meos_c.tjsonbseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_from_base_temp(Pointer jsonb, Pointer temp) { + var _result = _meos_c.tjsonb_from_base_temp(jsonb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbinst_make(Pointer jsonb, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tjsonbinst_make(jsonb, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseq_from_base_tstzset(Pointer jsonb, Pointer s) { + var _result = _meos_c.tjsonbseq_from_base_tstzset(jsonb, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseq_from_base_tstzspan(Pointer jsonb, Pointer sp) { + var _result = _meos_c.tjsonbseq_from_base_tstzspan(jsonb, sp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonbseqset_from_base_tstzspanset(Pointer jsonb, Pointer ss) { + var _result = _meos_c.tjsonbseqset_from_base_tstzspanset(jsonb, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_to_ttext(Pointer temp) { + var _result = _meos_c.tjsonb_to_ttext(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ttext_to_tjsonb(Pointer temp) { + var _result = _meos_c.ttext_to_tjsonb(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_end_value(Pointer temp) { + var _result = _meos_c.tjsonb_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_start_value(Pointer temp) { + var _result = _meos_c.tjsonb_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tjsonb_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.tjsonb_value_at_timestamptz(temp, t_new, strict, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.tjsonb_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_values(Pointer temp, Pointer count) { + var _result = _meos_c.tjsonb_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer concat_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert) { + var _result = _meos_c.concat_tjsonb_jsonb(temp, jb, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer concat_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { + var _result = _meos_c.concat_tjsonb_tjsonb(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer contains_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert) { + var _result = _meos_c.contains_tjsonb_jsonb(temp, jb, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer contains_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { + var _result = _meos_c.contains_tjsonb_tjsonb(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int null_handle_type_from_string(String str) { + var _result = _meos_c.null_handle_type_from_string(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjson_array_element(Pointer temp, int idx, int null_handle) { + var _result = _meos_c.tjson_array_element(temp, idx, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjson_array_length(Pointer temp) { + var _result = _meos_c.tjson_array_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjson_extract_path(Pointer temp, Pointer path_elems, int path_len, int null_handle) { + var _result = _meos_c.tjson_extract_path(temp, path_elems, path_len, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjson_object_field(Pointer temp, Pointer key, boolean astext, int null_handle) { + var _result = _meos_c.tjson_object_field(temp, key, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjson_strip_nulls(Pointer temp, boolean strip_in_arrays) { + var _result = _meos_c.tjson_strip_nulls(temp, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_array_element(Pointer temp, int idx, boolean astext, int null_handle) { + var _result = _meos_c.tjsonb_array_element(temp, idx, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_array_length(Pointer temp) { + var _result = _meos_c.tjsonb_array_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_delete(Pointer temp, Pointer key) { + var _result = _meos_c.tjsonb_delete(temp, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_delete_array(Pointer temp, Pointer keys, int count) { + var _result = _meos_c.tjsonb_delete_array(temp, keys, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_delete_index(Pointer temp, int idx) { + var _result = _meos_c.tjsonb_delete_index(temp, idx); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_delete_path(Pointer temp, Pointer path_elems, int path_len) { + var _result = _meos_c.tjsonb_delete_path(temp, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_exists(Pointer temp, Pointer key) { + var _result = _meos_c.tjsonb_exists(temp, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_exists_array(Pointer temp, Pointer keys, int count, boolean any) { + var _result = _meos_c.tjsonb_exists_array(temp, keys, count, any); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_extract_path(Pointer temp, Pointer path_elems, int path_len, boolean astext, int null_handle) { + var _result = _meos_c.tjsonb_extract_path(temp, path_elems, path_len, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_insert(Pointer temp, Pointer keys, int count, Pointer newjb, boolean after) { + var _result = _meos_c.tjsonb_insert(temp, keys, count, newjb, after); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_object_field(Pointer temp, Pointer key, boolean astext, int null_handle) { + var _result = _meos_c.tjsonb_object_field(temp, key, astext, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_path_exists(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.tjsonb_path_exists(temp, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_path_match(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.tjsonb_path_match(temp, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_path_query_array(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.tjsonb_path_query_array(temp, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_path_query_first(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { + var _result = _meos_c.tjsonb_path_query_first(temp, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_pretty(Pointer temp) { + var _result = _meos_c.tjsonb_pretty(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_set(Pointer temp, Pointer keys, int count, Pointer newjb, boolean create, Pointer handle_null, boolean lax) { + var _result = _meos_c.tjsonb_set(temp, keys, count, newjb, create, handle_null, lax); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_strip_nulls(Pointer temp, boolean strip_in_arrays) { + var _result = _meos_c.tjsonb_strip_nulls(temp, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_to_tbool(Pointer temp, String key, int null_handle) { + var _result = _meos_c.tjsonb_to_tbool(temp, key, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_to_tfloat(Pointer temp, String key, int interp, int null_handle) { + var _result = _meos_c.tjsonb_to_tfloat(temp, key, interp, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_to_tint(Pointer temp, String key, int null_handle) { + var _result = _meos_c.tjsonb_to_tint(temp, key, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_to_ttext_key(Pointer temp, String key, int null_handle) { + var _result = _meos_c.tjsonb_to_ttext_key(temp, key, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_at_value(Pointer temp, Pointer jsb) { + var _result = _meos_c.tjsonb_at_value(temp, jsb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_minus_value(Pointer temp, Pointer jsb) { + var _result = _meos_c.tjsonb_minus_value(temp, jsb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_jsonb_tjsonb(Pointer jb, Pointer temp) { + var _result = _meos_c.always_eq_jsonb_tjsonb(jb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tjsonb_jsonb(Pointer temp, Pointer jb) { + var _result = _meos_c.always_eq_tjsonb_jsonb(temp, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_eq_tjsonb_tjsonb(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_jsonb_tjsonb(Pointer jb, Pointer temp) { + var _result = _meos_c.always_ne_jsonb_tjsonb(jb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tjsonb_jsonb(Pointer temp, Pointer jb) { + var _result = _meos_c.always_ne_tjsonb_jsonb(temp, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_ne_tjsonb_tjsonb(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_jsonb_tjsonb(Pointer jb, Pointer temp) { + var _result = _meos_c.ever_eq_jsonb_tjsonb(jb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tjsonb_jsonb(Pointer temp, Pointer jb) { + var _result = _meos_c.ever_eq_tjsonb_jsonb(temp, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_eq_tjsonb_tjsonb(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_jsonb_tjsonb(Pointer jb, Pointer temp) { + var _result = _meos_c.ever_ne_jsonb_tjsonb(jb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tjsonb_jsonb(Pointer temp, Pointer jb) { + var _result = _meos_c.ever_ne_tjsonb_jsonb(temp, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_ne_tjsonb_tjsonb(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_jsonb_tjsonb(Pointer jb, Pointer temp) { + var _result = _meos_c.teq_jsonb_tjsonb(jb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tjsonb_jsonb(Pointer temp, Pointer jb) { + var _result = _meos_c.teq_tjsonb_jsonb(temp, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_jsonb_tjsonb(Pointer jb, Pointer temp) { + var _result = _meos_c.tne_jsonb_tjsonb(jb, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tjsonb_jsonb(Pointer temp, Pointer jb) { + var _result = _meos_c.tne_tjsonb_jsonb(temp, jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer setPath(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int op_type) { + var _result = _meos_c.setPath(it, path_elems, path_nulls, path_len, st, level, newval, op_type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void setPathObject(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int npairs, int op_type) { + _meos_c.setPathObject(it, path_elems, path_nulls, path_len, st, level, newval, npairs, op_type); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void setPathArray(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int nelems, int op_type) { + _meos_c.setPathArray(it, path_elems, path_nulls, path_len, st, level, newval, nelems, op_type); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_concat(Pointer l, Pointer r) { + var _result = _meos_c.datum_jsonb_concat(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_contained(Pointer l, Pointer r) { + var _result = _meos_c.datum_jsonb_contained(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_contains(Pointer l, Pointer r) { + var _result = _meos_c.datum_jsonb_contains(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_delete(Pointer jb, Pointer key) { + var _result = _meos_c.datum_jsonb_delete(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_delete_array(Pointer jb, Pointer array, Pointer count) { + var _result = _meos_c.datum_jsonb_delete_array(jb, array, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_delete_index(Pointer jb, Pointer idx) { + var _result = _meos_c.datum_jsonb_delete_index(jb, idx); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_array_element(Pointer txt, Pointer element) { + var _result = _meos_c.datum_json_array_element(txt, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_array_element(Pointer jb, Pointer element) { + var _result = _meos_c.datum_jsonb_array_element(jb, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_array_element_text(Pointer txt, Pointer element) { + var _result = _meos_c.datum_json_array_element_text(txt, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_array_element_text(Pointer jb, Pointer element) { + var _result = _meos_c.datum_jsonb_array_element_text(jb, element); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_exists(Pointer l, Pointer r) { + var _result = _meos_c.datum_jsonb_exists(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_exists_array(Pointer value, Pointer array, Pointer count, Pointer any) { + var _result = _meos_c.datum_jsonb_exists_array(value, array, count, any); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_array_length(Pointer txt) { + var _result = _meos_c.datum_json_array_length(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_array_length(Pointer txt) { + var _result = _meos_c.datum_jsonb_array_length(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_object_field(Pointer txt, Pointer key) { + var _result = _meos_c.datum_json_object_field(txt, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_object_field(Pointer jb, Pointer key) { + var _result = _meos_c.datum_jsonb_object_field(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_object_field_text(Pointer txt, Pointer key) { + var _result = _meos_c.datum_json_object_field_text(txt, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_object_field_text(Pointer jb, Pointer key) { + var _result = _meos_c.datum_jsonb_object_field_text(jb, key); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_strip_nulls(Pointer txt, Pointer strip_in_arrays) { + var _result = _meos_c.datum_json_strip_nulls(txt, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_strip_nulls(Pointer jb, Pointer strip_in_arrays) { + var _result = _meos_c.datum_jsonb_strip_nulls(jb, strip_in_arrays); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_pretty(Pointer jb) { + var _result = _meos_c.datum_jsonb_pretty(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_extract_path(Pointer txt, Pointer path_elems, Pointer path_len) { + var _result = _meos_c.datum_json_extract_path(txt, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_extract_path(Pointer jb, Pointer path_elems, Pointer path_len) { + var _result = _meos_c.datum_jsonb_extract_path(jb, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_json_extract_path_text(Pointer txt, Pointer path_elems, Pointer path_len) { + var _result = _meos_c.datum_json_extract_path_text(txt, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_extract_path_text(Pointer jb, Pointer path_elems, Pointer path_len) { + var _result = _meos_c.datum_jsonb_extract_path_text(jb, path_elems, path_len); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_set(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create) { + var _result = _meos_c.datum_jsonb_set(jb, keys, count, newjb, create); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_set_lax(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create, Pointer null_handle) { + var _result = _meos_c.datum_jsonb_set_lax(jb, keys, count, newjb, create, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_delete_path(Pointer jb, Pointer keys, Pointer count) { + var _result = _meos_c.datum_jsonb_delete_path(jb, keys, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_insert(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer after) { + var _result = _meos_c.datum_jsonb_insert(jb, keys, count, newjb, after); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { + var _result = _meos_c.datum_jsonb_path_exists(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { + var _result = _meos_c.datum_jsonb_path_match(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { + var _result = _meos_c.datum_jsonb_path_query_array(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { + var _result = _meos_c.datum_jsonb_path_query_first(jb, jp, vars, silent, tz); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_to_text(Pointer jb) { + var _result = _meos_c.datum_jsonb_to_text(jb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_text_to_jsonb(Pointer txt) { + var _result = _meos_c.datum_text_to_jsonb(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_jsonb_to_alphanum(Pointer jb, Pointer key, Pointer temptype, Pointer null_handle) { + var _result = _meos_c.datum_jsonb_to_alphanum(jb, key, temptype, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tjsonb_to_talphanum(Pointer temp, String key, int resbasetype, int interp, int null_handle) { + var _result = _meos_c.tjsonb_to_talphanum(temp, key, resbasetype, interp, null_handle); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbfunc_jsonbset(Pointer s, int func, int intype, int restype) { + var _result = _meos_c.jsonbfunc_jsonbset(s, func, intype, restype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbfunc_jsonbset_jsonb(Pointer s, Pointer jb, Pointer func, boolean invert) { + var _result = _meos_c.jsonbfunc_jsonbset_jsonb(s, jb, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer jsonbfunc_jsonbset_text(Pointer s, Pointer txt, Pointer func) { + var _result = _meos_c.jsonbfunc_jsonbset_text(s, txt, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_in(String str) { + var _result = _meos_c.th3index_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3indexinst_in(String str) { + var _result = _meos_c.th3indexinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3indexseq_in(String str, int interp) { + var _result = _meos_c.th3indexseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3indexseqset_in(String str) { + var _result = _meos_c.th3indexseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_make(long value, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.th3index_make(value, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3indexinst_make(long value, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_c.th3indexinst_make(value, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc) { + var _result = _meos_c.th3indexseq_make(values, times, count, lower_inc, upper_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3indexseqset_make(Pointer sequences, int count) { + var _result = _meos_c.th3indexseqset_make(sequences, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long th3index_start_value(Pointer temp) { + var _result = _meos_c.th3index_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long th3index_end_value(Pointer temp) { + var _result = _meos_c.th3index_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.th3index_value_n(temp, n, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer th3index_values(Pointer temp, Pointer count) { + var _result = _meos_c.th3index_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_c.th3index_value_at_timestamptz(temp, t_new, strict, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tbigint_to_th3index(Pointer temp) { + var _result = _meos_c.tbigint_to_th3index(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_to_tbigint(Pointer temp) { + var _result = _meos_c.th3index_to_tbigint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.ever_eq_h3index_th3index(cell, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.ever_eq_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.ever_ne_h3index_th3index(cell, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.ever_ne_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.always_eq_h3index_th3index(cell, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.always_eq_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.always_ne_h3index_th3index(cell, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.always_ne_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_eq_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.ever_ne_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_eq_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.always_ne_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.teq_h3index_th3index(cell, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.teq_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.teq_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_h3index_th3index(long cell, Pointer temp) { + var _result = _meos_c.tne_h3index_th3index(cell, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_th3index_h3index(Pointer temp, long cell) { + var _result = _meos_c.tne_th3index_h3index(temp, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2) { + var _result = _meos_c.tne_th3index_th3index(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_get_resolution(Pointer temp) { + var _result = _meos_c.th3index_get_resolution(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_get_base_cell_number(Pointer temp) { + var _result = _meos_c.th3index_get_base_cell_number(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_is_valid_cell(Pointer temp) { + var _result = _meos_c.th3index_is_valid_cell(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_is_res_class_iii(Pointer temp) { + var _result = _meos_c.th3index_is_res_class_iii(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_is_pentagon(Pointer temp) { + var _result = _meos_c.th3index_is_pentagon(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_parent(Pointer temp, int resolution) { + var _result = _meos_c.th3index_cell_to_parent(temp, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_parent_next(Pointer temp) { + var _result = _meos_c.th3index_cell_to_parent_next(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_center_child(Pointer temp, int resolution) { + var _result = _meos_c.th3index_cell_to_center_child(temp, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_center_child_next(Pointer temp) { + var _result = _meos_c.th3index_cell_to_center_child_next(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res) { + var _result = _meos_c.th3index_cell_to_child_pos(temp, parent_res); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res) { + var _result = _meos_c.th3index_child_pos_to_cell(child_pos, parent, child_res); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpoint_to_th3index(Pointer temp, int resolution) { + var _result = _meos_c.tgeogpoint_to_th3index(temp, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompoint_to_th3index(Pointer temp, int resolution) { + var _result = _meos_c.tgeompoint_to_th3index(temp, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_to_tgeogpoint(Pointer temp) { + var _result = _meos_c.th3index_to_tgeogpoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_to_tgeompoint(Pointer temp) { + var _result = _meos_c.th3index_to_tgeompoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_boundary(Pointer temp) { + var _result = _meos_c.th3index_cell_to_boundary(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_to_h3index_set(Pointer gs, int resolution) { + var _result = _meos_c.geo_to_h3index_set(gs, resolution); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx) { + var _result = _meos_c.ever_eq_h3indexset_th3index(cells, th3idx); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest) { + var _result = _meos_c.th3index_are_neighbor_cells(origin, dest); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest) { + var _result = _meos_c.th3index_cells_to_directed_edge(origin, dest); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_is_valid_directed_edge(Pointer edge) { + var _result = _meos_c.th3index_is_valid_directed_edge(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_get_directed_edge_origin(Pointer edge) { + var _result = _meos_c.th3index_get_directed_edge_origin(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_get_directed_edge_destination(Pointer edge) { + var _result = _meos_c.th3index_get_directed_edge_destination(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_directed_edge_to_boundary(Pointer edge) { + var _result = _meos_c.th3index_directed_edge_to_boundary(edge); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num) { + var _result = _meos_c.th3index_cell_to_vertex(temp, vertex_num); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_vertex_to_latlng(Pointer temp) { + var _result = _meos_c.th3index_vertex_to_latlng(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_is_valid_vertex(Pointer temp) { + var _result = _meos_c.th3index_is_valid_vertex(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_grid_distance(Pointer origin, Pointer dest) { + var _result = _meos_c.th3index_grid_distance(origin, dest); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell) { + var _result = _meos_c.th3index_cell_to_local_ij(origin, cell); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord) { + var _result = _meos_c.th3index_local_ij_to_cell(origin, coord); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_cell_area(Pointer temp, String unit) { + var _result = _meos_c.th3index_cell_area(temp, unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer th3index_edge_length(Pointer temp, String unit) { + var _result = _meos_c.th3index_edge_length(temp, unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit) { + var _result = _meos_c.tgeogpoint_great_circle_distance(a, b, unit); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer proj_get_context() { + var _result = _meos_c.proj_get_context(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geos_get_context() { + var _result = _meos_c.geos_get_context(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_geo_round(Pointer value, Pointer size) { + var _result = _meos_c.datum_geo_round(value, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer point_round(Pointer gs, int maxdd) { + var _result = _meos_c.point_round(gs, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer result) { + _meos_c.stbox_set(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void gbox_set_stbox(Pointer box, int srid, Pointer result) { + _meos_c.gbox_set_stbox(box, srid, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer geo_set_stbox(Pointer gs) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.geo_set_stbox(gs, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static void geoarr_set_stbox(Pointer values, int count, Pointer result) { + _meos_c.geoarr_set_stbox(values, count, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer spatial_set_stbox(Pointer d, int basetype) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.spatial_set_stbox(d, basetype, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static void spatialset_set_stbox(Pointer set, Pointer result) { + _meos_c.spatialset_set_stbox(set, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void stbox_set_box3d(Pointer box, Pointer result) { + _meos_c.stbox_set_box3d(box, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void stbox_set_gbox(Pointer box, Pointer result) { + _meos_c.stbox_set_gbox(box, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzset_set_stbox(Pointer s, Pointer result) { + _meos_c.tstzset_set_stbox(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzspan_set_stbox(Pointer s, Pointer result) { + _meos_c.tstzspan_set_stbox(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzspanset_set_stbox(Pointer s, Pointer result) { + _meos_c.tstzspanset_set_stbox(s, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void stbox_expand(Pointer box1, Pointer box2) { + _meos_c.stbox_expand(box1, box2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer inter_stbox_stbox(Pointer box1, Pointer box2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_c.inter_stbox_stbox(box1, box2, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_c.tgeogpointinst_from_mfjson(mfjson, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpointinst_in(String str) { + var _result = _meos_c.tgeogpointinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeogpointseq_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpointseq_in(String str, int interp) { + var _result = _meos_c.tgeogpointseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeogpointseqset_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeogpointseqset_in(String str) { + var _result = _meos_c.tgeogpointseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_c.tgeompointinst_from_mfjson(mfjson, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointinst_in(String str) { + var _result = _meos_c.tgeompointinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeompointseq_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointseq_in(String str, int interp) { + var _result = _meos_c.tgeompointseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeompointseqset_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointseqset_in(String str) { + var _result = _meos_c.tgeompointseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_c.tgeographyinst_from_mfjson(mfjson, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeographyinst_in(String str) { + var _result = _meos_c.tgeographyinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeographyseq_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeographyseq_in(String str, int interp) { + var _result = _meos_c.tgeographyseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeographyseqset_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeographyseqset_in(String str) { + var _result = _meos_c.tgeographyseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid) { + var _result = _meos_c.tgeometryinst_from_mfjson(mfjson, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometryinst_in(String str) { + var _result = _meos_c.tgeometryinst_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeometryseq_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometryseq_in(String str, int interp) { + var _result = _meos_c.tgeometryseq_in(str, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp) { + var _result = _meos_c.tgeometryseqset_from_mfjson(mfjson, srid, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeometryseqset_in(String str) { + var _result = _meos_c.tgeometryseqset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tspatial_set_stbox(Pointer temp, Pointer result) { + _meos_c.tspatial_set_stbox(temp, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tspatialseq_set_stbox(Pointer seq, Pointer box) { + _meos_c.tspatialseq_set_stbox(seq, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tspatialseqset_set_stbox(Pointer ss, Pointer box) { + _meos_c.tspatialseqset_set_stbox(ss, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_c.tgeo_restrict_elevation(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { + var _result = _meos_c.tgeo_restrict_geom(temp, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_c.tgeo_restrict_stbox(temp, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc) { + var _result = _meos_c.tgeoinst_restrict_geom(inst, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_c.tgeoinst_restrict_stbox(inst, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc) { + var _result = _meos_c.tgeoseq_restrict_geom(seq, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_c.tgeoseq_restrict_stbox(seq, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc) { + var _result = _meos_c.tgeoseqset_restrict_geom(ss, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_c.tgeoseqset_restrict_stbox(ss, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spatial_srid(Pointer d, int basetype) { + var _result = _meos_c.spatial_srid(d, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spatial_set_srid(Pointer d, int basetype, int srid) { + var _result = _meos_c.spatial_set_srid(d, basetype, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tspatialinst_srid(Pointer inst) { + var _result = _meos_c.tspatialinst_srid(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_azimuth(Pointer seq) { + var _result = _meos_c.tpointseq_azimuth(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_cumulative_length(Pointer seq, double prevlength) { + var _result = _meos_c.tpointseq_cumulative_length(seq, prevlength); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpointseq_is_simple(Pointer seq) { + var _result = _meos_d.tpointseq_is_simple(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tpointseq_length(Pointer seq) { + var _result = _meos_d.tpointseq_length(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union) { + var _result = _meos_d.tpointseq_linear_trajectory(seq, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseq_stboxes(Pointer seq, Pointer count) { + var _result = _meos_d.tgeoseq_stboxes(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count) { + var _result = _meos_d.tgeoseq_split_n_stboxes(seq, max_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseqset_azimuth(Pointer ss) { + var _result = _meos_d.tpointseqset_azimuth(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseqset_cumulative_length(Pointer ss) { + var _result = _meos_d.tpointseqset_cumulative_length(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpointseqset_is_simple(Pointer ss) { + var _result = _meos_d.tpointseqset_is_simple(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tpointseqset_length(Pointer ss) { + var _result = _meos_d.tpointseqset_length(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseqset_stboxes(Pointer ss, Pointer count) { + var _result = _meos_d.tgeoseqset_stboxes(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count) { + var _result = _meos_d.tgeoseqset_split_n_stboxes(ss, max_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeominst_tgeoginst(Pointer inst, boolean oper) { + var _result = _meos_d.tgeominst_tgeoginst(inst, oper); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper) { + var _result = _meos_d.tgeomseq_tgeogseq(seq, oper); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper) { + var _result = _meos_d.tgeomseqset_tgeogseqset(ss, oper); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeom_tgeog(Pointer temp, boolean oper) { + var _result = _meos_d.tgeom_tgeog(temp, oper); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeo_tpoint(Pointer temp, boolean oper) { + var _result = _meos_d.tgeo_tpoint(temp, oper); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tspatialinst_set_srid(Pointer inst, int srid) { + _meos_d.tspatialinst_set_srid(inst, srid); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_make_simple(Pointer seq, Pointer count) { + var _result = _meos_d.tpointseq_make_simple(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tspatialseq_set_srid(Pointer seq, int srid) { + _meos_d.tspatialseq_set_srid(seq, srid); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tpointseqset_make_simple(Pointer ss, Pointer count) { + var _result = _meos_d.tpointseqset_make_simple(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tspatialseqset_set_srid(Pointer ss, int srid) { + _meos_d.tspatialseqset_set_srid(ss, srid); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tpointseq_twcentroid(Pointer seq) { + var _result = _meos_d.tpointseq_twcentroid(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpointseqset_twcentroid(Pointer ss) { + var _result = _meos_d.tpointseqset_twcentroid(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String npoint_as_ewkt(Pointer np, int maxdd) { + var _result = _meos_d.npoint_as_ewkt(np, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String npoint_as_hexwkb(Pointer np, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.npoint_as_hexwkb(np, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String npoint_as_text(Pointer np, int maxdd) { + var _result = _meos_d.npoint_as_text(np, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_as_wkb(Pointer np, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.npoint_as_wkb(np, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_from_hexwkb(String hexwkb) { + var _result = _meos_d.npoint_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_from_wkb(Pointer wkb, long size) { + var _result = _meos_d.npoint_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_in(String str) { + var _result = _meos_d.npoint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String npoint_out(Pointer np, int maxdd) { + var _result = _meos_d.npoint_out(np, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegment_in(String str) { + var _result = _meos_d.nsegment_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String nsegment_out(Pointer ns, int maxdd) { + var _result = _meos_d.nsegment_out(ns, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_make(long rid, double pos) { + var _result = _meos_d.npoint_make(rid, pos); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegment_make(long rid, double pos1, double pos2) { + var _result = _meos_d.nsegment_make(rid, pos1, pos2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geompoint_to_npoint(Pointer gs) { + var _result = _meos_d.geompoint_to_npoint(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geom_to_nsegment(Pointer gs) { + var _result = _meos_d.geom_to_nsegment(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_to_geompoint(Pointer np) { + var _result = _meos_d.npoint_to_geompoint(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_to_nsegment(Pointer np) { + var _result = _meos_d.npoint_to_nsegment(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_to_stbox(Pointer np) { + var _result = _meos_d.npoint_to_stbox(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegment_to_geom(Pointer ns) { + var _result = _meos_d.nsegment_to_geom(ns); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegment_to_stbox(Pointer ns) { + var _result = _meos_d.nsegment_to_stbox(ns); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int npoint_hash(Pointer np) { + var _result = _meos_d.npoint_hash(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int npoint_hash_extended(Pointer np, int seed) { + var _result = _meos_d.npoint_hash_extended(np, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double npoint_position(Pointer np) { + var _result = _meos_d.npoint_position(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long npoint_route(Pointer np) { + var _result = _meos_d.npoint_route(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nsegment_end_position(Pointer ns) { + var _result = _meos_d.nsegment_end_position(ns); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long nsegment_route(Pointer ns) { + var _result = _meos_d.nsegment_route(ns); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nsegment_start_position(Pointer ns) { + var _result = _meos_d.nsegment_start_position(ns); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean route_exists(long rid) { + var _result = _meos_d.route_exists(rid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer route_geom(long rid) { + var _result = _meos_d.route_geom(rid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double route_length(long rid) { + var _result = _meos_d.route_length(rid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_round(Pointer np, int maxdd) { + var _result = _meos_d.npoint_round(np, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegment_round(Pointer ns, int maxdd) { + var _result = _meos_d.nsegment_round(ns, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int get_srid_ways() { + var _result = _meos_d.get_srid_ways(); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int npoint_srid(Pointer np) { + var _result = _meos_d.npoint_srid(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int nsegment_srid(Pointer ns) { + var _result = _meos_d.nsegment_srid(ns); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_timestamptz_to_stbox(Pointer np, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.npoint_timestamptz_to_stbox(np, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s) { + var _result = _meos_d.npoint_tstzspan_to_stbox(np, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int npoint_cmp(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_cmp(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_eq(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_eq(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_ge(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_ge(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_gt(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_gt(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_le(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_le(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_lt(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_lt(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_ne(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_ne(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_same(Pointer np1, Pointer np2) { + var _result = _meos_d.npoint_same(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int nsegment_cmp(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_cmp(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean nsegment_eq(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_eq(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean nsegment_ge(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_ge(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean nsegment_gt(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_gt(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean nsegment_le(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_le(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean nsegment_lt(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_lt(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean nsegment_ne(Pointer ns1, Pointer ns2) { + var _result = _meos_d.nsegment_ne(ns1, ns2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointset_in(String str) { + var _result = _meos_d.npointset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String npointset_out(Pointer s, int maxdd) { + var _result = _meos_d.npointset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointset_make(Pointer values, int count) { + var _result = _meos_d.npointset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_to_set(Pointer np) { + var _result = _meos_d.npoint_to_set(np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointset_end_value(Pointer s) { + var _result = _meos_d.npointset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointset_routes(Pointer s) { + var _result = _meos_d.npointset_routes(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointset_start_value(Pointer s) { + var _result = _meos_d.npointset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.npointset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer npointset_values(Pointer s, Pointer count) { + var _result = _meos_d.npointset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.contained_npoint_set(np, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.contains_set_npoint(s, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.intersection_npoint_set(np, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.intersection_set_npoint(s, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.minus_npoint_set(np, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.minus_set_npoint(s, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_union_transfn(Pointer state, Pointer np) { + var _result = _meos_d.npoint_union_transfn(state, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_npoint_set(Pointer np, Pointer s) { + var _result = _meos_d.union_npoint_set(np, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_npoint(Pointer s, Pointer np) { + var _result = _meos_d.union_set_npoint(s, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_in(String str) { + var _result = _meos_d.tnpoint_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_from_mfjson(String mfjson) { + var _result = _meos_d.tnpoint_from_mfjson(mfjson); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tnpoint_out(Pointer temp, int maxdd) { + var _result = _meos_d.tnpoint_out(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointinst_make(Pointer np, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tnpointinst_make(np, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_from_base_temp(Pointer np, Pointer temp) { + var _result = _meos_d.tnpoint_from_base_temp(np, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_from_base_tstzset(Pointer np, Pointer s) { + var _result = _meos_d.tnpointseq_from_base_tstzset(np, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_from_base_tstzspan(Pointer np, Pointer s, int interp) { + var _result = _meos_d.tnpointseq_from_base_tstzspan(np, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseqset_from_base_tstzspanset(Pointer np, Pointer ss, int interp) { + var _result = _meos_d.tnpointseqset_from_base_tstzspanset(np, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompoint_to_tnpoint(Pointer temp) { + var _result = _meos_d.tgeompoint_to_tnpoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_to_tgeompoint(Pointer temp) { + var _result = _meos_d.tnpoint_to_tgeompoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_cumulative_length(Pointer temp) { + var _result = _meos_d.tnpoint_cumulative_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_end_value(Pointer temp) { + var _result = _meos_d.tnpoint_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnpoint_length(Pointer temp) { + var _result = _meos_d.tnpoint_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_positions(Pointer temp, Pointer count) { + var _result = _meos_d.tnpoint_positions(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tnpoint_route(Pointer temp) { + var _result = _meos_d.tnpoint_route(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_routes(Pointer temp) { + var _result = _meos_d.tnpoint_routes(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_speed(Pointer temp) { + var _result = _meos_d.tnpoint_speed(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_start_value(Pointer temp) { + var _result = _meos_d.tnpoint_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_trajectory(Pointer temp) { + var _result = _meos_d.tnpoint_trajectory(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.tnpoint_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tnpoint_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_values(Pointer temp, Pointer count) { + var _result = _meos_d.tnpoint_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_twcentroid(Pointer temp) { + var _result = _meos_d.tnpoint_twcentroid(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tnpoint_at_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_at_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tnpoint_at_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_at_npointset(Pointer temp, Pointer s) { + var _result = _meos_d.tnpoint_at_npointset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tnpoint_at_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tnpoint_minus_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_minus_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tnpoint_minus_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_minus_npointset(Pointer temp, Pointer s) { + var _result = _meos_d.tnpoint_minus_npointset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tnpoint_minus_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tdistance_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.tdistance_tnpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nad_tnpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.nad_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnpoint_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_tnpoint_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nai_tnpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.nai_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.shortestline_tnpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.shortestline_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp) { + var _result = _meos_d.tnpoint_tcentroid_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.always_eq_npoint_tnpoint(np, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.always_eq_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_eq_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.always_ne_npoint_tnpoint(np, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.always_ne_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_ne_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.ever_eq_npoint_tnpoint(np, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.ever_eq_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_eq_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_npoint_tnpoint(Pointer np, Pointer temp) { + var _result = _meos_d.ever_ne_npoint_tnpoint(np, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.ever_ne_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_ne_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.teq_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.tne_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_hex_in(String str) { + var _result = _meos_d.pcpoint_hex_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pcpoint_hex_out(Pointer pt, int maxdd) { + var _result = _meos_d.pcpoint_hex_out(pt, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_from_hexwkb(String hexwkb) { + var _result = _meos_d.pcpoint_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pcpoint_as_hexwkb(Pointer pt) { + var _result = _meos_d.pcpoint_as_hexwkb(pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_copy(Pointer pt) { + var _result = _meos_d.pcpoint_copy(pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpoint_get_pcid(Pointer pt) { + var _result = _meos_d.pcpoint_get_pcid(pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpoint_hash(Pointer pt) { + var _result = _meos_d.pcpoint_hash(pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpoint_hash_extended(Pointer pt, int seed) { + var _result = _meos_d.pcpoint_hash_extended(pt, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_get_x(Pointer pt, Pointer schema, Pointer out) { + var _result = _meos_d.pcpoint_get_x(pt, schema, out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_get_y(Pointer pt, Pointer schema, Pointer out) { + var _result = _meos_d.pcpoint_get_y(pt, schema, out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_get_z(Pointer pt, Pointer schema, Pointer out) { + var _result = _meos_d.pcpoint_get_z(pt, schema, out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_get_dim(Pointer pt, Pointer schema, String name, Pointer out) { + var _result = _meos_d.pcpoint_get_dim(pt, schema, name, out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_to_tpcbox(Pointer pt, Pointer schema) { + var _result = _meos_d.pcpoint_to_tpcbox(pt, schema); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_pc_schema(int pcid) { + var _result = _meos_d.meos_pc_schema(pcid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_pc_schema_register(int pcid, Pointer schema) { + _meos_d.meos_pc_schema_register(pcid, schema); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void meos_pc_schema_register_xml(int pcid, Pointer schema, String xml_text) { + _meos_d.meos_pc_schema_register_xml(pcid, schema, xml_text); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static String meos_pc_schema_xml(int pcid) { + var _result = _meos_d.meos_pc_schema_xml(pcid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void meos_pc_schema_clear() { + _meos_d.meos_pc_schema_clear(); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int pcpoint_cmp(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_cmp(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_eq(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_eq(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_ne(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_ne(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_lt(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_lt(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_le(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_le(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_gt(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_gt(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_ge(Pointer pt1, Pointer pt2) { + var _result = _meos_d.pcpoint_ge(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_hex_in(String str) { + var _result = _meos_d.pcpatch_hex_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pcpatch_hex_out(Pointer pa, int maxdd) { + var _result = _meos_d.pcpatch_hex_out(pa, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_from_hexwkb(String hexwkb) { + var _result = _meos_d.pcpatch_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pcpatch_as_hexwkb(Pointer pa) { + var _result = _meos_d.pcpatch_as_hexwkb(pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_copy(Pointer pa) { + var _result = _meos_d.pcpatch_copy(pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpatch_get_pcid(Pointer pa) { + var _result = _meos_d.pcpatch_get_pcid(pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpatch_npoints(Pointer pa) { + var _result = _meos_d.pcpatch_npoints(pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpatch_hash(Pointer pa) { + var _result = _meos_d.pcpatch_hash(pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpatch_hash_extended(Pointer pa, int seed) { + var _result = _meos_d.pcpatch_hash_extended(pa, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pcpatch_cmp(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_cmp(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_eq(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_eq(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_ne(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_ne(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_lt(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_lt(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_le(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_le(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_gt(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_gt(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_ge(Pointer pa1, Pointer pa2) { + var _result = _meos_d.pcpatch_ge(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpointset_in(String str) { + var _result = _meos_d.pcpointset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pcpointset_out(Pointer s, int maxdd) { + var _result = _meos_d.pcpointset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpointset_make(Pointer values, int count) { + var _result = _meos_d.pcpointset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_to_set(Pointer pt) { + var _result = _meos_d.pcpoint_to_set(pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpointset_start_value(Pointer s) { + var _result = _meos_d.pcpointset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpointset_end_value(Pointer s) { + var _result = _meos_d.pcpointset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpointset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.pcpointset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer pcpointset_values(Pointer s) { + var _result = _meos_d.pcpointset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_pcpoint(Pointer s, Pointer pt) { + var _result = _meos_d.contains_set_pcpoint(s, pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_pcpoint_set(Pointer pt, Pointer s) { + var _result = _meos_d.contained_pcpoint_set(pt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_pcpoint_set(Pointer pt, Pointer s) { + var _result = _meos_d.intersection_pcpoint_set(pt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_pcpoint(Pointer s, Pointer pt) { + var _result = _meos_d.intersection_set_pcpoint(s, pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_pcpoint_set(Pointer pt, Pointer s) { + var _result = _meos_d.minus_pcpoint_set(pt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_pcpoint(Pointer s, Pointer pt) { + var _result = _meos_d.minus_set_pcpoint(s, pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_pcpoint_set(Pointer pt, Pointer s) { + var _result = _meos_d.union_pcpoint_set(pt, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_pcpoint(Pointer s, Pointer pt) { + var _result = _meos_d.union_set_pcpoint(s, pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_union_transfn(Pointer state, Pointer pt) { + var _result = _meos_d.pcpoint_union_transfn(state, pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatchset_in(String str) { + var _result = _meos_d.pcpatchset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pcpatchset_out(Pointer s, int maxdd) { + var _result = _meos_d.pcpatchset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatchset_make(Pointer values, int count) { + var _result = _meos_d.pcpatchset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_to_set(Pointer pa) { + var _result = _meos_d.pcpatch_to_set(pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatchset_start_value(Pointer s) { + var _result = _meos_d.pcpatchset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatchset_end_value(Pointer s) { + var _result = _meos_d.pcpatchset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatchset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.pcpatchset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer pcpatchset_values(Pointer s) { + var _result = _meos_d.pcpatchset_values(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_pcpatch(Pointer s, Pointer pa) { + var _result = _meos_d.contains_set_pcpatch(s, pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_pcpatch_set(Pointer pa, Pointer s) { + var _result = _meos_d.contained_pcpatch_set(pa, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_pcpatch_set(Pointer pa, Pointer s) { + var _result = _meos_d.intersection_pcpatch_set(pa, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_pcpatch(Pointer s, Pointer pa) { + var _result = _meos_d.intersection_set_pcpatch(s, pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_pcpatch_set(Pointer pa, Pointer s) { + var _result = _meos_d.minus_pcpatch_set(pa, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_pcpatch(Pointer s, Pointer pa) { + var _result = _meos_d.minus_set_pcpatch(s, pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_pcpatch_set(Pointer pa, Pointer s) { + var _result = _meos_d.union_pcpatch_set(pa, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_pcpatch(Pointer s, Pointer pa) { + var _result = _meos_d.union_set_pcpatch(s, pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_union_transfn(Pointer state, Pointer pa) { + var _result = _meos_d.pcpatch_union_transfn(state, pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_in(String str) { + var _result = _meos_d.tpcbox_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tpcbox_out(Pointer box, int maxdd) { + var _result = _meos_d.tpcbox_out(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_make(boolean hasx, boolean hasz, boolean hast, boolean geodetic, int srid, int pcid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer period) { + var _result = _meos_d.tpcbox_make(hasx, hasz, hast, geodetic, srid, pcid, xmin, xmax, ymin, ymax, zmin, zmax, period); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_copy(Pointer box) { + var _result = _meos_d.tpcbox_copy(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_to_tpcbox(Pointer pa, int srid) { + var _result = _meos_d.pcpatch_to_tpcbox(pa, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_hasx(Pointer box) { + var _result = _meos_d.tpcbox_hasx(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_hasz(Pointer box) { + var _result = _meos_d.tpcbox_hasz(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_hast(Pointer box) { + var _result = _meos_d.tpcbox_hast(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_geodetic(Pointer box) { + var _result = _meos_d.tpcbox_geodetic(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_xmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.tpcbox_xmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_xmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.tpcbox_xmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_ymin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.tpcbox_ymin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_ymax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.tpcbox_ymax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_zmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.tpcbox_zmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_zmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.tpcbox_zmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_tmin(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tpcbox_tmin(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_tmax(Pointer box) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tpcbox_tmax(box, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static int tpcbox_srid(Pointer box) { + var _result = _meos_d.tpcbox_srid(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tpcbox_pcid(Pointer box) { + var _result = _meos_d.tpcbox_pcid(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_to_stbox(Pointer box) { + var _result = _meos_d.tpcbox_to_stbox(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tpcbox_expand(Pointer box1, Pointer box2) { + _meos_d.tpcbox_expand(box1, box2); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_round(Pointer box, int maxdd) { + var _result = _meos_d.tpcbox_round(box, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_set_srid(Pointer box, int srid) { + var _result = _meos_d.tpcbox_set_srid(box, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_tpcbox_tpcbox(Pointer box1, Pointer box2, boolean strict) { + var _result = _meos_d.union_tpcbox_tpcbox(box1, box2, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer inter_tpcbox_tpcbox(Pointer box1, Pointer box2) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.inter_tpcbox_tpcbox(box1, box2, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer intersection_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.intersection_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.contains_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.contained_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overlaps_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.same_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.adjacent_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tpcbox_cmp(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_eq(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_eq(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_ne(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_ne(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_lt(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_lt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_le(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_le(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_gt(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_gt(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_ge(Pointer box1, Pointer box2) { + var _result = _meos_d.tpcbox_ge(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.left_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overleft_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overleft_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.right_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overright_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overright_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean below_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.below_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbelow_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overbelow_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean above_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.above_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overabove_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overabove_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean front_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.front_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overfront_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overfront_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean back_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.back_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overback_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overback_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.before_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overbefore_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overbefore_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.after_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overafter_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.overafter_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_pcid_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.ensure_same_pcid_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pose_as_ewkt(Pointer pose, int maxdd) { + var _result = _meos_d.pose_as_ewkt(pose, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pose_as_hexwkb(Pointer pose, byte variant, Pointer size) { + var _result = _meos_d.pose_as_hexwkb(pose, variant, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pose_as_text(Pointer pose, int maxdd) { + var _result = _meos_d.pose_as_text(pose, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_as_wkb(Pointer pose, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.pose_as_wkb(pose, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_from_wkb(Pointer wkb, long size) { + var _result = _meos_d.pose_from_wkb(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_from_hexwkb(String hexwkb) { + var _result = _meos_d.pose_from_hexwkb(hexwkb); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_in(String str) { + var _result = _meos_d.pose_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pose_out(Pointer pose, int maxdd) { + var _result = _meos_d.pose_out(pose, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_from_geopose(String json) { + var _result = _meos_d.pose_from_geopose(json); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pose_as_geopose(Pointer pose, int conformance, int precision) { + var _result = _meos_d.pose_as_geopose(pose, conformance, precision); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_from_geopose(String json) { + var _result = _meos_d.tpose_from_geopose(json); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tpose_as_geopose(Pointer temp, int conformance, int precision) { + var _result = _meos_d.tpose_as_geopose(temp, conformance, precision); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_apply_geo(Pointer pose, Pointer body) { + var _result = _meos_d.pose_apply_geo(pose, body); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_apply_geo(Pointer temp, Pointer body) { + var _result = _meos_d.tpose_apply_geo(temp, body); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_copy(Pointer pose) { + var _result = _meos_d.pose_copy(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_make_2d(double x, double y, double theta, int srid) { + var _result = _meos_d.pose_make_2d(x, y, theta, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid) { + var _result = _meos_d.pose_make_3d(x, y, z, W, X, Y, Z, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_make_point2d(Pointer gs, double theta) { + var _result = _meos_d.pose_make_point2d(gs, theta); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z) { + var _result = _meos_d.pose_make_point3d(gs, W, X, Y, Z); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_to_point(Pointer pose) { + var _result = _meos_d.pose_to_point(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_to_stbox(Pointer pose) { + var _result = _meos_d.pose_to_stbox(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pose_hash(Pointer pose) { + var _result = _meos_d.pose_hash(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pose_hash_extended(Pointer pose, int seed) { + var _result = _meos_d.pose_hash_extended(pose, seed); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_orientation(Pointer pose, Pointer count) { + var _result = _meos_d.pose_orientation(pose, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double pose_rotation(Pointer pose) { + var _result = _meos_d.pose_rotation(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double pose_yaw(Pointer pose) { + var _result = _meos_d.pose_yaw(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double pose_pitch(Pointer pose) { + var _result = _meos_d.pose_pitch(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double pose_roll(Pointer pose) { + var _result = _meos_d.pose_roll(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double pose_angular_distance(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_angular_distance(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_normalise(Pointer pose) { + var _result = _meos_d.pose_normalise(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_round(Pointer pose, int maxdd) { + var _result = _meos_d.pose_round(pose, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer posearr_round(Pointer posearr, int count, int maxdd) { + var _result = _meos_d.posearr_round(posearr, count, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void pose_set_srid(Pointer pose, int srid) { + _meos_d.pose_set_srid(pose, srid); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int pose_srid(Pointer pose) { + var _result = _meos_d.pose_srid(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_transform(Pointer pose, int srid) { + var _result = _meos_d.pose_transform(pose, srid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward) { + var _result = _meos_d.pose_transform_pipeline(pose, pipelinestr, srid, is_forward); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s) { + var _result = _meos_d.pose_tstzspan_to_stbox(pose, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_timestamptz_to_stbox(Pointer pose, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.pose_timestamptz_to_stbox(pose, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_pose_geo(Pointer pose, Pointer gs) { + var _result = _meos_d.distance_pose_geo(pose, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_pose_pose(Pointer pose1, Pointer pose2) { + var _result = _meos_d.distance_pose_pose(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_pose_stbox(Pointer pose, Pointer box) { + var _result = _meos_d.distance_pose_stbox(pose, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int pose_cmp(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_cmp(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_eq(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_eq(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_ge(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_ge(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_gt(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_gt(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_le(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_le(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_lt(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_lt(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_ne(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_ne(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_nsame(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_nsame(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_same(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_same(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer poseset_in(String str) { + var _result = _meos_d.poseset_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String poseset_out(Pointer s, int maxdd) { + var _result = _meos_d.poseset_out(s, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer poseset_make(Pointer values, int count) { + var _result = _meos_d.poseset_make(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_to_set(Pointer pose) { + var _result = _meos_d.pose_to_set(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer poseset_end_value(Pointer s) { + var _result = _meos_d.poseset_end_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer poseset_start_value(Pointer s) { + var _result = _meos_d.poseset_start_value(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer poseset_value_n(Pointer s, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.poseset_value_n(s, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer poseset_values(Pointer s, Pointer count) { + var _result = _meos_d.poseset_values(s, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.contained_pose_set(pose, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.contains_set_pose(s, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.intersection_pose_set(pose, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer intersection_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.intersection_set_pose(s, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.minus_pose_set(pose, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer minus_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.minus_set_pose(s, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_union_transfn(Pointer state, Pointer pose) { + var _result = _meos_d.pose_union_transfn(state, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_pose_set(Pointer pose, Pointer s) { + var _result = _meos_d.union_pose_set(pose, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer union_set_pose(Pointer s, Pointer pose) { + var _result = _meos_d.union_set_pose(s, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_from_mfjson(String str) { + var _result = _meos_d.tpose_from_mfjson(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_in(String str) { + var _result = _meos_d.tpose_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tposeinst_make(Pointer pose, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tposeinst_make(pose, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_from_base_temp(Pointer pose, Pointer temp) { + var _result = _meos_d.tpose_from_base_temp(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tposeseq_from_base_tstzset(Pointer pose, Pointer s) { + var _result = _meos_d.tposeseq_from_base_tstzset(pose, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tposeseq_from_base_tstzspan(Pointer pose, Pointer s, int interp) { + var _result = _meos_d.tposeseq_from_base_tstzspan(pose, s, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tposeseqset_from_base_tstzspanset(Pointer pose, Pointer ss, int interp) { + var _result = _meos_d.tposeseqset_from_base_tstzspanset(pose, ss, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_make(Pointer tpoint, Pointer tradius) { + var _result = _meos_d.tpose_make(tpoint, tradius); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_to_tpoint(Pointer temp) { + var _result = _meos_d.tpose_to_tpoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_end_value(Pointer temp) { + var _result = _meos_d.tpose_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_points(Pointer temp) { + var _result = _meos_d.tpose_points(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_rotation(Pointer temp) { + var _result = _meos_d.tpose_rotation(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_yaw(Pointer temp) { + var _result = _meos_d.tpose_yaw(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_pitch(Pointer temp) { + var _result = _meos_d.tpose_pitch(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_roll(Pointer temp) { + var _result = _meos_d.tpose_roll(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_speed(Pointer temp) { + var _result = _meos_d.tpose_speed(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_angular_speed(Pointer temp) { + var _result = _meos_d.tpose_angular_speed(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_start_value(Pointer temp) { + var _result = _meos_d.tpose_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_trajectory(Pointer temp) { + var _result = _meos_d.tpose_trajectory(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.tpose_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpose_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.tpose_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tpose_values(Pointer temp, Pointer count) { + var _result = _meos_d.tpose_values(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tpose_at_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tpose_at_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_at_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tpose_at_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.tpose_minus_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_minus_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tpose_minus_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.tpose_minus_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tdistance_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.tdistance_tpose_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nad_tpose_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.nad_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tpose_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_tpose_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nai_tpose_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.nai_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.shortestline_tpose_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.shortestline_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.always_eq_pose_tpose(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.always_eq_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_eq_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.always_ne_pose_tpose(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.always_ne_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_ne_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.ever_eq_pose_tpose(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.ever_eq_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_eq_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.ever_ne_pose_tpose(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.ever_ne_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_ne_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.teq_pose_tpose(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.teq_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_pose_tpose(Pointer pose, Pointer temp) { + var _result = _meos_d.tne_pose_tpose(pose, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.tne_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String trgeometry_out(Pointer temp) { + var _result = _meos_d.trgeometry_out(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoinst_make(Pointer geom, Pointer pose, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeoinst_make(geom, pose, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_tpose_to_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.geo_tpose_to_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_to_tpose(Pointer temp) { + var _result = _meos_d.trgeometry_to_tpose(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_to_tpoint(Pointer temp) { + var _result = _meos_d.trgeometry_to_tpoint(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_to_tgeometry(Pointer temp) { + var _result = _meos_d.trgeometry_to_tgeometry(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_end_instant(Pointer temp) { + var _result = _meos_d.trgeometry_end_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_end_sequence(Pointer temp) { + var _result = _meos_d.trgeometry_end_sequence(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_end_value(Pointer temp) { + var _result = _meos_d.trgeometry_end_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_geom(Pointer temp) { + var _result = _meos_d.trgeometry_geom(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_instant_n(Pointer temp, int n) { + var _result = _meos_d.trgeometry_instant_n(temp, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_instants(Pointer temp, Pointer count) { + var _result = _meos_d.trgeometry_instants(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_points(Pointer temp) { + var _result = _meos_d.trgeometry_points(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_rotation(Pointer temp) { + var _result = _meos_d.trgeometry_rotation(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_segments(Pointer temp, Pointer count) { + var _result = _meos_d.trgeometry_segments(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_sequence_n(Pointer temp, int i) { + var _result = _meos_d.trgeometry_sequence_n(temp, i); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_sequences(Pointer temp, Pointer count) { + var _result = _meos_d.trgeometry_sequences(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_start_instant(Pointer temp) { + var _result = _meos_d.trgeometry_start_instant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_start_sequence(Pointer temp) { + var _result = _meos_d.trgeometry_start_sequence(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_start_value(Pointer temp) { + var _result = _meos_d.trgeometry_start_value(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_value_n(Pointer temp, int n) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.trgeometry_value_n(temp, n, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_traversed_area(Pointer temp, boolean unary_union) { + var _result = _meos_d.trgeometry_traversed_area(temp, unary_union); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_centroid(Pointer temp) { + var _result = _meos_d.trgeometry_centroid(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_convex_hull(Pointer temp) { + var _result = _meos_d.trgeometry_convex_hull(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_body_point_trajectory(Pointer temp, Pointer gs) { + var _result = _meos_d.trgeometry_body_point_trajectory(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { + var _result = _meos_d.trgeometry_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.trgeometry_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_stboxes(Pointer temp, Pointer count) { + var _result = _meos_d.trgeometry_stboxes(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_split_n_stboxes(Pointer temp, int box_count, Pointer count) { + var _result = _meos_d.trgeometry_split_n_stboxes(temp, box_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { + var _result = _meos_d.trgeometry_split_each_n_stboxes(temp, elem_count, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double trgeometry_hausdorff_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_d.trgeometry_hausdorff_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double trgeometry_frechet_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_d.trgeometry_frechet_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double trgeometry_dyntimewarp_distance(Pointer temp1, Pointer temp2) { + var _result = _meos_d.trgeometry_dyntimewarp_distance(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { + var _result = _meos_d.trgeometry_frechet_path(temp1, temp2, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { + var _result = _meos_d.trgeometry_dyntimewarp_path(temp1, temp2, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double trgeometry_length(Pointer temp) { + var _result = _meos_d.trgeometry_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_cumulative_length(Pointer temp) { + var _result = _meos_d.trgeometry_cumulative_length(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_speed(Pointer temp) { + var _result = _meos_d.trgeometry_speed(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_twcentroid(Pointer temp) { + var _result = _meos_d.trgeometry_twcentroid(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { + var _result = _meos_d.trgeometry_append_tinstant(temp, inst, interp, maxdist, maxt, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_append_tsequence(Pointer temp, Pointer seq, boolean expand) { + var _result = _meos_d.trgeometry_append_tsequence(temp, seq, expand); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeometry_delete_timestamptz(temp, t_new, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_delete_tstzset(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_d.trgeometry_delete_tstzset(temp, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { + var _result = _meos_d.trgeometry_delete_tstzspan(temp, s, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { + var _result = _meos_d.trgeometry_delete_tstzspanset(temp, ss, connect); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_round(Pointer temp, int maxdd) { + var _result = _meos_d.trgeometry_round(temp, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_set_interp(Pointer temp, int interp) { + var _result = _meos_d.trgeometry_set_interp(temp, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_to_tinstant(Pointer temp) { + var _result = _meos_d.trgeometry_to_tinstant(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeometry_after_timestamptz(temp, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeometry_before_timestamptz(temp, t_new, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_restrict_values(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.trgeometry_restrict_values(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeometry_restrict_timestamptz(temp, t_new, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.trgeometry_restrict_tstzset(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.trgeometry_restrict_tstzspan(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { + var _result = _meos_d.trgeometry_restrict_tstzspanset(temp, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_at_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.trgeometry_at_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_minus_geom(Pointer temp, Pointer gs) { + var _result = _meos_d.trgeometry_minus_geom(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_at_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.trgeometry_at_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { + var _result = _meos_d.trgeometry_minus_stbox(temp, box, border_inc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.tdistance_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_trgeometry_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_trgeometry_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdistance_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.tdistance_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_stbox_trgeometry(Pointer box, Pointer temp) { + var _result = _meos_d.nad_stbox_trgeometry(box, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nad_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_trgeometry_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_trgeometry_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_trgeometry_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_trgeometry_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.nai_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_trgeometry_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_trgeometry_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nai_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nai_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.shortestline_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_trgeometry_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_trgeometry_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer shortestline_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.shortestline_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_geo_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.always_eq_geo_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.always_eq_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_eq_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_geo_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.always_ne_geo_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.always_ne_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int always_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.always_ne_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_geo_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.ever_eq_geo_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ever_eq_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_eq_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_geo_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.ever_ne_geo_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ever_ne_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ever_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ever_ne_trgeometry_trgeometry(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_geo_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.teq_geo_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer teq_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.teq_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_geo_trgeometry(Pointer gs, Pointer temp) { + var _result = _meos_d.tne_geo_trgeometry(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tne_trgeometry_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.tne_trgeometry_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int econtains_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.econtains_geo_trgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acontains_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.acontains_geo_trgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.ecovers_geo_trgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_geo_trgeo(Pointer gs, Pointer temp) { + var _result = _meos_d.acovers_geo_trgeo(gs, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ecovers_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ecovers_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int acovers_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.acovers_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edisjoint_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.edisjoint_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.adisjoint_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.eintersects_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.aintersects_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int etouches_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.etouches_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int atouches_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.atouches_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_trgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_d.edwithin_trgeo_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_trgeo_geo(Pointer temp, Pointer gs, double dist) { + var _result = _meos_d.adwithin_trgeo_geo(temp, gs, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.edisjoint_trgeo_trgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.adisjoint_trgeo_trgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eintersects_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.eintersects_trgeo_trgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int aintersects_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.aintersects_trgeo_trgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int edwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_d.edwithin_trgeo_trgeo(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int adwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist) { + var _result = _meos_d.adwithin_trgeo_trgeo(temp1, temp2, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.ensure_valid_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnpoint_npointset(Pointer temp, Pointer s) { + var _result = _meos_d.ensure_valid_tnpoint_npointset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnpoint_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ensure_valid_tnpoint_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnpoint_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.ensure_valid_tnpoint_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ensure_valid_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tnpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tnpointsegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean common_rid_tnpoint_npoint(Pointer temp, Pointer np) { + var _result = _meos_d.common_rid_tnpoint_npoint(temp, np); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean common_rid_tnpoint_npointset(Pointer temp, Pointer s) { + var _result = _meos_d.common_rid_tnpoint_npointset(temp, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean common_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.common_rid_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_collinear(Pointer np1, Pointer np2, Pointer np3, double ratio) { + var _result = _meos_d.npoint_collinear(np1, np2, np3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointsegm_interpolate(Pointer start, Pointer end, Pointer ratio) { + var _result = _meos_d.npointsegm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointsegm_locate(Pointer start, Pointer end, Pointer value) { + var _result = _meos_d.npointsegm_locate(start, end, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npointarr_geom(Pointer points, int count) { + var _result = _meos_d.npointarr_geom(points, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegmentarr_geom(Pointer segments, int count) { + var _result = _meos_d.nsegmentarr_geom(segments, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegmentarr_normalize(Pointer segments, Pointer count) { + var _result = _meos_d.nsegmentarr_normalize(segments, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String npoint_wkt_out(Pointer value, int maxdd) { + var _result = _meos_d.npoint_wkt_out(value, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void npoint_set(long rid, double pos, Pointer np) { + _meos_d.npoint_set(rid, pos, np); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void nsegment_set(long rid, double pos1, double pos2, Pointer ns) { + _meos_d.nsegment_set(rid, pos1, pos2, ns); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer datum_npoint_round(Pointer npoint, Pointer size) { + var _result = _meos_d.datum_npoint_round(npoint, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointinst_tgeompointinst(Pointer inst) { + var _result = _meos_d.tnpointinst_tgeompointinst(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_tgeompointseq_disc(Pointer is) { + var _result = _meos_d.tnpointseq_tgeompointseq_disc(is); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_tgeompointseq_cont(Pointer seq) { + var _result = _meos_d.tnpointseq_tgeompointseq_cont(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseqset_tgeompointseqset(Pointer ss) { + var _result = _meos_d.tnpointseqset_tgeompointseqset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointinst_tnpointinst(Pointer inst) { + var _result = _meos_d.tgeompointinst_tnpointinst(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointseq_tnpointseq(Pointer seq) { + var _result = _meos_d.tgeompointseq_tnpointseq(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tgeompointseqset_tnpointseqset(Pointer ss) { + var _result = _meos_d.tgeompointseqset_tnpointseqset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointinst_positions(Pointer inst) { + var _result = _meos_d.tnpointinst_positions(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_positions(Pointer seq, Pointer count) { + var _result = _meos_d.tnpointseq_positions(seq, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseqset_positions(Pointer ss, Pointer count) { + var _result = _meos_d.tnpointseqset_positions(ss, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long tnpointinst_route(Pointer inst) { + var _result = _meos_d.tnpointinst_route(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointinst_routes(Pointer inst) { + var _result = _meos_d.tnpointinst_routes(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_disc_routes(Pointer is) { + var _result = _meos_d.tnpointseq_disc_routes(is); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_cont_routes(Pointer seq) { + var _result = _meos_d.tnpointseq_cont_routes(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseqset_routes(Pointer ss) { + var _result = _meos_d.tnpointseqset_routes(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpointseq_linear_positions(Pointer seq) { + var _result = _meos_d.tnpointseq_linear_positions(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.tnpoint_restrict_stbox(temp, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_restrict_npoint(Pointer temp, Pointer np, boolean atfunc) { + var _result = _meos_d.tnpoint_restrict_npoint(temp, np, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_restrict_npointset(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.tnpoint_restrict_npointset(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_set_stbox(Pointer np, Pointer box) { + var _result = _meos_d.npoint_set_stbox(np, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void npointarr_set_stbox(Pointer values, int count, Pointer box) { + _meos_d.npointarr_set_stbox(values, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean nsegment_set_stbox(Pointer ns, Pointer box) { + var _result = _meos_d.nsegment_set_stbox(ns, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_timestamptz_set_stbox(Pointer np, OffsetDateTime t, Pointer box) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.npoint_timestamptz_set_stbox(np, t_new, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean npoint_tstzspan_set_stbox(Pointer np, Pointer s, Pointer box) { + var _result = _meos_d.npoint_tstzspan_set_stbox(np, s, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tnpointinst_set_stbox(Pointer inst, Pointer box) { + _meos_d.tnpointinst_set_stbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tnpointinstarr_set_stbox(Pointer inst, int count, int interp, Pointer box) { + _meos_d.tnpointinstarr_set_stbox(inst, count, interp, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tnpointseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_d.tnpointseq_expand_stbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer datum_npoint_distance(Pointer np1, Pointer np2) { + var _result = _meos_d.datum_npoint_distance(np1, np2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer npoint_parse(Pointer str, boolean end) { + var _result = _meos_d.npoint_parse(str, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer nsegment_parse(Pointer str) { + var _result = _meos_d.nsegment_parse(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_rid_tnpoint_bigint(Pointer temp, long rid, int invert) { + var _result = _meos_d.contains_rid_tnpoint_bigint(temp, rid, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_rid_tnpoint_bigint(Pointer temp, long rid, boolean invert) { + var _result = _meos_d.contained_rid_tnpoint_bigint(temp, rid, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_rid_tnpoint_bigint(Pointer temp, long rid, int invert) { + var _result = _meos_d.same_rid_tnpoint_bigint(temp, rid, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert) { + var _result = _meos_d.overlaps_rid_tnpoint_bigintset(temp, s, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert) { + var _result = _meos_d.contains_rid_tnpoint_bigintset(temp, s, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert) { + var _result = _meos_d.contained_rid_tnpoint_bigintset(temp, s, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert) { + var _result = _meos_d.same_rid_tnpoint_bigintset(temp, s, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert) { + var _result = _meos_d.contains_rid_tnpoint_npoint(temp, np, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_rid_npoint_tnpoint(Pointer temp, Pointer np, boolean invert) { + var _result = _meos_d.contained_rid_npoint_tnpoint(temp, np, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert) { + var _result = _meos_d.same_rid_tnpoint_npoint(temp, np, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlaps_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.overlaps_rid_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contains_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.contains_rid_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contained_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.contained_rid_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean same_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.same_rid_tnpoint_tnpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_rid_tnpointinst(Pointer inst1, Pointer inst2) { + var _result = _meos_d.ensure_same_rid_tnpointinst(inst1, inst2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnpoint_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { + var _result = _meos_d.tnpoint_restrict_geom(temp, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int meos_pc_schema_get_srid(int pcid) { + var _result = _meos_d.meos_pc_schema_get_srid(pcid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_pcid_pcpatch(Pointer pa1, Pointer pa2) { + var _result = _meos_d.ensure_same_pcid_pcpatch(pa1, pa2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_pcpatchset_pcpatch(Pointer s, Pointer pa) { + var _result = _meos_d.ensure_valid_pcpatchset_pcpatch(s, pa); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_parse(Pointer str, boolean end) { + var _result = _meos_d.pcpatch_parse(str, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpatch_filter_per_point(Pointer pa, int pred, Pointer extra, boolean keep_when_true) { + var _result = _meos_d.pcpatch_filter_per_point(pa, pred, extra, keep_when_true); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpatch_any_point_matches(Pointer pa, int pred, Pointer extra) { + var _result = _meos_d.pcpatch_any_point_matches(pa, pred, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_in_tpcbox(Pointer pt, Pointer extra) { + var _result = _meos_d.pcpoint_in_tpcbox(pt, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pcpoint_intersects_geometry(Pointer pt, Pointer extra) { + var _result = _meos_d.pcpoint_intersects_geometry(pt, extra); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_pcid_pcpoint(Pointer pt1, Pointer pt2) { + var _result = _meos_d.ensure_same_pcid_pcpoint(pt1, pt2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_pcpointset_pcpoint(Pointer s, Pointer pt) { + var _result = _meos_d.ensure_valid_pcpointset_pcpoint(s, pt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pcpoint_parse(Pointer str, boolean end) { + var _result = _meos_d.pcpoint_parse(str, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_pc_point_serialize(Pointer pcpt) { + var _result = _meos_d.meos_pc_point_serialize(pcpt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_pc_point_deserialize(Pointer serpt, Pointer schema) { + var _result = _meos_d.meos_pc_point_deserialize(serpt, schema); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long meos_pc_patch_serialized_size(Pointer patch) { + var _result = _meos_d.meos_pc_patch_serialized_size(patch); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_pc_patch_serialize(Pointer patch_in, Pointer userdata) { + var _result = _meos_d.meos_pc_patch_serialize(patch_in, userdata); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_pc_patch_serialize_to_uncompressed(Pointer patch_in) { + var _result = _meos_d.meos_pc_patch_serialize_to_uncompressed(patch_in); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer meos_pc_patch_deserialize(Pointer serpatch, Pointer schema) { + var _result = _meos_d.meos_pc_patch_deserialize(serpatch, schema); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tpointcloudinst_set_tpcbox(Pointer inst, Pointer box) { + _meos_d.tpointcloudinst_set_tpcbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tpointcloudinstarr_set_tpcbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box) { + _meos_d.tpointcloudinstarr_set_tpcbox(instants, count, lower_inc, upper_inc, interp, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tpointcloudseq_expand_tpcbox(Pointer seq, Pointer inst) { + _meos_d.tpointcloudseq_expand_tpcbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tpointcloudseqarr_set_tpcbox(Pointer sequences, int count, Pointer box) { + _meos_d.tpointcloudseqarr_set_tpcbox(sequences, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tpcbox_extent_transfn(Pointer state, Pointer temp) { + var _result = _meos_d.tpcbox_extent_transfn(state, temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_tpointcloud_tpcbox(Pointer temp, Pointer box, Pointer func, boolean inverted) { + var _result = _meos_d.boxop_tpointcloud_tpcbox(temp, box, func, inverted); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2, Pointer func) { + var _result = _meos_d.boxop_tpointcloud_tpointcloud(temp1, temp2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tpcbox_set_stbox(Pointer src, Pointer dst) { + _meos_d.tpcbox_set_stbox(src, dst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static double nad_tpcbox_tpcbox(Pointer box1, Pointer box2) { + var _result = _meos_d.nad_tpcbox_tpcbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tpointcloud_tpcbox(Pointer temp, Pointer box) { + var _result = _meos_d.nad_tpointcloud_tpcbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double nad_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2) { + var _result = _meos_d.nad_tpointcloud_tpointcloud(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_index_leaf_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_d.tpcbox_index_leaf_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_gist_inner_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_d.tpcbox_gist_inner_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tpcbox_index_recheck(int strategy) { + var _result = _meos_d.tpcbox_index_recheck(strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_pose_geo(Pointer pose, Pointer gs) { + var _result = _meos_d.ensure_valid_pose_geo(pose, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_pose_stbox(Pointer pose, Pointer box) { + var _result = _meos_d.ensure_valid_pose_stbox(pose, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_pose_pose(Pointer pose1, Pointer pose2) { + var _result = _meos_d.ensure_valid_pose_pose(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_poseset_pose(Pointer s, Pointer pose) { + var _result = _meos_d.ensure_valid_poseset_pose(s, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_collinear(Pointer pose1, Pointer pose2, Pointer pose3, double ratio) { + var _result = _meos_d.pose_collinear(pose1, pose2, pose3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer posesegm_interpolate(Pointer start, Pointer end, double ratio) { + var _result = _meos_d.posesegm_interpolate(start, end, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer posesegm_locate(Pointer start, Pointer end, Pointer value) { + var _result = _meos_d.posesegm_locate(start, end, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String pose_wkt_out(Pointer pose, boolean extended, int maxdd) { + var _result = _meos_d.pose_wkt_out(pose, extended, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_parse(Pointer str, boolean end) { + var _result = _meos_d.pose_parse(str, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_point(Pointer pose) { + var _result = _meos_d.datum_pose_point(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_rotation(Pointer pose) { + var _result = _meos_d.datum_pose_rotation(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_yaw(Pointer pose) { + var _result = _meos_d.datum_pose_yaw(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_pitch(Pointer pose) { + var _result = _meos_d.datum_pose_pitch(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_roll(Pointer pose) { + var _result = _meos_d.datum_pose_roll(pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_apply_geo(Pointer pose, Pointer body) { + var _result = _meos_d.datum_pose_apply_geo(pose, body); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_pose_round(Pointer pose, Pointer size) { + var _result = _meos_d.datum_pose_round(pose, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer pose_distance(Pointer pose1, Pointer pose2) { + var _result = _meos_d.pose_distance(pose1, pose2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_set_stbox(Pointer pose, Pointer box) { + var _result = _meos_d.pose_set_stbox(pose, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void posearr_set_stbox(Pointer values, int count, Pointer box) { + _meos_d.posearr_set_stbox(values, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean pose_timestamptz_set_stbox(Pointer pose, OffsetDateTime t, Pointer box) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.pose_timestamptz_set_stbox(pose, t_new, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean pose_tstzspan_set_stbox(Pointer pose, Pointer p, Pointer box) { + var _result = _meos_d.pose_tstzspan_set_stbox(pose, p, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tpose_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ensure_valid_tpose_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tpose_pose(Pointer temp, Pointer pose) { + var _result = _meos_d.ensure_valid_tpose_pose(temp, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tpose_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.ensure_valid_tpose_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tpose_tpose(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ensure_valid_tpose_tpose(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tposesegm_intersection_value(Pointer start, Pointer end, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tposesegm_intersection_value(start, end, value, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tposesegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tposesegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tposeinst_set_stbox(Pointer inst, Pointer box) { + _meos_d.tposeinst_set_stbox(inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tposeinstarr_set_stbox(Pointer instants, int count, Pointer box) { + _meos_d.tposeinstarr_set_stbox(instants, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tposeseq_expand_stbox(Pointer seq, Pointer inst) { + _meos_d.tposeseq_expand_stbox(seq, inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tpose_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { + var _result = _meos_d.tpose_restrict_geom(temp, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.tpose_restrict_stbox(temp, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tpose_restrict_elevation(Pointer temp, Pointer s, boolean atfunc) { + var _result = _meos_d.tpose_restrict_elevation(temp, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int geo_get_srid(Pointer g) { + var _result = _meos_d.geo_get_srid(g); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer cstring_to_text(String str) { + var _result = _meos_d.cstring_to_text(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String text_to_cstring(Pointer txt) { + var _result = _meos_d.text_to_cstring(txt); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int date_in(String str) { + var _result = _meos_d.date_in(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String date_out(int date) { + var _result = _meos_d.date_out(date); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int interval_cmp(Pointer interv1, Pointer interv2) { + var _result = _meos_d.interval_cmp(interv1, interv2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer interval_in(String str, int typmod) { + var _result = _meos_d.interval_in(str, typmod); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) { + var _result = _meos_d.interval_make(years, months, weeks, days, hours, mins, secs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String interval_out(Pointer interv) { + var _result = _meos_d.interval_out(interv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer time_in(String str, int typmod) { + var _result = _meos_d.time_in(str, typmod); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String time_out(Pointer time) { + var _result = _meos_d.time_out(time); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static LocalDateTime timestamp_in(String str, int typmod) { + var _result = _meos_d.timestamp_in(str, typmod); + MeosErrorHandler.checkError(); + return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static String timestamp_out(LocalDateTime ts) { + var ts_new = ts.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); + var _result = _meos_d.timestamp_out(ts_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_in(String str, int typmod) { + var _result = _meos_d.timestamptz_in(str, typmod); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static String timestamptz_out(OffsetDateTime tstz) { + var tstz_new = tstz.toEpochSecond(); + var _result = _meos_d.timestamptz_out(tstz_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_has_geom(short flags) { + var _result = _meos_d.ensure_has_geom(flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_trgeo_geo(Pointer temp, Pointer gs) { + var _result = _meos_d.ensure_valid_trgeo_geo(temp, gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_trgeo_stbox(Pointer temp, Pointer box) { + var _result = _meos_d.ensure_valid_trgeo_stbox(temp, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_trgeo_trgeo(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ensure_valid_trgeo_trgeo(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_trgeo_tpoint(Pointer temp1, Pointer temp2) { + var _result = _meos_d.ensure_valid_trgeo_tpoint(temp1, temp2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_geom_p(Pointer temp) { + var _result = _meos_d.trgeo_geom_p(temp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String trgeo_wkt_out(Pointer temp, int maxdd, boolean extended) { + var _result = _meos_d.trgeo_wkt_out(temp, maxdd, extended); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_tposeinst_to_trgeo(Pointer gs, Pointer inst) { + var _result = _meos_d.geo_tposeinst_to_trgeo(gs, inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_tposeseq_to_trgeo(Pointer gs, Pointer seq) { + var _result = _meos_d.geo_tposeseq_to_trgeo(gs, seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer geo_tposeseqset_to_trgeo(Pointer gs, Pointer ss) { + var _result = _meos_d.geo_tposeseqset_to_trgeo(gs, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.trgeo_value_at_timestamptz(temp, t_new, strict, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer trgeometry_restrict_value(Pointer temp, Pointer value, boolean atfunc) { + var _result = _meos_d.trgeometry_restrict_value(temp, value, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoinst_geom_p(Pointer inst) { + var _result = _meos_d.trgeoinst_geom_p(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long trgeoinst_pose_varsize(Pointer inst) { + var _result = _meos_d.trgeoinst_pose_varsize(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void trgeoinst_set_pose(Pointer inst) { + _meos_d.trgeoinst_set_pose(inst); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer trgeoinst_tposeinst(Pointer inst) { + var _result = _meos_d.trgeoinst_tposeinst(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoinst_make1(Pointer geom, Pointer pose, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.trgeoinst_make1(geom, pose, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_to_tinstant(Pointer seq) { + var _result = _meos_d.trgeoseq_to_tinstant(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_to_tinstant(Pointer ts) { + var _result = _meos_d.trgeoseqset_to_tinstant(ts); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_geom(temp, gs, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { + var _result = _meos_d.trgeo_restrict_stbox(temp, box, border_inc, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int spatialrel_trgeo_trav_geo(Pointer temp, Pointer gs, Pointer param, Pointer func, int numparam, boolean invert) { + var _result = _meos_d.spatialrel_trgeo_trav_geo(temp, gs, param, func, numparam, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_d.ea_contains_geo_trgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_d.ea_contains_trgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_contains_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_d.ea_contains_trgeo_trgeo(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_d.ea_covers_geo_trgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_d.ea_covers_trgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_covers_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_d.ea_covers_trgeo_trgeo(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_d.ea_disjoint_geo_trgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_d.ea_disjoint_trgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_disjoint_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_d.ea_disjoint_trgeo_trgeo(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_d.ea_intersects_geo_trgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_d.ea_intersects_trgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_intersects_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_d.ea_intersects_trgeo_trgeo(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { + var _result = _meos_d.ea_touches_geo_trgeo(gs, temp, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { + var _result = _meos_d.ea_touches_trgeo_geo(temp, gs, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_touches_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { + var _result = _meos_d.ea_touches_trgeo_trgeo(temp1, temp2, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_dwithin_trgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever) { + var _result = _meos_d.ea_dwithin_trgeo_geo(temp, gs, dist, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int ea_dwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist, boolean ever) { + var _result = _meos_d.ea_dwithin_trgeo_trgeo(temp1, temp2, dist, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_geom_p(Pointer seq) { + var _result = _meos_d.trgeoseq_geom_p(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long trgeoseq_pose_varsize(Pointer seq) { + var _result = _meos_d.trgeoseq_pose_varsize(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void trgeoseq_set_pose(Pointer seq) { + _meos_d.trgeoseq_set_pose(seq); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_tposeseq(Pointer seq) { + var _result = _meos_d.trgeoseq_tposeseq(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean trgeoseq_make_valid(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, boolean linear) { + var _result = _meos_d.trgeoseq_make_valid(geom, instants, count, lower_inc, upper_inc, linear); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_make1_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.trgeoseq_make1_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_make1(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.trgeoseq_make1(geom, instants, count, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_make_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.trgeoseq_make_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_make(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.trgeoseq_make(geom, instants, count, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_make_free_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.trgeoseq_make_free_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseq_make_free(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { + var _result = _meos_d.trgeoseq_make_free(geom, instants, count, lower_inc, upper_inc, interp, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoinst_to_tsequence(Pointer inst, int interp) { + var _result = _meos_d.trgeoinst_to_tsequence(inst, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_geom_p(Pointer ts) { + var _result = _meos_d.trgeoseqset_geom_p(ts); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_tposeseqset(Pointer ss) { + var _result = _meos_d.trgeoseqset_tposeseqset(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_make1_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize) { + var _result = _meos_d.trgeoseqset_make1_exp(geom, sequences, count, maxcount, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_make_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize) { + var _result = _meos_d.trgeoseqset_make_exp(geom, sequences, count, maxcount, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_make(Pointer geom, Pointer sequences, int count, boolean normalize) { + var _result = _meos_d.trgeoseqset_make(geom, sequences, count, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_make_free(Pointer geom, Pointer sequences, int count, boolean normalize) { + var _result = _meos_d.trgeoseqset_make_free(geom, sequences, count, normalize); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_make_gaps(Pointer geom, Pointer instants, int count, int interp, Pointer maxt, double maxdist) { + var _result = _meos_d.trgeoseqset_make_gaps(geom, instants, count, interp, maxt, maxdist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeoseqset_to_tsequence(Pointer ss) { + var _result = _meos_d.trgeoseqset_to_tsequence(ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_to_tsequence(Pointer temp, String interp_str) { + var _result = _meos_d.trgeo_to_tsequence(temp, interp_str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_to_tsequenceset(Pointer temp, String interp_str) { + var _result = _meos_d.trgeo_to_tsequenceset(temp, interp_str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void trgeoinst_set_stbox(Pointer geom, Pointer inst, Pointer box) { + _meos_d.trgeoinst_set_stbox(geom, inst, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void trgeoinstarr_static_stbox(Pointer geom, Pointer instants, int count, Pointer box) { + _meos_d.trgeoinstarr_static_stbox(geom, instants, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void trgeoinstarr_rotating_stbox(Pointer geom, Pointer instants, int count, Pointer box) { + _meos_d.trgeoinstarr_rotating_stbox(geom, instants, count, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void trgeoinstarr_compute_bbox(Pointer geom, Pointer instants, int count, int interp, Pointer box) { + _meos_d.trgeoinstarr_compute_bbox(geom, instants, count, interp, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean ensure_span_isof_type(Pointer s, int spantype) { + var _result = _meos_d.ensure_span_isof_type(s, spantype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_span_isof_basetype(Pointer s, int basetype) { + var _result = _meos_d.ensure_span_isof_basetype(s, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_span_type(Pointer s1, Pointer s2) { + var _result = _meos_d.ensure_same_span_type(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_span_span(Pointer s1, Pointer s2) { + var _result = _meos_d.ensure_valid_span_span(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void span_deserialize(Pointer s, Pointer lower, Pointer upper) { + _meos_d.span_deserialize(s, lower, upper); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int span_bound_cmp(Pointer b1, Pointer b2) { + var _result = _meos_d.span_bound_cmp(b1, b2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_bound_qsort_cmp(Pointer s1, Pointer s2) { + var _result = _meos_d.span_bound_qsort_cmp(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_lower_cmp(Pointer s1, Pointer s2) { + var _result = _meos_d.span_lower_cmp(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_upper_cmp(Pointer s1, Pointer s2) { + var _result = _meos_d.span_upper_cmp(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_decr_bound(Pointer upper, int basetype) { + var _result = _meos_d.span_decr_bound(upper, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_incr_bound(Pointer upper, int basetype) { + var _result = _meos_d.span_incr_bound(upper, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanarr_normalize(Pointer spans, int count, boolean sort, Pointer newcount) { + var _result = _meos_d.spanarr_normalize(spans, count, sort, newcount); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void span_bounds_shift_scale_value(Pointer shift, Pointer width, int type, boolean hasshift, boolean haswidth, Pointer lower, Pointer upper) { + _meos_d.span_bounds_shift_scale_value(shift, width, type, hasshift, haswidth, lower, upper); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void span_bounds_shift_scale_time(Pointer shift, Pointer duration, Pointer lower, Pointer upper) { + _meos_d.span_bounds_shift_scale_time(shift, duration, lower, upper); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void floatspan_floor_ceil_iter(Pointer s, int func) { + _meos_d.floatspan_floor_ceil_iter(s, func); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void numspan_delta_scale_iter(Pointer s, Pointer origin, Pointer delta, boolean hasdelta, double scale) { + _meos_d.numspan_delta_scale_iter(s, origin, delta, hasdelta, scale); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzspan_delta_scale_iter(Pointer s, OffsetDateTime origin, OffsetDateTime delta, double scale) { + var origin_new = origin.toEpochSecond(); + var delta_new = delta.toEpochSecond(); + _meos_d.tstzspan_delta_scale_iter(s, origin_new, delta_new, scale); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void numspan_shift_scale_iter(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth, Pointer delta, Pointer scale) { + _meos_d.numspan_shift_scale_iter(s, shift, width, hasshift, haswidth, delta, scale); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzspan_shift_scale1(Pointer s, Pointer shift, Pointer duration, Pointer delta, Pointer scale) { + _meos_d.tstzspan_shift_scale1(s, shift, duration, delta, scale); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int mi_span_value(Pointer s, Pointer value, Pointer result) { + var _result = _meos_d.mi_span_value(s, value, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double dist_double_value_value(Pointer l, Pointer r, int type) { + var _result = _meos_d.dist_double_value_value(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_polygon(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer pa, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_polygon(a1, b1, a2, b2, pa, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_lwpoly(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer poly, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_lwpoly(a1, b1, a2, b2, poly, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_box(Pointer a1, Pointer b1, Pointer a2, Pointer b2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_box(a1, b1, a2, b2, xmin, ymin, xmax, ymax, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_polygon_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer pa, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_polygon_posed(p_a_local, p_b_local, pose1, pose2, pa, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_lwpoly_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer poly, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_lwpoly_posed(p_a_local, p_b_local, pose1, pose2, poly, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_box_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_box_posed(p_a_local, p_b_local, pose1, pose2, xmin, ymin, xmax, ymax, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_lwgeom(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer geom, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_lwgeom(a1, b1, a2, b2, geom, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int trgeo_geom_clip_lwgeom_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer geom, Pointer intervals_out) { + var _result = _meos_d.trgeo_geom_clip_lwgeom_posed(p_a_local, p_b_local, pose1, pose2, geom, intervals_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer trgeo_parse(Pointer str, int temptype) { + var _result = _meos_d.trgeo_parse(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_geom(Pointer gs1, Pointer gs2) { + var _result = _meos_d.ensure_same_geom(gs1, gs2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void lwgeom_apply_pose(Pointer pose, Pointer geom) { + _meos_d.lwgeom_apply_pose(pose, geom); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer geom_apply_pose(Pointer gs, Pointer pose) { + var _result = _meos_d.geom_apply_pose(gs, pose); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double geom_radius(Pointer gs) { + var _result = _meos_d.geom_radius(gs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int v_clip_tpoly_point(Pointer poly, Pointer point, Pointer pose, Pointer poly_feature, Pointer dist) { + var _result = _meos_d.v_clip_tpoly_point(poly, point, pose, poly_feature, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int v_clip_tpoly_tpoly(Pointer poly1, Pointer poly2, Pointer pose1, Pointer pose2, Pointer poly1_feature, Pointer poly2_feature, Pointer dist) { + var _result = _meos_d.v_clip_tpoly_tpoly(poly1, poly2, pose1, pose2, poly1_feature, poly2_feature, dist); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void apply_pose_point4d(Pointer p, Pointer pose) { + _meos_d.apply_pose_point4d(p, pose); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tinstant(Pointer inst, Pointer lfinfo) { + var _result = _meos_d.tfunc_tinstant(inst, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tsequence(Pointer seq, Pointer lfinfo) { + var _result = _meos_d.tfunc_tsequence(seq, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tsequenceset(Pointer ss, Pointer lfinfo) { + var _result = _meos_d.tfunc_tsequenceset(ss, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_temporal(Pointer temp, Pointer lfinfo) { + var _result = _meos_d.tfunc_temporal(temp, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tinstant_base(Pointer inst, Pointer value, Pointer lfinfo) { + var _result = _meos_d.tfunc_tinstant_base(inst, value, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tsequence_base(Pointer seq, Pointer value, Pointer lfinfo) { + var _result = _meos_d.tfunc_tsequence_base(seq, value, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tsequenceset_base(Pointer ss, Pointer value, Pointer lfinfo) { + var _result = _meos_d.tfunc_tsequenceset_base(ss, value, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo) { + var _result = _meos_d.tfunc_temporal_base(temp, value, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer lfinfo) { + var _result = _meos_d.tfunc_tinstant_tinstant(inst1, inst2, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer lfinfo) { + var _result = _meos_d.tfunc_tdiscseq_tdiscseq(seq1, seq2, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tcontseq_tcontseq(Pointer seq1, Pointer seq2, Pointer lfinfo) { + var _result = _meos_d.tfunc_tcontseq_tcontseq(seq1, seq2, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, Pointer lfinfo) { + var _result = _meos_d.tfunc_tsequenceset_tsequenceset(ss1, ss2, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tfunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo) { + var _result = _meos_d.tfunc_temporal_temporal(temp1, temp2, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eafunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo) { + var _result = _meos_d.eafunc_temporal_base(temp, value, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eafunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo) { + var _result = _meos_d.eafunc_temporal_temporal(temp1, temp2, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer lfunc_set(Pointer set, Pointer lfinfo) { + var _result = _meos_d.lfunc_set(set, lfinfo); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String set_out_fn(Pointer s, int maxdd, Pointer value_out) { + var _result = _meos_d.set_out_fn(s, maxdd, value_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_set_isof_type(Pointer s, int settype) { + var _result = _meos_d.ensure_set_isof_type(s, settype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_set_set(Pointer s1, Pointer s2) { + var _result = _meos_d.ensure_valid_set_set(s1, s2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean set_find_value(Pointer s, Pointer arg1, Pointer loc) { + var _result = _meos_d.set_find_value(s, arg1, loc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_unnest_state_make(Pointer set) { + var _result = _meos_d.set_unnest_state_make(set); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void set_unnest_state_next(Pointer state) { + _meos_d.set_unnest_state_next(state); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean ensure_same_skiplist_subtype(Pointer state, byte subtype) { + var _result = _meos_d.ensure_same_skiplist_subtype(state, subtype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void skiplist_set_extra(Pointer state, Pointer data, long size) { + _meos_d.skiplist_set_extra(state, data, size); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer skiplist_headval(Pointer list) { + var _result = _meos_d.skiplist_headval(list); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int common_entry_cmp(Pointer i1, Pointer i2) { + var _result = _meos_d.common_entry_cmp(i1, i2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_index_leaf_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_d.span_index_leaf_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_gist_inner_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_d.span_gist_inner_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_index_recheck(int strategy) { + var _result = _meos_d.span_index_recheck(strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_lower_qsort_cmp(Pointer a, Pointer b) { + var _result = _meos_d.span_lower_qsort_cmp(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_upper_qsort_cmp(Pointer a, Pointer b) { + var _result = _meos_d.span_upper_qsort_cmp(a, b); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static byte getQuadrant2D(Pointer centroid, Pointer query) { + var _result = _meos_d.getQuadrant2D(centroid, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overlap2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overlap2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contain2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.contain2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.left2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overLeft2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overLeft2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.right2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overRight2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overRight2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean adjacent2D(Pointer nodebox, Pointer query) { + var _result = _meos_d.adjacent2D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_span_nodespan(Pointer query, Pointer nodebox) { + var _result = _meos_d.distance_span_nodespan(query, nodebox); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_spgist_get_span(Pointer value, int type) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.span_spgist_get_span(value, type, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static void spannode_init(Pointer nodebox, int spantype, int basetype) { + _meos_d.spannode_init(nodebox, spantype, basetype); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer spannode_copy(Pointer orig) { + var _result = _meos_d.spannode_copy(orig); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void spannode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodespan) { + _meos_d.spannode_quadtree_next(nodebox, centroid, quadrant, next_nodespan); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void spannode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodespan) { + _meos_d.spannode_kdtree_next(nodebox, centroid, node, level, next_nodespan); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean ensure_spanset_isof_type(Pointer ss, int spansettype) { + var _result = _meos_d.ensure_spanset_isof_type(ss, spansettype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_spanset_type(Pointer ss1, Pointer ss2) { + var _result = _meos_d.ensure_same_spanset_type(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_spanset_span_type(Pointer ss, Pointer s) { + var _result = _meos_d.ensure_same_spanset_span_type(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_spanset_span(Pointer ss, Pointer s) { + var _result = _meos_d.ensure_valid_spanset_span(ss, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_spanset_spanset(Pointer ss1, Pointer ss2) { + var _result = _meos_d.ensure_valid_spanset_spanset(ss1, ss2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean spanset_find_value(Pointer ss, Pointer v, Pointer loc) { + var _result = _meos_d.spanset_find_value(ss, v, loc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_and(Pointer l, Pointer r) { + var _result = _meos_d.datum_and(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_or(Pointer l, Pointer r) { + var _result = _meos_d.datum_or(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer boolop_tbool_bool(Pointer temp, Pointer b, Pointer func, boolean invert) { + var _result = _meos_d.boolop_tbool_bool(temp, b, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer boolop_tbool_tbool(Pointer temp1, Pointer temp2, Pointer func) { + var _result = _meos_d.boolop_tbool_tbool(temp1, temp2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_same_dimensionality_tbox(Pointer box1, Pointer box2) { + var _result = _meos_d.ensure_same_dimensionality_tbox(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer set_tbox(Pointer s) { + var _result = _meos_d.set_tbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer span_tbox(Pointer s) { + var _result = _meos_d.span_tbox(s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tstzspan(Pointer box) { + var _result = _meos_d.tbox_tstzspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_intspan(Pointer box) { + var _result = _meos_d.tbox_intspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_floatspan(Pointer box) { + var _result = _meos_d.tbox_floatspan(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_index_leaf_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_d.tbox_index_leaf_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_gist_inner_consistent(Pointer key, Pointer query, int strategy) { + var _result = _meos_d.tbox_gist_inner_consistent(key, query, strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_index_recheck(int strategy) { + var _result = _meos_d.tbox_index_recheck(strategy); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tboxnode_init(Pointer centroid, Pointer nodebox) { + _meos_d.tboxnode_init(centroid, nodebox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer tboxnode_copy(Pointer box) { + var _result = _meos_d.tboxnode_copy(box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static byte getQuadrant4D(Pointer centroid, Pointer inBox) { + var _result = _meos_d.getQuadrant4D(centroid, inBox); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tboxnode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodebox) { + _meos_d.tboxnode_quadtree_next(nodebox, centroid, quadrant, next_nodebox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tboxnode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodebox) { + _meos_d.tboxnode_kdtree_next(nodebox, centroid, node, level, next_nodebox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean overlap4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overlap4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean contain4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.contain4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean left4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.left4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overLeft4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overLeft4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean right4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.right4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overRight4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overRight4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean before4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.before4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overBefore4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overBefore4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean after4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.after4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean overAfter4D(Pointer nodebox, Pointer query) { + var _result = _meos_d.overAfter4D(nodebox, query); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double distance_tbox_nodebox(Pointer query, Pointer nodebox) { + var _result = _meos_d.distance_tbox_nodebox(query, nodebox); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tnumber_spgist_get_tbox(Pointer value, int type, Pointer result) { + _meos_d.tnumber_spgist_get_tbox(value, type, result); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int tbox_xmin_cmp(Pointer box1, Pointer box2) { + var _result = _meos_d.tbox_xmin_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_xmax_cmp(Pointer box1, Pointer box2) { + var _result = _meos_d.tbox_xmax_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_tmin_cmp(Pointer box1, Pointer box2) { + var _result = _meos_d.tbox_tmin_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_tmax_cmp(Pointer box1, Pointer box2) { + var _result = _meos_d.tbox_tmax_cmp(box1, box2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tbox_level_cmp(Pointer centroid, Pointer query, int level) { + var _result = _meos_d.tbox_level_cmp(centroid, query, level); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_min_int32(Pointer l, Pointer r) { + var _result = _meos_d.datum_min_int32(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_max_int32(Pointer l, Pointer r) { + var _result = _meos_d.datum_max_int32(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_min_int64(Pointer l, Pointer r) { + var _result = _meos_d.datum_min_int64(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_max_int64(Pointer l, Pointer r) { + var _result = _meos_d.datum_max_int64(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_min_float8(Pointer l, Pointer r) { + var _result = _meos_d.datum_min_float8(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_max_float8(Pointer l, Pointer r) { + var _result = _meos_d.datum_max_float8(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sum_int32(Pointer l, Pointer r) { + var _result = _meos_d.datum_sum_int32(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sum_int64(Pointer l, Pointer r) { + var _result = _meos_d.datum_sum_int64(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sum_float8(Pointer l, Pointer r) { + var _result = _meos_d.datum_sum_float8(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_min_text(Pointer l, Pointer r) { + var _result = _meos_d.datum_min_text(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_max_text(Pointer l, Pointer r) { + var _result = _meos_d.datum_max_text(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sum_double2(Pointer l, Pointer r) { + var _result = _meos_d.datum_sum_double2(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sum_double3(Pointer l, Pointer r) { + var _result = _meos_d.datum_sum_double3(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sum_double4(Pointer l, Pointer r) { + var _result = _meos_d.datum_sum_double4(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int temporal_skiplist_common(Pointer list, Pointer values, int count, Pointer lower, Pointer upper, Pointer update) { + var _result = _meos_d.temporal_skiplist_common(list, values, count, lower, upper, update); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_skiplist_merge(Pointer spliced, int spliced_count, Pointer values, int count, Pointer func, boolean crossings, Pointer newcount, Pointer tofree, Pointer nfree) { + var _result = _meos_d.temporal_skiplist_merge(spliced, spliced_count, values, count, func, crossings, newcount, tofree, nfree); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_tagg(Pointer instants1, int count1, Pointer instants2, int count2, Pointer func, Pointer newcount, Pointer tofree, Pointer nfree) { + var _result = _meos_d.tinstant_tagg(instants1, count1, instants2, count2, func, newcount, tofree, nfree); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_tagg(Pointer sequences1, int count1, Pointer sequences2, int count2, Pointer func, boolean crossings, Pointer newcount) { + var _result = _meos_d.tsequence_tagg(sequences1, count1, sequences2, count2, func, crossings, newcount); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_tagg_transfn(Pointer state, Pointer seq, Pointer func, boolean interpoint) { + var _result = _meos_d.tcontseq_tagg_transfn(state, seq, func, interpoint); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tagg_combinefn(Pointer state1, Pointer state2, Pointer func, boolean crossings) { + var _result = _meos_d.temporal_tagg_combinefn(state1, state2, func, crossings); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_tagg_transfn(Pointer state, Pointer inst, Pointer func) { + var _result = _meos_d.tinstant_tagg_transfn(state, inst, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstant_tavg_finalfn(Pointer instants, int count) { + var _result = _meos_d.tinstant_tavg_finalfn(instants, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_tavg_finalfn(Pointer sequences, int count) { + var _result = _meos_d.tsequence_tavg_finalfn(sequences, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberinst_transform_tavg(Pointer inst) { + var _result = _meos_d.tnumberinst_transform_tavg(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_transform_tcount(Pointer temp, Pointer count) { + var _result = _meos_d.temporal_transform_tcount(temp, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_transform_tagg(Pointer temp, Pointer count, Pointer func) { + var _result = _meos_d.temporal_transform_tagg(temp, count, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_tagg_transfn(Pointer state, Pointer ss, Pointer func, boolean crossings) { + var _result = _meos_d.tsequenceset_tagg_transfn(state, ss, func, crossings); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_tagg_transfn(Pointer state, Pointer seq, Pointer func) { + var _result = _meos_d.tdiscseq_tagg_transfn(state, seq, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tagg_transfn(Pointer state, Pointer temp, Pointer arg2, boolean crossings) { + var _result = _meos_d.temporal_tagg_transfn(state, temp, arg2, crossings); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_tagg_transform_transfn(Pointer state, Pointer temp, Pointer func, boolean crossings, Pointer transform) { + var _result = _meos_d.temporal_tagg_transform_transfn(state, temp, func, crossings, transform); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double temporal_similarity(Pointer temp1, Pointer temp2, int simfunc) { + var _result = _meos_d.temporal_similarity(temp1, temp2, simfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_similarity_path(Pointer temp1, Pointer temp2, Pointer count, int simfunc) { + var _result = _meos_d.temporal_similarity_path(temp1, temp2, count, simfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static long temporal_bbox_size(int tempype) { + var _result = _meos_d.temporal_bbox_size(tempype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tinstarr_set_bbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer bbox) { + _meos_d.tinstarr_set_bbox(instants, count, lower_inc, upper_inc, interp, bbox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequence_compute_bbox(Pointer seq) { + _meos_d.tsequence_compute_bbox(seq); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tseqarr_compute_bbox(Pointer sequences, int count, Pointer bbox) { + _meos_d.tseqarr_compute_bbox(sequences, count, bbox); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequenceset_compute_bbox(Pointer ss) { + _meos_d.tsequenceset_compute_bbox(ss); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean boxop_temporal_tstzspan(Pointer temp, Pointer s, Pointer func, boolean invert) { + var _result = _meos_d.boxop_temporal_tstzspan(temp, s, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func) { + var _result = _meos_d.boxop_temporal_temporal(temp1, temp2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_tnumber_numspan(Pointer temp, Pointer span, Pointer func, boolean invert) { + var _result = _meos_d.boxop_tnumber_numspan(temp, span, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_tnumber_tbox(Pointer temp, Pointer box, Pointer func, boolean invert) { + var _result = _meos_d.boxop_tnumber_tbox(temp, box, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean boxop_tnumber_tnumber(Pointer temp1, Pointer temp2, Pointer func) { + var _result = _meos_d.boxop_tnumber_tnumber(temp1, temp2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eacomp_base_temporal(Pointer value, Pointer temp, Pointer func, boolean ever) { + var _result = _meos_d.eacomp_base_temporal(value, temp, func, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eacomp_temporal_base(Pointer temp, Pointer value, Pointer func, boolean ever) { + var _result = _meos_d.eacomp_temporal_base(temp, value, func, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int eacomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func, boolean ever) { + var _result = _meos_d.eacomp_temporal_temporal(temp1, temp2, func, ever); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcomp_base_temporal(Pointer value, Pointer temp, Pointer func) { + var _result = _meos_d.tcomp_base_temporal(value, temp, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcomp_temporal_base(Pointer temp, Pointer value, Pointer func) { + var _result = _meos_d.tcomp_temporal_base(temp, value, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func) { + var _result = _meos_d.tcomp_temporal_temporal(temp1, temp2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_at_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tdiscseq_at_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_restrict_value(Pointer seq, Pointer value, boolean atfunc) { + var _result = _meos_d.tdiscseq_restrict_value(seq, value, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_restrict_values(Pointer seq, Pointer s, boolean atfunc) { + var _result = _meos_d.tdiscseq_restrict_values(seq, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_minus_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tdiscseq_minus_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_restrict_tstzset(Pointer seq, Pointer s, boolean atfunc) { + var _result = _meos_d.tdiscseq_restrict_tstzset(seq, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { + var _result = _meos_d.tdiscseq_restrict_tstzspanset(seq, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcontseq_restrict_value_iter(Pointer seq, Pointer value, boolean atfunc, Pointer result) { + var _result = _meos_d.tcontseq_restrict_value_iter(seq, value, atfunc, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_delete_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_delete_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_delete_tstzset(Pointer seq, Pointer s) { + var _result = _meos_d.tcontseq_delete_tstzset(seq, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_delete_tstzspanset(Pointer seq, Pointer ss) { + var _result = _meos_d.tcontseq_delete_tstzspanset(seq, ss); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_at_tstzset(Pointer seq, Pointer s) { + var _result = _meos_d.tcontseq_at_tstzset(seq, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_minus_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_minus_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_minus_tstzset(Pointer seq, Pointer s) { + var _result = _meos_d.tcontseq_minus_tstzset(seq, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_minus_tstzspan(Pointer seq, Pointer s) { + var _result = _meos_d.tcontseq_minus_tstzspan(seq, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_restrict_value(Pointer seq, Pointer value, boolean atfunc) { + var _result = _meos_d.tcontseq_restrict_value(seq, value, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_restrict_values(Pointer seq, Pointer s, boolean atfunc) { + var _result = _meos_d.tcontseq_restrict_values(seq, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequence_at_values_iter(Pointer seq, Pointer set, Pointer result) { + var _result = _meos_d.tsequence_at_values_iter(seq, set, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tnumberseq_cont_restrict_span_iter(Pointer seq, Pointer span, boolean atfunc, Pointer result) { + var _result = _meos_d.tnumberseq_cont_restrict_span_iter(seq, span, atfunc, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tnumberseq_cont_restrict_spanset_iter(Pointer seq, Pointer ss, boolean atfunc, Pointer result) { + var _result = _meos_d.tnumberseq_cont_restrict_spanset_iter(seq, ss, atfunc, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsegment_at_timestamptz(Pointer inst1, Pointer inst2, int interp, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsegment_at_timestamptz(inst1, inst2, interp, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcontseq_minus_timestamp_iter(Pointer seq, OffsetDateTime t, Pointer result) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_minus_timestamp_iter(seq, t_new, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcontseq_minus_tstzset_iter(Pointer seq, Pointer s, Pointer result) { + var _result = _meos_d.tcontseq_minus_tstzset_iter(seq, s, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcontseq_at_tstzspanset1(Pointer seq, Pointer ss, Pointer result) { + var _result = _meos_d.tcontseq_at_tstzspanset1(seq, ss, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcontseq_minus_tstzspanset_iter(Pointer seq, Pointer ss, Pointer result) { + var _result = _meos_d.tcontseq_minus_tstzspanset_iter(seq, ss, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_at_tstzspan(Pointer seq, Pointer s) { + var _result = _meos_d.tcontseq_at_tstzspan(seq, s); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_at_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_at_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { + var _result = _meos_d.tcontseq_restrict_tstzspanset(seq, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_value_at_timestamptz(Pointer seq, OffsetDateTime t) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + var t_new = t.toEpochSecond(); + out = _meos_d.tdiscseq_value_at_timestamptz(seq, t_new, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_disc_restrict_span(Pointer seq, Pointer span, boolean atfunc) { + var _result = _meos_d.tnumberseq_disc_restrict_span(seq, span, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_disc_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc) { + var _result = _meos_d.tnumberseq_disc_restrict_spanset(seq, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_cont_restrict_span(Pointer seq, Pointer span, boolean atfunc) { + var _result = _meos_d.tnumberseq_cont_restrict_span(seq, span, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumberseq_cont_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc) { + var _result = _meos_d.tnumberseq_cont_restrict_spanset(seq, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double tnumberseq_cont_twavg(Pointer seq) { + var _result = _meos_d.tnumberseq_cont_twavg(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int span_num_bins(Pointer s, Pointer size, Pointer origin, Pointer start_bin, Pointer end_bin) { + var _result = _meos_d.span_num_bins(s, size, origin, start_bin, end_bin); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_time_bin_init(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer nbins) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.temporal_time_bin_init(temp, duration, torigin_new, nbins); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_tile_state_make(Pointer temp, Pointer box, Pointer vsize, Pointer duration, Pointer xorigin, OffsetDateTime torigin) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.tbox_tile_state_make(temp, box, vsize, duration, xorigin, torigin_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tbox_tile_state_next(Pointer state) { + _meos_d.tbox_tile_state_next(state); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tbox_tile_state_set(Pointer value, OffsetDateTime t, Pointer vsize, long tunits, int basetype, int spantype, Pointer box) { + var t_new = t.toEpochSecond(); + _meos_d.tbox_tile_state_set(value, t_new, vsize, tunits, basetype, spantype, box); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static long interval_units(Pointer interval) { + var _result = _meos_d.interval_units(interval); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamptz_bin_start(OffsetDateTime timestamp, long tunits, OffsetDateTime torigin) { + var timestamp_new = timestamp.toEpochSecond(); + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.timestamptz_bin_start(timestamp_new, tunits, torigin_new); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer datum_bin(Pointer value, Pointer size, Pointer offset, int basetype) { + var _result = _meos_d.datum_bin(value, size, offset, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_value_time_tile_init(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer ntiles) { + var torigin_new = torigin.toEpochSecond(); + var _result = _meos_d.tnumber_value_time_tile_init(temp, vsize, duration, vorigin, torigin_new, ntiles); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tbox_tile_state_get(Pointer state, Pointer box) { + var _result = _meos_d.tbox_tile_state_get(state, box); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_transform_wcount(Pointer temp, Pointer interval, Pointer count) { + var _result = _meos_d.temporal_transform_wcount(temp, interval, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tnumber_transform_wavg(Pointer temp, Pointer interval, Pointer count) { + var _result = _meos_d.tnumber_transform_wavg(temp, interval, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_wagg_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, boolean min, boolean crossings) { + var _result = _meos_d.temporal_wagg_transfn(state, temp, interval, func, min, crossings); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_wagg_transform_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, Pointer transform) { + var _result = _meos_d.temporal_wagg_transform_transfn(state, temp, interval, func, transform); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tinstant_set(Pointer inst, Pointer value, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + _meos_d.tinstant_set(inst, value, t_new); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static double tnumberinst_double(Pointer inst) { + var _result = _meos_d.tnumberinst_double(inst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tinstant_to_string(Pointer inst, int maxdd, Pointer value_out) { + var _result = _meos_d.tinstant_to_string(inst, maxdd, value_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tinstant_restrict_values_test(Pointer inst, Pointer s, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_values_test(inst, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tnumberinst_restrict_span_test(Pointer inst, Pointer s, boolean atfunc) { + var _result = _meos_d.tnumberinst_restrict_span_test(inst, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tnumberinst_restrict_spanset_test(Pointer inst, Pointer ss, boolean atfunc) { + var _result = _meos_d.tnumberinst_restrict_spanset_test(inst, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tinstant_restrict_tstzset_test(Pointer inst, Pointer s, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_tstzset_test(inst, s, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tinstant_restrict_tstzspanset_test(Pointer inst, Pointer ss, boolean atfunc) { + var _result = _meos_d.tinstant_restrict_tstzspanset_test(inst, ss, atfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tinstant_tinstant(inst1, inst2, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void _mulmat(Pointer a, Pointer b, Pointer c, int arows, int acols, int bcols) { + _meos_d._mulmat(a, b, c, arows, acols, bcols); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void _mulvec(Pointer a, Pointer x, Pointer y, int m, int n) { + _meos_d._mulvec(a, x, y, m, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void _transpose(Pointer a, Pointer at, int m, int n) { + _meos_d._transpose(a, at, m, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void _addmat(Pointer a, Pointer b, Pointer c, int m, int n) { + _meos_d._addmat(a, b, c, m, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void _negate(Pointer a, int m, int n) { + _meos_d._negate(a, m, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void _addeye(Pointer a, int n) { + _meos_d._addeye(a, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int _choldc1(Pointer a, Pointer p, int n) { + var _result = _meos_d._choldc1(a, p, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int _choldcsl(Pointer A, Pointer a, Pointer p, int n) { + var _result = _meos_d._choldcsl(A, a, p, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int _cholsl(Pointer A, Pointer a, Pointer p, int n) { + var _result = _meos_d._cholsl(A, a, p, n); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void _addvec(Pointer a, Pointer b, Pointer c, int n) { + _meos_d._addvec(a, b, c, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void _sub(Pointer a, Pointer b, Pointer c, int n) { + _meos_d._sub(a, b, c, n); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int invert(Pointer a, Pointer ainv) { + var _result = _meos_d.invert(a, ainv); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void ekf_initialize(Pointer ekf, float pdiag) { + _meos_d.ekf_initialize(ekf, pdiag); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void ekf_predict(Pointer ekf, float fx, float F, float Q) { + _meos_d.ekf_predict(ekf, fx, F, Q); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void ekf_update_step3(Pointer ekf, float GH) { + _meos_d.ekf_update_step3(ekf, GH); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int ekf_update(Pointer ekf, float z, float hx, float H, float R) { + var _result = _meos_d.ekf_update(ekf, z, hx, H, R); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tfloat_arithop_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param) { + var _result = _meos_d.tfloat_arithop_turnpt(start1, end1, start2, end2, param); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer arithop_tnumber_number(Pointer temp, Pointer value, int oper, Pointer func, boolean invert) { + var _result = _meos_d.arithop_tnumber_number(temp, value, oper, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer arithop_tnumber_tnumber(Pointer temp1, Pointer temp2, int oper, Pointer func, Pointer tpfunc) { + var _result = _meos_d.arithop_tnumber_tnumber(temp1, temp2, oper, func, tpfunc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean float_collinear(double x1, double x2, double x3, double ratio) { + var _result = _meos_d.float_collinear(x1, x2, x3, ratio); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double floatsegm_interpolate(double value1, double value2, Pointer value) { + var _result = _meos_d.floatsegm_interpolate(value1, value2, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer floatsegm_locate(double value1, double value2, double value) { + var _result = _meos_d.floatsegm_locate(value1, value2, value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tnumbersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int basetype, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tnumbersegm_intersection(start1, end1, start2, end2, basetype, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tsequence_norm_test(Pointer value1, Pointer value2, Pointer value3, int basetype, int interp, OffsetDateTime t1, OffsetDateTime t2, OffsetDateTime t3) { + var t1_new = t1.toEpochSecond(); + var t2_new = t2.toEpochSecond(); + var t3_new = t3.toEpochSecond(); + var _result = _meos_d.tsequence_norm_test(value1, value2, value3, basetype, interp, t1_new, t2_new, t3_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tsequence_join_test(Pointer seq1, Pointer seq2, Pointer removelast, Pointer removefirst) { + var _result = _meos_d.tsequence_join_test(seq1, seq2, removelast, removefirst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_join(Pointer seq1, Pointer seq2, boolean removelast, boolean removefirst) { + var _result = _meos_d.tsequence_join(seq1, seq2, removelast, removefirst); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tinstarr_normalize(Pointer instants, int interp, int count, Pointer newcount) { + var _result = _meos_d.tinstarr_normalize(instants, interp, count, newcount); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tcontseq_find_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tcontseq_find_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tdiscseq_find_timestamptz(Pointer seq, OffsetDateTime t) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tdiscseq_find_timestamptz(seq, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tseqarr2_to_tseqarr(Pointer sequences, Pointer countseqs, int count, int totalseqs) { + var _result = _meos_d.tseqarr2_to_tseqarr(sequences, countseqs, count, totalseqs); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tinstarr_common(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp) { + var _result = _meos_d.ensure_valid_tinstarr_common(instants, count, lower_inc, upper_inc, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequence_make_exp1(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize, Pointer bbox) { + var _result = _meos_d.tsequence_make_exp1(instants, count, maxcount, lower_inc, upper_inc, interp, normalize, bbox); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean synchronize_tsequence_tsequence(Pointer seq1, Pointer seq2, Pointer sync1, Pointer sync2, boolean interpoint) { + var _result = _meos_d.synchronize_tsequence_tsequence(seq1, seq2, sync1, sync2, interpoint); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tfloatsegm_intersection_value(Pointer start, Pointer end, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tfloatsegm_intersection_value(start, end, value, lower_new, upper_new, t); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsegment_intersection_value(Pointer start, Pointer end, Pointer value, int temptype, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tsegment_intersection_value(start, end, value, temptype, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsegment_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int temptype, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var _result = _meos_d.tsegment_intersection(start1, end1, start2, end2, temptype, lower_new, upper_new, t1, t2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsegment_value_at_timestamptz(Pointer start, Pointer end, int temptype, OffsetDateTime lower, OffsetDateTime upper, OffsetDateTime t) { + var lower_new = lower.toEpochSecond(); + var upper_new = upper.toEpochSecond(); + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsegment_value_at_timestamptz(start, end, temptype, lower_new, upper_new, t_new); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tdiscseq_tdiscseq(seq1, seq2, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tcontseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tcontseq_tdiscseq(seq1, seq2, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tdiscseq_tcontseq(Pointer is, Pointer seq2, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tdiscseq_tcontseq(is, seq2, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tsequence_tinstant(Pointer seq, Pointer inst, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tsequence_tinstant(seq, inst, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tinstant_tsequence(Pointer inst, Pointer seq, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tinstant_tsequence(inst, seq, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tsequence_to_string(Pointer seq, int maxdd, boolean component, Pointer value_out) { + var _result = _meos_d.tsequence_to_string(seq, maxdd, component, value_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_increasing_timestamps(Pointer inst1, Pointer inst2, boolean strict) { + var _result = _meos_d.ensure_increasing_timestamps(inst1, inst2, strict); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void bbox_expand(Pointer box1, Pointer box2, int temptype) { + _meos_d.bbox_expand(box1, box2, temptype); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tinstarr(Pointer instants, int count, boolean merge, int interp) { + var _result = _meos_d.ensure_valid_tinstarr(instants, count, merge, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tsequence_make_valid(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp) { + var _result = _meos_d.tsequence_make_valid(instants, count, lower_inc, upper_inc, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void tnumberseq_shift_scale_value_iter(Pointer seq, Pointer origin, Pointer delta, boolean hasdelta, double scale) { + _meos_d.tnumberseq_shift_scale_value_iter(seq, origin, delta, hasdelta, scale); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tsequence_shift_scale_time_iter(Pointer seq, OffsetDateTime delta, double scale) { + var delta_new = delta.toEpochSecond(); + _meos_d.tsequence_shift_scale_time_iter(seq, delta_new, scale); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int tstepseq_to_linear_iter(Pointer seq, Pointer result) { + var _result = _meos_d.tstepseq_to_linear_iter(seq, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tstepseq_to_linear(Pointer seq) { + var _result = _meos_d.tstepseq_to_linear(seq); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequence_segments_iter(Pointer seq, Pointer result) { + var _result = _meos_d.tsequence_segments_iter(seq, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tsequence_timestamps_iter(Pointer seq, Pointer result) { + var _result = _meos_d.tsequence_timestamps_iter(seq, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean tsequenceset_find_timestamptz(Pointer ss, OffsetDateTime t, Pointer loc) { + var t_new = t.toEpochSecond(); + var _result = _meos_d.tsequenceset_find_timestamptz(ss, t_new, loc); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tseqarr_normalize(Pointer sequences, int count, Pointer newcount) { + var _result = _meos_d.tseqarr_normalize(sequences, count, newcount); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double datum_distance(Pointer value1, Pointer value2, int basetype, short flags) { + var _result = _meos_d.datum_distance(value1, value2, basetype, flags); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer ensure_valid_tinstarr_gaps(Pointer instants, int count, boolean merge, double maxdist, Pointer maxt, Pointer nsplits) { + var _result = _meos_d.ensure_valid_tinstarr_gaps(instants, count, merge, maxdist, maxt, nsplits); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_valid_tseqarr(Pointer sequences, int count) { + var _result = _meos_d.ensure_valid_tseqarr(sequences, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean synchronize_tsequenceset_tsequence(Pointer ss, Pointer seq, int mode, Pointer inter1, Pointer inter2) { + var _result = _meos_d.synchronize_tsequenceset_tsequence(ss, seq, mode, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean synchronize_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, int mode, Pointer inter1, Pointer inter2) { + var _result = _meos_d.synchronize_tsequenceset_tsequenceset(ss1, ss2, mode, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tsequenceset_tinstant(Pointer ss, Pointer inst, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tsequenceset_tinstant(ss, inst, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tinstant_tsequenceset(Pointer inst, Pointer ss, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tinstant_tsequenceset(inst, ss, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tsequenceset_tdiscseq(Pointer ss, Pointer is, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tsequenceset_tdiscseq(ss, is, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tdiscseq_tsequenceset(Pointer is, Pointer ss, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tdiscseq_tsequenceset(is, ss, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean intersection_tsequence_tsequenceset(Pointer seq, Pointer ss, int mode, Pointer inter1, Pointer inter2) { + var _result = _meos_d.intersection_tsequence_tsequenceset(seq, ss, mode, inter1, inter2); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String tsequenceset_to_string(Pointer ss, int maxdd, Pointer value_out) { + var _result = _meos_d.tsequenceset_to_string(ss, maxdd, value_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_textcat(Pointer l, Pointer r) { + var _result = _meos_d.datum_textcat(l, r); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_lower(Pointer value) { + var _result = _meos_d.datum_lower(value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_upper(Pointer value) { + var _result = _meos_d.datum_upper(value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_initcap(Pointer value) { + var _result = _meos_d.datum_initcap(value); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textfunc_ttext(Pointer temp, int func) { + var _result = _meos_d.textfunc_ttext(temp, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textfunc_ttext_text(Pointer temp, Pointer value, Pointer func, boolean invert) { + var _result = _meos_d.textfunc_ttext_text(temp, value, func, invert); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer textfunc_ttext_ttext(Pointer temp1, Pointer temp2, Pointer func) { + var _result = _meos_d.textfunc_ttext_ttext(temp1, temp2, func); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_as_wkb(Pointer value, int type, byte variant) { + Runtime runtime = Runtime.getSystemRuntime(); + Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); + var _result = _meos_d.datum_as_wkb(value, type, variant, size_out); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String datum_as_hexwkb(Pointer value, int type, byte variant, Pointer size) { + var _result = _meos_d.datum_as_hexwkb(value, type, variant, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer type_from_wkb(Pointer wkb, long size, int type) { + var _result = _meos_d.type_from_wkb(wkb, size, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer type_from_hexwkb(String hexwkb, long size, int type) { + var _result = _meos_d.type_from_hexwkb(hexwkb, size, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_end_input(Pointer str, String type) { + var _result = _meos_d.ensure_end_input(str, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void p_whitespace(Pointer str) { + _meos_d.p_whitespace(str); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static boolean p_delimchar(Pointer str, String delim) { + var _result = _meos_d.p_delimchar(str, delim); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_obrace(Pointer str) { + var _result = _meos_d.p_obrace(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_obrace(Pointer str, String type) { + var _result = _meos_d.ensure_obrace(str, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_cbrace(Pointer str) { + var _result = _meos_d.p_cbrace(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_cbrace(Pointer str, String type) { + var _result = _meos_d.ensure_cbrace(str, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_obracket(Pointer str) { + var _result = _meos_d.p_obracket(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_cbracket(Pointer str) { + var _result = _meos_d.p_cbracket(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_oparen(Pointer str) { + var _result = _meos_d.p_oparen(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_oparen(Pointer str, String type) { + var _result = _meos_d.ensure_oparen(str, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_cparen(Pointer str) { + var _result = _meos_d.p_cparen(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean ensure_cparen(Pointer str, String type) { + var _result = _meos_d.ensure_cparen(str, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean p_comma(Pointer str) { + var _result = _meos_d.p_comma(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer basetype_parse(Pointer str, int basetypid, String delim) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.basetype_parse(str, basetypid, delim, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer double_parse(Pointer str) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Double.BYTES); + out = _meos_d.double_parse(str, result); + MeosErrorHandler.checkError(); + return out ? result : null; + } + + @SuppressWarnings("unused") + public static Pointer elem_parse(Pointer str, int basetype) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.elem_parse(str, basetype, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static Pointer set_parse(Pointer str, int basetype) { + var _result = _meos_d.set_parse(str, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean span_parse(Pointer str, int spantype, boolean end, Pointer span) { + var _result = _meos_d.span_parse(str, spantype, end, span); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer spanset_parse(Pointer str, int spantype) { + var _result = _meos_d.spanset_parse(str, spantype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tbox_parse(Pointer str) { + var _result = _meos_d.tbox_parse(str); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static OffsetDateTime timestamp_parse(Pointer str) { + var _result = _meos_d.timestamp_parse(str); + MeosErrorHandler.checkError(); + return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); + } + + @SuppressWarnings("unused") + public static Pointer tinstant_parse(Pointer str, int temptype, boolean end) { + var _result = _meos_d.tinstant_parse(str, temptype, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tdiscseq_parse(Pointer str, int temptype) { + var _result = _meos_d.tdiscseq_parse(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tcontseq_parse(Pointer str, int temptype, int interp, boolean end) { + var _result = _meos_d.tcontseq_parse(str, temptype, interp, end); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer tsequenceset_parse(Pointer str, int temptype, int interp) { + var _result = _meos_d.tsequenceset_parse(str, temptype, interp); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer temporal_parse(Pointer str, int temptype) { + var _result = _meos_d.temporal_parse(str, temptype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_copy(Pointer value, int typid) { + var _result = _meos_d.datum_copy(value, typid); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double datum_double(Pointer d, int type) { + var _result = _meos_d.datum_double(d, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer double_datum(double d, int type) { + var _result = _meos_d.double_datum(d, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer bstring2bytea(Pointer wkb, long size) { + var _result = _meos_d.bstring2bytea(wkb, size); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double meos_strtod(String str, Pointer endptr) { + var _result = _meos_d.meos_strtod(str, endptr); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer basetype_in(String str, int type, boolean end) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.basetype_in(str, type, end, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static String basetype_out(Pointer value, int type, int maxdd) { + var _result = _meos_d.basetype_out(value, type, maxdd); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void pfree_array(Pointer array, int count) { + _meos_d.pfree_array(array, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static Pointer string_escape(String str, int quotes) { + boolean out; + Runtime runtime = Runtime.getSystemRuntime(); + Pointer result = Memory.allocateDirect(runtime, Long.BYTES); + out = _meos_d.string_escape(str, quotes, result); + Pointer new_result = result.getPointer(0); + MeosErrorHandler.checkError(); + return out ? new_result : null; + } + + @SuppressWarnings("unused") + public static long string_unescape(String str, Pointer result) { + var _result = _meos_d.string_unescape(str, result); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static String stringarr_to_string(Pointer strings, int count, String prefix, String open, String close, int quotes, boolean spaces) { + var _result = _meos_d.stringarr_to_string(strings, count, prefix, open, close, quotes, spaces); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static void datumarr_sort(Pointer values, int count, int basetype) { + _meos_d.datumarr_sort(values, count, basetype); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tstzarr_sort(Pointer times, int count) { + _meos_d.tstzarr_sort(times, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void spanarr_sort(Pointer spans, int count) { + _meos_d.spanarr_sort(spans, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tinstarr_sort(Pointer instants, int count) { + _meos_d.tinstarr_sort(instants, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static void tseqarr_sort(Pointer sequences, int count) { + _meos_d.tseqarr_sort(sequences, count); + MeosErrorHandler.checkError(); + } + + @SuppressWarnings("unused") + public static int datumarr_remove_duplicates(Pointer values, int count, int basetype) { + var _result = _meos_d.datumarr_remove_duplicates(values, count, basetype); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tstzarr_remove_duplicates(Pointer values, int count) { + var _result = _meos_d.tstzarr_remove_duplicates(values, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int tinstarr_remove_duplicates(Pointer instants, int count) { + var _result = _meos_d.tinstarr_remove_duplicates(instants, count); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_add(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_add(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_sub(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_sub(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_mul(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_mul(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum_div(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_div(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static int datum_cmp(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_cmp(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_eq(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_eq(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_ne(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_ne(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_lt(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_lt(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_le(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_le(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_gt(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_gt(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static boolean datum_ge(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum_ge(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_eq(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum2_eq(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_ne(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum2_ne(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_lt(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum2_lt(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_le(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum2_le(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_gt(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum2_gt(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static Pointer datum2_ge(Pointer l, Pointer r, int type) { + var _result = _meos_d.datum2_ge(l, r, type); + MeosErrorHandler.checkError(); + return _result; + } + + @SuppressWarnings("unused") + public static double hypot3d(double x, double y, double z) { + var _result = _meos_d.hypot3d(x, y, z); + MeosErrorHandler.checkError(); + return _result; + } + +} From e2ff3031d19389a1edc9320ca399d9ec58a98694 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 12 Jun 2026 08:39:40 +0200 Subject: [PATCH 18/23] refactor(facade): migrate TNumber/TPoint/Temporal off the legacy facade Repoint the last three main-code classes from the hand-rolled functions.functions facade onto the generated GeneratedFunctions surface, completing the main-code side of the dual-facade wipe. No main-code class imports functions.functions now. Renames and reshapes applied (verified against the generated signatures): - pg_timestamptz_in/pg_interval_in -> timestamptz_in/interval_in (identical sigs). - the temporal spatial-relationship calls (tcontains/tdisjoint/tdwithin/ tintersects/ttouches) drop the trailing restr,atvalue booleans the current MEOS signatures no longer take (dwithin keeps its distance argument). - value_at_timestamp uses the generated bool+out-param wrapper, which returns the GSERIALIZED* directly, instead of reading the out buffer at the wrong offset. Defects surfaced and fixed while migrating (all confirmed via smoke): - count out-parameters were read at offset 4 (getInt(Integer.BYTES)) instead of 0 in values/make_simple/stboxes, yielding out-of-bounds garbage counts. - Memory.allocate(Runtime.getRuntime(runtime), n) threw ClassCastException (Runtime.getRuntime expects a library proxy, not a Runtime); pass runtime. Smoke: values=3, make_simple=1, stboxes=2, value_at=POINT(5 5). Type suites TGeomPoint/TGeogPoint/TInt/TFloat/TBool all green (624 tests, 0 fail/0 err); the only residual is the pre-existing varstr_cmp ttext_in crash in TTextTest. --- .../java/types/basic/tnumber/TNumber.java | 98 +++++----- .../main/java/types/basic/tpoint/TPoint.java | 171 +++++++++--------- .../main/java/types/temporal/Temporal.java | 166 ++++++++--------- 3 files changed, 216 insertions(+), 219 deletions(-) diff --git a/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java b/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java index cc31a3315..b2d70400f 100644 --- a/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java +++ b/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java @@ -10,7 +10,7 @@ import types.basic.tfloat.TFloatSeqSet; import types.basic.tint.TInt; import types.boxes.TBox; -import functions.functions; +import functions.GeneratedFunctions; import types.collections.number.*; import types.collections.time.Time; import types.collections.time.tstzset; @@ -53,7 +53,7 @@ public interface TNumber { * @return The bounding box of "this". */ default TBox bounding_tbox() throws SQLException { - return new TBox(functions.tnumber_to_tbox(getNumberInner())); + return new TBox(GeneratedFunctions.tnumber_to_tbox(getNumberInner())); } @@ -66,7 +66,7 @@ default TBox bounding_tbox() throws SQLException { * @return The integral of "this". */ default float integral(){ - return (float) functions.tnumber_integral(getNumberInner()); + return (float) GeneratedFunctions.tnumber_integral(getNumberInner()); } /** @@ -79,7 +79,7 @@ default float integral(){ * @return The time weighted average of "this". */ default float time_weighted_average(){ - return (float) functions.tnumber_twavg(getNumberInner()); + return (float) GeneratedFunctions.tnumber_twavg(getNumberInner()); } /* ------------------------- Transformations ---------------------------------- */ @@ -97,10 +97,10 @@ default float time_weighted_average(){ default TNumber shift_value(Object delta) throws Exception { Pointer shifted= null; if(this instanceof TInt){ - shifted= functions.tint_shift_value(this.getNumberInner(), (int) delta); + shifted= GeneratedFunctions.tint_shift_value(this.getNumberInner(), (int) delta); } else if (this instanceof TFloat){ - shifted= functions.tfloat_shift_value(this.getNumberInner(), (double) delta); + shifted= GeneratedFunctions.tfloat_shift_value(this.getNumberInner(), (double) delta); } else{ throw new Exception("Operation not supported for this object"); @@ -121,10 +121,10 @@ else if (this instanceof TFloat){ default TNumber scale_value(Object width) throws Exception { Pointer scaled= null; if(this instanceof TInt){ - scaled= functions.tint_scale_value(this.getNumberInner(), (int) width); + scaled= GeneratedFunctions.tint_scale_value(this.getNumberInner(), (int) width); } else if (this instanceof TFloat){ - scaled= functions.tfloat_scale_value(this.getNumberInner(), (double) width); + scaled= GeneratedFunctions.tfloat_scale_value(this.getNumberInner(), (double) width); } else{ throw new Exception("Operation not supported for this object"); @@ -146,10 +146,10 @@ else if (this instanceof TFloat){ default TNumber shift_scale_value(Object shift, Object width) throws Exception { Pointer scaled= null; if(this instanceof TInt && shift!=null && width!=null){ - scaled= functions.tint_shift_scale_value(this.getNumberInner(), (int) shift, (int) width); + scaled= GeneratedFunctions.tint_shift_scale_value(this.getNumberInner(), (int) shift, (int) width); } else if (this instanceof TFloat && shift!=null && width!=null){ - scaled= functions.tfloat_shift_scale_value(this.getNumberInner(), (double) shift, (double) width); + scaled= GeneratedFunctions.tfloat_shift_scale_value(this.getNumberInner(), (double) shift, (double) width); } else{ throw new Exception("Operation not supported for this object"); @@ -186,22 +186,22 @@ else if (this instanceof TFloat && shift!=null && width!=null){ */ default TNumber at(Object other) throws OperationNotSupportedException { if (other instanceof IntSet){ - return (TNumber) Factory.create_temporal(functions.temporal_at_values(getNumberInner(),((IntSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.temporal_at_values(getNumberInner(),((IntSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof FloatSet) { - return (TNumber) Factory.create_temporal(functions.temporal_at_values(getNumberInner(),((FloatSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.temporal_at_values(getNumberInner(),((FloatSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof IntSpan){ - return (TNumber) Factory.create_temporal(functions.tnumber_at_span(getNumberInner(),((IntSpan) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_at_span(getNumberInner(),((IntSpan) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof FloatSpan) { - return (TNumber) Factory.create_temporal(functions.tnumber_at_span(getNumberInner(),((FloatSpan) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_at_span(getNumberInner(),((FloatSpan) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof IntSpanSet){ - return (TNumber) Factory.create_temporal(functions.tnumber_at_spanset(getNumberInner(),((IntSpanSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_at_spanset(getNumberInner(),((IntSpanSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof FloatSpanSet) { - return (TNumber) Factory.create_temporal(functions.tnumber_at_spanset(getNumberInner(),((FloatSpanSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_at_spanset(getNumberInner(),((FloatSpanSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof TBox){ - return (TNumber) Factory.create_temporal(functions.tnumber_at_tbox(getNumberInner(),((TBox) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_at_tbox(getNumberInner(),((TBox) other).get_inner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -232,22 +232,22 @@ else if (other instanceof TBox){ */ default TNumber minus(Object other) throws OperationNotSupportedException { if (other instanceof IntSet){ - return (TNumber) Factory.create_temporal(functions.temporal_minus_values(getNumberInner(),((IntSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.temporal_minus_values(getNumberInner(),((IntSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof FloatSet) { - return (TNumber) Factory.create_temporal(functions.temporal_minus_values(getNumberInner(),((FloatSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.temporal_minus_values(getNumberInner(),((FloatSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof IntSpan){ - return (TNumber) Factory.create_temporal(functions.tnumber_minus_span(getNumberInner(),((IntSpan) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_minus_span(getNumberInner(),((IntSpan) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof FloatSpan) { - return (TNumber) Factory.create_temporal(functions.tnumber_minus_span(getNumberInner(),((FloatSpan) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_minus_span(getNumberInner(),((FloatSpan) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof IntSpanSet){ - return (TNumber) Factory.create_temporal(functions.tnumber_minus_spanset(getNumberInner(),((IntSpanSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_minus_spanset(getNumberInner(),((IntSpanSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof FloatSpanSet) { - return (TNumber) Factory.create_temporal(functions.tnumber_minus_spanset(getNumberInner(),((FloatSpanSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_minus_spanset(getNumberInner(),((FloatSpanSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof TBox){ - return (TNumber) Factory.create_temporal(functions.tnumber_minus_tbox(getNumberInner(),((TBox) other).get_inner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_minus_tbox(getNumberInner(),((TBox) other).get_inner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -344,11 +344,11 @@ default boolean is_over_or_right(TemporalObject other) throws SQLException { */ default TNumber add(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.add_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.add_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.add_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.add_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); } else if (other instanceof TNumber) { - return (TNumber) Factory.create_temporal(functions.add_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.add_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -372,9 +372,9 @@ default TNumber add(Object other) throws OperationNotSupportedException { */ default TNumber radd(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.add_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.add_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.add_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.add_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -400,11 +400,11 @@ default TNumber radd(Object other) throws OperationNotSupportedException { */ default TNumber sub(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.sub_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.sub_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.sub_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.sub_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); } else if (other instanceof TNumber) { - return (TNumber) Factory.create_temporal(functions.sub_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.sub_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -428,9 +428,9 @@ default TNumber sub(Object other) throws OperationNotSupportedException { */ default TNumber rsub(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.sub_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.sub_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.sub_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.sub_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -515,11 +515,11 @@ default TNumber rmul(Object other) throws OperationNotSupportedException { */ default TNumber div(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.div_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.div_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.div_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.div_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); } else if (other instanceof TNumber) { - return (TNumber) Factory.create_temporal(functions.div_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.div_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -546,9 +546,9 @@ default TNumber div(Object other) throws OperationNotSupportedException { */ default TNumber rdiv(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.div_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.div_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.div_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.div_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -700,7 +700,7 @@ default TNumber _rTrueDiv(Object other) throws OperationNotSupportedException { * @return A new {@link TNumber} instance. */ default TNumber abs(){ - return (TNumber) Factory.create_temporal(functions.tnumber_abs(getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_abs(getNumberInner()),getCustomType(),getTemporalType()); } /** @@ -713,7 +713,7 @@ default TNumber abs(){ * @return A new {@link TNumber} instance. */ default TNumber delta_value(){ - return (TNumber) Factory.create_temporal(functions.tnumber_delta_value(getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.tnumber_delta_value(getNumberInner()),getCustomType(),getTemporalType()); } @@ -737,11 +737,11 @@ default TNumber delta_value(){ */ default TFloat distance(Object other) throws OperationNotSupportedException { if ( (other instanceof Integer)){ - return (TFloat) Factory.create_temporal(functions.tdistance_tfloat_float(getNumberInner(),(float)((Integer) other).intValue()),getCustomType(),getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tdistance_tfloat_float(getNumberInner(),(float)((Integer) other).intValue()),getCustomType(),getTemporalType()); } else if ((other instanceof Float)) { - return (TFloat) Factory.create_temporal(functions.tdistance_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tdistance_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); } else if (other instanceof TNumber) { - return (TFloat) Factory.create_temporal(functions.tdistance_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tdistance_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -766,13 +766,13 @@ default TFloat distance(Object other) throws OperationNotSupportedException { */ default float nearest_approach_distance(Object other) throws OperationNotSupportedException { if ( (other instanceof Integer)){ - return (float) functions.nad_tfloat_float(getNumberInner(),(float)((Integer) other).intValue()); + return (float) GeneratedFunctions.nad_tfloat_float(getNumberInner(),(float)((Integer) other).intValue()); } else if ((other instanceof Float)) { - return (float) functions.nad_tfloat_float(getNumberInner(),((Float) other).floatValue()); + return (float) GeneratedFunctions.nad_tfloat_float(getNumberInner(),((Float) other).floatValue()); } else if (other instanceof TNumber) { - return (float) functions.nad_tfloat_tfloat(getNumberInner(),((TNumber) other).getNumberInner()); + return (float) GeneratedFunctions.nad_tfloat_tfloat(getNumberInner(),((TNumber) other).getNumberInner()); } else if (other instanceof TBox) { - return (float) functions.nad_tfloat_tfloat(getNumberInner(),((TBox) other).get_inner()); + return (float) GeneratedFunctions.nad_tfloat_tfloat(getNumberInner(),((TBox) other).get_inner()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -796,7 +796,7 @@ default float nearest_approach_distance(Object other) throws OperationNotSupport */ // private Pointer createEmptyPointerArray(Runtime runtime) { // // Allocate memory for a list of integers (let's assume a fixed size, e.g., 10 elements) -// Pointer listPointer = Memory.allocate(Runtime.getRuntime(runtime), *Long.BYTES); // Adjust size as needed +// Pointer listPointer = Memory.allocate(runtime, *Long.BYTES); // Adjust size as needed // return listPointer; // } diff --git a/jmeos-core/src/main/java/types/basic/tpoint/TPoint.java b/jmeos-core/src/main/java/types/basic/tpoint/TPoint.java index 4fb016f21..c77d30962 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/TPoint.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/TPoint.java @@ -20,7 +20,7 @@ import types.collections.time.Time; import types.collections.time.tstzset; import types.temporal.*; -import functions.functions; +import functions.GeneratedFunctions; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.io.ParseException; import org.locationtech.jts.geom.Point; @@ -56,7 +56,7 @@ public interface TPoint extends Serializable { * @return A new {@link String} representing the temporal point. */ default String to_string(){ - return functions.tspatial_as_text(getPointInner(),15); + return GeneratedFunctions.tspatial_as_text(getPointInner(),15); } @@ -72,7 +72,7 @@ default String to_string(){ * @return A new {@link String} representing the temporal point. */ default String as_wkt(int decimals){ - return functions.tspatial_as_text(getPointInner(),decimals); + return GeneratedFunctions.tspatial_as_text(getPointInner(),decimals); } @@ -88,7 +88,7 @@ default String as_wkt(int decimals){ * @return A new {@link String} representing the temporal point. */ default String as_ewkt(int decimals){ - return functions.tspatial_as_ewkt(getPointInner(),decimals); + return GeneratedFunctions.tspatial_as_ewkt(getPointInner(),decimals); } @@ -108,11 +108,11 @@ default String as_ewkt(int decimals){ * @return A new GeoJSON string representing the trajectory of the temporal point. */ default String as_geojson(boolean unary_union, int option, int precision, String srs){ - return functions.geo_as_geojson(functions.tpoint_trajectory(getPointInner(), unary_union),option,precision,srs); + return GeneratedFunctions.geo_as_geojson(GeneratedFunctions.tpoint_trajectory(getPointInner(), unary_union),option,precision,srs); } default String as_geojson(int option, int precision, String srs){ - return functions.geo_as_geojson(functions.tpoint_trajectory(getPointInner(), false),option,precision,srs); + return GeneratedFunctions.geo_as_geojson(GeneratedFunctions.tpoint_trajectory(getPointInner(), false),option,precision,srs); } @@ -145,7 +145,7 @@ default Geometry to_shapely_geometry(int precision) throws ParseException { * @return An {@link STBox} representing the bounding box. */ default STBox bounding_box_point(){ - return new STBox(functions.tspatial_to_stbox(getPointInner())); + return new STBox(GeneratedFunctions.tspatial_to_stbox(getPointInner())); } /** @@ -161,10 +161,10 @@ default List values(int precision){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.temporal_instants(this.getPointInner(), intPointer); + Pointer intPointer = Memory.allocate(runtime, 4); + Pointer resPointer= GeneratedFunctions.temporal_instants(this.getPointInner(), intPointer); List pointList= new ArrayList<>(); - int count= intPointer.getInt(Integer.BYTES); + int count= intPointer.getInt(0); for(int i=0; i values(int precision){ * @throws ParseException */ default Point start_value(int precision) throws ParseException { - return ConversionUtils.gserialized_to_shapely_point(functions.tgeo_start_value(getPointInner()),precision); + return ConversionUtils.gserialized_to_shapely_point(GeneratedFunctions.tgeo_start_value(getPointInner()),precision); } /** @@ -198,7 +198,7 @@ default Point start_value(int precision) throws ParseException { * @throws ParseException */ default Point end_value(int precision) throws ParseException { - return ConversionUtils.gserialized_to_shapely_point(functions.tgeo_end_value(getPointInner()),precision); + return ConversionUtils.gserialized_to_shapely_point(GeneratedFunctions.tgeo_end_value(getPointInner()),precision); } /** @@ -215,8 +215,8 @@ default Point end_value(int precision) throws ParseException { // // Create a JNR-FFI runtime instance // Runtime runtime = Runtime.getSystemRuntime(); // // Allocate memory for an integer (4 bytes) but do not set a value -// Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); -// Pointer resPointer= functions.tpoint_values(this.getPointInner(), intPointer); +// Pointer intPointer = Memory.allocate(runtime, 4); +// Pointer resPointer= GeneratedFunctions.tpoint_values(this.getPointInner(), intPointer); // List pointList= new ArrayList<>(); // int count= intPointer.getInt(Integer.BYTES); // StringBuilder sb = null; @@ -243,17 +243,17 @@ default Point end_value(int precision) throws ParseException { // // @Override // public Pointer createStringInner(String str) { -// return functions.tgeom(str); +// return GeneratedFunctions.tgeom(str); // } // // @Override // public Point start_element() throws ParseException { -// return ConversionUtils.gserialized_to_shapely_point(functions.tgeo_start_value(this.get_inner()), precision); +// return ConversionUtils.gserialized_to_shapely_point(GeneratedFunctions.tgeo_start_value(this.get_inner()), precision); // } // // @Override // public Point end_element() throws ParseException { -// return ConversionUtils.gserialized_to_shapely_point(functions.tgeo_end_value(this.get_inner()), precision); +// return ConversionUtils.gserialized_to_shapely_point(GeneratedFunctions.tgeo_end_value(this.get_inner()), precision); // } // }; // } @@ -272,12 +272,9 @@ default Point end_value(int precision) throws ParseException { tpoint_value_at_timestamp */ default Point value_at_timestamp(LocalDateTime ts, int precision) throws ParseException { - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer geomPointer = Memory.allocate(Runtime.getRuntime(runtime), 8); - boolean b= functions.tgeo_value_at_timestamptz(this.getPointInner(), ConversionUtils.datetimeToTimestampTz(ts), true, geomPointer); - Pointer geom= geomPointer.getPointer(Long.BYTES); + // The generated wrapper handles the bool+out-param internally and returns + // the GSERIALIZED* directly (null when the timestamp is absent). + Pointer geom= GeneratedFunctions.tgeo_value_at_timestamptz(this.getPointInner(), ConversionUtils.datetimeToTimestampTz(ts), true); return ConversionUtils.gserialized_to_shapely_point(geom, precision); } @@ -292,7 +289,7 @@ default Point value_at_timestamp(LocalDateTime ts, int precision) throws ParseEx * @return A {@link Float} with the length of the trajectory. */ default float length(){ - return (float) functions.tpoint_length(getPointInner()); + return (float) GeneratedFunctions.tpoint_length(getPointInner()); } @@ -305,7 +302,7 @@ default float length(){ * @return A {@link TFloat} with the cumulative length of the trajectory. */ default TFloat cumulative_length(){ - return (TFloat) Factory.create_temporal(functions.tpoint_cumulative_length(getPointInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tpoint_cumulative_length(getPointInner()),"Float",getTemporalType()); } @@ -318,7 +315,7 @@ default TFloat cumulative_length(){ * @return A {@link TFloat} with the speed of the temporal point. */ default TFloat speed(){ - return (TFloat) Factory.create_temporal(functions.tpoint_speed(getPointInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tpoint_speed(getPointInner()),"Float",getTemporalType()); } @@ -331,7 +328,7 @@ default TFloat speed(){ * @return A {@link TFloat} with the x coordinate of the temporal point. */ default TFloat x(){ - return (TFloat) Factory.create_temporal(functions.tpoint_get_x(getPointInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tpoint_get_x(getPointInner()),"Float",getTemporalType()); } @@ -345,7 +342,7 @@ default TFloat x(){ * @return A {@link TFloat} with the y coordinate of the temporal point. */ default TFloat y(){ - return (TFloat) Factory.create_temporal(functions.tpoint_get_y(getPointInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tpoint_get_y(getPointInner()),"Float",getTemporalType()); } @@ -359,7 +356,7 @@ default TFloat y(){ * @return A {@link TFloat} with the z coordinate of the temporal point. */ default TFloat z(){ - return (TFloat) Factory.create_temporal(functions.tpoint_get_z(getPointInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tpoint_get_z(getPointInner()),"Float",getTemporalType()); } @@ -390,10 +387,10 @@ default List stboxes(){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.tgeo_stboxes(this.getPointInner(), intPointer); + Pointer intPointer = Memory.allocate(runtime, 4); + Pointer resPointer= GeneratedFunctions.tgeo_stboxes(this.getPointInner(), intPointer); List stBoxList= new ArrayList<>(); - int length= intPointer.getInt(Integer.BYTES); + int length= intPointer.getInt(0); for(int i=0; i stboxes(){ * @return A {@link Boolean} indicating whether the temporal point is simple. */ default boolean is_simple(){ - return functions.tpoint_is_simple(getPointInner()); + return GeneratedFunctions.tpoint_is_simple(getPointInner()); } @@ -430,7 +427,7 @@ default boolean is_simple(){ * @return A new {@link TFloat} indicating the temporal bearing between the temporal point and "other". */ default TFloat bearing(TPoint other){ - return (TFloat) Factory.create_temporal(functions.bearing_tpoint_tpoint(getPointInner(),other.getPointInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.bearing_tpoint_tpoint(getPointInner(),other.getPointInner()),"Float",getTemporalType()); } @@ -445,7 +442,7 @@ default TFloat bearing(TPoint other){ * @return A new {@link TFloatSeqSet} indicating the direction of the temporal point. */ default TFloatSeqSet direction(){ - return (TFloatSeqSet) Factory.create_temporal(functions.tpoint_direction(getPointInner()),"Float",getTemporalType()); + return (TFloatSeqSet) Factory.create_temporal(GeneratedFunctions.tpoint_direction(getPointInner()),"Float",getTemporalType()); } @@ -459,7 +456,7 @@ default TFloatSeqSet direction(){ * @return A new {@link TFloatSeqSet} indicating the temporal azimuth of the temporal point. */ default TFloatSeqSet azimuth(){ - return (TFloatSeqSet) Factory.create_temporal(functions.tpoint_azimuth(getPointInner()),"Float",getTemporalType()); + return (TFloatSeqSet) Factory.create_temporal(GeneratedFunctions.tpoint_azimuth(getPointInner()),"Float",getTemporalType()); } @@ -473,7 +470,7 @@ default TFloatSeqSet azimuth(){ * @return A new {@link TFloatSeqSet} indicating the temporal angular_difference of the temporal point. */ default TFloatSeqSet angular_difference(){ - return (TFloatSeqSet) Factory.create_temporal(functions.tpoint_angular_difference(getPointInner()),"Float", TemporalType.TEMPORAL_SEQUENCE_SET); + return (TFloatSeqSet) Factory.create_temporal(GeneratedFunctions.tpoint_angular_difference(getPointInner()),"Float", TemporalType.TEMPORAL_SEQUENCE_SET); } @@ -488,7 +485,7 @@ default TFloatSeqSet angular_difference(){ * @throws ParseException */ default Point time_weighted_centroid(int precision) throws ParseException { - return (Point) ConversionUtils.gserialized_to_shapely_geometry(functions.tpoint_twcentroid(getPointInner()),precision); + return (Point) ConversionUtils.gserialized_to_shapely_geometry(GeneratedFunctions.tpoint_twcentroid(getPointInner()),precision); } @@ -504,7 +501,7 @@ default Point time_weighted_centroid(int precision) throws ParseException { * @return An {@link Integer} representing the SRID. */ default int srid(){ - return functions.tspatial_srid(getPointInner()); + return GeneratedFunctions.tspatial_srid(getPointInner()); } @@ -517,7 +514,7 @@ default int srid(){ * @return Returns a new TPoint with the given SRID. */ default TPoint set_srid(int srid){ - return (TPoint) Factory.create_temporal(functions.tspatial_set_srid(getPointInner(),srid),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.tspatial_set_srid(getPointInner(),srid),getCustomType(),getTemporalType()); } @@ -536,7 +533,7 @@ default TPoint set_srid(int srid){ * @return A new {@link TPoint} object. */ default TPoint round(int max_decimals){ - return (TPoint) Factory.create_temporal(functions.temporal_round(getPointInner(),max_decimals),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.temporal_round(getPointInner(),max_decimals),getCustomType(),getTemporalType()); } /** @@ -552,9 +549,9 @@ default List make_simple(){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.tpoint_make_simple(this.getPointInner(), intPointer); - int length= intPointer.getInt(Integer.BYTES); + Pointer intPointer = Memory.allocate(runtime, 4); + Pointer resPointer= GeneratedFunctions.tpoint_make_simple(this.getPointInner(), intPointer); + int length= intPointer.getInt(0); List tPointList= new ArrayList<>(); TemporalType temporalType= getTemporalType(); String customType= getCustomType(); @@ -579,7 +576,7 @@ default List make_simple(){ * @return A new {@link STBox} instance. */ default STBox expand(float other){ - return new STBox(functions.stbox_expand_space(getPointInner(),other)); + return new STBox(GeneratedFunctions.stbox_expand_space(getPointInner(),other)); } /** Returns a new :class:`TPoint` of the same subclass of ``self`` transformed to another SRID @@ -598,10 +595,10 @@ default STBox expand(float other){ AbstractMap.SimpleEntry srids = new AbstractMap.SimpleEntry<>(this.srid(), srid); // Check and cache the projection if not already cached if (!projectionCache.containsKey(srids)) { - projectionCache.put(srids, functions.lwproj_transform(srids.getKey(), srids.getValue())); + projectionCache.put(srids, GeneratedFunctions.lwproj_transform(srids.getKey(), srids.getValue())); } // Perform the transformation using the cached projection - Pointer result = functions.tpoint_transform_pj(this.getPointInner(), srid, projectionCache.get(srids)); + Pointer result = GeneratedFunctions.tpoint_transform_pj(this.getPointInner(), srid, projectionCache.get(srids)); // Create and return a new TPoint instance return (TPoint) Factory.create_temporal(result, getCustomType(), getTemporalType()); @@ -632,11 +629,11 @@ default STBox expand(float other){ default TPoint at(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ boolean geodetic = this instanceof TGeomPoint; - return (TPoint) Factory.create_temporal(functions.tpoint_at_value(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, geodetic)),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.tpoint_at_value(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, geodetic)),getCustomType(),getTemporalType()); } else if (other instanceof GeoSet) { - return (TPoint) Factory.create_temporal(functions.temporal_at_values(getPointInner(),((GeoSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.temporal_at_values(getPointInner(),((GeoSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof STBox) { - return (TPoint) Factory.create_temporal(functions.tgeo_at_stbox(getPointInner(),((STBox) other).get_inner(),true),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.tgeo_at_stbox(getPointInner(),((STBox) other).get_inner(),true),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -664,11 +661,11 @@ default TPoint at(Object other) throws OperationNotSupportedException { default TPoint minus(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ boolean geodetic = this instanceof TGeomPoint; - return (TPoint) Factory.create_temporal(functions.tpoint_minus_value(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, geodetic)),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.tpoint_minus_value(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, geodetic)),getCustomType(),getTemporalType()); } else if (other instanceof GeoSet) { - return (TPoint) Factory.create_temporal(functions.temporal_minus_values(getPointInner(),((GeoSet) other).get_inner()),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.temporal_minus_values(getPointInner(),((GeoSet) other).get_inner()),getCustomType(),getTemporalType()); } else if (other instanceof STBox) { - return (TPoint) Factory.create_temporal(functions.tgeo_minus_stbox(getPointInner(),((STBox) other).get_inner(),true),getCustomType(),getTemporalType()); + return (TPoint) Factory.create_temporal(GeneratedFunctions.tgeo_minus_stbox(getPointInner(),((STBox) other).get_inner(),true),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -894,9 +891,9 @@ default boolean is_over_or_behind(TemporalObject other){ */ default boolean is_ever_contained_in(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return 1 == functions.econtains_geo_tgeo(ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), getPointInner()); + return 1 == GeneratedFunctions.econtains_geo_tgeo(ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), getPointInner()); } else if (other instanceof STBox) { - return 1 == functions.econtains_geo_tgeo(functions.stbox_to_geo(((STBox) other).get_inner()),getPointInner()); + return 1 == GeneratedFunctions.econtains_geo_tgeo(GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner()),getPointInner()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -917,11 +914,11 @@ default boolean is_ever_contained_in(Object other) throws OperationNotSupportedE */ default boolean is_ever_disjoint(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return 1 == functions.edisjoint_tgeo_geo(getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); + return 1 == GeneratedFunctions.edisjoint_tgeo_geo(getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); } else if (other instanceof STBox) { - return 1 == functions.edisjoint_tgeo_geo(getPointInner(), functions.stbox_to_geo(((STBox) other).get_inner())); + return 1 == GeneratedFunctions.edisjoint_tgeo_geo(getPointInner(), GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())); } else if (other instanceof TPoint) { - return 1 == functions.edisjoint_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner()); + return 1 == GeneratedFunctions.edisjoint_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner()); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -943,11 +940,11 @@ default boolean is_ever_disjoint(Object other) throws OperationNotSupportedExcep */ default boolean is_ever_within_distance(Object other, float distance) throws OperationNotSupportedException { if (other instanceof Geometry){ - return 1 == functions.edwithin_tgeo_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), distance); + return 1 == GeneratedFunctions.edwithin_tgeo_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), distance); } else if (other instanceof STBox) { - return 1 == functions.edwithin_tgeo_geo(getPointInner(), functions.stbox_to_geo(((STBox) other).get_inner()), distance); + return 1 == GeneratedFunctions.edwithin_tgeo_geo(getPointInner(), GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner()), distance); } else if (other instanceof TPoint) { - return 1 == functions.edwithin_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner(), distance); + return 1 == GeneratedFunctions.edwithin_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner(), distance); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -968,11 +965,11 @@ default boolean is_ever_within_distance(Object other, float distance) throws Ope */ default boolean ever_intersects(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return 1 == functions.eintersects_tgeo_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); + return 1 == GeneratedFunctions.eintersects_tgeo_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); } else if (other instanceof STBox) { - return 1 == functions.eintersects_tgeo_geo(getPointInner(), functions.stbox_to_geo(((STBox) other).get_inner())); + return 1 == GeneratedFunctions.eintersects_tgeo_geo(getPointInner(), GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())); } else if (other instanceof TPoint) { - return 1 == functions.eintersects_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner()); + return 1 == GeneratedFunctions.eintersects_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner()); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -992,9 +989,9 @@ default boolean ever_intersects(Object other) throws OperationNotSupportedExcept */ default boolean ever_touches(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return 1 == functions.etouches_tpoint_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); + return 1 == GeneratedFunctions.etouches_tpoint_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); } else if (other instanceof STBox) { - return 1 == functions.etouches_tpoint_geo(getPointInner(), functions.stbox_to_geo(((STBox) other).get_inner())); + return 1 == GeneratedFunctions.etouches_tpoint_geo(getPointInner(), GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1017,9 +1014,9 @@ default boolean ever_touches(Object other) throws OperationNotSupportedException */ default TBool is_spatially_contained_in(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TBool) Factory.create_temporal(functions.tcontains_geo_tgeo(ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), getPointInner(),false,false), "Boolean", getTemporalType() ) ; + return (TBool) Factory.create_temporal(GeneratedFunctions.tcontains_geo_tgeo(ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), getPointInner()), "Boolean", getTemporalType() ) ; } else if (other instanceof STBox) { - return (TBool) Factory.create_temporal(functions.tcontains_geo_tgeo(functions.stbox_to_geo(((STBox) other).get_inner()), getPointInner(), false,false), "Boolean", getTemporalType() ); + return (TBool) Factory.create_temporal(GeneratedFunctions.tcontains_geo_tgeo(GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner()), getPointInner()), "Boolean", getTemporalType() ); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1039,9 +1036,9 @@ default TBool is_spatially_contained_in(Object other) throws OperationNotSupport */ default TBool disjoint(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TBool) Factory.create_temporal(functions.tdisjoint_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint),false,false), "Boolean", getTemporalType() ) ; + return (TBool) Factory.create_temporal(GeneratedFunctions.tdisjoint_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), "Boolean", getTemporalType() ) ; } else if (other instanceof STBox) { - return (TBool) Factory.create_temporal(functions.tdisjoint_tgeo_geo(getPointInner(),functions.stbox_to_geo(((STBox) other).get_inner()), false,false), "Boolean", getTemporalType() ); + return (TBool) Factory.create_temporal(GeneratedFunctions.tdisjoint_tgeo_geo(getPointInner(),GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())), "Boolean", getTemporalType() ); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1062,11 +1059,11 @@ default TBool disjoint(Object other) throws OperationNotSupportedException { */ default TBool within_distance(Object other, float distance) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TBool) Factory.create_temporal(functions.tdwithin_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), distance, false,false), "Boolean", getTemporalType() ) ; + return (TBool) Factory.create_temporal(GeneratedFunctions.tdwithin_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint), distance), "Boolean", getTemporalType() ) ; } else if (other instanceof STBox) { - return (TBool) Factory.create_temporal(functions.tdwithin_tgeo_geo(getPointInner(),functions.stbox_to_geo(((STBox) other).get_inner()), distance,false,false), "Boolean", getTemporalType() ); + return (TBool) Factory.create_temporal(GeneratedFunctions.tdwithin_tgeo_geo(getPointInner(),GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner()), distance), "Boolean", getTemporalType() ); } else if(other instanceof TPoint){ - return (TBool) Factory.create_temporal(functions.tdwithin_tgeo_tgeo(getPointInner(),((TPoint) other).getPointInner(), distance,false,false), "Boolean", getTemporalType() ); + return (TBool) Factory.create_temporal(GeneratedFunctions.tdwithin_tgeo_tgeo(getPointInner(),((TPoint) other).getPointInner(), distance), "Boolean", getTemporalType() ); }else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1086,9 +1083,9 @@ default TBool within_distance(Object other, float distance) throws OperationNotS */ default TBool intersects(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TBool) Factory.create_temporal(functions.tintersects_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint),false,false), "Boolean", getTemporalType() ) ; + return (TBool) Factory.create_temporal(GeneratedFunctions.tintersects_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), "Boolean", getTemporalType() ) ; } else if (other instanceof STBox) { - return (TBool) Factory.create_temporal(functions.tintersects_tgeo_geo(getPointInner(),functions.stbox_to_geo(((STBox) other).get_inner()), false,false), "Boolean", getTemporalType() ); + return (TBool) Factory.create_temporal(GeneratedFunctions.tintersects_tgeo_geo(getPointInner(),GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())), "Boolean", getTemporalType() ); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1108,9 +1105,9 @@ default TBool intersects(Object other) throws OperationNotSupportedException { */ default TBool touches(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TBool) Factory.create_temporal(functions.ttouches_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint),false,false), "Boolean", getTemporalType() ) ; + return (TBool) Factory.create_temporal(GeneratedFunctions.ttouches_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), "Boolean", getTemporalType() ) ; } else if (other instanceof STBox) { - return (TBool) Factory.create_temporal(functions.ttouches_tgeo_geo(getPointInner(),functions.stbox_to_geo(((STBox) other).get_inner()), false,false), "Boolean", getTemporalType() ); + return (TBool) Factory.create_temporal(GeneratedFunctions.ttouches_tgeo_geo(getPointInner(),GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())), "Boolean", getTemporalType() ); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1132,11 +1129,11 @@ default TBool touches(Object other) throws OperationNotSupportedException { */ default TFloat distance(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TFloat) Factory.create_temporal(functions.tdistance_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), "Float", getTemporalType() ) ; + return (TFloat) Factory.create_temporal(GeneratedFunctions.tdistance_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), "Float", getTemporalType() ) ; } else if (other instanceof STBox) { - return (TFloat) Factory.create_temporal(functions.tdistance_tgeo_geo(getPointInner(),functions.stbox_to_geo(((STBox) other).get_inner())), "Float", getTemporalType() ); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tdistance_tgeo_geo(getPointInner(),GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())), "Float", getTemporalType() ); } else if(other instanceof TPoint){ - return (TFloat) Factory.create_temporal(functions.tdistance_tgeo_tgeo(getPointInner(),((TPoint) other).getPointInner()), "Float", getTemporalType() ); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tdistance_tgeo_tgeo(getPointInner(),((TPoint) other).getPointInner()), "Float", getTemporalType() ); }else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1157,11 +1154,11 @@ default TFloat distance(Object other) throws OperationNotSupportedException { */ default float nearest_approach_distance(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (float) functions.nad_tgeo_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); + return (float) GeneratedFunctions.nad_tgeo_geo( getPointInner(), ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)); } else if (other instanceof STBox) { - return (float) functions.nad_tgeo_stbox(getPointInner(), functions.stbox_to_geo(((STBox) other).get_inner())); + return (float) GeneratedFunctions.nad_tgeo_stbox(getPointInner(), GeneratedFunctions.stbox_to_geo(((STBox) other).get_inner())); } else if (other instanceof TPoint) { - return (float) functions.nad_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner()); + return (float) GeneratedFunctions.nad_tgeo_tgeo(getPointInner(), ((TPoint) other).getPointInner()); } else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1181,9 +1178,9 @@ default float nearest_approach_distance(Object other) throws OperationNotSupport */ default TInstant nearest_approach_instant(Object other) throws OperationNotSupportedException { if (other instanceof Geometry){ - return (TInstant) Factory.create_temporal(functions.nai_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), getCustomType(), getTemporalType() ) ; + return (TInstant) Factory.create_temporal(GeneratedFunctions.nai_tgeo_geo(getPointInner(),ConversionUtils.geo_to_gserialized((Geometry) other, this instanceof TGeogPoint)), getCustomType(), getTemporalType() ) ; } else if(other instanceof TPoint){ - return (TInstant) Factory.create_temporal(functions.nai_tgeo_tgeo(getPointInner(),((TPoint) other).getPointInner()), getCustomType(), getTemporalType() ); + return (TInstant) Factory.create_temporal(GeneratedFunctions.nai_tgeo_tgeo(getPointInner(),((TPoint) other).getPointInner()), getCustomType(), getTemporalType() ); }else{ throw new OperationNotSupportedException("Operand not supported"); } @@ -1208,9 +1205,9 @@ default Geometry shortest_line(Object other) throws OperationNotSupportedExcepti if (other instanceof Geometry){ boolean b= this instanceof TGeogPoint; Pointer gs= ConversionUtils.geo_to_gserialized((Geometry) other, b); - res= functions.shortestline_tgeo_geo(this.getPointInner(), gs); + res= GeneratedFunctions.shortestline_tgeo_geo(this.getPointInner(), gs); } else if(other instanceof TPoint){ - res= functions.shortestline_tgeo_geo(this.getPointInner(), ((TPoint) other).getPointInner()); + res= GeneratedFunctions.shortestline_tgeo_geo(this.getPointInner(), ((TPoint) other).getPointInner()); }else{ throw new OperationNotSupportedException("Operand not supported"); } diff --git a/jmeos-core/src/main/java/types/temporal/Temporal.java b/jmeos-core/src/main/java/types/temporal/Temporal.java index c528596e2..e4a8cec63 100644 --- a/jmeos-core/src/main/java/types/temporal/Temporal.java +++ b/jmeos-core/src/main/java/types/temporal/Temporal.java @@ -1,6 +1,6 @@ package types.temporal; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Memory; import jnr.ffi.Pointer; import jnr.ffi.Runtime; @@ -63,7 +63,7 @@ public static Temporal _factory(Pointer inner, String customType, TemporalType t * @return a copy of the object */ public Temporal copy(){ - return Factory.create_temporal(functions.temporal_copy(this.inner),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_copy(this.inner),this.getCustomType(),this.getTemporalType()); } /** @@ -76,7 +76,7 @@ public Temporal copy(){ * @return A temporal object from a hex-encoded WKB string. */ public Temporal from_hexwkb(String str){ - Pointer result = functions.temporal_from_hexwkb(str); + Pointer result = GeneratedFunctions.temporal_from_hexwkb(str); return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); } @@ -94,7 +94,7 @@ public Temporal from_hexwkb(String str){ */ public Temporal from_wkb(Pointer wkb, long size){ - Pointer result= functions.temporal_from_wkb(wkb, size); + Pointer result= GeneratedFunctions.temporal_from_wkb(wkb, size); return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); } @@ -108,7 +108,7 @@ public Temporal from_wkb(Pointer wkb, long size){ temporal_as_hexwkb */ public String as_hexwkb(Pointer wkb, long size){ - String[] result= new String[]{functions.temporal_as_hexwkb(this.inner, (byte) -1)}; + String[] result= new String[]{GeneratedFunctions.temporal_as_hexwkb(this.inner, (byte) -1)}; // System.out.println(result[0]); return result[0]; } @@ -123,7 +123,7 @@ public String as_hexwkb(Pointer wkb, long size){ temporal_as_wkb */ public Pointer as_wkb(){ - Pointer result= functions.temporal_as_wkb(this.inner, (byte) 4); + Pointer result= GeneratedFunctions.temporal_as_wkb(this.inner, (byte) 4); return result; } @@ -137,7 +137,7 @@ public Pointer as_wkb(){ * @return A temporal object from a MF-JSON string. */ // public Temporal from_mfjson(String str){ -// Pointer result = functions.temporal_as_(str); +// Pointer result = GeneratedFunctions.temporal_as_(str); // return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); // } @@ -161,7 +161,7 @@ public Pointer as_wkb(){ * @return The temporal object as a MF-JSON string. */ public String as_mfjson(boolean with_bbox, int flags, int precision, String srs){ - return functions.temporal_as_mfjson(this.inner,with_bbox,flags,precision,srs); + return GeneratedFunctions.temporal_as_mfjson(this.inner,with_bbox,flags,precision,srs); } @@ -206,12 +206,12 @@ public Temporal from_merge(Pointer temporals){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer temporalP = Memory.allocate(Runtime.getRuntime(runtime), Long.BYTES); + Pointer temporalP = Memory.allocate(runtime, Long.BYTES); // Copy the array elements into the allocated memory for (int i = 0; i < length_list; i++) { temporalP.putPointer((long) i * Long.BYTES, temporal_list.get(i).getInner()); } - Pointer result= functions.temporal_merge_array(temporalP, length_list); + Pointer result= GeneratedFunctions.temporal_merge_array(temporalP, length_list); return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); } @@ -241,12 +241,12 @@ public Temporal from_merge_array(List temporals) { // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer temporalPointer = Memory.allocate(Runtime.getRuntime(runtime), Long.BYTES); + Pointer temporalPointer = Memory.allocate(runtime, Long.BYTES); // Copy the array elements into the allocated memory for (int i = 0; i < length; i++) { temporalPointer.putPointer((long) i * Long.BYTES, temporal_list.get(i).getInner()); } - Pointer result = functions.temporal_merge_array(temporalPointer, length); + Pointer result = GeneratedFunctions.temporal_merge_array(temporalPointer, length); return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); } @@ -268,7 +268,7 @@ public Pointer getInner(){ * @return The bounding box of `self`. */ public tstzspan bounding_box(){ - return new tstzspan(functions.temporal_to_tstzspan(this.inner)); + return new tstzspan(GeneratedFunctions.temporal_to_tstzspan(this.inner)); } /** @@ -279,13 +279,13 @@ public tstzspan bounding_box(){ * @return the {@link tstzspanset} on which `self` is defined. */ public tstzspanset time(){ - return new tstzspanset(functions.temporal_time(this.inner)); + return new tstzspanset(GeneratedFunctions.temporal_time(this.inner)); } public TInterpolation interpolation(){ - return TInterpolation.fromString(functions.temporal_interp(this.inner),true); + return TInterpolation.fromString(GeneratedFunctions.temporal_interp(this.inner),true); } @@ -310,7 +310,7 @@ public tstzspan period(){ * @return */ public tstzspan timespan(){ - return new tstzspan(functions.temporal_to_tstzspan(this.inner)); + return new tstzspan(GeneratedFunctions.temporal_to_tstzspan(this.inner)); } @@ -322,7 +322,7 @@ public tstzspan timespan(){ * @return Returns the number of instants in "this". */ public int num_instants(){ - return functions.temporal_num_instants(this.inner); + return GeneratedFunctions.temporal_num_instants(this.inner); } @@ -334,7 +334,7 @@ public int num_instants(){ * @return Returns the first instant in "this". */ public Temporal start_instant(){ - return Factory.create_temporal(functions.temporal_start_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); + return Factory.create_temporal(GeneratedFunctions.temporal_start_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); } /** @@ -345,7 +345,7 @@ public Temporal start_instant(){ * @return Returns the last instant in "this". */ public Temporal end_instant(){ - return Factory.create_temporal(functions.temporal_end_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); + return Factory.create_temporal(GeneratedFunctions.temporal_end_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); } @@ -358,7 +358,7 @@ public Temporal end_instant(){ * @return Returns the instant in "this" with the minimum value. */ public Temporal min_instant(){ - return Factory.create_temporal(functions.temporal_min_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); + return Factory.create_temporal(GeneratedFunctions.temporal_min_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); } /** @@ -370,7 +370,7 @@ public Temporal min_instant(){ * @return Returns the instant in "this" with the maximum value. */ public Temporal max_instant(){ - return Factory.create_temporal(functions.temporal_max_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); + return Factory.create_temporal(GeneratedFunctions.temporal_max_instant(this.inner), this.getCustomType(), TEMPORAL_INSTANT); } /** @@ -382,18 +382,18 @@ public Temporal max_instant(){ * @return a new Temporal */ public Temporal instant_n(int n){ - return Factory.create_temporal(functions.temporal_instant_n(this.inner, n+1), this.getCustomType(), TEMPORAL_INSTANT); + return Factory.create_temporal(GeneratedFunctions.temporal_instant_n(this.inner, n+1), this.getCustomType(), TEMPORAL_INSTANT); } // public List instants(){ -// functions.temporal_instants(this.inner); +// GeneratedFunctions.temporal_instants(this.inner); // } // public abstract Temporal value_at_timestamp(); public Duration duration(boolean ignore_gaps){ ignore_gaps = false; - return ConversionUtils.interval_to_timedelta(functions.temporal_duration(this.inner, ignore_gaps)); + return ConversionUtils.interval_to_timedelta(GeneratedFunctions.temporal_duration(this.inner, ignore_gaps)); } public tstzspan tstzspan(){ @@ -408,7 +408,7 @@ public tstzspan tstzspan(){ * @return Returns the number of timestamps in "this". */ public int num_timestamps(){ - return functions.temporal_num_timestamps(this.inner); + return GeneratedFunctions.temporal_num_timestamps(this.inner); } /** @@ -419,7 +419,7 @@ public int num_timestamps(){ * @return Returns the first timestamp in "this". */ public LocalDateTime start_timestamp(){ - return ConversionUtils.timestamptz_to_datetime(functions.temporal_start_timestamptz(this.inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.temporal_start_timestamptz(this.inner)); } @@ -431,7 +431,7 @@ public LocalDateTime start_timestamp(){ * @return Returns the last timestamp in "this". */ public LocalDateTime end_timestamp(){ - return ConversionUtils.timestamptz_to_datetime(functions.temporal_end_timestamptz(this.inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.temporal_end_timestamptz(this.inner)); } // Convert timestamp (number of seconds since epoch) to LocalDateTime @@ -440,7 +440,7 @@ public static LocalDateTime timestampToLocalDateTime(int timestamp) { } public LocalDateTime timestamp_n(int n){ - return timestampToLocalDateTime(Objects.requireNonNull(functions.temporal_timestamptz_n(this.inner, n + 1)).getInt(Integer.BYTES)); + return timestampToLocalDateTime(Objects.requireNonNull(GeneratedFunctions.temporal_timestamptz_n(this.inner, n + 1)).getInt(Integer.BYTES)); } /** @@ -454,8 +454,8 @@ public List timestamps(){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer array= functions.temporal_timestamps(this.inner, intPointer); + Pointer intPointer = Memory.allocate(runtime, 4); + Pointer array= GeneratedFunctions.temporal_timestamps(this.inner, intPointer); List datetimeList= new ArrayList(); for(int i=0;i instants(){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer array= functions.temporal_instants(this.inner, intPointer); + Pointer intPointer = Memory.allocate(runtime, 4); + Pointer array= GeneratedFunctions.temporal_instants(this.inner, intPointer); List instantList= new ArrayList(); for(int i=0; i segments(){ // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer array= functions.temporal_segments(this.inner, intPointer); + Pointer intPointer = Memory.allocate(runtime, 4); + Pointer array= GeneratedFunctions.temporal_segments(this.inner, intPointer); List segmentList= new ArrayList(); - int num_segments= functions.temporal_num_sequences(this.inner); + int num_segments= GeneratedFunctions.temporal_num_sequences(this.inner); for(int i=0;i segments(){ * @return The hash of the temporal object. */ public long hash(){ - return functions.temporal_hash(this.inner); + return GeneratedFunctions.temporal_hash(this.inner); } /* ------------------------- Transformations ---------------------------------------- */ @@ -545,7 +545,7 @@ public long hash(){ * * interpolation. */ public Temporal set_interpolation(TInterpolation interpolation){ - return Factory.create_temporal(functions.temporal_set_interp(this.inner, interpolation.getValue()),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_set_interp(this.inner, interpolation.getValue()),this.getCustomType(),this.getTemporalType()); } @@ -561,7 +561,7 @@ public Temporal set_interpolation(TInterpolation interpolation){ */ public Temporal shift_time(Duration duration){ - Pointer shifted= functions.temporal_shift_time(this.inner, ConversionUtils.timedelta_to_interval(duration)); + Pointer shifted= GeneratedFunctions.temporal_shift_time(this.inner, ConversionUtils.timedelta_to_interval(duration)); return Factory.create_temporal(shifted,this.getCustomType(),this.getTemporalType()); } @@ -577,7 +577,7 @@ public Temporal shift_time(Duration duration){ temporal_scale_time */ public Temporal scale_time(Duration duration){ - Pointer scaled= functions.temporal_scale_time(this.inner, ConversionUtils.timedelta_to_interval(duration)); + Pointer scaled= GeneratedFunctions.temporal_scale_time(this.inner, ConversionUtils.timedelta_to_interval(duration)); return Factory.create_temporal(scaled,this.getCustomType(),this.getTemporalType()); } @@ -595,7 +595,7 @@ public Temporal scale_time(Duration duration){ temporal_shift_scale_time */ public Temporal shift_scale_time(Duration shift, Duration scale){ - Pointer scaled= functions.temporal_shift_scale_time(this.inner, ConversionUtils.timedelta_to_interval(shift), ConversionUtils.timedelta_to_interval(scale)); + Pointer scaled= GeneratedFunctions.temporal_shift_scale_time(this.inner, ConversionUtils.timedelta_to_interval(shift), ConversionUtils.timedelta_to_interval(scale)); return Factory.create_temporal(scaled,this.getCustomType(),this.getTemporalType()); } @@ -618,20 +618,20 @@ public Temporal temporal_sample(Object duration, Object start, TInterpolation in Pointer dt= null; TInterpolation intrp= null; if (start == null){ - st= functions.pg_timestamptz_in("2000-01-03", -1); + st= GeneratedFunctions.timestamptz_in("2000-01-03", -1); } else if (start instanceof LocalDateTime){ st= ConversionUtils.datetimeToTimestampTz((LocalDateTime)start); } else{ - st= functions.pg_timestamptz_in(start.toString(), -1); + st= GeneratedFunctions.timestamptz_in(start.toString(), -1); } if(duration instanceof Duration){ dt= ConversionUtils.timedelta_to_interval((Duration) duration); } else{ - dt= functions.pg_interval_in(duration.toString(), -1); + dt= GeneratedFunctions.interval_in(duration.toString(), -1); } if(interpolation == null){ @@ -641,7 +641,7 @@ else if (start instanceof LocalDateTime){ intrp= interpolation; } int intrp_val= intrp.getValue(); - Pointer result= functions.temporal_tsample(this.inner, dt, st, intrp_val); + Pointer result= GeneratedFunctions.temporal_tsample(this.inner, dt, st, intrp_val); return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); } @@ -662,22 +662,22 @@ public Temporal temporal_precision(Object duration, Object start){ OffsetDateTime st= null; Pointer dt= null; if (start == null){ - st= functions.pg_timestamptz_in("2000-01-03", -1); + st= GeneratedFunctions.timestamptz_in("2000-01-03", -1); } else if (start instanceof LocalDateTime){ st= ConversionUtils.datetimeToTimestampTz((LocalDateTime)start); } else{ - st= functions.pg_timestamptz_in(start.toString(), -1); + st= GeneratedFunctions.timestamptz_in(start.toString(), -1); } if(duration instanceof Duration){ dt= ConversionUtils.timedelta_to_interval((Duration) duration); } else{ - dt= functions.pg_interval_in(duration.toString(), -1); + dt= GeneratedFunctions.interval_in(duration.toString(), -1); } - Pointer result= functions.temporal_tprecision(this.inner, dt, st); + Pointer result= GeneratedFunctions.temporal_tprecision(this.inner, dt, st); return Factory.create_temporal(result, this.getCustomType(), this.getTemporalType()); } @@ -691,7 +691,7 @@ else if (start instanceof LocalDateTime){ * @return Returns "this" as a {@link TInstant}. */ public Temporal to_instant(){ - return Factory.create_temporal(functions.temporal_to_tinstant(this.inner),this.getCustomType(),TEMPORAL_INSTANT); + return Factory.create_temporal(GeneratedFunctions.temporal_to_tinstant(this.inner),this.getCustomType(),TEMPORAL_INSTANT); } @@ -705,7 +705,7 @@ public Temporal to_instant(){ */ public Temporal to_sequence(TInterpolation interpolation){ System.out.println(interpolation.toString()); - return Factory.create_temporal(functions.temporal_to_tsequence(this.inner, interpolation.getValue()),this.getCustomType(),TEMPORAL_SEQUENCE); + return Factory.create_temporal(GeneratedFunctions.temporal_to_tsequence(this.inner, interpolation.getValue()),this.getCustomType(),TEMPORAL_SEQUENCE); } /** @@ -717,7 +717,7 @@ public Temporal to_sequence(TInterpolation interpolation){ * @return a new {@link TSequenceSet} */ public Temporal to_sequenceset(TInterpolation interpolation){ - return Factory.create_temporal(functions.temporal_to_tsequenceset(this.inner, interpolation.getValue()),this.getCustomType(),TEMPORAL_SEQUENCE_SET); + return Factory.create_temporal(GeneratedFunctions.temporal_to_tsequenceset(this.inner, interpolation.getValue()),this.getCustomType(),TEMPORAL_SEQUENCE_SET); } @@ -762,7 +762,7 @@ public Temporal append_instant(TInstant instant, int interp, float max_dist, Dur else{ interv= ConversionUtils.timedelta_to_interval(max_time); } - Pointer resultPointer= functions.temporal_append_tinstant(this.inner, instant.getInner(), interp, (double) max_dist, interv, false); + Pointer resultPointer= GeneratedFunctions.temporal_append_tinstant(this.inner, instant.getInner(), interp, (double) max_dist, interv, false); return Factory.create_temporal(resultPointer, this.getCustomType(), this.getTemporalType()); } @@ -778,7 +778,7 @@ public Temporal append_instant(TInstant instant, int interp, float max_dist, Dur * @return a new {@link Temporal} object */ public Temporal append_sequence(TSequence sequence){ - return Factory.create_temporal(functions.temporal_append_tsequence(this.inner, sequence.getInner(), false), this.getCustomType(), this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_append_tsequence(this.inner, sequence.getInner(), false), this.getCustomType(), this.getTemporalType()); } @@ -808,7 +808,7 @@ private Pointer createPointerArray(List temporalList) throws Exception { // Create a JNR-FFI runtime instance Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value - Pointer pointerArray = Memory.allocate(Runtime.getRuntime(runtime), (temporalList.size() + 1) * Long.BYTES); + Pointer pointerArray = Memory.allocate(runtime, (temporalList.size() + 1) * Long.BYTES); pointerArray.putPointer(0, this.inner); // Add the current instance's inner pointer for (int i = 0; i < temporalList.size(); i++) { @@ -836,13 +836,13 @@ public Temporal merge(Object other) throws Exception { } else if (other instanceof Temporal) { Temporal temporalOther = (Temporal) other; - newTemp = functions.temporal_merge(this.inner, temporalOther.inner); + newTemp = GeneratedFunctions.temporal_merge(this.inner, temporalOther.inner); } else if (other instanceof List) { List otherList = (List) other; Pointer pointers = createPointerArray(otherList); - newTemp = functions.temporal_merge_array(pointers, otherList.size() + 1); + newTemp = GeneratedFunctions.temporal_merge_array(pointers, otherList.size() + 1); } else { throw new Exception("Operation not supported with type " + other.getClass().getName()); } @@ -864,7 +864,7 @@ else if (other instanceof List) { * * inserted. */ public Temporal insert(Temporal other, boolean connect){ - return Factory.create_temporal(functions.temporal_insert(this.inner,other.inner,connect),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_insert(this.inner,other.inner,connect),this.getCustomType(),this.getTemporalType()); } @@ -899,7 +899,7 @@ public Temporal update(Temporal other){ * * "other". */ public Temporal update(Temporal other, boolean connect){ - return Factory.create_temporal(functions.temporal_update(this.inner,other.inner,connect),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_update(this.inner,other.inner,connect),this.getCustomType(),this.getTemporalType()); } /** @@ -917,16 +917,16 @@ public Temporal update(Temporal other, boolean connect){ public Temporal delete(Object other, Boolean connect) throws Exception { Pointer new_inner=null; if(other instanceof LocalDateTime){ - new_inner= functions.temporal_delete_timestamptz(this.inner, ConversionUtils.datetimeToTimestampTz((LocalDateTime) other), connect); + new_inner= GeneratedFunctions.temporal_delete_timestamptz(this.inner, ConversionUtils.datetimeToTimestampTz((LocalDateTime) other), connect); } else if(other instanceof tstzset){ - new_inner= functions.temporal_delete_tstzset(this.inner, ((tstzset) other).get_inner(), connect); + new_inner= GeneratedFunctions.temporal_delete_tstzset(this.inner, ((tstzset) other).get_inner(), connect); } else if(other instanceof tstzspan){ - new_inner= functions.temporal_delete_tstzspan(this.inner, ((tstzspan) other).get_inner(), connect); + new_inner= GeneratedFunctions.temporal_delete_tstzspan(this.inner, ((tstzspan) other).get_inner(), connect); } else if (other instanceof tstzspanset){ - new_inner= functions.temporal_delete_tstzspanset(this.inner, ((tstzspanset) other).get_inner(), connect); + new_inner= GeneratedFunctions.temporal_delete_tstzspanset(this.inner, ((tstzspanset) other).get_inner(), connect); } else{ throw new Exception("Operation not supported with type " + other.getClass().getName()); @@ -961,13 +961,13 @@ else if (other instanceof tstzspanset){ public Temporal at(Time other){ Pointer result = null; if (other instanceof tstzset){ - result = functions.temporal_at_tstzset(this.inner,((tstzset) other).get_inner()); + result = GeneratedFunctions.temporal_at_tstzset(this.inner,((tstzset) other).get_inner()); } else if (other instanceof tstzspan) { - result = functions.temporal_at_tstzspan(this.inner,((tstzspan) other).get_inner()); + result = GeneratedFunctions.temporal_at_tstzspan(this.inner,((tstzspan) other).get_inner()); } else if (other instanceof tstzspanset) { - result = functions.temporal_at_tstzspanset(this.inner,((tstzspanset) other).get_inner()); + result = GeneratedFunctions.temporal_at_tstzspanset(this.inner,((tstzspanset) other).get_inner()); } return Factory.create_temporal(result, this.getCustomType(),this.getTemporalType()); } @@ -985,7 +985,7 @@ public Temporal at(Time other){ * @return A new temporal object of the same subtype as `self`. */ public Temporal at_min(){ - return Factory.create_temporal(functions.temporal_at_min(this.inner),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_at_min(this.inner),this.getCustomType(),this.getTemporalType()); } @@ -1001,7 +1001,7 @@ public Temporal at_min(){ * @return A new temporal object of the same subtype as `self`. */ public Temporal at_max(){ - return Factory.create_temporal(functions.temporal_at_max(this.inner),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_at_max(this.inner),this.getCustomType(),this.getTemporalType()); } @@ -1025,13 +1025,13 @@ public Temporal at_max(){ public Temporal minus(Time other){ Pointer result = null; if (other instanceof tstzset){ - result = functions.temporal_minus_tstzset(this.inner,((tstzset) other).get_inner()); + result = GeneratedFunctions.temporal_minus_tstzset(this.inner,((tstzset) other).get_inner()); } else if (other instanceof tstzspan) { - result = functions.temporal_minus_tstzspan(this.inner,((tstzspan) other).get_inner()); + result = GeneratedFunctions.temporal_minus_tstzspan(this.inner,((tstzspan) other).get_inner()); } else if (other instanceof tstzspanset) { - result = functions.temporal_minus_tstzspanset(this.inner,((tstzspanset) other).get_inner()); + result = GeneratedFunctions.temporal_minus_tstzspanset(this.inner,((tstzspanset) other).get_inner()); } return Factory.create_temporal(result, this.getCustomType(),this.getTemporalType()); } @@ -1047,7 +1047,7 @@ public Temporal minus(Time other){ * @return A new temporal object of the same subtype as "this". */ public Temporal minus_min(){ - return Factory.create_temporal(functions.temporal_minus_min(this.inner),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_minus_min(this.inner),this.getCustomType(),this.getTemporalType()); } /** @@ -1061,7 +1061,7 @@ public Temporal minus_min(){ * @return A new temporal object of the same subtype as "this". */ public Temporal minus_max(){ - return Factory.create_temporal(functions.temporal_minus_max(this.inner),this.getCustomType(),this.getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_minus_max(this.inner),this.getCustomType(),this.getTemporalType()); } /* ------------------------- Topological Operations ------------------------ */ @@ -1292,7 +1292,7 @@ public boolean is_over_or_after(TemporalObject other) throws Exception { * @return A {@link Float} with the Frechet distance. */ public float frechet_distance(Temporal other){ - return (float) functions.temporal_frechet_distance(this.inner,other.getInner()); + return (float) GeneratedFunctions.temporal_frechet_distance(this.inner,other.getInner()); } /** @@ -1307,7 +1307,7 @@ public float frechet_distance(Temporal other){ * @return A {@link Float} with the Dynamic Time Warp distance. */ public float dyntimewarp_distance(Temporal other){ - return (float) functions.temporal_dyntimewarp_distance(this.inner,other.getInner()); + return (float) GeneratedFunctions.temporal_dyntimewarp_distance(this.inner,other.getInner()); } /** @@ -1322,7 +1322,7 @@ public float dyntimewarp_distance(Temporal other){ * @return A {@link Float} with the Hausdorff distance. */ public float hausdorff_distance(Temporal other){ - return (float) functions.temporal_hausdorff_distance(this.inner,other.getInner()); + return (float) GeneratedFunctions.temporal_hausdorff_distance(this.inner,other.getInner()); } @@ -1334,7 +1334,7 @@ public float hausdorff_distance(Temporal other){ * @return a new Pointer object */ public Pointer temporal_simplify_dp(Pointer temp, double dist, boolean sync){ - return functions.temporal_simplify_dp(temp,dist,sync); + return GeneratedFunctions.temporal_simplify_dp(temp,dist,sync); } /* ------------------------- Split Operations ----------------------------------- */ @@ -1485,7 +1485,7 @@ public List time_split_n(int n){ public Temporal stops(double max_distance, Duration max_duration){ Pointer new_inner= null; - new_inner= functions.temporal_stops(this.inner, max_distance, ConversionUtils.timedelta_to_interval(max_duration)); + new_inner= GeneratedFunctions.temporal_stops(this.inner, max_distance, ConversionUtils.timedelta_to_interval(max_duration)); return Factory.create_temporal(new_inner, this.getCustomType(), this.getTemporalType()); } @@ -1503,7 +1503,7 @@ public Temporal stops(double max_distance, Duration max_duration){ * @return A {@link Boolean} with the result of the equality relation. */ public boolean eq(Temporal other){ - return functions.temporal_eq(this.inner,other.getInner()); + return GeneratedFunctions.temporal_eq(this.inner,other.getInner()); } /** @@ -1517,7 +1517,7 @@ public boolean eq(Temporal other){ * @return A {@link Boolean} with the result of the not equal relation. */ public boolean notEquals(Temporal other){ - return functions.temporal_ne(this.inner,other.getInner()); + return GeneratedFunctions.temporal_ne(this.inner,other.getInner()); } /** @@ -1531,7 +1531,7 @@ public boolean notEquals(Temporal other){ * @return A {@link Boolean} with the result of the less than relation. */ public boolean lessThan(Temporal other){ - return functions.temporal_lt(this.inner,other.getInner()); + return GeneratedFunctions.temporal_lt(this.inner,other.getInner()); } @@ -1546,7 +1546,7 @@ public boolean lessThan(Temporal other){ * @return A {@link Boolean} with the result of the less or equal than relation. */ public boolean lessThanOrEqual(Temporal other){ - return functions.temporal_le(this.inner,other.getInner()); + return GeneratedFunctions.temporal_le(this.inner,other.getInner()); } @@ -1561,7 +1561,7 @@ public boolean lessThanOrEqual(Temporal other){ * @return A {@link Boolean} with the result of the greater than relation. */ public boolean greaterThan(Temporal other){ - return functions.temporal_gt(this.inner,other.getInner()); + return GeneratedFunctions.temporal_gt(this.inner,other.getInner()); } @@ -1577,7 +1577,7 @@ public boolean greaterThan(Temporal other){ * * relation. */ public boolean greaterThanOrEqual(Temporal other){ - return functions.temporal_ge(this.inner,other.getInner()); + return GeneratedFunctions.temporal_ge(this.inner,other.getInner()); } From 78c299ce813e68250f4d386868395a71b8ed0890 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 12 Jun 2026 06:16:36 +0200 Subject: [PATCH 19/23] refactor(facade): migrate the split family off the legacy facade Repoint value_split / value_time_split / time_split / space_split / space_time_split (TNumber, Temporal, TPoint) onto the generated GeneratedFunctions split wrappers, which now return the *Split struct via the sret convention. The methods read fragments at offset 0 and count at the struct's count offset (16 for the 3-field splits, 24 for the 4-field time splits) instead of the stale pre-735f out-parameter signature. Also fixes defects surfaced while migrating: - duration/start were parsed in an inverted branch so the duration was dropped (or null-dereferenced) on the default-start path; parse the duration unconditionally and default only the start. - timedelta_to_interval passed cumulative units (toHours/toMinutes/ toSeconds give the whole span in each unit) to interval_make, which then re-added them on top of the days. It now decomposes per field and parses a textual interval with interval_in, sidestepping a jnr-ffi quirk that mis-passes interval_make's trailing double after its six int arguments. Verified end to end on both the Duration and the String duration paths: all five split methods return the correct fragment counts through the OO API. --- .../java/types/basic/tnumber/TNumber.java | 67 ++++++++----------- .../main/java/types/basic/tpoint/TPoint.java | 62 +++++++---------- .../main/java/types/temporal/Temporal.java | 62 +++++++---------- .../src/main/java/utils/ConversionUtils.java | 22 +++--- 4 files changed, 91 insertions(+), 122 deletions(-) diff --git a/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java b/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java index b2d70400f..171f74ab3 100644 --- a/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java +++ b/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java @@ -800,23 +800,16 @@ default float nearest_approach_distance(Object other) throws OperationNotSupport // return listPointer; // } - private Pointer createEmptyPointerArray(Runtime runtime, int size) { - // Allocate memory for a list of integers (let's assume a fixed size, e.g., 10 elements) - Pointer listPointer = Memory.allocate(Runtime.getRuntime(runtime), size*Long.BYTES); // Adjust size as needed - return listPointer; - } - default List value_split(int size, int start){ - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer listPointer = createEmptyPointerArray(runtime, size); - Pointer result= functions.tint_value_split(this.getNumberInner(), size, start, listPointer, intPointer); + // tint_value_split returns an IntSplit struct by value (sret); the + // generated wrapper hands back the filled struct buffer: + // IntSplit { Temporal **fragments @0; int *bins @8; int count @16; } + Pointer result= GeneratedFunctions.tint_value_split(this.getNumberInner(), size, start); + Pointer fragments= result.getPointer(0); + int count= result.getInt(16); List tempList= new ArrayList<>(); - int count= intPointer.getInt(Integer.BYTES); for(int i=0;i value_split(int size, int start){ default List value_time_split(Object duration, int value_size, int value_start, Object time_start){ OffsetDateTime st= null; Pointer dt= null; - if(time_start != null){ - st= functions.pg_timestamptz_in("2000-01-03", -1); + // The duration is always required; the time_start defaults to 2000-01-03. + if(duration instanceof Duration){ + dt= ConversionUtils.timedelta_to_interval((Duration) duration); + } + else{ + dt= GeneratedFunctions.interval_in(duration.toString(), -1); + } + if(time_start == null){ + st= GeneratedFunctions.timestamptz_in("2000-01-03", -1); + } + else if(time_start instanceof LocalDateTime){ + st= ConversionUtils.datetimeToTimestampTz((LocalDateTime) time_start); } else{ - if(time_start instanceof LocalDateTime){ - st= ConversionUtils.datetimeToTimestampTz((LocalDateTime) time_start); - } - else{ - st= functions.pg_timestamptz_in(time_start.toString(), -1); - } - - if(duration instanceof Duration){ - dt= ConversionUtils.timedelta_to_interval((Duration) duration); - } - else{ - dt= functions.pg_interval_in(duration.toString(), -1); - } - } - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer valueListPointer = createEmptyPointerArray(runtime, value_size); - Pointer timeListPointer = createEmptyPointerArray(runtime, value_size); - Pointer p= functions.tint_value_time_split(this.getNumberInner(), value_size, dt, value_start, st, valueListPointer, timeListPointer, intPointer); + st= GeneratedFunctions.timestamptz_in(time_start.toString(), -1); + } + // tint_value_time_split returns an IntTimeSplit struct by value (sret): + // IntTimeSplit { Temporal **fragments @0; int *value_bins @8; + // int *time_bins @16; int count @24; } + Pointer p= GeneratedFunctions.tint_value_time_split(this.getNumberInner(), value_size, dt, value_start, st); + Pointer fragments= p.getPointer(0); + int count= p.getInt(24); List tempList= new ArrayList<>(); - int count= intPointer.getInt(Integer.BYTES); for(int i=0;i space_split(Float xsize, Float ysize, Float zsize, Geometry origin, boolean bitmatrix, boolean include_border){ Float ysz = (ysize != null) ? ysize : xsize; Float zsz = (zsize != null) ? zsize : xsize; @@ -1282,23 +1276,20 @@ default List space_split(Float xsize, Float ysize, Float zsize, Geomet } else{ if(isTGeogPoint){ - gs= functions.geog_in("Point (0 0 0)", -1); + gs= GeneratedFunctions.geog_in("Point (0 0 0)", -1); } else{ - gs= functions.geom_in("Point (0 0 0)", -1); + gs= GeneratedFunctions.geom_in("Point (0 0 0)", -1); } } - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - int length= runtime.longSize(); - Pointer space_buckets = createEmptyPointerArray(runtime, length); - Pointer resPointer= functions.tgeo_space_split(this.getPointInner(), xsize, ysz, zsz, gs, bitmatrix, include_border, space_buckets, intPointer); - int count= intPointer.getInt(Integer.BYTES); + // tgeo_space_split returns a SpaceSplit struct by value (sret): + // SpaceSplit { Temporal **fragments @0; int **bins @8; int count @16; } + Pointer resPointer= GeneratedFunctions.tgeo_space_split(this.getPointInner(), xsize, ysz, zsz, gs, bitmatrix, include_border); + Pointer fragments= resPointer.getPointer(0); + int count= resPointer.getInt(16); List tempList= new ArrayList<>(); for(int i=0;i space_time_split(Float xsize, Object duration, Float ysiz dt= ConversionUtils.timedelta_to_interval((Duration) duration); } else{ - dt= functions.pg_interval_in(duration.toString(), -1); + dt= GeneratedFunctions.interval_in(duration.toString(), -1); } Pointer gs= null; @@ -1343,38 +1334,33 @@ default List space_time_split(Float xsize, Object duration, Float ysiz } else{ if(isTGeogPoint){ - gs= functions.geog_in("Point (0 0 0)", -1); + gs= GeneratedFunctions.geog_in("Point (0 0 0)", -1); } else{ - gs= functions.geom_in("Point (0 0 0)", -1); + gs= GeneratedFunctions.geom_in("Point (0 0 0)", -1); } } OffsetDateTime st= null; - if(time_start!=null){ - st= functions.pg_timestamptz_in("2000-01-03", -1); + if(time_start == null){ + st= GeneratedFunctions.timestamptz_in("2000-01-03", -1); + } + else if(time_start instanceof LocalDateTime){ + st= ConversionUtils.datetimeToTimestampTz((LocalDateTime) time_start); } else{ - if(time_start instanceof LocalDateTime){ - st= ConversionUtils.datetimeToTimestampTz((LocalDateTime) time_start); - } - else{ - st= functions.pg_timestamptz_in(time_start.toString(), -1); - } + st= GeneratedFunctions.timestamptz_in(time_start.toString(), -1); } - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - int length= runtime.longSize(); - Pointer space_buckets = createEmptyPointerArray(runtime, length); - Pointer time_buckets = createEmptyPointerArray(runtime, length); - Pointer resPointer= functions.tgeo_space_time_split(this.getPointInner(), xsize, ysz, zsz, dt, gs, st, bitmatrix, include_border, space_buckets, time_buckets, intPointer); - int count= intPointer.getInt(Integer.BYTES); + // tgeo_space_time_split returns a SpaceTimeSplit struct by value (sret): + // SpaceTimeSplit { Temporal **fragments @0; int **space_bins @8; + // int *time_bins @16; int count @24; } + Pointer resPointer= GeneratedFunctions.tgeo_space_time_split(this.getPointInner(), xsize, ysz, zsz, dt, gs, st, bitmatrix, include_border); + Pointer fragments= resPointer.getPointer(0); + int count= resPointer.getInt(24); List tempList= new ArrayList<>(); for(int i=0;i time_split(Object duration, Object start){ OffsetDateTime st= null; Pointer dt= null; + // The duration is always required; the start defaults to 2000-01-03. + if(duration instanceof Duration){ + dt= ConversionUtils.timedelta_to_interval((Duration) duration); + } + else{ + dt= GeneratedFunctions.interval_in(duration.toString(), -1); + } if(start == null){ - st= functions.pg_timestamptz_in("2000-01-03", -1); + st= GeneratedFunctions.timestamptz_in("2000-01-03", -1); + } + else if(start instanceof LocalDateTime){ + st= ConversionUtils.datetimeToTimestampTz((LocalDateTime) start); } else{ - if(start instanceof LocalDateTime){ - st= ConversionUtils.datetimeToTimestampTz((LocalDateTime) start); - } - else{ - st= functions.pg_timestamptz_in(start.toString(), -1); - } - - if(duration instanceof Duration){ - dt= ConversionUtils.timedelta_to_interval((Duration) duration); - } - else{ - dt= functions.pg_interval_in(duration.toString(), -1); - } + st= GeneratedFunctions.timestamptz_in(start.toString(), -1); } - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer listPointer = createEmptyPointerArray(runtime); - Pointer p= functions.temporal_time_split(this.inner, dt, st, listPointer, intPointer); + // temporal_time_split returns a TimeSplit struct by value (sret): + // TimeSplit { Temporal **fragments @0; int *bins @8; int count @16; } + Pointer p= GeneratedFunctions.temporal_time_split(this.inner, dt, st); + Pointer fragments= p.getPointer(0); + int count= p.getInt(16); List tempList= new ArrayList<>(); - int count= intPointer.getInt(Integer.BYTES); for(int i=0;i time_split_n(int n){ if(this.start_timestamp() == this.end_timestamp()){ return Collections.singletonList(this); } - st= functions.temporal_start_timestamptz(this.inner); + st= GeneratedFunctions.temporal_start_timestamptz(this.inner); LocalDateTime start= this.start_timestamp(); LocalDateTime end= this.end_timestamp(); Duration dur= calculateIntermediateDuration(start, end, n); dt = ConversionUtils.timedelta_to_interval(dur); - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer listPointer = createEmptyPointerArray(runtime); - Pointer p= functions.temporal_time_split(this.inner, dt, st, listPointer, intPointer); + // temporal_time_split returns a TimeSplit struct by value (sret): + // TimeSplit { Temporal **fragments @0; int *bins @8; int count @16; } + Pointer p= GeneratedFunctions.temporal_time_split(this.inner, dt, st); + Pointer fragments= p.getPointer(0); + int count= p.getInt(16); List tempList= new ArrayList<>(); - int count= intPointer.getInt(Integer.BYTES); for(int i=0;i Date: Fri, 12 Jun 2026 05:35:17 +0200 Subject: [PATCH 20/23] refactor(facade): migrate STBox off the legacy facade (geo helpers -> public) Wipe step 10: STBox onto the generated facade. gserialized_in -> geom_in (identical sig); geo_expand_spatial(gs, d) -> stbox_expand_space(geo_to_stbox(gs), d) (the public composition). 77 STBox tests green. --- .../src/main/java/types/boxes/STBox.java | 166 +++++++++--------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/jmeos-core/src/main/java/types/boxes/STBox.java b/jmeos-core/src/main/java/types/boxes/STBox.java index 22f3091ce..4cdc025e5 100644 --- a/jmeos-core/src/main/java/types/boxes/STBox.java +++ b/jmeos-core/src/main/java/types/boxes/STBox.java @@ -23,7 +23,7 @@ import functions.*; import types.temporal.Temporal; import utils.ConversionUtils; -import functions.functions; +import functions.GeneratedFunctions; import javax.naming.OperationNotSupportedException; @@ -73,16 +73,16 @@ public STBox _get_box(TemporalObject other){ public STBox _get_box(Object other, boolean allow_space_only, boolean allow_time_only){ STBox other_box=null; if(allow_space_only && other instanceof Geometry){ - other_box = new STBox(functions.geo_to_stbox(ConversionUtils.geo_to_gserialized((Geometry) other, this.geodetic()))); + other_box = new STBox(GeneratedFunctions.geo_to_stbox(ConversionUtils.geo_to_gserialized((Geometry) other, this.geodetic()))); } else if (other instanceof TPoint) { - other_box = new STBox(functions.tspatial_to_stbox(((TPoint)other).getPointInner())); + other_box = new STBox(GeneratedFunctions.tspatial_to_stbox(((TPoint)other).getPointInner())); } else if (allow_time_only) { switch (other) { case STBox st -> other_box = new STBox(st.get_inner()); - case tstzset p -> other_box = new STBox(functions.tstzset_to_stbox(p.get_inner())); - case tstzspan ps -> other_box = new STBox(functions.tstzspan_to_stbox(ps.get_inner())); - case Temporal t -> other_box = new STBox(functions.tstzset_to_stbox(functions.temporal_to_tstzspan(t.getInner()))); - case tstzspanset ts -> other_box = new STBox(functions.tstzspanset_to_stbox(ts.get_inner())); + case tstzset p -> other_box = new STBox(GeneratedFunctions.tstzset_to_stbox(p.get_inner())); + case tstzspan ps -> other_box = new STBox(GeneratedFunctions.tstzspan_to_stbox(ps.get_inner())); + case Temporal t -> other_box = new STBox(GeneratedFunctions.tstzset_to_stbox(GeneratedFunctions.temporal_to_tstzspan(t.getInner()))); + case tstzspanset ts -> other_box = new STBox(GeneratedFunctions.tstzspanset_to_stbox(ts.get_inner())); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } } @@ -117,7 +117,7 @@ public STBox(Pointer inner, boolean tmin_inc, boolean tmax_inc, boolean geodetic */ public STBox(final String value){ - this._inner = functions.stbox_in(value); + this._inner = GeneratedFunctions.stbox_in(value); } /** @@ -143,7 +143,7 @@ public STBox(float xmin, float xmax, float ymin, float ymax, float zmin, float z tstzspan = new tstzspan(tmin, tmax, tmin_inc, tmax_inc).get_inner(); } - this._inner = functions.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, tstzspan); + this._inner = GeneratedFunctions.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, tstzspan); } @@ -196,7 +196,7 @@ public STBox(float xmin, float xmax, LocalDateTime tmin, LocalDateTime tmax){ * @return a STBox instance */ public STBox copy() { - return new STBox(functions.stbox_copy(this._inner)); + return new STBox(GeneratedFunctions.stbox_copy(this._inner)); } /** @@ -208,7 +208,7 @@ public STBox copy() { * @return a new STBox instance */ public static STBox from_hexwkb(String hexwkb) { - Pointer result = functions.stbox_from_hexwkb(hexwkb); + Pointer result = GeneratedFunctions.stbox_from_hexwkb(hexwkb); return new STBox(result); } @@ -224,12 +224,12 @@ public static STBox from_hexwkb(String hexwkb) { * @return a new STBox instance */ public static STBox from_geometry(Geometry geom, boolean geodetic) { - return new STBox(functions.geo_to_stbox(ConversionUtils.geo_to_gserialized(geom,geodetic))); + return new STBox(GeneratedFunctions.geo_to_stbox(ConversionUtils.geo_to_gserialized(geom,geodetic))); } public static STBox from_geometry(Geometry geom) { boolean geodetic = false; - return new STBox(functions.geo_to_stbox(ConversionUtils.geo_to_gserialized(geom,geodetic))); + return new STBox(GeneratedFunctions.geo_to_stbox(ConversionUtils.geo_to_gserialized(geom,geodetic))); } @@ -249,9 +249,9 @@ public static STBox from_geometry(Geometry geom) { public static STBox from_time(Time other) { STBox returnValue; switch (other){ - case tstzset p -> returnValue = new STBox(functions.tstzset_to_stbox(p.get_inner())); - case tstzspan ps -> returnValue = new STBox(functions.tstzspan_to_stbox(ps.get_inner())); - case tstzspanset ts -> returnValue = new STBox(functions.tstzspanset_to_stbox(ts.get_inner())); + case tstzset p -> returnValue = new STBox(GeneratedFunctions.tstzset_to_stbox(p.get_inner())); + case tstzspan ps -> returnValue = new STBox(GeneratedFunctions.tstzspan_to_stbox(ps.get_inner())); + case tstzspanset ts -> returnValue = new STBox(GeneratedFunctions.tstzspanset_to_stbox(ts.get_inner())); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -259,8 +259,8 @@ public static STBox from_time(Time other) { /* public STBox from_expanding_bounding_box_geom(Geometry value, float expansion) { - Pointer gs = functions.gserialized_in(value.toString(), -1); - Pointer result = functions.geo_expand_spatial(gs, expansion); + Pointer gs = GeneratedFunctions.geom_in(value.toString(), -1); + Pointer result = GeneratedFunctions.stbox_expand_space(GeneratedFunctions.geo_to_stbox(gs), expansion); return new STBox(result); } @@ -303,7 +303,7 @@ public STBox from_space_tstzset(Geometry value, Pointer time ){ */ public static STBox from_geometry_datetime(Geometry geometry, LocalDateTime datetime, boolean geodetic){ Pointer gs = ConversionUtils.geo_to_gserialized(geometry,geodetic); - Pointer result = functions.geo_timestamptz_to_stbox(gs,ConversionUtils.datetimeToTimestampTz(datetime)); + Pointer result = GeneratedFunctions.geo_timestamptz_to_stbox(gs,ConversionUtils.datetimeToTimestampTz(datetime)); return new STBox(result); } @@ -323,7 +323,7 @@ public static STBox from_geometry_datetime(Geometry geometry, LocalDateTime date */ public static STBox from_geometry_tstzspan(Geometry geometry, tstzset tstzset, boolean geodetic){ Pointer gs = ConversionUtils.geo_to_gserialized(geometry,geodetic); - Pointer result = functions.geo_tstzspan_to_stbox(gs,tstzset.get_inner()); + Pointer result = GeneratedFunctions.geo_tstzspan_to_stbox(gs,tstzset.get_inner()); return new STBox(result); } @@ -339,7 +339,7 @@ public static STBox from_geometry_tstzspan(Geometry geometry, tstzset tstzset, b * @return A new {@link STBox} instance. */ public static STBox from_tpoint(TPoint temporal){ - return new STBox(functions.tspatial_to_stbox(temporal.getPointInner())); + return new STBox(GeneratedFunctions.tspatial_to_stbox(temporal.getPointInner())); } @@ -354,7 +354,7 @@ public static STBox from_tpoint(TPoint temporal){ * @return a String instance */ public String toString(int max_decimals){ - return functions.stbox_out(this._inner,max_decimals); + return GeneratedFunctions.stbox_out(this._inner,max_decimals); } @@ -370,7 +370,7 @@ public String toString(int max_decimals){ * @return a new tstzset instance */ public tstzset to_tstzspan() { - Pointer result = functions.stbox_to_tstzspan(this._inner); + Pointer result = GeneratedFunctions.stbox_to_tstzspan(this._inner); return new tstzset(result); } @@ -387,7 +387,7 @@ public tstzset to_tstzspan() { * @throws ParseException */ public Geometry to_geometry(int precision) throws ParseException { - return ConversionUtils.gserialized_to_shapely_geometry(functions.stbox_to_geo(this._inner),precision); + return ConversionUtils.gserialized_to_shapely_geometry(GeneratedFunctions.stbox_to_geo(this._inner),precision); } @@ -401,7 +401,7 @@ public Geometry to_geometry(int precision) throws ParseException { * @return True if "this" has a spatial dimension, False otherwise. */ public boolean has_xy() { - return functions.stbox_hasx(this._inner); + return GeneratedFunctions.stbox_hasx(this._inner); } @@ -413,7 +413,7 @@ public boolean has_xy() { * @return True if "this" has a Z dimension, False otherwise. */ public boolean has_z() { - return functions.stbox_hasz(this._inner); + return GeneratedFunctions.stbox_hasz(this._inner); } @@ -425,7 +425,7 @@ public boolean has_z() { * @return True if "this" has a time dimension, False otherwise. */ public boolean has_t() { - return functions.stbox_hast(this._inner); + return GeneratedFunctions.stbox_hast(this._inner); } /** @@ -436,7 +436,7 @@ public boolean has_t() { * @return True if "this" is geodetic, False otherwise. */ public boolean geodetic() { - return functions.stbox_isgeodetic(this._inner); + return GeneratedFunctions.stbox_isgeodetic(this._inner); } @@ -449,7 +449,7 @@ public boolean geodetic() { * @return A {@link Float} with the minimum X coordinate of "this". */ public float xmin(){ - return (float) functions.stbox_xmin(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_xmin(this._inner).getDouble(0); } /** @@ -461,7 +461,7 @@ public float xmin(){ * @return A {@link Float} with the minimum Y coordinate of "this". */ public float ymin(){ - return (float) functions.stbox_ymin(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_ymin(this._inner).getDouble(0); } /** @@ -473,7 +473,7 @@ public float ymin(){ * @return A {@link Float} with the minimum Z coordinate of "this". */ public float zmin(){ - return (float) functions.stbox_zmin(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_zmin(this._inner).getDouble(0); } /** @@ -485,7 +485,7 @@ public float zmin(){ * @return A {@link Float} with the minimum T coordinate of "this". */ public float tmin(){ - return (float) functions.stbox_tmin(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_tmin(this._inner).getDouble(0); } /** @@ -497,7 +497,7 @@ public float tmin(){ * @return A {@link Float} with the maximum X coordinate of "this". */ public float xmax(){ - return (float) functions.stbox_xmax(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_xmax(this._inner).getDouble(0); } /** @@ -509,7 +509,7 @@ public float xmax(){ * @return A {@link Float} with the maximum Y coordinate of "this". */ public float ymax(){ - return (float) functions.stbox_ymax(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_ymax(this._inner).getDouble(0); } /** @@ -521,7 +521,7 @@ public float ymax(){ * @return A {@link Float} with the maximum Z coordinate of "this". */ public float zmax(){ - return (float) functions.stbox_zmax(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_zmax(this._inner).getDouble(0); } /** @@ -533,7 +533,7 @@ public float zmax(){ * @return A {@link Float} with the maximum T coordinate of "this". */ public float tmax(){ - return (float) functions.stbox_tmax(this._inner).getDouble(0); + return (float) GeneratedFunctions.stbox_tmax(this._inner).getDouble(0); } public boolean get_tmin_inc(){ @@ -575,7 +575,7 @@ public Pointer get_inner(){ * @return an Integer with the SRID of "this" */ public int srid(){ - return functions.stbox_srid(this._inner); + return GeneratedFunctions.stbox_srid(this._inner); } @@ -588,7 +588,7 @@ public int srid(){ * @return a new STBox instance */ public STBox set_srid(int value) { - return new STBox(functions.stbox_set_srid(this._inner,value)); + return new STBox(GeneratedFunctions.stbox_set_srid(this._inner,value)); } @@ -605,7 +605,7 @@ public STBox set_srid(int value) { * @return A new {@link STBox} instance. */ public STBox get_space(){ - return new STBox(functions.stbox_get_space(this._inner)); + return new STBox(GeneratedFunctions.stbox_get_space(this._inner)); } @@ -627,8 +627,8 @@ public STBox get_space(){ * @return A new {@link STBox} instance. */ public STBox expand_stbox(STBox stbox, STBox other) { - Pointer result = functions.stbox_copy(this._inner); -// functions.stbox_expand_space(other._inner, result); + Pointer result = GeneratedFunctions.stbox_copy(this._inner); +// GeneratedFunctions.stbox_expand_space(other._inner, result); return new STBox(result); } @@ -652,7 +652,7 @@ public STBox expand_stbox(STBox stbox, STBox other) { public STBox expand_numerical(Number value) { STBox result = null; if(value instanceof Integer || value instanceof Float){ - result = new STBox(functions.stbox_expand_space(this.get_inner(), (double) value.floatValue())); + result = new STBox(GeneratedFunctions.stbox_expand_space(this.get_inner(), (double) value.floatValue())); } return result; } @@ -668,8 +668,8 @@ public STBox expand_numerical(Number value) { * @return a new STBox instance */ public STBox round(int maxdd) { - Pointer new_inner = functions.stbox_copy(this._inner); - functions.stbox_round(new_inner,maxdd); + Pointer new_inner = GeneratedFunctions.stbox_copy(this._inner); + GeneratedFunctions.stbox_round(new_inner,maxdd); return new STBox(new_inner); } @@ -691,7 +691,7 @@ public STBox round(int maxdd) { * @return a new STBox instance */ public STBox union(STBox other, boolean strict) { - return new STBox(functions.union_stbox_stbox(this._inner, other._inner, strict)); + return new STBox(GeneratedFunctions.union_stbox_stbox(this._inner, other._inner, strict)); } @@ -718,7 +718,7 @@ public STBox add(STBox other) { * @return a new STBox instance if the instersection is not empty, `None` otherwise. */ public STBox intersection(STBox other) { - return new STBox(functions.intersection_stbox_stbox(this._inner,other.get_inner())); + return new STBox(GeneratedFunctions.intersection_stbox_stbox(this._inner,other.get_inner())); } @@ -754,7 +754,7 @@ public STBox mul(STBox other) { * @return "true" if "this" and "other" are adjacent, "false" otherwise. */ public boolean is_adjacent(TemporalObject other) { - return functions.adjacent_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); + return GeneratedFunctions.adjacent_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); } /** @@ -767,7 +767,7 @@ public boolean is_adjacent(TemporalObject other) { * @return "true" if "this" is contained in "other", "false" otherwise. */ public boolean is_contained_in(TemporalObject other) { - return functions.contained_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); + return GeneratedFunctions.contained_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); } /** @@ -782,7 +782,7 @@ public boolean is_contained_in(TemporalObject other) { * @return "true" if "this" contains "other", "false otherwise. */ public boolean contains(TemporalObject other) { - return functions.contains_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); + return GeneratedFunctions.contains_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); } /** @@ -795,7 +795,7 @@ public boolean contains(TemporalObject other) { * @return "true" if "this" overlaps "other", "false" otherwise. */ public boolean overlaps(TemporalObject other) { - return functions.overlaps_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); + return GeneratedFunctions.overlaps_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); } /** @@ -808,7 +808,7 @@ public boolean overlaps(TemporalObject other) { * @return "true" if "this" is the same as "other", "false" otherwise. */ public boolean is_same(TemporalObject other) { - return functions.same_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); + return GeneratedFunctions.same_stbox_stbox(this._inner,this._get_box(other,true,true).get_inner()); } /** @@ -821,7 +821,7 @@ public boolean is_same(TemporalObject other) { * @return "true" if "this" is strictly to the left of "other", "false" otherwise. */ public boolean is_left(TemporalObject other) { - return functions.left_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.left_stbox_stbox(this._inner,this._get_box(other).get_inner()); } /** @@ -834,7 +834,7 @@ public boolean is_left(TemporalObject other) { * @return "true" if "this" is to the left of "other", "false" otherwise. */ public boolean is_over_or_left(TemporalObject other) { - return functions.overleft_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.overleft_stbox_stbox(this._inner,this._get_box(other).get_inner()); } /** @@ -847,7 +847,7 @@ public boolean is_over_or_left(TemporalObject other) { * @return "true" if "this" is strictly to the right of "other", "false" otherwise. */ public boolean is_right(TemporalObject other) { - return functions.right_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.right_stbox_stbox(this._inner,this._get_box(other).get_inner()); } /** @@ -861,7 +861,7 @@ public boolean is_right(TemporalObject other) { * @return "true" if "this" is to the right of "other", "false" otherwise. */ public boolean is_over_or_right(TemporalObject other) { - return functions.overright_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.overright_stbox_stbox(this._inner,this._get_box(other).get_inner()); } /** @@ -874,7 +874,7 @@ public boolean is_over_or_right(TemporalObject other) { * @return "true" if "this" is strictly below of "other", "false" otherwise. */ public boolean is_below(TemporalObject other) { - return functions.below_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.below_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -889,7 +889,7 @@ public boolean is_below(TemporalObject other) { * @return "true" if "this" is below "other" allowing for overlap, "false" otherwise. */ public boolean is_over_or_below(TemporalObject other) { - return functions.overbelow_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.overbelow_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -903,7 +903,7 @@ public boolean is_over_or_below(TemporalObject other) { * @return "true" if "this" is strictly above of "other", "false" otherwise. */ public boolean is_above(TemporalObject other) { - return functions.above_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.above_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -918,7 +918,7 @@ public boolean is_above(TemporalObject other) { * @return "true" if "this" is above "other" allowing for overlap, "false" otherwise. */ public boolean is_over_or_above(TemporalObject other) { - return functions.overabove_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.overabove_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -932,7 +932,7 @@ public boolean is_over_or_above(TemporalObject other) { * @return "true" if "this" is strictly in front of "other", "false" otherwise. */ public boolean is_front(TemporalObject other) { - return functions.front_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.front_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -947,7 +947,7 @@ public boolean is_front(TemporalObject other) { * @return "true" if "this" is in front of "other" allowing for overlap, "false" otherwise. */ public boolean is_over_or_front(TemporalObject other) { - return functions.overfront_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.overfront_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -961,7 +961,7 @@ public boolean is_over_or_front(TemporalObject other) { * @return "true" if "this" is strictly behind of "other", "false" otherwise. */ public boolean is_behind(TemporalObject other) { - return functions.back_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.back_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -976,7 +976,7 @@ public boolean is_behind(TemporalObject other) { * @return "true" if "this" is behind of "other" allowing for overlap, "false" otherwise. */ public boolean is_over_or_behind(TemporalObject other) { - return functions.overback_stbox_stbox(this._inner,this._get_box(other).get_inner()); + return GeneratedFunctions.overback_stbox_stbox(this._inner,this._get_box(other).get_inner()); } @@ -1058,7 +1058,7 @@ public boolean is_over_or_after(TemporalObject other) throws Exception { * @return a Float instance with the distance between the nearest points of "this" and "``other``". */ public float nearest_approach_distance_geom(Geometry other) { - return (float) functions.nad_stbox_geo(this._inner, ConversionUtils.geo_to_gserialized(other, this.geodetic())); + return (float) GeneratedFunctions.nad_stbox_geo(this._inner, ConversionUtils.geo_to_gserialized(other, this.geodetic())); } @@ -1076,7 +1076,7 @@ public float nearest_approach_distance_geom(Geometry other) { * @return a Float instance with the distance between the nearest points of "this" and "``other``". */ public float nearest_approach_distance_stbox(STBox other) { - return (float) functions.nad_stbox_stbox(this._inner, other._inner); + return (float) GeneratedFunctions.nad_stbox_stbox(this._inner, other._inner); } @@ -1094,7 +1094,7 @@ public float nearest_approach_distance_stbox(STBox other) { * @return a Float instance with the distance between the nearest points of "this" and "``other``". */ public float nearest_approach_distance_tpoint(TPoint other) { - return (float) functions.nad_tgeo_stbox(this._inner, other.getPointInner()); + return (float) GeneratedFunctions.nad_tgeo_stbox(this._inner, other.getPointInner()); } @@ -1112,7 +1112,7 @@ public float nearest_approach_distance_tpoint(TPoint other) { */ public boolean eq(Box other) { boolean result; - result = other instanceof STBox && functions.stbox_eq(this._inner, ((STBox) other).get_inner()); + result = other instanceof STBox && GeneratedFunctions.stbox_eq(this._inner, ((STBox) other).get_inner()); return result; } @@ -1128,7 +1128,7 @@ public boolean eq(Box other) { */ public boolean notEquals(Box other) { boolean result; - result = !(other instanceof STBox) || functions.stbox_ne(this._inner, ((STBox) other).get_inner()); + result = !(other instanceof STBox) || GeneratedFunctions.stbox_ne(this._inner, ((STBox) other).get_inner()); return result; } @@ -1144,7 +1144,7 @@ public boolean notEquals(Box other) { */ public boolean lessThan(Box other) throws OperationNotSupportedException { if (other instanceof STBox){ - return functions.stbox_lt(this._inner,((STBox) other).get_inner()); + return GeneratedFunctions.stbox_lt(this._inner,((STBox) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1164,7 +1164,7 @@ public boolean lessThan(Box other) throws OperationNotSupportedException { */ public boolean lessThanOrEqual(Box other) throws OperationNotSupportedException { if (other instanceof STBox){ - return functions.stbox_le(this._inner,((STBox) other).get_inner()); + return GeneratedFunctions.stbox_le(this._inner,((STBox) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1184,7 +1184,7 @@ public boolean lessThanOrEqual(Box other) throws OperationNotSupportedException */ public boolean greaterThan(Box other) throws OperationNotSupportedException { if (other instanceof STBox){ - return functions.stbox_gt(this._inner,((STBox) other).get_inner()); + return GeneratedFunctions.stbox_gt(this._inner,((STBox) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1203,7 +1203,7 @@ public boolean greaterThan(Box other) throws OperationNotSupportedException { */ public boolean greaterThanOrEqual(Box other) throws OperationNotSupportedException { if (other instanceof STBox){ - return functions.stbox_ge(this._inner,((STBox) other).get_inner()); + return GeneratedFunctions.stbox_ge(this._inner,((STBox) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1213,9 +1213,9 @@ public boolean greaterThanOrEqual(Box other) throws OperationNotSupportedExcepti @Override public tstzspan to_period(){ error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); - return new tstzspan(functions.stbox_to_tstzspan(this._inner)); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + return new tstzspan(GeneratedFunctions.stbox_to_tstzspan(this._inner)); } /* ------------------------- Splitting ----------------------------------- */ @@ -1244,7 +1244,7 @@ public List quad_split_flat(){ Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.stbox_quad_split(this.get_inner(), intPointer); + Pointer resPointer= GeneratedFunctions.stbox_quad_split(this.get_inner(), intPointer); int count= intPointer.getInt(Integer.BYTES); List stBoxList= new ArrayList<>(); for(int i=0;i>> quad_split() { Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.stbox_quad_split(this.get_inner(), intPointer); // Populate boxes and count + Pointer resPointer= GeneratedFunctions.stbox_quad_split(this.get_inner(), intPointer); // Populate boxes and count List boxes= new ArrayList<>(); for(int i=0;i<8;i++){ STBox stBox= new STBox(resPointer.getPointer(i*Long.BYTES)); @@ -1355,7 +1355,7 @@ origin will be (0, 0, 0). // } // else{ // if(duration instanceof String){ -// dt= functions.pg_interval_in(duration.toString(), -1); +// dt= GeneratedFunctions.pg_interval_in(duration.toString(), -1); // } // else dt = null; // } @@ -1366,11 +1366,11 @@ origin will be (0, 0, 0). // } // else{ // if(start instanceof String){ -// st= functions.pg_timestamptz_in(start.toString(), -1); +// st= GeneratedFunctions.pg_timestamptz_in(start.toString(), -1); // } // else{ // if(this.has_t()){ -// st= functions.pg_timestamptz_in("2000-01-03", -1); +// st= GeneratedFunctions.pg_timestamptz_in("2000-01-03", -1); // } // else{ // st= null; @@ -1384,10 +1384,10 @@ origin will be (0, 0, 0). // } // else{ // if(this.geodetic()){ -// gs= functions.pgis_geography_in("Point(0 0 0)", -1); +// gs= GeneratedFunctions.geog_in("Point(0 0 0)", -1); // } // else{ -// gs= functions.pgis_geometry_in("Point (0 0 0)", -1); +// gs= GeneratedFunctions.geom_in("Point (0 0 0)", -1); // } // } // @@ -1395,7 +1395,7 @@ origin will be (0, 0, 0). // Runtime runtime = Runtime.getSystemRuntime(); // // Allocate memory for an integer (4 bytes) but do not set a value // Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); -// Pointer resPointer= functions.stbox_space_time_tiles(this.get_inner(), sz, sz, sz, dt, gs, st); +// Pointer resPointer= GeneratedFunctions.stbox_space_time_tiles(this.get_inner(), sz, sz, sz, dt, gs, st); // int count= intPointer.getInt(Integer.BYTES); // List stBoxes= new ArrayList<>(); // for(int i=0;i Date: Fri, 12 Jun 2026 05:34:12 +0200 Subject: [PATCH 21/23] refactor(facade): migrate tstzspan/tstzset off the legacy facade Wipe step 9: tstzspan (adjacent_period_timestamp -> adjacent_span_timestamptz, pg_timestamptz_in -> timestamptz_in) and tstzset (timestampset_out -> tstzset_out; tstzset_values gained a count out-param) onto the generated facade. --- .../java/types/collections/time/tstzset.java | 136 +++++++------- .../java/types/collections/time/tstzspan.java | 176 +++++++++--------- 2 files changed, 157 insertions(+), 155 deletions(-) diff --git a/jmeos-core/src/main/java/types/collections/time/tstzset.java b/jmeos-core/src/main/java/types/collections/time/tstzset.java index 4c0e40c7a..e535dbc3a 100644 --- a/jmeos-core/src/main/java/types/collections/time/tstzset.java +++ b/jmeos-core/src/main/java/types/collections/time/tstzset.java @@ -1,6 +1,8 @@ package types.collections.time; import jnr.ffi.Pointer; +import jnr.ffi.Runtime; +import jnr.ffi.Memory; import types.TemporalObject; import types.boxes.Box; import types.collections.base.Base; @@ -10,7 +12,7 @@ import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.util.ArrayList; -import functions.functions; +import functions.GeneratedFunctions; import java.util.List; import java.util.Objects; @@ -61,7 +63,7 @@ public tstzset() { public tstzset(Pointer _inner) { super(_inner); this._inner = _inner; - //String str = functions.timestampset_out(this._inner); + //String str = GeneratedFunctions.tstzset_out(this._inner); } @@ -72,13 +74,13 @@ public tstzset(Pointer _inner) { */ public tstzset(String value) { super(value); - this._inner = functions.tstzset_in(value); + this._inner = GeneratedFunctions.tstzset_in(value); } @Override public Pointer createStringInner(String str){ - return functions.tstzset_in(str); + return GeneratedFunctions.tstzset_in(str); } @Override @@ -95,7 +97,7 @@ public Pointer createInner(Pointer inner){ * @return a new tstzset instance */ // public tstzset copy() { -// return new tstzset(functions.tstz(this._inner)); +// return new tstzset(GeneratedFunctions.tstz(this._inner)); // } @@ -108,12 +110,12 @@ public Pointer createInner(Pointer inner){ * @return a new tstzset instance */ // public static tstzset from_hexwkb(String hexwkb) { -// Pointer result = functions.tstzset_(hexwkb); +// Pointer result = GeneratedFunctions.tstzset_(hexwkb); // return new tstzset(result); // } public static tstzset from_hexwkb(String hexwkb) { - Pointer result = functions.set_from_hexwkb(hexwkb); + Pointer result = GeneratedFunctions.set_from_hexwkb(hexwkb); return new tstzset(result); } @@ -128,7 +130,7 @@ public static tstzset from_hexwkb(String hexwkb) { * @return a new String instance */ public String toString(){ - return functions.tstzset_out(this._inner); + return GeneratedFunctions.tstzset_out(this._inner); } @@ -143,7 +145,7 @@ public String toString(){ * @return a new tstzspanset instance */ public tstzspanset to_periodset() { - return new tstzspanset(functions.set_to_spanset(this.get_inner())); + return new tstzspanset(GeneratedFunctions.set_to_spanset(this.get_inner())); } /** @@ -154,11 +156,11 @@ public tstzspanset to_periodset() { * @return a new tstzspan instance */ public tstzspan to_span() { - return new tstzspan(functions.set_to_span(this._inner)); + return new tstzspan(GeneratedFunctions.set_to_span(this._inner)); } public tstzspanset to_spanset() { - return new tstzspanset(functions.set_to_spanset(this._inner)); + return new tstzspanset(GeneratedFunctions.set_to_spanset(this._inner)); } /** @@ -173,7 +175,7 @@ public tstzspan to_period() { } public Duration duration(){ - return ConversionUtils.interval_to_timedelta(functions.tstzspan_duration(functions.set_to_span(this._inner))); + return ConversionUtils.interval_to_timedelta(GeneratedFunctions.tstzspan_duration(GeneratedFunctions.set_to_span(this._inner))); } @@ -196,7 +198,7 @@ public Pointer get_inner(){ * @return a new Integer instance */ public int num_timestamps(){ - return functions.set_num_values(this._inner); + return GeneratedFunctions.set_num_values(this._inner); } /** @@ -209,7 +211,7 @@ public int num_timestamps(){ * @return a {@link LocalDateTime instance} */ public LocalDateTime start_element(){ - return ConversionUtils.timestamptz_to_datetime(functions.tstzset_start_value(this._inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.tstzset_start_value(this._inner)); } /** @@ -222,16 +224,16 @@ public LocalDateTime start_element(){ * @return a {@link LocalDateTime instance} */ public LocalDateTime end_element(){ - return ConversionUtils.timestamptz_to_datetime(functions.tstzset_end_value(this._inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.tstzset_end_value(this._inner)); } public LocalDateTime element_n(int n) throws Exception { super.element_n(n); - return ConversionUtils.timestamptz_to_datetime(OffsetDateTime.parse(Objects.requireNonNull(functions.tstzset_value_n(this._inner, n + 1)).toString())); + return ConversionUtils.timestamptz_to_datetime(OffsetDateTime.parse(Objects.requireNonNull(GeneratedFunctions.tstzset_value_n(this._inner, n + 1)).toString())); } public List elements() throws Exception { - Pointer dp= functions.tstzset_values(this._inner); + Pointer dp= GeneratedFunctions.tstzset_values(this._inner, Memory.allocate(Runtime.getSystemRuntime(), 4)); long size= this.num_elements(); List dateTimeList= new ArrayList(); for(int i=0; i) other).time()); } else if (other instanceof Box){ - return functions.adjacent_span_span(functions.set_to_span(this._inner), ((Box) other).to_period().get_inner()); + return GeneratedFunctions.adjacent_span_span(GeneratedFunctions.set_to_span(this._inner), ((Box) other).to_period().get_inner()); } else{ return super.is_adjacent((Base) other); @@ -334,10 +336,10 @@ >>> tstzset('{2012-01-01, 2012-01-02}').is_contained_in(tstzspan('(2012-01-01, 2 public boolean is_contained_in(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.contained_span_span(functions.set_to_span(this._inner), p.get_inner()); - case tstzspanset ps -> returnValue = functions.contained_spanset_spanset(functions.set_to_span(this._inner), ps.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.contained_span_span(GeneratedFunctions.set_to_span(this._inner), p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.contained_spanset_spanset(GeneratedFunctions.set_to_span(this._inner), ps.get_inner()); case Temporal t -> returnValue = this.is_contained_in(t.time()); - case Box b -> returnValue = functions.contained_span_span(functions.set_to_span(this._inner), b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.contained_span_span(GeneratedFunctions.set_to_span(this._inner), b.to_period().get_inner()); default -> returnValue = super.is_contained_in((Base) other); } return returnValue; @@ -370,7 +372,7 @@ public boolean is_contained_in(TemporalObject other) throws Exception { public boolean contains(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzset ts -> returnValue = functions.contains_set_set(this._inner, ts.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.contains_set_set(this._inner, ts.get_inner()); case Temporal t -> returnValue = this.contains(t.time()); default -> returnValue = super.contains((Base) other); } @@ -404,10 +406,10 @@ >>> tstzset('{2012-01-01, 2012-01-02}').overlaps(tstzspan('(2012-01-02, 2012-01- public boolean overlaps(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.overlaps_span_span(functions.set_to_span(this._inner), p.get_inner()); - case tstzspanset ps -> returnValue = functions.overlaps_spanset_spanset(functions.set_to_spanset(this._inner), ps.get_inner()); - case tstzset ts -> returnValue = functions.overlaps_set_set(this._inner, ts.get_inner()); - case Box b -> returnValue = functions.overlaps_span_span(functions.set_to_span(this._inner), b.to_period().get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.overlaps_span_span(GeneratedFunctions.set_to_span(this._inner), p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overlaps_spanset_spanset(GeneratedFunctions.set_to_spanset(this._inner), ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overlaps_set_set(this._inner, ts.get_inner()); + case Box b -> returnValue = GeneratedFunctions.overlaps_span_span(GeneratedFunctions.set_to_span(this._inner), b.to_period().get_inner()); default -> returnValue = super.overlaps((Base) other); } return returnValue; @@ -462,11 +464,11 @@ public boolean is_same(Time other) throws Exception { public boolean is_after(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.right_span_span(functions.set_to_span(this._inner), p.get_inner()); - case tstzspanset ps -> returnValue = functions.right_span_spanset(functions.set_to_span(this._inner), ps.get_inner()); - case tstzset ts -> returnValue = functions.right_set_set(this._inner, ts.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.right_span_span(GeneratedFunctions.set_to_span(this._inner), p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.right_span_spanset(GeneratedFunctions.set_to_span(this._inner), ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.right_set_set(this._inner, ts.get_inner()); case Temporal t -> returnValue = this.to_period().is_after(other); - case Box b -> returnValue = functions.right_span_span(functions.set_to_span(this._inner), b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.right_span_span(GeneratedFunctions.set_to_span(this._inner), b.to_period().get_inner()); default -> returnValue = super.is_left((Base) other); } return returnValue; @@ -499,11 +501,11 @@ public boolean is_after(TemporalObject other) throws Exception { public boolean is_before(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.left_span_span(functions.set_to_span(this._inner), p.get_inner()); - case tstzspanset ps -> returnValue = functions.left_span_spanset(functions.set_to_span(this._inner), ps.get_inner()); - case tstzset ts -> returnValue = functions.left_set_set(this._inner, ts.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.left_span_span(GeneratedFunctions.set_to_span(this._inner), p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.left_span_spanset(GeneratedFunctions.set_to_span(this._inner), ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.left_set_set(this._inner, ts.get_inner()); case Temporal t -> returnValue = this.to_period().is_before(other); - case Box b -> returnValue = functions.left_span_span(functions.set_to_span(this._inner), b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.left_span_span(GeneratedFunctions.set_to_span(this._inner), b.to_period().get_inner()); default -> returnValue = super.is_left((Base) other); } return returnValue; @@ -535,11 +537,11 @@ public boolean is_before(TemporalObject other) throws Exception { public boolean is_over_or_after(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.overright_span_span(functions.set_to_span(this._inner), p.get_inner()); - case tstzspanset ps -> returnValue = functions.overright_span_spanset(functions.set_to_span(this._inner), ps.get_inner()); - case tstzset ts -> returnValue = functions.overright_set_set(this._inner, ts.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.overright_span_span(GeneratedFunctions.set_to_span(this._inner), p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overright_span_spanset(GeneratedFunctions.set_to_span(this._inner), ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overright_set_set(this._inner, ts.get_inner()); case Temporal t -> returnValue = this.to_period().is_over_or_after(other); - case Box b -> returnValue = functions.overright_span_span(functions.set_to_span(this._inner), b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overright_span_span(GeneratedFunctions.set_to_span(this._inner), b.to_period().get_inner()); default -> returnValue = super.is_over_or_right((Base) other); } return returnValue; @@ -572,11 +574,11 @@ public boolean is_over_or_after(TemporalObject other) throws Exception { public boolean is_over_or_before(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.overleft_span_span(functions.set_to_span(this._inner), p.get_inner()); - case tstzspanset ps -> returnValue = functions.overleft_span_spanset(functions.set_to_span(this._inner), ps.get_inner()); - case tstzset ts -> returnValue = functions.overleft_set_set(this._inner, ts.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.overleft_span_span(GeneratedFunctions.set_to_span(this._inner), p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overleft_span_spanset(GeneratedFunctions.set_to_span(this._inner), ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overleft_set_set(this._inner, ts.get_inner()); case Temporal t -> returnValue = this.to_period().is_over_or_before(other); - case Box b -> returnValue = functions.overleft_span_span(functions.set_to_span(this._inner), b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overleft_span_span(GeneratedFunctions.set_to_span(this._inner), b.to_period().get_inner()); default -> returnValue = super.is_over_or_left((Base) other); } return returnValue; @@ -586,15 +588,15 @@ public boolean is_over_or_before(TemporalObject other) throws Exception { public Duration distance(Object other) throws Exception { Duration answer = null; if (other instanceof LocalDateTime) { - answer= Duration.ofSeconds((long)functions.distance_set_timestamptz(this._inner, ConversionUtils.datetimeToTimestampTz((LocalDateTime) other))); + answer= Duration.ofSeconds((long)GeneratedFunctions.distance_set_timestamptz(this._inner, ConversionUtils.datetimeToTimestampTz((LocalDateTime) other))); } else if (other instanceof tstzset) { - answer= Duration.ofSeconds((long)functions.distance_tstzset_tstzset(this._inner, ((tstzset) other)._inner)); + answer= Duration.ofSeconds((long)GeneratedFunctions.distance_tstzset_tstzset(this._inner, ((tstzset) other)._inner)); } else if (other instanceof tstzspan) { answer= Duration.ofSeconds((long)this.to_span().distance((TemporalObject) other)); -// Duration.ofSeconds((long)functions.distance_tstzspanset_tstzspan(this.to_spanset(tstzspan.class).get_inner(), ((tstzspan) other).get_inner())); +// Duration.ofSeconds((long)GeneratedFunctions.distance_tstzspanset_tstzspan(this.to_spanset(tstzspan.class).get_inner(), ((tstzspan) other).get_inner())); } else if (other instanceof tstzspanset) { answer= Duration.ofSeconds((long)this.to_span().distance((TemporalObject) other)); -// Duration.ofSeconds((long)functions.distance_tstzspanset_tstzspanset(this.to_spanset(tstzspan.class).get_inner(), ((tstzspanset) other).get_inner())); +// Duration.ofSeconds((long)GeneratedFunctions.distance_tstzspanset_tstzspanset(this.to_spanset(tstzspan.class).get_inner(), ((tstzspanset) other).get_inner())); } else if (other instanceof Temporal) { answer= Duration.ofSeconds((long)this.to_span().distance((TemporalObject) other)); } else if (other instanceof Box) { @@ -607,8 +609,8 @@ public Duration distance(Object other) throws Exception { // public Duration distance(Object other) throws Exception { // Duration answer = switch (other) { -// case LocalDateTime localDateTime -> Duration.ofSeconds((long) functions.distance_set_timestamptz(this._inner, ConversionUtils.datetimeToTimestampTz(localDateTime))); -// case tstzset tstzset -> Duration.ofSeconds((long) functions.distance_tstzset_tstzset(this._inner, tstzset._inner)); +// case LocalDateTime localDateTime -> Duration.ofSeconds((long) GeneratedFunctions.distance_set_timestamptz(this._inner, ConversionUtils.datetimeToTimestampTz(localDateTime))); +// case tstzset tstzset -> Duration.ofSeconds((long) GeneratedFunctions.distance_tstzset_tstzset(this._inner, tstzset._inner)); // case tstzspan tstzspan -> Duration.ofSeconds((long) tstzspan.distance((TemporalObject) other)); // case tstzspanset tstzspanset -> Duration.ofSeconds((long) tstzspanset.to_span().distance((TemporalObject) other)); // case Temporal ts -> Duration.ofSeconds((long) this.to_span().distance((TemporalObject) other)); @@ -623,8 +625,8 @@ public Duration distance(Object other) throws Exception { // double returnValue; // switch (other){ // case tstzspan p -> returnValue = this.to_span().distance(other); -// case tstzset ts -> returnValue = functions.distance_tstzspanset_tstzspan(ts.get_inner(),this._inner); -// case Box b -> returnValue = functions.distance_tstzspan_tstzspan(this._inner, b.to_period().get_inner()); +// case tstzset ts -> returnValue = GeneratedFunctions.distance_tstzspanset_tstzspan(ts.get_inner(),this._inner); +// case Box b -> returnValue = GeneratedFunctions.distance_tstzspan_tstzspan(this._inner, b.to_period().get_inner()); // default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); // } // return returnValue; @@ -651,9 +653,9 @@ public Duration distance(Object other) throws Exception { public Time intersection(TemporalObject other) throws Exception { Time returnValue = null; switch (other) { - case tstzspan p -> returnValue = new tstzspanset(functions.intersection_spanset_span(functions.set_to_spanset(this._inner), p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.intersection_spanset_spanset(functions.set_to_spanset(this._inner),ps.get_inner())); - case tstzset ts -> returnValue = new tstzset(functions.intersection_set_set(this._inner,ts.get_inner())); + case tstzspan p -> returnValue = new tstzspanset(GeneratedFunctions.intersection_spanset_span(GeneratedFunctions.set_to_spanset(this._inner), p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.intersection_spanset_spanset(GeneratedFunctions.set_to_spanset(this._inner),ps.get_inner())); + case tstzset ts -> returnValue = new tstzset(GeneratedFunctions.intersection_set_set(this._inner,ts.get_inner())); case Temporal t -> returnValue = (Time) this.intersection(t.time()); case Box b -> returnValue = (Time) this.intersection(b.to_period()); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); @@ -697,9 +699,9 @@ public Time mul(TemporalObject other) throws Exception { public Time minus(TemporalObject other) throws Exception { Time returnValue = null; switch (other) { - case tstzspan p -> returnValue = new tstzspanset(functions.minus_spanset_span(functions.set_to_spanset(this._inner), p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.minus_spanset_spanset(functions.set_to_spanset(this._inner),ps.get_inner())); - case tstzset ts -> returnValue = new tstzset(functions.minus_set_set(this._inner,ts.get_inner())); + case tstzspan p -> returnValue = new tstzspanset(GeneratedFunctions.minus_spanset_span(GeneratedFunctions.set_to_spanset(this._inner), p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.minus_spanset_spanset(GeneratedFunctions.set_to_spanset(this._inner),ps.get_inner())); + case tstzset ts -> returnValue = new tstzset(GeneratedFunctions.minus_set_set(this._inner,ts.get_inner())); case Temporal t -> returnValue = (Time) this.minus(t.time()); case Box b -> returnValue = (Time) this.minus(b.to_period()); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); @@ -744,9 +746,9 @@ public Time sub(Time other) throws Exception { public Time union(TemporalObject other) throws Exception { Time returnValue = null; switch (other) { - case tstzspan p -> returnValue = new tstzspan(functions.union_spanset_span(functions.set_to_spanset(this._inner),p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.union_spanset_spanset(functions.set_to_spanset(this._inner),ps.get_inner())); - case tstzset ts -> returnValue = new tstzset(functions.union_set_set(this._inner,ts.get_inner())); + case tstzspan p -> returnValue = new tstzspan(GeneratedFunctions.union_spanset_span(GeneratedFunctions.set_to_spanset(this._inner),p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.union_spanset_spanset(GeneratedFunctions.set_to_spanset(this._inner),ps.get_inner())); + case tstzset ts -> returnValue = new tstzset(GeneratedFunctions.union_set_set(this._inner,ts.get_inner())); case Temporal t -> returnValue = (Time) this.union(t.time()); case Box b -> returnValue = (Time) this.union(b.to_period()); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); @@ -790,7 +792,7 @@ public Time add(Time other) throws Exception { /* public boolean eq(Time other) throws SQLException{ boolean result; - result = other instanceof tstzset ? functions.set_eq(this._inner,((tstzset) other).get_inner()) : false; + result = other instanceof tstzset ? GeneratedFunctions.set_eq(this._inner,((tstzset) other).get_inner()) : false; return result; } @@ -813,7 +815,7 @@ public boolean eq(Time other) throws SQLException{ /* public boolean notEquals(Time other) throws SQLException{ boolean result; - result = other instanceof tstzset ? functions.set_ne(this._inner,((tstzset) other).get_inner()) : true; + result = other instanceof tstzset ? GeneratedFunctions.set_ne(this._inner,((tstzset) other).get_inner()) : true; return result; } @@ -837,7 +839,7 @@ public boolean notEquals(Time other) throws SQLException{ /* public boolean lessThan(Time other) throws SQLException{ if (other instanceof tstzset){ - return functions.set_lt(this._inner,((tstzset) other).get_inner()); + return GeneratedFunctions.set_lt(this._inner,((tstzset) other).get_inner()); } else{ throw new SQLException("Operation not supported with this type."); @@ -865,7 +867,7 @@ public boolean lessThan(Time other) throws SQLException{ /* public boolean lessThanOrEqual(Time other) throws SQLException{ if (other instanceof tstzset){ - return functions.set_le(this._inner,((tstzset) other).get_inner()); + return GeneratedFunctions.set_le(this._inner,((tstzset) other).get_inner()); } else{ throw new SQLException("Operation not supported with this type."); @@ -892,7 +894,7 @@ public boolean lessThanOrEqual(Time other) throws SQLException{ /* public boolean greaterThan(Time other) throws SQLException{ if (other instanceof tstzset){ - return functions.set_gt(this._inner,((tstzset) other).get_inner()); + return GeneratedFunctions.set_gt(this._inner,((tstzset) other).get_inner()); } else{ throw new SQLException("Operation not supported with this type."); @@ -917,7 +919,7 @@ public boolean greaterThan(Time other) throws SQLException{ /* public boolean greaterThanOrEqual(Time other) throws SQLException{ if (other instanceof tstzset){ - return functions.set_ge(this._inner,((tstzset) other).get_inner()); + return GeneratedFunctions.set_ge(this._inner,((tstzset) other).get_inner()); } else{ throw new SQLException("Operation not supported with this type."); diff --git a/jmeos-core/src/main/java/types/collections/time/tstzspan.java b/jmeos-core/src/main/java/types/collections/time/tstzspan.java index 1cd72b46a..779f06a9d 100644 --- a/jmeos-core/src/main/java/types/collections/time/tstzspan.java +++ b/jmeos-core/src/main/java/types/collections/time/tstzspan.java @@ -12,7 +12,7 @@ import types.collections.base.Span; import types.temporal.Temporal; import utils.ConversionUtils; -import functions.functions; +import functions.GeneratedFunctions; import javax.naming.OperationNotSupportedException; @@ -83,7 +83,7 @@ public tstzspan(Pointer _inner) { */ public tstzspan(final String value){ super(value); - this._inner = functions.tstzspan_in(value); + this._inner = GeneratedFunctions.tstzspan_in(value); } @@ -98,9 +98,9 @@ public tstzspan(String lower, String upper) { super(lower,upper,true,false); this.lowerInclusive = true; this.upperInclusive = false; - OffsetDateTime lower_ts = functions.pg_timestamptz_in(lower, -1); - OffsetDateTime upper_ts = functions.pg_timestamptz_in(upper, -1); - this._inner = functions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); + OffsetDateTime lower_ts = GeneratedFunctions.timestamptz_in(lower, -1); + OffsetDateTime upper_ts = GeneratedFunctions.timestamptz_in(upper, -1); + this._inner = GeneratedFunctions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); } /** @@ -113,9 +113,9 @@ public tstzspan(String lower, String upper) { */ public tstzspan(String lower, String upper, boolean lowerInclusive, boolean upperInclusive) { super(lower,upper,lowerInclusive,upperInclusive); - OffsetDateTime lower_ts = functions.pg_timestamptz_in(lower, -1); - OffsetDateTime upper_ts = functions.pg_timestamptz_in(upper, -1); - this._inner = functions.tstzspan_make(lower_ts, upper_ts, lowerInclusive, upperInclusive); + OffsetDateTime lower_ts = GeneratedFunctions.timestamptz_in(lower, -1); + OffsetDateTime upper_ts = GeneratedFunctions.timestamptz_in(upper, -1); + this._inner = GeneratedFunctions.tstzspan_make(lower_ts, upper_ts, lowerInclusive, upperInclusive); } @@ -131,7 +131,7 @@ public tstzspan(LocalDateTime lower, LocalDateTime upper) { this.upperInclusive = false; OffsetDateTime lower_ts = ConversionUtils.datetimeToTimestampTz(lower); OffsetDateTime upper_ts = ConversionUtils.datetimeToTimestampTz(upper); - this._inner = functions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); + this._inner = GeneratedFunctions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); } @@ -147,7 +147,7 @@ public tstzspan(LocalDateTime lower, LocalDateTime upper, boolean lowerInclusive super(lower.toString(),upper.toString(),lowerInclusive,upperInclusive); OffsetDateTime lower_ts = ConversionUtils.datetimeToTimestampTz(lower); OffsetDateTime upper_ts = ConversionUtils.datetimeToTimestampTz(upper); - this._inner = functions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); + this._inner = GeneratedFunctions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); } @@ -161,9 +161,9 @@ public tstzspan(String lower, LocalDateTime upper) { super(lower,upper.toString(),true,false); this.lowerInclusive = true; this.upperInclusive = false; - OffsetDateTime lower_ts = functions.pg_timestamptz_in(lower,-1); + OffsetDateTime lower_ts = GeneratedFunctions.timestamptz_in(lower,-1); OffsetDateTime upper_ts = ConversionUtils.datetimeToTimestampTz(upper); - this._inner = functions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); + this._inner = GeneratedFunctions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); } /** @@ -177,14 +177,14 @@ public tstzspan(LocalDateTime lower, String upper){ this.lowerInclusive = true; this.upperInclusive = false; OffsetDateTime lower_ts = ConversionUtils.datetimeToTimestampTz(lower); - OffsetDateTime upper_ts = functions.pg_timestamptz_in(upper,-1); - this._inner = functions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); + OffsetDateTime upper_ts = GeneratedFunctions.timestamptz_in(upper,-1); + this._inner = GeneratedFunctions.tstzspan_make(lower_ts, upper_ts, this.lowerInclusive, this.upperInclusive); } @Override public Pointer createStringInner(String str){ - return functions.tstzspan_in(str); + return GeneratedFunctions.tstzspan_in(str); } @Override @@ -194,25 +194,25 @@ public Pointer createInner(Pointer inner){ @Override public Pointer createIntInt(java.lang.Number lower, java.lang.Number upper, boolean lower_inc, boolean upper_inc){ - return functions.intspan_make(lower.intValue(),upper.intValue(),lower_inc,upper_inc); + return GeneratedFunctions.intspan_make(lower.intValue(),upper.intValue(),lower_inc,upper_inc); } @Override public Pointer createIntStr(java.lang.Number lower, String upper, boolean lower_inc, boolean upper_inc){ int new_upper = Integer.parseInt(upper); - return functions.intspan_make(lower.intValue(),new_upper,lower_inc,upper_inc); + return GeneratedFunctions.intspan_make(lower.intValue(),new_upper,lower_inc,upper_inc); } @Override public Pointer createStrStr(String lower, String upper, boolean lower_inc, boolean upper_inc){ - return functions.tstzspan_make(functions.pg_timestamptz_in(lower,-1),functions.pg_timestamptz_in(upper,-1),lower_inc,upper_inc); + return GeneratedFunctions.tstzspan_make(GeneratedFunctions.timestamptz_in(lower,-1),GeneratedFunctions.timestamptz_in(upper,-1),lower_inc,upper_inc); } @Override public Pointer createStrInt(String lower, java.lang.Number upper, boolean lower_inc, boolean upper_inc){ int new_lower = Integer.parseInt(lower); - return functions.intspan_make(new_lower,upper.intValue(),lower_inc,upper_inc); + return GeneratedFunctions.intspan_make(new_lower,upper.intValue(),lower_inc,upper_inc); } @Override public Pointer createIntIntNb(java.lang.Number lower, java.lang.Number upper){ - return functions.intspan_make(lower.intValue(),upper.intValue(),true,false); + return GeneratedFunctions.intspan_make(lower.intValue(),upper.intValue(),true,false); } @@ -227,7 +227,7 @@ public Pointer createIntIntNb(java.lang.Number lower, java.lang.Number upper){ * @return Instance of tstzspan class */ public tstzspan copy(){ - return new tstzspan(functions.span_copy(this._inner)); + return new tstzspan(GeneratedFunctions.span_copy(this._inner)); } @@ -244,7 +244,7 @@ public tstzspan copy(){ * @return Instance of tstzspan class */ public static tstzspan from_hexwkb(String hexwkb) { - return new tstzspan(functions.span_from_hexwkb(hexwkb)); + return new tstzspan(GeneratedFunctions.span_from_hexwkb(hexwkb)); } @@ -263,7 +263,7 @@ public static tstzspan from_hexwkb(String hexwkb) { * @return string instance */ public String toString(){ - return functions.tstzspan_out(this._inner); + return GeneratedFunctions.tstzspan_out(this._inner); } @@ -281,7 +281,7 @@ public String toString(){ * @return tstzspanset instance */ public tstzspanset to_spanset(){ - return new tstzspanset(functions.span_to_spanset(this._inner)); + return new tstzspanset(GeneratedFunctions.span_to_spanset(this._inner)); } @@ -296,7 +296,7 @@ public tstzspanset to_spanset(){ * @return tstzspanset instance */ public tstzspanset to_periodset() { - return new tstzspanset(functions.span_to_spanset(this._inner)); + return new tstzspanset(GeneratedFunctions.span_to_spanset(this._inner)); } @@ -321,7 +321,7 @@ public Pointer get_inner(){ * @return true if the lower bound of the period is inclusive and false otherwise */ public boolean lower_inc(){ - return functions.span_lower_inc(this._inner); + return GeneratedFunctions.span_lower_inc(this._inner); } /** @@ -333,7 +333,7 @@ public boolean lower_inc(){ * @return True if the upper bound of the period is inclusive and False otherwise */ public boolean upper_inc(){ - return functions.span_upper_inc(this._inner); + return GeneratedFunctions.span_upper_inc(this._inner); } @@ -346,7 +346,7 @@ public boolean upper_inc(){ * @return The lower bound of the period as a {@link LocalDateTime} */ public LocalDateTime lower() { - return ConversionUtils.timestamptz_to_datetime(functions.tstzspan_lower(this._inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.tstzspan_lower(this._inner)); } @@ -359,7 +359,7 @@ public LocalDateTime lower() { * @return The upper bound of the period as a {@link LocalDateTime} */ public LocalDateTime upper() { - return ConversionUtils.timestamptz_to_datetime(functions.tstzspan_upper(this._inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.tstzspan_upper(this._inner)); } @@ -372,7 +372,7 @@ public LocalDateTime upper() { * @return timedelta instance representing the duration of the period */ public Duration duration(){ - return ConversionUtils.interval_to_timedelta(functions.tstzspan_duration(this._inner)); + return ConversionUtils.interval_to_timedelta(GeneratedFunctions.tstzspan_duration(this._inner)); } @@ -398,7 +398,7 @@ public long duration_in_second(){ * @return integer instance */ public long hash(){ - return functions.span_hash(this._inner); + return GeneratedFunctions.span_hash(this._inner); } @@ -422,8 +422,8 @@ public long hash(){ * @return tstzspan instance */ // public tstzspan expand(tstzspan other) { -// Pointer copy = functions.span_copy(this._inner); -// functions.span_expand(other._inner, copy); +// Pointer copy = GeneratedFunctions.span_copy(this._inner); +// GeneratedFunctions.span_expand(other._inner, copy); // return new tstzspan(copy); // } @@ -459,12 +459,12 @@ public long hash(){ public boolean is_adjacent(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.adjacent_span_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.adjacent_spanset_span(ps.get_inner(), this._inner); - //case Time dt -> returnValue = functions.adjacent_period_timestamp(this._inner, ConversionUtils.datetimeToTimestampTz(dt)); - case tstzset ts -> returnValue = functions.adjacent_spanset_spanset(this._inner, functions.set_to_span(ts.get_inner())); - case Temporal t -> returnValue = functions.adjacent_span_span(this._inner,functions.temporal_to_tstzspan(t.getInner())); - case Box b -> returnValue = functions.adjacent_span_span(this._inner, b.to_period().get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.adjacent_span_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.adjacent_spanset_span(ps.get_inner(), this._inner); + //case Time dt -> returnValue = GeneratedFunctions.adjacent_span_timestamptz(this._inner, ConversionUtils.datetimeToTimestampTz(dt)); + case tstzset ts -> returnValue = GeneratedFunctions.adjacent_spanset_spanset(this._inner, GeneratedFunctions.set_to_span(ts.get_inner())); + case Temporal t -> returnValue = GeneratedFunctions.adjacent_span_span(this._inner,GeneratedFunctions.temporal_to_tstzspan(t.getInner())); + case Box b -> returnValue = GeneratedFunctions.adjacent_span_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_adjacent((Base) other); } return returnValue; @@ -496,10 +496,10 @@ public boolean is_adjacent(TemporalObject other) throws Exception { public boolean is_contained_in(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.contained_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.contained_span_spanset(this._inner,ps.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.contained_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.contained_span_spanset(this._inner,ps.get_inner()); case Temporal t -> returnValue = this.is_contained_in((TemporalObject)t.period()); - case Box b -> returnValue = functions.contained_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.contained_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.is_contained_in((Base) other); } return returnValue; @@ -533,11 +533,11 @@ public boolean is_contained_in(TemporalObject other) throws Exception { public boolean contains(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.contains_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.contains_span_spanset(this._inner,ps.get_inner()); - case tstzset ts -> returnValue = functions.contains_span_span(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.contains_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.contains_span_spanset(this._inner,ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.contains_span_span(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = contains((TemporalObject) t.period()); - case Box b -> returnValue = functions.contains_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.contains_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.contains((Base) other); } return returnValue; @@ -569,11 +569,11 @@ public boolean contains(TemporalObject other) throws Exception { public boolean overlaps(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.overlaps_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.overlaps_spanset_span(ps.get_inner(),this._inner); - case tstzset ts -> returnValue = functions.overlaps_span_span(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.overlaps_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overlaps_spanset_span(ps.get_inner(),this._inner); + case tstzset ts -> returnValue = GeneratedFunctions.overlaps_span_span(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = this.overlaps((TemporalObject)t.period()); - case Box b -> returnValue = functions.overlaps_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overlaps_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.overlaps((Base) other); } @@ -598,11 +598,11 @@ public boolean overlaps(TemporalObject other) throws Exception { public boolean is_same(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.span_eq(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.span_eq(this._inner,functions.spanset_span(ps.get_inner())); - case tstzset ts -> returnValue = functions.span_eq(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.span_eq(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.span_eq(this._inner,GeneratedFunctions.spanset_span(ps.get_inner())); + case tstzset ts -> returnValue = GeneratedFunctions.span_eq(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = this.is_same((TemporalObject)t.period()); - case Box b -> returnValue = functions.span_eq(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.span_eq(this._inner,b.to_period().get_inner()); default -> returnValue = super.is_same((Base) other); } return returnValue; @@ -639,11 +639,11 @@ public boolean is_same(TemporalObject other) throws Exception { public boolean is_before(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.left_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.left_span_spanset(this._inner,ps.get_inner()); - case tstzset ts -> returnValue = functions.left_span_span(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.left_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.left_span_spanset(this._inner,ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.left_span_span(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_before(t.period()); - case Box b -> returnValue = functions.left_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.left_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.is_left((Base) other); } return returnValue; @@ -677,11 +677,11 @@ public boolean is_before(TemporalObject other) throws Exception { public boolean is_over_or_before(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.overleft_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.overleft_span_spanset(this._inner,ps.get_inner()); - case tstzset ts -> returnValue = functions.overleft_span_span(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.overleft_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overleft_span_spanset(this._inner,ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overleft_span_span(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_over_or_before(t.period()); - case Box b -> returnValue = functions.overleft_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overleft_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.is_over_or_left((Base) other); } return returnValue; @@ -714,11 +714,11 @@ public boolean is_over_or_before(TemporalObject other) throws Exception { public boolean is_after(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.right_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.right_span_spanset(this._inner,ps.get_inner()); - case tstzset ts -> returnValue = functions.right_span_span(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.right_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.right_span_spanset(this._inner,ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.right_span_span(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_after(t.period()); - case Box b -> returnValue = functions.right_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.right_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.is_right((Base) other); } return returnValue; @@ -754,11 +754,11 @@ public boolean is_after(TemporalObject other) throws Exception { public boolean is_over_or_after(TemporalObject other) throws Exception { boolean returnValue; switch (other){ - case tstzspan p -> returnValue = functions.overright_span_span(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.overright_span_spanset(this._inner,ps.get_inner()); - case tstzset ts -> returnValue = functions.overright_span_span(this._inner,functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.overright_span_span(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overright_span_spanset(this._inner,ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overright_span_span(this._inner,GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_over_or_after(t.period()); - case Box b -> returnValue = functions.overright_span_span(this._inner,b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overright_span_span(this._inner,b.to_period().get_inner()); default -> returnValue = super.is_over_or_right((Base) other); } return returnValue; @@ -787,10 +787,10 @@ public boolean is_over_or_after(TemporalObject other) throws Exception { public double distance(TemporalObject other) throws Exception { double returnValue; switch (other){ - case tstzspan p -> returnValue = functions.distance_tstzspan_tstzspan(this._inner,p.get_inner()); - case tstzspanset ps -> returnValue = functions.distance_tstzspanset_tstzspan(ps.get_inner(),this._inner); + case tstzspan p -> returnValue = GeneratedFunctions.distance_tstzspan_tstzspan(this._inner,p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.distance_tstzspanset_tstzspan(ps.get_inner(),this._inner); case tstzset ts -> returnValue = ts.to_span().distance(other); - case Box b -> returnValue = functions.distance_tstzspan_tstzspan(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.distance_tstzspan_tstzspan(this._inner, b.to_period().get_inner()); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -817,9 +817,9 @@ public double distance(TemporalObject other) throws Exception { public Time intersection(TemporalObject other) throws Exception { Time returnValue = null; switch (other){ - case tstzspan p -> returnValue = new tstzspan(functions.intersection_span_span(this._inner,p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.intersection_spanset_span(ps.get_inner(), this._inner)); - case tstzset ts -> returnValue = new tstzset(functions.intersection_spanset_span(functions.set_to_spanset(ts.get_inner()),this._inner)); + case tstzspan p -> returnValue = new tstzspan(GeneratedFunctions.intersection_span_span(this._inner,p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.intersection_spanset_span(ps.get_inner(), this._inner)); + case tstzset ts -> returnValue = new tstzset(GeneratedFunctions.intersection_spanset_span(GeneratedFunctions.set_to_spanset(ts.get_inner()),this._inner)); default -> returnValue = (Time) new Exception("Operation not supported with this type"); } return returnValue; @@ -863,9 +863,9 @@ public Time mul(Time other) throws Exception { public tstzspanset minus(Time other) { tstzspanset returnValue; switch (other){ - case tstzspan p -> returnValue = new tstzspanset(functions.minus_span_span(this._inner,p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.minus_span_spanset(this._inner,ps.get_inner())); - case tstzset ts -> returnValue = new tstzspanset(functions.minus_span_spanset(this._inner,functions.set_to_spanset(ts.get_inner()))); + case tstzspan p -> returnValue = new tstzspanset(GeneratedFunctions.minus_span_span(this._inner,p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.minus_span_spanset(this._inner,ps.get_inner())); + case tstzset ts -> returnValue = new tstzspanset(GeneratedFunctions.minus_span_spanset(this._inner,GeneratedFunctions.set_to_spanset(ts.get_inner()))); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -909,9 +909,9 @@ public tstzspanset sub(Time other) { public tstzspanset union(Time other) { tstzspanset returnValue; switch (other){ - case tstzspan p -> returnValue = new tstzspanset(functions.union_span_span(this._inner,p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.union_spanset_span(ps.get_inner(),this._inner)); - case tstzset ts -> returnValue = new tstzspanset(functions.union_spanset_span(functions.set_to_spanset(ts.get_inner()),this._inner)); + case tstzspan p -> returnValue = new tstzspanset(GeneratedFunctions.union_span_span(this._inner,p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.union_spanset_span(ps.get_inner(),this._inner)); + case tstzset ts -> returnValue = new tstzspanset(GeneratedFunctions.union_spanset_span(GeneratedFunctions.set_to_spanset(ts.get_inner()),this._inner)); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -953,7 +953,7 @@ public tstzspanset add(Time other) { */ public boolean eq(Time other) { boolean result; - result = other instanceof tstzspan && functions.span_eq(this._inner, ((tstzspan) other).get_inner()); + result = other instanceof tstzspan && GeneratedFunctions.span_eq(this._inner, ((tstzspan) other).get_inner()); return result; } @@ -969,7 +969,7 @@ public boolean eq(Time other) { */ public boolean notEquals(Time other) { boolean result; - result = !(other instanceof tstzspan) || functions.span_ne(this._inner, ((tstzspan) other).get_inner()); + result = !(other instanceof tstzspan) || GeneratedFunctions.span_ne(this._inner, ((tstzspan) other).get_inner()); return result; } @@ -989,7 +989,7 @@ public boolean notEquals(Time other) { */ public boolean lessThan(Time other) throws OperationNotSupportedException { if (other instanceof tstzspan){ - return functions.span_lt(this._inner,((tstzspan) other).get_inner()); + return GeneratedFunctions.span_lt(this._inner,((tstzspan) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1010,7 +1010,7 @@ public boolean lessThan(Time other) throws OperationNotSupportedException { */ public boolean lessThanOrEqual(Time other) throws OperationNotSupportedException { if (other instanceof tstzspan){ - return functions.span_le(this._inner,((tstzspan) other).get_inner()); + return GeneratedFunctions.span_le(this._inner,((tstzspan) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1030,7 +1030,7 @@ public boolean lessThanOrEqual(Time other) throws OperationNotSupportedException */ public boolean greaterThan(Time other) throws OperationNotSupportedException { if (other instanceof tstzspan){ - return functions.span_gt(this._inner,((tstzspan) other).get_inner()); + return GeneratedFunctions.span_gt(this._inner,((tstzspan) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -1050,7 +1050,7 @@ public boolean greaterThan(Time other) throws OperationNotSupportedException { */ public boolean greaterThanOrEqual(Time other) throws OperationNotSupportedException { if (other instanceof tstzspan){ - return functions.span_ge(this._inner,((tstzspan) other).get_inner()); + return GeneratedFunctions.span_ge(this._inner,((tstzspan) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); From 00647a5456aea7cd8e8d5e05f9c274b901f3fe85 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 12 Jun 2026 05:32:52 +0200 Subject: [PATCH 22/23] refactor(facade): migrate TText off the legacy facade (cstring->text + value_at) Wipe step 8: TText onto the generated facade. cstring2text/text2cstring -> cstring_to_text/text_to_cstring (now public in 11g). value_at reshaped: the generated ttext_value_at_timestamptz returns the text* directly (or null), so read it via text_to_cstring; null-safe (throws on no-value, was the offset-8 garbage read). Verified "hello" via smoke. --- .../src/main/java/types/basic/ttext/TText.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/jmeos-core/src/main/java/types/basic/ttext/TText.java b/jmeos-core/src/main/java/types/basic/ttext/TText.java index a6921840e..d086db293 100644 --- a/jmeos-core/src/main/java/types/basic/ttext/TText.java +++ b/jmeos-core/src/main/java/types/basic/ttext/TText.java @@ -283,12 +283,13 @@ default TText lower(){ */ default String value_at_timestamp(LocalDateTime ts){ - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer textPointer = Memory.allocate(Runtime.getRuntime(runtime), 8); - boolean result= GeneratedFunctions.ttext_value_at_timestamptz(this.getTextInner(), ConversionUtils.datetimeToTimestampTz(ts), true, textPointer); - return GeneratedFunctions.text_to_cstring(textPointer.getPointer(Long.BYTES)); + // The generated facade returns the text* value directly (or null). + Pointer valuePointer = GeneratedFunctions.ttext_value_at_timestamptz( + this.getTextInner(), ConversionUtils.datetimeToTimestampTz(ts), true); + if (valuePointer == null) { + throw new IllegalArgumentException("this has no value at the given timestamp"); + } + return GeneratedFunctions.text_to_cstring(valuePointer); } /* ------------------------- Ever and Always Comparisons ------------------- */ From d7dd7b4adafb5f3bd6a983a4c7ac3524c4d6022f Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 12 Jun 2026 08:58:22 +0200 Subject: [PATCH 23/23] refactor(facade): migrate the tests off the legacy facade and delete it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repoint every test from functions.functions to the generated GeneratedFunctions surface (the calls are same-name same-signature, so this is a mechanical repoint) and remove the hand-rolled functions.java. The dual-facade irregularity is gone: the whole library — main code and tests — now uses the single generated facade. The other functions-package classes (GeneratedFunctions, the Meos* error types, error_handler/error_handler_fn) are unaffected. Full suite after deletion: 1735 tests, 0 failures, 0 errors, 0 native crashes. --- codegen/src/main/java/FunctionsGenerator.java | 11 +- jmeos-core/src/libmeos.so | Bin 2969864 -> 5804336 bytes .../java/functions/GeneratedFunctions.java | 39838 ---------------- .../src/main/java/functions/functions.java | 15460 ------ .../mobilitydb/meos/MeosOpsParityGaps.java | 8 +- .../org/mobilitydb/meos/MeosOpsTBool.java | 4 +- .../org/mobilitydb/meos/MeosOpsTFloat.java | 4 +- .../java/org/mobilitydb/meos/MeosOpsTInt.java | 4 +- .../org/mobilitydb/meos/MeosOpsTText.java | 4 +- .../main/java/types/basic/tbool/TBool.java | 67 +- .../java/types/basic/tbool/TBoolInst.java | 6 +- .../main/java/types/basic/tbool/TBoolSeq.java | 6 +- .../java/types/basic/tbool/TBoolSeqSet.java | 6 +- .../main/java/types/basic/tfloat/TFloat.java | 87 +- .../java/types/basic/tfloat/TFloatInst.java | 6 +- .../java/types/basic/tfloat/TFloatSeq.java | 6 +- .../java/types/basic/tfloat/TFloatSeqSet.java | 6 +- .../src/main/java/types/basic/tint/TInt.java | 81 +- .../main/java/types/basic/tint/TIntInst.java | 6 +- .../main/java/types/basic/tint/TIntSeq.java | 6 +- .../java/types/basic/tint/TIntSeqSet.java | 6 +- .../java/types/basic/tnumber/TNumber.java | 29 +- .../types/basic/tpoint/tgeog/TGeogPoint.java | 26 +- .../basic/tpoint/tgeog/TGeogPointInst.java | 6 +- .../basic/tpoint/tgeog/TGeogPointSeq.java | 6 +- .../basic/tpoint/tgeog/TGeogPointSeqSet.java | 6 +- .../types/basic/tpoint/tgeom/TGeomPoint.java | 26 +- .../basic/tpoint/tgeom/TGeomPointInst.java | 6 +- .../basic/tpoint/tgeom/TGeomPointSeq.java | 6 +- .../basic/tpoint/tgeom/TGeomPointSeqSet.java | 6 +- .../java/types/basic/ttext/TTextInst.java | 6 +- .../main/java/types/basic/ttext/TTextSeq.java | 6 +- .../java/types/basic/ttext/TTextSeqSet.java | 6 +- .../src/main/java/types/boxes/TBox.java | 148 +- .../main/java/types/collections/base/Set.java | 68 +- .../java/types/collections/base/Span.java | 88 +- .../java/types/collections/base/SpanSet.java | 98 +- .../java/types/collections/geo/GeoSet.java | 32 +- .../types/collections/geo/GeographySet.java | 6 +- .../types/collections/geo/GeometrySet.java | 6 +- .../types/collections/number/FloatSet.java | 50 +- .../types/collections/number/FloatSpan.java | 82 +- .../collections/number/FloatSpanSet.java | 52 +- .../java/types/collections/number/IntSet.java | 52 +- .../types/collections/number/IntSpan.java | 82 +- .../types/collections/number/IntSpanSet.java | 52 +- .../java/types/collections/time/dateset.java | 68 +- .../java/types/collections/time/datespan.java | 76 +- .../types/collections/time/datespanset.java | 82 +- .../types/collections/time/tstzspanset.java | 124 +- .../main/java/types/temporal/Temporal.java | 16 +- .../src/main/java/utils/ConversionUtils.java | 36 +- jmeos-core/src/test/java/basic/TBoolTest.java | 337 +- .../src/test/java/basic/TFloatTest.java | 362 +- .../src/test/java/basic/TGeogPointTest.java | 367 +- .../src/test/java/basic/TGeomPointTest.java | 367 +- jmeos-core/src/test/java/basic/TIntTest.java | 362 +- jmeos-core/src/test/java/basic/TTextTest.java | 262 +- jmeos-core/src/test/java/boxes/STBoxTest.java | 28 +- jmeos-core/src/test/java/boxes/TBoxTest.java | 102 +- .../java/collections/number/FloatSetTest.java | 13 +- .../collections/number/FloatSpanSetTest.java | 16 +- .../collections/number/FloatSpanTest.java | 16 +- .../java/collections/number/IntSetTest.java | 11 +- .../collections/number/IntSpanSetTest.java | 16 +- .../java/collections/number/IntSpanTest.java | 16 +- .../java/collections/text/TextSetTest.java | 10 +- .../java/collections/time/DateSetTest.java | 7 +- .../collections/time/DateSpanSetTest.java | 7 +- .../java/collections/time/DateSpanTest.java | 7 +- .../java/collections/time/TsTzSetTest.java | 119 +- .../collections/time/TsTzSpanSetTest.java | 201 +- .../java/collections/time/TsTzSpanTest.java | 270 +- .../MeosArgumentErrorBranchTest.java | 20 +- .../java/functions/MeosErrorHandlerTest.java | 8 +- .../java/functions/MeosExceptionTest.java | 6 +- .../MeosInternalErrorBranchTest.java | 14 +- .../java/functions/MeosIoErrorBranchTest.java | 24 +- .../test/java/temporal/InterpolationTest.java | 12 +- 79 files changed, 2624 insertions(+), 57331 deletions(-) delete mode 100644 jmeos-core/src/main/java/functions/GeneratedFunctions.java delete mode 100644 jmeos-core/src/main/java/functions/functions.java diff --git a/codegen/src/main/java/FunctionsGenerator.java b/codegen/src/main/java/FunctionsGenerator.java index c05186189..cd9f3a5e2 100644 --- a/codegen/src/main/java/FunctionsGenerator.java +++ b/codegen/src/main/java/FunctionsGenerator.java @@ -134,7 +134,7 @@ private boolean familyEnabled(String file) { // 1. The interface method returns boolean // 2. There is a parameter whose name is in OUTPUT_RESULT_PARAMS // 3. That parameter's Java type is Pointer - private static final Set OUTPUT_RESULT_PARAMS = Set.of("result"); + private static final Set OUTPUT_RESULT_PARAMS = Set.of("result", "value"); // ------------------------------------------------------------------------- // Entry point @@ -819,10 +819,11 @@ private String generateStaticMethod(FunctionDef fn, int partIndex) { args.add("_sret"); // hidden sret buffer is the first native argument } for (ParamDef p : fn.params) { - if (OUTPUT_SIZE_PARAMS.contains(p.name) - || (isBoolResultPattern && OUTPUT_RESULT_PARAMS.contains(p.name) - && p.javaType().equals("Pointer"))) { - args.add(p.name); // pass locally-allocated pointer + if (OUTPUT_SIZE_PARAMS.contains(p.name)) { + args.add(p.name); // pass locally-allocated size pointer + } else if (isBoolResultPattern && OUTPUT_RESULT_PARAMS.contains(p.name) + && p.javaType().equals("Pointer")) { + args.add("result"); // pass locally-allocated result buffer (always named "result") } else { boolean converted = isTemporalCType(p.cType()); args.add(converted ? p.name + "_new" : p.name); diff --git a/jmeos-core/src/libmeos.so b/jmeos-core/src/libmeos.so index 24ebd35a6a4b67fa68e941681b5de2f7a67a673a..9a57f4f40d3df3fedb11d07046b533c272b9d894 100644 GIT binary patch literal 5804336 zcma&ucYGApAOHI^lgTn!0!$i&J_!LrHB?a$XG4I{BtYm08+sAxP1-|N8ScX@p8{o{W0$@`qMyR);?cQ?u8#x0wuiX!qW zL^KrtPfrNTxgjaLQ~q5Tt0%(w*A!)+-dFp-xBR~w!A}Z29n4Q*JiCv4j!@YQKD+&Y zv-F}ePw$wY&p+-w|FUHI===08rQ zD<8Mz-m}O3Z<_KBRDSBuxhChCG|NP9K z&o(?xF3cSRLp}Ma0<*tTbXdx@@gfLx+)@(!gtPEcq6IN_p zH@Rb+2o0KNGQ{kGX}NaepiuNIA#^d+t*kiSTh**M)AS0SQ_~}i;e9m2C6vTdTJN0! z)lM`$OdvZ=?v{pX@=qF@ucjHSwkwLN>Y>7p74fDBWjW|ZlH535Oj{VX&~-6ew-nPB zL0d#ysaGOGBTZeTC>E0($Q_^7P{p$K0;0HRlH0yETLM=naLAsBF0GEpo@s+;hHs#=MRh5ndfNHA*m1> zb9lJRw9J;;{vE8fWVdY^p4PFcQxjde`x7dch_HlaumqIM0cN@qt44?nC9Iq3vtkYZ z51~TQ^aDbuW_*gqgoWlkW~R8bP!Y9J9}y+u^;}^cixWe0bt~?eV1DF6n5{({v1uV< zX>77;+Ui}oif!gnC@$4saEHjYymnTQ)l<<98rhMDf~LwM^F~;<5$P}ZjwmIrY%YsFbgrq#QYB32o~G;Gb%wG>e|QN%^3=W0R=S1akdt!t`Rh}c9^J{fZ> zpVWx7g-9`zm~<6Os6KZ}v?VvXR9Cz%meWWxk}U2mAK_|ipZ+59uL8nvRUBB!4)HR^ zi?`!;2xY*RE?;HQ$rRzMrwTowSC*SWKoN)YuK428j+r7^*t)sp1;tc#RYa&F7#b&Z zt*GW*;c9xPMN7rIGJ2+BSS&C(QIFXqF4gjD?lYzKdqbzi3MI0G5Vox*@QSm%u1Jxf zSjFW%MUtXvr@VTpuv8&(!$oppZJ}EtOiQv7M3UyWBjs{e>~uLhL0w~m_)2>}JW5n< zqR?^KECWNc*@~Ul$ym^|)wKUyG);k4``|^ZHjAvc=b+wHZ5gqNV9^wz` zuZ0?JEo)0+Vn9qYY@R4#1$!G?cUt5DV_LHWpFd3x3cq1n?w~1@fQVE?TsfiSy0see zx#g^qi6b@JBeK5K2im~|PtjFgv!(ldk{z8Z)S9li6GlO6Zrj329J_ng3bV zNiNG2aam@6%QQr@%0XAC`Sh6$5oI3{N_5Gg@jk;9k*k>{mY(5DGA-80+qS8QEr&GrSfR;thsFL8gOW|cD#p@{| zs0xh(2=i3I%PUE)t#RgHLtOq@vd%utF-p}`TbZrrHi^v)zam7s=@ZGBtYuAvu*f#5 z#;Qb5&}N1d(c4bZV_77Im8kF_RToLtPJ4^$O|=@?IT_lE4-A`wh)*b?Y`a#f7CgpW z4)wWNmUcbWBVsd+41eWlCCn$-jADJfa6J%Va3qN_m4lW@uC?E?tZ;RnEsAq&(!{Zd z+-eosS7QAx%PhxC2;EGrCn80(DeP#=PEE4w92PAVGggF#dxdVZ(;qPXVM-r)-}J;( zQCMq|Aj%mo4hVvSTcJumX8+nE-EAGyL+r>(qK#pB%>)*$9&Qvj%}n22(YteKvxv3R znygYSFI(~)TZtFi9bMdF{gh3V9fsydet&6=-LgPO&mm9s&t zFy1i}tTeT%wLjF>>}*qG(g}w8T1cc4Vn!&&XMyw_o-)jBg=uMOL_{Q8YMMICC}!v8 z=t{eSE;ZfIqjJMIVX2B<^}Ph9Y>GC~ZH3C=)GG|dQdED+tqc(no)D2?S9S@l((=M= z^eu&1;tXew4Iyf6S``#u=0eeXHIdYn!(6Ot6(E`%*djR zD))@7Z7L#5gs$e0JIe|U>Uk_XA>@XlS|Mgyn8h9;Hu|-c!hRa|F;T%*;_~8S->^cp zCWZ9oDTS+uDE?DjA{g$E4g`#pK2cnXsQY6*5!<3oBRsFT;xm0=yW?!Fr7gCzPsiD* z5yGsV%$|`VH(e`5$*?Rf!;Cd~jx68QEL(&GVlT{R6N=TW1G?Z0p{hyMB4%$BwqnHD z=F|v-``U(SCaQ@d)jWJf)aJ5Bn__CQwovliMx3Ij#fuQmNj@%@R5A2avT`LL(m38s zQI!2&7mqLQYi1XrONwqiVTM99z7(JEyT?h zFCvnd=+lb6&`fyKhKC46h)gAujohaNg`J=auQg4#LX5(>rbzTFT1Y4-BBoZpWn))( zSgVNe8X=yMR@mEyo~S418EIxhOLwaIFKb*_LbZfxv8M~o5~()~%PrDZ1 zEIa{WhY7{BJZe0fjVVNAt}Sd!Byju{MFmq(LalOEoG`N^EMuOq8S;(C&Rn)j3b8Az(f_!Z zj;cij&cs_0B1|l2A&Dy@Ezr``!{c3C#y1J8Et>0gT4bFx!3Bc6T@>gk8ViNp$t!1h zg%AOsFj>iJr9>k^(JQOAJ2j5^F)TmhAvPy0c3odjBUEtY4;N_($&n(YhESIWg-Ejn zhlMmz*}pT>Okxc#u!DM~c)O|+Th%m_)D>!K#yQ)HHiB~dO&38Cc9`>de6#+XxP&FL zRJJZx9A^*RmK!ezaDS*8qS$4AV85^!@N-h3Dlq@y!nXYi$8GLtC~`E+usAJ;&|+%Z z)5XY35fKcO7an8&LSM3Pi#H_NXKAL9X}UAhBlYxo@tlI#3=N-A&lHg=lVaWqa}G+e zV{(0!y}bAoMO`7Zy45*C zPl$CzL}O zFH0|A_2*2Y1o}rNtC2~$VIouHHWFDuJ2E#$4(FkXrhpkpqg&7-W zJapM?wz{euGS#5nNLX@LGK9kFG@q_vUZfD~t7>XE2QgnnZkk-lEMCrUHOw^AND*P2 zCbje{I)edkq!!Qdwnp1Xp;xj^OT?(j;kt+%Hq&CkYFQ%Jr$!XYWlv>8I~Bn;$N90K z;ugI%d1R8ig-F z=RqPwPfpK_Ije~@N ztrFW(%lNPwz9jQNi^6GE^sq{Kyq#|54-0R|;XgUfJ5rspk!`$|Uk@=0Oe@2p*>5GV z5%;ztG=)=mq#esxF8_~p=><|M3L}}9;q$4Hb46qc)9e+ndnQ(j*5l0VKz&iDW((UE zophntc3insp(I4vB9iTZ{{qKEa}J!1RVzxf?Y63FchdZ<6IO<3YHF5Yw9!;W6N=zi zZ?Q;~Y(p$16yY_@6x%f{#Y*marm#3) zKN%q^$OCG;VaO**cAN5OnUcj~nf7$+pKYmDs~>XBPIHpjCWGptsp7DnoGsU6m=Y6e zl*}@x2>pQO)s;n|VoS1c`)rmhZ;8TqAJ1n9MvlRPZxN;i({e+m8Jb^@)91!X9diR7FH5v!ylB3bjoV^#Z(pucZ!6ixAmd{C6TE6j7atA+^Fo(B7`?YeHG>G z#*8|4qtt1lRIU-r@)AMA2zpd^NUF_BR9)(o*qC~pUG)ufOixNx(d!f&{1u^`3Qe^# zEVFHJIh%OMG>&8(?t*$zR*0CIth1DRGcnC5Y8b1Gh?X37!wpe}kHA!6d&*el?6Rpz z!eyHBILYxLNrdu1j%(qOc9LPmujDdVur|fkGeR9zJGdpdCfQR)>{IMr#YJHzF%^r^0@O=~H_7N*5QOxNTba)HW# zybubQd=MbAq8m&(W!fRaE@-MLw$UhMw(!`e+p@@6EwYsOP~p~V3oCO+B_*qr?T13^^{S96#r+wzCj_b5iS&t1cV4L!x1Ge&pGJ-u^W5Wzno7vtuEtJfc0-4?# z;cGl~En#Z5s>j~=M%8-0U3G+T%LnnERxwRJ98fr_bYGqrRqa-FWgeG(@>G<-OPRvd zM2Z#1rmxKr@n=md&s6I*4`1Q3^@fp=aU#HE^w2b6H%N?{79vF4)w-!7wWXTUGR)7+ z7}+txvUsMDtkS|AX((eAuLv(_CE2>j3A0Bgh>VnhIoZ*od~|{lNYymG&8~VOhO3c( zcCIB95jxZKB#XcgM!XQ~0u@4pS7=(YZ~uxbwg~%)j{t4Gv1lwfRF$(*S(WBA(;H?r z(iawYSJm~1kf0)3>LM#7HmKNIF7qLpYhotv4ueas9Mr7cZ`bTD_9aX05V?NRngAJ#5Oh5-6ZY zy4<272OGcTvrn<=(h`MYoBFYEHihtn6rs3RYoY8r^Zkm*>tjSI1H$}a?|Rp@2^b07 zCDPKTR8G-!jZ1(z-u{-zh;;ec$ZbDML8)h}qPcB&nv_zr>Sd|wFt%r#LvOlBR?XDh zl^iJB1xs^x`3QG;+cK582D@yMVT%wEEF?nAUh6_bm-9K3nX9NZcI7rsTy>BaDr}L+ zin1&{UWw4`EcPnRqsdJ!!4s`KU3g(4JZ3hZ`S5w!K}BRt37sm;pSXh-%c@?j+3|s- zQ<;3;B1~Ht1?=)7G26E_KGPCy6ZwwGZN$2_`t0Zxmi(YCI-Cu+Eqf5hsL6QZt%Ue;IpAvRyn;;RR;}pT2qFs*CFfm2gAYzJE2DSC1LLu3Lm{O z0h9B%s@9$DG78qIA!Y`ZsiXXU%e1*d;6^Bh>EQ~=&F8*_3^kb@Hd_lh%Ff_cH8YHD zDmi6v$wrCaSQ(qPxA4^tXZ5J^UcUcBEt(x-m^yx*F;2DVLFE#Az0XVOt9%aiLK|nBJ{z z6=CIuu5?wKntIBXcWHiwyM+(+=PChq@-SWXv}x>f>$a9CdNU0+DPi?7S!10=Q^OTx zz#~*kPqvqbcJR(f;0?7=>==85In!k87lv1OOm!ZsDMg4rg_8u)RUij5C)gCCUK-5hAj!;c54b737 z@bFH?inoN>Uh#zPlpCSRmd15uf@+HbmZFY{Dz9Y;C0xjpb)-Cpa-iWvWE)ZUY*8&U zkv9j);U(k4J%(y9bA{CjH8>VrF>4-bDzY=0y9`lWwaeLJ&Qxuja&&#{cm9;DYGESC zMTR1L-3p}+AJwK^qoAKn$l&uz_FtQ4$rCeqK5;-lWyY>B!-X28r|MR?9l`fMLM#@+ z_*ETB+S)vhv0OFCi3vlE(8No;AicdV8Yk(R&`&VTyFeamDRL2s_^R?!Hp{=C1C)9w zlOwTwCq5-~_9}IHX;m4i#U+|CN{D@{*p&nk*G!ACEG0%ad>+o3T{I;jw|MUa|B7VQ z2($h5m{K`c1-oUK%@wg+H3dXg&}>#dHpQ~ygIRHDIaZct7qSFvE8J|u8C!|xM5uDu z5MjbF`Enym_gTU$#tV=O);2BS;)QS(kRS?ab}()#pGqWp?F2JZ<(fv!$$-SSj;GVZP04oLITCa3%ZL)fJP+f5uz5Zk2^tHNzBfzEmzYr*ko{2Rs}W zj-^LhZV@>}QyT|Fe5q#M++prWpU$Rw!j7`T%USWFb{mmdKBPi!q@{F<;$3eAe=tso z)Z(~y<~zD9lVvJGQ@u1vyTN&2_@B2sO`*YNrgCF#))VyO;3U8wPWMTL~G$ax(U6)v{=n0{8phPma`U; zzNjERdr&VNLTs&WK1z-ETCutf&t?TC#|=jn<2TK%) zx3sJft8%PJa@m=yQblsaG%Z|F0*ivV#lpli;bv*6X|}1bUURRom9XDO2(`BGUt_tL zy)70r*QIGL7vEQ|YI2FOC?ix+V;$Rx9ihaS zTR3n=SRp?7Rhj8Y6x&3kC$P=S%+F0_rdBG(R=eU^Fl0xyK+mMlc7 z@P?*op>~RGhg!Bfa=utSK)!>iZL7&`tEXc|wXJZcLVm|ob zMJ&d2Gt!wv!)XCw5^EKEYlD zaS(?f>j-%a$MHGj>EsKXgsju#S)9j3e1mUs1wSIcuF}5d^ske*@C$C^SNwsy_!EEO zA3VYn{0G7IIAg`gSd>6%ltCQgAuEBbfQm>&6;wrayZ~9X$U3Nt zdUy%4ULhO8LNZbys|nc@?7yNpTA(%3&<3*FI+;#(LT9Jnh3pP5dZIV_KvrKT2a<1K zD28Jc#$YVQVLT>6)+8ro+otV97N%l4p0647-@z=*#R4pZtVQG!r!D*M(q4w;&yB65 zy$Wlv4(lOn1Ni|qW1BPfA^9Yy%OMgw@z2q|cSRLJ7|C7R1WMLV=dM|8pK z=m9T!qBr`Y9|m9$-oy~_4VV~-Q5b`_AZt810h3@mW0~Ysr|l=Rk%Jj{2eM|9bDZ|G z5wj{iqn z;Y1taoNPm#bU-J_>gr@SvIlyjFZw}Ne{ui@;Y|#MtYPFxjKu`l@F5dZF%7c(WDaKH z9n8XP%te09r@a6Ru^3CS3<0dd8f?S|*p40e7(1~Wd+;gtLDqgJ50Zy)#OWU;kK+rR zbjD7TU*Rk+;#*wC_qc+qkadl`ft&ap_aN&p@^3uEV?4osP+ZS$SDkc`VJL{gD1vCj zAQq)i7V$`ctVFUhsyhAZWDTcXi>&Rm>yj^{0bYTHWHdq(q@p=mK~`(BEz;2*9nl$G zA*-8{-AONcqYwH*RzGq8-oOxyz(|b3806Ok+7n?T(;1&aW?>qpBL}kHA!lI@<~d^v z$UH2-ZV6esNN^f2I99{&2?rB=6xb+{fQ|fPe7> z`K9m~RtQ2-0P-`ff+&O{Fc5_jD2dXDLwU%mKvs0xRmkdi!RgmBkTsYbf}t4YjEyG8;w?vM~eiAQ!VS2XiqG^O1)|Sc3Nuz$)a|TH5bpt24Hp{LpECOzy&`2x31D;V3@C z=aBU!c^YSM78h_4-{3N?;0OE&SwE52a09n+8^7T$WZfhG!hQUW2axrM{1=b$#2J&{ zEyxNX3xJO?_->8!7a|}lnv6j)6h{fjD&-_!B?=P>PQL<~2>Ge>^Hqg@HN1c%)I=@R zMjgoFXI90FsE3!)5cy@%=95u=Fy`4vQ!>?QHz!-56<$MIbUi;0+o$&kgzDk2k8z{g=?8m1!~vU13`G0W-8F}^7h zb1@$aun@BHoLodM#WF0%3ar9v$XY|L!+LCR#@;74VKcTmW826bPFp_iBibKh4?e+O z?8AN>fUHC0QKx;}$o@XG+{Xj_3t3M{C5(?9 zpdl14=m>)w1yKYMh(-+fNKeF~I7*-_;!zG2P!UzY7XYFLWYr>TqYhp~J=Di5u;4)> zG={8ZWJ{;ricCXWv_}VYLTAY8LUwi9-N+v3>Gb98y=eD#`u)fO7=$-593wFrvc{2< zFd05%LRJe7eVEcuc}%$eKcCVJfC08#5ql4mlSKkcY)sf@R3Bz;o>tv{zy^)?h8x zV*@rp)@E`mwqplA#%}Dvr`U^q*pCA^1X)MO<2ZpYaT5GehB%Eg_zGX+0xsb)zQj++;Y4z(5pYAS;$E?zCmU z1nrV2jk1VCImjwcRzxLKK~+>kEy$`vzKmD!DlDX+DN@k_uc0;Cpe&&6pfz_!6h_70%;pT);)h zx

      acTWE*`4g_;I(|le-K2dBckmnTLe`(;UwD8=c#J1_T6{ai_t_!@p>RQm8--B> ze9O|(Y`bVO&!>f&Tq@^y4ahBGE_??t;0`e6VD;tdSJFpR=z zjDf7N5NTrQa)xH?di|;{j_tO{tPGIA?IKo7GNP3V=0zlC01cI z)?z*0$3}dBt=NX`_z*j>2cKdu4&pFm$)98T3@334r|}ieLDog`628R`xQc7Ift$#$ zTeNTE58TClJitRdfx_3*Dnj8x7{XB)MG%dmD1lOtRfddr+6iO@r!8-*NV^iMq8j9{ zsMbauyoi_Z3M|O4#v7q2Qqcmf&>CrIi*}IJf$W4X=!VzfMFx7J7y6(t`eP7ez3Jo- zCx?>5F&bkq5tEUHX_yW_axfFJ-X>>Z4(4J$79bCc@h+BOIaXl}Hed_3Vh29L$Jm8E z_!N5)#C{yWAsoSHIF8S80$<`JPU9TD#y7Zx%eaE8xCU7_$eXx@+qi?@a2NOR7w+Q$ z{=vU^45cvFHE^K-bQDA(6hQ=HQ5>Zqt1M|E4)I7pc~pd~L?uEF^%$#<2G8C03hjnY|5eg*+KtG@NJVqBKuf%aG_*lFI-nyu<8^e07rh{>x0C(I zfp`N$FbpFx8sjhl6EO*s;X@Yu$iYnHVjkvW5o9eP-^F_fIAbfwRalKRSc~=8fQ{IM z53m_qunjx#G4^0D4&V@uK-OpE=Qx2cov~9SKXL!Gz9P@zYo~vayoAg64nN>W{Df<` zj-PQ8zu*q;;!oVeef$GikDPo=K9TJr9A8iXItro?3`8RavWk(#Q354V8gVFxil~e# zsD_%Tg*uQ`&&ij_22T4`G8rjofmV18ZO{(s=!7olhVGE%C3~Vb`k*iRp+5#=2!>)f zMqm_VjV0g0cua;5nUIx5PQ^52V+P*AEX=`N%)qc5^AC@rYelw2IyyLGoyaau zyDQlpy_|k;C;K_spB#uGPG3IHP}(Cf8e=gI<1rDF;X@{-APZBGjhT2Gvfgnrmz<5c zSb#-Xj3vmgcWDQ(604l?HRJ}TE${a}?GLcc8T*LbiCs>AkCXez{W#$CN})7N#G^bag5T{Cl~5T~A*(u>NJo3f>O^)$H*|*=8R&&R=m%K?og73C#!w8y2#msL zgHqy*%N)x7yTh?5INXs4E%U?K9b2(lJC`5qa-a;(HUd;nRS z$&aubd$Av~4v~j()af51Kf`gHz)76JS)9j3T*761k1O~Q*Ki#-a0|C_2fyJS{>DFe zh(~w=5zRV>tWdH5+$ijf8Du1)5RDkfDo&Pl+Hqt&%Aq1EqdJmM3;9*sY1boP!po@d zjLG}FLi<&xZ;{DPJB4hFrf80qkky(@LmQ{xmP~ir?a5B)hS$*pvbL0b zfl(NPu^5L5m;_linTaXL!Zi57??Q?k$aF+}JUveVjajFL4s5aRz5`9v5&4 zmvIF@;3{POtF`Atlf)SPxG z>2lg(WI?ALP8Ndv?afF;BL>AFE0!#Qk|>2TD2x1xqaBa(NOZ<4k(E&u)ts>x$Rwv- zldO#w@v<|PKfPC+enawASV(rp8k0?&c2g&tldX`3c4!Y-9mtO8gwE)KuE?*~X?I5t z^mNAik^`LfK=MteJ&YWQQ5cP}cnjkpYZ94>Dadlhrjpa)M-JXbE@opMWGx^UVF}*D zG6b*!tFZ>_umQ3*lAE0N2jpgK!*+a#J@^E&_K`sxaQX+GJVYLK+Q-Pxal+}JCePp; zF5nwnhO8gRA8`#ga0|C_2fyJD+=Z+^o&1Zu@3iIkKeQj>5gtP+#_5s@L@(r5Z`ys(7yU30Z(uNnU?^k_BZp%I zMq)I^Le^X41WZIGra)E}ITh0|9ofjiOuUU*$i-~T#eC%9`C3GO>2qW6(q4uDR$>*_ zVm&rt3wGc`e1uQ14?!G+tiw*q_EFlO;{?9IDV)JqkagC{^G<$EUU1qM$#0$Z74k=1 z#|`{~yO4E{eBiVnl27oT?DP9=vJ{fP6Y{hQkn;E53OfC8lE1(vA`pdQkQGaoL}`?T z{Qc_$RDi5RvXaxTM!tZWsExXiRgbKX251Ni9yCH@G(mH;#`Bdg39Xp)cK6LUUayRzi6MTxj2;u-_9U_n5 zsM9}2e(tnSkY70MFUeE*3g?`$3*<$o{SA2u-#Y#8$nWtZe!?}}z)jqOtlQ)r{Ek1I zF**LH)4oSOz#}}y6Y!U4MaZ*1Ix6ofTu!?HsUr+-6o!EaL?Q-7Q5>>Ll4TI*^yA5L zNI-dKtOA*c%BX^>sE!wqg#4;OyC&+Ot}|Ybd>IY!sx#&x8=(oBp*dP0zh0xA=JeY< zH{PChCvr6S*1No&LwnM55Y0Lfzr~M^) z5~pwmU*RmyLDmH)W&0BC@9={&_M?;6$)9l(w{RPG@Eh*pPu#;_xR1Z_01xrB_!|ov z;%czh1 zYT&eAC9UViJ+vF4u`||$OhpT{#A|4cHfW1>NQbQUPIe$WqBFXn8(v2b^g>_shpd6* zAiRm87>3~(fl(NPu^0zg6UfQ1;X@XtA{(-1lCvCYz@U?CPcV~fe9Scc_Tft6T= z)mV#-*o-aMjvd&EUD$*C+DrQY4&x|};{?8dtdrzdIExF;*d_8i{D2>wv1{aY{Ot69 zA%DeP+{Xhvgsgv^d_w*w+x$r|{(!0ofett1p9w33!YG0WL?ge7(Jq0~h(~$Is_5ji z9>*^F)t#{UX#x|2%u+8azNPdK!*oEDY^$EEb`>-EJa15W}IKIG_kag0@)8tvF{WWSPjXq7Gg}J>*w?+6~aq8MDYnXpH7)fmV18t&xVd zXorsI1X*32lkAqabTEImT&^Bj3VA*vP~bOvQ9$BL}i( zkTY>C{Ns18^!#R{Z^(dg2UeFaf5xq?FYwn;&9iF1vORnKraH^N$b0$I(!aLo8z1`C z+3ZDQ#(D4GOL<}Fi^F;*tc&j#ee|ze+aKIcZ{KubowP}r6J{j8xZ&?jt{XX1ug1pP z+}{iz`s7x(64%Sl=$QAFzTx;+2X6d3YWKTc4%Z%^GNDoZOZ}ddJiOx0@jqhIcC~8L z=*s?m8U5?Fop$;4&$#`Ef=d$q{Q2gv2Dh%8HHPf-i_Jr~elqw`<%@rQzqQ+w-c!FJ zM=beZk<3x6bFzY6Zog2ZTK8#H<{WJP@`v+}EKK&T%EMNszdPaP@s!hFpIR3(GTBr%pefQp~uyWni~mWrLH__x#zk=BF(y3~sroQ1i%%3(x+X+iPS}p@yw{=#9T! z@Z%s)+LwEph}enlL7M`lySE74vZhv-^hG=VR=!=^@9Ql+5-xt7(`ejdx4&yOrQ;{& zvA4(Uzi`@^(RKUCb-xTb*eYY{%+EcgdgRUN{%_+udoB4qzkSs4<1GWazdFJAtjyka zwQ8vscKvg_$gNA(j<{V)()ogK4&L|a@+*H`-SK4uU%9vXr>Wz*`Ge$6TFP?a8Mr0|(E~{Hoy68j-CZM=$u|)9o*2 zWv^9^KV0~*aqgl^-S+Hh*ZlVm{fpNs{OFIm_ml5_k=lsLzufBkk9+*x)_+%OHKUBT=;Xl6*k50)QGWBF6DwPOb7TFP zKekSMf6kUOrz&5H`Y-XrtWkrf*tr{7UXyzkZScY`x2spKyliBPt8u;F?izJBXWcZj zKg-6|FQ><#(E6MDZ0_=MM_y0Psr_S{{aNq(0|RChyZh3Hk7|vcHD~$7hT6=A1l4on-_e-ZY>z{k(e5Vxo9z1Z zqxa5zlNnLso>^harN5s3uc9*G`#gUzSuiX8~7xP+7agga^0eydb&n2i8UJ$;rDXH*f3_d`%4bi!UAumC(sQU^wO0>q+f!n3TIjqQ z>&Lb{@YlIcO=jsY?Dn0nQz!fUy$g25bEVBT$L5VIdGz7EFGF8m^?-FUy!pzUejO7+ zZeQ;IvFC>obM+P(KfI7vr`daB{`tPv>+koA8B?`hW5!pc=`RfZt?06CEdO`S@RTzr zi!G{lID65P*`Loy-229nRS&MF-8p;v=Ezb}SC;R{obqpr8~O@kTjf{wG)*_^Kg?9d z@4DNy#fF7ShkJi+3z;;vShd&Z+#TO-vr;VeWVwK9rtNu2FLZiuuO$^KRJb3Ju|4XIp3;rzol0%(|*aLzK4ezLq6?1_T!AopKVNtZ#KK{mGNiAwu*lY zd?~7L!o(pRm#m#R?d8oUu9hzS`$xmRK3}}c;sIw4zI3I1(Q56BFFal5A;-Ina$^Rk z-A}ak)fhQ**7~0smj3u;^r^U$>ng9#99!b84Z&a9jqdX4sLXzq_w^k2u|Efnncu zI#r}^+KQors#+g+9{*UIGwa*`gX-sQUi|mP^oOYvn^k_@cWmC#2b&(=0tMLP$>|W6J z)RL}W?7NV6y~(Aj`}VEMzE!*6+A|}^_1zI&_$&6a-<#e$*kJ#;?|-d&r^urlR~kNQ z@ZXz{`d(;W;*Z{K{&cTjmDF!?jgG$Fsm+={-s&}mEbX54b#A)@7fyeuExey|YV`hA zuf7(3Z2Q@c6%dg1(ZG2wQ-%gG#68BxD!&9b&hg{gzf5?tr=@0)| zR=(-Xu^+zqLC4pxpKtHlUj0Dna+kk)b?01P&HcqDe7qrj+j4tXH!ssKyY0-*(Vnqe zsubxlC~@`CiU&K?o4MxC%=b(DcIa?a`_ff!PW-RaNeewL9J=3;I-l>yH*aju%R)6+BY=)n6tQ_^$i+ z=jv_Pboqm~>b$dMWQPwnWgODietUlY)%UCIpYq_s>ID~8_IYVX>`&kB8ry9_i4}|9 zZjk!Xq?QNQ|Ftyy%4bK*_DTM8`Q6H&_OH@$^N76F-_>q=V&SagFDEV9qLhp(`Er>~ zzNkL8>w0#-+~mi_*G82rJh$Anzj8irKCoH0yefwqUl@KZ^5dxCE3f|X3eT0Zd~@WY zMipm$GQ8+(RUZ|&p!`1c<16p2sUAK4gF_=GKdDlp*~}&%=iU3Lz~jDOC+)hEb#2k* z65SfQb1wevtK~gkJA2u^-0wTCIoEz(pQwCtZ*b;I!uVGBRJ@Z-q z<&Oq#7mXV{H79)Ey{p!?+P^k!e(Hq_GkRpOK7KD&^@Ufam}8#&FlKdn_=8@POMP^t zHS3{Tt0f7)4*mLJ*Lzv(&UkzGSe;ree#L+04_#CIyNd=RrqsPVG1wz|O!whS?{^;k zbMqftJ-D-caM!g9A2YonOt+^0Qu62>{@q`6eVkkL(&M#zTSPqmd9ZuQ#j~g1Jk(^) z#`toR);-*DX_@D%?5kgf4pugNUgW{JVS`34y4~yRALdN?qUb*NgmdjK?x?u%+QQ)M z5qb9-4Qn<0+dkK)%)k9h%FH>DPr5&1arx7$eRt%~m~A8H^NWx_B{w}=uixXIpLE`E zqt&Z>_k8qX+nu!{r&nrt?oq38OI#zu{|Y(oZ87HSX4T(a-Q#|xwud)`Oq}1hTKb#k zS63Ol^oLJg-@JbH!T$AA`;BA0)G;>I=zYH4s&zSc-x|Jt*@npXV$RKO{z~Ke)|mf8 z(KSX_(rnRWVoj1SoY=N)O>CPJ+qP}n*2K1LYhv54-;cZccAc}%uG)K7ufDzdR;}TC zMk21#iGG&KaiHjsee&w&~fLOvRPUM1)?8o-V zVK)2WT(kBA$IA8Gh%BUc5Z2Zu3h(5NOw+8H$HO2gSjB4l6akp70JKNIQ@kR3URya$n*4@`jf z4TT@;AOTp9EE94D&cIDCIfVuX`*HIkQE?aI@wyS>)2fLmqVBgGa zL|%sW6Ta+}zR9$Kbv^1VzYeR8)R9h28NVhJ>i$2Pd<}BW z?t3C!+P1k)jy1-Aw*l9V_mTIidtDCK|9D&M+l8!~Xyj}k#v%4h?B~}0R_6=jt%1C^ zx+VBw)8>k6TPxb!vqw4K%r(-`W0ejqI?ygP5_dC7uA~mP1|dQ0w|+fkQpwlHVG8AK zBGWze02=B07W|6z;E^P#lF)5QVb3ngs9Fwvjtco5UExQrIOr>$nz76h#BqiWJq^1= z>>i?>H~Ua5R0}F!-z1WhwAHr&_(#JcD?IymI7bbSQdop;xtjP&sAIh{nOCL{RPcfI zv+(>GpTd#6JZK6l4lRz`94-|H4d+XQWaOm*UVg%!XsWfeL4yAW18Tzb|d2?zcA)mW+(@99KySe^3 zV-_4q&r*=Y)sYuygM-blVZq3`9bK7@Q1kO7F4l}&Oq(;3UTX}>uQI&C&Qmh`} zLBa7q1X_;HE+^}q8@Y$+0(PLhDB!Ygbs)U~F>+~400#u_9|xs~75!f~v|hMS&n`kz2?1P51_Sd9aC9e%Puc#p|=8A?ZB z&od)MK+DgYnDIMS(L<2Bq+fVCf{Hd`fpc z!5P#rlW{VM=IkPc5Ll=`mXf&qQ3e*HFq3%P#L;c-B;Uu1`&WpiGfHo_&@0%$qI(UW z92xQp9u6bGcyhiDF%8g%j-gs?2#C?02J;Z(Ub8|%t^PslAIX_wm)K7N`N8=jxOf;I z+dt9&vaL;PPy#6q@XV{svW*l|DF5DmEDdeU`8_o}%_qbwObZ`&lvD!v$q3dTG=_^; z69RSSTN>Z|E`*B|m2TuLQ3yu^FVQ`m$>$X!0DMm!!NDKPU<%*LEj=2s(Zvbw1Y z`4SZZ&Or1MEo*&V))pqX8>1Cy?&_z)GcB)uA{@Gf5m&|%WG+4N>VrBJ2jnncyr((# zBPwKSr5lO!R8$zNprXfKAigEB1U9Eo1`uMH3#7FZsPp#6B4!u9Y-$94Ar6EU;(DLa zaKX;VdwsOX7ys96GGhWhCXij&uzFRN;-#J)JGfR&mVWb5!cp};J#?2Hx%(?6DpMs< z=kI8qW>IIhbp{iB9DJxNJyPY>CI8Q^?0ezpgq4eviRMS@ueJ%6P3783kQOJX8bv#A zo~A8QG*S;~`5J|3;@~w-cW-pGV#b~?Im0L{rioT(Y_PQxfFoZ?(HLnV_aWuX?=gtA zNb}F<>!o!Dj7qW|RWo0Xq+$vIqBkZ@kpw1B7Q)>@3;I{)c1k);28vJzeePOA>I3s$ z*Yb!E1=?)2)-ub!BtB@?>Gs`7h*k3G(Q(=hLT=o?StiE#VPw0ArT!hnp)Q{QALSo zD<_g1Z^eEA9;GEe9rsjS@pbxAG+%??2b;~CzB9T~k1SXs(7=_~^K#P7B=Pr5x8YC1 z_W)U1YuU=Jca%_q!B=QP;Uq&yrf`RvW^yKF8J_xhkISK{YCHk1Z4+X%io@JsODl$; zKZ-mqJXvO~M>8X+A!{kP<6J&KJEnp7s)vBB#*E2dLr2h{SiJv_cs_O{b>p zk?h5n=A*htXMPDsR&A+~^+3R{#CGQ2BACChadn-qOyK;xpNKuc+W7T$R@4N-d8^h$Y+Z+(@`Z1wB z1Q#n*eYn42bn+aw_eA;+4)(losvF=fLO`#qn~TCJv3*Ne>W<{0jf9SDCDOsLJ@lpJ zQU^iM>%z@twr}noe86R^;!X0PY>pF6IG%Zg1S9ygb0H#dQi_U5-Fhn z6}On+h}EHAz4<)ZGvd3;zbE|XR7K0=)cVphxV6j~E?c?Zs-U3Y^#Kp}*6qMSr%n*7 zmw$2kI69z6*qk_D0n>U9M#o<^ zG)h34*7DM$`&Z$1N5>vb&5@m0T$S2D=I_V3Cs#t!@)la#I!zuko+I+)%Lpc#wAfpe z9uXU*(}_%vIuPq#T)P@mg5tkm`R3&4hq#)R7$#v$!ay!0OpvSrZ*`5u3$qt1Jou_d zsUvZPR=RT#RtSCb1~ZcA> zYo+zI(Aw)W|3BUtJ_+H0mAgnZl#(}p|E*HCryOEcaz>Jfey z48}I0m`W0Gmv1RWpVFOhu)44157r5a^^=7rxG#1D`{fw-+m(ZzE{jQ4lwP(~fIMPx zkg%Bx^(S#O)q$<87cY9q*5*d&wk-%IkRI0hm!LJy%97sQRlr8!h!f)Mlvx^a z@3LAi^)Q``oKE=PR4P;SS+zphY9^wM@E@ntnBT5c$)!0R;)m63#L29L2@Mh*=|kJj zmWjzTQ!KSimet`#a%n_LB=^9wQKy9uF z<&Zd<3Y_b@VXANVkvhCv3G5=PakKD$knz8{<~S+k$;O#vQ~9 zx1VLo+PmEFPTG9Z$$9t@YG&Vx(4f;j4bh^Kd@P z2)^nedyU4L6S&)Ym+hC&Yw-e*!By$Dn_0vyF^f%U4kGPQ7m77TjLOn+PIJEz917=K zq+~_LNAO<2t5{}&&r$uo@lVE`tjh;Zxia;?L6M#;sApL_akh*?J{~5{Eti%KuE`$) zkGW?`Exq0tMfv|Tvf1F}!AYy@YLi!}RbMf*ip5>}Nqj?$D0VRCvM>7@6?}31>+S=o z-V)uQ5PvN97SAj_!sQvmm3{V*<(X0O73^R+FyqkJ&T?dBGYKX;$AgV|q80UD=m^5o zLQ2Xq%aFM?%=dTtz7tJm`I$?h2DTla-smyLFL+(UUzOBo=DaPBT;F8bB6>*ss9AT* z|3Rj0(t{LgT(+h~Rj&YxEw*4kXu#!iv++gw{pnVD@ENb0diKUn9cF5FK>}@WP{Fz2 zZ*6$;F97#ItZ>9gP-PC@U=zLT<^db&Nk`3zS_e585qXwej$Ae1eF^vAq9)A=4KG2= zdi~osVC_f4eVvx-mNfJy*)x+l!I% zA3_7&_ZVae#cLu6Ka+&p{dO}|1Vz?)Wzpp*pY$^{X<>knR2RzY2maWfE`940q43p zjI;;tAAe#o8DMiImu&<@baGtfp3%{nCeJM~w|Vftn$fuus-JwumGrr^lE9%)?0R~a zx_HPA%V#iH6>9`Mr0F4k@$ul)5W2sUFXO1)RX$bIksylEDLW?56g6R{6sjT+DHPz} zPu_VI2I-S{T<~eINknABt%W$MW{RX0jBbS*HEPk-Ar$y&w9|{W3ecvWw` zAQdw!DgD4ExcqF?tsA^Vdv*M|(V69SHM;5X$bPAcWl)%dGBgS=zbh~}@*QT1g6mlBv3TOfNq3*k6KXqL%QKzIK9?9>T0dDI)bY_1J^g_VhVjhO5jkXC&8>owpL&E{kI+Oac#|h$**5O!hNB(X<}<|V=olQM zEl%7*W!^d^b6sT^NsTmbFEPbIeNU*bV#|q+{f*ijN-z>FOorxH40-tOfR4z1V1a%F z&6zqvKRwIHs57y%)_-Yhr@5_|P!zqm3^1hpbJXk(8}jsKAF{zr%`@am_T@A-1~1lsj0dnHWRXJGY&`N~60v4i$)J`!ORvs|rD5Ue zphdl2cg=f`PGbw=Z*2tdAK2S$2+Z~^)P7bsh&@sUK<7$&G%GKo*D9AFLKuJr2N%+fdJ=x9i?~c?W^3$S&?isi?#UP-YNsKwz@sfKcD{$ zx33B7oTja1$q!tIo%`VPE7%_Bt01!Gyf{*omyU@W+lxV*v|m;Z zVLH>01lqTe-{J01w)mx8WkKAjv1nqa@+4?gmJ?HK0=|jo`_8u{bMxyfUTnJu_!M!* zFwt}NpRGGW5gWi0S9ys!#vDjbUkpyJ10fNg^)#`OFk=}-gGs*w<)29Dzz{eMavmI- z$vdFUfT;I1kuT1Am zc1ZJaBV{sHLD#|cP78?l6?$yulKqk-6Ey4Ldw><{PwAmI19DXbGD%o{zUwl1lNEVa z&n~du;&Rb8sZk2ZA`cW8z8$ZaXV)sGBY#x(wWQWeLod?>{8zFnhQ>g}E9$j;I9{kp z;mm8yLG7;dUq|w2S3EbcaYE*Q92+?>T9hOgy2zh6=a0*^y{KEOc@H%E`R1(><0~@V zA57%&WjkfVQIbVpWzKYp4|W;cfAF|eUq?{&1GObaF!*l9Q}B#YYBQyM0!LbLEZ-m0 z#R9q@$Obh2{RC^sCXFpcd(SBl5s%F=1U)M>xPQqC`bZcd^g&tk*2CY4{ z+!jrZOv^VcaK5b3uZ>`jJ;qcqsL)A>0=;HywZ>iS)r`=i;N8+JCdfo28E>oF%5?kb zI%($>Xj9f0vN=oFk(6F4m69}J7F?!RU&wg^_%(4fAV@D-JoFFI&@`Ka^W71EbAjCC zPh9g^lf%^FQ#0gI1);v(jG%QtLj}^*NX_O|@`kI_v_Mx;tQ(Qiu_;QNl>zW@q~!&^ zjw|j4UWO}J$na^Rp(RwpwVt_&WB_7GYsNIXe<2*04Avc{Y#>RlZQQ^jv+UQIemA_B zBalreV^ALwOs7&G_~uT)OoTC%iyc6to>jbbH$c1sw`xsRx3ZGc^i>c978U-R61?hH zn~);)AKVx&O`t}XeyL%COqx}qjIfRAv0pB}HMc^Qw?Ydf^VB(7`?8AUBmKRxIjNWx zXeI*UtkF`*rP7e=0(!n|CMB6Kc&DjyR#s_9C2!=l>x|XUur3(BN#(o47fNfpvAx2P zdi|ux1+SM~nvZGfE16XOvsE2C2^UE)4+3nB1x36I8<46LR+r3k^#JcjM>Eej4&H4+ z=1RtBlzNFUxp?FTceaeq3r-jRp_?A z@evlM5VUU&^exXmB!yZ!I@x7hrnjM^%9#@;2p_N$@DCwY3^Jh=q9MOXhQ>={0e+nd z%$vE*;yz@Y+ocmu+;u5|_U1N6T&3?QaErG!qrd!(Lkert;#D5uF5P*5+kHl(Cl>o_ zH8TNkzEy4rSmy|7xY>M^O%A)q_k_@N%Vs@v!rFZGTsKI9L-K<*CbI7?1JCG=kpDGd zm0AT;g73GLNmicbf-a-$-`1Qk9T2E`?O*ap@rk*_IUWLSQ2|V#lT^a^yAeWR zQ_VzL&5kPT#bSHfu%3uTNc2Mu1+1_%e2<-idEU-fD!DV+G>wR^G=|SE;hMc^JF;DM zo>bK9y0ojS#~H};?}3FM9CYPmI%kTiV%94Mw{#dkQ8dKa&zga;{3&%IwghPVjrd*EZiWf$F5GvsBby4=~*Cu z^euuZih$Vx8iY8a=BbW)d7*HNjJBVIw~z>Cl8hRlOzOEV7S)hA*8d{0ZvpL;TGoOX z45<}?SN;)7)BTSX8b@8`KDQI-%bdS)^BOHDzlu%>5tSHm@!CalVAE@KLpwVh{6f*Y{qBaBYow=5Sw4X|E&1or z3m??#*dGm=Bkob`N@|iJ$&Iw{%~VT2x6+e?&uC4$G3c6Cm3s3-_RagEB<;Zo0&_s8 zuMwa6-qPm#%n6tU@*rD*pXt82^h4VqP09?Yf0nSTA?f!-atZjiU#jUJR z&saG;Ua804Ovab~p4O4~v!YPiVC)>^hLm(v6C2Cw^1X5|3ItU)++cEqHN5KD800YF zJW!-mk4z~jTQv!>sY1EsUj2Zq70M-Sp&G2qe-?o?AAc9dkBW(Yon1s^EJ*WOGjr(n zTW@)=szOC(F0#g6{PTDL^dU5Lt0a60tV52I^Eumz{m*jisRiRSqJ43$A;sQbPHm7; z#fo2RjwD;b+iAycAz&ccYC?Nuj@5@m z%Va#ow~L>#@|%76JhVkN^;LG}udJB6i;J%m#xgc6M8b>j$Ww4j%yI9TbAK;a;Kh&N zq&gZkl@}&cQ~8+;^1-FtDR?OGb^T*<<2!%CerWK9P`d~wLrwtN2&}KzMqc`Y&tx8_ zt^pdz>}W3Tq~Y+>QP};K*GX~%S6g56G3OlV0(f8NjpSgAe7J%?J^#E&B~Nzd_7^u- z0E=#+PAdNF@S(QHztOECG#+3*AA^Ieei~jcA{d=G_@p_;5zYi*MGGz1x4S3~ZAIlE z{PyDQeyN3qp$@O1O6=y$4&|5t>Kk~t^EKm&CHIDqw{A_o?Z;7gdLp3p1XOvE!4@~Q z*<%_)MulhP&C>|pae=jULQp`#p}m&%lj-UgI(-WbZIfk&c{DQF9^mR^*IVzMLUlj6 z=C-ansm?}T58<)33MdX!OseRVpZ`&8DHe54dE)>$1_3jzFot38doo{kB1|&!zVl!X zsIl}D@K;h-dbpD&qnDLPCjBpuQJYnpS^ZF%@~ule4eF8Xq^vSnXOYT<$ls3}vGKsb z|6>8Yu2;YFCebwH4kxjvnwWxu9E$p8cQ`b3`Is~P#Z@vqaf;kMd_JfvFq(wo z^CZohhHapfR|4oq{g9;(M(!p=8gQK`_++3`vi&G~-AQ8At|G_npK$td-X7|Uw!wyG62H}sDIxYdw{2c-zysC?zhckkcLKuLzLkgN2OJ2#?8rl znM^gpbS3|p+btrmPXi6ptS-L)GAyXQTw&74;%=@2+ z(W0%4OxMli0*3QYFNLoSoG!P?KPh#;bz=_x)Da>4?utAFWg{zs(qADEAi?a3Wq;JK z&MO5pWRS84ry#*>wIb3<@F(?q6hbviys7Y#@Ym0fumjpIGHk&TIWXA#(OY?xs_te4 z0L%eFKG2^J`S32^3H*K>;d3E>XL~|h8llg4I4pabAjGKd$KJi$uOB{gA6-3x9GZUQ z*@lW~K1yzC^=>=3l^{SX^~{sMeP%Z58`Vd8z1PZ3;wtWIXRrZg=`^%lJP;amGRlx@ zKO+eE@&CE?u-J-weSIFP7kkDRU+u)xcFY;iB>~*80~&PA)NeidTszP7@{@TZy#??s z5iMo1uMD}2(PdYkg{Q{{bkC^+Tq7}CPKP8fy>MB*+|w6aBIV+=l=9T+Q{7DlU?W zidy+tAjGN9l4y-db0LJrF_@fxm$s@TrlBoHbewKkn*mcU{6%j(ady&u8$l-19Iu!a5KF>fM%Ke4yCDoLt5* z{3i#)eTI`O9=56<`!kCU{He1t(4dj1NJ5zdL;UNEZ^lgA+JyLnJ69g%OD;;cc&Lz3 z&V1Jp`xQ>9rFek+n-L^&to8$L3Mu1+QZjDL|@EkWw_rB{7%1Tt_$Sz0*Ep1@asW&XLheQ zv^JrI`xpIpU%&+o#Em5Ev`+xebqKggE4=o-V1YKKwSG41NvSJlQX_k`(pq@)8j-jI zruryo(MC<{Gr{}w%NV0bQAE2`YhNtHD3OJz_pRUpfDghN)z>i?>L_(=Kiz__(xuQ( zPgvLJm#xHAoaP4imRyqEd6iCm?qU@YQfuY}Am|JmoYtqif7EB(-pq z7i;J~bon;B30s;#G>QYL5MvOF^fXPh=$w{r?uxzbak#Lp3ah$A|U z^$v}K3SYjt187GeXHq&q>@T!edf*}MemW>r2eV-+u4EIK4!xS+<_&(9YiG4DUdi)( zugE+9>hFQSB^q3;Z2~x4*##)?f-J!f6BwY9f85q$uM#bij(f9@{V(r&kADWHfZ90W z9yB!R+I11Zl+tLdHYoGPhb1;cE6+U+6hAS(7)rk`6+D``7ue4}g+w5nXUs-Z{`#~p zH2L@2L6l}uKN4ngSpz);x0!QKdz{{adw21jh`y>7&!N-bXs3$X4!Ug?{_zTdO(ULB zquMmpKD>4AD|(doA|v0Zv(thuubm%ld_@wU-)Ie4O7moz4x{_=oA3#(mKj;|^f9KK zX^?YYLWIgs*zjC@>+Ux5Y7@lk_Dm)V2NVnZ0eP7fR*gOhrIj)Y2O{E%>gVLfIMJv2 zux2mTerE%@M;)GBZfKzvOX6$RiYSRAX>U!U-IRe&Ps<4`>}Hx@gKnU9j7?X;KRJM(R09zKrY5*pqRxlc z({#$H6P2#OHDC_tU$gUqf@bO9OC1dc(Z+hk!}!EcO!?q)SQkA-ErJ{LR56-K@P_F! z*1nHAj4UpF0v>ttQJCL3d_t(~7s9e|r>!f)TY?=af^nWX9TGOMaF$^PFx0)N*-nA_ zXtol$c$ZwUM#Q%FR(JWTF3dPz=?D?}Kki{`)x(4PqSFmQTM{m@z*1DnXbcs-*?Uto zSz6kapcC82R98IupJo1eYV>G48tZ4;EU!=uOW5AVlLWsL%>Vt*x}yxspuhh?V9EBq zrA#_douy_Tev!)8Ww18g6)|3O>?MM=ekIhctT7Qbv)KC3b3M61F8L?-pO^|qK~cka za4?4(ej4|7Y{bE5n(23emHA%XV+EuKYHKU#lKULu%A?v>p+D)lC&@ArZ!P_501__3Q-vexwbcsYq2+#tcY# zoy?EAN-jVj4a<3h4Ai!a8n9<}1kjqnsu1r}x+)5}xe9zSk~KJZy?<_NHorOvmG55_ z_<{US3(KGWd>_XN$g#-z_Ye^%mT4b{F_$rIN-un23QcQ=2VG+^O(Riu3JN!5DR zPd})k+;AhID|-?6gL+0SIX9>G1(9E`p5fV+I>OUcTm}jX5MFO=z{K!Ry5-k2M)Wv| zD2amq&Y!@Xy89Q=m`Fk(Jo~?hvXjlKZHqOx`?vg??+Ek|1~gmVpfaNrF)EGFa5Ddv zN;?>Y3VCZw@!Wj?^d@OSYVo_tu>T`A*6Yxat2E8CELYyB8O8~Fuyq)|-j>p8E)9)^ z$qwhC4Uaj%prXx-#PiH=NvpY-$Y7O7dD1SN_b1m?#=WK%E0t;>&my zMXDQ`le(7@L{p965~|&WTf8C4@D)m(xa6QOst&$i8d{voqk>?-KFmNa|)Sb>n6=qbPa3i;yU?H<2w%Tsk0 zSX73g%Mb%_&&x;0OEP5sH=D*DhGoJ6agOajPs5Ic9d%EE+iw0-bBN+vGu0;C?`5Dr z0*kdi?s>v?YrH8{y`pcwX3sDvoH|_@H<|}~XQ@-qY3Z0XJQ72MsbtLh>nx<X2fI& zYY>B`r(Hnfr8R8rs=W86BU)w?h5v+kwy6{5H}cZ0DoBPe#Z_tzo9uYRsSk6gD9ap@ z)&aasY~hb9`S+^V^+{b4k>6BkP5C?t0uS*tJFs_Lk$>l5w%N_pEBQ6u> z=7YL(6&CnE>=Y(RIf>JEfYjQ9In%Fz#m^_ae>cNCU94^t8;LlEMc4)IR zBMBv%`EYf}cmi^ik~Ivru75m{jyXr30N#F-OZ94Pv58@Fw&>v|0kLeFS1+r5^8U0S zv&b~JkEK+L-jBZlFuH7#;uh@@o`)uJF=!HBP0`o!%>7LMD_`#<<-afL8D@Qe$q#@H zpJdpgQfOY%HZOs5V5Gn@OB2Z`dudZ%HUJs+lh*iL0;9m~}4yr9a!; z>`u;j=U(!I7egx;M6NPHkp2@Gmz&|W=+L~*K!ws7G&sv6hhHeor<#oDM%6CV#{vd+ zD)^92V8vA+&y83e??K70iVzKBGOvEnvP82Mg;2NAcvJ_~x=2B=i8yrB6q3+t$`in& z()sK}tfA0i3pOP;gNUj(rDl|;Vpz=cc(2q`CWSKE{B&X?O~Jjb&@47Dde#1_VuHJv zhMa>&u>`VpZ@MyTi}Ao4VAsotx}!_m$bx-Y%9lE_tKWNr-<0=u*bf3l~D!^S*v z#W#>ZW;OraF5En(Yk>=ahZtPxJOTK)%Fn`L_o#2rOIrH(G!id|j3TOb=606QF)`u6 z+wKVS)V?lbH<7d;;%0uaGQv~6n>%T0&T3lfck(@fOB3G<0udzp#W2oeudb1_BgVFdpX{mJ z$8KvY0LB@7SQ!0cORGczH@;uuf2V7^$MOscTR*)sT489<1B({r4pi35?TieufP08c z#tI&9{=xGfPXkT1H^NcAmeM=eIWYhcKaiw)a%!5e~EjpHM{lZX%g# z{_YwNp5+k3{AGO7xpA2LY(Y1Cjpjbg7p>o||E6|U zR_WJ$+T6rHP+f`J_>awZ23RZIgQ*>ZbOo9qf)C;_72PAm(DS#486}0Xl9jilDK4ho zabSyDyNR7*{e-~EJG2`1TER~PCbTDdZX-r297B)|j>C7rcYh_vO_a9DspHyL>a&y0 z+fi*_c1HfIDw)g@+ztP&|Eo%dgnD^XV1uxSiUf|_*qQnE+NCy|lu0Oe&w!_WDuk42 z|G(fH20Yf8{N>$$<15jARi}>sV61!bHkBG1bHs9lD?+MMNFHM_89sjry=Mf)gRMT@ zl_dlheuq!TtwQDldZoCwTM-=;d&g(Z$O+XKRSC2q@~#!3ttT432Bt{!Z+Zh<51stw zi1Fd@`;QHG_lmTu!s+jS*%%G6q;_~AnrZQ{AMdJjFEMcE-z&VouWAj1v~iH7GB3le z)%}IoVVP9y@4Fee6%6W=R8Vo5!q=eY%$FHnO_LB7QpbdPk9R9Qk8 zEgQ8z?qi(PlXW30+JnuuK&}0fl5U0p&0^Y?%9I4y7#X{}#tj~BE+>V0nh2}1a#VcS z)$2F}@Kkg3B+)9@S_^)alTg6Vx34o7%VO?z#*P1kin9z;k^Mq1Y%oocd8I06I4ze? zCMpJwP&$V6Rd)25<(x84XKQyn(a@DXXT_T0YTw0QH6SGu&0bT0y8TD`v7+PXQq7Cs zHWYpP9CkJb;WLb!G+w3V(bXV=E*%FKq-ahJl>%r(mz3tcCPMzzd$aGjVu~3v$$^)d zS7(kH4A_wM7K%G7%nWcwpaFc_R?iGk9Dn-$i34v~QxFCh@{vW&7!-Gf`Z|EJ5~BYt z7m0GkA6-*7)7pGHxQFNaeKi;NP{4YIfWIF)v+=i*$msnQT@@Bd-hKVS*Tbyl%)^x%-$9l|JNxw2(2PLP#wH z$mAe{mH^JJXLQw`Ha|bb4IAJEcF~D{FW3O4GP=GGNzs>QxXQO$u(AX*tPZ8ogwiEt z@1AV&MH57nNa34rnp7u()V@+lfwM-^{9f?0MbLHDFJTu4p0U{4F!Z7`ix zvqbp2Q5;C{xs$P^lnFk+Q^hpi8NOou#`N-EcXW36PiK!$Skm+<=d>^#SV&*Z<-e+S zP+qB@OYdqXX|rql`{x36-r`TaKC+*+kd0O^kLWWLMf!uXYu0X3v|)*ztz(t;W$i|y z$opIjE*3pdrvpK3e-^Gn_IMP8lGU7_y%*&dDT@daJcTONW{f!opncK5GgqgX+64PWFP2OR>c&rcyo)OOiS~LY8#oDIlM! z$;HvLI5)3z1DWucKN7j@inni6kZR3fb)n9Y-zv824pr;xL^GOr+|{1ktqfwKcy`D; zeS$JdUqA_?=u4=%@k}(Uw~|ez1wR*NfF1wLi0)1S&)PKTzh3#SPzzg4D81%fv`8pE zC!EPnK;1u@b?Qk?d(l^oikogx+ZI3%=g5I>U<~ra&9%p5Z8)SiQCZjB6nUKa5AP$+ zfP|Oe9zUYLVz|6HhsFfmGIN4=T?BQkcZh;A;vR0=;A{~q25FYrm9oR(>RDHlYa9zG zAMOcAw-+I#9b9HjE9L!KUi&9|H3+4}jDSl>Q=ml-)+D#3vV*b`w2tu&GOGNH2s#%a2xL&2oR8j zi)SDM#i-MXZliye1;%x_*nNT!X4m9`c7uWaMXARBu{$Mv_gb2&ZV{xnFIR@$w@wri z?mf%W0C|Ox `-wLD(dqAqBAfyGWs0jpLA_=_Lus=y}=uR~$R1$u$a=>qcDetnB! z3BFSUCu)T!FrIEip459d8$QXK(uAfNW%qOA=*B*^$x>RVr2dyk65flLwz)&xk=-%7 zb-D958L^PZLa()_Ib#~#)xz3b%PK!&T!n8WM`aZ!t0ipB~h180gT=ZgB zt_9O&WX2a{)kG*&{M{PxrFL%4j)769H#`uF?3j?{8PhSMJ9H!26YaTw8M9%lkeRp# zb~QSGIHIw4C|9y zwRU;^qC3W@pkdASvbX~{>)1f&Wh_{OXeA1R`~8!rV-Tp%6-O^fUO8fuYi<*K)3c#a zhHCmxsi6MBUhkr{14(Kao_-3qI+~>z87`QhPrKi-C&wAbN@ga*l^4)%!YUjk2% z5a%i%x{E$$9J~0i%=I=_0mH&d@|5OmW$Qr#xy16CQ5p}+Yu?+h8)(vXf^?trvY)>4 z-UrInTdO)E11S$^B%Z%?;VhtV8Ia2klpHS=Ci5@cwkr>AU)qoqPy|AiGkous?M>>l zIwF@UG`(4y+kh}A>E=b-l>uX=T$0gxffbFsybwJy8)g*?h8(k}JT*mSDq1GVv=eyAF=$r8NV3fD zXvEZx&LI8C05cdT@Q5CB@aXL}CD|zscvJ8|kaWC`(Kg$dX1&)B7eL>Y-IE{|0t&*7#0=#g=QNa9-tBTcv2+A%`Q*ZR zSV#yKZo624%=t#uKBY6kb^rYs(;t?QOtI4a1@iTj6%go7@4FB08mRwjN}0YVZ}I3zE$1i`{MyR`YEq&+$E^^`4UMmqbJ$AH`u~`q zp1>57WI|yOpAu>|JH{BJxYIQVVZvw-^3uv#H0=Fa(w#<}!G?J^;TqK)hBYAm`@+G} zv@E=_eTx9JZOz3f3ZD#*oDk&C1eT32<}9TX{i^PS%D~TD*ATLWt7HZ38lJ#2BR(YTA6(mAV0Qj{Kw8=HA zmI?Z2;P9J-bcw9^8*#2}5rJTyHtGRXLqG_U<*h)tg#UGZ&{yJ&8mIRu+R_=0Ojr@} zi+i_K#hBlH*r?0)!r~E(-|r^j77$;;0y@5Nq#CAd&H-j5zl8|ooZHVM^_~??QIQj} zTX&lXcT}}`=6fy;Ga+OsI zbeL?03EAf}6Z1&BPbYxuvnJqKmVa&io@H8!Eiv3(x&u#f*Z;52q&&$s6}|Ffoceml z4bDi+V|IiS;04s1p^?o0ajdbt$7hly0VAnuRC||BaK(1qrHX;HCf^q2fUItcNDULM z(7X^ih^*3fKjxqKz)-}&ch>>vU4bssGKi5VX#5`l7oEyBrU!1^D@ueLW650^%5&Ag z*)iLmC+Dtgc0p#4_!u0r&2PDPZ#XZd@K9An|I`CXO#j^8eW@yJ?4|Vw3;&iaXB^;p zgN0-j_30&tNh$V^AHN(2?r&o>#?=(rdEwbkE5dX%Zvc%4Ea|2lX2^v)6XCyH2*_}{ z%&OJWt*L^AI}FGb&LmD?dZ$xF;a@Gmo z|8f0JiDc-*FS7Ccx1%#lUwo2flYUaHj}lvD<&7JDzWQqi#Fq@!9nPp*Z{4)$lkZ{H zjvR;Y%8A=RAtkAa(mHW{(&WF1`>Iilgk&!tD5UZdM6o?)wC~tMfCnm}uf5-=Ik zGo7vRsg_$5EffSvr=UI2>y2~{etLr zEH0Gda#hetNiOX>dOCCzEC}esPnLAHzi2lpt*wD?RUBtf88E_fEoMD9?^d>AGM&h5 z8Dq5)I-SS_+IGgnu<+cK_gowlJm`{NGgosYC^6hi05=ID`|v5)ro5w8Btdgd@W;!1 z!dDi`tPs}%VOm$@&p1}~T&}q5vuo_an7~J{Ald>yHRFFgO88HiW@~Fs13h+qO-IDoJAAa* z?7vn&`e|kzbd8u4u_~|MYAX5($<=uS)RT#+62sGYEUG{d?6S8Rh(hQiTi$r{e4{eBdmSMXRjTt~Jlq#odB~HcX-(h~E3nf-`tzDD`F+In z8@AZif%dwFQ|sv0CUvykS!Sf0W#zv>FR4OFN zG6_Z0P+DY}EG40Zgrp&|C1VXmV|hzRBZ{owndiQrKlIIWe!n+wS6A1$&%K@VoS7=9 zG%0b634i45@uMxTz25qF`)iXKsaJSS*Yd{)zsZx_8@NY4|G0OWrL}rPHzYpqy2SkQ z?!q3nyF1OPY<{!pq2t#nE-xPDh7T*V%Ud(Tx%$|Ul$NmzyKf%X!D*-{k;IQ<^5=Zl zuBWC9yU<-|cE0qIR&~{fxq_P=olXz1UYzDJ;(6=7fo__OZ_9|^(@714yYd#^T*(`( zEV28P@VM~NAYRimtF!N>*!gU_csr}t%^Fv3rzDpze;2)R${nZVQnmK*=cE3c->q?b z?69Ci^~2{=%F?1*=ltyWkm$wc-PKhM@Ew|bLDJl7!^k47399B6XJ-^l9;G#~HSYeI z=x<*J-R~Az8MA6s=hR*~=U3InCK=r7oqf4qMES^VDn*w|M=YfbzBoj0|E}cE*%_DA zDSm)iVgBux2e)URbm*OWKx8nwyftqhcjSxvKHI+g+)@u;^viXet+MKBoDKS z#S72(O7r|<`*Tg7gX<&rnrCVC+`4CIbF;&VQ$yYLWV8I!Mos6vPCcFc{Z;4xI-0DP zWSeXplk3t^>D@;6zeVZ&JkR#q&oanX6Af}>bhK)rRP(<9Ioc({dZg_ zeYt+gv~TJ~?{<&2%p*N0v#Uh*HHVw5Vw7d`qO4lYi@)!A@lgN8w}?GdZ&8>=P<)%O z;iA%a*OI4l$2yb-Wrx=<6mFWv*_`XY zr&Hm1QT4~$`inI;dL|}kujdm#k$tw(b>IE^ek=D1{T81qe=n}vKUS^JY^~hty`{vK z9&yUU`ADX(Lv&K)Ql*}2CEAGM#QqgHm`QL^;}H$wld z>a(}gZik#I-WY6TGI!w23_}~$%az;D#@(8?G~A{+T>AIH%+_fSuX#^-YHOx%qE&xf zIq+tJ*{S%DgH5wbw-ujal{N~E-6FnpTE>f57G@H9=*PcVA&BRYx z9)2$Z&hS@9sm1*fdVZf5_&nEio_l(ji0HqaojY&eM7@<;L-e>yp1jw6^0lDO;%Tdq zdN&ofkAja^>P9~c_enW4-t_G^QDE}@KqvE%|AJon`-!8Zur0*%^t-ZIiVyCHw zLF8zgAE!@l>yU6U+R{@$eOCll$sSSm-O#`K6y#~_9E@?>M;jQ zM^w-5r$21z_DvdQk9w(e6&_YM-1FPD{+Jz^>p{a&&FYVuBl~&{dbxvVQ~glb^kl%3 zS;y>lU7fbgPQ7SA`LsoI_GM{)3VeF|_iDbwpF=w{pZwIzIb`E{ysYn6b+d0G+r0S) z&LmDa%d43eZXWKq>GzI2yQYGVA)$LbTW7C2a_sh_E25WPhlg|tPw&)k-a-A9er|CQ zU%d4)`!v4(YtnI)j`Fi(BP;fEcbrR`ZM#=wvRyh&)Bd*Z$h+Ol+Xfwv@GxDQFPKz& zWJ)ME(p`Cx{(H}Er=J}8oud;|Na}g!z~BLkkIR%R6GHkLC&V1h(^tB;jO5&onFkO1 z&zbE!{rr;Bl$T;|(ceCugWX>l4!Rt5G-7DP&r6Q;eS3$^xfjf>pGr z1(-Cg+!I)2w0+*#10!!=zhHXpYw{ZMb&+GmJ%_82n*GKe{dhujtGD>IEXP;0%9ptJ7!p!q*!Ll%1+SQ=f`BYb(O z@a$e2SJ}|Heo>Q5%4e)t?PcUItIEj={xf%r=acjALry2V-qP}TWIF2Y+Wj35E2rRre324+ zA-nF%_{g5p%Bg*~{H^M^=kv`EuU%?62{k7dm`)n-dt&stmE7GI6TKh3jdv>SGN!zF zc7g49^@JO}8($w2_Lm5Sr|uOUnZDNOklwRT?^@pXPUv;qH*C$;UwP_m>SKqp7r-UUBiQK{oz~199=l6 z)NswM8|q^Fsr%iR%-Ceq&>ZJGZlKw{snq^I7GIq1tM+*2c%rZNTdkIFsW+`f`9EzJ z{_u8rxOPXc4AFVjFl$9DKiy}zd8uGBa$aQ*~!uOpm;*MDcf`O;P%w9cuc{?+l3 zh4l+=hHF{r@Sg`2p8GvkdUrA}d4KBVJE_CnyBuigSkdID=09=rlU-KRId1vS`TVr{)iQ&=YwZ}E|Bj)nQCKXNR*geu-T{quw-{{U8)}$KTi!B+^ zZ+X^s)%DVD1u=`XE(cB1(!F(byUcKo^^2tr`Hsu?Rpo}eOz!?!$Wp)IcmgeCe zlxU=Sd%_v>KhdMPxpfH|t*#&L^QQjTnRMD9?#Q|h;{-QTyQSXFb+{#-bhoxxwC_1SN2!tSH4T_ z_~M;Zcsw;;vtPmJV58b$B|Esf73Vaxrdpp|++a|0Oxh#s6Gtm5 zs>;iJ#=U;~41VvqA2rI`E~CP*-^;LdZCCe~8m->9`)f^}#<%EKjD5YY)pNRq1aT(Y@)fuIYrIob|o>cFUim z`b*`bp>K99$t`yh2hqvEHR6zUj{UEt?_W}u{c}{%V%twm4_2x-_{4Ue-Rf}iXCL9v z)}%@G_I>O0>YR7$R_ZM3HZv(n`(%Mhb@AD$uP2vun4W$|Qq=wZrTzp{D_K1Ks`364 zR^7VHn{HsgEc}IrarTy%!!_QY_C8MjjXalqtipS3rI-8OupIJv^Pae6@_(IgYLq8W z)Epbu!zA!*TS26|V^GP}cUj(p&$xUH+Ln|5pwNUPetx$xA?u6d>ds$dxd*nj43?z) zd=wSs{wjapGqtMp=~?Ta$`U=A0ylmvvfFiBdEYkG{7LnX-dK(9J-TybRd(EntoH^b zR??tDjdu^s)yfhW?Fv7(s#k0NOy@C=ZxxuXdb#dWLYCQKt4XH~4vBMzZdo(TMW<-$ zzjp}tIi9n@IMFgj*QtDqv?bLqW8&(Vb;EmZTkqHO zcY}MUKWaMbWS>v>&>Imkd*zwD3Ps(YmOAdHiK!ilr$d|`gVe`&$dZO0}b zofP7EaQKindOoG=Jq$7gQ-9}n>sK>-(7vhr+|L}%sW+>fuVep)XFsEh+kt0l`MQ6G zajTb%ez3)9qkoTpin~{%N58mqaze$ucY?~Py>@R;yWg;^w6}76mockfPSRhPw7#U$ zU!`b6^fOD9Q*qmwP+-gd8(73TRRG@O-5ide0%T z{FR2;`MupE$|eZ7-x~*Sdhq$F8>hD5lAZPFlBu)KDP6uWQoP>inO?w^!$1!>>2s7{-!5cwl}5)gh{s~ ze~$gwCDh}4cAQ&Cw-=@jysyW87ab3Czj7*&u z^NI?3Qe|ATzV1uHgAE&;`v+TgdgFbs=ftR+$>$o?*B-ET_BuXMwPfobQ@^C`F?=! zbf1H2x=*Q1Ar0YO%d(C*+&OHtq}p@m#U<&QbK52)3?BI3O1o4EAO-s5j4o`QfPuE<1A+ce1TG^L7&cPFYhj^1;tMsHfFm={s zgFcj4=atdLTVGR`JaNAAJZ8M=Z~brP-$!jbH(uB3Y|7rxrIC?i)B4o^M>zWjx4o;X zYYr$c|B=!sutE~Zw|M$S*;2hp*4Q>J{;IFZ_h#EJ?|WWtI z^bE~=%?Rt%+TYXCYRQBB^`XmWObl3E>)7Qr`9-~E-3n*zTXtzR!91h4d5R}+A4UBc zdG8#rukNz(*4DAa_k&bKo-5K_`^J2?w_5tBW}^Czc?tSWaUWDtn=D=wT3B_mciXTc zrr>UC)ZH-^-QS*`zb~}z$st{*oVOFhtj2u|AD5UA*U$R?koT8MOoWzet~7W@HmQ*B zx%(@&-2ML5I$7M! zP!iLa(Pke%R=ex##z>V1lx(QEpgvn^RH5C$D;}ApK9*f92cO?>uYULL)h#D9k39O- zH*w4H{S$j`in{Rqz@W^aMaQo3s|yw{<}K^7YMx~0?b;nxcaD8nR^ii8Z_4Z1gy)Z^ z9bWL?@XozLjgM11^&7SyshT|AO5nB5Y2+u592Xsx8$VJe4~p41{uIae-Mp~*S@A@up zKKbUHbKMH+C(V7ve`R3rD(yxom zCM+r1YxyJ!_2ZcWY+q1fDjpcZ%x}KIdLo zZOjwH7gyu#el&FvZg%`L#LCclL|IJWuo`#$M4!J}NlP1tUWr=gJR|Xmt%ZJCPDbJ9 zq|@(8e`a2J9v9O;qI6Wo+qKE{( zqs|5&lZzRqr+2k%)yvFki#Z;fHYTfbspFEZTLw^t@qTLNGs9n6ANdqAsxs3q-D}>M z3tO1bD>?bvk1X3f^^gSrNo%vR zrUdu%ZcckY`TdE7YF(9crd)mKb=c&fcq{ z9F}pX{I-3cPv*8dJJQ_O1}*uMJ694ozW$WqqtTNDFC1on@p-N7wR1(@RkQy(9(Z)) zWUqv&dxYW<)=f{xh{MDGe0k>brZ&WTbxvT}$y+_&^zZrcmS@CwuK^9`ZVyafQ8n+l zSMi~xb8i;Ea|#;xxAy0pzJ*n$T0cbH`L~u_&a$34w6xfKxc0{ZwsZ21y5A?ix_X6I zm&tRBEWgyBd12f6@NFmGjZN!C(r1-guT%%?-gzCjEk^sK`I+ofFJ>xL4EwBh_x&eI zwj|9>^?>JKtJE}y^2iL$?dIKz_T;MeY}x8je^oU0%CwU?<3H8Qe3R@K)GZ;lZ=Scp zrzW;bQPtY4=mYVWy_C6zX#*^O^gUk?6Z`jzWboywRslmg#vlCeP(=LIlgci?9KKI` zUvu^Fv+R9?Ph={+KC68;x5Z#<$4BpdR$ z>%bP@x5JEwY$){5EY^CWp>g-Z3E|t1JuNTpYR&w4cGv0ZHi4nftJzb{?TZ66Q?{6S zU0gRSGqcRYd`??mDrxoE!KyY(62@kCPLAFgryBcv+1#wA+{MGTh_5^4ZgWT$b)NO> z{Mk==qf72oST0NE4jT|bUiw`4)#`8b^CNTpjVp%E%b)Qv*L$2WR>SDY(hu6t16p>kIlifni{PR8!GIlVxyNsJ z2>viabIs+MgZdo{P5C>@<86>piv3p2?=z2A7B;26zS(FR^RsP4U~T#8X@|@8GK|x! zN1h4eP9kr<&X_z`ML5@6EBDR5r?Os~xK&SbKb_rwx6WEkWudP3cV1~r)BcN(j>_WZ zG*8rg{wMTl%a`1=SraFXSemsz)b)lpzy3_yy17HHo)?XK_ItUr`MKnGUSpTedvmEW zAi(f`WpHKMsRWOQD>ZmmmT)3%kG<3w*7XGWTQmVNCEddc9#7eoQ=>em_>R)v0|L9}MmmghIsy8T)pE>eov02`j#|Qt8ZLHVsoc`KAW!#=FG2Agv zqWk%E>+!H}iv7;0lAM88yL}n-b=AZZlRMV#x)Hf3<6y1!Qg^M`?ltksy4{bOMu%=m zEuOuzFl_JN@-@>s8I3+(aUnYV>&t+x0i2xY!)!TOf}4IPIpb=YO8tf zs?ZxY4nO-!yEe=@qwe7U{B!OFgI@=SJ${(_Rzozwu8VlGhSAOM>WvmdZ1XeE?XnrD zlDVJXI`fT?XzoZ~AX0s<6n}g3=fCzrYKu;&1)gdPYb`zFSKM!cYKH}T3Fm?O?~d6! z{wy+`(ErD`uT#sGKfG@{^~ie1ET6w)R1OV$?DGBK%GdV|!@83HUoV=ksY?F+k$xfd zgqKp}--^h#v+KmKD)dte>SqcMo4*Pead~X|?;|m0!=n-&U0W$w6S?8LM_#GZnj4Ls z%+{pc*Bbij?$so%^Bt~^FWVB~8Mv}qIAqG+hT9$i@tRAl=NQe*td6NsD#)6itPvc% zk?J$+PgwC!tDXDio$z?tw)F2oHos@cXY)W(A zy2m12UoHD^c*)njr`5C)eLoO?ZM3bA9^dlm?1k@2mwM%GEV}q1(<(dn{21XE*{9y2 zMM{TszK_;xp4>Wm^Zga6N#^loK4m4A-YR>#{&wbQ>g{+oQ1tKggEheIPp#NSOhbC!4g z)Av9`?;js*I;Gvyww;uoHZ%E=f%QFy$J$EieiQG1&%67VOZ@+SQm1VJiCdpdsBUYS zGcA)h=JTqM4tKg=9X295a)yrHi%OfvHJ;7t;rC9*UCi6|dFcT4%LUebjX&1OqC=H6 z&ln#}nL1_jwrtg>d&48K3>qDN8Qcb@IB@5{TMdlnLS^?F0X;KLbpZFfXL-F)-= zU6HL%?NYt^zb!V}KQCUJdUnJt=jfNIbK`>Qt50dJ^3*P@GI*Y%Kaa%DWN~(L?{ia< z9vD=q8<|a-*8k1(Az~R9-vsvT}AG_vxJ$DBt-TJgoNlubZKf>nA!S8n#w{>0R;7 za@xp>-!`_!yx7bw$;Fq~ojI=c<-TvmHHY^enW-tMI_I+=xL)L5^3u4mtIoaYeYE*; zd$T&z#>E+hJK~%y0xbf*uU`DdyU28;mT9E;m3!}X-7T)xiiZy`NOnx?eD%PSv}FCg zZ)1LLpS9o9V>9`sk=K88>hP@en3+qm%b`$Vkow}-Q5{C)x=H%4AF^}l#iu%-)hMsT zUMrtEZk6JDMKpYHnqh zw5gNowx1uVkzGa%3e>D_v%fh1{^NmH7Tj*$nm*~u$n$QhbJKm&_j5H4Px@Ip9nYt3ZK&P7~kxbnEhg=@2?$m31wXUoxZdK^Bmu6a$Q z-9VF+BbOSi?@v|vUv6!P9A_|PZ}{h)!-r)Z5bgfZJgCz~^?6yOJZJ$|Hjg|`iIAr)mL66`8}dFC1cw{<4tX!hl_eD zJxT7FXQA`E&Z|E>ZtBEU?-fw;QgqWPwPthut4Oot zS!&jSJ?e_~c!}u_7B~u%DsL{hTq^QPVDd&-R(ffBj9Y2PAv_J6IBK?YgCs!}$z=+^e>c2@0 zmPyK%`>FPL^wYw5&dRqn8{U29l`3~E?b2o4^ng8k4TpTma!5Hu=3Cs${Ak04cY4AKvgu$a$0fi1PPbRuR5w)n@!lV;fzIBO zdsKAWzvQ!e@6ml45;~4(n>@f(E3ku>=;D@hpN^X4SBW1RJTtPNGi^hGOM!lRqjT?? z*zd^$lgv&o?e+Dy;e&M>ZB{H328BQF)N=W}kFNX9qXi$;Qv7#6&hN4Isgg+F5tB(xTdI?hQZeZQY}utV`XZWs!~X zovBXxwTXG>Razbp|J@yDcQ@hn+JLh`H=hiReXcHOc@dz}@tR@DF#D;NHY+;Lk*?nR zN_W;A(X+X=Tkp;dd0Ne7I$OlQa{OX@vbUacUGKGBJ$7HvQ_Zn9A-V@{#zYOzw@AG$^`l>avhi$A;HliT}~K+M%sx^3$(l z9^SP6q1!oljbTdclf_Nhy}S9|+dAa)Q*P<}xxPWAMgI-icm2XVZ-bM!=iWRvXJ_|A z2F`DOO!D`(DZcPHVL_NpkBz5nEVDfS1{^aq>vC6oYxug|10K&DwcX^z8@2kImQ#%m zzxg~Z(#d;8Rm-J>4^Ey{DO+?WFYi{JK9iT;Q1!+I{*v1Nf6RQ`f$H)9Fy;JOF>YM1 z7+*Jr{0&Y8I?}z0`36dg`MrO2pt>v2nZh#f+gFP9&(tc$-%2`A90mH9d=$_7ZJA;n z4Y6YTP2Vc!H!M|*k7BV?)j=`ebe!UOd!ACvU(aHHm_V@~t_3RAH~LSpehW*UgtOq+ zJ}TDVSgIILWQqGlRmJuvvE+kRnPU52u=u}(WnNi5`TNES^5+CgK5V+AcwH`+6x$P6 zu9&aE65p#V^_9sI-%BhyJQjQWS=RNO#SiH$aqO@{@w$rFDfYvW2*r4&pW?XlS?ruj zVl{~T*M3~_SF95ppm^RymN>3t$&(RHigiW@E5>6#DaKn^`pI9Gxc|ozm*I_y{qMz6 zj}0vNAeO!~PKEqU)Amj#pRWy5Jnudhf2M3w9G5hfeC|q$QPIA0NvhbN+gSFg)hvGA zwMVhew>rhRE=!(Uvhbg>^k=)5iuG3zKPy_VJ&VqSV8wh>mj1j=Lot8r3&nBy%CavQ zl6_o}om>{&@v~z7HK9yy^7|f#IjitZsVyTM+mO2{GqEpV2 z=TR(pXO=wQ_(Sn}H?#1yQxyCEDodXXyP|j>Ji}sVUzRwAviN5WOCFA4;csDyQtjd@x0~T6vt&h%X+7=oRc52%=?KYuMAlHusTSwJrykb zOD~pw63U`q&eG36vhb&{>nk7cA>l2~%v3 zo~`0K()^@2E+Uq`?aShyZbHR<+nL4wNEZKie^qQxHcOv5)mQPlWGwNT&$5p+vgGG+ zmVK~+C2yax@a@ADuWJR%dbhIFZyQU0_`~AQcosXgSk6%wloi`~j|KnrK{0;^%etPj z>Hyqly*JyO?GF^<|06H)?_)IZh z#8O`tEPf7Ju2|=H2gPwzX4zl7So~(r;-8@=it99uWq-fO(%%lTJO@>>^eZEle*0&M zVn19NrWoJL(x2T}^gj@PD%#(h?G@`Mvh{ZWFEO;GDyuK$ZuE%DUdgQa{7_;=Bvogi{{aNl?HnZHfq_UhJ7O}+Z7K@*k zvE=zKf#P#=5zGF2YL4Rk9KsTJO_udGX)4w^#p3_FEPi;*(#MKfp0n1l_(6WR%_aY} zAO0+PWyq4ZE}Ip{J({II7Zoe^!+e(W_Cc2ThOpf4xwG^iH5R`eWZ7RPvE;e_NX7j* znx!8)v8+qP(oa6ERO}z}r~MSZ9+Ap2?Wyv?rV8!-V+bhnK z5iI&gSn7QVOTG9^iS|x-{aA_=i@|7jNrH zBk)}m#h2i`%it9K82OetphHdVPa|rGcUK2K=O@evU!^F+A;1@3=|wXSAiu5v_%dgB zmCX(DKF@(K${a!?`w-t43phWlAB})FC@PyQTJdn zfmtZZmLvx4x3+)tVMrA4L!Ln167%RWpMHHugW~rCKOaTB6A`5I{4eOp`-OZwasgcY z1ZM0FF!fp&^aVNK=Y?1oUY5Y;-+*-mAb*54;L<4Y|3$>r+(1V>tPhQlm!avga|7Uc z+5g&K5f8Xu%fI<)h4m%e0`+B%`bm+%7p8!Y1oeGZfIWgW|LVLu4!H0?$SWt*dGH3; zWe<4>s~~mv4)DBtfSVwHG7oUhOYp-)#7&SdYsWv)1^BWAh|3n_PeDFU@~?iW4y?;H z6Z}uiqer?2;9?u_XAt6LivZ{N{hL1|_360##lpN-kiVom@bgxJK9g@R>GQJ&B^HA} zPayve*+=C06LJOcJ&2#h{1LUwpFT2}m$HI*RUuzC1N{&S9q%0C{$a)_fN;!#(DFWU;QVw1-}dOW`ZI9I@>KTiUfa;0BSC;Ng8=reJd zwgL2Ax&P`{;CjzEB$je6a`E57|XgzPK(?yLCnFME`90 zw_d{MfR1Z1#A_nSWBEvK1HP;U_Lso`Q{kO~FW|y{0o{h8)(`{a>+&;(JTyiBe2D~{ z)AL_H*OCoL&gUG4%p8gQDWs9gap@eu&2iq0CgfX!e?}obbPCv+w+j5s)Qf2a>S#cv z6L--gXfN=^Rj?0o5kE=FijGS#*l&UO>>9wS-r!*e#63EKj_b33?Xh6?)3e|od*t($ zB7YCWeK_L67l2D+|IN4V7ttOqz*Ug%OA?s&&qwf2PxRY67r-T(A&%e;at@;J56Qkc zfiwy-n7%i74eB@oa|!C(S%N*>Ie^C_KB6z$nE?HS$+y?H5SMUiCR7qFd z2GnuHJ}k5a1y}{yZ+Cz_LVw5;=n@q5coX0}Bfv?z(xZDN;I2!-&Y6g(ya1fr5A-7t zR}z9f5;gDxlece=17F&1ztH}GxH7~yKnaBAkph?dpPCQ)hf#kQ36mTbltBLMM!W_6 z#!m*nG5H)vE?(t)Q4f8ZISToAO+m+R3G6!zZiaQlx#%^nfou4}3%9pK1ZVz!~}gSVd7L*#CvL;2+YK>2b#ibT}c9 zhnDC!jRL@Bj?h1uIC7@}&YuE&UF>ha(Ld5k>_4c#(hvPM686Civ~wUI@Q`502lz3d+(uV#Ur?~y-; z{EvLzydRJ!13SVOuKWhvH3R$xU!|z);{Xp)A-P3{Hqfb+=uc??_=mWQ9vkWBJEA`l z^4S6PGfL49AHe?0$bX#%xL@qQ`LC1?^KuSDUQI{->|KCML;lS-?h()tYe9dD#r?t^ z&uRRvV7V{qTxbRzi5IL_592ubC*Y#}fRl8kM-MzlQ5BGx*O2eO2>5vd$iS({7l^We@~S}lIlyQ9GdBbAVz86(&*Te$=QVKY8G}(joOzBY z`L~~Bc_aS`cpw<#V?>PZlXP9 znZS3Q3H8YI^Q_N+iF^+YR|MAMrs`fzKB~o;xEho&w?>^E|l7UAF>1bD&wDvJ3wE$7S8|EQ2*B!v~wl+nTfCeVdQK6n^#*G zgT62UDg{(8FNg<(>4(Zf;L9Rly$rss9PzH;PlyghPtL0Kh|(Vcu1!v-%$3k`7=wGw=3Vz-4$Zt%v+wc%GzM z!A_>Gx5WTI&mGq5fPD3ASQqCGWNajZ69Z^Fu`b3V-ueaYS=p0D#v(p{HRwn$!MyJg zf7c&y*HY*Vkku3=B%jiGJ`4Oa9sLkd0Q|gDkPl2=<>NjpD1f*-AioIjLpXLYuK?%m ziSv>_2uUL(4d}6TEa-$9 z$iYUwE?E+n{`>$w*Bsr7I?mvKCN6WI050G_Co~2b>dZ61c|Slu2=%}HME}?s(98$e zm$p>_pMM|t%=zu+b-?}JLw{I@`h&55%6>xLGV59+1ARdYblL{wA0-CJ*CnY1{!YXP z-N1R@LmY=99ZwIDeUSfwm?ziwtAYF~B+ws)I?ta0&YuGP6TC-JMrc1D_oFe$ z*I5br;^lDO7>T%a4Cv%_{MY`!D-p-IgEvS!;(|_IKKK)&Ls4hW0G}5F83I*6QUBq2 zk9!RCnY^;W^MKF*?1yZjs7|h+BhrKOl{wlO9tHFAN5e{){k?Mr@FhQ>u9z^G9R@ao>#i7-E1N=T?9pm^kkH0Xl+j zLue+`$9yo)U01-oj;IrC0DS5p)K{ABzVi2DdH0QM1v|N1QO`4=JIn7m4T z1p2atU=L}h^mv5Nr<}DAm(z&1kif~;D;owCHyQDaw}4BXA+pT81Mr+FsD^nrBLCiT z)Oic>bwWHb7I4mNz#R~OfafB={r~P?VQR20;T-TVY0LCju?=*Dj{oM5A>QMO<3Wc! zPSWGmE8zR_!G0~or<1~$uh(x7tal>NsSuJja$LL?@|jt0KE~Y-&+SlU6!min@cCH~ zm$|4jxe;)wHsGgl-UO0Pa{W9d$WNxf4XcLrhO|OOUqhX-L8v2wJb@~ps6{IP7rX@g zn-YA(jrWLmgn3Cg=&?Kwbryo(nD~w)|3j}=s!sDDD=2EgdDI!GN8=G7LnSl=o`?5) zjQuNig8fvx*PC+x13otZ{684|kku3TqA-XrKvkl@$YJo3)4)()G@?16&_|lKCUZ$>F$$?+4&ozJ@Bn$25*@KSYI?THT z^^;5y*MRjtM!XH5J0vEcGZXQB6=-KK@Eg0g599g?DvR-t*)On@ z+wS@IGRb$j{nDF|w?(M`u>ka?r@@|uh+kR`e2x_Ia1i2lp1^mthkf=P;zDxYF2Ap% z@O>tH#DAjw)OoPqAMuGMpikj_)B(hgYJk3E1@M`AsleAe{Ca~2nDv(6J&a#($XEtn z;s`o<-@*Tk-`;M5d4>3TnFG#yAqD-gV$rK z1Ab=m?RgX6emejs#|(Nnk&RLw7e6pYi(?JJjA@>hm0H+?ojCGyi z8zx@FdE31{`<>9}`b`FXG95j-3IOK~h5TpYvZexXjs@8W$RNigdX$pJDAy5*A?{2c z_>=;CX)@?o0iBxc27JGfkhfP5e}Qq7;yGD>c=0{Z;ZqP_#y>MjA<*$EhW)M>`MN7W zU-lY0!!WdS0@?26eAjH?+mkw!kJlN13roOGCa+X+zmUxW|6~E3>UbUadH+F&WbD5w z1Dxvsd{`anpLm`Z-i5km>ge+i;8X2hSNeSq?C03((K9mntc~XisVCGU6Zd!JpySsa zDk~4|{BRv~s0Umc0X2$h&<31`_Z1Pyzrozkd;&Ykv78d!>gP=37X+d;Vo)Barj+ zYJhK!Iy=$-e)iyh$QFt^B?* z;Nn(28e#G+Y#iW{cK3nym_M$VKTJM!Cl>`(F$i+!H!2L1C7z?88J`AtyQ zjGfzF0xnC2d{9NdJ&gxE1mCZ?2k}jqC(>!)0mct~-T~jQ0PJD#OV}SosgUO;XwS(o zjPFCpe1@M@0yr-Pbihj#b>%$h3;PV96--fQ!cX9f+x5L}Qoto6pe`8wGbAnL{-oNy zUvvYx7?k57^}w8u`e%;_|o|6|M zE-V9kIC-GcqceQrw-|5{?x!~~zSC!dzQ7!IggvN}D#Z0h{#!?5?17(m7uFSr{Jp1v zFW_-#ggI~cF#B3E^uwjd--h)?VSU*k9yAtoWX8~Wb|K!1eV(TT_PjuREoo@9pWD5T zwmuzj>L~E1BR^&+`uRV|pLvL%ZUtPr2J$2y@exkQZ}+-?Q4r{Jmkg$v__jalJV{8o zJ+gd~7-W!REj^;X0M5sI2F5>WhXEH}0XyA*PK{N9c|*idrwm{Ia=cuh{}n3E1^Jss z0iVl(xTGN-{SonzP^YkKP?VoJ=;TcUKQsO@BjJasX$Rr6#>qLSd_9DIj`vxEHbs2kH@g9=z3igL0U(*uo7tI3vD&k_?AN}?KPL@ND zk$CUqcL3u13-Q8*pu?F9o&>K_RR3tOlQIYYFF?MSd@8qJq5*z5jCK0^4B(;}kmqxd z&m+^x`5Zha3`bmNKFrH=gL#?$<4}qA7($(TBj1TET&}~#_id7NqDK|RS2zIHTa0+8 z7~qSigZ*S1rN>ILLCAG@Re&>fy^<_YjteCamy5Wr-G+d3>S4Xi`Opya(6wD24!(o@ zA+RDpocA2&k5meMxE%HEPQrS{_&$UlSQj5iTFUJSxd-!ZMxClK)W>~?*x868sa0cM!;Hff3gnw8vn*|_Z#4c$Oh5;c{r~S z^Pg&$|5LsLpO*`LjOmm70?_A7|2J=!qyJs;z8$&*dENX7=m^qbpGrXcwZ{NX{et?+ zK|Jpw=!^ZqPSSqqaURdxuAXpiXX<5g1@J>O!2=LYic+oxoY(H>Ts-i;h2Kk$)&(_+ zs!0RB-~jlI$%pVwV5jR@ZJIv<%%Sd70-qZIGm`Cz9({2iq|6}m$u>lfIcTTE4B`k? zOrBH9L7#h;OYG{@mT5BNzgGkD2%LYM5720u{tV9c_$n z-URSZChDY-g~;vat_C}qeZl)2=!^0FISd~A8u)xGSP_%Y1C}Fy66C{3n4aok12{Jp z@~0QhE9C($`vLJCi*~-B4Eh{z$dFlxXQQ1VdEht3p8itc=jrItOz<8>EyTLu*Kui_ z+27qs!q9P_`fuM}C<0tm1PVU%cTv=>XJBW@1gNiXh`&SsOO3$)U=>B3%K^R!f4-7= z{*~zfE^haJ)To1i^In1uvo0xFxZF;@9^@5sU!9hSI_AK4LVFgC2fkz>_-!cS+?&9s z9&u?T67j?)^uq+Od=%nUj{y%k4*AABS2|%o3HcA~d4_z+M9}BYhxi5~epw1Sf(ei( z#fbYD0nTZJIy!-PFy^P25BaH1>QFv*7^D4tKz}X3lyw;3LT&IvH_WTR&!C@&_qtrv ziIM{DIu`6PLmkhKpp%#VuOA#u0e3Zod2Nt?dp+PByypRLQ`d9jXG!0|DulI=LFP=v;;f-W`ZA9 zB7YSLkUTC_9Pn2megoIV+YRfoM_l+Gbvl6G2#p@kmC+A};XLDm^WK;Rb_#tUUJH?b ze=qPu5@1F15r0MuliMSx2EXYc-n0vFP7v@N5ubJl{Zk8>mXG)$vZ2Uz{9K`aT@a7Q zz7#SKDkT!}Gk6~3eEs)4)*H`n)Gx@-e#mzq4+wI7t_$E-866T<+Mf%+pUm^-k!--Z zAHaSqD>Ta`WyD6p@{cv0$gGOaleUp>m9)PqankKQ2*{$z(wue zhj!Wn@Q{Px|BuQJ; z6W=bF{~Aein6|j_zSS-0`g-p z4@EBj=HYt0Ka}GA;U^_9X#FtI@oRU^tn&nWWXHg7B#r6O3H>9u1ok9hJb6?18 zT$exepX*bOP_9p<5|82IsMrwH>zgs%fK{aNQK z+OwHUGbbazCJS(W9_T~VDC$5p^84u1Oz7U^=RPoRLpH#A$zvludgD1?Y73dqtT!?a z)*G@2;+u){Zhi{-BBMbxLduyQ3zndtlVGI`Kdu6BUJt0RLgahnIe~-s^N?NS=OZ4Y zej7xP=>v~D0PctHD}YsymsiO0<#CbifqY>6#=Qu9PJeQMB!f?XB+so;!1r4QeCAwn zxC(IbL)ee{gSnJwD(J`#gN5d(Gf)UPA776PMSP+^;8J`&^ab{3lb4_`)dLIHA>V@} zfZTo_zFrAcOi`JeK}UEA_7|qUW^4!CFC6wMCho?Ek*^N<0IQ~`$>jO2JJpX`x_kyb zBl8?5xd-!#@aJn1(4Hmux`tnO=rb;ePyYpcLA&<_EeM8rd7ofMK(|rjG2g`P`s8#6 z&~c3(Oe-_>{%INDl2XW@7MyoI?k|4r_LtO2z~^*_4kp2cJ%0f9Q1OsIOVIxjBH&Z! zHECtWpGRH+&gDZ~n11*x8`q@^bwQ2?^w^K<;;w@XoYoO=UD7b=IJUbF4e9mXc!;Oe{M?Z5gzTgewHx-OmyL+&Mk!WXk@TVv0 zoW=7V_X?LrP9Wav67Xd^01rVt597$kII1E3brQ^*hrgd80rA5aN8#~*<5+PD^o8o+ zXX18x#E?cI_ghE?#APMo8s7lt#z0=_A^sQddBk|n!$sT~>qWqU&NBk>)8u^=a($U4 z^f5!ky%*rT%fQcIE!iI_;Bzm*ykIRw4X^;d_&e}FpiU`C0J(l%B6!9g@q{Bd?_h|# z4)y`NvB2ly>&Q%Axorc!0DmqLW}&D+OW=zZ0Wu8rZ|R~w-h;uaDQfsJ;D^XyyL;0r22e+ue%!+T>6zTci4SLpF51^7aIf1nfMzQk<#x_H;2 zju<=ZqF`RCTAOB?A%7RHOZpY&W$MKa<0Zs+F?~j93a)o0Am>rXdn4c>r$L{IV_Y!c zf_D4zEp_BCh4bee^iRz$z$N&85+-jWJpq^Yhkm;d=dHYi>m33(R3EvA5CA`~9PG(Q zzEFyO!+Xo0UEm9b7XbI$43&N#`KD_D7swz#MacKNBa2Xv??h|3bxvBth6XxEo!kiIUrlZUT!L6j+K z-e|B>*aUe_9@FSC5c{)0@^9Qf;PZtHpD&oYQ%OaAe4hYQ?`VLet?TdKzwf@KJ_Zt!{5TCk&lQ+{Q*7~-#^CeYiZ7ayGBBM8U4{_fD0Fbek|%N z*bF#t9Qc83qx87i1?F{q|L;E4i)`F-KS;`;zA`XgCqe-i&DN*Ce^Y1B*;55NoWp>7 z0Zj3IfG>Rxc9JxphyNA8Ib~4MO~^k++KYT%KfL$0K)mP);F5gs=Pc}3C%$4FXAPm5 z&(C0rz`J5|Run#NQA{$@!9Yucs&- z0i1UYbli~N{T0|L$$~s#@^Cxe3rUVaz4#-4QU&P9@O{Ee-%}Q$Kf6H(7=nBbXh@Yp}k!E-)jx9;C+|(pcnt zY7VT|0d*2HL5FJhdQI0{;Pb{n#4C}1w*YVn{=Q!(9}-f~&b^?|^!ZRd(3f3;zRmb^ zwmsm&O7K`T>Q^QME|?4J+NA_v&__QD$3UeY>jbz(0`Mh&Aa5Cc!64Mh{CD1L@_<15 z%>w*<9_QWf1UR<`)C);_dQ7r~b;FPSDe=n^xvY+9K0uS#d{L4iqvm0=!;T8*$Vxc z#RXi9ue(h}oxv%f&%yWekTjsj<~r0_4<{KNQg8AxVHM&7p+YSIrd(x++d&^-&OfWK zfWGTWF3mJT{yaQai{?XIhN7LrUZOpFp&t3j&%-{SR}XPvet%sg<}<(D>poMKfIWQt z{W+$nV~Xb!37$_F{SfzW-sgz$K8IXu(4*-guIr*6{rM&IPgl|y>3quq zI~$PSpOlFl=kXwKlR$>bJ_|aMuFyB2yHZpwnMlsh!+RdOvgU3H1y+#br$kgmN3cF2VUbm|ZJjQcG zedOuB6nJ!1(m3qj1-L5_c~qP{J9!-!Y$5}ZX5#AdX~=tO=hygJ{ZsA>oCB^Z!p^ga zXFLSl{{eM!)JgrqaSN+2JX8LJ2xQD zd;|0lbaG(1}$aa9@Ga2_cLb1FWpF;VQ z3n3q!3;TB>-kTFfO#~jCjPd?TdmcVTp4ae;xLdcTvQV-4!@O^3?Ac{KaX#1gCgts8d2IQ3D)1P5 zdmhLKd9GAp%Ga*~+!_oGClOD{_=)AjxJ+KOTMz!QV?SZV+u(`v{CQLZiHBK`cMXC) z>yp3PJCJuf&VM*D5b}QB??w~}CI+#`6>|9f<{{w9fq#+@{E=;#PmLYgUxa+{JjS(z z_CM4F^4^c3xv5J}iHFMoH#{rNx~q+)M|3d-2G(L4_3>f6#%`a8VYOfCB(=k)thC!q znZ_?rDX&KWKy0=B#>bJBhXoIt;xmC!#Ad7eB6 zu6RD`PsIP-1fIZM@Kh!Kmk08}0f?WS#53_a!v6y6v3#`8zIWO08jRP(^Jv~@_oPH+ z_?kRly+psU6{rL7no_s94;*X)zexGgEoD>4ho>U%wv#872Y9?P>?X??-B$BD#gz#j zH~tE8U(r(tTM))?6BKIO-x0*|@_zZkofxo+A;Xk+|T=QA)fbZ^7@a5;0gCbT>0q7 z_Pl-xybU|c@=3R+e127ZnM42E_+`=#_RD>+c9buF5&ZG=hy+t_zq26k;d3~fDL+F3 z&$f^1l~W^6h=0U78RmO8M*mwJZ!m4r@pdmqd-DA+BOe$GJai5EmnDDl8NmHxk-u$- z?{oo=4M6^y`n-D>aCZWDHc);^7`U2`8M8g{dqaT-9p`(*y8{pLJZ+=r-PXV(!{L`} z46JpWXQP~FO?}wLc!=}9o{5KMf3RPkW4vD0Lv|a_eDpi^|NrB>8Q+ERzJj>=BM85^ zMj^lI5WiUv{MISRA0hsHB5}w4+<9CNySN@UJf4x@_c`izrSE|UxnC{iPPf90t562U z72|exKlB^Di}gll%D=<+iDH=&G?Iz()wbd~F~H|@)EoGNIpS7bA7&#Cr<3P|q=T*x zYf&F?H6iCkR01C0xk>ve@0Eh4^Sx)%x-^0Ff^RkK)`Ienw?f{wB;ldk--p2C?uz;4BaSzbapF#o$T9ZmbPV!V2=@7v^H=TN<~GCc#!3pZg1x&z8#h{cE}|8Wb=6b!MusTQmWo(mkYSGJ(8@`8*!=$Dh-Y)XQ|319_HO~rAZqAVi0hot zEA$JmDV2iz^Wj0jB^`A8{5JSiE!eFX$Ms)Z;3{$Wq@9Qz#n?#D@aTGC&>>F}44?=9hEpMMn{)kHI}+^X6u!DDR$Pkr*= z9D{zn$8u;yrWM`Fiy3WwLJN@>9Vq{I6nNxq*a2B7uO-$2kLMZW2T(pMuP?m3zA$!P z6@a|!Jo>Fe`8=n<@2i0MVm|S2j{$f6i1_KB9KXm$ds^LK&nJ|(KbxZM*%I*pZRI*R z0NmpFEv+b@O~!4@NBm+yY1N3Akp-=d`}v%?gtu-Vd=B@#c|83M6SVO5hXCNObiuLwz>T~EZ@Njd);bHPT$^{-5uUk9t*)QQr>kNZ1yXD6~{?Cr++H7sRs1%%tid0cuV&q?Z9(y zjQz*11;2F?@z9t&_gUwy9Jw_DFUvU}yCAQc0x@x0oYyBHKbRf3Zyr2*oIL${g2%TP_RPgRtx**6!3U6s zm6ZCv2IRvDh*&r6|C204Z9QYxU>^_pE75M@6G`osMf%Zs#OF8iQU0MU>}@=HAAamZ zd|F576RL!M&AKJaG~jN>`)+P8aFq{r$>iO<5|mGl5e+84CF?P}Utc2p*n{|nN5BI& zF(2)veah~Ho-Qx^YvN%;GRRweo&?oEzH^iY^1k^= z7g;l!y{@p|DC(-1OScQF!5>Nu{+r}a-;Nh(4 zG_r|!!fN0l?qi#{Ez}mc=NjVH+=tr0`m7x9jSe0NePWLNd2259;d60*_B(bG@R;L# z=3{0(%XoT8o9_aTkIAH&kF&m|k%8NGj&6nBN-=)cbAKkPEG>`d zmG4w?zKA;Jiz{a_u4tYFEico7Zi%JAAFK*{hKTo)1%Tae!0~)+Gv;ZqEArIj4n9se-GDf$37l22HB46MIrLGZI!+@K9U-!1Jr?RTRp2qs` zL-bcEakQ;Z%swbpnx%ir`6qLMN5&zKO#J*$2CnT~1wER1YVsHKR|D8*BY9SA1Rh+6 zx*=-lR=7TJx8u2y8H|%KH9_x6y|)4VdVT=%DfxZxfhYDeG&w;$wgq^^@xAYTOE}); z;4yi3me(n<3#b4g!_Rd>z_CuqE5o<#5HA5g8ao#*20WY&aV68AZsQIR{}1Z{GY{@9 zN<1~>zhl37)&Y;6hMw@6QVl*Kei95tD4**H@OS~lA*!5G4etYYUxdFTymkBbIB?%> zXl~Z4rR9dHj)%%%F!ssIIv-1e%8Xf3z7swj@~%;^zwwuU0r{F9@9q0Sn>B(asvtW-` z@p*u9#G97^kFTrAs<-)O)}69 z`M7=yEk+*oB)(@qc~)8)!6@WA_2=l9N(mY_^*r4+;Gy1FceN+aTd%pyxs)~g&_35NQy-u{nWZCJpE%d&b;-XaOnL7AoBV1o zH(s^B9Or(2CIM;Vu0!D8O`ear?u|CGG-B3`@0oSlPsj*U$8ryYK9=Ksjgi;EuNtC` znRxj4DfOw3^(1CDrHVZS?punwDrHl*c5Q+C`TmsYcj$cDb2|KstWl~&ZuWZ)7QVyv zZNd}C2L>U2I+A}8<1oN;WuMc|DJ3y&`?zl*&UaD1;z*7+7y32!Z`}|5hJS@U(Tmji zGr(Q01kKQ!JSzqRk0!%Bg;`bZM{`~XHOD+Mmh$PFvEMN4*(w!&G3pq20)JT=7(o5M z&j?&`Jq$MaZZG}rI|4nAQ@-Ir$VW1PXA#Pl8uW~In1~S>JKsGE+|P3fnnE2lX%_I% z;H36B$@PP^6(hY$`75%IWbY5RbnFj@Ij?y*uNnO-^kKhQ-_i`mZgVBUwZFQi*LZ&V z-G2PW#^Z5RnC9%a-5bEI2f#lj{)qK9vL5-Hh4u+c*|&M3e1F_c`Ab89M;y-~w@L#% z6a)VP$`=QvCk*8WV;NDrtM>BtIlt8uRWB-Fb11Z1fd*D%bf<_7vw>|-GwMUP~h^LVO+V{bu zj{D#TYC%4{2l8I}(dPpmF9uC8YNeJlZsU%)t+*R@h_}FuQ<44tG9P%7s0eL^q`~&cW)1odNq`dzC z@aP=OBc?8W-xxezwPCe6b9TMYv(^ZMjkb&Fs(Fl0VI%nfg(8tC1fbvoP$z{lgj$$Tl zMSSsX;PIN!)6~xi+kpEkfw?;MAIkmV&>ZBc@mDflM|d395$PC*-n>cU@SnlpSBE4f zq)A!UE#G43Z}B^oIf(m~0}t;@>fZqU?x){P9Ij{rc{iUQGk#o{h<<&1o&naA^PJ<5 z_dP^B>}0>qML@^@YcO!SQ`Ij*-oF%aZtDCN)|2=S#OFoE|H!T!?^yIG%N5;zqrCS7 z4W)$+Cp3uJn@xVpk-bz^4C8Gn% z9R^SA7V=BVpl&IbLf*X+@nhoTW7bdW4(eoA%2(m~)*l4V7sL-&1i#f5Bl1w6;b*|_ zDg-@!#8+2^e1y+sNx15^q8a3)j&rU)`~rC78T3R{%Y8|%8-1OSiCf4sO#W-fmDjP) zALF{$+Zp!RL;0?!As^2TJ*N`?o%4c!4*ZM1lKqpC&_D1F#%uH+zW+ABLOjh#$ot-bd|l#=P67`nN1T)*{>yXV?x~mu zO3e2)FM6K&CN@Fo~Oq@C@@;cR=l#=?)^lmFyq^y^oaMoc|y`X_mE!VW&l ze@#26fl2Lfxg_M>$6&GE?6)=7w;rxEEur1r^mi~1aeJ?o@F$KAI>-ct+l z--`Oo7jxO;vK-HM{XGtNxD5C^Q@)az(U$klgdHXj4}A;V?MfOCImVFZJ@BA+rFwH7 z4|rg)`s69f`8T#B>HJ%B9(eqdz|-33vjF4u@Lc5*#NT3_ci%)j%Q8>5EvLZ~;&WeO zcHO#e0guIf-J--twx>OxL(kucSCHwzwu4#;JA6mHJFh!jd2rof>hrn=koWXOT#5U1 zJ6@Lh*MQ#}5zjvtxVJFu0IMohw>EGezi(2V^8HSMKk!ddzg+47`A7j=Uzqj4_dOx+ zJ&1yFkUX!hKt8k<>yw{}FQeVO7Bn&Q%hk^NJ16)79XKeT_IVarKteH~YHY;(Ksrekt7r z^8T+;H&Rgll*NF@-^4s3=F;tY9pLIqS5iO zocw9m)1Hp!2O9nZc{k5nGyYm1qCSrE)4Gp@e|_Ayq4`ygvXGB|jX0Off88>3U&3l* z>3^H~cLD29^c&dU%xkX(fydeozrPO}^?VWa90hqIEfKQiS74~4;R@ww9u zl>f34aMd00Z0h!%EWm>^WFaSQ0OhYrS+K_yc?Jv2AfD$I$Hn`YSam4%fs{cl&+~Rn z{-%*>#m22J@NZ-C+$@ED;|Y*lNPIfuIaCLAsTc8=-+?Dy8GbiB`~IUoj9VY&D>MMV z%kkZ)sa!u;=TOHArNSTVmtop^suJ*sxleJ8>oIQ_BZXEAD*HU>Lz=T-keJ{XZikan6p zb@oEu&*yybS4!ogyk{2bt%<8-`^fVWe#uLo8D_uYCi1i`@pI>?C%;R$n0UR-z+H~_ zb}w^X8mWSKt4{eEvJkSz>&u6FvXgj@Ux9m?0yq2o=VY3* zW^&-M&d3)J<#X)@?%_UjPvZTV?`jwNz014~HzYsLWs)$^?G4V$WgYiZo{wdG@;rp% z4nKZEp8IBf@(1L15x>WExOXw? zfH|+VvMiizewxd9uTkk9_@1#{zWt@^*`3P$RvzQ)X**0e(?CSqhG_n zmi0573-QpG{KuH@zIos``JTHL`VH(shOVOgOIhIA<8_}y{%)b+I(!6qpX2+9Va{tY zo{#h`c_uKw{5>$DM$|uzn9=4B^EpYAFa4!1YJc%NfX1HhH-tXHEQp6CMo&pATi!Px z5- zBOFS5iTrtM7x~%ku;b&uGpIVaI!LOK*YS zTNOOxK%;Ij4!s2thqCO{Eybshx84RWYUuXn0^qJ0s2gBY>N?}r#ke*2%R=P&8{_(r zJbx39J_2s$irxA0#v)6*Wdnd+qoAR$t0}t8< zqDnLNIaUX_?+)@h=*AzMmB6;gWj%#HLjkK(r#P;ImPS5fJU1E&Jopac)5PIV7UlW< zJ`;y6hlAhsCj2OmPv~~AA8>aG^xKU5!J@z;si3FPztb)9Fs@LAWZy{)W$Pbmg7KCB zy?RU3({Vlo_US`BHRIOph}#;Be}4<~STY6vpj1!rcy=K^HgmoXIp*tb<6(zL zJ!JYY%6F5ARqK-nb-pjh+eH?xHtwy3`csg4K9Cy_Hm|G&^5qn7&2dg7i6eO8d?_F|5g&o!YM$ny_hU|eD5*AvP&TS`0d zd>%8d4BQ{E>Z9LMlpnc<{CsZ$t6zD3W-V})9`pE1%8z3`j5wZ?EPoLFMuK24dDm_b zaNi>2mnXJGuWEx&#YLcW1shyvQ4myszq(}2I31f-2Cp5uWiRmyb- zxUW9q#OxclzYRQ81GuSIpL1W%WnXwon*@4QeFpULj7R-!LwwCW@}I;y{2K8sjGurb ze%7&m1{&tpl9IN%rDDDHd=5>jGX960L%+dY@Jrv6kdM;-A%3UEiO9zpJVz&lD6 z=mS0d>5&&dvENd>PWL$O1D?H(eqA#VfdR^AmwCi~4nMM@u||3jf4m0#(PM~Y{8r9) znhqZS7}%{d#p&Z~ZPkgsbD0cjK<)__R6TfgDxOEEteMr0<_c1)V5GR$X&q7`&s#LIB zBJnl64hp}E$Q(?bEPd%;$NQn4!oWRu5dWgKZdWn^SA&7Wn@VM4{q*tqB@+(^8Hd&b zOaFZ~#?QVc9PgC$8n3Q@Dz%;ScwjlkC1ScQIR*K67TCWY@wa$?B%TfO9~1951$w&p z9*WUtE$eWQb=cr-z9#=@*sYk%({}qhHSr6OOi6nVmUOWF<-UjrH}iY8E9`d}{52Oe zYSz2JgNIQ+;eDmb4+l>q72-A(`Kt{9?ux;}QS#Jheem$P9rPl0`xo*)o+Is|{NS0u zL;b*Cm-s2hXRIC~)5PZ`>hDeg=3V z9DcS2dPeOJ%}Xd}+GUX)goCP_vUjh#~=7o<~|Kn$o z?>#ABihd6shTktT9)9F?uB#*Byg%hf)nUIOc)TU?uO|X`InH@*{~z$!=kUvB@^3l- z`zQ}w_z`V`*LH&SVroC-9B*xkNgjLVeH?Z&s_u^&t059ihjM0 z_eQ<4fYkc%xktru&Exfv`dADiZ5-`crY_{8M=ck7I@yW!DjtPB zt5SaRR*tJ@UX7T%^W_H~cYN3HH1jd;xUUgl+C+5)bk$V z%EZGuafEFLZ!_eVTt4e|X%z6FJBpida$s^|dJip7td8`up_5Tb_qKctY}QpWU!pQ0nD2 z;O;3HQ3vwauQS`@jX#EDEB0HVIOIKl!aj!QVk6*j3;wD?`3?c#is$M}80$7z3~TfI z7QjBHehxSa`M^Z@r3>X3j)%Oz2IOB;&kKzI;2((pW|S|t2|PZYvjnY_8X}3K{pfhF z?d@M7?@0^4^kdvUnnxb)KQ|!%n#1Io06k@!MYrywfd_ei1l2>n>oFg=%kf^oWFK(< zM;KQc^0eASo?A)hoy{KV!*j0sP@nJ?$a|hbz8vukFM(UjF`r`gl=HjHIwTPl$;7#L zHuV__o;u`tcQ^WVUq`%kBVM2^aEsR$jff|#q5fQ-G$#IV7UW&ek*B7fyi31$9Dd3B z3Ouou&>yQ2Ip1I)a2L-rSwVhxJK)h(u;()39hon&de9%$NvRoJSH$_8*aXTqHFb>7 zjbj#;^T`<}u8fEiev$Oi ztthXjqQAp#Chz)x1D=>;e!0)k=pv!2{f;dP~(*Og{nk!u)u+__QTYE#dzOJZEU zI?%`TyV?!ha|U+K#C!?LKkadO|AnNKLER?tx+%OE_2=6Zz)$2uzrKyRG|&sM%Jnty zU~|-^7Q|0~4SrW<G#Gv+u4zE(BJhsGf? z&HA(RDd6G%VSQrOnWO3f_tr&(M9E*8bu2vI(#RCzLqdFm4(m4c1n}s1 z#JTaySzgz;|AzfzX&`^A2JOjnlUk8KVFmEOHTcEEVc(&^RThlP#MSKQ>~{+C9Z{!L zYEi(}GkgsCf5&(mupfAw=h1CszxzGF{arCG^sZEoQs~$7E|>>Xe(_z%M|j=^My*sM zKKJ69hWs_-3b1bYSvL&NH$}k{NP~X2kw5i!=-1`=?$s3Lm*V@0nB|o^Ukvgg$Maz2 zCV}7WO&UMNe+TaU0~M0D*;E1Ut9u>$>ht=8Kge@$U{$4xQ%{vSL2GXE_sm|%NBR91 zGcUhU9Q_7)USds-w{H*Xc@`e8&bVq<5j^2muzxAa@8!NtY!K=pqC%-%D8Cbo?9t_r<(zOUyr2mw)H%4 zH_s(N^;YVOWZ;SI2EU|(Ztp#Ue5f?=n(Q}I7RdWY!0%%ypE^D8KnviX65qr1L*#GF zgAyLPrDgpI&w~DcQhvY<@c5n=&+w0>>-i)(^od2_m(}EXF80*tbM|bakvE73 z$3Wh@8yPC*(rv9w9CjS~9Q*nI-hiGF7c#UY<(s#Fyr&N8YIWkS)4;7CERC4=nx_{9 z9_KkiCQlzV1n%c|MvOg!OUN??cFsorL@)i~_%6Uju76ZMjLY!962sc#3S5F8jo(u} zrTvG)ZhgsLC;&WK81i+99|{BaSHn7_5ApwE9M=Zq=>_65sAt%5uJW*)kPkTaJ#Kl} zFXuaB=VkPZhkikH$#aMmsSnQsxy63t^4yf|_r;@<`n__mWO7&I9VOl9X5wM748*pN zHy0}EVE#TD1@7*F>)8y9!y)6?Z)w=44CV95gQ+%8v?$_XJmqr?0PcEZ-X;_unKB&sD%EtymKS#+^ z?Jo5h3Vt`})y3A}2_<4&Sy)%AeZhYD{-BB5M%-tJ^ZhAUNvTt;KQY#yPUKIN8!NW{ z!G7?p@$a%Pfrt6s5W`<(82Sx6&gD4D{WLG%&ob+Q=T{)_iNOM2&@Zbb0PKD}uTfVI zQJ=+g(XYEY@~$-TO%JKhBh)27?a=ZVdA>(pbV!9is5=69zy%A`B~QPVz#}~W*3{MI z+lW^NkD1>GNWj>7df$Qm6UlQ?2BQ7m2s1(<;sp{QAKQg^m`%LL9?J9mCQ~0q-GsdI z!0+f?sr2`O`@RP*X4h@ncfeg0q0egC^WTi%_wYWl(Lco&_FDsbntlg115fC4dWt+3 zcR@bB8}hjrpSL?g-dhFoaq4q@2k@BV`*&X`@Wl3_zV)R1uA|gHXM#qS5--K|n5SDV zjbx=hD@Kt&M^ZnoXZ;EP3w?Hyr@$u2`(uzdab8sln(Z$)zqebS@-LVd!KGLy94CH@ z@e^@;e_^mJXl?Xb^0Nh^;<84X&0_&dT zNBo=nQ<*1`zYgS0JthpnuGBLN z_aR+_z`TS!H>i)xq0gHuz~lZL_N-6&U%1}$bG>Kcw%_}-1K-<{FxIV9ALt+B^F?Eb z-&hNI-zo4{A^wd7o*joS$9s{Rm-pAe-! zbrQ6s@z=~I9IxYik6RBd>wx-W;`YgF-~oQ830L=WUs4K`E$`n9 zznJwvv*(ak+>fe8{p)g_6Db6SI>hJ91ds0?M%0#g`dZ+L?uLa;J^v~%f*pvj{Q!6{KlJ~Y_;Fd@*gUREX*B{irIucz z9j+q|m!`xYoDV_XyC3mp>dy(8Zfu_5V(?TU|Dt-pt$N5`D+PWrv^DrWgR^R27v-z8 zV!z#he@(oj$-CspBMB$n>RbcA?+Ng)XrD#-!J~Mtnu)9Rb0O~@5BSICxuK9ww(h@p?_84-b276{NCjR;*}Z#j}M0Z*AuUw2;6fOmYGRBui2N*gm^Y~ zE8QIO)*|qj`RfMjSkO_&7WtsRw|F+qoR{%4o&169;5YT{@O|p@Eh6v|^{KEBJi*pE zHDczqKVL%L=eRF6OC}oIJ|V|*Xuo%-zk;az$O3tvaXREx7ua(p`+Xvg(D9rP^<*LO zaVdd&ewM_M_CE2EiNtw-d^_>!$ACxUmPVQpZ#W&e|sBaR+x|QQ|gK?fWQaKgyZ`MK2An!XEzl@Ls z)OvP+{wALHav#a!d2R+DBY~vj=NrTi{z{%#k#1}}+6VCfYb&*WHt_JUq;{((<;#|j z@i`?_ExA9{0J!fp*6m}UzG^a(daguVnSG}zj1w=<&opuJZ63(ScOtHykf+3E@JH@J zAL&lF!o1Ju9&hP?e+F2cd=ET6StE_p}{&?wR2U{|bK903&Kl`A>cV?$3^S z*++aVK$Fw<>$Bk+6jLK7(qx^>$C`Osy^PXny7EWkebzKKmVLUEOT z0(gA00m{b~3o$^>ou%TpTT z{hjg|w*&XrK)kggo>MM(ZTZlA%p=u^f5E(PIr74OjmwtzE93>LmQo$1I~#X*1YU`T zn8rMEJM!r4Ajn(o(Qj`2nX0xM`nXRc9=s`_(9UmZx3!iAdQ#7HN5B)UFC9r+pAx?) zxgYXjz9(B2u&S~Q@~*Y8r>R#5ek1-X;`V>k|7w5WfvWJ-QS#JmN<0JPM-ZRJd=KzB z>gL4%kV0+S$Hnu_#C^IQz6(4u4m`bxFXnzr z`VrV6GTPF}BI3nGO#3kn3~%BmaWnAfZ{RWcbzao4<*ludFGZfZ)xd9!f<8-$pX2^R zh~JIH=wx4746Avri=m`>DSw6W?`wj7>k=>X81fzkdATgrEyX72k*gFMHq1m!0m1b>L%Gewn?{eM}e+WH4a!47i!K({iV0}pfF z^pNL4YT)r}=rJGV5B>=}Rsb0^h4L9$mx48t+F>B~0isot=KEW`p0fBHjv3c06DO>D z-N;{gAM6m#g!PYvjc(s@ooVI7yi=R_>Ja3;&yv>F%srsL_cA;yWn8!6dw{!mo;;#L zzPl}XsqOXxGv-$EulyZ&G#Tt*^gre#{j5wJ< zd36!`2ht#(D-z$c19;f6uf8t^RE*_7QkIWw7$uPdrC4;L)_edlG+t9{8ix5D#sM|Jn_>y9auNR&t&*_lI3+lEzP$ zbdV1=kO4~TL!L*wIWEV(*?a#2k8mFb-k0a`=*Q4d_%XmZJj{3wy^DDEkiYCh^y^)T zI5|l9{tCE{&mjz>e4pgNqxOZrG?Pcoeg_^}iFv0D<)3B+?&ADz^!$%@h`tFsm~)TQ ziJ|Pgh&jH~_cQB5WF7jgLjFCyAs_q^7KWFVnpqjRhx-!p7>RCOWgt559z(tkd45a| z+|Td4NV@4(>N4~X^IVP@#6Oq}d7opw)U+Y+&=BOclrP!N9LRSd z&$Km^KLXsWt7rBD9@>a_$SD4^+uz&|w}zt9q8GVePrJn&^T-y~+ZgMuY)k5vp6iof zec0_Yz^dXj^c&oS`h(d=sSZVn^FD}#fo``f;1=(PmLdNAGT`3z7*~DbKF$|$N4|eT zdqy4h+Gwa^L$!U_v*90#T?Hk{4NUEeo_2>dJ*=!x*T!FIc5iW&T}O2h~s-4@BF}i z*CF0q)Ti<+=&v5jL@y1aR_aW1$j4qI6GyP$xut+dJ;*N;KNao)4^BpWiWzmgvj(`| z@&51i4}p96o(Q}k-*w{tTOj+WvbGKa(l{?r*>YaZ4lBi1!x%+w$>_@VnfG z)~)Rk=;QBi>3{#scurd%xc7~$8gHe4Dz#uKc>E!F#MGIpTo<|dUA$S8ACU<8AfIQe zLj2qb;4z+e{fhVmQP0-X&HEr0@y?>KjYrdAT`@Toev$Ea$a{WAMUrKJZl34B!;_I0 z#tyT%&*|s)Hz$z)ChZyD2YaFysRPH*uj2JlNy=}Mz_9fROo#kc;^nw5^6^|3laB|u zF7iD@KFT(TZg1D4{a+&J}{^DcE`$|E6KXH$QnXQlS6?(+gy?j4H z25951YVcQG%G-~TYrHD-$Es4E!)!@>Kk{ok<;%(gqPBc6gnkbb|3m^q;|G$;XOIgw z8;|pQ-!&<}UjoC%L#*4zKIu6hxgGP-z8^W>k;vcKjL(A=z~kog52MNd&uRAi+S14_ z+F2EYyw9=Tj(oPWE6czvu? zO&(>DgthJ9b$*Y7_xn6kG2T1mKO>6S^8SyZr#mHnar-3jNLLA9XeBK)WK7D zHu$57h|fBdZ*m5>`#spxN4!Nt@Q1RZE_Ee7rzz!UA`YeO=vL%Y$Ok`#{QuYOJ&^bE zI@;JLrw6#F2kPW8@>Hk4;`Eo%Gh<2cyLirjXUflM0G<%f5i;?!k@Izo^L2H~UpNmQ z{~*}kV?*qO;o~j2ZpF596$`ap8Jm7d=dkFUfqft~0vmbb@ zE_l={#LuVX`D!NmwFV}wCu{$rKCMx2jXh`ZIkW)3M``l?r*YWVjqv?$5BVp^0?!_o zuND|gJ^c3v;I7XR4<_$^ksHvqe2C}9_a{%?v%n)cVYi*cdvaajbF3>eKZd-;=O?8s z==Rn}>^F>fFm*nk6h^z>sAIpklZ2o4%L|MY)==u?H1NAW!+OT}t3e3z-o3DAefB$i z6Y#j>eZwmKz!T>877I|mLr>tbBJg|V6!=97-gk(e#)x8+ubvw6o_o;H)T<{A$o~%V zr3K}mALqF4ppHExzW7b{TMqoj&Vl^Ey`SgOlE&}q0LP`Ec@6S-uFww0;oo7zr;P$0 z;PZ+`pG4ZndmDD^K>0q@U%d^Udc?0BhCZP<)??xh-HJ#@w!gfN^=(8FS^KdU{Qf`k zY{(8gz9WZ577^dWc(8abuBi|I$^O6noPT6N6D?`{KBpFVe1~CqGe3?B0QVQgxEhlG z)|a#=zaw^w^WeF0kazQY1m!5dbSdNmj^`LVab0JngMUrDy|@h?Pd%Avq-CRh+Av={ zj(n-O4)Vb>(6h1WcR27!df=^yuWk%|l;eI!1~IQ~XE)a^rfv+*4?KP%>HMQS`+2E+-XNS;G}Lj4`zH@wRI{9(pn z84OD$lLXZ9+z5GU{1S)*_tZwd!^?8sR1CPqbHL2F!VhSlcVL<3v_tA5z=J#|+}OD& z>tx^~#Pb^JQ%C;X*2m*Ghxscpi;c&Y!~XwYf4DyJBtyTw$up4g8Rq#{h3LnHjH|fg zdAXj9pD5!8vzUCZc`W-afjDVS{sY|S@$&s^W9Nd6sQ(zOEBaD?@h7lD%m-#ue=>7@ z9)1tF$*&){KjwCvir#srGK-FEC#eXTO#IL%$Z!nK?*&ND%VwTo^CBpw#2VkazRBqXv{eHWTvU`VBuUCMuS0=SRoic}>2s3Le=?J%O<#H;askUtOd`Udd>o52%(0RCpguRa7G zE`q!>c%cH|_vVB>zoUF|KY6%cbd-43Lcl$IKhf~~bDetbNBx;d`5n9twYWe33Gr1! zARl=X`eRm7YSc99$$iL$lrPM>8gg8x@SY?>xpG-+3$+g}kfP+nRX+ z`BN^2KB3X@ubBr6{Q=ya8+BlE3j9I0?}2-YC1~Jx^6cO`Khg&Cnz&WBt^Lujy9z3s zlvCaEe+xXG4*D3sugM48I)u2DGOJsS2f+R5;KwI`RsQMFCp-f2wwCy_Nx-dsz`GNF z%5`9X-|-wwe6)mtu7?ZJZ#m*QHh?Ek8yRH$l3ePsmghN;7Uf@dq@J}hXhh1RZq0a| z63C2rHvKlQ2YGi*WR^#G?N*rmT6L24n{y}R!;bkSIqSUlH1w|u8nr`~TehC@ElJ1K zybHz^;kikuPV#&K<2H~3@mYgB+gj2No#Ef%#D8B2{>XO3p{chyNd@#draQ7LFP?&Wtkki|0p zvhG>DE--#?kca%?%$ng9d5YZUcNob=gzFraW1X|5DR^RzbpXEm#8cC9|QjuWxplI0r!`J{VNh*U61{yK%UC9sM~LAfQPds9q+Dt z9M?eD-%a_!+&^?X&SM-q0rEb_e&$ZDLt=bBAET4!BKo4=5YMZGw(>kxM&N!w;>7g( z&S>z*@f75qO63OMV3&>50lCZqn@< z*S+Dtktw|?@8h~LxW1r9MiM{Gdaklzq=SiPOaOm~_Xj2XbUR)ic=QGQ*qZo}2=MqJ z=(&%0`rh_+YgQF_&{!jG254&Tw*)z_eN6e4xQ%!-UO)ObVjeX9y|oAY0mr^&R@Q;=Rm?Acr2x@;BOo8mh;g+b z|DOT$t1f}x%y;1@karJ-Wj0X$oo|498HbgK-(Lov$QsO3$64PF(#~-{r&pEoZ+O8I zcf8km_67T$iGKT2-ggIhs3G#j7GiLp;yK@GKq) z+{f=kbfkP0=5>I1ZR)^cu1^%#C&mubRzpwESFp2*laW1u`*}WIJH|su=1=>*{vJHf zAtn3WzYY2X0*I5}Y0oyyJD2}mEotmi>jL;)LoqMFN=lVZK|5T9Ju!PK)m;8s$3LI1 zp2>cPHU%C}^Oi;$5`SOnfGuxbmW?lI?-8FHg1p!9y}7F!froyA9cEL0f)q5H$NvO* zQI~euDuJi@`F+^ql)udQ4}6hBBNd2WO9g$R+c2&o#P1XakLMZU-{jX<3nB03chfwS zfBpvKBM(qFz$WK@B!j$n9}pk)yvO=xy#xI-5Ff_8i#qOuZ1@@cu76O+%(#v{1Ak~J z>Ul@%^K=yC-JEw?5sym(YWrM=JxdYq`x3avaZc=S^p~ISQI@BCYpye09kG(^Mcm_| zo}JTa#H=&x^dtWo*x$Ujo~a}4&;5#vtTS1-J`BB!I$-9nnUx_Q=6MKt*zd8-zyrfk zKM{3GT{r~XcMkE7*+;2F)?3#J$R8n3dr{A}Pk0#o4sR+oaXolqe4Z13rPPZ)z&(?5 zYX&I`x($0u`3CR{vPmiXSToJPAN+OM@36A88^1R$Xd_7h!dk{eGhQA!@q|%1NS@jE0+3! zyK2KD)o7oE)rp^x30Kvtd@@B%UZ{iq-DB0$QrzWqQy238_| zJ|us3Ni=(0k#_K47vjTM|6{EGQ-~**f@90O9rqI(4hF9HJZB@yulpYS{%+!EX)99V z7t7W`K5`cJG;tV`1(MD0DgycUA+FwO06g3i_L0j*-Ij5@itF&>lt1_b`VFQBkEFA1 z(docF0o3_w#J?O1{(u|$lp@|^2yp)q*z+3k;7#i3f&CGUk{7eUA9C#Hf5vrYjPIwT z7dh9Fb!(aOHM;R^32lz&Q3h*M&ezt{wx7;^>{Y<`MplL zEY%LWDM$RtG2rgG1vDbly>1mdfG3a(<1+g&HBUj_$_%@i zdN?NlJW>>vZ%Lk^^jCoXGJed=dT1SieHKvu!cFw+I*7PJFY^2^ufO6MVF%g1*6lLy zBSel$0!kaFf68awXg9S1@}{o3seg>;w;25!f5>qaM;(*PH{Din-QpjBcsADy`$t3G zR}kZ^!+xjKCjKpW5{Xw}zsg}ZUoptLGeaIf-buL>UTa8&+V>~|^Gu~DvL&3Nk`ru-c+!~06v#|Yc`6@NFaX2?&!wBY;_tqdH! z$aev_|Dd@4P?G%~;eLLQFA`NDet$grRn6evT(oo8tY_YZf6aW<`)laqS%dMun-WBq z<%W*d^A_US_~m>J;31x4Y4YyYI`Fv9fxkHQnZ@;$e<1ugCk1|yLh7x3A9fw@!?Iho zpagjQJl|WwShp6k(6#jm@_Ne5YjqfJ-nU@+X_T*&i+0!q{f`hY(-63u&#Uw$K8E?| z<#&rres$n_$?sS%9e)lU|00a5AMLzz9`I--%$xnmUzT;r_W>f%@b_7TafNrnZfz-l zmUYj&#L|fI%bJsrkEB6_H=ulu+U)l`L{5-+bP#aYYvi4Y^9g;x6U~YGIg;{WxgfIb z?0by$!*k-3_W=)NL4~PLyb>if_lzCeReV7-MsD&&WGPiGp|csK)>-s_zS;PYGIUixQTdxca+M_`t0hD z{7plBavlUvup#U=kobr{fqU{}9)C*w+r{9w_?<6|Lf*rbgtGk`7y?b=l<&-Sxc_gg z!)p>h8V67G74-BHAHEqpe#d)r#hC9F&$0JWemQYhBJ`K(L$}SWw}EExi=?@3g}ARC zTaG_9Eu9OIVJcDaJ~p<2mU$nn_tntnJg{nfw-E- zI_cX0J*!gwx0#TS@!aWODPLh6?f)aT1z0u)oi~aW5?e<88o8;FjY$bfPT4Y`;h6z&>@T=l<5fJv@J}Iq^UPxH#Hgh@UHzm#A@I&B%!ie)L zl#lR!iktiP*=UDEu4h7y@9-{^@V4z>Ey6sD(J8fD%9@SGR|Bs^{-)mm_dSN+Q!udl ztpFa~0zFMV`C=4#_)*%y~9E4*FLhUftyH zvI3f60eMP40gtCV6Cx6LnkoW(MIKN3eOEKV{bg)lP;-glBC;Bhy^BGP6(|U1SLnVNv zNjT|N>@s+Q8BoWX5Z@xd)q3_tz?Ou#Qb)-%&eDj9^H-xO{~qGm)Q2U*fQSB)u}K@M zf6D&GFTnjpkwM08lTU%)n+*1!MEM31Hnu*ljj&q{;_FzKLOkbxJMo@pA@8jTyWJ(e zX({-Fe2&hHtEvQy&F{XB_(f-v>PYb{;J$ zcoNeIF}im{Y0J)S(}5dZCnPnAEk z`}MCWpbELr zu2KNZ{Ck{r&s7llZunED0#7)GenmaqE|_(l<9_SkU(yczzF|emPvG@qyf-`|%Maal zZ-f3Z$N8}<%YesS0r79_(4+{*#peBY@E2#l7sVa6o#Q_vu4>Xg$MysF zPedMNBEEbYa2MYbgjJRL;~(^^ULmebK2}=22 z3g%yApHc&A0S|9S{2M(#J_9_IF+nr?$zM?Bg}0SU-FG~Xcl{Ie>+gyPGueY#M-Ft1yqyo#~I0NDVv!PP`$gie=e|Sm|JzyPh@tjzrXZDHEU-3J1mDul5uA|(1F5UR6lm~jo zJAuLAg&za=dofMceo2q`tWW;28z3LOg7}Eo@vY@i#!EJw_P@2id zgS3C#VgGqtKY0IwU(EgGJZ3*!Acsub5V)-~{?qI71GmdKlcud^B-wn8LI+({nT#fi1B2HsR^I@j}FuFo4#{=ixASalGG zgNb+inml_^A*)l*l%jxbw^#|(b5w8nZXNeUBR3&$?h|$U8S?RXe$D(D%BxBz8{;-l zl+XQo*>8+-r5tf}X(V_;S>a!qMs+LX0Ul-iAY0}B=I`K-|BLxz94C_Q!y)fZ3m%zX zb=y`Rc(@_ruoYnS&U)aUDCA2KA0r*v`iDEg4vmPfW&ID|gnv5{Z$B3DG5f$GX{gdl zHIu@k?eGUGjHv@#ngNfmfq&aF9_D<7ae1#JLsKP32X9dyj}Q8k1FTwK0*`Ak3}CLC zK9oSU`wj8DeN*4^RENBG8tkx@Jipx|9zh-GM10kJ;Qr|tm$CoyJ>U=igt}_@?PGK7 zeih$CDMp^=tAP8sUs|7d1q(c}eXwU8;@`Ib9&U{M{fYRa!oUNL_a=tUp+4_n-Z@FX zTg*q-Rq&hrmYYR5-hW}ww3P3_b))+cJop*=T{H>u?s~98UE&i;0k^uqkH+uE$sc_Q z{x+1~ydHY`sv~pdGDNr9=fM*n06!Z4UJ^pvp4K_=m^kcN7P#`EUpM)S`GCiY0*?{@ zr7rt*yoZ=(FXTgf4$Ab~sx5HWk4R`)Zs|5ne%kuP_}q(3f4UuC4u1bt*gqff+}w8x zbKhwp@qfeQcf9x4gX`O1N5s`}%HO`he&2w7QZg@6tpsjug3myuD@vj|>IBiOIT^f;T2>RRrzsK=?pWNFZuRel&{nU^jLY_!PWau{XET&(={I0!(t8P<KqlT<$Qx5W9L!cg*b7DMTH?u&V? zJ@Hi2fh)d`P>*=WT)?BeKNTbX=mX#pet&H&@%-kx=6OMln0RRa6#7I*!p=WXeht^> zp@OJ;4T%>l4*3|rM<(S+x5e9m`)VT|S`jbR7zJmLH))Y%4Ql@lEb_sf_&hU%zyS<#Y#}z6M`^RawKoj6$$G%zdF~B3-KQwVN zzcO(j>~HM$u{^k9^IJT>Wghiu!}VJ@GvdeOsm1$=zWSM|IR3Nm1;_g=Xj>nx(_azUD6sL+6Zp~i_bBb}+6upy zAkR-+KL_}o$|A%M{seg|Cp=~BaC{*8^}Q5BNy|q0X0oi+{tCf9l0Lf4e*iq10d=4u z@!h=d;Q1fc6;eiYOU?QddxAVNb@dtdvEAn_Er)27@3t@>edl2xnO1bmPCxnvKp$E5 z=+>9_BZ5s4pAWe{?1t-vn;) zeg6pYf5Z_szt8dB>%=JVXd}euJ?eAvH{uKPYX&i+ZZ1FZG8pd&;@65p|43o@SJGU! zO&;K0erN4n;`Zmy^muuWF4&Yh!u=&rI&rA91C*cBmHqPkYEw6|od-{#A0n_EztO%Cx9k?zYe;Is@y3>cl5}3f$Wo_;TWjTvx>N1Aj<7 zdI|iobjaUo#Bc8hkIDuA!fSFa?oi-<$N8)8R{&4o8_aY&$#Zuj<@r5R2`Am!h429MG6xD3#i_gzFqYDNAn z=012L>c#@%{kdP~c0AXVjdAFET~JHTp?u&1`2Bo;!Q|bapF{r;zq5vHlJD@Yq`c#O z&y+H7TTky@jLYnU)nnWSlOt}Yvftv}z#sIX!kd1taJ&(Y*W~GbNhq5?%KHU~I;9di z0ap#t@B6f8vP9s)<;WljC*7V+1|H)%6?LdjMech{L0K);^+@VluGd-#5V_j_D7Ng32F*B;0R9p_};j%H4fvF+qk;fpFg(a$Io@wSCrpPJ6k!xvxfL@Tt9?fAb-s|VGQd-&`}@$G0$&Y z&a4??|HV50v>?VCKZSmc zd}A5DJ>HlPkyeE~cchHlxVsN<XOOR zu`9^`1@QWmA3vD#ti#2LU+e|_y+4S9q?I6^_Zj3B_qWZwUnLFj$j`9kb?W&u{pEM~ zYgrcXN2kL+n3a@T`!;w&g ze`3=3`E(fY|KsYq7@juLz+? zlM?$-U4%m+K|x^dJc>K8>OY{vO3&gUz<^U&T~v?uFN;Co!>%sgfu_VHY6j8^%M z%>%SIIU3{Q6Y77!>ye=AzTx`A;D^6;OpUNssn=v8Huh(Pe{#~#X&!?gVcsZ1J9F_m zQ9TF$OW2t5_e;=;^8H!-R;kwefrqyjHoT!3z+d?u^!<&nE*ek!Utd9;{jkTz?XauB zW3J~b=8gyMtpa{k$g5@3sXtK`BvPIxKIw1pL$2rXd;##iFJW9un3=Np0{9NUvtaGX zx53(v5x185XG#N4x}N(Qxs3eFspD-c``yRyF~Li6-pCN}V^70BWvTCJ06ee&9)6j) ze-Z5TEP@|o+A<|$Gw>r>C9z1c>&afV=m)-6Zs*zatAH!lbL0CZ%ygVMd@mSLEyvr^ zKhaD;kR{~Yq&leA%X6UW9qUz&`Ps(LY6(kiXJ9f$qRqp{GlL&*jQr3VGO7yK zIX-^p%i8nLzt9QuKEBOYd8PsPbVIwkQK!*q;K2owV5KZ%yGl+(y@}s2UZnY^?B;yr zKa$P-EXxB^CS8P1C?EQLHel5}Kzqu;|0jtze3Ab72kn|c{O*U~CwZPy2jUwRP=5~W zxBmH(<167BUrjcG@5_uHhqbal5u#2h=-4=4$#_oi{cBjO)Z(e&dtJ}56`L$O;-?OBEL98Ff$_0z&doQAY zpOD`}0#f72&RGmng7}Q}zAt3a_*|JRFHPxx zl=|twZ%#bTXW+-~As_mPk1hh-$Ma&N+e_`;!04U*JcIBSM}@iwg3LV!h9!Uu<6Oa~k~6F|;?30sOkWj_~t30@lj= zl`lgldK4MM#&f;1)V~S~ZU3I^3VrVzxYD%!n_&Dq{4U-W`XSeB>W@wxKU3^=(>TQW zeexf2z7Fub(@ewzoG)TLXL~jAuVz9&?3(ZDECe2#hk9+k&FUk58SVXoI{kTl=iLN9 zTYGl#I^CNc>lW*uxwGJhSQ_N3SE)0b&+*3j9uu;JJeML1IX%8S{C+D&z2sY7zx!O* z^>sIaue`|r@U~JH7@vMud|su00tH}aN!nAZEc@#w#=G@rR#_OEyutSh?KqlEe$d4q zb`tjZav*Z9Qvbi}z=ItSZ+1St`Y!9`dtr!b`99TS@Z&Qv?xs>_LP78o8)4@>;(0>A zgGbRWNo%IG9}XRl>$+xa1@J?6pmUr$br^?!e&6AB;yq75C+RwO`tL)~QA-`eM3l;Y zDfhL!e4b|)b>5?$P8@a)CH@W9MPYuo$oAv=TtCEJ^L~!es5i{_2oR-8WsTC$KEy*F z>Zkh_c%XLMPA}i1w|L1vfctnK+^%OTt^w}wdwD+U zoZkaH{1uoTh;Miv_4@XrUYnPWb6j}Sp`{WArmUO*ouodnSBj0>&uqQC-|92Jm35ai z-`LOR_Mao3uCs_hDHX=S}E$zIDdhL9AYY_Nh-aobTV_};Qk0T$- z$aHK6hSOcwis-J<7u#|E<*HrSOa3t7kEyQ`qlSn1?-g;0JhHsgvAi zP_A=*3s$1eE3kY9>z$ew_4@c-r+0|oSqVH@8u_FJ?cZ$IA+B?1OFpDOS0g^fEvBUX z5O~7%9RBr5_HUC{nL-h?}m2SIB)qS{1YmGdA2v(+f1fEGmiLOY&(9daR0>jAL_OKTp%}@4( z{sG$4i1{$I3jO;R@lL$H@K1yXb`ejhjCvEh(6jQRDSzJr9xR5uw43hR}O;=hhVy}p+)9Z-d{qkza0; zzAnqJLW5cwB*O8sjr)p$oQSJ1`BO(iCzu2Jjfv+y0(-ot9D@`kzJl=|cb#XOpZB#B zu5**lwSkW6hU&_>pNB?I;P{!}Vb|+A~!GKrLE(K7OmzDk124Llt4?kK{iUqyA&W&$HBTCka&Z1H2DjnEbKFfhV>) z2Eo5_zj7OJ&swZ_OJ~F%RGEu<)nxR0FTm<^1%7l7;v7*V=VH|dKUfy+wc~M)-00Ev zgn6#cR_YXyfv<7Tmx!F~8Ssni8EEG((4R?uO`&Oia0C1^nfRBjsk17JL1YX<$c@e z3FP4~i2wTw_@O~L4YD~sezE@!>h(R1d1@2!U)V3+KhZCLQKz1r*NP&puzHd2#>zs= z#9>3&d64`yJy5T+5%DIs+f3;t15on=`a(d8OdqBcSP$I$2mIp$tV(?e{b&?+mLuL> zWVKE*1wB=f_&ZO4$Cja9v|6c_pRwK!9>Z)#e%}yqhv#KAB<@QG+|T0zc{co@}24^hVr_s&wqRVZVZUd)06!<*Dr}gKrTw~Gs!6;xJTMfnI+_=FoX@x0 zdB4~i;OcG6%k{|DkL7DWM0g+Hj-x6Z7hazKEM}Y1XgT=4J@BVpFST6_{ZL=%_e~3a z2adbo5%BG}yCr|9>-Fe07j#l&nlNQ(UGP1V;J4b0&)b)%Q=y3AO(4I{ zWY`mA{(+iO&v3mF(;t|Yf>9&qp}hgVQyY2Awrdi{snZk+Qk^Lii&Yn{X~j5`|-^_VvTJ>buOAg{9i2|E)xG42i#cZNeJ zc^m7r^2BSF1McN`tVw){7;OCirelzk#5c%9pz)CFeWF^t-U)L5umt(7rhxBz1O02q zg|86(xdVC6`nehNbHH_u(|4t5=M(thHR`Xt0o=)kyfKLQO=+OE(_0qtVEOlk0FUeg zzdQS-%SPaS*ZsB7G~nSasMpSGfy%(0I?$JC$dv2U@nu6x?@_uJ61o-U`0rxu&Q^sf$gC^ZvMv+d;fuj{OCF zv`(q!JHQY9i1m++hf$+YucsjTu`%sD$noWUh#o{1QYt^MUlJ?PzaNqREB%o8D#ai_ z!F}rBUDWIIBW`{4+nZmr-q&RUlJcVYSKf=23kTi5vHsA{M*NYi=QZx@gL$wM@h|s5 z$IEjO^JT;@Cdu&8{P-+*0NGg1t$Iv8uOF>`cMtR*66 z0^$QNlF$3v!-zNB13Ww%_Qv;X>=k=qF zpFxYkS4+^YIj{~W`V%SlsW^iQ1onRx-LYdxSJ+6DUyrN=Mo z4h0^69m;l{zg-5DZg2b^kdD+D*Z_F43Hos}>wS6%aQ{AxP%rr}jfI_Iejm+_3&nlK z#Af6TyZ&#U0>0N}kN*$g5q@6@QLR+sXW(%!kRlmS@ym~3PlC_Y+c@0w7<}~z`Aw!v zQ~n$SJh&yF`PtezZ69<(JTI#c=;|>0CCT`~Dn+h~Pk|rhbJVuqKdu7(a7p;T5p_;B zq&)|Km!v&s2LTUp|JL?PA(_Z@zXY4W{<`Eh_zU$a?lZuva-L!t@EzBE!^_NL{s!>d zZ`Ao%2By}Jxz^S3A<*$Z1OM3g?6M2EHyH{2tqt4SehW8Sem(&O%Qi8s(g->!>%z@6gM z)?mGh3IdPrgD0&&m#|+P*Lz8Ru1mc>SW=HVjtm4{Z{RD~`8DlXD8JXZ!*jaqe7gK^ z)axx;+$fBp&H~w}(dVZ6UC*sO>i1?|3VBitf@qQZWH@*4CsIajMho= zJn)9pSttFd_XE|imIjgO$&{ZYFf>2%4%*v|_?#&4DBsJrc|P4S+W9bbTzNZY<4=1Q!VIlkz;WBD@jrAgaL+cZuTImRU*-DO_{X(w4|D<^y^r{mWriu4s?r`l z{{Sz^^8inP2VDCA{|<$Y%7LEUO`XgVcgD^jI`&QCze$49xPLM{EW_56KO`|~+*<~I zcu2e`*9ks8hhyWg<>$2XSI02zdpZ?u{^a{U);}H7lfMyhVy`>e`hfd+4!>>h{nD`0 z;khDq-duDK{NNbOrkPyD|e2H8Zsp)^qQqaQ#AqeiJ^%s)W~ z{@gTN z*!g3DfqBN^_vR)O|G7Q* z-qVPG+h0p1jc7Za&tT_a^8JHRZ<6N{$gnl#k+@Ow!z00ePvTOS{}>O>4a9@bpmKe2 z27J#7^w+nN*K|3)9Jp_9YWqK#ihAR&_ig9A3OvC3%S#}m{#{9Z*L~qBC4j46VJEDT z`#z`Gu2Ir(DX&nc`*h+wXAGl8sh*!fC(3=f>g0F12)<$-v;CFnEAYK_(cX#VSL+Qt zavYY(WvMBp8CTJNF@9%|pYL_>{e#h86^OUr06cLYerrekSxMu%UxJgtZ%RCQ9C-9O z*fW#(uKK`ZPhq^|p*yo!w%uIl#Cg9!!pxKo^MNN^&!diM4&3Yd zF4E5Q^yg2gcOZ4P762YvkMSkx!jua^=mh!vjC7MJ+m3?ooOjI6wE?U2OM!=7-;-@O z6*{rb@TW|Frkol9Jo;ZY^YiD#*OUhC;khv#i5Iv5{UpEVE6WB`sxAi}aos0smw-feT)Hm;Ig zsl)SmY<`%v2X@AaW4-+%^}ENx4|l*gI-M53*pwf5bh1<=1*2HLyH^T2k*n~tjfaeq zz_s6eVc2iSY3@;2kNJDcK$h~f`B(OTm=B|_eCScoPkf60Izj%KRjgMZ$Sh?u@p4DV z-{u$uy`xkyag^!z=CG$R`9&GGLB_3Z*HmeU;pc)C#6a~ycE81noIwySA> z;Nf4eLO?XidnIoI_msoRWD5DYE26yto~vN}@ZbRWk!g-$)*!$2zu+hNeM#Hie~N$~ z;<~~^eo!_Rv_E6KPu(CLev#xpXXt(OBcf5>^ALkIKll#f&F1HVylzsD(Jr(?srm0f z-`f>PdDc643GG~yIu5%x06)GQEw%aZg^$1walK*l#xo~@s~0gYCfRn$M4;{TltI5s z7??6bhJ(hV?O?wQXHzCfz-T ze!If!H76t1SJK_4)Dedme-=lcwEbRUF7U`C_@@QyZJmXDo-YA!%ljtWXHL5InWu3- zB*^oH>reR{PtiTbBaO7 z#zTc~!H*5dVHD&t+?16+LO;U!vDacgnt1bBYC9lyCA01uDC%qVHZl#9>B*F;+&A;{xlNk~`ecBPr+NXyli_2^m-J8YAH=y` zZ?BaA)Ao2=@5SqF5RJ#$f^YMNXE)jvcfBXx=Y8Og>wK-uuL1Y)dnJ2ej{2)3aCH|R zv*W13Bh(w_K3*g8bBzQZ%APu|_A;(~B@kDe$ZsWqs_l>SesneBPci@adHw)KpRBuY zgP*K|{4kS#dvqIi25w=7vU$6{Oo&=P`g&b1?0EmvcPuaK+U2R6Gkj!1q(E{z%#x?2ZgmitWw+JL-)r!Mf-f+Sz^q zb!J1qDf$2X5Bw;fOSJ9X$M#0qUa8KMOP_)7$%c5ad29i%uT@=)ix~O;NC0TRDP9-b zdhhsvd)|TH(94on&q6=37naDf+?2c*sKa=(d2%7`_qooo&nf|?>-GGB9=G~8c0nh; z4ElGezxg}zS0S#7bG^~D1^7|dxow3<15f6KKO0jgo&@e|gm|<0D#IY)9^TJ7ME(a| zfd}8hN=AmcDZiD6Jz+ivo0t5Khr#!5hn=}H;1@q^qyC$SPyAM?&ni&oo+KP8y+Bt^ zdf?7Q*x8P_cOrCRwHPO~CmsD0T>#~!oPWu{rbvzS9{P5yZ1 z+W@~C+nIP4uAhTfkjEtKP02eI^(tORmnU9T9Hs3EZihY7iN7F!sPSl_)cula1?=%; zLEacf{#dT}B15HtQp&QwDsP02*Y!L@ydLe@f%ZnJ6XyChx&nA*;*Z`2KQIO3?l}`179v_cxI-FU9Jg{vYjJj(%@Se!Kdp*FPKmBF!=7 zK_=kdju=^TxoS$Tacr0VpsEykT)~t(MTy@+OYvKIPJ{a=fh5NJBjzjrIM@^AdkXli zoQJRzc=A6Whzj{m5Z9T>2@)7mCR1lK*F}o!B0CRWmc*swC-5!Ci)>?>GWc7zw?~Tk zIV158Y(Du5<3*+$Q?_!yF*K{N`Pr@ycgS?6_2b-s7(@Q2?*VtR!q44^ALeyO;04s% zoA|dg!H*6AA5o#y<+td6o?~YF>-uo;{r3^!*3P@D!4G!AxM)KCH*SL;s)qTcDcd`C zA8@q@?aG}Fe{ggmbdo*Lk6G#GcW6&=DrQn!Zy{cPMfhHfxZRZ8!=Mx6{S+Gy%NhTP z&1mUO+A~)IO#3tFdVfDL4LaeFI9y5}^RFBu!0RR--;1wJd|iL&#LB`y1=+50IiM5Z zd8Z}F|NeR4QP+E6x%bjP%Q22BkUv`jK-(FuggC)(m1=(sI*DbDVPZ7Nceol+XD1LD z=B8v{4Lorg{oV$!y89~dSYFsakht#{@K6@`O_pJ%9G8ZeIOKl&DB^#uq0S}f&mivS zI0}rzIC`D-bXW|2^h5BQkso9KI(IRS>^!@!G}`O%+|K`B7cs69#}QW*Ge9WUVfyEs zV*s1~%b4|vydU9uzu=##uqVG!EWgY61zL%UFmQa^~pb-l5^u)i_+#o9qX z_%_CogqbPd)B@kr3mNYX;!lV>`4JE6h|i^dyiaOdxEa>ZQA9BA5;WAc#r(e zv@_zebK^(QiEl`4=l4T_2PPptU#Cv-oX`*Oc~Pt?<=l++;D=K%j_#5_><9MC3y51u zv!F8tY(_~dcGgB4&;CE{ZkS7F!vn(o`E(+d7+PQJtItmHz>cQ$Wt^unG9 z&!MvGF7IyO{(>(U1!Q%l4pxM|rxE(AHue9od9^9*v~gII>mM~6>z{qh16|M3PG0AV z+f6y$5_shOEaqnk4^s+thCQ+T$N1;$#B) z5u-rP7m{w$xGD?(e@XtYBe8G)nrq+w-4Wn>|HgP(MSj5nu+zB#eQ}p5Z9W3-;rkSC z6L0<>bOOx~pB0G5%77nD4?n+5e8{)pN8UwTy-R#H^HtQ9ubPhrKkPcceeEphC(~m7 zwe#trjlk7_f=0O@{W+1>Yo5PhPj%MYaSr$a?n4I155?)9L9o+~yJ^>nk4`ZPJ;`r! z5O|Q^8xr@L(uC{4;1BuC&*z9Al0P)#wXi z;E{8PpXyw=C)WZ`9>+T81=_hL1MtvQjEI@k8M7YsCU3(MnT}2QR3>6=XLLR6KSKP= z4#2}Zk)MYX-|qt+55mu_iMJXD{g7)NTd4+cKkr}Ic>Y?NY2vvf;`wFT-+}8K?`X_W z-KalX0!i~jOC5utc6q-00r2GeXs^XrcLDBs1vOef%o_we$aAx8KHS`i{G8yQV!hv= z1Rkn|IO#>a#(nCHMZLBkv$cnRl6~N}z2tlM0C$QaUv(sYsUdVCF<2tgoGB+?XT775 zX9f_j#`S0P1L(IPK8^FTZzje|KjJ%O-J$&!K8_Kzo4EHe?D4q1JCK(B5@?Qo=}-Ro zI?zduft^1P|AgZx+y(xz^W6!1A9exqIigFR=PbnbZi4gdNmw4K2u?3A=%%GHCg zGx(8XezyIqKf7k)p*wW!{9Eoa@G!4`5k*ojuXm#FrWl=x=3n^^?^W=VJP**u!!vTB zr1g{CP-7+XA99}Ztwy`7e;dAfRhz}nIJH4*&hP3*WerSq$za9CtDgamI;d#`q)Lp4a`zLZA z?Xvz~`aSfO>-o1`^}tUQ1b@&|sNm)V;PF?{UO($S-3+*YJou7+P3gA@xR2-mV3bMT z{s#5NDkFX(>B0X#27Yuu+SQ9XH!lK@xX!(w*#Wrc65^qETIekHKtJyKKIQ`%P$qsR z!hSp6drJRmJn=WiU0%qj8h2Um0OY0R#Ft6HXnuSt+B=l^X|BVa-e{?8UzoCe6!@MO zP;X=MN6jKW9Jr0QBeXLz0eF!76Q7`6QGVC>Y2we91fKj!5{?u*UN%l4e;`I~1M(|$ z1@3QwmP**0a`pglHPtacUjwYxaK4V5MZd^0#+0`GsL$_aRw2HvG};y9b2Xib50rk^ ze)E5adEq$w>qqYMczGULCh~tO1pUZoXqS!i>dX&O*ZHxJvw-jI0KRmeDIH#+PG^kt zg2Wd|bF@9)@8E%7i1+Ia+&PDSFHF2uTIi_hScha_{z*!QYMl_jLmDT4l_XM)`&ME+ z{>5=L`3>mA`TTQJ%dY@D`WNh%ZFy7l>tM!jd_Jcv`F+X&Po#tX5aRuA5YGbpUm^aN z{GrwfikP4OCjR+k>bHcx9d}*1 z9uD()Z?r=ZBxHV*&cenpu36&4>P8%^4uvC^2o?7X~%`^k#m2lQKeZo{4+ z&#AWSz~9zDC%|)Z?07sP7f`0(zmbVvimmtdd%%-#0&hh9i^HIw`~wRAkB6z_U`Cii z{yM6pU|H8YK|{o7wEJl{=@sw_w>eyTfp)1 z(gf(otD|2e{7f0cJglCi&ci$2WxJN7ZddPzwEy#B=I<|4=g4UAeTAWK{ot$xo=5=i zO8!~)uiw?bPIvIbd(g9Al3$=I>QxKT-j|7=mxX~%oDCcp#r zvl!gwjWRodCl({F22wvF6OGpKxb`K+U_|7QIn~gY77g+zygnm!jzst@$92bj-e>odE9-a?l{Xb6^a zVEw$UDfj_?r?nn+@+_jxIE-tn^Q=6Oqjf^xI)(|Wl=4dA)ws{~{$00sfP49V5TaVC z$_e0p*K@6b_0(})|Mu$wJn=H}e>vJYh~qKoz!DoLamJ^^__X$4XZ(A{!~XKrS@s3= zPy6l^+PY>$xq<_cge5W9Q^25@J|pgehT&aKSF*$6v=a{lF+n%q7~}3 z<9E3#>j0gv&#EO<$&Ilr@AYmu*7v);>m4>8L35Uu`m?02uL-`jEh9OOBQ1=B*PrG&li zugDPCla2nYJ`8wZ$#aJId3x|C6$P#~f-lQ>Q*QFQBjP%D_xyeE!>)6;zTJs-#rgcC zy}lT{i+*#xM>**|+LHzTZ-;8tBMC@tzvm(n_88(f%K#5$f@k^=k97eat%dlRN_^%C z)En`n7(~*DDU$|(AM`Ttb*Q7Ok6$wX%Sd=ZGGWmCd( zLs{cqzBgy{bEz2dERNwJYbmvY`>3AtsMn685+bX0;t#=uwelTFKX8xhIjB7=Y0okE z)3)nUf7F}2j(*<`Gu6Gq;D;}x-y_7w-T?0KdvhC!f42*Gka0MT_|Y$*pBU>H#P<93 z2<_PgdzzA;t1$C0937^GCxA8Dv z#--K|4Tb$;o+(W?g0H%OKaM&*B*AKaU=8}EKJj&Rfh(T--Ie(DZq)A!e~u^qM@Ha2 zKDXJA_-UDNwSI6FJT}?ttOq}K2kos+d}kx@1Fq+no?8YyaS8K-ju-PIqC)QX z^&|chBBvGk?VAJl^V|mO&+j_{S6TBKrlfaM+RsM4kumU3TjH%`;?VZ^o<`i3Aim{m z;DJ~27-Sal8xM)|xnDc3zX<`4mxaC^7vFGS$Ug}FX+WK0o7k@2@N*~P88ZP7|C!4m zoj8sLaQzt`kN&#CIDBpf?dgYlWq6u$cr$e3W1ugWy{2?o1-|bj_%_c>m5$JUh~-N$ zJP8|9^zqIHAB=dG?lUF8c_(lZxScnLFg`tePR#n@l^>zwc@|8$Y%%2;^MGeKdfcvO zUWmi~SR>f;4EfD^0*}r`JS-p{uL9g#3geKqs*o zI&)d?)qK#2FGjxFLcHf_;K?<}c%KtLNk9AY!q3+J3YDNA=6S7M*uP`uK_^lZaV2RS zRYL7iC&d19+6{w=R^Kk)3`B!hYM2#cKi&w}NM67@CrX^J(Zb z+I5b2{22B5J>m|;=gWn*_J5rFhse@O4UYo%%}qVN${%9AA2~+B_De5bFGqgHxNArK z=^Uq#o~d>6kD@)f;D^@apZW}VEI0BbysA_>uD5;tp|gqpEXDlb3`m_Ho*N1~{d`W< z`t3u;mCu#8?{nP}<+{a=$B$&g(8OmUxp5;!%r@mT^O)b2$I3_o)O>XnaoB@#zKQdA zjNdJ?>*2fHCy#TV9HT?dz2~?HW`iXXex@9p1$zSN;ThRpGbL>q;6A?RZu_yqBjT4Z zFUT}%O7(TXJ%wROka(>)`=uT7iKItUZg9Ty@cBjwS5u16&tcc|z<0ibPH;qu;k`*a zC$vSqPFKte2dT4|`wwwGzk%KtfB%pC8EEhO#J|l0GwT2k@tjY)F1p0)otW!- z$0rF&$4|Hc@`knl7U!enWW>L0>zVTIVeq{h;pe{qtL2=JyfdL==jEG4sDB*x%WyMg ziqLeui7be>D#X2c=ubYsVaLUoqtxMdWQ1nQaB04=zZ^W-hdO_ig-+CUUd`K_uVdAa z-`bNufY+OTUT<3a|MSouKF4U+4=2u|-r#SD+oKsEH1cWi{jT>w%d7?N@SJw^no<*c z0gvy)%wqGWUlty^UET(WTicJbIgdv;k3XUPzg7f4QWJhyNW7Dc=V^%Ne#G-}-56Vk z{@qEu2k&1;-a-G`aZ!wTs4H;kR#To&hk9eD;h8b)m(2}$5C&1hhr38p#Cx$m|8#PdMdI;{BI^hwDab3^MJ>APGbScsF&E@SVqJ{J>siofFB=-xN1ziu{;>2^`ksTT86DD z<9I!#N@Lz!ogR2u&R>ZD+S`SE{W)^2<6DTlF_Qd#e?ULZ=SIXWrZl}lJOcgE^h53+ zpc6OXM&PCSr{T>cD;*Z_~Pw z&*yKYIi@tZ2fk_sJNFRZC5cGuME0ZJhs5WWr~WPEbJQ;92lD=1ur0=~^+VevbYcyW zf$jV<`VevM6IP-ABd+%X{GR*k#E1O>ew5!yvGFs_4|~GJ&|Y{?_SNSAkCwu^PL>Cz zjN`lz)CcKEd1U@oYSt*|2Y6mYYvP;vTvlir^esMM8}$7P5wZ5VrVs581(8qe_3T$C z$WL3;D7U13^PRv$xnSpN;&pZa_wpQ3>*wBMfhV`-GfZpGZs`uw?;X%z3#e0JC2;>? zc*e%t1CIA3$9o6zzfa=1)3vVW)ep$;jedVvg6NfVu*<<7#}yABF9csLK)rRSpZpeh zko#I_wNmkkz$5j*x8rx!Y~azczn5?8ACnT>|bDfr5mkDZlXg!c!QQOeMcZ3ERII zM^A|R&Oj&XK*vj+1;eTT7v_DNhi{J8{gp?BK5AhUeAGGA8TyGLc?}|I$CQ!sqxPF; z0Q^>k`2AmjC#E?DsY(2E&KF77e6fS;TOZfAHa-_Ef{t38y5H-xWP5o|i;cHl)Co>O zJdb0&Kga;rcKX`D^CjtrLtB9-TOb28Cx3n#=zI7)21cK}S9Om3N6>-y7X0YAj^SFPXr z{|7w00rAt7{2SK)9@J~&WT`A`wSM$2Ea^;sPakm4+gSJ7_|Nqr?dSXWGZ@dcxsD14 z(T|O(Gj}HVu{#)9e-qy=iA&e(@O)<5k2S<#jfY%uzV#e*LaQ(jmY~kHH^GnpjCJgF z;w>kEAMAsAG0K!$w+#H~w$$vbx|GQp5chYvE+aM6!63i^sn{vA*<63>x$ax@CUD-K)qqt zcNKTuhECur{8>38_y-OEkG=00;B~-iT?gRK0A!wi#QPKk9^Z)gwEgJib(WXcS@^BY z*EPV8wnV#Z{NEnQe$1abekOhmJkc_Tsqr1=^PY8pD}Jxx0`1u>!$-$YoYy-M^3#n2 z9xMlaJC0&^fycJOpKnm7#ZKUnJcSK{EFt$9Yr%exYu=C1&z{n-Q^MGkT!Ww!x(v_M zC!S>hbP~TKvsEPC=`nDh>wKP1Ilp*#?obEv_Z^3RA`j|qM0|A=xTh}aeT(?)Pk|?! z0dGhA_Icn=ceFP<{dQt4aNjTRTQl-!as3v04*j^8c$oVD$y<30(w}j7eIRrqo8f0f zol>=BAnX1LUc(5rdHC-wz{8DG+d1Fr@LZ-!toPU5;5)nzYjwP|CvhG2j3B?XEUR?A z$z`b5#$mH2^uMf)bh$@X{4Vx<@-tpaBbMY+zRm>LFNX?2$GZXcSLUy;Gcg`trcUX~z!ODakM-xFxxhVK&om?dFPS)WdlMy7 zw|6wJPvd-Vy*2r_-v-||2_xt?;=`s>e`4x+>cMBgqdd<+nrTY^VbJkr!#J|}ZS`{6 zpIri2${9@C>J0BYgq34({FS^XE*G}i{t&-IZS%%=6`-T|JVP(@S4zFb`O*I?@=O_y zm*2TR<8+7eO7bt(qdwnf=|a5j5$Fd_IR=?aJZEkChwD-s=QaNT9^gI$dPlxvL%!d| zk4>W=xPNH-y$bmO7eC8(w)b<4+*fGNR$d1=nUR;COM_o@-2;1KbC5snIC^Ra@L*fu z*3LRyr+K(ev+dfz>n~pw_|4)So`O#NYakLHri_`-cKrZ59l+|zX7K&|z9(iYrGAc* zKOgbXlKh`#A*cJ@`&NoUo`8&?g54qsC!Ni+! zJSKUrrtROaWq&~X$NBtu!+e$esodX)e1-nPZ{_>xqreaGxkuEl)UTINulg4wcOP}~ zbq7E47BcD>;(keJx?a^75psw4^VPu*@;+c2;ytFZU2mg*WjLF%rYG&;ckyhzUEqEH zKvDS9;;mi;7c&T~QmVuj>MumU+i@}d0QBR0KL7@@xwe!J`xSrepm)92&K36}9{F#+uk5deBZpX{1 zS+svdYW){B0(V^JS*?+VYx@&?ZlNsoM@UC&JlPKIlI;#t9t@!$T=%uJ3!Iy>}9<#a=a*x7wezrIj=c9XKx>M@(-n**N{K^Q0Ks>z+

    1. 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�}xzGC<_zBndnEH#uwLLz*KO*66%HHYp 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¾lMmmq7 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 z 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†Ke}UrO-qtJt2y-$p*7}(&u_7W@33Slg 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
        U8(^zZBGpT6%#J#yIO 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„EM_4*b<|KhJhn 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

        fYPn#2T%WuP;h+Cj( zd2OQQdJaO*vb`&2mYrxjL-PdhB;~7C{e$NQ1f_r=m*MXwP4HLb1RG473|z(>KbpSq zMdkw2^I0y7Io<&rNa~YI^|N5CtDNtUrXE4B$qZwb;&>;1C4wX25na98I}=4FE(Zw8 zr-`*IXNdY6W|bRn5Hph)qq}RBNw_1OAK0M&zTEX+Fzw%pxNh1v_pc96+=C8aoXANv zlVwRnJ5G5|MAANLQCzmSolcXQ`y^(jeBP>!OsO{AG^o`g9me`!QY`3TPm9+ppI@QG~k}ZalL#p6fVI3;a z36X`6sc3A>?(I<$U#$i3NP$$9rd4}XYD4MA)3gw()Ooh*i->$Ghb)Tb3k;|qil=U4 z_9?JVavqvACdBn5w+T*OEp7}wB7D_Aw(6E>g8ysRbT~f{weylq<5hnsC6LBHsKXez z5A9rH{c3&$ck+7n_)K$!^f@5sj?&SMnqj0;j=)wO z7?!Wme=>DxCiFb2=6oSDd`|u3lOJ19owgfBxL6CBW*F3(Hd$lO6tRGwnjZWe@h#c$ zzd_g31>%U5S}lqFh}k2pJ^VQn$M%B zP0?dj$5s-BgO%~#*yE($qFSS$5`2+#!s_AcV7BuJqU>bU!e*zw`BQhFyvf~s<6Zud z(MOGM*O`m}nj&VgT|f~>ke@2ZA)wKY^;|(4A&a6Q9fXY>>-5B`$(}NF)y#O+WKp?& z$rValLo#2$y3I0NC}$3gaML3c$}H|oMQ(M2 zs7?rq$n%nhP+-{e0r($D*#qA|ef_DA$2xj;r`klWQt6_gt6Bt=GgaoKs*Dq}o~ZID zN=cPV@2AQGRB6u0rq(SdORYKzcc!UwZtcvnECH-U2G=}IVNNa!-p=egWh}lFum!(V zgO(3T7fxTqVLcd|FFFi6HaZyJ4fo>iPqY-)Ez$ok1;i)m#<0XKVdv{$=2!MJnHbFu zS$cMKFaYCE9#4MJ457cf)WQ20$?G(bk`D}aYO6HqI&LOgOF)j6StsY553r+?^3?I8 zafC=fL)*L4>^shP zrWetdG>8_leE#3VC zw94)7mAsR9qc8SIw-2_3A0-xprMFA{60~8ne*F`7Nhc0wD1HryNty*cE+K*heYL8~ zsFU%xyq-pp%>FIo2@qW}%-xSA_uWT&i$Q&CJKYP^Hn?hzu+o{&<_w|E8;^YYug^<;snoOfuXQ4h7c*bD31+%aOH{r_hOMDkGL!xs(J#9U) zmk%WV(eXdUoHTf&4?IPQuu_$DAy~ODXuZlg!KDjmUYS%%ryO-FzfmLiXm1+?=tf}lbduP&3;%vNT2V& zL3fh#y*qQh?}1y^^KC`W0*x@8o;hlcx|03JX>yomS*^^tdW$W^OuH5NkrsH)4)d`( zZK9NH`B2MiGRP``z?`RdX%^uk?dDDNWIN7e-cBRv!=OUC2_QL-pQh&VCsZs7-^4tw zz842UcOJI~0Ec=bpy%=2Uz{Km_l1DI1c=IkR{H zrSLw4G$UQsc;94AKaPqiKBbj^< zaK6JV6sS8mI8eB|q8E7t>Iks0t6RNx=l$V9c2kEPw+MCVQPQKGCg(SQVLMLZpPVwQ z|Iq~+nas6K_#{77x_7Qc?m|+Z*_C5OVMu#{;(ejZDdyapV^@~u+J$v=*osu?k2g4% z@JO$dWJ%lU0C)WINMSB7lf#yz zde=IUgIpQZtE7hjJ@&F@<=U4p446hleV=Fyj-l~ z9{I7#Yk}HFYeWO5E`4!_Samwybu+zyb7`1Uedx>yWzM%+{i6*F>pr&$82{my7f9!7 zR)jYI(HzgyV$DT79Ybi_3~4iJ+AqZ67W(5)7s|k0Fn=i;S6pge_Gp`=Wp;#={2owEx%Sx;(7I< zj@E3Ee^DLvR+p0yje+|`?S$v)uGqX69^KfcX8%n4wAQ>zIgG0#*Pq;7z*I>fMuQD1 zi@s!&ZN0j}Zv7n9SsHG7>+Ejp$ZAH5zvC0?Moh%k)O7@bPTchf5s$?0$psPxMIbQ2 z!SzJVY_Mh=puF$)4+e>C_FKOfG+u6xS?-zfFxoi?{`?QDg>`$he#Fx~4POWPv03BbYiqull&frNcomEpK zuq5qTI$uWo%5YZNur+(E5&TL@k?U6IgCyMbbXa@Q#i{lN(_YIgy-v%W-GuU{hNFim zmZ(kiPmfl0qqJte)QmSo;Zj9^aQbAi*>8iq@^7kd7)I`HzH7CHkW;IEv}VXsvZI&7 z$9_keXdP@RUqX*a#&)N?1n3E}xI5h0Eql#PBOS1#7X^`lI3Y#8 za05Jd2RZuMIS}l&B2e65_gZI7e?p3qK6uuJ^rJ$Oa4xIB`0-ev?ng-T%0RD=g3eaH z5(Yzm73lTxy<>Q0KW4Wc3KV`Ah-K&EBr$0M4+?kNy$%GtwSjJHDvBE_dabzk-yvT) z;6DlBFf}XSNc1`8?6egB8|(2?t6h=N6iGuPk<^R_2lh7OhGF2JW!20BD{1Ab58736 zrnK@7_{z)mY|0s3$dQ*%8$9QIp#8_{k08qZ%#!*3p7!sT$@`n!_d5De`Xfp@In{~G z)Ew(U2z*40-5Rx~QkG4!IenwCi;uD*r%-~qnJMSlIJ>Pkch>F8E72kQ5#hC~_hnm= z-^siB>dy~WA0V6J2=1!)QyUb?a`CE_5G9EJd}W-;@x`5ZybMN}pKszB0qG0#>_H80S> z^)`(-b+m)pc$rPOw3C(cCvn|C>?V9KwAn<=G&RRCfpJ0y$zNDmmYZ1ytD!xn_NBl6 z_3XL>r*e+TX@$*rL6H){Da$p`vT9b*&3KXiz9~!g|D<`jM@eqN&U(*$QJ?GMzEk`U z;Wj!-jclOW-?HEP>By`~%r~2;-^J&JOAEisI(P9K^JGR^anZ~^+OFF__-)Vg4}VPW zPPGe{L0eG$XT|%<;xPkFp7&}mEL{KRvf|3KXJ>xTr@iFUF|~SU;_E%4qcQ&VAicA@ zX75CQ^`TBvE! zMf__?0Z-!}b}@QXk#ADu-$pMUg_siJd*H|MT{QB++4)&>huT8B8D6Mm!XUen%sd^B z-K6d0?{5_3&)yx3X79nDaN?t>A}H#E`KPn`ZjG=QDU&DO#JsRbij89TGdBCwRPB1ichJjjRo4 z(_zF^tZvEeSsT%MqEA8Dk)|-x^BW)FOYWD_Ui<{yzuob;?c-A?alxVw{?3}x^|uw8 z%OUg3wfHKX-(wN+MiX#%%j@wV!O1w+HCr?ONLj8rPUneLE$3Xo19S`y6+Y>Pjs<)n z{L=RXEx{KgYT7vAI@vl6x1+t;L<&i;JoR?*ntLlW7A5c@MSsM1M}m?kY)QewEz11D zhpdASSw3TlHlI=)#ijX~ZJdgg_yNhf-p-Ze;a^4M3HuFSpG@-M&%i@y~ zqzg|7SE{bd<(=$M;fX1H^-bHSE#G>7LlOn)dkFkWnSZ#04`$FA)OQJ+rnK>fu1B`5 zde~6P@$4P_O!m1~xO-0D$sRVJyX)mncD&F-+SB4u?)5afJDMMRa<0mHVuwzr#mUuO zi!tcxz;E&2mM(d+QeCI-iv(ebe`ytVo`@{~vwN-tFN&P8tKl zS9D#(bG;o~k!?_7ci$I$ z;&81QuYm)y?vd(9CHA<#z_Nb#B+rllb#Ls-&35JXU}e0ba%)B9x2o#bJK8EL*K6T@ z5yNb|5Gx=q>%Id(c%0!# z_1lw0NAW7){V3>-i$Oy|QijozXcc);@>8G~-p<&vu|&eKsMj392^2V)(n6<#hTxJM#c5xP62l?fED44-XJt8-t4PZ9dk&d+8sh_3b_>WLM3 zNzXLV%%$&5rCMLn(v-Z{`VgUg(x&T!EKLN8KMcRq@=W4+lSlZRmf5VP;o0s2OgI3| zph1&68~WFycl+0)<@HdrPBcACuLMzfQv*RdC#=f2?C!buEZlyf=y6PNz>DcYN{pZ1jf^lNp?7MJ#(S5K|6LS3=4Mf;wr9L<;)wK)51F07R^JzS^}} znv-CV*pmhG1=^6VoKfr1P8oyVvEe+H~1LP}as4d7@D`O-nyZZ-VRLLMS~Way2sH_m!FqL7n> z&bJqC>bGG1^vx%g*{$&ZyX7c9yY9fTb|HLmy#|nTLSds*r0s5^&as^nxJ%JD>cdsG zxOMUTJp_tt?Otm{|2XyDB70$9_LT4FtXlk$qa1f` zFI?R^^ou_|u_Rx*Rd-1Gbd+YH)`-_q#&{~%+J%SgF>56~olQ6b2Ro*}A8J=_M6k)*glA{cBsIy+Dr0DmUS%Z2bW)t&8T|!p(Yo7(jBPW z_h}H_rNN-VdBBcM7qm5d<4@0zsIX1bl@$E>Y=Z+Dw_ zh0n=Ln_u7c70zlgAsq4z3pgJb7oecClzk1I**AD{C0$xHT#4y4=U3SaA6@wDb#D#+ z`ocgfCeQ?GoldtBapSue-!S@2u_9YDeS!h8E1418*<_($DC(|SJ`(h1g@`>;_yJB! zkB!Sw&*8@^@t~2j`7BUb&ZpWj29*amml!kc1`O^T8-)FyR}Y^ZR_>BI^R_E$H1n@k~4Rwu~L`9{x?Wek<&Sk%nGQ@mr!B zbk&#~6Pox0bzXWy0kkHkS1fa=>q2{VM@P zef5iSxyL`48|a-n=NF(o6ziOa48?lqbBr?4f$@B5Rfj~kkm_uLJ_>bIRFZ}mCd4?6 z^piFj_1yRYlE`HUW-oOt1|Xql2Yxj4Y=f>K;UhQ&dL~tBH3EE-PV9_6PEOfCnv;d> zY*(io(%vl>8Z}PGH-CSzN3?dV^brNaCDGt6e>7((I?>*$%&*m@F?YXfx33l)&AvK+ zjuzKK!N}}f5*bkmjlDjmm&)WM< z+re*R)S_(^`?n+t8TqzYM(D8kWDK|&FSEOq=b4uKjBaPb&TVrMCkS->74y#7a4*}XT5`)7KQyAofRz%W9 zab8vUH$pTK5kdtdJlLg{v8zho=kuD@yVE)gwkJzCPyKTZynx}Et9ad>e|a|tI1il7 zjBCsX(o=QmB)&>M2GKaUtOwiU7Wt&3{zS%i>a$0A;wSK-*^dq{zxHj)e>4k`ZWZGY z6L(KcouT8!27jm@y_2I?lI>wQ)8_x3s>4ORyNGvMe{gucuS>m?sn?vt@EubB{|EjL zPT~J&F8&`l0{&Yyaw=VF4W#-DuH=DJvIHPV+r-p@s(ZUSjvWm%{9tz}ygcjTM2Zpw zBvykg1RbCcXCYRC?y3ka!SEY(mW$MqZnrLSk7Cd>abQCJy&l-8AHd2q3gGG+CSZ5Rg;=;+oc5kNuGXb?*ZWaX4Pq{z`&n&B8IWcKv#!r$tStLC+NW8;|Gk4e}Eo; z?Bp*`8ju{n8Mnz8n;iW`rJ5da*k%=wW?7y5cll(RzV3hBF$gzeZ#|p&mK0+uOO~VI z2gN@Yn_0ry6SpBaj?L0=bZU2F;F>(ZHOO@KMJME8keOPRNN~cKay0U%Z5S!|8+({F zE0@)1Y+~U?Q$@$A@A;zF=c-F^?KifG^5}r`WJf8F-kt3e|M`>&Y@TbksKBu)#gP3s z)`~W3y4X%{|8|hyyYu$F{M{@1voU)$XXqsrc$xtt;N2bQw%?c*tm!B6o$Z7H+-`B6 zI>Coy5nHI{K{RRdHp>>8PNAAbm*=X3h|!$Bo?S)&gu7%a3RLK@z(5Hq)VlqV+G{n9KKl!XYuk{h`#+JX7E97p`TsC=KMDa&Z4L;%4j+79@beMCzj6M^~Bp*~Tm&(j@AXvuV!rTek$ z6EdK4@0GGdhC{it-P8jY3jfRL^GWwNohzq`>gYr#xF0T%GC4!!VwoCYD2mrxH8Zgy zKv?^V(uDpdXsw#>unOOyr2L!O@_T`=xc3_g@&ip5&3UCw;q@)=89FI~k0i0`$+lY| zv2DSE-rD&Ev4QooSFg(7+m*v|bsBox+pH(b%{yt;NGu>bM_(3Zzv_Lt*6d4o04Qf2 zOE2XZQ_c|CTbE@;#J`i^+lOc4068z3J)P4}v-$8`95`iDI^zPolGy0=0SJ&h?76({ zsW#nUHmfd-$tD*-PWDkgg}A}!L0xtJkq6bu z9n{70xgOLE?c!PLi4AF6gl*%mVz04Y#e%T?4DTA$HYjTFgzkr}V~7`axNrPW3^mrDNTS4$}_w88N%VgfVvI8oWW^G1i`1({goP8-|ku zKPfyg=D-|grSSie_a^XBm1o0u1_A^K9#l|lL8C?_ib^Uf5l}`FnbDvqpt#@`M5$IO zP6R4Ta1!8j98IfMTiaTfs%@=W`xJ45gg^prjZhUt0m0=Qh5&Btknew8_nDb9NvJ;W z`+j|X-}m}!$((cU{l2#Q+V0)B`Nz8LjuZV^c^?2Zc;FoC-U)P|d0eaoD~ap96ur=k zEJZAPj$5LAS5Oi}sdG=zuFZLs9sV2bu*1c755z(6-aeFdd+?9p_pGU1&oI<}b3lf1 zY{6IY(nFgw=a?I<>8jI|fXcy1E5j_7!S{I2oaQc>bYfZ+ zGfA1?-BQY?=;Tx&LIVonJkOl%f5P z)$LJouDf#(c{{Z``!4bA4g%6P=LZ}pnf-0h&TQ>8r&XtBgN|+Z&JCJ^{M>4D9+N#Y z^0RIZTQdw_eD+1;&f8>YvK_M699q^3lB>ja{g*nhKI}>^W>#-6oRh|yEl|6W=-cM+ zZ?XQnq8aNi(spY7rJ1}^3A;hJv)=ig_)z3fz#0BPN`4WgkHnDcyxpSxmHUs1*eS2kBrhzwRPsmK4VbQUHVk z2YmXbz*k9i#iS*op0F>0O#068zM`J4;*xBz-bfK&*@vd&LDkR6L2S8V&QvU9Ddj{m z2d=851Y6*R^^u>bC_0-pf#=tkTRzFOs8eLN*c0)(h?Ch$aHlsKLEOS-&K0+N)B)Sj z+dbTmcP#EOR1%?Bi^RC)A59lAHIPRZNqYmbLLV%ccb&V+mmKno<^UeIv}l;Ln_2R9H@ZDKsg z2GNG>TBlun@;<^90MK0LiE|M0;X9}t>&3-=6_)Dgu4BkADMTkFT!muflSjK>`8DnM zrKk7Hd!%VXsAw##KyWp>>rkumAy_#m*flyMKeww@DZ~vUaaZJzQjLax>Cc&x2ob40 z<_Ht~!nvnT68w~hM8hxP?H^AJS+h8AW~K^%h*d@q3Z>7ljSeoo@yQ514FR_oo1K*N zp$HG(&f!o}?4eh%7Mvegl*3$x1R|^KC37|&;5VKdk@_Krk)4c2YByxt^=bWiQmA5r zRmae-xEp1G?77S|qB5XFuts+uZOz-jkA?D?JP0HqeCv9W-thRRtegQylbV8`@W)E= zc$1kvz65CUWcBTm)Tr_ZnqS2KVK+mk@9vW29CI<)ENY|lc|k?3&q*0Id?Me*r1)gv zN;N!JOUofzmi8*>34tV6+?srcf}}fy{ci1UupWnq<)O0W#wP;Lwtuj;s1=do5h+*< z@xUk>i?S}e7JE+hLOmBuYQAm^jf)nOptMzCdr8<{Rf#@H`T0 z)HU5c|B)Ow+t>)XpGM51OJv5Ox1_q}zPX}XXTI?cogmp`tdmN_kFmpV zX;BM;E;X8E!N7Z{?AHAL?&Bt1V$8axX|d3*0p>)?KK2AGnhNdjl-Z$JTZdauGA{u!Tsv z^f>cV^`*ZaB2aZ_Waj9(%uVb~<1ybM&@yh7NQGbRKfw%nsTT9($#l7!CQh8Fd~N@6 zrrd8SC;bd?f5|ViKCu#U0-V1}u$E8#O&6Dq9XnR5Hsuv8!^>Y5<{GJ^@Zc;m^L&#^ zW@Ebd{O##tebo&?#?tvR>uX3>bcNYK-Isx>esvtCvsEK+=x)Z@*NpR5#_a;*CTp` zj8A4*>dAi8&>wNnLM@Ej_A*_LBt;YVPEfA1zCYIkFRf-!KbFHbq@Z z>DOx~WB-Det56<%`6wDPdaxit;=$T|-H}8_6LU9b%QH|B>*26Ky`Q5E=r<#19(z%_`o7hsR@kx)AJI;~ew2sLnoBy#{i;49TZW86bVlSt=vP zowkMk34x=xgb@!w*FXv%QM>jUY40Y`yp)4ej`Jykwy0NgIM&+@ksIW`Eioh*Kaewt z<&Xmbf>m^P7pw9q8S3ssBR`Gq?p$7)FU>PY+6xQ-yTj!Dt*W#7cE*{$#n2cY`cJ;c)t~*JF28uEDK+ z9`YGPf92N{3ITb&M>%}~k!!9MSj-cx=X$>AgWxq7B8PlE&x$2^yVU71im~U*Ei1j8 zD{eH1YgIi>J@~9Z01oGHMJgTs_kq-QCrk zE1ZqJpeU(XyJz#!nN^tqOwa?_Z};hkGVrbS{!eSU|1wG0|7Y`Mb^-$1`RkmDNhkvZ zYT5>Y{-d1Z%MA#y;Q|7mYBRF??DnuU2;_0+0AP|Iyc_@+C;-q;2xc#5beVwyC7M>% zlhg+k@&pvlx9;nZ1O>VHPC((vOi(~%B`0oTKy_<4c;ivv;JqpSy^&=!HIi^}2IN|B z3R6G!&`dZG;w<`{e+viuzw+QU!i=n^=OS%y2S60qVyRC z>m1M4Gr9+ApeiIv^V1Vyz)t(`_`V5y8ucGMSpB;1`2GanrE6~EYjb?j@AzJ3+JE$5 z{SW_+@5h_(xC0$z{@?L^)468+I~#Qdt=6yZ;NRV+`R3z??n5n}N2K*VitlH&cs{Yk z^N}r{A3_B8w?D7N^VAm4H)TGD$}Z0>jdcpyUm|iRy;E#5D5Lq?kR7hweXi;RE*G7^ zdEuR#B|0eoKpRPgiqI&TX1O2jQ`qS8SC@g|Kaudp5r+(oOW#z;8|sWhbT=^C|#CIM#8XwlRPCs$qjQoUD^3L z;X_wlfcm2}*0I!H7vAZ5;3R-1F>p&lN4;fC{4n5ZMdqV98xkCvK^LfCS^Q}Aeoecg?_3zu>%xGKfH7w0& zPrQK1-}JsX0>9 z`0-9!3#bX{)toPf)!Fj@Rt`uFR^^G%4xFp+J(a%%E6y4rei&G1@W)zd&!0bE)x?|g z0&mpr$u3wDv>TC_Fw_Lz55h@Rt5RH06AFA4&kf2gul9vFkxHt-w4=7q@w|4AIBG|F zFiM~6vbgKn?eQL`)3RDXbW)A>EU~jrUSN6cuIz$F5(F&?JzV=mHo?LLd*Zp5Bvrcf zC>@s%BDj{*!M$(OITM<1{2UIqsx;3d(dxr+^?CVdzEaSg$6rrgZ5XccES!{=HhOxh zWT5kx6Og!xk67#6B&Yh+?i;v60cZDQUBx%O8-Lwev5i$HHLML*)f2o(-NzQKJ(>|P zTp8$!S=WWQewtzZiN)|F-l!YEX-Ou8-1$8{O z`LKi>l#%;j&vB)I%otL;BtZtXGPEkW|6=uL|LHGsN<&Z`$=J%>@3h#;z9<94U35T^CZ)VAAML}6u z@ddD|#OpmVuLZsv$4O=D>0|eaa(kFe)h8?mb@ObLk;dqa14MCo)ORen_UxksE zpD1+C`GMH?4%fteNjTNicGctG`9u zfV_AbBCftft=t6qMzNRBK?YEn;^z5u?wN5R@LWxjg8I`XW6K*GEyB7B=4ol zsrBLHp{pd}#PSd(HCUN?$4Y)4!F?}dj^uL%=_Q_t?vk#v?;nV?KIgg%Zo`9dC-9QvOh=Z1h1qVI>X&t!CO2R#dXWG?(+i?+M#Wm$0Wj zLH#7tp0KDJdmBeGR%n~^3CKeAs$*rYVn1-Ft5K(dW|^;grL`XCn|Pl}tpsIR(X>bF zlGj)b@n{A6S~~GAqOjdSwfX^uh>R|Kyzu~`HRF>ht`Wy`&#DDcZ?aQpA-RRz(;ZM@@%NulGjQ{F=Wt4Sq;Gd-b z#edI#Rh(XY{;Nmv=uEp+(795!QSm$FyxK-=p7^riwEEuPSZCuB*abjTXUr6?ly?G8 zh+iZAm6kIIh_;U}(Swb$+TQu;d-QiB{fSe8Iw6ju^1*t1_Lhtul^>XZLv?EVz;pkc zv!y#g@3Waz=I8K2>?xZhfTV-xlGk)8lM}-zXAuPPCC*3xl!>nw9v2jQP0Une?%7J` zU<7lPO56Be$O#003K>zRy<4+-t2}@@Gc}@qEk`7HDFhosURaiWopalXGMx3!Wem%+ ziP&{c=mi-Qu2PZ!*Eu^q!beF&AtRKA(jz>S5lUa)2uX8 znn(Fs=d696&Z5bak*+V%Dwo5Dz6^8bd^IWFmd1`0k_&$m)to5dP|4Mj4v>p4p3ZqjcOBog>2s%! z|KfvaDW0@`gmlN;l{`uCH z=et7IpzA)FpoqL-5|<~5G=h@4!t>5BcK5U+qbyg|yAVii((7S(j#a6y!KredAH!dW z@KPU(WNQYWf-n?4akdDAJAVn1?Ci?~jny?Ic}@uxjiv`R8KySQ>mk^(2en({aG;46 z9!>XW8-9TG zK>heOYNl4qfckY(gg~J%Zhs!g7I@J@NsyKN)*OAM1Q3fWazP4W@0QxJaz5vTW4O_H zzFL|DPvlqmugy$jMLIJ1swL!%WDdzP;UW5wwUYmU*mtd}XDH^6t$LW}#4L|qc^`Bs zs=gIql&cpjdrC9ut=02X0hz?~JY|xX15xl-Um=C(Ez$(SpE-hU?P{tdPE5i>T0ipS z;ubLQt^}%hZ3AqAShO$uuigLIYs*(e`q$yAD@1yCwEUE|%bRnbr?ME9g^ohQiNp(5 z<>mCG1)e3JvIgL$#v`8MRiDT#<2^rF)M5&U=oCc7Q~4lJe5y8Dq4Uss<9Ly%_puNI z&k~<4N)Qa!y^3SE=N89q%2D_>`AnUs^E3^sz>vL6GU8Z2pCM;}G_evLiEMvQaa5LL z&20I9D-|7Nwj(8Q73wp*ohH7*3wO+$G}-MgB4@36<7w8ogr0O^F20|9K6QolbIIc; zxo*~VluD=J?z|5G;mrvTbk;YYSaUb)oBn!tApWChrpEeOc#E&5rudQbiyER>{mSaE z&cSrLlJ-uyhaRXczfTyaz4iP0tDtq#+cFrEXNf~pPVhwjFZQ0vr^0TWY8&GKn zvH@MnEW2I6FWxM_vzW^LYsey=lRj97B+gY%&XQlr&*9%7LOFd*h5`07d;sX*^lA&} z?>FHX5il%o^i5FrBp6@7(O2tU1-p ze^O{c=f=o97Qm!gyV1v5Wc0BP6@V}k5rvPhXK%bdyoQ_XQO9jmL=u? zKZ5i_L7+^&ZaO*sV4axxO|&lWa5DjD$zfV^$I?(@VUm6z6b!Zwotfo+tQ;<@p~TRi zXZ3Lyus`lCfOs{Kz+cJZds&@(iheY7L~vgILj^;e>_dEUC+la^zv@pqarE`cqhn<- zN%{h4)c%ZE;o;B$KaCmQyA_SOu5B7KU0(}*k^i?vV}48t=@XC^DsqiSMY{7ENbLEr zk{+QV2NbHi_qoWx<{E467DE$SP?2N{@9@=7k)`GrHH3e+q$20jgLW>I?h5?Mg`9LY zFQEnfz7`Z>TppHpJ48QaV!AbNyY^v-2bF|wjFxK9A|W8xKtP0O7$UMZpn(D3NkFW5 z({;c?m;QSML-LhZ!l1EI?V=cc>>4-DzUKEE-DQs>fKZD1=LY2Xcg#2~; z>0Uv*Q@j0*_?D?pClPS!%p}Ss{sBINU&16ZsJDAt8o#{n8BE08sS1+{LAxZr76bb# zFT{IpUDkpQ<}iMDxE6pOsY;>4W8kT{z$wp`h7A55!z*`J3;a#`L&{BNg0_mL_^6BB zBSWRInis6s{9dwNTv{vb@*hptMP~U|d{yK`6ysLqERbIG{N`RdL(nb-_JwLDdaJx& z^pRC5cRNE*2k4jahNg1Nm+n%>e5)!ZrA*eF6rE4sQzPwYo~&4h?Ep=PyK}Xd1%@7{ z(#%MJDNdFW({!D4V1ZHQJ;ykcB|P6;6m$>d|A7%WYrH}>g@{zX6&x?se=GB!<$E#b zxXGk^&yKy8{{qhwt=pj{lh=G!OyLPk<4JwFr?FU$k`(M+Ol%NrZSn?+FbaxAitRmi zc78D$%KimQitVkmd2?~>9g=l3cW&2P}& zU0kpx^l(W*Eg9$s@QS2>IGoDIQIwmIPgNA# zuV}8?G5we%|0uTC1fz+-oO+4xnD%9|(W({Gk1CE|+06ZzAIkS=?T~5TNN+Mi?1Ftt zV0iU*=$+zUjEi%r(AN;nOP+T>x(C?H!YHDi`#Qrw^+jbOSmG%`c(rL zD7Ozrw+5nLkdtu;`$+1okr;$o`tHScV-Snn$g<|dAnsRbEom*QK^hRs-lg1m>oTW(2JjcI_|#BH~% zzDuho7Guwiby#yiTyeP>9;9=hL=X|Y6MzVbW|{Gg$uDIb)6Xwqq_0Z+6T=@B+}SwN zdcKa4hih?ujcy18qf2t9_oC-W7vAbqm+I)YcKqr!ZKpN^bdO@7Gec0r8UkjJiEsOI zCkZKUhhpCFJ`i@>p3u(K6RkaO>?F-q3Lt>V()cK- zWG_HS0&j~8wlcI}!Cry!l7cS&{_;0NQvZ@7sZvPp zkV+C%Dc9eLdgY@3C#h=Q!KiBfe~_xKIVe>zmA>;!vFuGr#6Ao|DUI)Pwr?% zPovMaqNmT{)c>ELrymJDt>rjx=;@I}q5IC0zJoW;R+3_>v)khlj}O?p{O)KTJ#PP< z_5byoe^dX916%z4C;eU0vT<}vt27eMlx|AJxgsq)UlK}8fxk;a3CYJ9MB&QSwfU)> z63&=?TSzA%bQ4RHCX~1vYr15EsQLx;LuKm<1cZuE47&raIF*;uj$d|X|I zkYc#int%JF{O`x0H0xEK{NP0|?{5$9Z+H0%%a){5=X@hjR(>AT-`QBf`q0fFpGd!6 zMoeCclssRT%u6Aw6>wK^QZe$o=zspy3O*0Pu}j*XOWTRZMXq7_i}O<%D_-_ztavsv zW5w@`KG};8=4>YpaJpQ(dRq78GcwtY`^3diBhrW%pN?&BQ^@E~LS<4A?bM`|skrt%eG8VDS-t5VBcr=IS@YIVR18q;hIMF3mh;Ul z>UZO%v$?dTz1W@lSO$KMeT9=dEcTurn#;P|aTSHY@+ z?E&t0_2Revez#xS2V#Sr%Px>ve4?%;>#(F^xOQJ;M8+Q&e73(OdG8o*GsU7qc0$bz zlM_4J>65Iu?!5Szeg~p89fQ&R?W|IKZSZ_0R>$6~dH382v?lN-`Y*W>Y~R??PR(zc znsq8Vkz)G`jOx$w&P=2o6Cts{>Vn21XZ9d_a{-YXAIiqBmBbS2shY?Otg7AHuAq)< zB{3YIke%%`z?pMu6lYsykc z@0+1ZP7|4|nsSZm@_XzMTUGV~Plvp?(^ z9j%ag34IoKjn+#w<7Hi{vKv^ccLw>ED)A@uRla;bR;9#M`Y0&I99|Tz6gs-Ze!uqf zY*#FJN(Wk)gTLWy=1i8>8L9I#{-&&DnfcJ<`*Qhiuh!(Ut;hS;LLKkg>lyFS{_&F6 zFWVKmBY4Ofof-8Fn{*KtBFE0mAryHmA--nA!3KTd*q&WP1pG~wXs*1clS zBn?wupu9u$*8Kc{Yye3(#&FEx*plxI>E6`L_9)X6AX9Fa+%NY+8aMn3Mv_Oa!PHQM zcq?Kx#*2pq+#Ran1E0*eXI&h>Ta{OnYJ`eYu&*KDr^s9PFKK;XsEk>QhxMejDSolH zZ$aIpwMy@0N$M%RP@cp|#pCFvRTzuM7_f4_G64t^BGi&eExBdM1ilNzy5ZzF7s?&r zz6Mhwf^TViQ<#)))_n~ugDhgMRrQ+uq@{rSBEOuEN%Y_|M|$xYozng+-Yp&G0_VMA zq>gU6t|f^X=aHC;*(@b7?=ZL)Bk3UZQ|g`5Z`X{mEs2PJ`($I&w+`o6!mP=q(* zKb4xkX2Y!(>G0+|c@2FLy|;YMV+cZfwKH*BHF!8s=!e*OQYg`yehhR^)4dS9)$+xZ z|F^jN1)YjruT18GkJh9eDZD+2HBHxl4f-2N+5RMrGvBN#2i4e%u$xHel>8A)M(% zU>xuE7iDBx95enG#EG@?mi+hrn8pW+JEz{J;1c_-<)#?-!KV?<7euO z)!KjaN)i>M2W0HG!!zaabb@G|->^b2|L>gE^DCwQR`V185(z<*ya<1}&o30)+eGqw zh<8RPZkm`BT8oP|%s#Hz-dM22lYGyY6%5)y_g8Pkc4F8`n81RpoZ76x0RizKHwC5^AvynC|c>9ksF?lSOq5f$MSLsvcn*$V96((HEE zfe&NZxPM;qLY~}1H^H4vap*K${;KDa=i_rP&paPHzdr@)D6SK!`3O?pj4OltlBu7x zA_`8XL`UaWoVtYlOQJa8#wunUZq1u3TsYqIrknj|4dq8p`;`JLUxYawJ##yFw~+Sb zzuBb$hkfLpsG`*~ep*_P@DkmvcM3^Qu6JOH{J__lr<-LV$zIqxX_>h2yovV!P6*d@ zd+-ynUE}VdY4-Li(X5cIph0TYNZ~pPcDR*-i8X0_SS)rx=guDr2f&4TnR5$2nXIHl zy^f!f)(7A62Iq<8Lb0}rlY4{Hcg2=wZ=4NI_+-X8-=ot>UL}0XnH_@~G&rkoKu{wk z^a-J|)mGKHlnhm^UD%1yg{5@Z*cBr!2Z!t#o79ECReu0nd>h&sUA35j>b}C z@jTP)q_rmZU!7ac2N~VhKk@KwEu)i-5Kok+Hmavi4GtX~EBF^-gjH^l_3&1j@Q=j# z;#1bLY&E{~+-gV$mV!FBz?4xLq>vuszcJ?rJr#s%6MfxIz7nTPi7Ppkt~IKt#0jng zW1^-hvRj6#ODt~33{oI$N0#b-LTb8X>Md4a=s!8Oj#zKlq zqDUz|z@2Z}Pshh>d_yPU-tHCY@7}1t7z2jXs+Cj^Sr>okUfi2!y{RH=KAZ3irExz`(F8BUB&*C?v*Oou_{}1mat>TRBGtqx)dDPg0$IvQFSHON*zE>>%Dp%IN!|$o*c=XT0TKpt zv8ywS&=O&{+njGEd7yY9rP;_Lk^H_hKvTzT4+RKi`!rr<3~if=xmLQhfKD zHOhCZ4ZrQkjG-{XZ}+ORfb!ez{7muN(`$YFb^#A5e!GTn1y}CB$e=ohgL-hiTd(r- z+VfiS+Cr&zHCI@z73zMxe1;_UcaQRZ^>Z!nSH9bUU$T6=k*bvnKZbN;wzxGF?!o-h zM9Xc-@yerZ(ERIonWFg*QAK)-C40Nf>rMFVIcvWUpS{D!A>VD2hyJMLxW<3niW46~ z8L{GIaI}Dh!F*6Y{~4sD1sDH?@3T0>AB2nlm}0V6 z*W75frgE^9O^ZxV9r}GmrWuq>iA)zSZY?ssDu+ZwrqTX_XTA;&XEO+qme9x5d12(D z5e=-ypR0CPhXN$DI{QQKi^wA8BVRC^4Ux}l-N)c=vSO{ouKD_5j5IE`v}J#P{1=i~ zA+Q8NrFKtOVPdP@G75S4)dZf`?+I|2ot zvQa3|pE;t+>ARpVK0MIs{4M$k$^C;W0cEg2UcGbkc7{z2B)HpZ{MLWYZ*7$y^xfrE zwiIo%UGH|LcuIcL_UIg=)%835-Fk53`yM>lcWvA~j?YHlEt8SZ+jplzV}0%UJbj5c4PX>qu33xcX|kGh<_X!e7#YWlc11#(U1B!KgaiMs z^68a+k8D(YDNx->DpWfL3D zPByW%4}Jl!id@O;DrkUwF*W7$()Xc;VrQnW)8&d^B4?IJNQjqAVUoErk`S7gQ@Ip0 z0Cb9kgp&qT?w`qdsD&DO8oj#bF;@>B-JQ@v-};GStc_&Lo8+#ofAulCwh0_=iG7JM+YNAUTz@H5#0(5mF4}VlpaD?W-xJ2O5uDy~A_8^8^Pp)_ST;s=2qB z)P0Bs{ek@04Zcr8^EncTzeP2lf{%PW()ZAhhu`ZGpzjxuQShU zD3RMfxRgys&wmwaTvYu>yyxTxTkOjQQB}Mu75Hzqdo2G}(*mq8EAfSMUVj!&^|OLc zPWuR^&KXyIxE=h@o@%i5mSPafc0O!SCYfEea`t(V0e<*J=T#%O zuoP#Zx6Rm0E^IZ4vq1$_PW*B6mgdBVVn;|Jgh=lXChI2_Id`L0@r^$U&Z2TUXujGq z^ZlUtXyv{Xnf<}?%^q*+A2gqAd-MIE`C>OAib(ryXLW0?Xl!luuk6hpn_E}zjmvEC3VFkBA zHPgp)X!HJoNmj7wNdIJ9xrR^agiiK9O zX@()W!1R(XF7r$gw$ydRY_H)c9Rw)q81usF7Idp0y}H9#p(H;Uu{Fa#(cPKpujr1r zFk^k)vv57~;gfsQVX0^FRrfA3|5p8a2nn_p98<9ui$)%laYr2*7UAo$V}f!=NLFp4 zT{MwhY=t-BYFEOwP*!C%uTjKkd84zM~J_E*siH+nmvI9BF=Jo z(qtXH7XI6q&|z2$))Ffbv_E1zRg+mNc^i?{X%dD z3?UpZ;s52?;j(>ZKp&KHF@uh2#*5yV+}o%!v0CgO(#?#_ZX&lAu9Z&eYByywDz{P9 z1JXXZB8VoDyTxwaSJlKi?pH6zq`okSCqZs-vG^{9%J$cO*3S9CCXBfKymdqWd+!x= z{JIoy7i+5({LBizCU0KV*OF2v)gJq+cc2N8kznuq60SDC*P(D}>?W>WoHqak3F$aW zNfaZY9ig&E2gw`QaIBZ18&KCFKy;UuitT^M7{d1Y$YFAho%<@g@NhV=Y-G`AQ(hY>mxfHJf5@qJx4>DbX#JG;VpV4SekUt!SLy09AQk9*qr%ZJ z5SbQ=<>t#mik3Y-gzS8)ON%yG(Ls!>*jmuZTEHsd)U_u#XnCYtqIY#jb4pw!!;W%& zEl5DIuEm48L_RzAOKSm1X~sO*pXhE{nX&}U-j@m+#Q(&8l3yCT5toF$?%})(#j^9Q z1!gnf^uf>B_!V!L@3upP_56vJ{eNzO~@;fMS*UG#0YXzIGvb zyeM2Ntt+Z~=EdTytXBjR6-$d&nfbXtq-^yo;&k%5{F8d$p7+W@UGZya!C!HGlGzNv z%_(xYItA%A*W-MM=8o~>SXnQQmC?=F?lHXb;8XO(ItK3TYqV?AOHt?f?~zG2@siN5 zv&4KIIZI5}k)v9edAGi`#nS`(?b+@JyiWC#w*S86qqC94e*5o>sq?gVH+b0IAz5?L z5+niWG}%6@QcO__CsjY=SL`&iJ5ckZ6}D#ZQdm;uNBoez7qTDS8wgsDE?qog{!jFtbwc9md%ut5=C-V}Xo-Lr(hC6%9Al_I2slSENDPQk~EMO6~r zZ_O%MESAgY{&QyyUTo>F*|Q24AH%OX`x%?{@hYK#n zzsXwABVey9sF(aE$L_(0HE2g3>|azj`*RUHd}PSmS1?o--NRB@`>IONopz=W2il8 zjTGx7#hh%#dLcd1K;`rNP#iQ@g*Q&g)AVW|I(tN)j@LsimFzcCH+))^ zFYrR?72SBLmO5!G#f(4pTE3t}?7#8_NeT`)OE?m@ugn*Y2#mSeravQTpxcfY%%f@q^K`#u|4n}iFrV|dP-win zj9-p}-XSTE$$3fQ750VVv$9P(siHLqGwO~4YmaCDRVtEED1KMAbI3FDiAV=LxlQ|0 z-`$A^f`_N({AllWPJdU5t|#qjz578M-w*eFe<|}jBv@5LuyI+`tDgy!hm`WhXYPkJ ziqAw@lk-cQq<6H3Mc={661Udc5c*mXk4gRJ-1zjC=KAb@q8fsj`1F&qF}p;`aWhxS z0)HMn^z*G{B7?$20h6W`Tz$XUb5f*6A%QCh zk&)iSRFPb~{9k&RotAVSqzvE6KMlo(AQmIyIyWq11LO()_6`nU>UNvboN+x{bSdOQ z_cAyhhg;{}qr7;x;25r(R#;#I*b1Sq&jiRCU9~bYqS28&tRnW{{%J3V?2}_F`bQQ7 z2nmqE@nDP=g$Ygq5`V!+;&%kxpYRQRDgGvvxAQX;Kd)Kq63|CYajQ)%mG9&uzgWIY+ky(T z*IlWQc4Ap`g|Z}`^})Y;dFPbeqxkW3V+uZ!_z^p|c3V5=o%c9}9&U7M&_(CDC$}_{ zi8xJe6}|+LO!?opC_n3<$%!xjP)#SG0Ww+Q{h>3YHhgZw9?rhs*W{<*51mzl4U6 zb@TILPMq;+Ao?=r=TGnwv`)w930-V-Xj#A#R#LQl_ESNXX$#jbhWuwG{*jXRisL_~ zhY!6T62C>iam9R3zaarBkh9E_B$dP?hlSBE!#LY1Y*AmBg=A*yW}@RS71Z5&Oz?u0U3$9`Lf(z{?TYXvD;`zFJ90;*TkKqx`Y0%YWXU z^5UUc9ehn_N(q1`fa==3^P#`dpBJuh%i-HPexV;c-{^mSnPtz?0lFi3->Sav`zdXG zPw8VM;rG3-&=?p(Zgp=T-xTj(wzB*V{IEIg6|T_PBQrSb@HNoZ_2N?f_UBH@C*Bc!mh}@;@W0@1dMSx>N5GrvTvA~gqrfY><{fZRV3 zr<2;xSl3#&UDVA^tTphY^u5zJne-AJmt=@B2TImyti*JdtrN`z=}N51c`Pyh#?I}> zH8odoZ(-Q3FF&WWY;RGb9CgwjlX=*A?02GVh|CO?z0Iwh;31b-Vy$x43{*wbz+lC! zKvv`$GmfG}sO&v2WijV_XM$EPw~7*xu7x!yEPiL~I+=$nwHJQErK!4JUXX+n3ILr~ zL$`#lQlYTMcOLUWS8_c^L*2uYo|tpoAzW$_;(#k!6T2?D2_5L0P^mqlO$o;@$qw?0 z=l8+FTPxR=_Y1~;WSr7DR76fJk!$a5R;SVB4j?%0RqkCM2=CN$!gjp9DOSD)x)BV# zEHr^;J__2kL8DIyif-kt!WBafyNZ(wS&-eKS{uGcmGe@L;r9nglVc7RL1;`Q>eCIV zswK^UgR#z6nH_h(e1D6P_mc4zdcc=Wb)L!t9@(poqK1rI7;7IJnN_$0K1Wr1Nl|V2 zshrTVL#S~>sBuN5tAZ*bbqJwVq*$wDm-E6Svf<*RE~{>DM{un+@f#W&=j7?eXMPv> z(;?Jh3z2Hk?E$|4k^F92Sa-T9?%3hzIuM^& z@1n*#x^eNiEFUyP=m+^24ZU&-IR{${khYd_D2hzf6Lef)O+sk(1dUjzd!zd_Gg~+1 zhrbbaw@oa3b&lkpNHuQwE%ykY+yZ}cFn_pWA_i`)1;bN%uSfld&R=?ZFS$Z0QI)1I z9JKDxv<##6xgwXgfp6|qAknw}V|DR;K{Cz`ykEH7;xHMj$baMA$X8NjnBub%HunbJ z82;kk)FWemlI^80ZF)-Eo91gTzg2sOrQ2)3xZ)e1Zduu8k)hkP-?}$ln$f?OKb`Vv z&`Yh4!t0T^6Si!>z1MzQ_S>ClJ!BHTomH;3-8gsVHhg)t`UtmM{>0sPe) zn%OHjf-^QDJha(){d3jjs5B`#>lISRD@8%xDUCguKZ=0>xT~ETkWVGQkFYYn6@2Ja zE5D_^9nKlDT4ldgO%Uyt1~xf2n5L^XgAz$g+GPwwCUOpc1;?CrgdTU`BygX$q$J&lWp*I_fL79>@Fn^2CsE*+$IoI%p!YB<{7=1`Q-uC(Wv5N1ifc;cqT7I zON4&ChSd9RUm2dX!<`F5_?^;k>5jSuyfXY*6+-T!)U&l;uTy$WlNW6OptRDarbHdB=8)(yu@x0kwXtEm`#IR`zDIWhuOA}J%fv3uz3#1 zfLA$oq~LWF-Zrw$?a>j7nqXWkOAKdhcl_r4adfw6Ksb*{^0Vuty&R{5Y%d~PH=Iet zRyNM&PJwzcw+#x#r^D5PfgJ(E)jot)i_vWW#}U5g;Vn;JmG_hA1f7$L|2gz83xsN+ zDL^dd7$%Ix51*QCcN~XuXVKO2T(HME0AdQC?Z#n*wCLNcyCXCcjK0@Ri#X%AA zX`9oNbT&FJ>2g>o{?p`;!ek=0iWzBLsEAx)*4;PJcc^R`5;z@e&KRjeqPNQY3h9*x zQW@TwKT1q(!?Fff<~Pz+WQsuBdjmWeq84rGpP+!wbG=Hfqk9bN9 zkX0bZ9XaWo_ukynd~I-?9vvr98r-iso2j6_l;)$w`J(~?nlc17WK`9T*;VSRDrqe5 zJCS{&)iJuPqM)ecg}1Jf=d9FQ*9Lw!IvC(Kgri#mBLn*;R*x+D!iwHb7u-Fi%L?|7 zEWp~j*?9~v2$&=5YgG=VM7XGd^<{9SMW0zw@z5>hz@!aGeoAXmNgzJzpA~y@ta+a^ z%&5ZzB{n)fvmILvb`U)t>s}nYImd1+?(9sfWFkH6_W;Fy1SPhsxvM zz^q`PR+StT;~}(`9yCU$$eAxmUrWm-;FHWS@_?i}xCjqy$IdDmieqU=sK9nMBTWT* z*h>(t^jYUD2P5u`vzNe7&V|K@vhim5a-FmN1wlHc5p_=VEJ6Dj`GcJ4`U`Af&_3Fn zLwC?-L!(ma1Z4%#Q+tW_#`2LA(Ru$Iwnipa&E#d8#ol@fu(`j}y{Y6iyD%7uU*8@k z)2=3=j57@v#BkY`P(V~Q5waJ3EDD5sk7b@BA3DpCyH!^b1WU@BLIocO?JYv{0w3!j zn6k3bgmV$&0Pid4D20Ez58RnGLk_*N>(1(psNlsIBGAYXUa-%-c8|yJ ztOb(;@yitZ=k{k~g=+H$l0L1STP&qKM-)j(n=#5qc#+K6vI=*U_${hohrhVuN3MOU zmOVMo1aC81_>dP#6+L_@+g%~`;=j!o2O*iju$L!Dujm^-boSy~6tdSW>LcCOpdPq8 z(#4CGTI*bc%<5jpQYgy1NATy07w5+M2^(Su6SQx-{dCpciK>3JRrD%FmM?GRBmc!MBYa z5xlRwlqReNr$P47Fxab%xjN1Yh`GA_rlhGFxSAyVR^qi)2th###hD6~zfXLT&;mv` z?JvJcsEcP8%=Ub1OAUrzmks5&zewr;+yYK#DSDFjoEQ=)f5@}OUh3PfNC^tPAnsDX z()qQ~&1X!+Ge4q#>vmrkH4cbP!aYRJ6k3lVFAdwDGY%raobxw`IK0z&ZmkiA&*Gqj zAH{qWB3a>haeiPVZcEw09oZzz@hpO+s7f(ETa}xbbXtBYEqgY9kWO%CIPk4A-ZWVC zS6LY`GMCaa2JU>67bHP4Eh37wVMRTfX^674U`fGyp|Wq?2c;kE7niI1$5}q{E^<;~ z6T%$_c{MU$38hG_r?Ce++3q+)KZG#Lp+L6qI^9AKH$>6xo@J^Q3)maOr%bWxLJ4_Vr2Vkp#zfjq0 z3MUF(q4uxoFvD@&T9Yubz11R>AEMNLYpCFW`*TL*+>TVV2`Q7FDT?~PH0#n!Hg(1=76aFN- zmf@Z&4xQuboXz_gM9QA;orlNKd-aX~zW2_;hrVzBpNgfp&HjJfX8&gX-!TGj{(VyO z$Nwxj|JrTsS%6Mc*Le$2cF+O1oDEX@?VtaI?>YbP)&C|e&}}ckq_+Au^Z$+!w3@%= zpTFE_Yo+IZ(Ei=M2bq7_e|!G_rvFV(9d!OJ`zPQd$E|~;BQFu+5Fgsv?vmv`P6I|i zrQe_MeRr|gxp$|&8~+9SgR!Hzylt>J>DtTinao$Cg!5x6BISv}VH+V8p4uVlFRlIk zn)aL@$$(9{24A^0@YVeSfzqdcGNEOoNmGBlxUY%h8b{9C1M0{&(YUa!gD|T}!8wV3 z^jDBeh@Fof#Ntc0<3nZJNecN_?Bj+{#&6Ho`hAmbiwPX3hGku4e>L7yXj1%|O-cGB z;+9G+@cW1S#O~*5XDGe&sjc~pIIpew;6$meZK98t>ELt~8I<&KLxP@8CY+5sKQy!I z!8{7;kfO`JMorK`S-86%^R%~4{_)lM$G0FoKH8l2tXJN&dVmIs3pUtG62JD|GmvZ< z$n(i%aU~B}COvac%(TBJ^Pd}&kGhAdgH*e1%<-c)N8ms1#K*Pg>}f67i!)&{R?6BPrm-5FUq$ho=f_FM+W$p_;^gjdMKz5lKdtZzec7OD%&e9 z|A3YSu3jC$A_UcXxj2`fZa_bH{s4HM_~0E3y=oE|IN8}kj#d1BMx^&yo(nZ-u##3h z`@+1;_yE!GwutZO){`jx#?MKSS0k$;&I!KyCq9&dBWXXipW+xngaqyN@(Iaku87t< z{ds9j?OMn*-}Xr6#=V73SUi!dL#Y8bxnZpe5k|)n_d_sP9;%I@F`AEabaSUP{ zco3i8{in%`mm7}{8x++Wg7Z9KPj zYi{%nis58B^@!*@8z|CY*nDIw%6CjWEdA9wheba>mk%AI8#+bbso+be=<@ASs)LM0 zZ6)9Z>*B>JOnFh_6fi)?+K1&dfbV|3`@7`+%*V$cVjr!`cBYF_M_eUh?Z0#UBLnlt zW+j%T=}p_?9~&4pzdURH$admHQXwnrjel%AZ}=nI>*&h^3`9v-azBuSC5kfJJA*w* zT`+Pe`MzI@YzNaE2`B^!8zh@TbdiP#B+i5bsrJg_WrL0M-9FBAkj9yVmtv|)kEL8 zpCd;aKgS-L#LqW33VxbEo(6O9sd}2fxXgs`P4O`FGf@dbip5KYlw~N$(072LUpRN6 zgc2j3(rWCj(CLx(whQC8o&bvOm_5yXoKdIOFO8>f@IDhyPq!9~ZVO9UD}$r_$iUEI zNT_`z2DdQQZ|7K)MXI(eE!rPB3z}n)^W!9PmXps?mfdWcV5V$V;&sKxQoG6EWeLNQ zgQbU<9}&8%@zbKp>PYlJP5BU^nA~9Rd9A1h4gMfQZv_=HVgnPSL38#?(Os@JK71~& zXoISnBQwzL6|P9)XKV^$<&x}ZZJ=sL`B#N2gGKL@-zNuRob>8N)4q3x7_CXb>q=}3 z{3{7xGXw5e0KEj z!d|68Dn zYi{tP2&{iucr-SP#OdC;#78|^v8RJISMz_4S}eckNiVWCNb*)cvaTj2*YN&#h`#D^z=tcvA|M^i8+=M4|W z4q;3JU~@JJV0mCx+jk0Xok20@Lf34OI&7OQ%B4SD z*P_*t+td5wUIi$bxL!0psp^--gb86_!(JQDhP9**ZSLFuI(<7SG<^UCQeGH|WD~eBpdMxRi?z z5*JUbPT`^1xHk9gVY0U<4vHGsThD*7)-4u!YIU?JM{N^I@Kw*JRDTeOJ=|{CEbKKc zmbW9f`#ME54-P%Bmyk!>O?>1$0}3Viqn>}JzM3KLq|TYK*||>QZ3f51*Rh#dXdpfo z=Xlt4p?D_=eo6g`*}b#MJ926QZsbU#_Z>PfqQHrb?iIfvU|-nF9z_eIA$Y&-X!KT6gy+!>NDi}0|cH6e!B%tw)ns>#gX)FQF4*L=si92wjuT~VdM>Zp0oc-c$`()4%&I= zxH>6<*w2`KWmtRx3!Zc>qurDpKLM>VM zIl?zntXuJedwyJa?J_RNP19@VDNLAfu*DOr7tdh;&Ri4_Y?e3mst#SMho0P@76iKY zMF=?$6D9(Ieh$ga$^9$?;gsI_V|t`SkjQ z%{YTPP_em%%|L^Ul%I?=m>Q}umJF#EctAK3zrk`~OYxQ-h%lx<=JbS&``!!KjEX&1 zTUB!yo_dfsJLgk8@h_DR<7YfGR)^^n%FD$`yo#T3zxVzqdH;0sy}13OKazL%%YMht zxX~;3B@n1Glh^KL-upH3euAPF_9dBbC=eWcaqi6H!!c`qk3d^fbq9Lotwmo+eN zBT(7Pz;I2<1!&A>+zqk%H=9womSYY;v+a;v@!-lOj%Vh1;j*RNJ=*Q*$}TYe+lxDp zj`BlpB8~9>4{ABeA8T$VjdXjE66T#%xrSX&@h^$wxli>WAPH?oX3%&}5Y!2T%RVYC z`x13I$1Xg|qjlX`|MSo&p3yu6_&kYbhIE>BbbQpViakG=ij(EaFv%FQN&}nEY2KK` zuOWbEFG^aAaN|E?@n{c1oya0tFy!W92DStczI&G@`n+0JfdZl+DB^Sic z7-Kqd-bD{b^W~38Ka!+GGNv<#Q@!th6aTCk-oEp`yZ8Rr@;(Vayx)7Nf!8_mUhMZC zyt&@{N%B4kKa^kQy}v}>_x8#Uxw^au-(K~;ogv?{_!dTHicbLqrsmGPBOE(xe)bV< z!l%fe(k~_wz^{OCnzc~TK3PszQg^%O^40KBHowEdyLGc`ggp1=3v~)UoU=!Q@n>He zB=eU0Dx}Snw-ylzg1-pLO$};Sz?L_|<&9)jHRWWr+kpE%lwv4+(a{v!o1C8!_9^C- zN+C}wk9s*C2I8h1IWp;@ECC$uJ4n8!{fs;hFR4IWA@%)v9^Ue~#gKo&+|wlP?tf3y zHjqq7ywBWl3L>!reXV0R$=u;kw(MXEJ#=R0- z6GmCc@lO$OXopLn+Jr4?R)lIPJMO0(*=%iNJUTi`=TIOrkZ-KEVvaMAG9^Wy&l((x z4i@D%_ld{Pcxe<((ZGqK*^8Z?cv0eK&Ug$s^jGc7SE|llwrHj|xTn=I4sk#Ob63E! z<)kCh<@oN>5)3^pK^C%g{X8qBIKdcw9x~9ETzjiBP&)4H_Z%(~i=87;LU{C7*3+G* z-pv*CuKS69F!x2{R0KKNd2yF4BTA|#dvwbnp>Ux%*}BkMW-K-mzS9SFqqoNEoeh{& zN@WV7NIf!fhvJngI|EMkdK3}ul(T?uv|j$Wx1{TxF^t8h8Y)L_@l->Q zL#Lx9%PJ{+SljgBqj9wS&*s;#R8|4^wgX32L1li0 zK3C>fdw>7n{S{4%Q^eVf(5bPUN`C+5848f+FBc_j`HuuRe~ig;AuS`)JfK|wT0J~# zLJ{vdpvXw{aK?S-YG$ z_mN$6#G_O|l<#@)t`7T&)e9lKifJIrIuv(ssa5;(avmpIx7L!8qIW>vOQBv;NPb)= zKb$#O5a@3+!N($S%36r`HKO1KZA2a>Gqy=Ow#xj6rFOi-9?Hx2M%rH@O;2;q!Yf^f z=`j#&j*PuI^T_Qvnj57D?^+0vHMn$y(AT1wbY4IaAp6Y` z>;PY*ODlZaNxwpzHVITe#Q9DBHWOONwj2-m42T<7GlTxT;&;BwezX|s^`#8;8N_T(KSvq9HnfCy5M@KZowdwE&Q)?IHQUa?EV`v4 zm6vbmA(T&ikb?W6pCCgglKI)$+UJUSPT2?JLlaUyCEvw|c07ychn&YbD0}DG5jZUS z=+EfFm5b0D1DSiB8RGnF4@ci912Fg^-!XUS_p1-`-5e?QIztZf9j|?@-<$8)Iv`%d zLH73ZM~U9SZy)3AEQ#bK*fZW|-JCNJ-ODD+0VvT;*AFpCk}8}~baMIEs8|pdO+x*` z8V!dOG0Hg$^pflfCa_G-qhDVjH?Ll$|d`Mjb+XxSyFA6h!}UR`bx;LJENnw*!1!4 zHFT7cC-l4Qs|=(8AQ(rw`@u}J10093jXpp*N&cH9j zUmnh+!_LBb0qOP{m>_xWVyqIjlIx*ba(|xsN4CI|p*z5n3hFJycn&4>JHlC2lY|Va zo`KY5I~(v4rI0h{9t_6C(3^)tLm?8DHSZWHN5_PJpirtQpDX;H^RRc|T@UHX6G{hF z8zgZn{j?pMFwKy?(Of@av+BchoO0f!u)@5$L5m4yc(Jw>v;<6VTSVv042ttbmh;gA zLP{ER?y9$u5js0=L)denN!64?GcF^@3Ai69@v7iC%lAGbFCXvavzNGL82xQj9kYHu6LDThfB$ppd%Wjk-?Z4ToMo*0kWHj@~b=ehrFbc2^qF;M=TNaf1W-{3Rmhy#eb&* zyS1JGGh>O|jx|J1nPumTt|B=2GL#kP>#_3)R1-6UB(o03j!+!{X{}XVfuvVrf0me^ zT zCi4}$tX2?xXeky$sQONc#JPkE%NVxDyg&Q1A{25-e)es6kPa z3Yv&Z1`?TIP!w5Owc5t5ZdI8PEFi&|6sF@Sb+5K|(`s9-{i{Xmny^J&5fwqI;K~^W z1veH!@_v8k-aAV`+rID1M>BUh_bktO_Vb+Q=*%rUerud)5F<$olb*<9cYdtjX8$c@ zfr7q^T_^P7^g#^DegEt^LJf;XOs?s!ugCKC*|Xf|<_om!bdPL(py7T%e>W#C3!M)w zp_|`!6Y{`()7^P&Zd}?`{#$wI$GzCy>oo;z2qO!Y%*=8g91$4e?!Nq)avHOd#z1uwgA057LVI$w@LK9Hx@R*+RN zR#%I8`oUKM{bf4l>WZb@zpm2>keOLap;B*H?73{dD!P~=Z9)dw5IY+SDiSt7+Wape;sY}$!ZlGv;L3%^NstU$EX z+Dg$wv6BQ2FU^qeuQEyZD}+HY-(?n?yIuh-*?26?H|nM}uKxo(`w$1}!SfJ+13Wvw z+!Z{R@N{Q*-lC^@@Qi6Lz8jubifFzIp8FH0`7QAL5(7I6&r#UBIe4zb`yhB;g%?Qh zOk279-@T%C2X`9d=XI{@*Z^>c~3T&Dfp*% z#^4LUU_mVFO9F@8EnulhM3r1roc_pi+ZM_ohH~-aUE=@T#L;24>Jk5El5U&Tt4uMi zX6Bf?UhFzwX>FU&vj>&02<)`{I^RABnCn;vB>$OB;iv3C%7Hdoo*gXVn^`rojBkOt z=pr7)WT0r-JkQ|p?9a9AD9CHiw?6`Azr6a%rPrbQ*J(kw8J8bzoOq4evU>wc3fu7I znfjX^&|Faezr>T%Hwy*4^(AldAn}!U-Ou4|9uu{Wf!IfiGv>PxiU@d8C3LJ_Hl}&A zJr;`{e9R+3#wFI%qCa&eRH-1A&E{WNXu`8fLX4do7f^|dw~6*K#bC_`7Orkiz(`-$ zX>|+?&-H&LnrOMTVC5jU4ufgPQukT(N(FfW9?pQRU62h;?|eo7?m>- zIhTTc5;j42%UBJZLN=ekd3qYK#shsvJ+!9s4a{2YWfg;*8}FiQQ*yXGfTQK0KG3TO zU2KDuYWWp5q0ygbPSccQgDWXt>(6Bc(I(XtX(=gdAEwuKu{Z8~0%}=RxDf9xbmlF_ z%Ru+Msr3jo*99T!S*gf0Z5Bn+m|pmJAT5*xx4lN4ZbH5RWPG^}KY8$LmV$(eY|$?d zXc5Hj5w0}1@FG1ms~2O(_B8qZG@n0Cf$V^6clPA-emqZ6fr z2~G#wGLdmsGdeYSd?iQ_C1Sq+kss%S1po3oI4e~O+bkRMe1I@Kws0!ZZUs7Xi!edh zT8Dn>;%XTCif)ch_QR`d5w^@cNkFPlvkc^sqf-bQ7A}M2IfUJeUpZjj#i(qm-4c6gAdOJ!=9>etYJsHIyNnHV6)FgW(=5JocW`v@mv5{f& z-?K-xP1#u5f(ZhY1VGeRU+KJpS*mmW$XWfzd=HIZk}x2pF=$OFgqvlua2In~kr%(L zjWLY)Z2#UZWSY9%AJ4tj=rY%vD*OsQZ{JCaW?e}B+8b_{u#DCu_ds@6<1O3Vu3>QO zc&dAUd{*|hJW{El*d9@)RphLGfN+}^*(ecK6FsS`b%jiR9kreivtSpcN|%G zKkS(N`{YdPV)Wx!lcxo#GB9-aqFGxNCltBuntC3*d$b-XR45YX_Jbk1wb4THt6*95 z_U;e5^!7k{n|8A}!%z9>#zFeX4GTKne$>4`U759YIMq7w!92>$qukv*w8`hK|25V9 zx?$Y!VHuP#^uS_ItVQ zYkiN_C&oIvMJrsTZ3OPcE?rRMeht%X;Ww;PjW(&#S90yS{rOO@s(EFrjs6Ai|6}F= zI%etlyZSTz77Gvc=ZQ}8x6>&{ojTO*)Hl@8rBkG;vz>}VH=5UB-KuH)F+;yz^x?Ci zibsFYqx;QW#I5A|D}MA{{aJr=UVn%J>e8Q2F8I&=Ia-ZZ6!fQDkNUX%+5La&&)Hso za&bxS%vm5E=mM!mEUgfE275pfe13Bjjo-Q!U@Z0FlhC7CdUU_}dE5U2pO=1R;WNqY z1zK7bf381Epg|4HipuE70{oeB7>)K)qj~uAg%j-Fbm|^OiuBasS~c$k8(lYYO7k1zRcr`HgrJf7&JZU0X5Wv^ecMQhO3=|cgY*#Ii8eSqE*A>>HJe*4clyWg^OC7~@nREb4|9V~ zEXXFqxJKiue#YZ>>5FXiRttUd;v3L~mHf;L?%PQ>z?`_TL|SF@vc!vx2~;y8vxY1W zvzIt?hA)pvnZz!Dpv}j2J2m@(FLWkghi?xOWPSZZ3jiJP)nR@M;8}}5LE7Y)+Hair zZ}_q?*~0^^g8%0iNBJuBgu$LbTlhU_@D#Q8}%D)OWFk zmD=s>>NS$@8&K}phzMweS?}3993~3S2e(k{O-c#h$nzCYUb0n@0dr-cB+sfc6`u&> zdBNl8Iu&7sZdGKq|Gw0Fucy&<9vN9V+y8e*K##rXke}~%(qGYJ!a}iEo`iIA!1DF$ zLkVul)33vv3MU8f;`E-p*tvY}{ii?M<$LKj2)=_9b+n((%dy(dXRYo|x;6kM<*$V< zYW+XkRkW~wa*(un0G*!sP$}0wyrVE*C9}7y`hVrt?;S+A>-xv5{&3g&J5DVe|E}w= zrhawGOD^m3pDz9Xiu1;ed7w-GyW}7Jmj1tnzZAxkO)k4D_}r%Y=X97n;Z>j$( zxBhIh+g;T^O!ZfGt^cjf{|$WP?-hLfWVgGj|4oh|H_zYS1wI2N{5SRgU(CYC?LS7F zrL!*ZkE;HQyVl=PnvExryztm)SL1M0>A}#5BYigC40Kv$VKFe*6!h@Q$_>oGpv*w> zMPgE6ESFLeIkWHRk8})TJsb61C+AvoCZ4(kA+V7vIJjZTNNX@b(Y%{|CICY>oWIsSqZs&1tY%#m!%CrPuFND$Y1zWY5H){{xVzJgU?}#qNVa@?_l@Z@5sw^?=h-&ZjKjvz9U0Tg?Ximf_S9 zXMYGZfR6Y$U@7HjOxGW5PW;S;iks(HkQpn;)VGoy(-1tQc!Y>}B@X1ZX3cUygCs{!LZDYB*Cpvdn+(@j?|=mdoeUF*zFQqVe_p^dY(W2<^e?Sw$| zbQ?PaK+Vrja>Yh_<^`*MfsnX{SL;R^%l zx4;K)J`|tCnRX`!YDNXfdaBon=kwyNT>jB$^Xt2l-#kGT1=Zi-;{uUAXB=w%Ij-Mm zu6gQ2bw9dsOzVe{0XiC{I61PewxMqF%Cjt`Y7ZGhU#I9q=-b!*1B8pDE-s0Ew0-a* z+&=eRBg{C3mi9{3_byT}m<@*@ZCrUcb$T&7nhCedbf3#+cD7p|y|{Ew!2g;KCHusV z!PiUja*L2Z7ue^~yO;2_Ep}Y_l>L+4!Ur*zETG^z(nn%~yv4-Rg2G$u8i3_{1YHVKKSi&aw!OTczv$m&;{rniJrx`BM(D>*%WA^l0Y$*N;ho9OF&3c&;1-rCOj%(ZY zLnn~%CvkaET49>jKAILN9@us;pKMg`m>7usP z=8+4vIJP#iSSM1nMl^JW+K5FsBGs=lB()xUU~y@mqQ;Wa3QoHWOdb*1w5Zf+T|z^6 zz9R>bU8`aaXYnoS78yV;SLgAjy>?ufXbSGg&4=ymMfAw$R}7IHm~@8Y9@e5K0(sQa zroFgq3T_Dx=D)@D#ireqB-+0S-vs}v_H?8pnCfIV7sojw5f0$|qJd|zE#*%9czZ!KUbDR*8gIVP5wV&t3q#0g$Sj=W zjc%mkAdR1(khB!RfE;G~=>VcUYC=W7@fhI%GZsj^!vbYPV*41DJqf}I zX7{7RMfQ*Owji(XxyHgAw#*qOiuXq{19c$o#6JYB+zI_!rX6ZSW6AiSXj;T{sUhHxT*Mzy=W?p!I^< zh}5931Tu3Z_MgXAEZ|aO0jtkg_Ga_XCb7I(uTZu;F_gq&i?!+@!}d!o!w{Ixj3Dw} z4_Q;TdDY_5GFZDFl+Ph+jqeC*kMO}$~w12cuXx17o zuWabKF*NIWu0UhBQS$<_9MvaEy9tfMwY2WUZv$44Ok;9<9?7hQzQU<~^UdZhaB_jS zKGA0Nzfkew&@7k<;Jw`k<$1&xQ^|aA+GsF}|FqWAUE|wml7&l=nIwp#uDLdA$1ovC}nr?{_ zb00fFG_*Wt?Cy|wjaBCsm|x&gaPdg`P&nB=HTW1-O4}k?{c4=M$^V`7`p)NyQ2fIk z%4h-65KYznTuPhyyiznSU!TUk7r(Fid>9ZvAl5RF z4^bWsmFDS?pnCXou7Kdua1UtDrJ8SA5#{MwFH<2O@dEy`wo*w5m7im zNq#P9T8bJM%js!*Lh!Tsd;fZcGSP3?)LnF<#lnv$0XN!=Ps&M4O@ z;YSFTDJHZ5jbS`SNNd~7f2Uu~r;Gh%@yz=A*c(46a&G!Wa7vCWubuCt{^ec=zX&-$ zlhV;|8Gg4^=~AbUeFQl;eI^lUJrV`*6mWSyFWVYZrR|Bab-DQOPkJF*Z>WCJ@`%Hc7cI%g4f;Ktj$Qb@e?n{Iu&e8FDEsgJ=gZYV2yu7xX`dm-H$Op^QhX}F+p zXH05Fm@O(}5%{LCAAh3u#t&-rU*>1p&lL%TlGl{uS{%`o*gB?mbL1G!(;*?J z&!M`wBFNRxEQ(x1DyTkF>@;3i#pTSZ#^lL$jfqipY6?jlW~XmB+&rFWh>cByInZxQ zNu%>{8;5f`slGHFPF@vk#K3DzUKgxAJrJEG%^_gcRzX41t#Vz1_dS|Em%;e_Ak`1( z4Q;czIuhf`VM?WDre$ZYeV;xUs9@hSFmZ+<&uha?^(Q%~nm@4An*I=-$PCEYr=evi|W>ZMPMKi(hDM zyY}P6QjS*7Y%Oq4d;WbLVrd->XFgn-SZXCaM|t+j4!d40Z!>j|<9(W+tp6MSX#vC* z9K19?0B`QNMy%-OhzMt^Rf50 z4_;clk#5)wtg=TnKLs+frapOS7^N^sb}9j16i{BDIKN^@WZK9Sypoec6U!B`bSKK( zYy@t-)NUK(T$b5m=Bf2$Vr-~gJ9!M7vEh>SgSWkwsW09}-i$UJZT6%k4A^>lR$sd@ z`l^O z^_vN_B>lYH-m2~Z(S?bPW?uw?s)GLW>Uypm0GmGNN=_0-mU%L#KkNjbvSbeuG=^re znA_<@$j7-I8*=kvDyWO}upvg#!)JZWZFyu5-Ilxgcm=SSwy+n*fEC%M*^9Hv-25ZS zfDRV4$jKge;hGtQPW_;d(maF`I?t8FNX zcCh=y#(%9>p8CiW>FX@7;;7c~a5sBeGM!m_R`rsswvn!SLxQZ++_?-!q*XWY(T<;m z$PmeTydBo~^Xxby<17IYN|#tb=7z~tb}ZsQ9p}jF@iELnzKSLCa;DDwEoavlo^rMe zZtq*gZK1+!zF^PK+eOYCy%%z3&P`x3-kZ5zf7B7z{VAe1KV7YPLvyk&&~Qgx6=3Ih zum9i%J;!r{9`WsNQ2OU8z&U*A(!bVr`e$zRnIS$=-(TI;FPf_>SD6pr31m0Ryu3$| z5+iXguX~y&-p1tqS_3>hHf>1hl-|jaLmHb)f6-LD5l1-^W}F@oG-oyxF~JEe2N2_%U#X9X4H4eML_u02|4a9T%wLO@IZ1>P}N zemUUiYT5~+uDuSK5B?$kUfD=(9d#DUPsr7o?WoVMY=37=E$r(ru*%g9a-g2d)Xr?{ zGPS=T)+&9d+PD3-&N3Hn?)|yE%D+D(3s)@SqK*+mqz0r7{Gln?jP0=6JoXAJN7}SJ zCUJob2mP~ob?qj?^fP%y6Dr!hOVQs@U>EYkt|?tyV9T;GQBk`=ofFU6S(RDxp6C_R z6$?3>D6KG0*awIKtrOvI-C*`6EY#bbu>pg%2e+If9VgyP3tT~L{wgQ-Ywq0bZQD=@?y*S$Tx&O-ET~P9igoFeoz}L6BzFe-CNAi;Oh~K0Sb}w$RCrVpmNSotoYL+_j z-Fa05*oN|(ex5(_Q!q;TF0R6P#jw&9^uUzfB^A@tSL}I0NL~cNn@UF!>l*m0=#FKP zvr;GTfTX63OLoI3k4%?|-nt6V5sfT@Fb`|c4FMG1!PVaR$4dVtYM0j#Q6>jnSPr^4 zMQhIq%v}AHD8UT~$@d7~?qW|Z33}TS$ZR*R+-w0(^|hA=W-fe66wHxVS5VBQ|JWAJ zf;m@TC4U|?KeE0fC@Y+72qudpwsDr-%1>jGWEkXmYt`0$>ub_BjsPyY%u#|faER?F zxrQ`qoa!F!Ls(ZOF!`KVuGg)fUHZoFKcyM$hQzy~)eYvn*I|K+S^VNSAy6qxPtobn z5|GJyHuBcj{1H6Jm>7r-KTt=oNh1|*rZ}6zYqKe#a`)24V4E*cQgA9;U=uIKK3Kp> z7quCfPMO!G#6+mhEV-l0`mVp`7B1jZM2kan*O2eMJaTQ!1i_qZPS>g&$HX^xnlH|T zp=hl(IT;DLC{=o!jQubvyz!8mMF;V=V9-vh4oqU;VLNbN4i^@RMpOU`>Z^>f1U}(% zMKJUHI>EOlxe^w^Q9Oa&L9_W%_{dEd=sLYm+Wnaxs?X!c6y>9 z^7!ppd(G8v*(W@qF|kR30U|5y`guaVmvcA|Nb!mXcq-pyJ%>;x7Q3$BpT6cY>&+-& zyg1LkfUTd-^V$WGBPdVi7JUgu^s~DWoz`ZEjKxE>;**NV+1Kxb{#t_dX;X~z&Lvg7I~2--O&IkUKwC-HH6@>}XyL6_ z6g=?D^|Ix%Z=-AR$V7wUOtD4f^|fC(*I!6?L$&WZtvcZ%eG?6fe(C?k@ba*8!wjB; zQxDquFPz)Nf{836D{HY3Hk-e`DiHN>;)?->y!S|pi^F88q|}w#A~f)MVb}s(1x~z* z$~;1|A79SL$&%p!)@juic~MYzKpXwJ7CEG7Y+G#)%9@@23XP$Q_FU5g?fI`Us!#QQ z^zp2l%evpq%{))HSv3QAsAFNg|B76!Q?DK+-cPPH^-7Bi=KV#K|As5MV9fd2cjQk~ zl^L&FSPG}PPIr?U)R^_4oc{;LpLT4Al_zbpynN>Av8o4TvZ(bLR!{Y+>Q8befc49J5M68bL)8Ku>-t73 zlueY=M@d2ityxL5raK3aI(^8EgOhSBPRgKb2u7dc*s-{_$dhR-J%SF{fP}O*$(xsM zhWX{1v;LNG$}Rha;xVq8a;R+^TYJys6nGo)7rV2@jRjEhT3hwfL+`flFfVb;G^VP3O&kiI^OaIPy0Cq|L?c!B%gNrq}_ zM-7_Zj03lZlarcKz5Yq}i%w0|@4h{h3}Rb_SoKbh8WgH+n|?x5a$;4eW%~C!iz3xc z$#dC`wklFNa`>5hY>ys5ftd$tKV8dAxLTi4fyi#LYljv``iGMtzft*_7MFg%IP=Bg zQ3H!JpX4Ek*WcLGn&N0_Y*e6Fhu`F;$Kns;(fddV?^lVa7k=ae zp+qExyrmZ0dG+C7XMHqftIYph2cX?=7mpkarIIx}v8eWi>CY4|A?3IZ5Kaw!SyNy> zPP#=I2W2`qqr;cad{rJ!UhTv6lNwFlqV&ZunJm8K`AaPlmNg}hs!v`th(+yQq2%Q? zq1yG+FKR-{H#L7XvSs?Q;Ls%Ug_k3%BBv2)JvtfLxJ9wjBh0=J+Gw#_KADLhewu8_ zUUI}AN&f-?aB~&Q)hPD|s;@Pc!+`2eA26XuC^iEYa~RGKSPUTb2r##fncYvReidil1!ame zE5H*_fY|(`lc!}$^J8bWK9xcj-+D}*y&!&XW?NkYL#M+uX+N#h?FHtlXJ8}0 z^5BhVw1=qE`Mla&RXer1x_s({vok$Wchh&!g7=->=DESNK8vXIjSKuAL{n&so10+s zVv5^48r}XhTFyX=jV)9Tmglz^9bj9N=FjGvFV@-C2J^XD_)FJ*&cg+gu6I@NQ5dV+ z*mZ-S# zx9WxbS|@rNWQU_TfkkT@5;npZ8!Q`P{AV>u8ndiV*gZqe(w!h-b?hqhgJJ7k9n`Jy zltleUMdrhWtkA}x8wd!YgOnu?7b|wQeKv8w$L8eX{Qc~xrW@~K0#~~Il&Y$HBAF%L zeX9TI59P}ZEOpa472u!DU`-SUN0uMt^H&b8jtrkN7zP^MXVa*%Ze$CEOKv(*Gbn!a zX<~jS^XyBgxv_OUDLds;$_64Pvy9);$ePRxK0lIt5_jCKWoDnED5N(*647L4Q`^ zzw9?Rul|tPYg6YCHTn7rE6XgMvur+mbgvoc;eD0x>O0%9^`7I^J0(}ID{psI-&y~; zzO%gg4*hTHoAICPo8i^>)(^7d{`US&`_J`F^Xi+ui~2NMqXX`A9UNvY&YiLSzjMaW zNAu_Bs9e4Ozs}EFlm3hG{}1ys`@gC0f0&$hxu7Mv0%LU^lSC|q@%#}mg#*u zr$q*b6H7H$qk7F~Cb$;r8Yc?uLR}CyX2GZC<-c1(hg@(R*>wCfPH^)99``LD`kcU% z2bLDi$#hUvX8!iPy=Nor zZnef1Ac~x^XLja6sQ+uKVGuQBSzy*a@V@WcGSjs&rjV7@)!S81IC&bXnl&+iaMk9X z?sf^Y^y&hzWaWiok#;p-s)q^=rh=TkVt!driwh5He?^bZM_kUxsU6jC25a}^^R_FZ z9p-o6%SRjAzTfZSHtbK9@MX@XhAt9F%+eN$quFPk%2^P3?OA(|y;R}n9En3)NIQ9XWnuZL6`zY9&Z`^-}06smydjU237cc#NvbW zfxIV0F8^7qa^gR;HUBL$gGEu&C z{*>m!)oY1kA(^tNMI*I(EgnJ}b6d}Pi55fh^xChEXLRVb3%lsGC0V_;`AJ`|one*o z-13Lhsy$EipFp=Y1(q88r2*aUd+4nAg3wt*rzA?ZTa{H|ObmE6flFHCln+FJe%={Bha#YunCsH!=hIt%I*^@UOegCiihBpT@Baq%s z{sx^*^J-{910gcwLpD>j*60NAS?jd~z=}d;J(k0eCgO_nH}Sjq&k4{TywMsKcZP{f zw!~LoQEpnXwPbJ*px;37%VOt79R?Y`)4I@EFj`bJCRNen8SC@IUmsT4VCE!KK|=&!x9aNrwcnL8gda*;sT&bfs!*NKNG!%eL#vwOV$irDvT3 zsP#*YV(Hs76x&cdSsQlzvB(FNK8o61e6oua>I$??pqJK{t76jw+gTm%Nz8O>jIHn1ICx>Wx!rAP^9u42%*vEqIM+*@zB;UP zMo*%WrrM7phXJ*tilPUx>=c{+P*I=gN-ux9Tdd427F{WPPP&MZH4|+jOJPz0B^6}{ zy=o;kn$GGouT3Mrg3lkuG`~0g)YOmzwX|gfAL=a^3JD>VprHzUWJ8W3=m2(kowPZcmNF65dF5}z123yc>Sfa(d;H+sZ6~t7;_5`@MrJF zc?UF+#pw-Z#R?ZsCNWvTT1MpDun3$0Q=ItI8neG_#!6xxM~pncGhtXiR)3pVAGxxL z<)XP%PJb*jvWJVTHZA|OC)N?%kXRUHG~Zqttqo~(?s?^Wr}2%(KJoCX3PTgw1^O(&BmJGEDY7V3`O`<`OIGzGRBH@t2kV^PSFY`y@nJ%1b z=R=GI=iF-Z>7#-XW#KsQF9-1zw`2K$r;pmDG$cXyd(ds`*bG8;_Fq#5;*ZlPBXTDt zwx%2esQ1nh_R%I)OUwemxENq;1MRa6X@iN-T0QG)lj>Q-Y_g=$kk~>1HxUU!v^gt* z3*D?|MYZ)X9#*#zpQ6J3LQZ2xeQleQ+Kb1Gv5CV~Zfy(A;@S3jknP$KC_rThj5st)MGBT{stB;Id~R$n>SNV{3vGKt4+aSiPd8} zp?Zo861)ZCIt$WzJRIf)!r?-bLO-aVb6G_lW%>zUh;MXKI$F1(cDs%-u0IgJSM)9$ zu%wB&;1S{HB8#7YpjZ|^Kl;WrzA60trZoCU$OPW(8gJ0BXYgL#mC znop&#=1u7z-teYWz_rur@{avkVPkF;UX(b-y+%xLUJ-J_ZK2u@2hz*7SLd`oVllv* z>gU`!ZA;!@8DQ+afpAzMb})5%XDz;NCw>UiSs{dSpG6Sxr~u%DMYfow&|J zOe~)D@eY1tJBYo?aB+NJCw@2`p+l`F^I`R}EWNl~FLfoGuAi=Gq3oQdih8rS231rR}Rr?S7^F?p_!TJgP zc3OipTfjsaiR4FX0)TPgFpGI{%R;SmX=g%qf`ZRXK@Q7LeP;S5u_tafs0ty!!7SiO z`X1seJ-sLKxrZkUi_QJKQ^!Q*H|#@KbMgol7gn@dor3Fx&DeDD?@?*>vUHUG*C&?b zY;{hRhu8MJ6JGnqPb{xJf}MvJo(MHJBHA3M#@wm?&&=oqvWjyYrVjDW_1o$TU*L^T z#~~B&D9k~*_Y?)s*Ry7cL8p}3}7-ER#s$-Jr8p;n4H%tzLgqU}WLH;n-aRcoac zN`TOnOMF-bU+-o5lCT>fTnR|wx3RB@t=osuK4}%qHvwWEYdM*|8(_YucZh%dMBB>jbw zx?`mmAYu*OT$*;~wS&iY8&yN`mUJIFC;jSPfL+k*TlB!n!ANfx$2y#whFVcY`3ohw3+++vr-1Gx-PN%oiBk^tLrqQ}R$KKY9?@4L0G+ z6^M&~Dy7~@a~YjHevMgGX?-{*){Rva*H+PHf)0x3gN$|q|4np50b%vT)I^4XP1jYi#bJnt66!cRwEaOM5VEZ3If8yA zFci>}5B&RiUe8weewOPgN$^c~(^=-@W`JzzH-Aiw^miZN_T2a*OXH0YLOptYzv^WT zMB?0Z9-pRvLw~JS2sXmUd{vNy)`CE?$YtW`4J6&(1x!}(cxRZ*=V?An9?{3C{(I4v z91p@DFo}MpU$-?w8C^PXyw?GEL_e<+YXw_oFuxM&{lhK07is!>YM9H?vu%YtP2XSn zc;~Kadq;j(<7%S5qNzTyHE){yIU3wvpZakp?C8cMIGR6WyQi<}WEJ1A8UfNxc^tr9&qVw7K`fv2}=t$;AzLfuL3P-K4L8 z_+0*to06>YxmQe0YV7v(7z$YYV@pJ_mnSdsWS+tjdB{tRN2GFT=J&RLsZpOOc(p#( z*(Y*RtaCtQA7=BGn+v^0>F=LS+lqIp?fRySH@~_IQ86z}Cm+7{Y~$zZpkXf}mEBeL=%exViA8pk zpShMe1W!HLp~Tq>%;xI#opp0AWq<8@0=*=v63v5}5|hiD5|>t*M#_g%$3G;-fX}MR zRJzWq8f#4`+XSBKs^`XXvAC$%?4#ld{E{U2?*7cbA+bb5cnqATocnLy5y|!b^Sj7h zd%OpKNZxf>yVIwE7@Op|{)S&*mlsfNHz%|(fFe5#GeNFme+*k`Tw~C1 zTitN}?zib#s{fBxy8T+A!LXmY`zM46GaRK6K9Eu9@fwB}(8Xe2EaaxlJJrUvmpzNq z9!uBM{65Zar87o`1xKfj|44m8dH4$?8T+at}VB&UB7*us_q z_)G;pH$IR}r%+cWPlJH;(?k4+IAG0L+||#S%tk~UCv3SJ>E|fltc4Ww?;|NJ)P^w3 zNmK`7)~t|h!zYP9TUe6nzWhTEKN|tM9^6I|s?%+l+f5(2?=7mcu^MogzJnCOyxF`k zLceRxPwt}f=4pd$9LS=Bb;ELu)_=&$K|}5DmzaCL%;0Jtgv1^kZhlpv^sFJYzgLo* zUt)ZB!yVUM`hOr?+aCQil#oMxTEG;m0hVCQmS1xLA#BtyQ!_O;HO#{LmOMB60`uZU zu(@3Q;xBLc!S0Edy@Ocpv;dl35wP=N^V#Lig`X$ObpF|gd`E6N-mb_(cx2H0n<9X? z|69;mikO~ASN151&tGIalqdnq8l2h3H<=O;C0|06WFmsZLffKoP1 zwP{wH5(k-EP|LF5o z1;G51eb6PzSG2#E;Hxks$L6DO<(B3D*1yl;;^E{;EWzbL4hm+1n@15@c^&J4<7&dG zA+5lg5+J^a+#f-$Z=gNc{yFLVkw7cft@EtgSCyzAO=BJ1AsG}h$dUbQ5Xotw76!ZwO zAz=Q=Zg7zxACMrWlG%@~5l*nqnd)9?FG;L3QfRR|d7ikeG=C^_r|<_Sxij|J?ff>+ z=w}J;Osa>4>&|=0X%u@rWTlM&$mj8TfgQ%eaAvEw-$nW(@JLjh)l$u%jCjNP~= zkh0gfk5=)>U3jzUf-b8l*VbvpmR)rKy;FAG)Y%nm@?2d6|zAXzNTMxH%LqaYfQXN3!Nb;Jg;^NHl2#pd&JTEpF4 zDY~w5sm#2*0U<*kwo3Ltg%;O$$B%p1nVO~ztmJ*EbLGwG+t9|Z1jDT!2XC19mW{+X zh##wQdndD+Kb&Eg@oZKJicRw0`##*amSb~Fr%-04`RXTvc)bhn^nlHoeE3^(v`g5* z0*FJ4X1&-(Vs!(#CtxZc+f0n%1me=3w}qsXgt_BZ3Kh~}Prw6fAqlp*mbSC-w(~#b zl7jh{0#MK}qFzCTk)L=cvHwI#q)*5{a@|eK{hoOUU;$c1$__JQC#xGkoSAYLL!zfj z$|?@p&t|P-+%xSt{?17PFIoF|-pN^gc~$Z`cJ>LXTf;B3!c9j zXyIvr8M0b$4y0AqVsb%Rf6I4)^bmC;H=h^XUC{ow!gGWN&r1Z)@wM&{MTzY{$7ect+LO46W1#te$g>y-jnT2a6AFk{H#BF-(e3>E3%=q*2 z@pJ8UUB`o;zRdy(wt(jVM{xBfQ-mQ+>t*={m&LF90Z$%(u_`7BGwterU8JdX)3tpQ zpWB_#o8NZA%WIcjT~oZ+=Ahme$E;W^ARy?j!+dk4oi4HIM}Ea+%u}PY@s8}r%zNg> zAEh@J7qriOl;zEJ{t!+edyXA~4`18=iA;W8|FbIqTW*^@CxpHcLt!`?uvc{RDn4PyhAYu$r%kZTOFN z*;$o8n4ZlSS^Oh|-@7iBJMjQtfay;Be(KFfOyp?w5_6R%RJ;SHRFtCOB-Lu$c#Yp| z?4-WYeVURN1w-t9O_=si_EVbokJww&5sIxP4rT!hJ?}U-_TU3^^G&d0PG4=k7T!&W zlM^rJF$o9XHTU;dON-2D;{Hejcaa|n>RK4qaxpjeppa|~Y7f`0bK>vOYb*_?bp;pl z4F!^Yw8F4Nw@BXuXs|x9!+J;G0R~dn&iRHGa0MRf%a7_$TnT5LRL`I?u{<}ZC~~nW ziOY3iO#swQ>%CZ7M-SYS;Uq2(2&mUKbp7Kk8LJKc{YLdM-?(vFr>Q$|SsO2(jo|n3 zxohb$+0v`?jGvFM_4!#oQ%avne?2+~v6pZ2d`1actmDVcX6Y{i#uZP2uShDKbJGLd zgi=EXq}S!X&*MW*d<(W#9xrm@Yk834N9h&T7HgrJBD(^o&Gt{(x&&l6&nDT5R_r+O zzwsg`Ph9ZUDkuXtN`iEJ$*^tG(!6+IeELwEADF82Sn zT&umf*MRQqR|}H9j2$M${DjG3))-8m!wa+J2O7RBzXTs&RaalBZznTadU`#!qJ;Fj zOt?sQ;r=;wyvQ8FTkY;u311(7Q-dM6Fx9=rUi$j@+t1qmJYancSn zc}~Dg&?O_yvrP8@>@8l>Y;z1F$dmUIcQ2Sv@qdqr2BUp!+*)L?6>nns_-6VqpI+#a zGZ%yjH3c@EnSb+ob=TJ?^E$Iy_-Wdc&qNlm|%lo_a{<>YhxAjrv1{FE0u!z3*-(RNp!*_m2k6azO{&@wo3t>HRk^?c%*F%c4Y<5!(CZ&Uhc7MVPJ^JBiOo(Ku%vAT;v6`!l= zbS0;CxD{X>z4uu)FCkUIl{cNDLs>S4O=y(nHCyrom%lufc9&+fYYj zA1elWVr*Nt=!p{f)t{hkzofn9K`FO&UaSwi(+q!91LcZHJrZYpVh-a0d@}P}i$Auw z{m@;@>&4sHwi3=QTvT8FNwh9Ca)*73g?r62crxBK>mIS+r+*0bUpUw97caM4#H-wB zlff(oJA>IVZqJAS#PrTqp;(0}e3UNdkIzq;C$j>lh%}drb9UGMaGt3-0WW8a%YV(b zt6(j!ne(xFeg0zSBQ|oGr;F$Kefro5h4eF#6KcF8YY|Idz(1!Zr<5j7(TRGl;iw3|ivic?iC1;F z&xUF#85=C@@cXB2bnHsb%PZn(;sLfPzPXOC)(VmLt zvv|dAscuV&-vL4OR$j?6`KOEQZbBw18cg5DOBZhv>oj%m`~z5K`NL-OGHMCYMO(T@ zvCnMKE2TiXe^M^fpZOsJE4Xcx0YYU-dZZLmu z?usc+>#MFtn2#;AV|$vs?O4OMQ+4D$FT{e^J+{(kzf zKBFtSF0Vq(ut{j%v=rgDTk3WGX}-wx&+&J!{rhZ1K40BzZnL#mxMlhYul@Wg0`gP} zTMlg1i4Epr3ajX<^m6Hrc0SBF3gwNro?Fz;%)tC{eC>|oO>;<>=J)movBDkwepz~p z?dYCA{=e@$epC;C{PadVRdifx*In4?4RIBaa{9O{^7YLwbl)8s&AeiMF}6ToITW9I zzWl;I^v;yQ*~j9@Aq6}aM_*{u!r}-=kY86EYS|9QT+D2QmagZdg%7nJpCMs^$4@9z z>X!Kh+Zj&>7aiU3L8V$Q>vB>D`B*dV^l z0pynJPDpu03mAWSNI+cR%_#J`!QB2!fXL}RPF$WrHtQ*Tv^avo%f{r= zCTGN=Oq)B;vO_{o6B}vcJSWndyb}+cxHgL-R5TAy@V~yp% z)}KgnexwWLG~vfXDopfkJonttQ?co>e57;#TGc>)M?XnmHjJ=Uy8KbHv<&Bq<}sY( z-}35A+9m%Uewp}p7XDr09FACk&oOW!sN9x$(9Arwi}>~Q$qsDKZ^MVF;l$920(?LQ zGl!bbD!}F?rE2}cpG<{UVipq-8dwymGIz_8C=f&LrdG2Zy`o51TyWQD#1Gd5@4 zqSy}0n=h-V5j((lOXeOe#nf{#C_`?Zx*}y=AEZ{>%AS=HN$U3y6 zv3XI04D)Sc5??9bY9K^1a{3m`91>3byjT&$8l4}+M9^iV8fQhI5obkQbfWwxXdD@5 zUbhE|qnMaKFXg;J@}9X79(GDvVQ1bMd9gc6*OgeF7d@#H{PN>Ibf%*#pVSKH2LR&qUDW8)dl!6rrVV_% zbGYy=y&J_$uciW&bK@`G!mIgh_y*GF>3cOEu9a5gq1qO%-5jo5;HC-)of6wTR&s~n z$*y;?k|1eM%|QH0Vkx9dvf`YH0-em&zd)BEu^vm*Q-4rj`~G!5ZbY;amtMU}NHC7Y ziA?{wK8n1lXD8VO3-lge(4hZPi$$wbNw*e#EtEQ$OOQ3g-i9U{}x@5(~4t1z$xgtLr*9mOGR4 z(L_JiN~OPDO95VXHlp2?|9diV6+e@XWp2EQ!8d;+-XWIDC|SAqDLhajBb-=^X*6(& z>zIhWS3>a8>4|iR?5Z$-^SL!%I?UHUT;KV_ABYwFMueL?UmN6clGyYTA* zm!qBqZX0XBfRUy4;8N4vC>U6M7qQls9`|lm|F!;!*!uiEC3Gk!$K>DgkZ%T;iPs_J zDej8MSLSY%!*KJqtoU=0FDi4%`eM2zR$fAH<%;c=ni_$JQh( z({Y=(vfoX?{!4xO`^GwM6^~7>9Zvm(D4P9D7~NB{Cl%8|n3j;B?}YV$|?IC_Py|9mag#};DkkAt(>HD_# zGo718%HF<(N}%VNmY$!LpR6lA|GHK5{Eg^2ksin*`NtNw7sTG*5}O}916=n>djA*X zk60~h@xv*C;RZ8k;x4HB#4glb48@r_Me>};Y2Z!1Dc*Jz^ms$Aig)Zd5 zCp1yS+LSus=|A=)z=vecNj?vaZ%Q3;?c-d4^(=D4c0P_u+6WE;M2mS0jZ;1bB6vLc z(ziuc1$&mZLJ8UV@ynPmX6ki`)B1B>qrC)?-^y#KL@5MfOs^-JvxQ+l=2Fs$6Kruob$Wmv|i40`w4_N`3Ycrnf=VMIZ5-&va3x8d(C~4-4fKl z!;G{A!JE7adpNB}+J@*y56V&LFXvI|0JkrD#9k~-zi5?>f`0Islp6a962ll6q_pgR zP(|#;K>E%+{Ur8cae7X{eK&hBnXkXd?qh$7J8|YmxZuQ;v@ql174&&MIahYkaclwQcgp+l zymFhtSh-KZ&d9|)j=qTb*DbOLiHovH>;y(vsPoOtW5OR+yCQ$<`sS{jz9}{;JH|&u zu@9&@-^yt> z{E9N`_1X!Kd|#`11Ey}#h>cgh*uUm@^2F1r*P4T%SyoCxsmnsCQQA6t%|To+PVgwq z#xIseWtwlZQLqa#M578Htv!#X99@$|A{kks&gJe|<&g>OjY5=wcJ?In=}e!Nj_0#^ zBQq9%!0=#{eDic@4zX8&XcexGF2?iJoe-`L6u8pHG^y6eVSYS69dWw}!Bm>DZddIo zvp&Db-}?|*npp0hAMbBJi#(fWJZ1jR?0HfFHT&`gO74PM*6X?Jm9Nq8q%Mfnf%0IN z3|^6jlZRq1dX@17YX-k!L8%bSj^c?N{_XnnJgWfL3GGt7J1q8PR}BKsiu+|(4Ytm+ zxT#fx8>zrwH9&*PTQgYrnTx5@33Agk^t+PZyfuXL)96`Du`t(*1?r7RZSm1|fqDM~ zU}gE;`08a^Md4JrT`#0~IoI0JYNRp@{+;Dy!#KMB09apPBL`>61MSV{f9QSpE+>BQ zwF~D$OhYp-nhR*$z8C#d30$oN1>enoflqpyp6q6WpnB`|seRA6vf{VR52adecMsX3f@nPVbqHT^U&0*C~XV*;colFCGQ?IlH_C(Z}u&12Xq zKl}lPi2#bLH7zrWGPmXFgY?H% z6Fn|=Trn<2@?2H7)t(xdewg|b=D@8m=P7acg7SOZ-67ut>OVvU;gMa`!VOro(9a@9 z)5C(REkY>T=g*$T7{uI=KXy&o$f2>GjX)dml;l- zT-wpYJ$qWMpjhYm-rXazu#DVJ*rp?Q8i3ltpofd*|2x=`Y+>Q$ND@Q2$Nly{vQ zV~mb`ihyp&iu&3af#^qqyRZ`?{n)%gXfNv4QY&H11mZbbW|Wg&VqxSQG5DYxi4y8? z9UppBro*y&RZzdv$DVtJJILuXmIf$J6nOqZyr7tgTN| zUF0XTwm!pe^l-7L4zuqeNENE)5mh7O)1M)&*{L&Y>)U&(kGs)h>U!tAE;?Ah!N~kY zl+Arj$I_4TK7u5Wb8u4<%k`|PDLfn&b~@fY zB&swGo%gn>p+`{LS7ww7zxwU2@e?;gcR*Czoyfla*Rvs%xOmhAq(`?=PlP%zxaYKcV^x)SL5}#aBgSkXB}Slf+4o$KqW5Hk{a)x8zeVBwL@Hs$rDPYLRJ|k=>+I>C zs9x#9FLX{`K2KJOLc?P_%BP%&hh^IZBzgUeb9`?K7jHeW^F1QJo*e|Nth0ovgg(zf zF18%JzEg)p7G?elGl~nE`YhGI{%=@V`oIsRopba$Cl>AAsDS2_w>@(iANxSjT^ybDcGJgrQtZgmS z-(VVGDDExmUqoswHb?WMsTuPEJ~F2EtH>T&Dm!u=T3RzY5)au3?8Hx`qwtb?N|l)) zZ?)8d`+-#k%JWnS%T))5G@jZPZeD8ce$Fe@geVKPwk6uxltwKLN)vMi7gR6^>>)wO zZ`)H%Jv(XKX&s?PxN8vMuFS__Mov^C4oYgu6_WA<9VhJ)nn$=VEOGQ;4+ z_?%N;H@)bNUFmCGM!DLI6JN;h^jbH@=~;bi>4luo%;?mBSvAbU{a)S(zc6P4$Bh8y z%CHb`i+22r>FP|k+SkytEBTywshxYv(^`co{(KKn!P#f&tvBEM@Wh?(=-CZAe6`h1 z`UdlVcvqQuX+z7|y~5=0Z(C`hx}xeO^u6^acriT%|E8jEy={(sHUk|<-D*!y=ADN} z@p)WZ${GJdK8~QmGB|Z3UUdeJ>QfC*r zLy7(hz6x&r6pL!}3JPDDSNINF_~C3}r}aGGX2(0&j#ppqk7LGud5ry1I)oGd8ZJF+ zhYLxG6Z_2#R41xPjS`F?kPh<*p|do)%@%h*eJ=0QZ@?jsl;*f4U(1$^9%w6l(N?O_ z-i{}hx*pD!h#cc}A$}>(5}&32L3OissF~V$EwmvG69sv z)|Yuh%tdT_w@4rU7Te?NoLl1+HTnd$Tgjo3?gWQZH&j&dG-Mkgdx~z%lp`QC-@dxl zb~vj{IIW#5yzxp&uMVP$zdcZHKthY}C-RAn|1F>llcuaMzvoi_ zaP&B>C-S*h_eHhzvM5K2;iA8O~kRj#ZeQH?Q zL&HGIc*Pp3vj@qCQ;$`&*qgICNebII^|WozF1^c9bsi^3G$xqlg9p7elo?o@8Rd;v zUM@}}HWnT@PC?GHC(oxYbH;h=JAZVp(k@*>ps`iMQr)}LbYqN7B-&?iA)^f^k7ji% z`ULv~D$M>MiQSOCICH-bPx>jH(`Dp#m?pdkLp!lh`u-je74wMHA~S7l_#h{~vZp39 z9RbxWeigvCWM2=yqXy`L)IsC-aX}hCm|PwN)D2>lE63nLvn1H=I{T{$98C|wpQ(D4 z-b09)Rehb-0l3t|$=>t#8%9!(E#8cShc4#iraoO+qdMXM36-s!KV~uB8YHZH0hALO!Z*1bsIl2J_Z%gYqM?yl!;Fb5756OEP$A>-div9M9U>20t` z^uj{CZu*`F_gDLSa35kZ9aPq0K^B#dJVOYe{kW!ip`GLtK;oHB{9qP#{ap zP%@Mu!e%De|G@r_zN#Qzaj{SahF<9sDqxZ0)COt1Fj(s?wwJ)6u%8!LYyb|2+J17P zV5#5Xs2u_wUY1XLGfr239L*|-n&Wj3R-#9K z-`t+c!B(jrK8mc{368(;`NQmf9vp|+nWI}e%r*4yxd2P_}@zsNu6MqzJx43h)y#Quk?4>8=&g?315z1Ne!+i6> zr{|sNX0=sHd%r!<(oK2+Q)tI_bh%Mb||y|&#eME_!&-) zVb4Fuv6JTTg34HJ-)N~edf<&N&wgFKtfQfl34>2r3^#{p^7tZgL1p?*!2>yd`TF?1G<9wI|L+tipH00fi1JpH3=KeFR1L4w%v9n6H; z@x4UL?)VNuuJ(Aou)eYm}=JUJ*+76q{S}} z#D~L1vWcYu>n_~6 z`|%4wKoiBm;Nf!@xf%Tcnfd3v{*%n?cl5W7>rY~!OETGboUZl9sQ=yXxxC_{?ELTC zQ5!2t* zFKA2P+SRp`8Df7)sr)_`tc~Uk*1O1;wm;(zW9~e(JIR@ElZ(Y^89sW6KfFG=~cEskrERFH@K)u?9@ zA_{0Y62T*VWyYCSnwW;*db}M@Ya`4-a`mGM_r8{UU!RE$Khhc}(LK=DsibvM7ZH-U z*XlLtgFp$+sSYN0-`oy>%A>XR7h?SprUolySqBB9e=3A0@R~mOzu{D@-|D>E34qd4 zd%%8pUUVP@Z>C`GOTsQfd^8u8xF>2u?gb?$o#9XMeiTU$gt>(}N~GGLrMuAWP6&X7 zZfMTPK>ByWunsL>s)Id!%+aMG^?QDF8Fn82I$Ydg4#&BL-$#+Q1f07k z_?nZ?Cn$c-`5*{m8f!;vgVDo@Ok$ChYhJ_v-r&t<&JSD54=1+5 zZ4)Cat((O+fmVxLgQgrlCbA^Ca&u*3QB&fqa%;0cfGiV#l<5da14T|;`~$21x=%qu zeGz8&K)DUqPwtTlt&-rLeJzRzG;!Ez`4YnQrY*;tC**Yp;v;X3dG|5T(-1-NwBmRW zEm#q}66MZkBOS%%K*kdtlDaU2H9XOvYLFx0L@1Et%-=+aQ{Jv{-8x*jz`fA<$@~kQ z<)MD23bP{p)F(E%#%bCemDlseJzOj*p--a(ZI1jZQGNbP#I?yb;3vKeW9Kd{ouZ_`e$h z1PR=rpixkRMkOkmXcQtrv#<+yb)%@DSl?))6zaQX0pB3F3FNw6#8$0+w@N65!?ko`MVy(7`=fvzLRFK%#EgVdx07IELwv*HxCY!tGq&KL2{bLleehVddQ}QHl zbmP$l-oS$#acH-Xl7Jk>JgLhu%UiqPWafsk%8#zbDs$i%C>*JAX)p#e3S;h@NE;7~ zmk28LDB}##P!weptW%V6`52EfoNcT=TF*<@CycsdvEW^uqP7GTMeL$ln`=^tx4^`5 zJ*@j7bqSaOTu5#Ak9`PSJNFYz;5wM zpKL>8h>*H{cE#-hf1!xuU6exs0yB*WYpEL zRCxWbLZMgoUJ(d#&Oj84ew?Nj0q;_riC+0%0xvdrskP!1pmS5S)HU)}B!|$aUJtdW zlB|Vn9hll-`Ln;XhsXYUK7o7%kOhiDsn+r4&1Tj-$pbx?%E+Y>(O){3xBRG(A3_!K zgX>^!DvZeT!+s_A8o<4!N_xs9qp9w-r*K3~oL?2nS;rBg-NgT|_Z(Tjpq<*yBr)f2 zFs`+yp!HA1QQGX4v4{;`e~udR)9RCet+M(b&&yER7sikK^PuKFc~ytMMlE&Akje#q z);PMklZnvEwJ6dEd%y|Aw)yQ*s98#!_o6#Ob5!X*Jj>-0oavbrWQ#o?G2-aCu728D zCI&x;qU>oX6-XM1N$88$lMAdo`$|{-;=v6Tx257gq2cbpRDFyrH+eBI>}P!_ExRGl zc;r9G3ArsH0-fS3DRnNgg$Qb74uWw#Z18YzU(|#KdC7l79tb9aWm{+E1{0H*R<|4& zN$jFQjS;RntySfv+aa<}Y~`nN2Jf~_gajk6KFULXT3&Jmk9L|&g)Zl_sFm?IH9q11 zqGe5?GQToXxO5(?Pvgh6_L4LntdEw-0{IGyl}t$8KX{;}8@YJY9bde+wZ=Xhw^zsN zfaKd%A)-Mfc(6Mn?;@(XWLs18h-0_HfjeXV8UcsYArdV+H;#3@C^>F~BHQH^QgPH+wOD z6|vi#Ro@Id961QBXe~T&cPkdlXtx%hX zG9e6jD+Dl39{!{rSlZ&&L6!>~Tx z&l;Vs?t8F1IWRIyp9$?}_MVeg z{rJPH-zU}2^Qt$KT{W}%O5S+DzYlskjeUev-%I?B8v6{!&ZJE4yjEK!HfSyTh^;1SryqBya6#PmPUWbTqW#Qcfsg&O7?+k8Lsx$ zRxmWDQmKXL1>#N>fulT4dzF6?BXm7AQ{#O5Ng#6w?}$9~5fH z-(@w+V4^dIdkfNMcov*bL4fF)mhG(FA`O*k9SU7j{UqOA?FvB>yrDNSU9ad-#8G85 z{G(xB!%s@XKUEFO7WOrOfYt<>f5-rkO&!%(*l$t(jotQ#VAQ#RN(kQ?*b8)~hZ#8U z;biQ@*jt}ZF*a7#Y-F%-^2H@gjmz1>$q#?OLntAK^Nm`IkpWlZ7)F53m^#xrq|6(^ z#;+K`S_oVGjX$Rxo7f6!2Js@}OcSurO3`O1Y7b@vN}SifFQA^X_RP%bVg(7xLSWCJ zib`pq%$NXmg%*`3^!!e)RHN=BK6~VBVDia2lvbB6G6spB|w5dGH|=bagO;f@VNxX%sY-l0vxK%He?PsL`awg{zi#y4ZjU^r@MgUW}!krz+24#U6wQr&IiO&HG z7Ei{#OFjRMEar#%Z{)3AdxrMk^q1-S7N3TAFq{z@!B3&|Xu&nvMery*GhRgKt1Oak zlzZLPqRpQs=ow-Eh*}*S3if{o_O%Hxi(?+neK;k(Hts?T@!B|wHuPLPu3&WM;@X#G z(zWj4lxe_vrT`nNg^}}T6j`rPaUXl(_ryK6J1?Pmcpne(!uz;XKK@F5)Zv)(c}9XM z_gIPN9^1i5sR(xYR%Q(3T1~<@-Pve~xJJ6?8iFGyNjuJ0w5vxFm4(Zrsu$D&A3c)f zld0Dam%)Q6Vsqx9hiby#kM60Pd4UlzX99sp_G%_nOxRo1-^Y|X?!_}C7G5*u6rcSO zjh3t{S;@scYSpsz{>o%_HGZ8$0{CG_8!9rJeaJWbj_|N57v2?LZ*XZBD1nRGBL-hy7--s_Jju z)4%P-q3A*8;0|T9?ucGFH|@(JzR2u z==6h_Xz@wi;!}5~x0sh|@dRmc0WDJ0zE{Cn|3G@tk64B^oS$<5&6&i4LD8Ei!;nT~ zz_}<@bcGac(XE#0qH!AU7}6uDqQ91+70>{!9=t=f`qB02MQ=(Ky<3XjAfxZ_))C*J za*=VePGzUy4CsU_BanrA=`Tlt^5w{Kg?LL~0NE9rBnR{gd4fF+~l zN;IxBGs1T_!AK24UXH$eAOEPH~`;+hKX=UM=D5ihs zqx>hl@+5!J+p>AB{0sbSv`;jO^ezgnDcM)#&q^szg9Ys^6n&LnqS|5{>JqUAKaDl; zS~lW_P+^t(d?wGUdB$N7?GdP9P-F;#-ZZ7e?xI=Wui?5jnCG*%4`( zI&Y~%vi{J7@EHIcla1XCD!;1SRcr0&=wPo=6f7*ZKV2sdtE}o@!h{I0Vqf%8{X{^~ zV-3k#`;4rN^F>!mgE~oZF=HG%JPr2@Pgt4DL#6FJdp>P*O{SrokJAK49IOwfE#|f_?Vpe- zq_yZ-?(f8aM`7miPvi;F@X1szeJD+p6!jOu4OAN3&*Z({9 zlZ)*loDr$|Zh{7`1~N%RU~Sao+ePjWLIF7ME0JOrz;o8Pu3^?NIV+YIs$Cg1RbJ*T z_VcfbCM^R6k={UOF;F*O6q)hYRj*{HPdxP2+seWIi9KvBC)`#kJZLL$?|+i*a(pxd zhv7r= z{IJB!^Oh@l0&3q@GRu&lLNZ6mMN(7LF+RyeQ7kPF5vmvGiOQ0O8h^aJ5U%3+gbY%d z$OPSpEL2+z$vn@0tus|jJ5TLQyDsKG;fWJPvw?PGe|vNK$2cF|^cJf_WuF=`VK2nT zQ~U`Iw%G|ZYG;VR81b}vch4V$%#V!zMvz_+N(2l2dSt;eUFq&x@gRmQhfG0&_fyBo zzeC5-rpSSDCir6en1luP7KAo)RX{p0wX<**{Qzj)MS@AXVW(JK=!FyC8=r8&#Izu8 zb-p$B>Xe|>n#Rl>5>q;YYxY(@0An2QgXKVEG$25*yDi_WcO<1z;Tnt|tBE{u_!FK1 zPT5eY>zM|~L4Z{RujmGnx~weFG`5V~3(|mUFvw-OC)#hnp~M%DG#IMCtStFwcQCc* z(w?TcTGUp=Cn7{G^Wt#rhXef%c7YVZz1c`_vSF^UZPb-g)0+b0p&EhZSpEqptHSx1 zN4pVE0p~S^!&n_EIYP=Q0FIEZXFfV*CW~j)u5^zuyv$g||5m$4J!C~6R7uO^Myf!2 zi!$lh4_{`-9%r##%7MygPdVV~kDj3i@-j+~3S{4kJH1(lX5bu`ys*@p$o+1tp_vRy z4psVM;w!u<6QNYgJ1Fl#pKWp^vqKP}X#DUjPjk8cQ%@v4=gO`46&-O^OSL1Q`eLC# zy*1$NIBsLNQ}#P=6=)ziM|NxAXKy#;xk6X?c}FZiPa?b?V?U<@5;^3KaW^1;5USRC zzQ?;oAjceaj@llDFTq=%1^usjX@Q3vF6YTe&jgVC4f(4U(=>{H5GDY^A!3?lr0bgf z8vYi&d~DOhGKxqK_ak1zJ<(GH$@wWM2+6n&c}V6E%jEeHZie6gUd;Ahy;?|dNp2*ySa22Pd<73t7+(`T$Ii1_WnGm(Go5tu(ay4MY_0mND zk?wGe{?(lnZo2X&g`t(~?Y#A}PWBp@nPk1dgDdb%W@x@QKe;D&nx88-8)# zVD@pH)~{kIBCRmb5?i7U1S8H)0QoO=g@VfLcPF;jc*f=HaM-Hna$%$pC z6(xIxDJ3BFFo*`4`O%~GORb@WrAH)wF2TD3ov=48h~){~G*^INi$_)Y{bssocj z(yKuGo1!~i$)aS`KBOyDpQp(4$NUOcT?)}%l^2dJ&naQXLXchmRpGJ?qKL6J8>4s2 z(eUSlUR3OmBl6Xg3mgPA7Th(wqQ1KD)QZ}@(ccSfQ_}e3kaU=lD;WL|(DG|$asO`% zC_ByX$qBkF*_oU_ABJEsTnI{1{9<~OE&Yjdd*%VGaodV)x1s^_-dH=Dd?65o??vU-ahkMbr>< z)*ZzI5IFZr6A4H9Yl&pWuN z6JI__GR%NvvG66wkU2os8;Eg>q$;}&50L9dT!+((0K;1v+S?~+Sw4=tmkF0vyYlMb z#El4ZTrT?7jdZQx7Ga&(tCND3n_53`gQxc<27G@=Iz09fK%+3I~s0`BDE)fmI z9;mwMy9uAGzy1P1R?WQe~w9T|V6Y+ZxG#WkvJ+^imcM=^9M%W@<51rmD}#Q|0_Bs)c^@*N%Q zvMUuZ%FXjn0 zWafcSCjS&7utBE6WPl1lTi2lAoXszL41NVIcLG<-jKI5rt13|^-PC9vFA@KY&fl4x zRMKXdG&a#cmcIq|&0m6a=9D*beorqq!0~G~925|H;T}FPNA{oD zS&v5T!~DX6H0mBzuer@Z$?Jg-RqO&@@8EUKgDg;PMgZ=Gk`-iKp#3dn5UD<+ajgyR z^|Zm;wKn)XkyDD4TNUm^JfRB;vuf4Q{tD+*GSGof>9;qwY^}<~y)@!T?Xo1_xP2?dyDY zE~ZEOWG(~|`HDTb&(kMVu0l*KKHwHi}3TtHLV9zq0o*f?@eqxPiwSTMeDptST@0~cHjZVALLVn!!{Uo`2z zn(^#Hu4CzSdZ+oEi0-K8^8`+!ERuys$gX3-h{`RjQ>>OW>hb6!LcG}!l}Lu{qD*E+ zGMOA>-csHv&G98g2tLp;DEYe%`Yu_Q{Hc8!ju2O_N`4upSQE{Gy0496_=6)0+z(;I0gl@~4=(F)2SKwHNbO$liSpRpZX&gs0HF+&Ub);} z&h;^cB#8y>VxnX#kCah2Po^UF>JUl0iU%&pufzanaQga;n_~*z`y?^f>brC$ojfJV zd-QSc%7y%V8l1Yjz>={5qcfBaKz(oW;MS(qmm;(gCFhq5&`C>_6d zas)|!D<7VVUyWW+t7b6K=hMF{v=(%QR>pSx0v1n=-RlZ-uC#{|-ykylao&puZzORW zN(IH_My*lEycY!}1?VfX6On<%s9aqN`^(j(i@D!CQ=dzRf6|MZKE4h9GrtA?OtQG* zUtsGt*^6LG6j`)a2kZw3xlrUFn-vQDMO>7V0{`n?hk;+30$zUx;$v?RBXKf*o++XZBaRf;DjPVhJF2D5}>`qYNs?-$eq!kfswL4c8e^Yby9av!U zKN;(6V#^|&Q^=e6J!PW20P!|=Lniu`^2yxu%NKV_#=Qe<%y{SVA$9|8nJ<_RAZ!ve6QZS7b{jka=(L zLzI|Ee7Lf;U+1?pR4onlmWIXzusW(=knKlPL_5Ny6+eb^t(qa9iZ2>3dvdb)dQPss zq#|+dqXf*Q{coz=nVrf7vGH^5ZJTr)Os@1~)Q+Z_OiUk;;e4)EKgKEg!3cr^Iut6| z(ikvOTxL(vfIwfDLsh|_-@T=hdeUa}?@5W)xQnvs)$J+NOE%ftZ2X&QzSRO3whmM( zSGrsbuum-3h(sX{_#X3JX|;%##$Dg^Y9o#c{BE)&q5MD?CC@@|ngG$BbH>?E5e%be zxtCI1MDHa%CB^ZV#Xy^yb2k*JR?gOtx_4R$ITWhT1QXFKl~_2PT4Vr7M*&cMF%Sg& z_APvdA=DxA5N615qprWEn;~donsi)y73AV~=(xYe<6oopC-fg5mtD6GTFox3emi!+ zKXZhD@tOid;LQL+&BJX1Mm}J8l;W1(+e zsK(&<`HeoS;8S>Uig+_$O)H*mU^s6= zRCZEUztr_CYW`81w)&x$V;f>y+hPs9EA}?$RUaMO`c-U2w$(!gM<5LBTC=K#=WP5Ru}^ZUMc>W=01nKgV%*-viD>WJfa%x(8|N$&eZ75&ILA`?#lIvG zqU5F3`>real%}8SO%9Zn-%C7}?{vOO6n%4rED=n|3{IJbcm*xuF3ky`4HwE6$rDq6 zAIYe_7fJ}kr%6WIM4#)A?d>buICEw=-osdsofosGmK)QL65X*Xd$#Fcabf#bcU?qJ z6aOa%iS$?ip;(52&ZS{WQ@f5AVw?S{fZi$LJv{?ZYz6l-FXh@`p364QdPrx){~w7Oogi6`*m)MeqSYj+_UaLDm>s#w4B1VR zJU3@=E7~}w!FaqO_IS!ftebsKrKSrPjx6V%jNf@qRmSgZ=gN%Ven-R-bSYbE<1pS| zx=99!m+~F^cNppH0WLnCH;Nf19qVoO_h56|Sqr&wac+Mau%oQ8N*?R=C9p_v6?nN> z{>89=3(G~_e{g+4Z=cGG$p$=RB*q)3N1oFg;@ZiowkG4A45}^ML^9X=xNx;6Ia7(PnxA}(!9lx^?1gP7gKWhclk7-sqo zS?;JBYcOP=qrf!6E6muo)`*|=d5!%lrDe0DKn!~R=8=J>`WU6eu#;woNQ|LB%f?z| z;>PxfpNm{?Eox;1`2v3I5pwmYZB4dD*k)%KoNBa1}!DU7=@*H`ba}jSti7{EqB@me1wi^r?a|iRSvPxE+ zEpX2$V@dx}PK zc~@eTF3$rY`ObfMjX$${IKQ_qQnl)0V{vYd5;jFE!sLE_Qm}6N?MS?sl^TqKtl0HmeXA=Y1-LmXuyq#%+!&1S&D$=QM%F zTbd=gmz}@huTuQceH-s-tbY!h>~)1uoa|(C-4l+18^9HA!TfH~K6(Nk`GP*G?*@uE z9e~=Kj_d799y@t{xa{5PYmEh$pwlL~V0>p@NX@29W%Y-0xGOOGkb-YxW!2uvqhjTE za$kbr|87BjBlv!-u!gpU1(;ZLr{!dAp5SvXbNN_k?Pb963BifhY`-lzqY!GsNNGZ? zMCgmK4&G)6H7y_A?6hnvy_wRw$9(!+BAmNUt9*T{u|^oC@>- z**?L_FE$ge6xINjglL*Fhv?kw-paYb0(<#=!Y+J>P`<*-E|dV`0_QC0+tu^rs4=x@ zr_bN7l1S9+2*^N79AejFFzcAkA0r4n`QH6AFdqbSO#raZp;hsas2tD8FGoC=YGsqIk(F#m1nb$;x9wj6ys?-^f!=HuzGKO1 z5}3w$OBwze-i^tZMa&wL=bS68<+=DsZ|xVfrqR>Uq;ARTVajEx7HP{TwAPQyaU}aA zsmpxM$KJzxJah?TurrLDPDIHDKuIIvF1OBaymlVvAwHosUfGgrZIX<5qKtSPo)3{s z751)Qs+Fn&R5EOl$!ge?^O~$%iN6^rWh~Bt^R z+Zj`r8bij^b?^RAFPXhO=K)$$U4?r!Id||wrQ_&C5Od$lXw_TEFeNGv&iU+4k*J;|%%mK^GrRl@BYs_;9j(_6D2iw`Hthnu_jP%IxJU3@rOKAbBbgq-7*TT@drB_3^+*`Fk{KT)P1 zXCEwORYM1}e-0h+AR+|;BHvuPr9Cx?6NUdKS;eMhV)j zrn*a`G)-zJ(1o;|qO}tgmq3nm;q@jh1KYSf=MLR+t0Os}I!{U;8D(V`AGpM`$tmsP zLvQ&ou!|2z$cL;hKJ=0g4tp(~J7+hv$!Xz3YOLv0KkUg2`fT=zjY|zpnJ!X03#^B} zsWs2~b|ze;`f*CWslg||y}>_!Q-fRCz)=(ZmiO=m4=#~) zDad5jO)bh!R-Gc$Wd4ydMKbeBYAM7Z(gf;BLR#L?6m{LAyXa{CFrr%dL?@!^`K?5C z91Vtw_c}*8Ms&cBpm-f2RjcFs%Z;%8oi&(cCScMkKVC~z7xIQ?{<;G{$cd~_D?&}yK0)Q zx)h=?ldQQu=cMlr`*hVq2khhr`A)De`TRShr+=p|IC}k^y14GUck#kcGG{<3gWo~o z?BDa9M{#MVF2vjMU4+^b-@S_@8>;Da#DV+o)Wx}O7qW+5yN_HYod`;is@AXTRToHQ zq4SB&K5`Bqr#jJ-VnnqnzYUWL6R4K6IrZ_)EuWQYSygZLks#;rrc>+vEY)%po#jE) zluVAk2QN<=N2gfw66zoTTb)s=vRv77Sss`DMB*jn?viVkYkLACw^%AG82`=}yqtMr zY*&_<2oMNW{TY6twPqZ{x&bTsa&k+zMt64ZzIOHD-8*ZLGFlu&w{|H<&XOd7okW<( zkthCJ#V_T&Ru>hoR~5fOYPH;cIE>QU5Gsj*Rlr}hRvhED0-m>a9%%1>cHPK_yJf83 z(DPN_(DPrZ)QLKj-C+-SM5sDLr|DSri9xgr=et4)R;r zpYwG6??}_#(*aFiNN!c_WB>|EJy`7r8Al*?Vbt?B3Zvd*PTUZ#kbGtd&D_q7*OIoK1^1p z1S%nExEVU^zcgJ!nf~)=uEQMjsM>4KQijAthkY(O4dS!WI-RaBRN#Fh zw_FBZ(#XEURGFiC_%_RN`@@|Ee%`kZ{5;(tlayxtrp;p7WIe1}?wBkNR)43-S|_0r zoek`+yEv^=7dXkkQx|v8MM`|8<9Q>IQ)!57_KB;~TN1r#Y^uofIcI)T6F>cqP52#$ zn2Ii;7}vQ8fH({a=Py*31v=G48WGxkXo6j)G$Aj3>Izp8A$7FR8;w!>9D@v3jUh4% zCxvjOZU}o6&gIroq(#f&nvAr za38Xi7)Ddro+oSf;HuoUY zAKQ%h{OYA2I4RX+8mfd*E9{RE5E)_*0ZntARMeE%8%Bdl(K+jz0DW9F_>F?WwxgV1eiPj9)#+H9jIPx3!r)!| zPnmm0zlt2^Y-vAspB!5|gx!<^yaT@#N)Xy}Xjb`U2s2K3m?9RtM)CXd?BQ3WkBwfm zhiRg-hO``Re2&}AXLKWe*MIS)8TrG1WPCVHHJ{0jiV=k)opqFSLFJNCbPtBUU_;<)5EC?llG{u$zqM}%`jO}gqr8EEmRuQf{ zeiOZcJ3-lCb7s@6{o|(e@B%si(UX%dIk5w|#v^is$30C)ewZKJUFw? znUg${{V(g?NZCjCoFTjVQZZtEXci^S#)I9>#t+#JOd3mim#wWXcyJ^8ws{o2dxOLk zER-aQZlH&|AH-J8{W*3y;bCsTf|FsrJlYCOS^q@nS_% z0TQa=wEJ$=DN|~mUQyc~J%^i3yG3)#njRSJ#YgxX%9m_QvYDSLPZMc00q$6+r6V*Tn+VClOB_c0dg^0@PM9>a#Q-twtFhMRyZE|K` zDAr$f6_Mrk%LEQc1m!*KxRDisS0$WNB!8BhCPRoqLQZwiS9Aj78lr+t_5L1o_n8CT zVY0dh{}22_fJXVhKGYJyuI%Y`o z*x~%*Y*j<`5oY|Vd~-y3OSRnbTO+UIV+Wb>W2`Zx7^S#%734k!p)*H58Vh{&V~W!+ z^wsxCL-VP48HsnG>JVxEC^LRFTawu=@}oz*;!Ms*m2jbPM>vjGzw7dJ^-bkd@Vfow zdGO2c_}Jl{;F&An^G?Tmn%0G#zK>Dx_EYF^;mx*YoVjcqi6d6+>*cd=W|uS-&mmZp zA$2ZatjaHy^5~i zee^0^wY=tm?!NntS~&+2|` z(p-vS5|RW`JNn`AG5Dc{tx9siAsOCYOU$tVJyxne^4JC2$roj=6yu_ zoLUWN{tPB6fUm9lv@tvZA6KFNO2ZdQ1PDl23XHT6Bm!mLCTdDkE&L5xjZ^?QE?a(C zfO}oHC;cxKIc9B0%=HavZy(u?8a!@wI z02vdkFCmUA?K?IjLt%_*)|C9jgIVhA(=wvF?5pGh_ddwSYnn$Fh&-}OWZ_qrwFU`! zA=75TD?}7=%SXgIxp}mlKGs5t)4&L+K?o_cdGwj`x_NXV|3W33f>tz@goAjYk&iP< zdm&q?-ufi)5-&_R^)FP7gC%>HJjs*2>>UBAn?Q7nnP5H9wz5Q;o6R-CU-F+B`=re* zYD?5hosxz|r`zY|vnDr>G*`&xl2|(x?qAdWJKp^}N&ceN<%?=p(jd332kCdjIEm|% z|OWuDyI0EyTNN?EG(sF8Nage;upn`2^ZL#T#K; z7cVDYmVuY#Doy8hZ}nc|#XjLbXj>i22Ye>@k@c^qbI!|rn@=dOGliwxn}75Hb>%cF z%q)ac4hVM+3(ZuGIaw>qy(9iOuLYTJDt>JqgQV;7;@qEO_&bENLYlKeinBsiX<>ZSAZs*gz$mnaBS8ULK&(c(w64q% zO<;7f7P=gb6}cQ|DDnQwDd0=K&@n}#TFpSn=-x&TS?sG2s8L80KuuKTC07c(Xm)_8 zhIPB7F;lRe+2RaE_@$vk>kGmS%(G$$bR#=owXf%Bx~eK?%-JAdWW@fjt3Hj!Q7f-3 zu4gPVYPo;nk_wfCfMV9gdGSk1t&0bl){uAz{bzztjXcDsE1`ze&>42~=y4)}7=3EC zYxs?%+F89*A)#?=x8#BpJt_XxSDyo_$yUZRGKma3#F|P5o6nIQ*zM1{+*lAYJ`0@e#Cx?8y$x~pY-)sy$`sncL$a@K^(s_k01!$uOVDfq760DJ&P zQu=0s=c|_2?VOqK>KDWb_O7TeHOyF}-z;m4?v^V}KAvp#=Vq22_WKf4K+O{XT0yIb z-vi`M0py@;dnQI6Q_S;jp3`REgOBz%fjI{4p}4@T{? zAf+?mY>}WMO?TBZQ-l*6?yDZ2PBE82EkZT-3&pVW1hdb~i{D>r%^bu@fa+Y)VW1L1 zF0+Ys{lAb)P%6EJtzXwjaVvxz>K3RE6+1_Wm{4+8V!?A*|D_FSP{|vW8#^(m zMM!Y-rJ`h@QCQtnhxC*DWtzN-cmMOBxbjxOqEFRH-4B!s*1h5BQumz%;VWrXH;zxq zhtWze*(qA7T|ufPRMqxF=5oH#+}fe~VD~ z;o3!37{X&Ql?%6>bsd$OC$ca)MSM!^i<`ksZtoL z2*jf_s%Dc$Nx5Sm0h3{!KI2@%Q0A+qq!UN(d1qYDotZYSvp7HPoJ_fea^A!d)s!)7 zQ?=c00ca4T{21V_DLb!^{ESuP_?;j{Y3;paT5EE@t+PRdccRbJ=^vWq!z+9U#~+vB z8;eI}VF_Re7;{K^=fkGJkTB-lqMnz?^W1;P9*{lESbRmd#KpR3uOldWu`Zfa&$?*6 z6x}h5aBF6(mrwhkQ8G}uVP@gc@-#%A2FTM1@^qv;^_Qo9 z@+5a-FFZz`d_1M0=3i{qWum563N@0cAg$=bhZW^Ogp0*P%t;qyB=o@aS6UBNxRVcM z4F_>@k7Q5bkU&#U4op8-;aFX_03m`)pYv-y>FZ8Uo2D|3S*Xb4OoCJ!=yn8X(|~`S z9lFeM%Dn(-WPha5FK=OQ!O;5>Tk8^!ZcEamcB(8Kq5#WQaM#rUq_NoN{O+*IS9V>w zr;MtZ(!wfGyy^*-ff1!G5~cX$>0rtleRY%$x9Q?b7%b1U72=F)g>OCWyDa5274!>X^W3YCWA_rkjqDqJakaU!>; zS+>@QT?AELnh5svhs#=who0kCC>|&^i}t8n+q1HuOWDq@`$aZ*kB1`QejLQgY80)2 zcC8i?VftIva&~Q)Q$y5fSHt`V8;LS!vOVfF5i6?z_E4$V;Jb+odp{e3X|pFdPc?iS z4QI4zukN}u81Xq52^blxnr8f-!0NRE8`U4)L?%(5ZuA@C9F5rQs8Zxi>muFS+zMV-d#U;G>sh+ zwr;G5#7kR()(+|SD*Bxj2*+pU1mc$#m_-NcRz`mvZXQE)hKSsev$lhUBS9_uADs8A ztO^VYaYa_x>KAAZ3jCZjvCLTsR6^(Nw+3 z!5OMVgLU~JNk%#kU1LQsepxv+VtQhMLxA zfrUPZ$yk8B!YRJ3S?ubBjbMYa){G^=EMn|10m@cK-$k`1(~R>P8-%zwou}E>!?)@D ziofBi%2Lz+ne-91Dl1ecX4xCk!M?ytx`UpQ0fY`nQAh`kf{P$&YxP*(tvf>AgDHvEO;*}l9p^* zg9`1dek%j0RKNt3pHkY0#0P==+!f9U+JcSqx537juuGf4rKB^3F`PCSIA}S1k^yVJ z(4-yBPh2j01Sy^-{ZFe|)o6B`nF9l$2e}=?MbcdW)^S$QoJbC2rM*e^d#fTIm4D_^ zIh6RnBf|aBcPGzYB=qVN;(SOB!y0ursli>NjA3CNXOHgsz!ti`Ub;?hO_W zyR0jC6e_ekHaf!j3l-DsZ#irIzJ0R>O1tWCT{LI6P|RoVd{==9_seEfbjyrh0NNvhMb_F%h3q~XyO>Pz!z*MC1+`R~Ou%l~ui=culo_q9?^ zc8(rTb4h9cESW-dzC*QdR-ERZCkRi@YLk1#{@_I=H0mCv6+M5v&a-bJIInK=O!9G$ zN8E|u)*k*x86-bV>l1P6FPxtN6W&Hr@lYEZ!1+w0%okDhr%K2;$e_ZWg|Hl5?A0WR}Xn>M` z${&Rf%2;qVgj7-U_0Z}E#5cL0L^QEo#T7M&dKq&cqD5oDz5WVg!A6#rti;%sa$e7% zCu2bg*#{E+f0F1wE-^;EF5_~hK&7`99|c3Be?j%JnxBjX`0Uu-!_TTeM0d(y zjM{5yho>{5P%`OUD8jE|qxKz|$4MJWTKKr)eXXA!@-l(_mh1!alpygAf!+PjXVP%9s0)JYmtx1Ezy z^r6b1lPd2w=KfTQWwz^|zKMP-jJY+c-!U!8_koV{?hcCf+Nj~&NF7%Wt09-DF%?8V zQ_~UPt4zny#=l$ky+cbi#@zF1$!c-r7Qo4<3f34NoWb%douPC*0-^pJ*k=0w&0o`@ zt#9Ek*y}YI?7hP&?UT2mv{8==gK^24OGN*jzbbz7|BSy*^7wnCz}zK+{qOjT96z1K z%3v9FgmVi{cOgveZ_nf}lH~2%1bdOuGK0Y?d{&FF*9*+NLYHE%B)?qtTF9fY7uB8T zckO!#Z8@YhM-$X|75e>jB#Y)3KD+L$|!ccgztysbl6WSL8# zL-{Y)U9=t-UOTbE4CpT~33-qq>r znTBT0-ITG{;<-9(IXlj!+izUY?gy5x*0awTAooh>^(?$dkM6bHc`H7sujdrezYv!B&%lMKA8Xjn;_wh zAH#in;g1e^E$dr9`W1nClBsMDnQ)d~bKmFf4Oq0Hw=YcSjruPqd7?M|M#fLoFlkyY(5YF-XVb*E zXLefeHdE7B(3iB>wF3ZLE$DgC^-c~y=671}YG{%5?ut~0c^Z!73GO_G%jj3UQ8B03 ztRl@ATZ+=_;!E2T_v$t9T~HmJYAm=gaT)s@J*RDPej}~20-h=GdP8ANl@TV7SL=$@ zInS%ZDtHS;GaL3#->f>1q<0=jzN1&dT@dreXdjh2MCp?X6@ArUSqB+>oovI)tQG3~ z4q$~@LjtN@!4UEBQO>Bn4I#Zv;lvfcEoKXdU#husp$OEW%T*PK#VzJZi#S&5+EKeb^kt^*R4 zC+gb?Ko3glt3>y~Ysu}^xIdRL#1ZB51F^T;-K<-4PNdyRf)f+x{f9CyUvtdA*H-$u z1!nE!`DD;C{>C+JOU*`msM)wFnvUPcu@$c*&lP&TmwY6{kvitOB0M z9}sIU4q7XinEDZtEKuuviR_EO@~MDTS+(w3+R6%7HIm-g&WaSZOb%H6yHO`CJ{*YB zfLU=<(VB48D!R(D4p_~2lxghk7IGu$hNK;{XoYGA7>qeHn6YG>d1&fUtYp0x_YmTK zgvv zW9YsuW@4KEKTLzqUWDH3x5+Bklzo(Nw?t!g@T2gLv83JEPS}9w&(U|NsYnb7#e#Gu z<9IV=at^#C+pbK^a4yW{<$UNymZ#s>yb{6Owy@wNe7F!`$_lfgrK!y3AuiyB7ZNKTSJsVJT6kgQc-f+jBIVbzV zey*!R?QLO|H}`!6bd5WX3r^kP+xBJmfc0ju$R>?IpUHT`n_?KOR10M|wk5~x4f z6C-jLjat`6C-8(M21G$vWz|YeW(}HLR}ggswKk;JnIE*a2DvYw1ISxe+{EqDMXSP9 zWVpsvp-A>rnoDa-NS3w)7y=N4WVvHT^9$`Q68;TZ+rm|!!MjUoC0lvdcMqNVmSB@e zucEc#sulukiuQOt``=OA+bZ1qS)#NT`#>+eE}fQ^Ot$Vm1Va6jtx;bI7K}NfAvvSy zm-~Sfm%uI8GBS4=(#X*8FtcQ@b;K}H_%Y*s0uPlUk`{0^NTU1B)xtduWg#uHQZ!bs zXv}%KvjVN+k0x~R57d6I0Rx%o98`bz;T+`Q$MqMPRXfD%XYGp}s+xYX#hko_-R1^M&=HswHfF%GYqwn-?d_Pqve* zC5o6EAhs+n7Iwa5f~+UmXSn61f8DdR_=YImsx?o}$oEu?sC~OBm8akp+HEftFPxYK zXz=V0bw3iuHLc-VLOB1NmL?BWuHdgGTuHJ_;^QLmq3=_ctj$Sdz6z@%C!HBPczX5e za@0>!(2XJD9;f98a>j>DmB))O7rCPX;avTQ7ivj&-)7+Ru>P8uV(IV5j{asJtN|S; zV{Vu0|E{{+B3+V%KBG(N9Ve&Te~0jM*T*z@N1956uJu4+F23kN$e^+#dS!+qZ{j=H z+73jddbWQo8KltlYHvo^nu*5>#g8ipwU&u*@4V~2%<OU`l6sKWdJ+ORz|)$40kMtqQd|i!&=*}Qn?i#GBBfv|@8~b+P9G1dp`YXvK+wLT z69kj_qHg@L-+d(ArK{J+$zfw=qa>tmE+L5wUST%wDkb)?arZ^mp1}Co zAGG%*lJZKHBmNq-y>ldkzwsE^+PPMsv0!!eATA}kw_8)sp`)9!hZhGDWBqA^N<8dG z-;eDtogRJZTp<;$x)G?1j5HQ~T57KU*xa|#tZOoAb6DwS?>LWA7bnjAgCH-Umh7pk zy085LPfH{b&DysqlDN6O(dnPKx4ozh!nFNwAtRK&%Z-pzNylk22M=|g%zc7C>k<<{R~vh@mOqtlxE zxXa{$!qza_n$;GTjpt9o@~$=PUl)$8_f;CtzY|`c+}l`DX@u5Cigug(K9Ov`Od^#w z@Jp3_GaTC>Wj_tC->J)f#DXohlN8j;x9P`|{+7=)oGMTE|1U zaYr}ls&RL>NZDIP%w}FoHY6wXczQ7{ksz}*Z<00AC=fg$!<$eA=CU}ub?js*6^@rcyeQ7?J z3M}gD)hN{;j6b|-^D3~22v*(HK>gv9X{H=$4=j@78mf;h{o%vjMZi}opf2gQPobCtt(MbLUX$Tt3V;gv{yNMPzRVaKAia$B4YHzp!ETzc0E zv%ouCH308?3*&Tf4F$g&*Vy0AHQNVFpJ=}1aRR~c=DuyH$7p{)DYFUE03+}>huBiD zgCrT^qC-%J{;^)78PYy&s$3v7MBEYW*?0wZAjhKr) z+#`QPj3Ru%y}uz?wzaw-d1i;aIsALHFT1UQ*bcw7cJESu_4}0IlF7u#Jr3fz(JnCR zY@nIFUvbHtnZO++C&Bg*mHs1|df5Li^Jo!Puqtf)ZFz>Ny-JzdcqcCl!)O(fQ$Wl zP0RPM9F+(T@DT)2)JjO#F@gI2I1{psKz)xyh{KQv{L^}~garu?BG&G##5fY9uizwP z*5Wf54Cg9IsU7hz4b^SFHz%-f^WverZSvn-QGX7ehRQ^4ULba`YUWk&pu%#jp*v>D z8&J;4*cpjj%dFb#$5JXC7ARUBh%GC|8ZQaeUzewpZ*gm-+Y?+uRg`jj@4dvz9*#EP>bbg``4~m% zm|byGuxMq#`YhIzWv#LrvBv18XAt}+g5BC9+I8Sl=8dZ-FZAr+@V@PVS7d@ArsJkA z6*HHKTfrQ^Dod$yr|cR!b+1fu(Pw0qH~#ho*BZekL#Mu>ULv;ET21&jO#j;%P;FJl z@3xSCWyo5I8JlZN4p|X*%E@w{^K~b?cLf!KMQ`}`T6+c2ps70Npb*Gnk^TG(=IpoD zI#*+Ex&9?G_s?q+@vYcL{R6)k)(8j(3MX7f)AsMvXj}Fugtl#kpOK$^+}o!p9M!z_ z(gfF6VnLlK;W2<7=qa@KK2k3U=}rXqVpCtjCCnG4_M>R7t^$-jNtsQ z0<-rk*OH=hn~;=NMeCmdB7|OP+mG zGu8JiCOd*5rF+QM+- zp-52!bkM(tb0R3s;A6Z+Mf-zRGX&U?Ak;%xHsVl>Nl5s{WUi4rcXm&H_-g zYFTU` zF*Q02jYx-~(QNIHH4b-H6W8e4&*FcuKW8I?^5SIV%x@~FM)@a}91Edispjo5`UMFU z`r}2(_B}=(kJ?hUpOCFTHXhV1T^*I(_DdRK?I%sg)!O~`v#`3kO(Ry`=0k_WUn1?x z*JI>$qI;zjh-bH9T-MU3oM}#v(9-2qd&U!TN0L5&#{PkO?rdDfwu^~W68Go7X~Pbum7Hes$W;gF5|2I+Rf1ok;HjdonPu}%EF7axUjG?@mC)KjLE)gej{W>sVv)d z_ppfdIlj0^NA8q}Kgr2uWAV{NEuU%f!{iH6x zC%X6S+shYgFPfIh6Cu+@k_5Bc$RFJ!Q`XakL*|nR9I@BgehpcyS*uvFxOTVEJ|-}s zamR_Lu$}Ca%gbcS#QQIkQ=5x9VJ!>xS{6N?8yb{(ZY)^Zl-;A4!;9WnS@;79b9QY1 zF~;2WNV=DvpzabeB!fkb>p$7|*5GEN_Af|fyu*Rnud~7D3#i+@S7LZQdv%|aTPJ8ONB-fQr!MK|-w&_f6=d;jqo0$7u4jR? zK;lv^!J&y&qCo}9R@{AA;xg={<3HGjzG|3Venj5DM(53JTJ7iQJl?e~WbDtYALjXLZ74B+~7rfy_c+VV|aR$G`mP zA9@T5ERvi@!9<~Qdn{SUqz4vHB5;wNJ&&8Blj|T6e{Y^Rq?K=u86NN`GV*`Uz*9-E=rW9!0 zaa6Eqt%vwEf+H94Tr%RXzL0-UAo2^8$W#Z|KjCTp2Z4R-LUlWgx*zg^iD}gnLqCcR z!q#ecKFT&3u@jg);vcn7Nf-3wYwc#4v1K7^Gc3a3-eE7p9~k_))hJELNEJY5TGk5x z&Y~pqNui}Oi8AQMp#PJagWaQjt;X0kKN|}n_Jl)kmn{!iUj-J)vPP>l2eYy68-l$W zxtY_yVx;I~)A}W+D*1>@qefs`ZwD61x;|384$~_Gi^StFQv40mD*}sv-#1b`4b#sJ zED|rnNU@%#pQ`-}BgMNg{n)@F(Z^zKRnz<8REV{udK+uTMW#XJu{7E!L$bTNQ}xb)I565un^dM zF4|#z9c#`4xzX^FPg_bN&><~+)9-5I{AuocPim2NKpHCQ75->Sri#C|y}h1#6d6U$1# z(gD3Ru=NddeHkg*5aKxd)OE6dPVrMhx9qqni7_hlb+%>=I?|NP>faYv~-|j6Rmm21wvY zXP#D0YZ(zqU=Fi)?vT$Z{Sd1~EnAH6gK*=gCyh-EdK#xnsOY_r^=b7rygm?QiD|_> zf70kg?hvJ z19}>-a^LT(e#D%JsnFETYUylrP72IEs460>Kc~faM1lp%zA|E;bKKIofcoZQt-Ti) zvmIuY5X^J3A~`+Y5|++Bf85;L=e&bjU$J*N=9O#-@q~HxqJHvM;{e$Va~xYAJQl5a zr^x=M?4q;OeUE;jk(+43;*#Qj=L)sq9q6I#k)W09cOIm_fYn$zb)}wVhgo)TEZ8B` z7EBWSl&DN&6S)If#s|`nOnUE-wf53Pr0=21A_v|c)XO=IW)?%LzM@@d3yVFggfW>_ zpF5Xgv{*}>`%p!-Nr9oymTk2kEU<#a1OAsqkXn96ZbHwh#^NgNwSy{u(No+J99kdz=c_(K6Z*&t%d~Z#l<{+`HVkHFR`0BDEBur~0aoy2= z_A49w*3zOqguj$+s_sj5+*dn_RmeOW3{A;sP&~vNRX4~j+)C9w$a4_3{57+ReUid% z?8KTGeqZ$fl>_GsI;p=Nvql6U_Rol`a~}AZ6!ZDk9?5!Cgm3Q+d-`7)9zjdpD5>_- zlWRTsCNXh%+yWfTo%b8qNX7#X)*Lv?sNE_9h<&hyU!mx^=*^MDRg~oF+h^np54D%c zTpJ6{NnF(;VWe~9p1BVARjWcBVX+V7ronE>vo*iP>_B;$G52`+X#Bpxh#kd~Xgt89 z#?HCn+IC^21wG2kX0?=`J!@NS!;JSF2|5NZlTG9HriHTQVH`b{j6`D##1#9IkIo+c zp%cx2jOPY_C{eW`Fnjygl#brVAhHspvYc`{oIGDCSz~1U)tvE|=8x$!9n;R`%}ni_ zG8PoaKHh@G7Gi#k+ApM!GpMZA8TqKIOn*y(-{3D>JBzf6O^!rU@>h+_P~I!Qj$MuJRtN>mMk$b*w1`P5RzuH z))vSkpuixy+EF9OSWm(qjWV zu|0j&CrVN)X{^I+Jc}({=@+xP0*g(o_p%^fxW^ij>r(g+%i-PFE`RbT_T_|4=<`EY z1*|vRq&p$&RUP8U0jGP+X3^5HG7g%FS?ti8&10wN7jNstWOy28H0qpW&7<$spKdW# zE-LE`jy6Gk=)kw+1g(2Wc3L%w@XTl*aU!U#egYWh+ezZ!VwaS&A2E7La{K%xGpJ&p zPkaJ$0NM1wXIP)y()&7P{K=ndc*#d29sy!a$o!^KnJPEH3ab7uK(=nlTT(z37f!p8 z2!$oXr44KJMEf7|s|NAQW|jTKS^V(vBWyL>mi(xo92aHV5AZ`&y7*`kXU@p6uX|b` zzhzu=$R|Z27Uy)W+wvn;v>?no`LAhovEM^R1;`MC-9w0WeFw366&}t42#ts8R*i>s zf(J(eqcz{!&l1O(!ru!DKT0t5Qi6$$jQ!(d%Tah&WXC=@D8b3WrPkQ;l>bH1YohxA zX}%2WdOTB>ibnyf)g^n!ma{Sr;ynl7?vz*E?J>DT1l(Wjix%%4UG9$_r|2B|u(k+A ztMR!00{OvfvLb!JX(-|o1W|DiwO$TK#qXb}8(gk`jRR;-(Ke9N2t@xq_44X``pK>? zjgKBqa@nCJJ5%(GGiirZz%|uu&q}KxNw~{y8UEn=l7Nfm-m<@+`Z~5C)kmb`WwE?G zQQ8^iy%Zz-IKg#FAF>DXO$N<1A$;h#CpbQ9ihXu(H6}rlQTG<|!jXTJTms=WGWmk< zjChuXyv&dgf8qs%AKT^5$U9&@68|CO)%`Mghp}7ss!_X4O~^6G(>sbI@#!FWJ;qsd z7AMII%*DP_C6}WFF65po>|3_Rh{--H@!;Lc3yirTscrne$%u`RCp5J3BceI6Pz8}B z*PCY9+tH0R4;I5sp?q4Q(+7u`R%HPPfMqM%sC|-JtTVwvf2`GyW5p@sg~*)%;wj5# z)bS7WGOHk5Rn75U?C2?AOAaFDl{6@7k;nxuTD`R}2a*Y6;S$vFAZOnE z1CL73O&ITJ@=xx3f-bIyU2VjU1Smo7^|P)kA8gE%)$ae}?rq?sDy}}@-DCp+5^jK~ zQL#jgnkd?&Vr3=3F4@3cO)!cG6;U)Av06pgO;8{oZbEXsF2vRr+xk4U)mCe*KK%mx zC}aa90jdV@151^N3U^r$&;kL4egFTNdv`YrT5Ik5{(i4N$Sm+utLuH6O}o;nqa%Ueq0r|E3j4<8G#QUi_zjysgb*RY*O z2*wo;1F(iMRkz$d54$~t>lZj~Ur8eczdw8}>8jNWlt?$;x`Bi<6?lI8bb)u;)Lg3B zVcSGxT7iWRyT@=Ieywqb-lOptYQp>q`Af!NS%!Q1mAF!_+S@6UwDHd;Rm$BR%8=3= zA)thVf+*$qdx8_8H^2+Mw*qKyWgFhTQSG6~DVDs#Ct!IGuhhBUmsan*(f4uDHYlNh zhyL>;&9H|IPQ+dEL+<+MjUL6bUmY_uT?r7^1>&<$pwQwoD5w#G7L6Au>S-zdj)}0o zymX=$lm}TjTE*U5P$TL)$N!`|uoHYHj9#LN$diJ;lvQ{gV4txTJ_90e#ya1$7MX-7 z8GeBRNsM0!g5l=XyZWO#8xh4(w2kN=ocLz(6*boa4LawQc@wdG(TuM^REtca`fMKV zNK1keHC8{bIzLk${5dvP1dfrWnHcZLFu7h4_H@Gj3PzD~v(i{f&Y*oJ(*-Ahvk-CD zm@ffNSM4)xAm<7JqgpT%oDNcrPUnbad4&k)!u`}NMzUHwd2`U}Z04A6Jc7**_<;w` z&LBO3mF1)NHeBk*#|mPDHq}KnL@i*&IbE+8SNh@JaNhQG#9psbKI;PR)NY_{MAI4! zD*8FSV?v5OT#f>8(+-F7K>B^goj7S>J>SJ=af}qMVeiRvNSq*6L7d@R62F3OfUGU!<$`LvmOe+%w3?>AZ0d@eLuf~QtKDZf~@j} z(!>K^oIKdeVdfP04B61p^PYtTC4SHPA%5L|#awVOF7_d&EH4qdt;iD$Dy#NKmWglBY}z6Ziy%2#q(Q9nvhxN8#0wdI zKlJ=w=Uek8;@bb_$Vl#!lzY3X6d$y=Z{x(me{q$vbsggEh_@kr7G@ECL$}P!2G*t` z^WTt&0?h1#q09$!zZKTdTAV*ac_-w77JP-M$R+4T-<`$h_--#AQS(0WU?uS<{1{au z+L7>i*t4S(IIXRMiJh@$7>1VE%j?@G8~X(`Nq&s0=fh3N0tI*f@It{r>rpN6YCB)f z=Ir}3%eCWS`mZb3c17TfbkS^&b`&n|JO!T^jX3<`91KsFQ4P<-DS?te3QK}GAeg|?%$p~dAATVwMDt%Gl36c9)iL} zU(Ic@_-`Yt3662kbzEm==7bM{k_fYJM({yfK6ZR>OV`-*<@`|{NJ4=Z?eGSWe#02w zT>tI9%Nxer!GrOPf4s-PBal_p##W* z6Lioj-6w}nMIE??MCNb?prj@26&NL)?||3=ueab`xZg1bit=9Px`hr{f`N8Xp4MOC zw_q?~JYGq2`@Za9YiVMO*f*mDpP&>@gOaQNoygp`dOnR4t`W|8`qo@))vP=`il7qt zscL}f7UdQIUGR6~w~u2agc~#=9Vv}IOf)nD-{m}O?}YyZ2bakppJ!Dp21$YpD_~pr z0L%xHLGI87z$20#Lvxbh?GMi-Z)+$4ID^cbQk=l!`v%sJT*e@Yrz^CM>Dw+1dX+x`nlak z^~bxTFgCdasJGpKiw~}Ujq6Yy-Y&x0n_(P;+X#qa8QA`rzVS_aE72a$B><1z|4{t` z@Qu4zONpq({~GwJOxkQ+_!_R-pJtFW%{@>JYuCCHE!F(Ih&eQ zWe@ozn9!YG!gP`DI|FtPJbD1=tw z)i8vW-d$fi3!?|gZU%;;RJ%Pt?8Vdy{e+9_VPgRKz4~N`o!5_6^)agMg`7ERNVFTP z^tEyPBgo;wC~EFY;B*d3jFQppAd9+`N1+_5%f%M;G*RzGs2BCQl;ww5m(TRK%&7_w zh}VNUsE<$@KLfOJIPQbA?S(U|;d~N;GJRSuY(Kvvnt2q>P)!Zl47DF%A!{7-OJPMksHD(0NQ|1&L=R`M zYchw%1(l_v+kI#v6f|dnw6NpwonrhG_dJsGlxd^IaBatuXzj1c^aZ(I{d&|j8N+-n zXb9Ha*&AeaxvG8ztIIKdEvh>q8$CpIk{ob|I&n0*uQZB_<@y+R^lgp`w;saDi`AZ6 zpNMv*VDQjs zE)_2H$|{dy=az9*aMWtme#p249*;mO+?N8oLL2}*P!7$;{2XH_(lA@`&zQ>jxyEPM z`m%OxN}#23=dx{W2*=5SfL(*x3nZ2>3EA97=?k*LYs4Z@FIoe>i;3Jw==7;@;pZ=8 zr*Q7vDMxcKJgfnysK2{@2^ux2qm-j|8K#6rGU?$av;#Ub$0^+$r&}?|eaGo4lt>&W z-(?A7wB#|sM7Y@xU~CQ~$WBLyfQH|Pd>yABW(u!Bn;0v>mP_{#O#-13WRbG*SiyKy*&Wl9UVI)S9Nc=c*597m1UcabTT7EZuLAWR`B zbtqc;g1MXfy)T}->ydVnxf_qqUt#W=juH#Q5KZZC5?;esoZ{~qWvkMlufjGqSOF7! z!7^d(flT2P(Zxn~n>;G~0zMY!iS1K)$WkOVsP-o`o*07_rwwi&WSgKno(Kog1d9UwZIO)(aqAfg6}3UdGxT^mR#bAN$p0~k1Qz)X zLt-EFxS7e0OhJz;Rb*^tGFYiC`~dlAY`wLnbrfDg6H~-_y^rH@A^udgvKYnba3(s* z2q6mF5RrIp$u}|KMxQha!VB*Ei-o`OabyqlqMLkIWF>FbBrVS-A1l+V@>TtwLa%m+ z>YD+EuU~x~WRDsy{+%yz4f3x8qti=JeY)vaAh3XASpM`G)M$3WS5FED~g#s+L7lIpuE za3sz5U2Mo$$r=cnNEpI%$b=%6pmRFvHgECP11t!3qSWs(1d%S#pBbkWNMt4AQqG|j zlbkov=kONBqL`8^#eCR( zH{hlS{9z#BOqoy=xNEeXUCzg=D2o724~~?gJvh(hoITpk3BygU_LV|ky&QK!ND1_Q@jxo?Xl?FLL=)u!7P6eI;hAhz+=XLjDe3l-)FqBv~s+2`;7Nl z>?eji(3|G-$iBi!ZHBL4CHa9EGC806lu?1B{e0h%c?Pbek|}UB!~c&NVk|f)QVzz* z&R-!$HiWV6=O4|nu99C~uqN#{eI||cAm-&~%zK5*8!+dE`UK8PnD^dId)8pu?Qh~F zgy&V{dKPa;r-1CosqjJLAlMDY^V?z?Q+?No``~8C6)xCaTD)rnemH(HIY9ezrcUq4@Wul0_R`zzpf25a;)6 z?6{TZ8_o9S1t%PaOJHR&ye7g9jeF7R8WV;`+t~J_?E|_YzGIsvmJN=(ewnibqXL@P zgf)t*#VoQp54zgh->)(uM>MW9O=1E7h&&W$F(`jzf-G<6+<+$P(YmOx2T#>UelPJk z(A&>0OOy+01PoO*jdL3Wga8n!ZK)@I{1@jzR@67Ym zb(=Y}uugadZBOOnS-1xth-UfjRrT6A;|)EXzQC-lQ*PFw`6bUcVl zzVe93!-*-$!K+W$4c^*105P1vYN3L5_#3(w8XxXgtso(k#-o-Ke?_Rij25YGi$pm*V|F**Pc+l92KR;^Bv(viq4e zt}*zoSkf21KjLIOJQGtS;ecyd0V}TTBO}ag(BM*Lxq@^Z8^3se=O)#6D>G*%)Mt*% zgGu?WU_MTqXqTtdfcaG&zy(iP!XKryJ-pRQN80=N8157wT+Dj}{R^*%#|wgpKW)Wh z{e2**-S&&oE}y}(`uhd&{fzlaPt4b|Ila&P&Sk!{PR#cbz)8e|E1B;ga6PHrl%#y; zFyE^u=6fh9-%XfyHWtgM!p8d_h?={ z$|wa=`Kc5!_?po?{Ha`HvTN`SI0H-c0tVb~2U;8Nj*Ub)AGA%A_yTuc z%hRPftmQ9aB{GR4WYi<{RcK#o7mZg_xek?MCp^%sfdf6?AY;Y$-FSoW9P}NgKqub+G1X#xbI`bv4dPM& zMjL(FWjuE)s(PKtjU|I~8Q&iFII&!?>t`8YE`LO&|NG9jP|RUG(iI9IRozTN8;Sh_LJr{Dj5$ z6%Na@>5>q-Ej(g$KxoY=Kj2=I7+=wUNM6Q|QlO7(Z)&SOA2Y|xq>(JHGaWz_Xfa?= z?#on`r`I1D=-X3&B-6J`>*kA%(C@-KSc0B#KJ6xQJS}B;r_rTHE`|katzNso*aLin zYU33=Q9$Iw*(ixApGIZr(MJVs&>K6H5&VjMK_Q)afZ|XKwJsrJJi{=*fg`~uvHZaf zvSmP(mDb==@+*R4(TyXjP6IY2Np8e%rV-F zD0G-4PxmT^39-^xf&C(;<`ORsi32~PCI+u9;L!l*#<`C{m7Z?%KT_s=cOEteAg>Nb zK7}&$->_t0P)jSWWc9HBO5+3Arqb|RcXYZz-gdVz@zx#x7wD~17PkSivBG1>VhyJ; zW23m1q%2+xVAP=B;dOqh1PhQm_!!;H|* zehoX@VB7~QM%#XPff(>l=1C3g9M9l@wNSIwDNA^aMAK~u%gT~pv){bEj>yvAqqpu= z-0Mo<&j;{GT>U#FHgm&?NaNXvEWU_28$SO_9wV=T*b%uH+b*T~2v`pyVUh9|0FOxY zB4*=acRu^Z;lRV%`&%5M4@$ zg!wV5ZN^L~%@wE?)!m8eWD0I>=FO@S@4wNW5_5K%%~y&$32VXqfAuz7T|TluEk_E` z=sHLmuc{ds@M0HKhAWlTj>QnC8vlT;22K1j#5Cq$N`Uv~Oj23F`D=EGw*5Hk{8V}H zdPd;YKc~e3zkdhAomhO>`J?Rovog|z2a=>W5~SR~L2sTa2l+Ipnw7=>BS$Y+;6XLZ zV8FT*(Zl9Hm;)9bVaXdD6yF)b)cdlQ6bN^^qa*w%ipAt0k`Ycx8|R{8j8e(P8L-;e z9G)Zc^ueQy^KAPuxR?Rr3nqbx6hoWZN7)sDGQ2C1fF(_TM_nX_TvW`qn&_yLR#>M= zLw~XWNXTVaLQOt^OU~p1qxsfEp@;myWCgrPkWYR9i4p1K2QI-1$P`o)Y7crs+AGEC zXJ03-LwyejT+{}lZnJ|lZoACpY2hDSON)fZBCQX2uY7IrOq~02D3!(cpaF@B7QMQI zjd`>7!BV&PW@Rz`;G(8q4C93V5Zehvj)}+*fOCk{4QI-HreO9v@FEOmPJ6+cefrBb z=T{O%KUOF?Si|QM!_Jg#L{ouoi!YIFypqO9f6O7s=#ew&`;b}?Z>pv(7ueo>piZPMK-MybQ;>%FVIyV*fqYTG$rtQJ-$O(0{n-% z>;yb~05l6calZl-M)w-?Y^NQ^u#_mxEy&LPR^jD0!1B}Qt^O7XSn9!*py2*sSl(!9rTj!Xyy8v6|hT=OVI$3}EF$ zT9{6%n5B{c%CwEJkH9gx_D=w zau@?Udh3tw_ZKS57uc=!Ahau^VHXzxJk-6sBo(tH0$4Blokz+Z(5W4RBsuJ6h(N*1 z{#KHKr4u(zz~+eEP!$1K+)PBcf>b!21UO42WwJ-J1^KGD?E~_}n$5ns*rR;o?0FH0 zuQYAqVvf4!h`I$mvsM@DpAG(sk%vX6(#U5pk^gSglMnjE#m?Ym_@q|i+8V@eIjnc* zsh)x^HdBFCgbXpAEze@3faXRr6LT0Fo5-xS7w|W6Fuy0_)?jWkV{$O*V@zxRPY1JO zrWnk+334zEtdZ=ji`}k}gE^g}GK=E_Ju84_7w;CM$H5fn0c@cZBnI=1`;rFpTv2!5 z!Mq!;CoE)u zWOVOAX>Gy-XH~x;^L`nhz)B81%?Q=gh+IoCYVj|b0#-5vs&lZhKmOKYC0D`_CAMB@ zYjHlNg=jDk+QW{xL*Wc`=0n^D_YCMkXg!p%QPHC=_NZ4MyYzMR2){ah2lNW4H7SXV zMVn$?B-;(&OlvE?yG}qu{OKLLM(=HJL#$bJ{!#9*=D2A=?+!Fb$Q=|TqcB_qY!rZY@>FxAxded`nraw6m*L5wIND5r`i=#Q7_DrP za(DHPhNu*Xo)sVpiF@%Sphu)bHmYuKh)S_&po9ogQT6ixU&uq5r^H(vXhQU`pc~dN z_dd1Y7Y$Ld^;t~65Dihu0DwLCF6sYc(Vis#$@m^zCW$}uFTalU_}Q~XkHZCm|6sg? z5RxlukjK%j&ih z%`-2Gm&-NF{Q~J0KWd1|?a5OD2Dv+F6y@dKBs205?yG4vVL!o9WFWU2=iUPoa`9an=|i`+bKRPt`64_dTD|2P&c zeP2+4q@_<1Xz5yfkI~Yd@w!)~%9*$r>2h8E+VnImUh8bL)~`fQ+kP4AX`xx}-=e3V z$II_e`4W1X7thya=KC^w^2D?M)Xd(Op3aSDm~Up-CGgp#r_^}*bThqEq?`2g!4t85 zk2cev7U?EEt%;}SnCZ)Nuh3Kfc-yb+9CYIPwCfkK zzCSM0ljv!&`1%dflRw_#g(gIO=}8e!zF9Q&Z?8|M#OvSik?8S%x<0M>-`E(1O&JBHdh{E{&%fAISbr zLi+zJ^t9sf*x>!G>m>BFES~0Q^Co@i@7|M3*v(bn;a*vg2e(5Pz=W)5{Y(6Tk^OtW&ag%B)}YH4 zRPD|Kbz_3rMOt^r7-8?;)XQ^1hpSZgG&o}4+|J&)Z{Q>qHqzI6gV~RaxnkZ~!8uXq zf!cNA#L=cvUvNiBCKLjW`LOrEi(~1DC#-}Q@YI|pGL91&@pvX2p3C#fRX>A*4iA|J z({8N?Y`BI+xXuk`501fr=FxPw^8v@)_tAc)Z2w)^z8K6T|B~_cUYkI`&|bG8TePkE z1IAReckTE4w3jdrU%$PZtoGUrY})M@k5x;p_HLc}O|>^g`z-KTT}?Jdey>|}aJqd) zn*mj@eGLrS!msa!-aXYf2;sBN;59AZ05MEB`flYb%cBR=Hlh)@BhTC8QD1rlEr$Bi;#LrYdra}Bd5WZh*R6AZ zlMY%*Z*V983(|dsyn!XWntGsg2M;n{f0dXq0EVixn85(J1b+(e+PxbHQIC-jaXLAH z4+oZb6~@NIALbYKTns=zc~F=fj)0L(AND2dLt*1KG$rm)X`wAUaO#ojviSy?SjcvP zoA-&j{kw^h=iw5b(7zD=@G|(dNPs6i?X*5|^vmC0b{O^-fb#I)*slz$UkM>Zua%3H3Y^DaQ+k}MOS9XzSwMV^9pCPBHdVUVrrpG zjg4pc@=<-@=lFQ6VzN$qy#wPTAKn(_(C&e9*v`P+MIt*D{b6~B?2c~)GCnh3Op?Q* z?=E<4wfe^@lgGpCZywwc!S(HD->n$}_xGu_nEhHh>Da3L5QWU~H-5fxH^xMaHvIbe zc5=2>?Cpauf#_LEa|C<>`n}J`WpGWXbi5?33c;g(^;}gfit9=7A0)*mGmd!;uwA*n$LHTS_JsMrD+#{oN%3DK#cPt{ zwCB;uoil-*U_b2uL-K6+GlHxBV#eGTfTax0llH%n_@hg(z z7bL~MmlQw#Y+rmEnv@<*O5c+de5{N?{nVR?x`s+^y2)u@QO^FVeZQ z0tn^h$slA(5H?+Kau71{3?q_aAYg6D!84UboBP;(rsHWT_*KJ&a`+iix^Uv_5F8Ya z`jaPqv@K< z*fgFyx^q2KmDR=9YxIJgTd-l%Zu^GN?#w$ki#**$n>lRu-mx#80bjPKQno*(e$!yE z=xi)-9%l;7lDlbC5r4nbpU!t%xNk9jlZS;}tZ(kA!DicaI5-n`3ihOreG*3uH3fIJ zt@y#V>#o;x?2WpW$Z zZ$Xg>T6VL3DO?9>!wR~555hfA+SB-~IhOT-Mc_r^IIsN`$9Wb0hH>VaC=r_XQ7rpw z9I5kS0!>P@`_RkiqPF0qEVQ2d^BMf9%cO z`gr>qI7W(if_K@=EB9U*bo?IEfRP4T3x_^NIV^t}&A0BnJ&bBG84{`RnjUOg^H>HL z2GgFXFV~cN#2b3MEo^%Wt)Ud!+6Aj;cc-J7Wt!k|vJt=1*(sdh*50cP&y#fHt=wB4 zyzPb0OZ8EC9$Y(rgNMejM}~Dqv0ESc0xWbw{Dk;OWx307MTukHxsbF+R4MnYgTwoK zUULUakHdR~y-K+?~?;=fgf@y2I^^C`*5g zZ*b@AyG+H9cq=AD4b!Y1%s<=jx&m zGtp&zwg-+zQ2MWgD_(_jtv^&=*?}A7dF)b-7Zx%losRy5hnN3fy9Rd+Hi4QkNt`)a ztZfShY{GzVsM5R>U);fEzxWuYS4Xpz#owY(t8Il-1{Eg0g++Khrzck((5)(6>@dV< zyxP-A=PIEc>3F`tzDZerebnA--(-genUBHIH>{d!zqSSDsZag{OkH^aFUak_@XpNv zfK;#vG>k9G>Wr%szIKCgPqK%U7GC>lIMN1$RhIJRwRj#q?d5r7;+I{w08C~@whCVP z+l>sCb@zi+wR89qrRgWg40|i}G0&Ld#Y$5%%LdaPL^geRccfU*FFFmbE;(H@FJDTI z9^>cDY53+2Hh+&p(R-%SOqUY&H7Xo;WvhBdo;JKeTq+4>)CY&R*tguZZFs{P+jE$9 zyf)>*r~wVq9T-kHCb0ZJDYr}k_q=K6ijDIxj0ty?KeoMqDPbA#I#p>FJ zQD9*W^c)k0yCZ?49(^1x*oqtFry}asjsbDZSN!;5Cj4W**hw>Mipihr?|T z&G$4M*#+~8x?(x^b%Qzgjut%&uTn-~v<&y~XM+>N_OE{xo=;X*!Kahb$V(o9Uim`0 z;xS6~T89^AUSgPJ_o9Y}4t9{aiT-qpws8=ec(nsv=j&qsR=+9ML4kKm;mP_v=+4a) z=L*bzyH3{cSRVGjB?_2Kpaj#$W?#I` z7TGFTMP!q);mqXwE=B8`HrM4)4TF23A-W)TP>R(ie(v1h>o0Fw?CONoD9{COfyWy+ zq$Q{K?mBv=oWzEt2s*}x+OU{pz z^CL%yBRz&AEr)oC9O4vn+^snq&?)E39KwY8;yjEw={!W5h&S>1d^6t4Qd{IPvp-)j zLvlP<^|uC2^jBH_pUqbcrwbx}j@M&}<8{x;#%r=1uStpHm0DXOu^PmP7sgGj4(-YU zV%uy>Fi_~|abY0|N|pF3NAHhuY;WbbU3JoN6E}c?zZM;car*)~2-CPr;PXkxF@Ysm z_y*1;@a?PMCv3~{Tm_Cmm;4l^@Q5Z{AUT#r3OKK>7N?#i7*fa)+MU&M%`rWz<-X(i za}Caz+8kxhHs5#jEbxSp*g)^g@xR8OEZ+s9Aaevd1ZlHS#pfu668_gZ>^5yb_s`6o z?mOLVMlcZMp*tQ)k1azW+;GYwkH95pmqianQLwBLVajxp?^(0j4~)}fQVZmy`tJV# zPr11RJw5LF-ZtMoGO{0$9;LAf703_0_^{u<5|_DaCqQTfOX}$#*e&KBmhY?*HKUgC zZWu|r2ectelra%Hju7nMJp7!%m(|#8)T_d1vbE$M<*G z^~16H(f!ay!=nipR&0Mm{1I=LU`?pKoabq{=jXd5IHwMG+A?bJwu;@iAk>p3y3(1V z*_Gur(EQ*ML(ZUHC84wp@`;|ajUD4*^Oy!5|kVKIX zXuGXA<@C*g9jP)d`A>f#aRk-6`Xd?D=LFTN`XhFDomS_F_gU)kDr+VRqN0>oMdmue z@OPK?h)#+%N9K~(gembs!`HhZ#yrVDAd;T4HN5XfSSZjk<-dulVTy^5Y z9b12hS!Q~HwPfeYCHr(P*$S8Jf!2}@e-Ri=$PJ==Or*ekn(cAvFNT!hzaVftrS|&* zAKPv&o>_CVpacYOqE8M7uEt6{5Osi{N0@pUJe^g0sa0$|^QJOyE5Dx^XurAs=**g7 zR=TK5rk_ln;ruS~odr?v8eHc+1>)x+JS!b68-Q0O(Rw|)ZezU{yofyw-p!4w_M;X* zR-JGA-eEg};Mj%gJukBFqA2DI-P`vfc}=9lnjf!rr0Gzt3-3cjPVs$5^i1GKL5J7g zjg%314#IZ-M`c>4F%vam>i`G#mEC4?-TR<)T+vyBqeeNt;t>S%fbj92-BG7em#=Eu zgJn75l5ss67yO`pyzPEP+fZ;6YsEfl>2QL`A2B8fTkv5#f)yCSan%ltM<&n@;{nEK zi^}o62#BmKpJuN=@~!IrfwtV@;WatI32nvWs?!7Q_4P*=)(j9Rf(k7>=)+IZ@uov{ zXGEMx_g#|Mf7Sjr`hO+?-D%v{r|%-E?jv6NYGcQyckNI;(A{m=Q>z{#bO-$ zUSC{WGei)vD9HJ?*S#S&6_GzndaWy7RP!-P!M_ZHA0P-+EG!;KE|CTv9nljw4(a17 zjt?J!h~vhWjL%fH@-1v4>4gMOee;0!d{`Xt;pqatouG9q9)Sly0WlsJelaQYQ`TU; z!%88b1&N^xDT%_ox!^ga`fZn$q%x{N3nIVsw-N(LOJO`4T;xYtN85Go=COL(m(=)C7ak`J;gKRjy9&o%xYbIY|oNtRrj|Uhlih;{P zKzPVpJBAmff+LqjE{vCVw>Y4A+vN>Fhx`OwUqB@TN7ZZL??Gv7Kry#o3dc^q`*{Ow z3!e3E54=A7cPTqg~i+H$mKZT5Xbl2qX*raziw%tDq-QCe6u2g0NK^T*_0KY3@s{o*RrP9}5 zh`%oEQNK&`^BhXW-#@=i!AH1T)5I zU9`XIg8fxxmp7Qv<-CS=PD7NyZ&6Ede$;t*(K}G-Lq$3E*vF~18aSq1eLs>=-_l@G zeeN%=Z{F>wE3!@Yw_nkr^Thq59q1x3u8EgZ!gN$6oEV6)k@COHZ{8`|(XU}g8*e3v zVSxxepj{LKe!$Q4vnbvwZt#a`aVSPROvhje>_*T#SS~n2Zv+o^+k6wnQY4OS3f_W` zK_r3?W;JfU|3lEU?*fyiM<~lx@J6}L3I-?^N3%%Xs|CIB^~u`5{yX{suC!k@|B3u< z;(#yXZ~v)&$?DJ7)t~&Q<$3mpX;}o0j^jKy7m4J?_?z!0!Og@Zx(n8-_APMFQ0uK9 zW4r%D$OOj1t?+r{?5VpPuDXLh2nY&_V!fjxwf+j*{Ufvk1)G}I*X`rVGL+U$RwZ>W zb3H4F$OFYSc!1@g$-f~UEa7D};t+(?dIW7gRiKcRYfL->#};_RdHpu|d>%3CUtrQk zU=rHlI&d(CbNy<<2&b6%_b$SzW_Z(!4z&If|3sQ0CYbW3C9-}keb;|FU;kg12d>}> zw@Ke)Po(b)6X+Y7z@YCO@u1zX6Uq85Ooqf4n`J9%)rySn-&2HFu`r%a-@Q8!n z$aAs!Ecq0SA0ELd(F?=S!0{2vlFewS6c#Q$YOp5v#X*R}m!22W0oE`p6 zsusZmnD=?HT0n`L<_+ygD=qlj*hDScP)nH>iE{)Mx5c^cG{Sfi$Aq=}CIxRB z+2bzw2bQI}0x6dkm>!+T=Y4wwe-eur7B8$mT)*BH>laV|Q58I%i+v9aF1jH=$@PX0 ztiUe`jT8&APW9b#^8>c`pc@267d z*gyQM?%nX8!2L{JlD-m1@u?9&GDb_S+;2Pszm5VWflq|@U&3>*geM2^;9aoT+1W6h zohf2^#Adgi&?ldtnf0q0JbxC{6sW-r(PcbwT@XT#Up0H2DO<>;V_Q*=*>53_3Rib> zry7VB)QrS?6sms8-}hf?!-Gpf$1zby0d$i45NpT4;oUJRGw?1%D~x2g)!k>5MA`q7 zY;hBoD^q?EZL_7}vZXm_DX|?iqPq$c=2P$A0q1{{;OL1zS^Pn2J%8DM`1@R)gRpS= zY25G%0I56%V-w?Q1hu>1=6$=Wr5f+UYL|e+pg|~K;^hTZSHe~NF|k|ENh~J28h%Qc z{JKPY%)Z*@zynAhzYNEEu$xC%HZmi;02vdyO!%e<=!_6Di(&-r&&ef?2?Xz?{`sb^ z%oV+ptVgY^OZVs{8Sa8!cc53Py}(;(s9+tbV^r-EI88K8{|g78TXpW9d%9XV1(raA zIvhj9o;2QXdkG#CTZ=bF@hJgZbAO_=Jc<^l64}Q?nIRY-_U3Bk)#++MmlxjaobB^G z`lO8Dbwze(_o7Q;{Lvr5Q!+k#ylIg#GQ^jBD1vD zf-lQl7>zgz%`aKT6TiTSb-)7XC7$ua5XACinFUXl?2~2Lw8l7y!HxAlK|iThPU3TS zW2R*+I#1Pyxmrf1=$LtZ7}gvO0r_O3pk_&LVpxsu0%EnYBt5c`_zUG>>|94If^erx ztyY%Eg_r3nx2UO$Y^!nslJW9icSlq4XdLt~8h$FbbvSb36E5gSXnVA`WK~;?^{d!e ztQw4xvAFppm9V#Bf5C!acx1Z*j%WT46$rxS`*1U~_L<=(apS<`zgByA!J3{SzbD#T z0NCCH(XhGG(474)a5TEr z!x;1(2reZKyLtZvr>{mjn1fn5&k=bY?>}DWeuY<-JkFg!bB|KK6Sq0spq&&qUWiI< z>h)cYXP~WtP+Hml-ah@`#s04b^+EPB`@hQ*yyF5u??jdA)1%}`Z6JD_%!Om0YfzVm0|D71iccH4?AULmJ#d19n_$dsoFsa1R zjm9aW!2GN-?E+Q17a-g$K@j|zPe&h=?%zyLwXaUWYw>~>{sCc4)#sq#C1qL_3f=?Y zZptBgaSq&lxV^a^yRY}g-lGQBT*dL7TBfZ-r5g=hR9Jxu&neTskI9{j3csI&Zsf`e z@v3wJ%~<^xYcYvqoIcF~s>8eNi_V1Y>(a#PuiaOR5)z2xdx+?4`>H5q`IV{i_0oMg5~c=96jg3 zg`-JSpc-wSW3o1~NAeZZ;W5sykb?ZiUtoKy&vV4fE$UMBtFj6{=4uaOR)eG9cW9wK z-B@r5p4$NJJtNmwS>IcNe&qazk31q4U%B3K{-Mv;-n0zn{|$I2elfghUm4zwaJ!uZ zulCkzPN)g)l>|2?PyCnQoqF`Ej_;W#g_j6n!uzwj!WBxJnNQsgwG^c0B=$-2^*DY&F9*!rA zu=(%LW%&b2!w>2&9~AY%rFnd(2su(lKc@IM zGu*tn&;8Fnvj|BK% zT7Kn)@%ynR|Klq`^3e<;M}o4||-LXL&}>UQ3k=cv7uZ+=4t*jE-D3Dof0 zjK><-rvD#|P)R^h_qI)tqO^6QNZqTlH-_YBiQopewyR zcwINPvc&(&O?n{=(S!=k?HtwZOE1xU>FL5=ye+-V+3o)a!rIl2#Oami-8dV46RtR8 z`_m~>Mx$D7H0&|(3?hWVj)G6116oHN4<$oW{^%8(h{NZxGg||9aa$ni!T1pnJ?V0{ zC7-Jo)nuum5L(I(!(%mAbx83Dc}+1|%wd&FZti)!@3#s~P7 zO+L51FDkb(D)vFxx{=p~?>Ys~G|*foE)P-Fi6)DnFu^@hzIE?HJLq(9)Fz$-s?L5s z#qI3Iz7PwW>|gj?Sr6$`7XMDXIOijwJc?(rcqCz641bU<;P~3*pNy9$@cl7~`>`|P zVig}zIloLl4bmtM7-~-od~6S2eno75EQUhxPw>|5Kvcd4A$%{y#|JBcRBd66zmS!E z2MD4abiTEy08e>l0Wm5&h!avS?KF&YBhiApV0CD*NX{GdEcK|KAB9pYK|d&DpzyUY znlSCRVuExLpr#}}-gxQ&g`;^u#0um&zt6})FM{I5p;lh+@C5U+JkC4P7oJb~8c#X{Gbvsdhm2pMYL8Y40EBps>M%~w zxf?lvl>2LFU>p%VM$YduAmahS!mnU?N|*r2Kgm6@1fc!dX8RR-wIj90fsSnym2u03 z&Y@#?eMNNaTz0H-ibHa9!WAs;7OiqGpN3RChbF`!**+T|kH*b$wcr_fGI$d0d5nR` zfzjkkYZY!R9S*Uq42_hCdP!tow63@ooVc!Jz#YRE@wM1|^lASgtWICA{lcLqt}733 z_;=eM_;uPBeBJi=iG2MzDtEttuYW=R>%T_-Mf+Lrp4k4vbG~?8iM21~JF%jJ7H%VA z-VNRd(etaznenWhq zfvx*G#oHm9!8?**wOfI%$n1Qt_B?%j!FvWCR7WdvF(A*R9#<|vTa8_F;?0=+5Je+< zunq})1OGwQrn06S)x(q#tk}gWwRO6S`r-Vzepv3Y67<9?FeYBjkw<|8uO@Msvt(zn zzU>9~m76W059e47;DUn#-#YUglnW>BQQ#>#$O>9VxbbtcZn<9R{ha+_V5~e2Gq%mp z3Kt~U*AsqS(N8UEb8dhi9OtIMR$IdMRIWFqC+(mmwDYz)Rk*m7J7N*uRKsE5`Im|3 z3Wv(4uf)qv<~Si!(>R&QE;9MH;cXS|W1&zoCO=PJ#arS^<3kei)r0YCG(paq4hL|m@*%?Il^+^T93FW?A3AVHcpR#jfj4k+t(|Nu<%+FO?~cw8hOE}-xC8`G zR#D@yTol55ci6%QxJMYq#YBT$c2n@d^#HlHB3cjLa2{{WC#%1?>Xm^Hr;v49ac@5wy$#---{ zq}H;wtIq;drP&A?ocGv9W1ez1+zOX_*ETuS=yo1Z1bIs>Pu05 z(R$F4vV1?Df4|&*05^ouU)+C1^<~b@xKDU^TS;)#JK;N_A~)qvzzYfJh+ErCfTs{} z06hvo7igcL)_q$D^ahR(?qu<*mgnqlAU+NN`g`rjyurTrUpx)7#$vmKM;cazg0cg-Ag9~V;j*_(dIaQSpE3K>c?i>Il${6 z{*J@%x`U&_;c4tfO#NfZb6)LpFp%I`gXb$CtKa298yFdE$xB(PGvYfF78*YEjmNla z@UC^S!?-UD8gWMaADL2{m|wnUc9;tO5^ zv%90lcfgxFZNzs$O6I%2f?t~cF?eDtga-4}#D)@*IjkOm!%`a!dyI=vm*5ZoKny#t zqRp$B3chM&A&IP-+=C|MY7mEf+B*QLlSV+$;q2;FJ4>cBjCaB?X3XTLqvqIt2 zPu1V?ap~VX$XfOpxF>+BI*f8>Br1#>!3TIc^?Oh_UgAK{@vd{!cn{JTJNTB6arYU| zKgswm<2U%_ICw0+Erx>l$JA$#+xT=eYR0^B=faw&$eJV1u=y&KcmEZb5sj>jBZo!b zRBgT?l(w)t`K(29#`94L{Hu^(O}~quw)t=$2aoUgGK$C3+(vFP0>|dnoC)^xMzzxC z^;3%;1#f!e_H+&{>cXR;54;Gz)CT4_3ST2HA&_+&0)IdtjbENYU;qQZK;YX9`~-ov zN(6!koXgCO2>c#_@O*R$;Ry`iEyD*G=9{zlevD!GWnkFJFz>-5d^W@49(*wEB8Cg) z_n~MmoF~KC4Cl!3UgpV=;W|JPw#l%I;eTSJQRfkc4H>RvSR9=N(?&DgEx$Lj9zG|4 z{6iUDDZ_6t&vPNiw&uubXz&z7s_~Ba- zE|cMO=5fjJ)%?z<-vH0g7|xgB?=jDC8J^B?mJEj&cF6FUOA+qH857E8vg{ri{wc#f zGWbsG z*iG=)muPzdF`;4xJobDBUyE@P6Y11(SoA* zRn^{(JWRd-Q=oyh&#t8RP}=A*p5_19N?ca3MMOFHhpc@_yv`nhVL8(WDNCwB7V>TN zr%ibP-v=v8ZsKdM%COok=5}DLH&h7*QHO&x9Ueg z){m5lS%Ev#SwEy*06xj*Y`*QfJ| zq(LcT=iUN0D09bN#he4FbL| z29|Kz%v`U2<2vym=itDYdvKns&j5mN^MBHJ<7d(#)Oe8iYIAM=w^eO-nHHu%(Tr|E z0E(=wYW3=m=CP?4xu;OIcfnl}_)3Vx*=Ii)gZB*+USZyRGI-0&oVVxt#JQH-yaU}S z&-?&X{(~&FX|L}?Y{MZ810*4a{E|@VKR{>p`agIDKqr?GmZ&AKYOH~@TVkls*3^A~T+hLnBq$CUf z0C#Dj$x5c9cu65;G!(!Pme%I(|;_`g7yDNRQC|; zQG?U7yuq?eurwLhr>bSb5D8yORkgEpIw;>39xSGPW`1}C0v3J*uLQ%pdO8e&rL}Vb zJSyJUl@)#;L<0P@W;PCS&G6M(@W$o-tBrqO$z{#t|B_DhiX4GToi4dJ;a#dtT18Iy zO;H`*+nbQ{B4zp{Bn$t=OgDX5(H=ya(7$Rb`*Sd|E>&L|8vu?Q%oAW)G|i=7lS6~? zU*nS(ra~Sqx5@)+tTN4o5txmoLU?5=4EElr_CzU=Kya$Q67AV9~xea zBTNV%%I$|tgy{gn?7uo#e8>x9G;gpD)(Rf@@oHR3bP+UD1|@pBsQU#`x4;qLixS6| zt18O0IqCYf7)%USNd>GGFfJvt1ls%xQxoI2Dh!~YNyCAgryJ#KW?|^V^@+u(i?zL1BLzHwLI zt-I2-x1H{cx(O<(MNj?bD62P@X|IQ$hd3wkvdTH%;X8x={9HoZc(2Uq%JLuJZJm0w zYI7F)Kjb`kVdjq-e5+Kan(oVDelVmq-}8+753m}41etePau!%OccE`Wz>~C%1D!;+ zUF!`j%*(a;`iWh3E0~+oNEbR@JkkhOem5S41S{O3>H%Ulpab}CP(R6?>~`aE449Qx z0VMaYq-IfBjnf`&JI;^2ctta}On2oPpI}75K3Sdr50OVK`j$8#X!1n9DPWTP6>W9H zpvDXA$tAKhaf=n6gg*%!750?S4@6-gq8&1=w!GTkgzcYDUqX=8f6;}0#Fwp`$Z+om z!v(Q5i=>rEheU11)5MpO&3anyvUilEM1gQ%fhen$WRz)@;IMZUc9x9hCvabL9Wohh zY=7*A9QhLQ#@#u|LMKl~^7PH~DW+Dlw}u`q7) zmCF3UUR4hYX0D&9>Jaz!2Dz4*TKWRWGlo>57j&zdNHoSp(ILn>AyuDQfptw~msl%A zQ`vv3QdW<8rzO-2W#0)E?maFm>_TM~qB3n?XK60FD+Ug>I~$QBfdVY8Slk2$biY+V z(dIkVImfYZfU_c73GzOKs&yI341+k7Q38_vfvg`H3O zmBH+1@tXq!;_OZWV(WBe$sY-g2E{t6#B5rEj+keCid;|CPLVE3lq4*@Qv}_ZMS!0t ztvg;R=sSiO2c_Of9!#7lkotxY7-<4WjXl<})hSpoi~;PPB(`_eAg#1Rs%#d{E7i_= zyhbVhqk0Xxwt^!KA(oR$wQ|UZUdhFj#yj!Z#M`RCBFAxmjX1a&Q=OwUvKF`uRT_^V zAS7I+$%*`GWk0W;0j1u0r7?^oWqE@gpGP-v6R$L#ioXI?&3cvP*V&`#*>GEB}(Ne?h8GMju=Y4QUxJlb(rZijECNQn$J@mZ8-KYSDF7p6vSzP&FpRuG~qY1AK6 z4F`^-&zpNF9F^PoVL<{5Zg+wZNMiX~$B8(v@|vL#Hs80n5w zd-zts;uhy1;TsWz6iwCQ7%T%&;uVPls7kC48EeD6_@=$CYALumas@nXKY%R(RGS4y z?VIGNYx^ThV6FI2XA1S#+Wt<@z|R>9v%d-0FZJho+VxjS9(PO42;lKmw%uO*el2DzM5}iK4-|aJZ(0iE4|Fnoyau@i zymN36DDZK`or>*{V{|IsF_BBHs}DW~qBr9{=me6|3HL|Uf=}Yt&mcysp<^lFxX0{D z<4-xgdVib+m%)E=Gw(c})i@bvp_qDZ7KMkr$eEJ=c=emI;ItO9>oy-Q_H8%Tz!*k# z8h&Wy+of*anDvw0JjZ;)8yIKvojSvttO+K;p`B^GuZ8odUBE(Hlq;3hBWGhsz1ki%^by8vH| zBR`GNmr!d=(O-C2Ovh)YLZfmu)d)A$dR1iNl<2!9~*8Zq!0Ve1_A_%(BUu=4kk~npy;-hv{dErfA zRhveYv$>Ov`s!|-hGC*X_FzY3M!7f_3pIljJI zcQY_P8DBO&jW7vH8Xr)1^7vqLkTgDb?~09216&cw@gbped~!uUuuJ*My(L(I=L?c_V08rbL4?esW zVIU*?cJLz>Rj*!dbBpIL?ny^{4&JS>vvf8hv-xHPM2d92S>egc(5rLcv#IGHD5|V> zys>l^!@!rZjFu*1(ZDO4DuxlocwZ%r~pFD}l9YmOenc@^g?+3_Uh-;V3w+29Bp! zpF&f49R55A0ufYYOn*xZ4G$s&d+(eC=>&iTI>8tx^@@Qaculu}sc{@kHJz_mP*dfA z4#z-P^-IOv2y>mm#WSJXQY(kT8-bPV-zA5gl~mf%PkZDl!8h20Dt9X05K8WcJAgNZ z>|s8E4t`_N8xJ~9T%9cBi_;qpOpUIOIop_5nn|S@FPhOp8GTknzY-Or{i404Fag^Z zeq3lK_qB!3=c*E4Z=`&CXzYpmmrv+3?W^stUO@2#d3Lp9zTAm;s2@6Ef7O88LY}q3 zJXOfEyKa*5xB03i`Kh(ONcgTl8GNP<3nk!qe@?nTQ2N5h2S=r-?>ZTL?-!f!x!yM6 zn-qf&&K0>uNQQ4YiX`vD{iefL|vWBTr2=FE>nY^|p!9naM$cmlj)Xim0&c?7w|e7hi-3wRITXu&I9-8>QA zDilc`&j-IcK8`pUd~mLG^8NmSD@^!iS>rh^2A_EKG!Z^|OvFvKxQ(Pw%G2HyCI)r+ z&h|yuP-@xi(ejq*CAqR~h*ezh|2E&HkeKuJDY=n{KT@p~_!}G}}!gE!S9qG-TpIiPA_ryKRJf|J#oxS};vqI0i~_7{?4<7UKQfDaRVbP5vJI(yKMD<1oNqqKwCK6msDY@@QfBvW67z$Mbys;SCuR|p*V)jRiP_4-Y!Y8{`IW8^ z@ik9*I1}Ko-=jxi1TMP|Kj_8ia2x8j#ushLMvWhWW8+rWlU}_x$G8l_Gy?g?NCc>M z%fm0&dXp#$JaKnUq|F%=bl8^J!e@%r2j8Ir4fMh~1fBONp5AbZNN{0YLS@@mqt?!e zLR>@zc_?WM&p?hiKNYR7koknzgnZmT*}`WrUu(QwYTLq30v;9t8a6SP@!US(D@Wln zWJhmv+%So8YZJ4>@5-$CG1P9bvJRA4^N}?dS@XhOqL=loQ0n)kV-;w^TkxsR@fS`= z7vS{kd>roNGCza_h$7p3r-=JSFkO5Zm75>^5mTE5JWx%!m`6J&uG8^+T#u9$gN58t zI?`6>8~7H6|)Pa7Rv0YG3L#{XAVrSeym;$_|| zS^DNU>l0k&=YR>~c*N~j2X0T*zBB3Q_8$nItmQG53<;A*A`3=+17d?y-)~`QX3MzR z3DNYM9Eo?NUtQQE!yAXMEN-S9d{L#Mnu@7y+GUmQ!#t7Xn~Hg^N;-H5EO)n3L%))y z{xjN6C@;l-;7z8wtY3*W5+Zs3l6&Y(4G8W>+<{QSyOc$z-W4{!zT?LiP8AzXd!dp~ zTV1nETU$#DmF3Ggx~_`?;U!yswe5H>S{)x|cxhq{}xo z)t6{7K0YOG%jQA`+9OGl9u@Dw0D>k|r(1 zNao}K|5H;-ft~BQ8DHBs+~4@m*cUnda#7!@e?=GV-M}|c-v$2D$gD>8Ztb8$_R(?H zH0&yHdXBXAg^;?MyE86VLp5M#A^vP&2OlyH8<#kE%Mth%7RoTQZD@@4^dYl45ICHS zX=EG`9vFEA&LQAEvUB-3YgXhy`i+zO|G;P3?-h8oQ%%lFqwIQL1TUI%g;!2C zhlE#;JVkif5)Tb88J~xj%H80V-~ShQ;}@Iu>PEY*(O%uvkfzsrbX^lxjJuU%Xz!WK zk?og<$DZ$5HO-mb{%o|T?0t~IG=?u*%a=B?jacVRlMAe$TaQ+4bEXeUmUu)pEUBLT zXg#T|zbh9llQrkZHw?+2x3t=CT%o_`P zX5QjizzENby$nnM<2#qkWnn3+XkQ#3V;#79kx*=0S3rC;+uAN}`w;X^*ue9Inj4)E zh080ta@73cC|_{vXr|HL#Qhd2;5;eJV&HnWzb0=^+AcdU`k{w}44g+6=pQYF0o|+! zly=@vSe`|W%H3(g^PA30NP0>+h~Ze6duCcCub^zZTD*6@99Q?9q`2?&Nm`49g_Ias zwbwc(3jpl~+PkTyeE}cq#aCzqsb;lxBQ8M>x*>9t(9 z!R@vRYhPu0xaFm+eFLWckeDClOVGg5RBlsdpt*>4O8S-qOKxd;1Xs0;?2ok_?V-`$ ztDU5OrT1XiZyE_dKxfbpD`p~f-ED7(1`B=NMtA3aE=1tH4E#lHvz+|f{}9S|0f1lN zAM-g(9JIg5)>d^bioUOk%!YNfvcee}g&(m;U8%O1>cH**dhp4ukE$Lh1weTYxf$rY#O{ziO<8lB4t$C2kBUCb$)uOhuQiflLyj5mrtNqiRd zO=cj)pUOS3UaXTw_7~baHmVu=(V5xU=$KVJh(gbBJ_(i>b#J0D&1L@SRncC62d>wF z37`WJf)97lzYBP%!{NSw2k#?U*T`ROjch%%>$9GIL8Du}mo&c-rIQXJu&*^bvNznJB5!jtGQ}$-*g$P=1 z{cDABOrtBtA?5!M^I7)a=kv(oe3l$)J}YECk?;S1&F9Q@|7AWa4w}#S+C$E#U_w#7 zS@AGoLje!XpLD@PxA~;$U_L)s<2Tx6KFMS-#rb4}myveRd>%{Vh57v2p9=FCoS(xD zSA^+_U4-cmQnl|HmRQNq63bhtyeNgifF-t)ov;l-n(Vn`8%rA0z=SLJxI}G-@$;q8 zXEU$wY3Ns)d8yIitc!I?<+{ZXH%kA_Sb|2g>0D8sLZxi6Fvi(8Mg0{bg!3DiLz&pO z&W#G)DAAxnE_1&xgyUQWLw_T)xhoiRZkC3-@A>oDFMQT-+LP)`=YsNac6}t+i7u@( z?NRud*4F_)+~^WyP~|FeRdO=2^OETZ2b9R|$vloHl57+;W-k4Nv7U#r+8z`0+sO)e=;V z?@5${uXpH~P}OTEe~Ix+i^h_R%HaW$Hfe`8!yawSn?_TTPw(XW>vJ5E`Me)UhOuO~ zjSo8)Bf}Ed6egcSI(I(b??p2gRYxg4>lN?Y3R4S!l-T>)pVID8@>|~VWOPxt$a&=; zdij<-w#_thED*av1H;BU&Uk!Ev&lO=+%pwDbM1%evT^Z2sme)4?mXeozV14+1#Luu z-{b!4#Np`#f@wdE!DIy-DJp6boTqBXN7Emg*3B`bk3E`$`z=rs`2yw1^Q6eUh?Ta6 zRVuGfiyyDr7LDBB$c{S~mr?$E0jo*lGg}AQ`g{ptZL6-wzrZlV^EFcMBwG=zH0hj&tBIFBIqrNHsc#G})LR?v4)?B?WmnlF(EJjsxzOqh$cu#LcGLX| zK1z)11XM%nH5%Zdkk_4#3;1BLDI>uZfFH%U2;uFOnHC_C{@BxXfzheyJhXrjyD#n% zOh}F%KY@@CyaLq6FMU2^l4QI|24q+{tw*{n-j=Owp&9W63uic&q{lA)>msvqmsUd4 zoR3hNzfUSaU)<0d@V)jU<`XZyMefs{;ndeK++C(KeXOLp_lpt4nZC*WrT^i&KjovX zUIiMtX8R%$&$c48dN-3^7(Z*#_XqB(NO6YIcIG0HDOc5(s`o1%u+YtREZf%8t$cd5HK?K5q@d)Xz;7^TYJl5U&io$x8yTkt&@4m-J;A`7{ zyU-Dhv`9CjlIV6sl15D;m%2r)y5~P2Tf)P@M|Sc7+3rc7;ICK7pXTRFvgFr8Rimoo zZ9Roi#`UHJnERR-LxpkiF%;3Zz9!jLUoBlGQKP2p%W5P-Dx(`Er856!m{si?=6CTY z{T|G~9k4?PCIgorP1&8;zTHb+kfbX>7k;5#<)8H7?X>j1{1D zBPE%4sqg9~P^g<%xmyGn+Lm_RzT2hI2JZgI>Mh=Xw%3W(9ERban|IlxW4_QRCM4v} zf}_+{9NU zdX;c4QLUPh{j1;)pFm$YPuU;0f8B?J^G@63tCLNK>4WwygAa%6$k8XLnZ7 z%;juROt5vJGTkRX>`}e%r7bX(a&%qKt1v!(9GoL6(|@$w6osbzFSb=>Vy^HZVi))V zk~;>`A?PXdi=@3nhjFS5!&*^OR3hR3A!bWjXw4k!9fKyC{Zh?>Ms_l#@pCV4tZj~E zJQFi3k4R;&lQwXHhu8Krm0O6Hp?N038`c`R;p8HLrjPWc2lv|u+O*$K#TC3I_l)f1 zmHHI*E95vEla{Jo;Rrv7kJTG6!1D`{pTGEg&=q{M=>~1wJ?u&r7!w&~Bu4h{3S=7l zq0M`4toIW%fqlk(VE_f2dP>L9Rgu!dMCQH+5V8)r>?QbkBR$6Cu0S;9Tr2MWHxMKW zgJi#?b6Zim_x%N(NikWDCxdzJpCTb~Y7bR3@ry^h6TrcxmxPnCSjnOLEO;B%iF1{| zUlAL@yAxPsURdz0=>}7uPZTtx3KiL@1^h4xD1@A$TI4I%EzwfmrErcl&m`elBRiEA zx|GPgEwgfi&`3Za-+2)(+ze!L~fy!P1}M&)4K z!TCW}wSN=NSn@6LIyi)K_{}`9l=B{>I{Sc_Sf*A(NGPEI)cqakvX_g0qpZn`WC?a>K0bb& z;my3FC>FlKb?UAEeJ*wo+Cf+H$*`ojGfSK|ULgYFv~foBvQ20x=Uq$&abr)0U!8$# zP#LN>UM^_rwI3Un z$R!+opq-cP=fuB*SK@$Q##7-g2Yf**h*=)D>)-^kAcb#mm`KQm*0<9AmSS&KbM3~N z!|aa!8>A1jNgP3zzTbmziFL_*-`fVZvajM7&Z(`eN8Cw8qIRkWN?V}j37Pk4x2m+m zZtK4hNf>@VYnrG+d%4T78A@KGJ#`wlYnnfYy%r`x=-^}{D_6#3+KnYIan4sNNIFjo zWw_@)3)RN$lRsD8=QpYRHD!Y)MU1TY!3i>IcW^&`Xf!_qnQ7vS{J&8~j|a?i`FIce zb#Q~1%W}b1R0asXOBXxs)7Jtw$aOUy@95l7%FX>_L z6IcaC??|eOoa6NHryhP2l@TVKOQYTiWb(#?T--)1YK1VcF>X=T#WjS>ebJ$UaaOta zbBs)|S+F}mBmiGU6sNJQ^@Gnl{{1cAOf!0vnBO{i@yfPZv599&P#@hGN!zEIj zitw+e?A^?kdpi8K!TCW&1Do9I!tbXQ9Fe)k8Xo( z7PkmKfWpL^I+|obtdOq8Cz~3?czpY1ntf{}LVs&n!b#7KHpq@Xzn5%*pk?58=b<}j zHRUX5;SYK9MEeCSEY=$;$ATxHv1(MqeqKK+>OOC+?14{O?XQI!8uNOQoXCBYb_1>6 zUHgPBp3mZ6A+E-9n|53+qfNIZePz1LdbG%Kk!ak_tEA4w>KXfhR7lv@R!(WZOZi-* zbKe4bVyVR9PCaKRR4%+AEFN(oHUJA}r9T)Z8E50u1KY;4DpQ!zW^AhVJo*yn8VVMXp^gVI4`p{7kh4`zb z*y`+f)Txgoo48DgtjHal3(*|(h}W))8^cza`P6Z2a~Dp(5#_eU&%()Tq>}0QcaWXI0Oaw^&<(~9K$Carop7ClA8c5U*GUnVXJbY4ErAH!v zbE!;CRYC{H*#NxIJhGB7AhEpyUA3F(@TsmmF=%`<qbKQAJ$ z$T)>J)U`iMVwO2md4m;~sNIqQ82pKctlb+_JtA}v4kyXpA$zc}7Izk?^43eQh4Xa6-kr3!CAg!( zAgx4*H>3k0Scuh4XnyxavJ z%Wg|Wg-YWn&F81icMLVrEuYA_;tQ_|c;m^pka9{Ptn%8NuvO#E#Uy&Kzzzd`!|er` zn>ZFJ^&?UO^acr=Mk4q9>IbfO9N9wbTP=M|eOCUg-gwrx-THkM$qyZp06DJ$(JuER z`V#IhlrvU1evNkwFo>f)aE-;)ey`~)YN2_VPxra`a`ap7=ZOtvndI2_NCBrs#vn|E z0mTVr?Z2C)WgG05QcW$w{Tm1z#}o2AsIqrMs%cYW(;Fl5XZ@axlJoOtRi2xVoTxi3 ze7a|4DhlfpJ!=l!0a2gx5|6Gn;iN^oE*?K zgl_d>&r31!_Qeq_n@08p;ec@fkMPd5#HYMA=}fG!cL`+n zF!cM|)5#RKV(pCI{`T}hF(FU^*+jJokA0f#ZdE%!s+5(V0at z)``d@V3@FvT_m-FKcm`X6tykqm)0q6dn;~-SHvYnk5__5)C3hRrX+ys=QUwOMau|D z0MUQfgi9(~l9B*Qg+K+RE$2$B@202tsBGcIc7E?kUoMD@x11-%x2GEfi7kziwLSf9 zP$<{~g)k){;i%hKKq0>bkL7~L3PIqy5P?sI2z($!VCE+U%r$pK)`eY>b(a39i>XRN z&{)8nD!sv67rYhs&o2I;f#wjn4q?B41Z<|939-0NH~#&C-P*T|Y)mpxJlPvKs}rYl zEjqfGSfX)j69a`D ztpCD<$N@e^Bt?W*vQa}J@L!0Ketn7i0XEDq=FlZqI=8@LGt+%bhLN2mU^o-xopS-C z2~DB+-Zc)ISf1H|MMCtE75OobTAzGv>f79?4%D24Vp%)+Me#&9R&5p-EVT2j?%Pj_ ztf6L$cit*?j7o=5slQQNgS|tys9L%bZYaNC2r%YJEF92dWMA~@k+H3ni%#e!aa`qn zl-5k>ZxQG#(`~ro5?@3vTcAT#XNRv%-2$X*Cci0+gy>5z`}(~u@s|#vYPuXk(Q;20 zMhk)jJA;+KqxQBwksh|C1S=<_rF{j3ygDjwHSNhU_X&8gEaPL8{(O(cXH5IDn0FW{ z1Gjs}F}ec1!R$EmpO3o!aB@-CbC-jqC^~a4IpKWLUtC}05(fHuKX_Wwz8Iyzt(7&{ zQoSKGmSj;?x39;#SXtHn@1#K>Cw(A1y!bmOO98>Hq+k-bC>M@Xr7%dM4>5+f&*9Y=u}Ej4lv^Q~G< zt7f8+dqA5QDWRG~UHrb-F*a=!>e0`S-xnUJJ}3eU-DiF!UFSsJH=Cx%^eH&Q6jhNQ zQ1ohTkXwkt$F>0z%1DQ|(3+0uIg}N4AzGfZo+lGswj8-uLRr|ihD!r0bs=%5m<2tZ za`11qqTe4W=)YaS;2b8FjXu6*W9oZq{@9qRomh^Qr8kII#zBS58q^TtBXXpU z7<`f|1cF+YzHJu;LHb85c)?%H8&wv}kItkZDj+B$dlp$hm8p^2R-mQ?F_Q`509zzH ztZD6!Fu!s{l?}0#&U7TNF_OYy|4iz@XXG%bc~6oT;t$ICw_HZ9tM+kWs*(IXjDUMGmT>_q@h^{URJ|*AWD`hWdu;>~F;`Q+{ z+@@Sd_LPn+AuD+_`;`Qb({bHU8D)xPd@&hU%paGYPSJPBxGH_w!Rol$7r|s)c&!%3 zHI1FgA6Ha_rQ*0&C2@ntOFu@}%roOcr4?n4qj9IPOuRY+I(P*oQ$ambb7Vk2yIz$QA~GUqA0rePBDzj=U730{g36T&;c+tO74B1ilgGQcsxb(#xT%o& zyBgUeXzfxG(%vaU$-dFeJ&Fi4nG4d9gFN(i}9cJhRbnQl30ev1Fq=f+i(?mtYj1T8OdzuHyWw{YzF8 zs1|#MGJ?6U6)@ZH6~(LwbwmY5l@hLNCZ+sAnQy&+fHW3FB{-^=AZ|R%pfM`G88<*w zGH;aM^mo~-Ib#LvMXAEbeVJC{IM5=QRl}dK;Nf-<;#-;#=ru0A1R!%qJS4r!%G;jV zTpTT$8~TvpxnmzLfPaOm*ZfUPEX_vlujnWmopCsLeeCt=!smgn4)}^xt8Obs?joQ| zI9HURF3y|*_Tf66>HY=z1pqFN#2tJCJh~U}Q1?%uB`BELR0L3!&>MxI-N*k?0Pv}o zWHbRnMzTzxoXvnJFWx5Yo!%XEA8c2f-|kXWWdb7?BU@H5FdeT9>O?6Y@UL7Q4QXmG zQuR`C=8?IFBH^E|glV!IhQJld*(@p?xB1Q@%AUS+zM7U2z+#7xO?2JwU!ScJFKimJ{zHx{40Pp*L(cdmiVP>~2%HL{|+ zz{IO^#<$zk{`nclGF~NaE;n-bQ+C{-bJOV~_;-qt`6{o4Ybd>!U!_SCF1giR8g`-hJ4brTlKjL;4g+doM_Po3v!p zK9%O;XNxAs7seiwu{Vv1$)4iBUfi=@tkY+TNgv#`x9bt&i+KKe>1nv-X}qzj5|eB&h^1| zE+;H44HF+Ev1M?dlJqt-?sBhc=9fk|x4y?NBnG-uA4YiO-3mhR$7Uh>?{p1PfC#q< ze}3nQD$9?$B(rE_KT`CJs%SqdK(UeCBuR31*}kYG$|sV(i2|mtdN>=ouM1q(im_eJ zssWQ){{}+YK=jzU52fr~vTYvSeq~4}dh$)5FY=%6B7;Umk$uJ8-f4t$jwsK(QCyr7 zltj1(I}Y1Ym3thlAY_`*ew8hQA3QV&8|qwJ(%H??4e= zzdf=V*+snXpf(ED@s|YfbIHNL5>52?@)v-l;pMq!W}dufS!t#>sHs9%hwQE&8dpMe zWW?yg+b!}kyan+D4ak-Mfzj9>qgHV5!uMKE#(Dl0*ol9J$^8hmXeg=WzKTGgEa3zI z66$fr>waG59YzB5Q{)Gj3kFwS`QQ0Lv)j(57Vv{z5Or66AcCg%AOpptS_vX24)TZ~ zVrC5ZPXl48IM~IYcVeNi4YBXdbD)V}lfV2a0kb=QTtRiS>0=EBfVWA)X5-2qwf=$5 zPIt&JwsjKBD8XK4WM6=%CHSCo%6DZ8>VmA|2~ zuEBm;#Tv1dM%%wFO`n)_lCsZVz!rv@U}M}FD4K8A`je0bl`$mD_zvx+t3^#Oia92< z(JAA#gcRnIPw!Wu{AyytWFGWg)BQ@fKG$Gx5eqE3lgi4*rfu=sZ8Na@ymhV<+2Qxa zK(P0iY@j0}PPJQ3m+^c3I@MW{2NJ#Q8z zg_x9vN+3X)@MFC{k*w>GpGNlGk4Q(9(8I=+MDp;3SFyPEPB>%OOV?*!RUbIi8XMi{ z285nf@->gIV78@`@T8KvZI{21WlKL)6~bIP2-o?IA_=7HQwJTVth1+OP`7P#FMYny zrnCp(>DS`cd!Huk3Ddk2XgCxmo-WYYRTb@TAvK35G%O!_LbJ}E=r?&dP0C4ZE80(% z;`Yod?Y(v22LLY^xHHT@d<>JL+7=z`n*z>>$X4y>%l&JcoWP*;t)ExKxXb_AZ6$m6 z(==49*G;_}K=-1OazwJ{IkTY#IfHSy^KXIp-BNgmb?&qtcKxmP&su2TJBKo%JSFiY z{~vdAGAHV}B7L}jJ!gn0t9Gd>cWV3y7 zGx4y}#^ZHUh>4XRXV*{h@f7%B5{GNNY>6p0YJ5d~KP)3xryJl==bc1YHLU0HC&5Ce zxmX~ESz*zUV9ukfFn(fayp)wQlt~sSCy8cZJl!-)t9u^tTTS5Jr6OZbzui6kf_DG) z-`X8Suy z&f^RC<36$+N%~v~q{S`875MMCT||x|J;-^vTIiTLS}FdaNEB=qJB{q0X{FH~9@AaE z%^mfJA_LW=oo?MyC3)$UFse@7G`nFM>VtlO29ah-mYLq^*1)H|sX7S#J&o1QOq{dz?X{R)i+>%m^9*ViQK zbDR6M-;;SYnMM0a5W~Jk?}w}Toc%8f`TMT1a?VGs=&NoxQ;=MvG{~M3Ci^nqei;>| zQ3Fkb4WL+Xhc`^0y* zY5(OR8g8FAZayjg{qP`2usj~a1p==b#E3kt`;i?6-Ny^k zm$Ll+47o-fIb;-ex#Du4Uog~4_*7ov9nJm33|_=jqxM>B(?-jUTOD7@4_!N@m(|gG z>cEt9nr?C!z*?Sd5sO5*)sdW9%ZpZ*8U`n<$Q)j$)5lBv^-dJ=W(JE%!(W%WzlU?n zek=In2vpM69e*75{vGUJ6Qci;&>M;f(6AW2bBX)j-346Sg2bO1G&yQyXYz#;UGG8l z)yBM=L^C-1g%-9Qt@DtN^d?xV$&r9J-pA0pKR#_w z#>CECsX;?DohAm8=sm9m>%#WUMNOm%!u+13&Yvh!;IF}unGeFWl>F;NZP*_)PYwJh z7?67%OA1NA`*8?I0Kd6t^5@zY|NVp8*WST;xnX^uY%|{w4Vq>cQKundZ8}BTKPqhB z$D4?QI!@tNI?e#z;uQPyQ|`mWUP@qKv+$B)B$GG}p8y~{Kum@jNGKD-TKxqs1kiM~juH>QL3Fc0|UP72F) z!>3Gd5srN*s|xrGv6esXv16Do6h<_(k*WH?UHYj%N6&OEFK}K;A@31V(K`nH_^p$7 zvE<#Yc`bZ~`99rr$Hz^Sn*T2$Wj$$nbHVKV0^CAp-QkW)dAc~89PcdcqApyw9D2V_ zO1$NT*$N89uA!Kaz!9Vu8BT$JD=Wpzfl^L=r8BCZT_3YLCi?Cm)|Qx4KOlVxF|uY2 z$+gaE5Wgb4^2<~Cp%Led6f~9}_NLV_)|e}{7&v^SOu5fov$O;5Q|vE4@-yp`Qe*D( zQVb^gJdyxShwbt7&0F#!zij}++3axuI0H0H{+Qh`(m>~oNM7tlZm z=jB+1VKBzrIDlFQ24Jt^r?sQnI?&sgEB>|Azm{g~$yLG4#Do;QjC#~C=8C1(I&iv? zEfJH)fp7VCE_@A)Tp#+`Q{OLUZJN}!*^d~<`HqLhVG}30_y z5%85?SO>mu9&LKwbl(0RyC+ovm##c8uha3#&e_$a+`jGQ(M-St+uTalBpo^}B8o5#$?tB^eCuFn#!*7#80!E? zKA#_`Ntx+0AOqIyB4$d+;R=ChOKJbLcKrbFOuv&XX#(dABe#`e*o2JS+kAjA04sqE zdZZ1oJ^2VQbB>XH3v8N;W{@S>I_q9>ymTV4d9P|x9r>$M{aIoieP>F2Kza{k(6-EZ z*ebTxdjZs3bXnI{e?}7~nn4NsO;@xm`0;KfIZpJR{zlGM0(C7>DJ3qYgn*476{3O? z%5pvw{G7-aDW_*r#4@|14B3dYQ$RuzsCp!q9QciEUwzctajJEo-_#*+nhj9{1^HS3 zNR__G(}ZZZxkVz;=~)^7My+Ah^v`V5U!n*Jv%Mw!U^N5!bpR%U_)pj@{Feb+`1047 z14b0eyMZlEF#I3<)(=lGm*0W`%Pfz8GKvWnrpp+oP@C^t<@qikKtcQDL5iL zn>)8-Q1L3k_)Q$9O`OxU32|dxgwm#^u4T;}+%kJ4ZJ7wVe;~+d{ansZ1f_!Mf5@WD zbJu&T=%*9Bcwjassa#i2tU}5g~!UaS)7_+H}JNjVIL>^ z=Kv|*M~m0dMX$_rjD7Md$Y=(pCZC7NG7yKXKy4E8unp3N&tG&I<|rYRWeHpXvMTft`l;~v0ki0-%{@5c??y`TG1|*OFIK)i}XJ7spR`qWox$F zCf>4~di)cmF-$D-h~b=-olh}`iQB@U_wU< zVo!fiS!qs3^B3p(NVs&Y{bw6$L%Cu7LIGLQ+A}JgJZ*%u)w_M6tc7&YZL%t59=4*b5L$$CrOCigb7a;*a+X zRjga0?14wKW(dA)ud?3XZygwHtaKNF8g= z9#P&xPgciZ|B(gmstgu-nL@8hFFHrUH&eooBbVeNr?d+^5qk&qoWv5ZaJiqXlhD zcC+*={%J z`p7I0gAk^tt!}-fh$~@wN2zVVnXmvf;d3`iXWyQ#ox^96;l84^0xZ% zQcfPW@8upQ4`KKL)_hy>$3N4AO;SRQ$M5v^~R1>oPlB?|;ArbL$CqjiYl~!+CmxRusefYAN76y{VA!xStRr>qzIH zyU24}p9B{T6@`aW;znWxkr!psL5IIzgwcKF&A|Pmc!8yKVJySbLVMeW370CleHf0I z{*`|td!O{^#|Y!z6B0#fG<{fHeA`(9>Z&geEsrHCOBYsTt`kL17dLQWTlUx{y;$`6^`*{4LJA@XLRzBkukuNYm>F;>jpFFRSfL4|W};-0rM-!~_? z&`9GR@|3kGOH(iqf?_M?E!`Y>LcH`3LB5d_i#|=g@!%H+az=yxFrDyWS~R z`NVYoat|ft`LO^U*SsqgKk?9r+J2OmKztLp0fbJAR0~wmS-y0Uc$sS4VT*`de|k^f$`y z4`rjT6c1Y0{+5YXm)~l#79(>X*g+EXVf)Za>$}}ebQ5CCPjz4TqcnRimJ;rgq#1Do z_WDl6gaWOKW6}2~m^-z2o$vD>LMlfI5xd0$)ej}Gx zM$`p$rj1ja#pIZH#|0IV5PtS>-6SJ8RPNR=R2WS`=PLJZ?ddGavfqRlb!Qj#>!;I2 z${A1@w>~JfwwHQ;Vrlzy7Q*wN+knT{8}FBO?}KS7=_ouOG5#PmRXdr_|L4ml}7dQt^XJ4I@D;CIxs< zDsKEAknjYDW>0QrDV(82Da{V)-X~da$nq)p8-sa9tK&FT#?j@`D_~R6IC%7mpD{`X z{XG%X8o0;xSmp;0or2wmeoBzgZRoQOE+rdYI4FPq7OOa$A99h*@5Tkde_}WI7mNOc zp|7}C=3nwZ?M7dVMOq^N-CxW2CI5}?`LgSh-}gT9XG#8(-SZU%`5}qlkpBb8|5f*V zIXqK8dnftlNdENh`Kpo+;5$X~FYA{7|3sYNC`1W#C)?m6=D%i(~?@u7jeUJ;IvALT=|X{nnPfyeE_Y=8b#%a8@X> z+Us%~(vgCoD#}?3L(pfBfjr+*ov}v*OUoh|u z0 zAP)-ug>!xm|K4-}^YdlRd_MoOAiru=B651EcQS+}@nPwGV${7T>>Y_Wnm(%i%fb0g zehL_8h5702^7E_wl-rTk4YVRK38{)0qOKwTmLk`%9boPbGv%U}kD%-#MnZBwYZI3S z+jR$`diJLbOE(j#{WAMM6UTXXg~$L`Qd@joaZusD_C0pLIT8#>zwxr16N&3R_c##E z`H7(4-q`*fpI&QMP8ytG@4O#yh(nq_x^{yx=Y1)I#4zVA`5+)Gr_3!UUbijaujTzPBXIm0ZIaiY!-o4mmvvD-HSmN60a7!+RL2>duQ}B0|M%he9(;4q zv1gW;{g(?(;4b!QkM@J9CgnC@-tW-JS>hWpuQnjsy272cmfMaD}u(l9Rtu4jw#fWxry}eYj;7xF`G54DSNB%o!@9ZPK zOt+b(yHwDrqaNUuq?m9%!m? zAAMWztyPOIN0vrR)V{{zy3*dO11)Oyk2IurGh6xySg8MMEqR{5>ggfX4J8W6;=Y?vKisDs|qMBXy1Ite2I_SK(^8 zDdfr%D}hI{=(}Rlov!Dk^PuoJNU~b)%%dk$DVeqH#23M-Hz2OP*1y?!&7k8bSXDgl?M{3OaTF82xEhw%wF2NBYzg?P^?&+ z`dOQMp1OOn*qgyk?`3e^hBeGW?`OI5?T)xrT0394ScSHRY%R1~qv{TLWi#xXF)Oia z;F!fDOWk9sCbIzrT@1u=bvct8r>jc8CFwOG&TTWsWL;xqZ)P^)5-%b5bs-7-a{27X zr%W|;&ZBBDNaHaEu*}+WxRJZ zQFYf+tAo|FEW1vObk`ZVyWoHUI0Fegupvc!Xi>wtZ?mGLhnR$WMigKmBV!2e!%B_E zCILq8-PZd(^MjAcm)%8iu-EU@eZA3cby}P82xF^R)mwadd#{b7mvu+}K~|4Mls9?r zl>j^06HZW)ukbDcvASjdbtqQutL$c52B>C<#qg2!sjP3{R;IFtX?39A$OjtT2ZU8gMV9G6=3t z^xnnQ;V%VbgJQzS$|UTmD@7{rrE5%{NKmp?7k|-s?sO;PtDN-Jofu%C<^R4QQqK5r zK_Kh7-=TIvS=!86*pm^r!kEAuDy)JT()lUS`rv7bp9+ok3qMv$lqsugwD+UXPO&u4 zKq-A>(m6qQDNq}PlGKLK*6CCWK}X#ktT3fA_Sf-U4pT+>Ls*^agyVR6UI%pGC$Wrp zmb`C%P$ivDEf0p-U_V#B{YBCDv2w!M@!4L;HThdD(yT1md|9|$yK}H=nl2zjHXE7A zd%%h813D(z39=`ADvASk%=t-c$wL$?F|wz_*+R~8{A8&?2nc_3%~exW!aLYo7EcNq z9d(b)?_84lHs z^e);}anXKhe)R_fG0}_A*Ls{u-Hf0&vl+;k2=IWd1AW?>cN)G6j#xL)hBzC z^l=?(o^amcPm4xFpy+%}M&|o%KXOyyn>&T>1N@ZeaxzENDq4xBKv38Zd>yj$OENNE zLZX0P*puI$&!5gFs}Rmk6i0Fct(s#z!r_NNu(&^vxQm2ON?cPR@d?0G2v#XC$H>MY za`sIO$=^O7iB$pyN*7Xn+5?bp&-bg!qRSECqDgv9N)CvHn&dkISU zwTdW_eD@n<2=1*{{YmxqF~;KhEzb-gVx(SKR+0RV7(dH6Se6qqlH`#vF@q> zq_FP1?Tn>3{wG-3IuUimn>c6^0>Mu9zs>IbC?o}sgI-}ezP(3}6fz&q;UW@}!@k~4 zpY%I)X+a!Tc)u*mEvifEbXRl#B^Y@iJi2%N(r^8(muY?7$AZ#eJl*8Y^V-S&Guegn zjIKWsDU57y)?Bjb#ww)ds^p*>>kMm2FZeO&yoqB3mmF(MYp@HaYmtIFswc`p+2U*X zM~2oc6DEs77Qd|GTIwnLhp-7{!fMlHW}9Ww8dx!%h)Zy>SU8W1S;f-Q@eG4T2n&LI zyD%dA^QCkua*asuD(7BLvdFpF3dW;sU$Q^P`jzENC1LyC07Z@9-G^WH1AQkggkUfb z1nVjS5gk0GT1z>ndkiJLO^ndrm#kS;u)ggm4#TF7{&8`d;7~o}r@bu1P33=NsOzy5 zGGGbk7~;@^;1QhVt<*IzEigr zu_&(*myQbeiC@#P@3p~CL^*iRg=Odlu`k^ewP*M=N0*j|PEJsFI@GXx`21 z!2B|6*QLJ}JO-bs5X~8ygADre5z=(L%3JqgxW4^^v>c&1Muey6iEE0dXz!o9fG^-sh4lcy!rTw4 z_uZhLupe&*^}3e#9Y7JcS@OOpEJ5O^$2M^||FN=;{YH9A7*uL_~N+Po(@Xn375XPyv@M8z37r!CbR|uSE0d9Zm`QejI7q_XlEu73@i@qO>B{uOF1e^DIdsLrFv!--e$>)l0cbABUS z2HcjTbk*M1zx0f?w1==aZyJT5TL$c{MCjpsSgrx(Vr=rFzxGbh4~>3ivrJ4dU5&!z8YWKU!hJB5} zSqGPK;?)%5rJG$w_B0Ts(SU>sC3-FA$&sQMsdCSNn+P;xML#`KR3ug53$E_*DB~04 zRVPF&rK-4ixG|Qzzuh8&VhQ{&x(Tt{9i*FpC%AtPIGCslZv~M$Hsf*5xLmhxE+=|8 zhi!BXFWm03K|1}Y-2s<2*F@iCn}%?B*k z%%@;dI#DpTysGDO9Z(EuTvS*Sc+)woww5uv3f&w-N=y2Lp_C(wAsXM=1@x_%0B`st4Qkf zU5l}U-;?|mbrn1zrCp&JL|LTV9Isb*3rkm;0w8`$tl2;v=&nZ1UDzsfP_zOcbmoH} zuY!Z6S(!2h47#*UOTyZ!-2OPj9J=8fwPAfq!N?6bsA1w0gA){OwC0~aTgOR5H&kN9 zl*49%PsTNx|1(t$w(Hh$2sajwE|n7|>+#3O@DC55J3p?r*Y^G-(3zF4FK9G+s^YQt z+TN>gZz%Q7hBTQzllOK(xbCey^9Jk9RJgaP-Co3tVKLd#Tc8AbtuP)NO}Ko5_NAPO zF?$`Fx*4Ut_gPzeCi0Qq`AD9IO3?i#PHpYI&e{}FYtU=GSNC2^hZMdLvt}z=fq3t= z^=Mp%<_G7bMjRFCscT3?cf8fFw2oNpy<0`EHx$wn?P93Xdj;vDli9J^}lngml zN+`(d6yWy5Ay0AAl(n}4aa8myAE1U-O`o!d{osYIn)8G3FD~*N2QH1d*Raf>tSB3H zb`M8)$Q{92HF~sRWPij83-u&{JQ*rr#L;v0wO!; zuxfj^>Yd&Duj?*G{TTA`4=e7%bpgQ(>6!NU3U7-Sun@uvb$a*e`cH<(l&eAdLC2JF znEtw)6oTDT6&&spO<~?aCxzdV;hjte#7&OQ-Y;s~SzlvXs`3~8jV0fiA28B=3l>Q< z#>#8cZ*z>T=E^RmW`0E`FA$)7tsx9q4>1K1D^bfPXWX$8(NcJ*_j{Ew>qH;WRk6}& zuSFB2_Cfb(;L(GWcQIR~yh;+42nD{Xo0om7+@06R{ETLPG6Wv_P`5)NuBk8kY9c15 z!M7gxrUQ%!OpjU*ikq`aH6syaR2O9|RsgCPmbA1V801_ai}pECBL{8U#OkSXwMb-a z+1@X=%Y+egFyMI96ebvR-(Euoh>9t7pTZO?rqEn{UT^1(V`oxcjN*ioU|qHPNKWJ2 zAQFtSb`@d*`DGG=m*OK;bdl_k-;SLDprAXRKaXux$q#nQ;sCFwsi)z>gsZOh{-_`9qn++$F9_xuI5dk4D});p$e2Ngn4 zi{;WH0#BKLgtZAo`5VQ5;5C#Ut9yco`=9d=li0EZqkJoU zwY>OR+As4@i9{CHcKsmFvGA?jgYQEKgz@Kq(7z9%&P!MSM1FH0qId&B?n8K&1GUQF zdz1E??jTBeNs|0|lKVUH(F51xOJIK-hBk7}Z`LP(*~jhG{nxJRC|zqd?c#tsh47iv zc)nxtpl?n7roFUw-K>og+40Hw46k(7nZ)C2;cKYzc;qUu62?Ojx~iQRF)RlLmLFN# z-d3bJ?g)%k=Ybcg2*KgQU!yAOKkysR`@zbDX7j_TzX7M^s1qLIhpI+k)_0uO#_RF6p z>CS|)-bsG?DjEQIn>I$aTQo5GCchvm9BKGk56MLuek({H;iq5Z#r^b^0U$z=l)p;7 z3n||?$!{m(r(f=U%En0gO4<{^_5GkOJV59H53sSLW_Lb@q?S2h zVC%p)O#7s=zn@uhnceFs{@_qvSK>|{ysfik8aGz$<>?VE(|VRXo-(-9TuAs&MZH# zT&T6Pl`enfKOTbK<$uv=wz4DmHjV}?`Dd*BGhY6gW*nWZyq$dG=sWajOQZiCl@G~p z{z z{VxF`>0+&x1bLQ>SNP$c!{ zv^B7EoXvdxwQ>Qe$Zc{$-AdDP)lmLxv*f0se$~h1k9&7U1v<8>tj>wBq(OA5wBzEN zC-*UoY=5e8t+fg{Q1Fa(0U2YyEGa%Y@*Vf!+Qa!Q=j(6!HBz3sgPgLJGD3STE{8@= zV)u&lN--63_nQ6Jm{w<*F>f{KbZV_m^d0{LeePW^hr8@cl8Wpo9Pt-4V{Izc%M$&U zc`NuCtlLH4xn$4McZ}?7D0hnd+jM@eYpzSk-DkiNZy?HKhb|4votw+7PGWn^BG2l? zXf;+p2>Wr2bk89R`uA10dosOr^&@grAVc=^_o;=5mScmW!hhsSYs)IOvgu$7{g1-u zP2`7Pp0P{tvDNCkO=0Ag0n)`phT*=ph|7sIO`DORO&mb}YC8V(EWVCHYCV#PCH`p& zH)wYYiXQ<~(7lKPGKo`Unu0fE-J}2R7m$oA$dDe0Gc5y5Id^ECz*~5Y`<-9Np1g*p zgi77p?&hcS*UDCY$f>$d`>X)({7O$ikVHN$-2WWAt+O41^JkqJC5z=iA{dz{8ZdDi z1PNKmff7bFf5H2n#?j6uN_Ybi2@B;zNM$*u>=$X&=$}=%+*2P45YW4!T*i1a{a8;a zV=9d=ZlS68)699v%sSOqKC0Y{2ISSiROz0iwW9^4M31%GtlgyqGjV?lz7n;6)dps* z5!6bn;`<;IAt=TNs0U%^oJgg56~|;a{)4^lwZAMPdlv&Rokw+P2^KcYEatted444` z&+{@4TXopi@#i{k zZ9QKXu5X_Uhw>qo2JBH+v5VDTOi@l&5?juylap!33D+P;n31iF!#h=> zV$9akaxqC3Zsrp)Zgo$#9)!UXdzrs{a}qVmU+Mi{G_3pSl z=cLp2+HlYhlf4i=v4y{$!9OZ*3St)kgCG9wYghXim6Q_B{C1NpId3%;{|jw- zZ+-$0H%HxDkf%-Ms6H>5{(OI z-5iByE#hY(Z-nHD^dr=PTYG919;IOf13DwbTq{#3AA{JyCtpK&mR*s*5V4 z0+e%v2 zD-EJ(`!m+2C1ow`Yl!vN{%qwr?W?R!pINIT?TagCS*z>XA1`Zde*~|W_P<-3_F1b- z+yB7T>h|ASn>yO>Ro8cER4I}x5#^H?Sl{nYczJ6X9RvTuNc!5!Qv?=PPWJ1p9PeGh z`$5n@Oq$-B^A_@DI(;hv9^wLyfWCrY73fV%q%|YEl7ilR{&A;^$3LyVhmOsgLQ0YM z3m?|=!x*^^Rd^@Q`rxWAA{oNTz*ejCI{a|KpVc`obCGJAWL@lZ^PGLrfy(Z8jqF?b zqXv0rl(ZjH;71AkC;fY-_8RA=3c!X--0UUo_wg{!e`mno4lik+A^axatCX5}vLEMF z(^AO){W8(tfs#!_1$w)ICE^AnixXZ=`ifFBkJL zac-RH(9#a~2X%V;;T@`@5}|(VF78y=dk40<4;(-Tz@hB3SJ}+-V|f(s-8An8y)*f{ zdR=;_+tf!c<%5kb*Qo9hLbO&~#am~EoibP-$^1o?G^j`#`!}z1=&Hn5J4@Q1W-4y) zWTI2f)R^>lN6;U!GIbrZi{E}S%OZsZP4aID^1TTpf~P03(s2#sJFora@Dh!%7xed} zIOUVRTGG#J{J5B`LxN`w7Rn#)mSR+P{0<(9#K&1phF_TT}<4Zp| z#r)CwF{4M1HkWRTCHmvox;xqbS+15QmwwVCmG7qtfK>mtleO#3rq>#s3$8Ma^IzmN z`3kLYC*@T>cO`3gPrjHJ4#N54ZTc87*e3Pj8HLOddxn=qjI2CfZdz?MX6@cdyl}L3 z@;8b!i3zi7`8p{-Sj)H8P;}D9xKn4ULnSnqST+#qt1~Ynq7*?7;#Vxk9&a}7PB#6h zEN&;^_+=mauzkqkcXix}^JY&n);3)B+Y;l!WoFxOk&F0zMP9{<%r=`|Fzv&6AQcBq zvuRnkTNWSu~@D6qSncdARY&q zcLzQL7Krt_K0RPQ_feJ-P6ShDWT_UQWwWQ)cglIHq97@QtXD$dq$8Oq0&?(p(i;r} z*SFUd))x<2Bx+yHoJSAUsnUOcWZZa!akN=JqAl{0Ht&O#w3d}7t>wfp+Gb>DlQF`H zyoAh}ejj{G$EYzrNk5{`Zfql)WrSX!{pi$L$vc2R@|L3Bq1u3*VEDCFI?N z-SU9Os}xM|!sm-TAF|TN7dq%7SUrrROFVS$p?o*IY+;Y|i9#Ms$w)|qmnmx337tHX z!7=oLkqe`kk69_EGn^t9j5TZ5B5g`S?XpRPTSwfD@awWGl6HJ71fcV8=7-l9kE8vB z0!Y8gnewBAU=>$>zrT6G8mPwKR2$S&&YLt&qn&G%OCc?|!NBbd= zSM90el^~6cqA@b$2CMsP*+#iBCJgX>5JwCmW^!OFk2xHt>$xp5N9O?_gxdP@S-XgU zQ^%`d%w|&^vCfv7OWj^CZS6gHj@fi>xwQ`$t3Q*8qGO&YP@vkMnD*L%>#fbD>Ant+ za}fWG2rDNP=KoAdi=H|1GmXcX4Tn|1nYoBxYwGLrYE|EtFT^&-DorZ<;lqJ=mv66ED^k^}e( z@qSEEccIx#HGNI@(&4;Siwj}WT5*bL59U3D9m%C1^h#R$`%W!$h7qFBFy@^A;+ISV zGwv%J`z!uheat z!QNXR8tF+dw#ms8WSh_Xh{!kLR;{1fXwL($+3r02T`=T;0ro60TWJSlt zXEmQoukJllGsqD>uaycbSP3|sYh(>bH=_FF4YL3~GTB^Ei;xt`mKS5`N28@~U?Ms^ix zFw{mu$n|aPzZ5IT(tSL|9q%;vew>n5)|ttx&_nch&7~bZB(e6Lq%ri(l(A%Us&-S# z7`AB~ZzPqbjKrp7?VHA&UrHzFj`8+z>$07hOfnyNg!eFgc{U&U8~Mxul5?fD-el>@WbMXD>v+HNl#;X{11ZD}g&WAFv36+& z!KHOv?Q<+|vb*Go+(qrl&qzATKi!g5pn5&uOgN6OZ;tr*+h3(*=W5{Wl5T{Wp=)z2SGpoF^%o z>i-VeHFC{Xo@2e^k5avMZ8Bf>bEykd^#Y>;3SnVXi-{2vmMqb?x*;IskLu;DmLO_X zxOt>u8-{*TGk`YGbykgY@?GN5zNO*QuaF-s!}}eT$R2M?2grHqp0R&Xr=*y zf94tNWPvEQm(PyE{>7#mm8ok+>if_%hH?g$4XGo8WFi>0qt1vjYjckj#+dTSQLzAc z%(>X|pa&jH;(B^kL@mk5vZ)8-L<8z&4JJ?TL_}-N~=B`Nd3n-{mj&n}?V0CDMDTu_P7m>-jwh-;xImFJcDI#ds(uy$Vl) z?ar4Ts*EM8)pRHG?EYIw)Su$q;}p?%77F7JTx}}co?$yw_D-T4Md&AKxe@QLaIRon z@>Z_*0NEl`Hq_zDUETv?Fn*34Cf%uJ6Ijg(_iE`Fviy!?mZ|q5X!O?#4-364}LD)fy~s|(8r#+z`);Q=(IE@^)hw^wr)b|w|hs~WgI z$R|n+_22=^O5?So%4h9NI_H||2OD=LME&pNf5+s_>?les4NMSKpx`*xYoC|b*XKwwY9c3fD2?;!lGip1>D8;c^KJT zAVf|6-`{;^l1TvT`+48b-_J)f&-2`S?z!ild(OG%o_nt14kPv4LRLDoeRMwTa8&)s zh&f=+OjKsri1!98+NnRvj+>B2w$F>pE8bU*^7EYj9|+BI`-Ad8b2Rxu?^usV-kPI|y#6S?o) z(IvibYmQCSX^QdgON0+-(oa+b&-kb<8GrG4^~2v0Rcf~YgU#89*_^%ExB}@*N81YI z;kuTIgVIQxPH~fAOXm-7o`?)8Ew8^a5({jM^%yfgR)1`?o^V+#A){A^Yx>dE=unt1 za@?4~5&Q?r!=8A7?&{(+BL=6#w7`SFcZ$H?Z`7{^_+6};Cny&yxw^Q>n*A4knq_GM zH@v29QM6=*mH4jV#yH7e2u?-w6e-GQYRrC9`#M$BA@85~aD0s2xH_IwXZZ3Ip=nfI zw7z^0Yug>=&dg3#_n4{pe7QZNsJ!GODdDBE{}~MuX}0O+9#zj&3n(2d;bDoj_gArir+)rLhCFQdMXKygZ7Ta@PhL+OvVNpsKWAwn>sc1r0L;6sL-vIa=Gy&?lV1J5)P zwGWXsG;Ac{#6O0Nq58oYi{ow{qsHPm6&R=qYw0?)#A;z%^B0vREHjrK25bW+?WMe_ zAw)SQgl532ny`{zsIQ^8Xu~pSMWcdH{mrDLV&>+{tZiq#C&Q@X1uSojSUhqL!JL8k zK~bkHkIV`(<>Ce5Q?Lyi^TVf%X9?Y0xg%76E_a`j7m+3S8k&w&tdhhm2-$6A>?V;p zJHoJ%R^quZvkgm{ONK7v`uYB8{z|MIs;qb%KY_I2k{S8j*G#N7m)Br)nP}?m?x=e_ zIn`g(Jj>TP{*!h8PiZ<}n3be`Jj2+6Gl%;qjoStLtRHuohKpkn`|^SbWcd`s4>FNS zOno>6(2mcfhSl`sv_Lrt>8XA}!a%p@9 zi`_>X;lPD@u&D@GAnN72V+jf+5Xi7V3K%NSWk7rnF;BR(hV9dGHi|>_NK(6hHA9BJ z$Dy*VzJD>%9%qH^pXMju?Lo|KSzmMG3)9L|N>&ZDC)c`FdprMT?$v@PynZ}uJ+eN= z5+ofn6}3Mnlt!Kf79!(Vh+JV7B4nJ$0v5Vfm~fW}=v}PuySzNH_>ISPnyQlsD#cwsRV&q{cFWF-y7E_bk(_`=>!_0!9+|6<0Dpu~AB8%@*X4$stzKV%AC9HH}*{uudS$E!^9_R z&?FoDp3Oc6DQxyBP*JMNqD&!~ocuXY%ca^=0c;TU$G;`LvJqp1>NzQ2fB9(Eer$fs zJhO{CukUJK?nqX~zvX++UyO5}_7xVVpW-555A&6X{i46DN>*;<75)e&MkJBS^E&VC zbS?;(b+4^Yq9PtSt43$U{iT6-JwMUcJ|SzaHO0iyES768Pd{ZySgx{Wybvj3hCyOW zWET3{J>nkL|qK@GsL!$T0eNSd=AZomqKS0o-lz=xpVO(OciP7|# z6?w-75kA>ToIxQp(0GX7lx-uuB9p`DliCKovM(+&tEia$tfzhO&hZ|H(;#YZ?1)ja z$qV)IASBQMkzu0>t=V!R7|Ze%eoU}#YUG3nz8)P2##20OWZ{hmrbRZcQcBYHeUyw= zlu|0PzfxR8KiQNDQR;&Il|ojRm{MowN9(WIcPSzWt(snx!q!ABUbpX33Wu!G4ndSs z*h2d*Wft=HQz}vs0@hXgE~Txq8=@TY2X*Gde(10(J`xKUe&_ZusTstP>>}hpJLEB& z47JR7!g$G*UZ01n^QK1e2(40vtm(!nQu$2B9e(po>UPZ>LRc03Tcj@4p1=cV>Wf5$ z+ExSbM|@$gV3m1@@<1J>^yR)=9x#xuG7qzOKu4U&LpQgUhEw=NdW_PLdTl;)r{x3s zBh4)S25Q>(NMcDcBFU~#uWjsQx+DXieC5qnLyzIa(s)?3vt|uvXWYV?9nL*Ky8e7P zmq2`!wsoP)<`^5D_I4a3h3*162f{4%jgY7qmyb9&p=M1y7#TLU@W$`Swl%)V9%GB5 z!Bx@VifFPuH=6ts!{CgV{gZr?awL+q$eyrZ_)p@~hZDOS&omjSzZkdu>y^X2fnc+s zzKrQpxti5v2QKbvYzkT7HCH0~{Q`eZ=LhF#q+ypaa{Qp{Pi2xkXd2 zDfLL!`o$==ijjS>0>_|TmySHdpFU-n^shwfQF?ojL)v?e)n5-gln;&u*I6|$_hK4i zqu2ZvUv#WA<1}8<8PRtNth;^ zvKjqhv_4BI?3c39nAU;Z@_I(6Vl4Zbg~U)r>W_p(h~!h~kfEhjI}RR!kFEJn;Vjhw3hw&G?0+^r02j0S zHwFPkitG(D2SkUBE47$2cZ-uC8o2A|s<@cI?0%khx0qqjT$HALN`{f8hr$ z7_a)8OY;&R%CE|<6JC-JX521Ah{-wBxLvoqZ6~w2X!M{#BT|8nV}munoT~UIf59KI z%_0RwX3a`tCzvUYT2TxYUL6T^Yw0MQ&A#8P@)$*&4&t?@K_#2jk_OiNPcX{?-5=2D zcCjakZjS|9s6UR$#r{IcvK#wMkhfa_P7)>@EnJ1YunO1gN(KW?!U5p^1D7PDY=%}@ zLSr^Iu~a_7$V_kcM_ITv8?|mqod6SyJK)HW@r)S$a2Os}nqSl1aQ#@uV6*SoG~xK$&G;G4+)mO#T*hfUE4aUe^P*4<33z?eH;&-@>WM*G*FD3<|!w6ti*sMYf?KN5PpD|R25nDrH@w6yAi}~0o z7yI%Zv#AU)8JW}S2izFBs4f(`-vL|HKpH?BipvOF-ArX~A0w zwIq~Sbhn=1M^WJvpUQfyHks-1B7S%qA$NKlBKCUwO--^NBkEI&LAFM+0=M9&RzjyX z%z}4kB)BXRB;QE0FV{%G@K33RA5tJQ4<#>4mRqyWfcwgvYm~Zp*0tpoTe~QRC|6xb zF&INCqZrn36+4RI09b~A2@;Xl--zwH-QC0jBXb{$dv1N-ZAh?fQVaT+;ygPR(qqh>>68k z*yjFwHkvrRzFNXJ*=+DqRkrBNJ+J=(xAh zI1skGKc=u0#vpH;`U=IO={H4Q((r5tw|I+T3e6pa9d__1Dts#oY%_P_mxz?GI<_%+ zuCLE`L(FyW3EEVZB2$H#h`+X@3b|jpRykNzbg`i!8>XMgL->w4LhjuqAG*CAWb@rq zkAsl>@SZd;cbk_-WnTV~mp)xgJf-fOC!%ufn3!{KaZVK&Rex-bVR-%+QCfL^Vpbu}wr4|&`!O3T59UM+s*^2U zgR+T$H}H*&l(${}*;=_Wtg~5gxB0!)yK8*R`KQdd-)~m`Lsbl>9Mc5DU;b7yQB!DGfM66M7 zN9=n|vr#APU~MW`{%MY%@|}j2w)9*l{BQG6#DjWU%3oITGNQI zbKT}3Yi@}Q4~KAUW-SVJrAnxmrUY(`{%i?o&rNJ~!s7JN)AEY@b?QXhAGL!4AU-Uw zAFoV%wauclxppZ^981)>z9^I*q( zu*Gcj{ZS=b<3xVbbs`wz>``D1!PoAE$8MpU{8G0vBlTl-M171@Tr(b*Li{+wFYV`i z`+WE&#jG9V9`LFpPKE)vt)b-2%FSiuesk_LEFcbLcZ^*Gwe#^YS?!3X$mTfFo0)bV z5f`YbL8dA6MW&qxH~HHry)wEWg>x>~9g%EURjztMvYBz_!E&((10u3HTa5V;}KTB(jAe6tGUNwozfY3lK#NN)OJhd z4kK-uujQOl>(0f7vlW@t?ha6AnIX6$uq9VBlf>%RmoWvMxDu0?QrkEBrHV|cdsK>n z(1699t6@ht{9x>piizwCu`p@Y&BdT5I{4|BtH@#0bbJXsGe znjW#@(vCR-qYrXVdtEIrqcsi3C0BrDZGc}gr!J0hv|oC!0UqwaAttxOG{dJPDWTcP zG=fFVlImVFS;}g}$Y9GFxpV)WQMPJ6(sXmm6?Dcd{{&vf@!5{ymQKy{XXYr*`HL?F zAIT(P^K+;W#zw!8B^Vdf;kLavCw_zcVl}TBD)@xr*tzj&z`}T#PGrYG1aG5+u{_E^ zScuieWpb4e%JwUR%jI91h!T^wk(Itl5cK$m1`D&pg7B>o<>?FrN!7{hFLd92*_S24 zF*CU(Pwrgi6&s!@?GTtcS2Fl9Mg3(&(<(E_I_;*R&>(yNGDcFB+BwfT{saAGLc1-0 z_v@LNV*B+zHs7|8A^FLFDbjztyMa>tRRa?3?lRRvfayUmHA{>HWup9@+NSwG^5YyQ zPwV9y58}s3tk!1;yrbVutUgX?hyS8jHQ6_d7Qa{*`gm}v|pSGC~z zsO2G&d=LFr=1;Le3W0`sn|QY%{w+c`nO-TT*K(_72t_;SoBqQ5>cL0m*P(o6er3oT zGKa^!p5|?sUeH?Q-QHHP$rSNi9td9b50ki0a$3Q!B`Qe%nw~#k467%Me9m;rm;@2$ zqIPervD6GVvn{Eag)(3-$S67YMc^9-c#B_BCSm|tQyCPDQn^ZKqy^!wv#}~p@2*d< z>2yvkUpPsh5I{p@0ZR_lCi;Z1eBz(&gKNo-lN3|EfITT33$)XKL(51G`VC7;>=kuP zPWO)>MjCw6(@R-FNZS??X)l#flz1n%yySC)or9RLX5S_`!_3VmO5FILe({R7rP4HzF4g&C(7O;rCo@e?6CSnw)lOn%UbJMJ zHCv$wQl~}qz2^1G`%QcqLeR{-(^>eX9u+bdr&dH0O?ff0y+o|U17a#*N3_Nz7?xv4 z!+gzb&HlFe#$d@NzL>uAr@$MEjL2pJOo%t^@QfW3@GX~`QD*Mk zgxWz?N~gFh@mpoE>R{I*iplF5DTy(9v(IKMGRlEVxV$#FxpQ!5`)4D3-QoQ_Yd)t# zqYp8SLZS?Pyy+C;Xp29-tMXPM%Lx9+YtmnBsLNOJk*AY+W~9B37&mv=$DHl%xV~+H z);F>%dK0EQw7qD-^3HDtE?ehj$1LCd=L5*o5hkVlT!~GNTjgA+^UrU)8xJt&u*PtY z+0(C{oa4@AEow-mogwER7ei#X$4sxirZN6=%G{$eTCd_)c~YMIh*PIoLn0UV=@)1v zp;Q%wY)ig5BPOZ%sT3cw%U=`;=)(f4-NC2G@`lOvaMiFg;{BA*2w(o&?p-s~TIKBm zrO4%u_-}AL?JrY>_7`puXtRxTGM!Fmf%G|T_W~jz9>0>nK&HGbuaCmk`aAZvVQz-2eVThjG!yN|B`6gq0KoED$0Hz7h= zen$r85a2u_r&KW_Mk%1ckbaDw`#e)LG_3c`>qB;LSpVm*!1^UY`Pkyc`RTc`=weWF z->dZ6n|d%F=j9_rIK74HQMM9|r@ECjo(j}vJVgf#q)wNC_jauZEvtB+Q~56+fj6+* z=vfhs?|hlYpB_Zx&H^=q5GRx>mQLq_O%^#y7F-`&>M&0k|INcc}8Wp+I z^hmfj(SJcxvdo}~+3gqq?_OrSZEaL}y;TA}lbVAj^xEu(Z8!Hv(_imEQ-JT?x=GSs zzl)vyTkf8xL>Ac+&D__M<;xil!S>CoK@LISO0#_QK${ZlG~Wwgl8-{ZAw zgvvja-=%c2-F@fZei{xc^KLvtz!)SWyHf@LcG6h}rVlCE+E0}u!L^zC9l#@#mQ|h6 zhq}g_K*S)4Ir8R72GXkgD_V(E5OL_k7Fe`jKLAB0tyMkeq5#9rXX$7=_SwYh*7N(b z)jekEdHjhw{XYxtj!arrwQ?6kc_Lu`+N(3``x8vl364?PXXmqhTe&qdsa<8%rO^P0 zI5j1H9iiute}K96q~;ks*zZQ6xy^m~ZLfVqJ0gF|wVHaVrkXqz%c&yYf&RuX%(Um+ z99VJ^Z`@CAr(fnsSp4)X7HAkLi4quoQv5U2QQ`0tu}_$+Fa3tnzIL0lNPveiCDK@& zwml{+w!6Rhr6;tDG&&&HynzYw+kw(!+ncI1ML_u;GdpVm$1O7EbjWsuK+k~t6ZEjG zPbTWT`%KZ(&iwF*oNu*+Bh{fWh#+Cni@U~F0{V3wt zivn)4<-kyoZPO8-HAAnZ-`~={MD*gO(lWb+0Y$>!bv=XT4>J-U4Av~sSfh5|b`Qp! zl|(#U+T0oOn1K8WAZ*;Eg|}f36@9U(qt+%YJJkxPmhjqU8l_YRer-qjjUS`NJ27n< z(pYBia7T4waBCXYzfmN$TRDaQ@)^BzC?jCbK{*EZ0k8g|caGnL6rMUieRT5S z?085lUU41AIkS74>$i)C%{Q685a=IN%xz^bzPx`{u;xG0&gKb6mwSq%#&>&4Jt>rdrV zCKL#lxwY`l+&FJ0l-xO3e=8r5A1PX~;CddAzy%X8;%~*T{l}-xqkC$*><`5nVG$d2 z{Qk0sFeYTLWj$NEYgLcRBPYEOylnn5f5{PITO#>vZm9Z;L6^z2(q&1q-iPmA(JexOK`PWqGQ%yi0yqoxqy_Q^~;FIb-2WLw1D{ zEj>!Ddz-FZ^R3|Sko`sZq}PwCOpAz5zV1S^H*Q1oA^s!}u*8^{b*|)1$$Bmhj*4$AXz1_$JuP6Y3+~6K( z`12aR;0wVvd#7_#Z!5AcxYjv`zw1Lzg#EhKfHm*el!#XBj8v>4b;3>j|2T8*$=L_z z)SvqJ+37>u;oy2_`T=`V2l(qYj_F@*uXldbyX2GUpZc_i>$hA;HtOgh;}R$KysojSh1J+L}M)hZ!wuTMQ7yNdOQ zy<^Cl%!U@6gG+WpJh%RUNCk)2u zmLHRg^Pl>sHhDUve)OpxpOiiL(x&CdM|R_lYY9C`^HqMTGFI3!E)K%@*ZwlRQg;Vm zcP%Ho%#UD{Nz283Jx4G4ZclqzaxEt~#d+48V`!DI>g&Wy^B&g2qRvJ*xUb-A0q%u^ z&1i3WAu(Bbg#8Me&UF*0vIvDSE4Ya)_Rd(;r+dgRQ06)3(!2?yE6lPR;a6ZrcVosk zD=Bxf72quZZ{`*Nk}jka9le`Ax}JCI0D|5Kc6+er=N2CTaEK#x`I zAP&WDvKz}M?Gls1(I}i;WV@cC$+m&vAQ{WuW5a>AKobt#x{Xw0uO3B^{0inZtQ|_W zq5U>-cJ)|r85m4O0qTZ>E#bh9z@}*6`Ct=K!4)_vy-0AUcR#3TycdaP3Om2`2K`9) zDw|$-Jr7Yh$7~%Uf?NcBtl^h`E%ED?y+WND6QEPkRV&p)yLtDf|6!+gze2ZcS^v9V zk5r`WO(FX&=INxZq5wTRN_$9tKO@Pn28M#$G%HQdb~k%RQ7_|vcE+@ao>8Bc@Uq>0 z8S2|MNO`1@qEJq9b>5H-BP3-6tI z-^wR#Ro~KWl|ud`9L{!mG`X2*?MM4vuUSyi#_kiPaH7by#737-M7Nq z#=0n0u`L5iZnDm4As0-3xp?7uGcRDQ)-+>b8Z}2IHJb^{DYIZRex*ooOC-RC+RK)G zlZ?IH8$!eeL>4VP$NpunvJ;m@cE8K{#R3k0M5;helr!)?rwLDOh>Zq!%^)7Ky8?mzhbpKDj2hdXFaIlzz#z zc|#hjTSZ&z?#BAOIibMHX#=ajfLW_57kYp7d++mqng-6IGn9ZwjuCj|o+OrJ(AWW2DG*#;iVX zb||>A8pFDM78lyl5SBe{sgd|^)5WcMk8AdeXHx5Vryny5Oea&x^z*F0X% zFRmybe%!bEfM%XJNH&Pu!>(>2do!IVAPZ=iL*;D(zI&I!2B90fbr)jKGu3$M@fM>?8VG1y4;j?q3%qy1WDv`JN@ z(Qcm9sL>8CXYM8d$KFQy5$}f*?+=a!R)p%0FQ#`tUPAz6P*6GJB zq9UE->RnC}1-FLkC)a!#F4;QsW9l5MI-eYlx9=X+;mrWOd51S4r#ukpDRjBzE1fHa z4B3M`PnKeJ>nx_0HE+0?${lmBdaGuf^5}ICs6b~UtH1J#-w7wmdOSLkRWkE&3Lmrd zYxP#mO<*xiP4!tHdlyoq_VuabKy>m75Ir44eP;AI(PzChKZ*m_XE;zSlHtJBPT!Rx zPcR7wu7-_aLhmMeVl-rM(}=s^U&}EWLYxsj)X+LSj{n<+XvKaN&P`|b_i0YXb7 zm}2ZlOj!;tXM>At$zl}%#F&m(XxDj)i4VG zKr)c}yKh&qp8R0a22G5RT~Kw_8S!Jv2+)5iv>R7Q%X03gOqWkP=_`#E3S*`$nIbs3 z9qryXWLN6j6Bcmu0|#?JC~P-}5?cmiIQE%B?3lsn)CS>n>h+1XVKZOxt^tq+FtBQWrAC&F^WirG1Q^!bVZ0@CPoa;uwPc#<2iHn$ADn3KGv%=CPA6K2 z&wSJCqXx)N7T|AyV6hiyz+^IEdfmJV1G&cOe?c1NE2&3Ro^g8+YsVg!S2gsc_$8}G6%>)#X8D3uy%6$9 zfKb3%5)IgEfsoh(^?oVptzn;@c4AIx!2Tr7FK3eYgU&g9Z7#WR`ks^6(|6`;CJUm! zKLJh=XG#I)C+#n%iaP$mS!mtE-yUu4lR(b@~Xm>}RA zEPE+`y-WBfiyu1U;i9%KJU3~Zsz3HU&RN?Uk}*RXbsF_j2<}$SHJ-Dnyp^;)}oTA6CmTJBtSaBdX4#WY+m01dr|53}a(;6>y~ z`rF>Vy?uAY`U7cW-ryZx=&8=#JBa>8!%hdK+7OkHQ@^_cZ;YVh6{`Ym6KUtJ@uk02 zqr8VzLyspM64l+e>yD85LF0ZLWuq{`W<|%r5hefr zQZ2LOIm7yP2881W=R_A*owAvFIaPM8dy;+n~`>tvFshpd? z(?%q{bzh?>bC76Q@p?4yMs@p^UXZrtGm6=5#Iwr55PvLYuYRiPx$m~6o*jO?Rihj$ zkiMpYzotFbVz@iSJz4I~vw8xwdWD#*%PLL$%+L+5yvm3}=X}^=H7A7*OD*b@|D%oE zz&3s;(RyYjn>_6MPYvkGw5a_&XOD31+@fuosqX#SkoDtBYOiE2dy0EZ&tor*j}Qcp6hrt1S7|2O;4xc4E=D=r4GgJ2fxER z@rxe_ZXf%&v0UC03-0kgmL0M{J)iFL?E^Ar)8REH)lP%Ydqz34t}?4CEPo8|(4-@0 zS0Qd96)(zgeu$Zgn9|AxM!2`pLr{DMOx6Jf}FHgBrHU57|Y zIYh#%<9Q{Gt@xq{XY+YAm{)bY5_Y3`K9y$~D>}DuG0#JJUSOUlbDTX~Je=qIdFE#! zKOgdc9?8##{hvkreANG0%+G)LKL%zfpfo39toO@Ju zUD$R*)$Qw;ht~YbFnWM>aHCZh70-9fyI8Q%r-G)##q>Q|v8p`qPN;-LD&dud*6(Y2 z-g72%5xKz^+)x!wR^157MV7!r`fpY&*c2=I(7H93x7k(iOILN~+{PC{0PB1w?^}_I z)d;@2B0=du1c$p2x%DXC(j8*qn#c$C+>qBp>XA8xj^8kB@8)CSXvI#%bV6V9M(03E z8MEQ;8yw{4h3=F-o}wx>RHaVkh8hZpc*S;JvHJw&E`3t+=n^{_+SSyf^0d&TCdrN` zB`NHt5?*2vI{Oy~=VY#Q_+=56L>ncW(;cd%tSQNctJ zkzlk!$4kTZSklwLZ#rZ*-kiKqsx~q?7=enUhPXLaKQlwa_T_z9YinAX$Pk?>j0HaT zXV>?~v0saJi;#j)$rZFXa}VaFk?&1mG=ZmUr;)7we{{q!(tVAd&Om%a6oV}zG~cXw zl3f#4l@$a6=I#o2=#dE~{v#8k@N(!v(qQ;1-Tq=}gfs7KjtU=l0Q+y+ zdtsj$VW(`AL)J_P*`(^$a`+c{5>G^6uq=-RmTRwpJ-dEnDmDiK>ptSU*~@)$(JRcO zRnHtIn2!^QBA5k{5qfRS9jap7`Zwzb?2nv61gpP4+()~u)hmQYw{V0oZ{BwMP*U9A z&$I%LVf!H?IEd($ypS$McQV#v9(INjd6sym*#MVQ>1sd+|nv)|sH82Ll}_Nd3coF*MJW~vog zt4h~Xso36~_-GbUvAM~QOs#OARWXhPb~NY6S8l2evZ5QUhMNarTNO$7SMdRR;X}W+ zNV6;u?!!U4^_5#mjR?9$6GEI{m|*?T@4y0n$e+gM4kKo7T9 z&Q{>4I#6bRh<2~{k>{OI4cGfr*GM?Sj z5v%osyaxR~&j0;*x?D(kAajQ7@_vAP#7W6lkEW?CJVCRQJ8nO&9J9a#xg zq7|H7XhoVL_jq!Tci5Nnx%sEP2~1w)?Suu-NZNQKX{}7Eqk>Ko+8J}sXQ%JIyz)RQ zZBNp@!y_21VVhe&m|aIC-(`%Ffj+NAOV-frEq=2bw7+C8ko{*hu$E<)Y3?U9B)@NB zRj*K;*&^gqJK^Y#E)k-%4E!ibtD}izuX2Kj?_kS^QIKBJg#-z0&z0_K;?9BNmTfkzp*lwec%N(4p3Zx*8p%;ZO*I3Ip-HYjtL9%+Rr(}OUvFfq)2R%kSvcmLlc!wP zuZPntTuy@*OYlw~!1<;}{mUR6l2h2voAp{lIkd;{l`v!M3SnIN=Ap~UKEEy#zeYJ@ z@Nsl0AM{@pUdULW1^H%0mr-)cmyqzQFl+U9B`r$QGz|A?g^en=mLZ)C9U)>Y@Vr!4 zo%Y2EQiugT_LJJYVl?H0yb9qS<1+Ds#OonagVs7KSFx7IsGS=Nyb!g|$!Eij#M=es zfz{y>E?%hzqmca~5n`S~mk17aW{8K>g|uuAs|On^w`SzBMDjhJE~ARnTTtkFC?2)H zh$h}`iQ0z#=hVk~x13|ga$90#Y!AK|pl>aS)_iOBWHan7?A_U19-V(~{gDTrYae+4 zn^D_5UAL&@OtO15AH(UXsE|~N3eCMT`=`ctJ(uT5#TP6?2>8_&bS$tv^?hz8&8Z?? z^<3k-#Is3et-4#Z++bD`=eIF_Jkqgp6Fv%;^iw&86DP`EQQ3C`b$3^qvQ3oT9Y2P( z`K!2sJSI&Mw|FD_U^JWoH_226(Lvs3)#X=y)vUancq#7b#m3;Ux0MCjb+jlb%Rr)* zxOsOh!KWN1k~$~#R$8%ZCTH%YH}gMNGDk~>nTM9uyiWphsm!XO2jD5BEDuGpUjE7C z4AqzCCFt(F%lLo}FK{L)t=8`(hP3aqwCa-aatAOv+l;&!X*E1C@W1)0Q%T$10q>A% zt1*7ax%J@>ilWDr6)F!=&2)f86DtV3{kU=+GQJ>MvCRp!h3priOELgy<=zw2OswJ^ zXqTIo2f)8`pk6B(!FKoGZyWfBaz=M+{<+76KcImfR*j-RqhupfV#Z1mmhDLkR|0kh z`0Gr$qY$Gyo~?mK%vOF}lAJk{W{ns&?)-Q2&aQg;2gW@RAHqguzgF zAQXCYUa0EngX9`u4R0bs*(^x3v{$}K$BJlI)oJ%Yzr})*)iaJzYiw{C9|B>SBRC>z z)m#F%Q_l6rlFIp2(~oFBAmWT9XmBEoTRokKD$|S{Pfd722;+4gmrWSKQR=R_z{K*7 zCImJgbFs)fg<=``8)_=+hY;Q4Nhp)r#NIrEzB~M14U2!H-9BRK!i<(6P+UmMS2#U0ETRRgG$t?m28yF zhhY~cJ#WQ*gT8~=EMCJBmdu>@GX_mB3Y3}Cc~})v{mf#FsZ+)}uO^}r{=nb*ril}M zr_5d`KZvmjQ&B(MDMFxDjKfl`JjAr2MPehZ;R0-!vmdS3+*3})1C?J3g& z!I?UU^Ofw5mE{quFmr&tj?FoJA8w$VjkUFxgWc73|H--9_NGOnbs0f*EHk#PaQGkr|bWf>3(`q>IDKX_m5XXHX z>a|1qqL6)gzV{vKLSe;L^}f;LXn5aV^g5K-GsK#ogdL(4O^dY_Fycoi`b$>pguzhq zWUMxpM_?7yCM?07+UA+FgG1AUQ080}@MZ#{-U|6r`fQ~1muDlTzw}gb*g#0D!mPAj}pd9Qb!L3EAez&Z7| z28C#9iT0C~OwXJMKscY66(b8jumqfi4OSzQDZ-VtkrL0E_Xj;J`sm{A;U8{4?eB`F z2yPK0`Wx8ai#TWF7VTff!P?s+PiBN zu}5$2$2F9B@hQv-=w2UQ4*Kp4LS+I-f7^PmbXa8^VB|G%d2A*e~|aplxA;~fb_r{AvC#I-yQje>0i8vIeTZZ zgs(liC|Yr6u^;Aj=b^qJ8a-HsYJP|Fw35_^D+=T_O`oTLBD3x`=O|MB8BZtgfb}i9 zOtfV3r-d`WXD=&RJ1Ygl5W|EW^U#4}4zm-L#@8XZ{S9{)$DDnAW6qBdwBV#e7Mr}+ z5JH{%n`XaYtiM;FER5QqzUR+u?^U$Q^>L4T1*64@#r4iY za5*C;s{AP`Z{JgNCFK(^|-)f%|u3N&ZH$YJaZy#4Zn zvHQ~}NXRkAeRZ6N$57!yv)`$>xehCRYy~C!kvsZaLSx^}+WdfCet#nLm^5MLjwSU9 zc{qr<(BFjTYDuA+wVA@D_4RV>YyI~Hf2*D<;NP6eYn%((tDfqo-?54f=hWA{Sjg{m zt}RYT&HGSa>hI87u6UXC!~HQ{C!-~|d@n{a3<}1q$J|(Oi!z{uv!TqqrIT@E_J*u! zxEB@h8SgHdwd*7<7Erh?LywKQM`+g_Ch0TlTl?e(qWbR3ew}! zOClwIHHGF&14irn7smqJ^whuDJA~(qy+L=K(|Ps>#;-ARQluhLcNvgPK-#8A#e#{W zsM1h1nLnIG<8Va1xw2AeYOIFDJ!kEwY}77D-K6>D$M602xFr{qze*z^7gjbZoo z)8E&<4TS97L;Pxw{X$B&T4Va{H(PUHXX)i&EF8(q3_e0LWCs?}ubkAeYX3iWNE;tr zCT<8ePY0!C9m-<Z$%t-@)tmL@M@_m)zMdW|}$CURSbXx@$Kjwgsk+$61l;Yv{`(S45mIi{^BH zST?h=*%K~#{CWnX^6f}PwZ=zn(8C^9L$%>09t-Ur!p96&*7g!x#HqWY74v;Q%mx!)n@(e!Jzm(Hu#Cp5;G2!tiMUc3uaWJc!*9jO=+ zu}`rYZpbsFuum~@hpEPleV;B=5-Ay0d5|e$HB8GZ85Z9tW3aFZvCZ9xo#&?|pX(22 z_y30_cZ;n_uUbK{(yhJ3!&N0Y@uQ@uE0%S@_xZHy>0UmYZr5kx1`bc_6`k{4oi+aq z{Q2q=5!UK3tH_x@NO-vsXYN$-7X}l}S#|tQ9mxI~ei$sxc<+*e_@{(BAVv(MW#S$L z4{gGuKcCIB6pG!}-MEVAR@=Pds*%?XbqAE8DpylP8e*|m*V2b0rAz%3<- zKn8*2ylJ{6m^5|NLi_ARks86CYu^r=^hOap0F7Ul#3M|0h6?lLj z5AfZx>hMN!=AwrW-%9kN7&c;BA7+8DYP2#)H&DsJ@b|pec;VYS5G}q{A>z{w@E4Bk z%~0EG-A5g4mX|v1FV#{Ih=^RHADwl6o2fIEI^Hb4x!)y~Z@Qp-sOin_z@Ff^ZKXwq9<;4Eex3;u>OtmGN&n8%M9KCtpNtAQg=zqW)d>l znfZjBm|9X^F}8nQtk_yIxi@;be#Vhy^)m{~?H9{^ZYEV*vgIg}jUF2cE(=XsrVTXm z8uGA66?}c>$EDhz=vqY+t7w0cj#gZDHWAbh6T!ae03z5M_Zh)H_c^|45B)%*XUmRg z4DBZRt1;I+9DZk=%lhJ&q0r%*>kUx>-o5z-fCx}}5q&^qDZ+QgO~c5^t` zm}vPbOblqqiZupSm#ng!>u9cIqvhPoUo;~*knNp>7@N3L0c<@sxYph|X@j~NTz|IH zzu#ibwq48Ex1F>>U0B>11soz&jlj)Nb&J`*?XN)KHPx-^igkOkI;on07mNcO3%;E5 z`AY9al*5Si!#IVrSguqu*tHw)#8|v2J&R86&5@A z9B_eT%JSzI@{>IQzGO{~$`8HA4BYLWxiz?JyMxqj$b4V!DY+=^{2g{TZA{^rN#x7h zERa@>Nqg;2Xn(%xjsiR^1vSG+49C~ z$3emBK0gEOR!(LCOy0Ih8+6pgUJV;EHs1>_bMk(~%>==uNepPOB@F=$HrpKy4)7ia znz1v|^5+3PcWF=ARZUwY9B0{e+L5%Uw7>1{+)hA8dUE1s&7X`syI?PPXYr=n_`XsC zonMtNjqyDyt37S-4=c>HcX)PtEfn8Jdz*RP75^7_lTEMG;r~N=-CvhQFGY!G)9Z%4 z+PjiB+4Q=Z_I!Gc>jZS9r#mY4f&cgRf@krj8@<*Jg{IKIyvm_)Q*k zlku~5N-yMR{aALS4?4UD5oW|LSygA8Pyr*WMyCW23NyvjlX`7ob1YB$r|Uk8{D&|Cp&!^{E$zJUo%bRZF{O|u_oRf0?G0we($Ese$NJ;nfC)E?lt?kWb!D}><`!gKn zD)}ZgVh(1lM4(B3#%W`%dT@k~xKJ>!qr{Wim!P=pUyi|%cP&)X%SznOr;y#tyT<^5 z!lF0Ru&+_`8o31=_fHF~0p1N1%kI}zdhQ}W&d&k_0;gTuKQkXjbpkrl8$_{v%!ht^ z!E5JeD)SkfdKMio`QK}bCHa57D3b%XaTv)Pwdf6j(i zw{Lhi>;>;i18+avx9SwOxMvu3IJR&RGNNM^KkDm5cK3{uICw~HGIuN61ldJH|cq_X;9}py4?V+X>Q5PqxoM8 z_lCXTUdbEO%R^uG%CYKhLuh$-OV;`Of+4eNHAbR0Rvlj?DP)X9uZ(ByELgaA3=yjK zTok{qYR}K&VT4_mxfN!2W*ULi8lUa#mIMj?p(2`VQscnr?Zq;6gRAV;^;Wc(^CGY9@q)iI|Ey&8&i2-yuO(7#8;3SM}~Kr-CR# zpLA`n%6+Tz^xMPrgK=FW{qvx5j(d~%iRJzfa>B)js;%>|S?vMw)b|2rdW%l#NnZ5WhJ`w=<@|du_JY=Rh8xi<+-3tjH z1bRNF(w~=R`j8~9+e3>~{_@2p5(3AN_j3|iWKo0m<!u60nI=BY7mc@ZJMBj?=b*1*2j}?c zFH(KCobA_6BI0lG@fUodo&{gUyTTu`5BT5d2LDZrr~SY`yeoV)*A@PHGIgjU+4zq* zw*!CGcbzx(3%?uwD&7_T4f}w9`8i$Te`o*rlgcHVK6~TeZy)eyL_6TCzWe;^-xPlp z?~4E9tM;bP?;>5{Uyf0pHO7p#8(|M*qF(bHhI1UtZQhe?yjwXsksbIO`aAoF-;Mrz zV`aQ%>`SXi=nwjRSu^_(@6VScTZC=Li%~osPR7|g!{i)S(AmREo zYo?B?T~qmAWi{>bqwP)M;0~gojDs}W66mm}0cF3nR4usGPZ1?k_fxa9CAWYsIA9m) z=?vIuf9WiXQ#{Y@cQHXO{2;equzJrtKvZ6pXvwX-%xV~8YKQ8^vLV*Y0rJ3$sV97U z1GKE#pW@=q0)|!N=FvC{*t~A9w?65=PAyE^oz;8h(-1d&@vj!UwX!wTAkhgUbHmPq zWN^dE|I)JND(-pl89Skk^@q(?LWgI<_J`HW&f-UuW8TTO9_w3ozm@p#EApq*jph8z z`y}dBdnt9|A)imkT%Nm!3|`QUN0ld9+IyRZItF0M>7j%-K7)fA z&ju1s19`#+!lP;QU^)kmm7&hEYRga3Uq@L5&-q2q$>6sXKb1FG@Ha6FnMmG0d7}l) zN^zWTz@K^3 zNzTkF@UiB;2Nd4710}I+e8>C^Iq~BAnH#Bp`tquy$W^KL<eH|KK@<;#i6RSocXnfeQTWjnoc{&xCvjJ(hUHZ$leaa-r0 z!M$#Zbc_rJ0Z!hNf@6SrCW=7&YMK6-x!!)}lrbQztvjgZ4W@YYw)?;|(RTTi{KT?c zbDH0@bjRK;Ri|5e@;>UBJ6M_Ax)szX*_0-l1U-*14Mxx*Y{`uiMzi{C(Bas7~Xzw^JNjz9ipz31y=DPz{}Y-{RD z+?+1UO4&hfDLPF0Sh|V(UsJ~;rz`u@cI9MW?5LXiE!so9mesLbm+y-BaMbKMNW4=x zpfGJ+;;TTsR~4s=rkbilvZ}uQFH*NRH&Wt!{gVZ`Qrbn2W?BCsyPd7EBEn-3*T$1Pp&DJCHn*PBGK^W?^R%JBRA>ip^1p z3Y6cMm-ht`Efq0*)J#UlvONg%b5sekMr|y8C5pg<5(;@%KbNMM62zUIaAcM<6cZN2O;w ze(dhPzA8Yar>NQr*IixQ+r5_srEII-p*ly*kIXFZQjVtdlByFy)gXLyTq`x z;>o;OC`$(JtX5i{r|W3Jr374_Eagq=TfQE(7LN8?W-FL-HSba>T=H(^N8x&*2wx{# z^Al^T5^Jk~)!sfYXXYUqDh)uWZd{wVDfMKi?(ht2rT%8{{!j8b?RGTl<@?c5nol~% z`hOswFL?BSBA@f!%@HH|m^f2Qe8C*Q%9qITX;Rm>m(@)!MyN4C>MktK#qdUi^zc{D zf6C}5BUi^l{4BYev1A(m>NgHUk&^^LFpMAg0JRVk`k^qu&>rmwLIc0Tfr=&Q26{u`C8|Ng6bkF9xA za|{1g?~#79YVJ0_l_|=qd4zvu2$ZE$Mf&=`8+|)~Ukx(STRznIP#<>JD9|Y%u;j5WVL~`T1%HlP$GL^w#_N>Gv=^nuLe6LdEwX)2E|K)~94L4?rVT76Xb~LYGQqxTpUGI~4$- zx|0M8I24zqS_J<^) z`_h`A?)<=#@su`JzE!@{Xo92!QDCh+MdNf!ORf@WdhhzAM~>4Ns*1*puKE+zoqtJF zRk!)7%Gg)`YD7_`%glX{GD5?N^*OpbDxZ4S(|^Mk>XP%z#?mTzq7*{v{IZIN>DJuO zY21_7M&&SAmY;lZ&eDwhFZrUfkG1f-R>KQc!;98J4m~BB@@3QErF+jT?lN+@=i_IR zhO=o@?%&l#iT|&>Z&T3!PQTEkKF(7lk?#cGLhoGDEd8$j!k7CV$Y2$Pz+rJ$xql8# zFH372!uBXv@@l19|1JAf`>o`j{KUE{#J-}j(jxy(p@FzZ6>@J^-TpFE$_9)PN86}GN%dVUovSn1M#+>+vkpT>Fq!Y6j>4XfEG2YCurS0yK zXo+);rZ86Ti2Fac=F9=6Q*A8u8y;QXLUQQDht$t2HUOr?`-D5)UOvfk6%eY7HJK$)GT4z z{3VQa-m1V3E?K&o4{8@C>QA2tA4r?~^H0Lu@3#PZ{}r8l^ev?LF(s?9_c@^H^!y10 zgggd+bGE^+1aaLB{y*`~pFjJyPkKNvUw?{|GVARe^tbr)0p7u%S^k4*zP492_cbCC zkgb`Op+*Y%JPzyqIBxQrwl1saFG?wj6VEsjPRsgmH!!4e?&#u3nB3KofPqz-Sy%fj z*6ek)oC)Zq?)}44n%)`r`zMq$^REaUs{WaXl>gO!g_(criC6dr`xPB3{Hn7$=iiE{ z*ar&Hk6*+bt0Vwc9tk1qPmK?*)6`fI4t}7;%fp@iy8YP)VUY3d13|5P%;)Qs=+CmW zx-M%^{cXYm`0hwpa4&tmQTsjX7Nb3K6dpmqLa}~c2o<02s;^%|(Mg*Q^}da{QF(+p zF7ZbS8;#huR3O}clOMs?z~4o9qJf*FfvtHn1k`Fcs^;}+TxW;IPM0q`lk)ZoOjBhB z7!|1cVxCo_o}fvW+{NEM%dLf9xa$yk_VNihfxbnvl_!UFrAg}&q3XB$x5)%#B$sph zz>2cq2hx)$lq=ezTxS5vwG$R-Q53dYf~!MKz4kT%N_F_7lAIx(n5FIqvkXe+Mk9mI z@CV}koa@I7e{hj(x>A-nR(MCqT6iT>b9uh8ZQ;=0bjIH-HuT(Uy)A0_{HX(*dFcb2 zVeU9-bg%!j&#%5cYu4Xdd{3y1YUO=e=gOM{3B>Vq97xax6RYt-S+2K^@%AU7aB=(5 zv$DElyRO0?(JGu)ru`azl(eChs?wTjhnA#b%fsA|0{{$EwCcgJsV&N-lJPu@-H5ZPZ~On)MXDocf=0pf1F zCfz{lAjy0<%3mf%D;mREpDZ^iOpJa=Y#E~>Xl*$G^01b^GAqi|i@rR3a^8b*zYipj zFXO)SKR=Q74=_Leg79=7ngPPdpDg*}Z-xprGc7VPJrQ#b#XtI{``=K6u-Yje2?25@ zEKrgXBmREw6HV3KU;lnz&dM01KZPVp&|=!^tkS_@Kx~{^9;$BBCTDz-HXQE435oCZ zr%Z0G*E%;kXU5Zm9CtQndEksyz>Ay&-!s zUYb}oMj(I3eh0E;tkJ_})1x1V^w8GFjS?>>X4Z>7u56B^UN+;S=exC8l3EF=uTa^} z!uyct-R&vSFC))KKjhC3g#!K`*i!-S1udf zQ+YY%bj{dl*GgF0-Gt?Dfnunfk&_t_IU8x;DI&Roe7q5kft#iqfo42UW_i@sDfVvG z{4w;Eu-zxvG2jeBFFn=X_l;^%$r6T2YT(Q+=ZP{Albg-R05QuyOXhbdL`# z3revM^@gPyZrD~*h=ZaG8iIlDSGnm`txn!&AC>?YQazaoCHvei@&pUY2zT;mz;0t0WeAQ-qReP0pek1t5=Y04+ z^n-~?`i_w3jIUBlFj`i8?GV#M*Z9;oPsBf9&|jqb?$-UsFA885d=>8se?0@HzGTP0 zesw}u_%klsZ~T^s@wM=8*a!UI3BIZ6Q0Mq&@y`?JuYK^3%3r>?ntu)dtb2Lif9k&BtNi7QCE5)A&wJ@V!0$?b z)lTDY?x);aK6Hcs)(gPzumwBpX)}K%*RuFu2l2Y{=M88|%`egd`tk8xtwBouYl=A( z^78PLbFRs8|DIS^YkkZ$+?CjsRteGlj&z&o5|8R zS?4Xf@spbG%1_B(ccWKFdvo_#etTE=-I|M|EsJcOGbH>-v!;w28M$w)8n7BfB4n`t$(*H2)s_&GAn=DzogD8@>kqT|WM2 zehvP4{|Wzo`+?6{`GY?9;h)#;?w3B@=&$Cw(*N;0_e~$cAM3-Pi7#<)`rEAu?oXSm zfGubCFBcI=p%uP0SIHr&x70wXCC@+i+;etw(&fIg#z|GZCUQ>iSUX9YzIEJL_I)nL z39JdOCXs<&RBt=y(G}+;8V4ueA=ACdGC|nz-!mc6UzqoX(qFL&g`swJ9dlRmUQzIAD)$brg8kY$lC( z=G#K~P16T$(=8UtI{j`vmej2lNtYDv$wi5x{Mo{U*Q@Oo=hUSEu3q#}0)LJil8Zqd z>?!PmJIUjlNDl79eTiF+1;6CG1wM+^$lfYS#T0aAKl3VxkHE?z?JlsK*^TUT8Q)rm|Ik{v zrcbgDH^-%xnstUVJJLWU1=Cq`mYPbJj_1WCL-k@FBj(Kh?cuy=D$t8VDCf+6r6(_X z!ZFsI3iIMygvTaYjUI#;46skpwW4Txpa;)hzQCD%!~YeyQ)e%CZi#R!O(>1sT5h|v9$Ui=cW~`vN37$b zZ@7`M*Ik=V-coWb*&92DoX{MDV>q}f`A%VC)nE;JpB8%~K*+4AdS0wo6EM+}L&fF~nuiY>+_=&M7m!(SX;2ukz*0R7FgJ4;3H3*VF1`M}_lL4w0Ux_I@Bt5dBlrkCAp|nsdS+ksmdQW; z|1CCZmOHb*{O|uG-W(!mM=gi-fI)&i zO3<*P4l+ohpa}+?5s(ZsLwX>AxPYK2UZO1Si;6HKAh$p=NN+oUxAn5S>bmPL?&^A3 zMFfQ;KmsTjU{Mqm6ohI50$#YO-~ahOo`+1=soSYjr%s(Zb*gH$ z92gJ&pJLqJ#JCztV==n{B&Tj5nQ8U`xB=ICD6iD28VOvm$k)Wh-O`?NcNK1n8I-r& z?C=e^p$KBv6lojg*4VwC&RXi;lKT<(y4`V>vgvubE2x38O&M_1O3$13f2vJa&4UPu zvj1cHiTa)&%+`+2J?Y-k8UkhkDoj67H+miXF&anWeZ~1#NXW(;KA1K4q^FqV)W0NT z-Q}AAIr#}eo|lmIeK!K)x{@IDN*2nw>3u+scPGd&30ZeOL0tbJ$VdtKVBC9vWDF*V z6p2r4oU{Ru)DHRX403Faf=L+7-)Wly7a5^uID zOSjy$HCJlc=xVhITb`H^{Q;S1)#8 z>q9;pHJ!1V zR)#5${0;sE^56!VN79w06VZ((niabSGLnqkZkJXM1}b!QC&b&WLzRuFGG4tuljdNv z0md~{Cfnbfdo{AF)r!=D&_dIjjxr_pat)zSN&xh^xv1@@V3ZPk38kj+N2k0 zwK$j4fcL-5CMAh*C_il6jsm$~<^F`UFZ4hO|8{-wn&!}d;lM#YMs&;{%cx)XfFT2F z@Y#92U8O>N+f2)LEI*y=!4~>9Ro`6S4!5Z9weL==Z`_qspH~|Gto>n!a@%bE1_Ac( z+qZdvqkU$>$Uf5@4SN$6!9H_#^OiL$zeRhfy5{Y<@86W)iOav1t$;12oIVZ~-GMGT198{l#*=iJS;4Y+l^!J6Y#~VA!!rw_G6Mt$F@E<{z*>s18uJ~``|KhX2KZ?T||84y7Vt|SN zT4_65^E3F5CjU<|)`qV)4;PTzr@RJ(8iZ~pGKt0Wc|S-8tVH{|;WF?C`BqM0S57KG zOq>JPg9R7U6Px5jf_>RUAH1OnkBm0b5hQ{45~qJ&v3uZnNGGJinIxoouN;1(Zf$kN zdsWDcOv(4)_laXkwHf3Y;kC#fz6FFYM?G*fz%79%k)q*K{K9o(n`6A={8e3e88?W$ zWMr@KCJNm?Pxnyr{(n?EDVC?OEtP7V6Ea3YLx4+^lA;YpMA1oS$||0ijYi=G%J70K z;`Hb!&OsoDvXG7zV;2pcRB%H{teL(8R~w7vSR=zVCW;3=7Oq4BSt6|~oh8O(i9co} zI^pdJawQ^Uxw5C@yx~~=Rh#j1zrx*Sy9Txs>C*D?m`JCV!qcbXP=<*Gc5kmBL>5g2 zk8%4gKZ1to942=IO?x$C&koTrrlMi1?4ZcolZi>;v!-wcz{9QKs1 zm1mY$IT%K z8IB3@=k2jnee?F@|7?9v^y$v^oz3+fla?^MSxwrKbN;>bKeexVZj1Jr((+O?%%tC` zhGq?G*8ftdH0@_nb7?3i|o^u>G0l z!-t>3eDYn<|6o38nh(F)FA4KA^GOr_P9im*4g z9NvBMSIW{kmxhDKCx03Z7WSC@AzZ{tb7H~Gli!a9)!fOos$S}i>SO%4lT)cAYa6_i zv1MO{|Lddf?cvbBsZ0%lk&8WsHS7^=MPTHSLWRh z-k|b(M}wP{c@q!{s#huVZej44f>?07GVeMH1q=Hq^NR2_YJ{?MOy6+ur;c$fSw;ov%D9z8oA4HjLf%=eQsvWTsve{~%3C!OCzw3e;hBNAJVjCWy4=I`nN?);khNfSy&fKrt0}#E9VO=k zopRO;Rk&BgWS@;mCT ziROM{2R7K>#@~Pe`%{r~@6qrmx)cJsN)9~`nvJf$BXBD@SY{Q&rNs*lT1fu?VZ495 z5l=1fI}xOhL2oAAMLQ%uPm;^c6{KU4(n2~+q7Mop&+o*)rteYVn&O3Swh@j@-g5Xb z1;Y!@qm-0`QYW`q^LqmC9Bik%CZrp#slm&e{N;L<>fM1?rLtI`LET#l;YOoj-hcnJ z`2crxJ(!=^WB%mueit%(N z+MQaTcn4>-H{*6Z>9=&?682k)hD2DaQx=k3l65?b4@Vs`@u4YHPh&>1Gx{|PP0kEe zCp&;Rv)ph}n$`vL3%bY$FKkuYi;le}q4RNE zAbBp;hMLZ@YkD0hCLTjwlsu7Eg0Px07frI6W_Du?-u-> z1Nz)bJnlp5;LRQlbSc&{1NhA*UZR(@!Asie;`DgD7TMTPfO0B#C@E^b>Dn&Y$cNSv z8-*843^bN#d)ZTe4fWIPIT*!PmcWmjZt71|PsiJ^jp7wQIyWR{cd6Ww9OozrHD`(% zoaO;ybZblUHhg$Nw~b+R<46=$gliS14^{QdfU@MRO@IV*CEC;LDU@t`!$+WW7d{WbocMfykZ~u-`0knHg}E-3@{nHnT@2db zLB|F7$(0Y7$hX*VTJ-|u!S6go(4+Jq+?V(y%IB5fAt&tzJa^LHpo8P~c*k&QrBq%D z3#okkHbwScTta~-h-rv=K$8)t@MmbF<_XYd#aivKmI!2$9TW#5>Z9#8!oJpSZAofR z;+|OO*sQy-FvW_Au<=K8k4I5s4t2Qr6IS3Me9+VAIds;TGy<6VTg>$h~Kh}kt;L-xI6vf+;i{=5wtHmJDr`6&lKtNS@;u;c4N@_9Y zH_);p(UYi~f%{1_QKSp6lF(07+gAOR7bG=aw&!v51!|}3K}aIe4IYHaBGP^2yi*Jc z<^&Y7Y^d9?4}pMzNL^5bxonQZcwi(#)ts3Q0#C{iovKpNiu!G370oGG+$+ zYFQ!>%&(#sdvoI2PCPF@qg&L9*!#HgED?N;7tWm}PmkxRYOhX++&slbX%}26{ z_JcvsE|_#zwGRz)V7KOXuphZyqp8%7V>7TDK;2azZnxTKhjdY`TG|a|50TBc)6);N z1!r30Gb#t@(rd`+8ZZn3db5~@DV>zbG1f|g7TPF5=os%}Qw&4R?iz_M2A(kniA&0M zs@i9ETygGabf;H6b>C%Z2B&p&po)tqy{=%nFhyIWpy{7pSsQ+_& z8<%X2Xbptnn1StuPms_dV0k_^?;E!CO}wW(As5Y?q&%1hnS)z7@cuh4GeTojwBJjT zRY8QD)9_{sF0!})6zbA&(PHWj8mZJ3bgi8$oO?jNVv2k9Xz}KHi)`A(H!FmmgsMkMSY9Q3??f(GeEWcuW~jVC?dR zt9NIkKk+JetlfL)U3}Z}z61-1?(}pqdio}up~?J)XpAqCi91ng2^yE0j}Lkg_*OhJ zj;o>@@sd5ouOcuGxSBFE>E||lK?Xdz(#<^}cJv{0;vQuYcE7M{p(j?go#EU=mUzm+ z^yiRJz`i~0Er4YC>+`q7wD;sy88*IBL#GGVQGexKC=w4ScY=PPRQ3iLz}@snSVbw- zmG+!X{wfu_cwE-U)1LX!Q1+C6sd$~U;Um^>{+q+?eU^tMQXb}m)oghfkc>|6ZPP#+ z3hdE_3~Iq@(BBKn8zk@1JnA4fUVnnbq?DL2VBD=jA{u$<8%lboEG>!|q#AtNLu>0Y z2OzWWU>wlEIAa41(a9)~8458Ag2G_cE==Xh^-AgyL^+u2lL@$Hn_gd)a!xPx&<>QG z6L7T;<^%(CLP_JX8go)GftVCZ8jse>Nnw*sge?g#CI>ko=!ITMOJ)AMC|h2$7{l#h zov8BSz=S3VFNH|%wl=QtD%9I39_R~vzLgRR?Jb{Eh`E=}iG@eP_ApBOenhd}121gF z!IVMJ46h&UK8{}>w(oyvETtDd5<{TyT@P=h{4MmTUO6(mw2yEIS=I0u+9uWgacEoe zYf7)W>*A12c;d|`?_ZBYkV|8_y??=b3Qgl9zp-H>>2r8$Owx@4N~zKllzV%5uW#U z<4uohyk4~VTlMcUn@I-9p#5xkb_a&|Po#%-LTTL#I+V$i@&}j`G}8o>|oF3-fnK{%KZD zBUbOS995s?6-N-FlCabrd$X|{A#?o%7Q>NL&)PAlYPDmovg&iftp4tSeI4k&;L8CY zZ*JofYf6kpv1l4$v~#R6ABA(foO!MCh)c9%sy<0=yw!Jx`m8t1;@WrGrct>6mHIEN z9g!PJDh-HYn7icNpv8JyOoSM>!mSS}XNtKAg5)T&(?6q7S55?z~v&UT^YHJUzz;iwSPrZ`_L0N;~C* z64e@tY55S>4w3+cS*4JctV!ls_u(dv~`0Q;uDlp;WQ@D=B))Y-rlku0-2N`5^0}0e@W2h*y7w8+D5VIe4&wVA+kMa*8o| z;t!=tRgq%WKd#j!%TzrHRAQxi$rzFy`t^PqV#ZsfSwrU`9O8A*NI|LV{qZ^w1rK{Z zg;=xS?m&B>SgieP8%wds-@&Ry!xfm0uLOqi>MvTUWd4EFB;Bxov9>{?D^V1GdQYIO z650I{KZ#s%?uPKuy0$~p{S_reGT)r|_*z;t`bsrahcy$B%|A+|=3(xlQgh&b2gmcQ zwU{(qqA&dZsZcEVDTxjp8dX7X%mN3H?N{d1RB$8`iMJ+E@=@4HKx&zfMiaW7(jgZ} zIXvC7w~#L|q1bFnh&_iY>Tjj;6%Zq=7y9EBh1qUN(Il?6oqz{bV~}Kc>y1cT2I5iY zgKA=qT($0KVtVmrFHr3S9Ar%T-U|X6yOG6gCF6OEibV}o%bid1=>sgQBG|+<#WOq z{)vEBNxegT0$QT@ws@B$s^4`y+HC@kB;9a0szG&x1u7bv;8*710#yu@XrMHV)MJX% zlgK#c(`v$9YYFV#ieB$uFGb+1NQ$mKCV3V%e;Qlo<7Jg(+lB%3z{*vmhD&hra2%x( z4FjN|q+fm&^WBu5q;MGDp!;baqL+BH<6u9cK^O}TEF0Fwbx!~SEZX&JG$t!F$v>r? zUYOIhmO`iDnsr88KSlY3Yn<4qgvu}0gR0g)fR-dXG!#HI5&F3pWjtS~sMDM?K>fyg z68Yy5A3`&V=6EMTp zQM3F~4@D2>G@ChG)UIlpB#f!x&L;V(>ce4xkdy-zm(FTyE@%rbC-OBcwdi|by*;v- zz8#Uk$N=IjzpZp@TBd8b4C$_*I-B%e&_pK}cE~@eUuaj?7120#p>3q^xoV5D9r5fn z^AlFj#Ln7Q@n9Hw2L^FiySWS2ecA4AV*;Tu{wb}xjma^k7~a51-%5$VSmCap7V8Dz zt)q$Tp}J=;vSEIR`78Rx>kQVj8hCU;3-Nxlx?qyZgxF@}vk6ITi|NPYJn;>21JxXv3V{ zDh{gWuczEl;rU*>iXyMuxEbAM*>8Y3bSJ{C;zO4<*=vx~NmKa*A@;Q9cWQraQP_>v zl~Yg2{*#suBpL`|tSZBglcL|~zW*u}J6vz$-~&eAameFf^4!H02Iz2H-72Uh-(Vk4 z)jK`cqc;o=o{V(V?LL$K$ogSi0|(%Kb}+#<((W;jKmv&sRYRgR#@La1d1p`X|XmVh^L3hvj0_g zNLFoE_i`i+A6-+ZRFXCWMKMR!M)+vVek8+q)lQ3KhmWnHxk;%!%D|wicLW@Zv)1p^ zyHr{PJ~a;jo6UIru{HwX$(S(D=blh`LanGCqt*>7CG>!pY)A?-Eii;_XuNW7>qQ^6 zaUlU^Q_dOWBhX8q;5D#w1{DHHSb(2Fay+S6S^^n&bd4wB1IAE^Mit^0EI-Qkt#WS+ zVsMnYin@ypNXj{}JS~EGAMymPD^){yGxEcTsw%^di{B51>1e-Jz4goVpvLsbb75U5 zf-YU;SD(aXF#+|d_^~;3AFo<=oVdW^0C5NM#q~Kp3*9Rl+f88ND(vkP zWvijJ%ECiPOP%`4VNze(&|v$h;UOt+Ko);uvRW}K8%_vS5|d7c16X!)x2AGQk?Gf| zSI^$A#5h%N{nDir*VM(S3n_u#`k|cOE@_Og$5HDOmm_H?;!9kM_=yz%J!Wk?zSGAP zZ&p)-7;wj_Ly|je21>0WxZe6yE^^bmxr^i4y^u49)are$Ux=tgO*O3{rK#vAw} z+XXrV-!7+irzc_UycZ^oTKUes8`c~WILD4w9KU!rj<*zzBrOa#Ld8bHf~+jU=_1_o zyT|3n7KW!bQV7%g8jP*xD-YN!$Pl1kZX{%ztkH#$e)`ywL(Vb2jNd_VvFR`ii-K9I zh(t-p>WAwZN{v!kCSgzer(i;i$FHS+E$^ZRqfGpRIsM4VCx3@{EC4q7B{&Z9qx3RR z>ke6mdEOa!GZHqfWggm zCD|;57=emIVptkRer3?wcxa6>Zw+NiPif12rhO}|Q0XZ?wMBoaW!s4yFQ5prQl?{# z>Qm}5EW@X{#bR0Rt|93xKgwOBhH54kl5U5_@zjR*(LlSq?l)B*u_h)JR|)tLo!OUTb=uZBz+f{f0xmh)Z^S$p!Lk- zmc2zr$N=L5D__}qIDc@@R~(qs>=v;JaL0CquPZ5A2b-`c#Efy{4VW@;xr*Ha53&=ph;;&8x_u?>{Q>WX z6K%oER_BlHD(ygIcf#wI$+xIuO>UubEADh1Z}_rl{-0aoszNahA6WbkcML-E4FKx} z?9ID?quUrQxhIP88*^3cT9sLjg-`T{O<~4E7o}^0l8S2cvO_Q{KnPI!d}C1uX}CG<2KH3insI?W$9qxpUBZ_ z=6*@+S8*~UaRC^&|G8o1u{F4?%_HyN#^hu2(>pZV8Z#|9OZ*IdL^}qhl;49Qy>x^+ z_rP(a13h{;7_KrP0L-t#3mYKWW}2Lju0e0pVWp_v17>fJ)yufDhL$^Cy~F-@db^-U zE<6`(fV25KUV{VT!D4N7Lr2*^a-()kXrod|J3i4+nK#)G4b8|*eiaQ(@sa%rPG=)& zW$-oB{VXwbg&>1@7K&PoqA(S{L&h&!CSYEM=?r$@F={&cGFW9K*2OR|L#HG~AqW2_ z(Z@8uk~=Zr$Jc~BB{vbsqX?)Jg{4aF%s?SU;wwQu7}3BaaRW94pqgOs5q~EJ^6)ni zKyt(>xdYk*2^otlz0T&qM9SJajDV8c=Pda%prich)dfEW`2?E%9!rl5xZ`E}VIO}P z?RSY8@QuYbmo#y}mwL6hF^0ViIJcAE_vduAHs0j58D)1@WjRqsD*6D0y!*{VH%E&+=zHbVY;x9aNK!Jg;5(Qd|SLmn1 z5&6^Ur2M(Cm5l42i66YiEEx-e$0ILDR8lz41JlSF;z6httB}Q7+`y$@+pcZ3_?g~H z=<^`r-(G^-SNIk3+35c)xwRnD9Uy!^kpqqOuWKG4>iq;0F)t)=LTT`-s2 zDhFU8R*1lXhGdur<|GVp(H7PclRv^ZYk|8vO>@O66)7ZLJtO%7CxWo#bGXiT35eImZ(q3HLe%DT(IafHT56yi-I*y7b2i(F&;w)F)w2 zfR&>^P4r+Kuo#N=i-U$}3?KD?Mbq%9!#E7ktc_@292A725j!s4#>7&&BdlMID#;%u zQ>mnPm6r4Db4bK5mM&?2@*SnDupVQxdJ2-%0&$nz5s|BWkirk-undl6qV}HRUaGx( zj>oNbra4`myRRHtkvg~TM@&L8qBHjRj^-Z}F{CWt?FR-uX(bG!!`#*6&4Pskh(cTK zejuNTw}DAn#4-Zb4M8uMlg;xO)u|U{rlT=eXuI;zVuaH-UErnzU5(0|D@pHH%f7`v zN{0A-E|Hnm%5_ayX5QA6eD=2HD#Ss|Sjs(6AzuH5)H>8+O*nYDUf?Y_OnK?ajp%^_ zs|PUpKxy=Xk(7)AQxhyF@VvPkHvlLp@-L2KHy>IuF#8_w)o59-YBOK;z*VX~9I6c~ zCAIBNMwR&CFfEY7<+D7lM8|lje<0Z^J=_grOs10Fi;}4T;uMI^6744~a|tMwM;q!3 z$=MjvrUd&(Wzj$Y2d=SoT%#-`Zzv*PP;A~u({e0`ECuMYLXr$*ug-%mCZaci$?1I- zlaC>bDmM8fPspwi6oKm?Sfd1z~ zYXSMHcX>dq02WR70XIw9S;RE*oAhz5p7uSRMPh5^EtbYriF)dp0V>t972>)TU zT`eg8O&C@SHC>t!3k}blwN6`W+($(Zaw2H_6CjpLBnN`+&?0$N9|8pwz%R`Dn6K|8 zz6aHPqTxoGjSf|X>xv2y0|K2>lxJut$hJRe>&$x9iT|z(K<|Yui;DYSDY^MR3F02 zo%jA&ai|qIUb1_q-PoPc_DP56T38^&cl}@=UJof1*S^50miNlzy$LZB{yxRfj;*ZqU9D6Z^SAAr*HF=iw zM|WX8fY}J?vK!uEIZ#-C2uk;%LS?CR-6dqv0=F?lic(r9Mb4z}AC&t3+Awy=!aT4k zXTzGsQk;a}r4iGx6ypb52y{ig_%rMcRKGbs=%fpeJ2~Wj?H1kmj8=AY118%etW%#5 zE2c%_J@k#QS>Jf`A(y4#ej9b;jjX%t1;lvjJ%ngoPLk$x@$wPK6AXJCrUeEh>oXY* z>^ahuao7#vUJ5zn6OS~|>bCg{^p@w<8mH~M95uLfH}so|oVw=~$ z-P8xsnc|7%0y@%RYe88!-npPWt0QKvn!kY06tX|yitlcC zPFx4Euvo6Aq`Ee0gmy-%&{}9dFoc(S4A(x7!!A@@`yTWt);8gAsCXJiJ|@XG(e%*9 zQPg;gCa~r16S#!>G(se=g8*nELX&(YXUuBZP`O}+GP31PC?nm^mD?f9$)55Q08J^x zSseAOn2TY|?SX%~IT$Mr1i_wd!$+&!iGt$vub^6x_uVEa1>t%@=UBq&3Gfm*nuIFT z`r60ZxTLLwrej~j_2_rx@o=7}kteFR4Wpls=ST9td7rHZl}|wItLb5|;-l>}_iqA# zG^Oo$hZGBu%105d_yLa1TPYX&6i6f-Y&Tl;?U$JqnlqbP3keRWWqlGgV=K z6`V(vO1ih56iM2K?*erehR*KTE`pysRu$2}@d^~{hLaau@acREoUrZ#g{}bNv!5e2 z^euyWE6p{t7Z;Zac`t0SEC&-kPA(~r*MwH1R)5Wck%1mcC3z`epg=6ieOpoZ5|)az zQ%eiJtwc^`>C8ZnXzphv?yuo!{|JpU5<+NrOgpkHH-KKs-HbB~Z3d-1X_5&V&NZyT zYO>xEO7g_C-H4ud8Gp3&o^U$$Y5#sxu@vi2vN0FKvPv!U%vIg%U_+Aq ziJFkzZQP3-%?pzkR1*m2o{(S|61;uIW#p0|AJ{9#qkHs#D5V%nDX4OwD0zr}rAzJd zoPlT(7Bm^xAPwE)JTmZ;k%4?H*U`dkNWXE&05)k;2lqZC_EO?@#4N{*O;AL~FAmG+ zXN~nzD@8wGz&pFVyJQ$Lx zyGcU@8gjqWn1B#Ec$|{@9Vmq2x|qcohY$n4H0@SH9Bh>su!1u8KR0=!RCO^utXwZ} zZx~i1*;IPEQ|U`Eo72FxtbaFSeGl)>tAX1JImba1bjrTXDbS!JT+OM-uf#?Xo;Rzp zzOx9&jWw=AJr0j9>wGYo#P}M3mUA2qpv{PDU%~u|$q>$zP?W{?{f&)Ss(GLvK!9VM zNYc}MhA#KGMGho9TzZ;MWyxWr!tpS4T-kx<{PETn&6xlfJ-J2M@Q$|Gn#8u=V%Zns zh;G;^YG7tC@weo+xzTuf8J(01ZvYMNIBVLyyd7oTP3c<_E7$o&=~K`0lJ#muQ*UT zvj7qu0-_YwH=pv#$El;~;;Zmx@5fL_Dt>e;k5#8LZ-50{&s>lWyHo42vQy&qBxJk} zYtb51P1HMs90UDMfHKXPCZ|1=v$`5g;Ei;VP&smAHg?RC(mZ}UvWcJ00xe-|B6CWq zvk;VfA0_yd61?6t-!^r~pmA1*ETc3F&2?V7({+e&7A2lUyg`?hi?gvVbFd%kC4Iuw zvA!kmZR``b>^`Ut;!a`r1KI18rK4PWW`LGoYVyqMtev>XC3T*0x=wK~ zbEMQ$o7Qhhcf-o2_9{zbydHy+v|FofT8@2~zl9d(ay91gH^4@WJ$^yM$3YA6WIL&h z%oPeuB+Z)7`l-X85+s0eS~>vbkQnk7rzZwr?m5(qDD=3>h<%bGSuQ1&1CGWJ3`@&G z{(7le?i9}-pv_cxvU+Lzn_;H1-wbD%JA(kg`!JRX z&q}}Y%69h-G8q^kxLUR&{~%0JYW41nhQ8>xxQ?y#bpKaTnOL?-E;iJ%!y>(gO8zhm zbs(;JK7!#98yDVizq>PM^+FaHa|*Kck=Y&%Hy2I&BKI4d6HC4khrb>zD(Z)WkE)rE z;$@$sF8FZm6mcMkLr$|h3kIId@6;hhPes2Z;t+L}BhotdI=^rlsYy&6eI(6`N9 zYAR_MfJ-`sZf?P!$8p?(&e_pCnh$w)RD8HiG&Z~-Zo%5?-}DzbY)Q|CW}SnD0i9yJ zz!o_9_`)khq+2Z@c@x+6!8Za2eqqcf-v#X}o3}}ChI~mK45#tHE-rE*v4U9*48Wpw zBSbIBmuY%wW@!J+`ygGES3XG{Opm-AQsonvAbsu~=q$b9X?^6=9_vm_c%+7Q>m-net;J?dZ?~ zv{_e7%cpn$+_i33=cCwSuc*C1{2pTw8z;1BjR^~;?A4+jEXx(g8x!Z!j8I9>l~f!* zl^loTb8hh&%tUaNz}W$E?4s@F6Ix6?-zdsjR`(PpXv7sTmjh_`Y+#{ZK^&)UO3QN490B}2zkXUN(qm0n8}QM z02imjyDN@oPyJF|j!JIzyZXDNR8qI@Qd9NGxCFaggFp!cFR3_j8Fn=F89q@UtCZy@ zpKJINI@cVp6iNGnRJk}C9}V+qoXSj%P!Np-U`-^!y$Et?ks1TAL4TM}EWWgSlfJjy zBc%k)v2#{ihyj zk>?>=BjwB1OxuGAiCSk21&sNt1-&g=my|(nh_{B~STGToNh{M@DX3?}Z;_x`kIVvs zEvZQ475$;(Q*ZnVjV4OU-Vj7fP!fKP5jwk|RNmYyKUoW8N5~>hU=2V;1gMDO09;

        0!JF`|}^YBA+}hErZJDNaB%_cNH&iy^Zp6Ob0V-gU?< zUg8Y2U^C~@7IgYM?h`|kvg{_&{brIrZv#`Jk8e3T#*zSHh86uZE!|*$m;!ZBj!ykN zY%7SdR{R4pUXS?b^}3!`@zmpBv7X{8q%(PNAMqUM(KB7JR*IJMZ$aN7OlXkCcO{B~ zASs4JI9%=FjDWqfVyz(1pe`o*QU!UeZBkdii1UNQPyYgIfINAoa2S&Ih%hec`U#P^FC3`T1=4|nf}=N!M(NN-fg5io+0hYd zBMyQ}`IIfsx+F%TOR)&=iF+C{%4c}p@W|<0)g9%Q_X5@CXfe>dpIC8B&fsDSEG z{Ha-}SbIn6I_6|Z`Voxp+6j{@kRWi4rEO*aAtif(x(mg;zBa){lI%5sHPxrLZin0)g zyY@-=$G3h_tgVmJ&eB5{Q*n4;ZmkU7>NkVKj#cC9T=V=w*%lO~jm}QP1qH7yyRlC< znocyp3Vpo${eP=4E-gQyOr2bu?(itk!lhimOe=P;2WC94A(!qs4~`$^d1Hhv{8T*r zJQ@xmMc6A_OzEhm0M{hHed$s-STNk5F2y1r?>&3YlQ~YeJ3ZgGt;jBJbz1S{T#2ndJg3v1MRT*X}nW5 zZG*^1MqYgI7%vCCTyk!8+*c>-Z&u&QzqYK;!Y51O^U3M)SWJ}%UCQG)A0o>`*y?8) z24bz@_YTi?igAcP(|$=lurPvcD^3SC5|YvaL?>{e&B32u&srz$K&=!Wq>uD_$ik2~ zhoWF}6>&t#c9MqdES=^x@~X498neGsdc+idm$HFt?(EjIfI1Dl?E6;#K5pa+@@k{Z+ zbXl2eqV&T@qS1K9hD&-}0(#^htvJz9b_ozIR35KQC;DD4HX^l&V9g82cq6E3>ZN^N z#qK5d;juelSQ$cPLjUYjVZ(P4yf?vZlLO+%*zv0<{@j-FSK9H0<;JA^pN=nUMb{%2-dc-=zzUvHUz*`rqcK#G5)W&9$FN9T1#tSs5&lIlNW z!k4EjsKdpVP~D6dfV@SIk;vCjYw8uu?~=nc*dL9aQlT$&tt_N|knsBmo@K&;cb<*c zU(0~kNt7??>9gUB2u}4jqsL2#7YRhcM@t@6ItZlXt2Ly*r2CXp{74x;nl9U`+(_}4 z$ex70)hL2+i6jMlnn#Y_x-!{*MzRZ4N#0dvyHH-vBNqJ{Z%5=Wo8c4F?}Z2Z!P#f6 z%t1p%8ir7+qIC}%0Cl3|Dsv#<2D)0Y3i%;{xTfBHs7HTA{_o1dpP)(0^%d&t3Vn%_ zETa0pL{zi({}%X&1fs(Fa374Ml?OpnW033_YX7|yKT^g|^^sHlMvA}0j*r>xxsuAC z*RuQz?0ALZZ*LiY_+bmbL$@J*P|NsQJN^U2$IwaeYfw_XvBVDRbF#<)Hx4uePp#}p zG`rzn_Lw^buNz|l(6!|k+H;Rx-W;lL3ziDa=n=8wZ=v|tTgG>`;|EgwBhBKaJP1hC zM#DaXql(0v+BK}i1kjh_{g!)4SN1k_)!!az$NSS&eByamVXus+(4`mjf} zQxsu`E~XC;kjXoh3!9G=W(G1D1)wh54}cc)ST0#qS%_W)99bUIKotYInqM#CYD!U! z@h8AAE^r@IWfGq&uK>x7GJJu=&;#h6r~=fek`oi2VZt6rsK}>OjsOfO`oLpZp$#yZ zB3yA2U3U+CoWREr%9ZXD=E@}5us-YZ83y^4vd(fUaphS2VQ#)}3z>m#0XOVW7VZH! zuI(ikD{Mn!%p8SNwU~|bMmV=jjRAy6GZ8+y@&o_E_jwK4swx2uTwS9Mf^i zd%uVxr(`E&LJ7iy${OApznI!bhMSexz$YoksO-gp(9lpc$yd@&CX4EG4zdbk985P&a&kG=dh+C!r0>d`xn41asyweLf4a}eTVyve zMt?>j#xZ2&K8{i9I8vJ(opd#;<9e#&6&gh8KD~hhQR;S-0ErkNpYChW;w3mQNxN7} zaOD;GL@vQ;_FeSrQ&P3~U3m%qP{xnzQP*!U=p=854HP7i$(XD_Fsv)a`#^>vFUka{ zoYOx|!FQ2evd4#1Xu40EbW_{F6>WAPO=nsJquC^0td4jYi*dun5#phy2;|xF3G#e( z6rLsnlso#nXShqLHOTy2%`Wo9FVC|(s)17-@9op^Cb1MTR6!NRe zXLo|hZwrJZtc_%$z{tg2Io}dyd1|`Xf`8;fR-VHHieRC!tp{ww-yU#f9- z5uH-Gm270`m*m}>(gRHT-s2#P^oKYm%1h~br z`hI%a#+UR?Ij&{8xPCvjPq;6_`t`7p9uj#?iN7M1;W^}>IOtHRhbZ?VSxY%cgZ>^& z8zh+!FgSCiR3;E*m1ojwE{enDp>%ozB8g1@WNteoK87qK-DvY8qH#IV8O~X`H5!g% zIPB;x%6b8La5}dbduTLe!0eV^McW`*VLj=A@U6mrH+G4zVUGI(tMGW@Env$rSdy!&V%%V;edVwc<_Dtyau10tB%!I?4rXpnMM(6 zG5G`bX9+5hphC%&a|{+vR(ND zZdYOl(h(?mE`nDiGs_>ya3yM)&e1gP(8m3~!&Tftm7aLeCFbE^vI-k>yzEfJACah% z$c1s06~Gctjn_pFN&r>(SKKj#gN;Cc4K|CM$AuQh+%%?C4QGGMo88X(p7<1DZEeFN z*#E!=1fM|ai1M(=KkFyxEPb#&3lG?amt{Pl#W4KKWVm035{iyU(eSAi{qm3I`E)D# zyRQ)aF4LF&k)$DMAYHJ3A?_Hp+9QVMpqUu9+!G(8Q>1;m`-`S!#k5dEU+c6wW#VEv{Y?NaR(<&gxqJ`_2jb}HuQ7cg2*RJw zpkG(zQS%B&-V$2c+B#PeAeel$m`C(nMAVxB^IgmHn~!1dL+Vw^_Q5L&2(BtXn3FPU8x zq@+*TNuy@cCnza76WGa>w<1~NwOE#z$x%6o$_8TOpmY}(oTEqbaQI5k>i))8(Aosa51QgK@=knK18%wv5r9$BR*kJJ%cDl)G=r~ zgD6J4!Ju6Xq8RZ<1|4P)#po3Rf3+0-74tayIKF`pr4siti0%>qh+@P|4DvFFVnm!k zT1tZS3c73rA^I_@A-q==QnpSw-fs_&L4cUUqk}BY93CzX_|aoNm|DSs;-D^hf!NV6 zc5#4M$Ye&bkwD-R<9ezpo2vR-zBMw!2-2qB63)kC@OPZUX9OsRN;#%+4#b0x3jtx| zz>nSq7`1nCb{Z`{aT5m!$80g21B~4u4&)Jbq7MfM)jW|y0U)VIaBRQO_&cVYRbHyN z5&C)^JqSr?a-~L^V)H2W3&ax5>Ri`y3bFGyk{X1G7o*09QA5r)V9OM_l)#Ni%92@> zz>fquNRWeOT(%%~nOylZg%)tZzB<3=WN2meF*Y)YR)N!NBkOdHW8eQ)+1RElb|!v*p!gQ$FNUu z_FkNwS*b5daEe4mQFNvPS^D}!CI^_G8W+f_{Kf(*P!j4>Ox27}9}}NXI8ifvjM0?A zj}+qXb_Q}=BKCi=SqAiS)`D0Tk1yk5yP_#}zN^f9_fbA;>bipq@fioPZs)d!?Hs+$ z90NHA^XJltZvh6(<($!;=8Tu90NFN|T|mBBz^MnDs$^bxi9ArqKW~=Lm`ph*AgQSB zWl@DjiamHZ%XB*nxD(!MFLI%Tl~4Sh15EEl9N_Ugj{`h@lN<;lPo9{-fkFg=Vk`$# z1PaA43SctASS!U?E7c<-wb)3Ic+3Kthi=khH}Py_EQL*iTYZ*^yOcI~FxC=<8C(`l zwo1Y=qZzX)pXAIfJ*_sA$&EU;etr|R#A*tlh1{_yq|1U>7oNe55EUY2O4=+$R^F?r z@|3fvX&hjJ{TBzAVB@$FTee^Z#{_PC466lmUoRU;GQ|>-mpeavR;)fI<*2xh?3}kM(h69C&35s460H^2?{8f!tVO`+~ z(PN`C(`;!5=Y#0Lob!F90|CJSMqmdAm}fU}fO)o>0^nEleQ*KIHvP3&e`5eu=_d+2 z3@;BR?hLcaMVwt$$%Gg{j-_%QLGRC^h-~AB?<^V)w@Y|{OK{RK!^|r02*t4L&4n`; zb>{##A)5o-g!UZZCY-8}&1OO#p#X>oG7~W^8crm1B)3%MS`C_RHfSa1cQk0?V5?_+ zMsGXkd^_hfGiRkErB88M?WYg*rsrOXWwTb|#W7Ol!6|g{UAohOKRF#}NPcn0{5fW~LyvUPVqJ_os17L^ zmYGYUI@iry4`;d0&LWwbfj8Mem?GfO`_Mc|WOF9dBLOWIFxpYklEgRLMgP)l_E^r) zH1U6m6U>YUt-qMTu5;pHL@m^LaCN25(ADf^iR3C0ko_sYRfnT$OV$CL@yO4i%~oW%Lt{nw@coiQ|J*pGBqzxN>tMF@C~f zGM+oGv-73Qe8Zjj262Gf)`tV!wj3_e&nsNx?^L2>+(t5d$UY`x1@-Yya~zl)<^Y$t zn*tC==pp|CT0%-ry@ks1BeVFYT~>uz)@#nP{><5}<)}G^{C4()oqe8}eX=wAomTd@ zBH5VeF@o6>Or&eHqOdV%;GkixEnLY{Vm(p73ksr6EPi_+i!;4*Q6+9;9L%Z0 z*n{(J+@JD34%rDP;?fpHh|4&eB~MbIo2^b9XzNI5ES~rw2H|B-zOUCdn2K zu*6(T0jOfeFe+X)?D?)1vjmtB;<=`>>`6rEoYQL6*>?WhIX`p>w5pqpo>RRP!#J}g zRnQfG$xezu!$ALJ; zytkd$~ zbSu^Ih?z+8^Z9@@F7b-Qh@sb%9*)%)-KF29%K;Uj4BYYH7qR z;DQQKP*C*XfQmq&_yq#v67K z$^pVOThvmZi7Vn%pyc8|aDgmiI@tw^$2o(SyV%IKF__31P%JPYVd@-5PH_ks++;@) zvE~S@!{K0VQ5UnkI+xroX)cbrJd{M15^z`++K?qq+~2G*GwrhKapE4-@z=S|1!BPP zblh5&^>XvF^6auI?Xu4K-!1F5=4I{Ki#Ga^Sp>N(7%GVyiT(OgQj@2cf%XI?1Mx62 z7naXc2~rRo#kq8DnQ}TdV69B(T$#x05F=tsvKg61QDH$s=S40IY=SO48<5k<To*B+_6SArIdWwiE)C-m3DVp zbR9Y^b3rUqxVQ$NK_`+~efSI~)`1(hrTxEYi&&j-v|=d-xD_u_Kn_>hzp)0Yxt_R) zs*-YWGFOFOJd05jleiQjx>uBOfCu08T%;+;%;|3H9u##e@`@f#tlRw?tXZmwwp=#% zz{x4HA&mP$4sZ|b;y@7iJOBfvd`0TnM))l4Zh~G_ia)WUZ)hk(avR!Y6v);??Dp*Gy%lUoAo-b+V zTym~)7Zw&K&yT|=UaO_bvc*Nv$c?kHX*u57PnG`op;JobwW!o`Y{C`>_G!PT0|agL z_Wep+2^`{=-bRbfy<6P7)9I^6n(y68zZ1Y);e3qqPE4_+4tvQfadU(x81W?E#9KXt zx>rnkUyxJJpH=;CkZY_@4K?5qQ%D>&wIi`mO&v_mYk1I3JxHcjDklSdID+7!dL=bp zerJUuS#W8P&fI#;6NIZ;;Ee!+ z#@WG0HZ`+ErWp%L-|aP?N5G;C`LE+y5uyx|T`H5A9kLV0%cud)J(A&DXi|I7XkE`?5@<`<#%?7v3*vCxa%I4-`sU6 zd>i-4{*#fwm@e?QDbmZVepMLm5D0^*YI%$^2CQ}o2E-DA_t(v|>d z<0s!3SQ?Y~r518>QtbR9ZYC!`98{iz%5#i*PQf_$FjI_XAme=KN0AtL0;D5m-aoRD-ZYC?Cj(HgYf!A?)2vWxcWDVwU{gBi0a9vMnZ+50Vj$KI`n}0&6(OB6H zpotAI_=u9o12iNqjeDTtT3oiAb2EXHX6_dN1chX4k^M<$n(NFo^d2dycAO?bMFx&hDxkXs_VqhMCc|w>#+I0mo!C)jv)NGI7Vhj5pu`y}W z^dxjto2Ca55Pgm~Xj(7Rnh5J=;VT%(2;Xl4rQf`sWQ1=sfe$049?J<4)1>eXlzIju zJ(bin8Ic!?+G{Ap|)H$nHcajZr_Jbc)JV^8F;iMnqsQ{{XK zl$UNOm7}87Msb081| zi>8)xpnEXVT}i!&0Cft`fR`d<$X2S6YFmUD@#P^0y0c{3B==X)M0WxMgD4~@x|zTc z00NW3V5Cq<4dxUoQmDdhrpV_MrNKxk_@7gZL5eYA=NhJi0-zqdH59p3Nwwkx6Odqn zSZOBs8XK4pMUx(`h_Xw5!c1SsKrVTn349$uOCJA)6PWyOCU}^E;0p}c zViP!1=3?HTBoo|?ejgh&s1C?cbUA5PN@@g!m&RHLBdyW@9B31av{6za1dJ@OxI718 z$=!w;rosi3^sSf={0za{0U^{+*V`zSqp@g1+jt}lK|l;X=-|ySu%l_o<8AU=%Hz~} ze51r1l!%eMfLJh%M=~%F(y$=laPH8 z7+Kvg3Q-o@#pO5i4DGrawGzP7T~9|szawE5eGm2ZD*+L__*RyV@Lw|uGY##!lHPtz ztgDjx8UZ?a@+dZ+BxOJ<-0Lo7{*cF<9;(Fdl89$xp(&d~1Kf>(a363G@%JbZX=!&+ zsqD*Xc^=B8wA&gSX(w@7?wkiWEqBh{l=eku+NeZ3<`2?rc{K;R1|w+0We6BAfz6xC z&F8VIwefr$0da$~yzj6TX$(bHi{iThuqgf!zR|~-L1@~k4V1Dg)yQ($)G=pNF~9v? z=HsFNEa%G#vL62kf_BdjHPg>vAdjWKCU86hd6afFf!A?qvdQ4ID1sKUedRZ+mY2zI zW{->TZJdSfw&%M{M@p9?<#*VtwA5LFZ>#skpH^|ZwldI<&h(3gCU7MKc}Pz;fiKFU zcu4;N-=JJU5c64TF$ektBYkM7R3Lboe4WT?c)Z+#01#o?{K71L2m_fmtxaGb1~PVs zS2D_e1~PU#OkjHk=Aj*VqSgc+#ik`Hg5<%B^O_0#0zf@h7{Y`DY_}l$m2IdO9_1={o)~6UFNzX?eKL zr?i(k(^kv0roKG$U8ea<4CIdZl?i+TKuhz{IRVpuu$ka~01Y=yK#J*44w0074XhWb zv4|qgZUO3-r{9gCfPhduE%cW;A^fe5xf}qrfQ8dJ+yVs9F}Re=CGObQ)G?_>*br>~ zTK*2VU_S$y+Ao;EZ4BgQEjEEw09ws@Lw@%Rkv>Pet|*q9SY{@El!44*!%X083B0=y zGhU%Vb=d8feMGZ)H#6x7&d+1vY!i4b0~yy7E4Tr<3}jsQn7}Ls@>ux51k$c6D47=| z&GQ=$&B34AF2AFpNR*oYK0-L}ZRr^mW`=)qDcnEzn80Ub zPF|xvBEP$YutZJG$G7neB$1=PO_trjQ!lgZy9kKa_Bg0g?5w7(S z#5ouNG09m#doF;9Rr@v*>nL_3(IO_+YbNju1~RdJZvx*3P>%&eSW2a;#~Ol@o$XnOG~$chvOTG}2pIP{xMLCkHeD|_D;&!}rt5hoa4>+Du6d120JA!2 z7&md_5x{^SPK}?!wLM-1A(En9S8K#($ZsC8N3k7=i%#VVY(Kv3DeE&1$SEsT&w;+d zNMEdf5U{ys_A;j9KNwhu5m6}aGJ#JqPz6vGBTZl>fZx#W)Oh8JSgG=x1j0({9uqo- zpktQ9KI&3_SEa;ijO!^LdZk0IYur{Z4L|YYTZ}osnaDOrQuj~z>WgcrIG4wgM$jkj_huc_Re@Y3b;N zTL1Y7S@ya1@|%ZbBQ`Ddm>iN|;BOJK$D>82Ph}F;tm@@AYgTLIH_zP52i=z=2AIIRCGc*Hxv_Z$)uEX4p*=1-nkgePrKwoE$w9=j z$9@N{5i@r+3608$)cLrv#qRtz@|#H%Z>d52zwt1`%{FKDfoYa+GBl($sA?E*AVBK-`9~eGQS5nCXKtG%vkU{Xvu1p zzm3b3bxm`?`*1lDeiqEC@>vt5vLiLTGf=n6qFV*5?~|NgPEw<2U1;KQ4owoFS=rQ{ zhf$x@I#yedWzbS^i7KB93w@@f{)xR#<904f=2_~<{{}QO+!X$yvapa+=p}T}a~q9o z)m^Q&!jiPI2Sw0z7#HC~$5WLx?vOX}zHvLs<*coLF6#lpnzHW3ha+nbWW}`vdWk36 zugs&Q*T_}x2;Y#j=PRzeCLDTSNxww!R&=%lM@XNQg+bH$txOFTq)YwX;`x8lkV?L8 zY{t$fsNg5Myh2ofjKyakGw>ZCl$449c2Fgy`*XyYAV{4eLSs)g6uXJY-VLE9eS`Tg=?C9^Z(e?7@?9c} z4pGuRAMu;TpXh|_U{Q8*w?$~N{8dSlEvz3TH$V)Mc{W*%k6yt@ujDd(ToH_1k$eRo zR|X?jCjWvDQl684zy~SL$;a?PN^?@j2Pw?SdHCSvZ&J1;#=67=4zMmU76FKFkP*wz z-VzVIEy6&M61v2NCNQ6YASHAOuL*XC81cCY{00KtGJx*o zU9Aa7FhRU)CfLltNdQg~OHAN9GS{?FWSWwaH%jPlmP;0u=N!dcGuh)Z?}`O7>P`7W zD%txqH<3C>VH8|=+jIW_%=x6Raa?U1U!xs0ReM?7Oj(H&KYs^Td6 z5fx_C6CAaUqv%IWFr#L2R6R%0k0>#tZsVx!97R8(w;45_r}IWhf+{V#LlPszQmH;;1^{fH0DsNEbT&t2*(CS3t7cKH&7#6yg`GAPy zeGoibDB-w<+x(@g^$J~5w&D2oE2iFIjbFfh4SSo$Kb^$J?VrGt-&6q_BUBt1_bhST z{uw2?TI9zQ9jo!1L%)hCZ*_SsBkb-)ezSghh7RG;9*Jtj$+n49#mP3y7NUmb4SvkPAD<)0^ZW#8z_v1RTvqHQae73W1; zgv_5Aj9-hh!Bm0l57UPHOrFYfbit^ukimGcPsy|;+6v3sq@qK=mj^~ z<2+*BhtV_clidhhp1Cadx(MwlBPn*6FUx}`;!NUEdTDON56sk+%Zu_*`e5A=z#btS zzujB06ITw=A*pM#b}2L#ZeAyQcWrQ<;XFnF-#EaeO?mqB>g3f51PkqYP#=*mPSqy>)n}y{p9{|?*am4269Jn|N&hUY%M za^d-wZVY&CB}I)-{Puy)TfmxsiQhiNo}?0W7?y>v z0TrwM$%fDkMAlj99)7539a890J~XQT$`=!@NKdq(_IAPy9qUWpo8=J^W}5ivlWqwO zm)T}K_*=fxGfw5R@C&Kt+-Ca$(lq@UQz~#bIALHKXiLM^#ec}vhp6?Ae^FNXWxU+54n3-cofv;1Fd zsW(4rlU}T`l9zf-)fZb@k{@YX-xOO~lpo3A7t{3D$6`H5;~Dxp_C)$C?q`M0^`y6H zI=e{`SV`CP&!MwTpF&>`UkiQx`A>V&*VsLt)7P!xL>OJ;w4>>Gyk>|BQ(sZ)Va^LR zb5uBXkGs#hTOcyg)lPm*f2BYE>DA^d@&s%vZcWXX#Ixz2r{=JCff671j-HYlB=R`5 zz9ao(qt1>TijC?UxkFa-I~WU8S&=GjdU)hR9@fj#=GQYk<^pfPoL3ky7vTJS;gEp2 z6tA-4dBZ=)e}n%<^@1G4aF@0FQJEFHqfbkq*Y_o0MSsN;AE{R|^Z}A_j(Iy2WJkc9 z&kG5+4?LkRDSO{|v58xs+Mf0Y>-5I@^}~{Y1Go*=Wk4**#y_0-?pLIJy8jdep<8=R zx32w`Je#Pj)^Z4Zdi>9e_l;ToVqNFf4`L>?F6l|OdH2RSpQXoF9Mz`hLr!&Szi{Tz z<@Hxm)sY@mHBo3Kqn2mZ>-l8X>-l8X>;2oTcjixG&pg%p{B{u6$k}9w38kN~+{u zC!vr%%v6xI+h?oN!|c;_Ca?9ZlWCr08b>TObSkoq4cD7|U`lVlqkiwQ|DqD;r|cur zW~G!W)TQKMMB4SnZ!fjJ%(v{EoeV-1?}Hi>+Ijgh)M7uXGkL6Prv`CmWp0%~yS;)R zjArd6l4-v9qB96)v}G8q-YDx7!cydVi5HJPRjKHHJ3xp7rDNbX+pC<73NUFj zdDWh#(DDK_Up+i=eL15vmQmUsA75llI4A?vTGeK55ok9HwBpw^9{U5Gu=lD`*bug< zkL4a)Y!DeoHE-54niRkPPbA`7ygjwfwCvvy(DZ?ar+Ft#c*X${Lm0>Yv7`MWy;;K0 z&wJe6yK@$-v;K{S_0Zn5bG#7rGWR?@VAV&$z8d%amA}mJ=b7Qk|8tHXeI}30I_0J> z$72(Xsr?6}!ldqu{$4Wmcn~U`zFf+7zlzA{MnPrjcj^xj#N$rt$1OmnA=1}YmJ*Ib)NB5*VRu^>K z4meXd-7;dN7~&)n0(b$cfzjB<4d?O zk|)GR@)pbrk3z(YwjAp{uoD z!#dh$?;|41zxU|NBAq9T2VrT+L0t-6Mx(HTMEEih*XW3#dbd8evW9PvVi)UV21bE? zt^-Uz9Zf?jy04CI5KdLCIx0$!rP25%sYGO<(o1+b9e1F5TIZ;=`|A(prm9ywl+yPG zd4$LQUM9^cC9GgB#Epw}M7E)ubwqj^L>{##5#y|boH=l%&X)nXL0E6Qgg;HP$g|jX z=mE^-bT+*%BT^pgDu|wKteNg@*c!!e*&&>7zRvuxOD2oB5dPBYSFx2xtLooUPVlj# znm&-MycZx@e=S)*x?V0wIp^Pst>nvTG0jhWYI_y<{lEMxQpX>uL-p&k+EZDtk*wd8 z=7xV>dzsgn>E}epqngmG`tw8PtI(;$pm9;&THt-s%rjUS_(_~!dBS@4Jd*2QZ8k5Q zIIJD?Gfgw>!+s@S)eK_mtrn7uJLMI2qo9&61oQ=Rz8%Bh;!Rw9aV+=vyZ_9mC-p1n zxV~5Ppi@p|>QR(B#upm}K`B_Q3l=NGZ-;--cOoX}@;rk`VR!2U=y5ME$g5~62PQj%;IxL>*b^hTx z{{^bU(!JZsyg+59icI%B(q9dx*B+Pw^Wc2dz0X8f7E2DwS&-RE5s+s`PAvU3NRR4D zFG+Wy6sQ&h)k1+P1H^rjU*YO@o&TS~6C&XK3(uc6bkte+F^$? zv*8Avvsbz!_#1Ubl8?#Ydr~f?v1es4R-y}j>gZ-rFI}eQOh08xW|r^YP~GWa*@38w z<}OjgQffC!KPqLsp4SPVGAx2!pj!xZW8|_NSkBbUr%=gEtI~tgOsJGl2GlrRqZ~CXBVm|Bc$V5e%Wa!mj1d6-<+ec>JUHsOBrClt`i*UF93RFr{`k~=<^Bs z#)H0~O!vu5_enC{X9MYs45apB8RC3_uI=->4tyCVr;os==K8y{bK#>2y}yABO`PAv zOj_q`);UjHK$)CB%23dUd(>$Uk{wblo4a+wKQUzzf+q!FNSFDPo~2u+W6qM2wcxR) zUm;>c#U&P5<8+|NK3zI8Po~L{S*pwb7z#l+n4ck-pAY8efq8C29=V+QGqb}XuDQHP zhSZkI990KCnJbFU_n0|E`s`&G_2_;4Mh)2MYUh!eFqik&- zAvfDYWDA<9SGo_FLtl@`k&Zj8Oh1^2=dJhcxLDQClYq>yYdA@h@v`S*(VE7XJR z7o*KgpO->$yo*1-o7Q=E(z4DG2>iyKeM06YP7Lxn0f2*E`I^SEnp7-bH-f|&a> z@Xqte*ViV2*h%uWWF9;DJo#F&kQKR5zE-cK38P@8{7Cr0CKbM4ekA>bt@+0A2x2y2u^5c)KDC$>#Aujmkn)TDSnKWsh_T+0$~;S4`@p5jRhz z%L}Kf8I?Lj%|O!joaawUV3bG$YAGI8au0JZniP3PQbjZ*P7 zm9|Jh>zb@fba;|2?>kiNwBMKLPn&<7rR7cRziA7t*n6c+!XdFeKBHlV=u+c%FJu|0 z<@~Iu{q+i3s3WA)DnfZ-R&jUF&=HcPBNpf)Gjx$h(nYEl=;TQ{zr^btU6~w{bi}%J zgmML~<91}?Bvr@l&csQo#F>o}2cCzlG#Y-uXE6TkWBkyhF4C+6WPFS-9Vb&$!_=IK zlX;=z)Wj9yb~pYY8YNz;&o>&2G;&n4;ym(hpLz~tACBvXSjX;FM8?OY#KA<49Cdw0 zkMKQdOkJf!9E>i;pyt?5M24CMB;@@^a{Dq<8F^F_D4DtTXZ^ zSaREXGb<0u$ji66nFrG|q9?5fiW{pw5~pkW9Sp?iO8QiOD-;X&5gF-|D6cZY#BYKE z*#|@{O=OQz@7_&TiB)p(`DF8^UdxS|L=;j7ojyj=(}61p6sMlZ&3r*_`rw?Bk!>0L zD8aaZasoYs@Q%9h1UcF62GQZBI&#~1KDUkkls1&XU2c|t$<2azKHGtN2^2dWFdDzE z=8DKP9095bvdK|yYiqL%Vz}3-Q_`I`8iju5)XcqJ9g(g5bRAJ@H!$0Bz%v>@QV|(U zV)LaV(s(u+U(*rU%35_q7SuoLi1G~VKi3hgb*D38?*W9tOoY6TL&T&^#MgBMbTZw4 z9WgHxF;Pb>$V6PNBbH_&E>#iA-Yye&rjBc3-eux?>$pdVvqdbOnGawli`8AE_>FgfY?i%q+l=_MI{A+kP5Pji60Uviivw(RKlko4Xhvy98_lDxB#$T5!&Qv7Aaca(v(CI|5e-oD-q;8I3(!9M;ePkwB<#_{Yza_7Kh^3f;KXfsbLut(Qee)vav$6)Vqv5@T1-l%!RmC z*EYj`j)P9_EN(c56nppy)iz2jt!MDkAUZ3%FR{-4BKm_2@dH1a-eHBg998iw=+9Q)>15u@Lj| z<(>Y1-e~_|d}dMS7+-$mLPdH~1DJZ?RTlF5o`*I!5Q@87jJ5bZl1KaokYKD`j)$dzCC`EH?o@xLzX9`jUDa!m{&iK8 zCm4-y(aAu3sXKPOJJK(J8=yw<5o)aE)nr~fmb#)Z^D-4R%By6-gnxnTZAIXzcK$2l zy8@$@k2VsIO1z&AM1LNL zFLRS{F!e;Xy%X&xRo2LDA>;YhU~+fwV6Rm|7h;vJ=+yWmH!t%{h)*iQ;|7kSjQf-; z*ZA**N|^1&^X{?!s@CY)!FV;OSm+9x(LBF7r4fD|3^l&X%<6%X$YSthtereb>9A90 zsc{}vQ)YpM&3nsSDFQDq|NO1Mw$ z=&E}8uA#yC?ZM>U{BUC68P&#GS6y{g%i`A(3%i{RckfchG!3drzp>VzUxz{D`vLQf zYGX~C-&oVd?>7Ic-Fe-3VA?BxiG0CWb1+cW!o%Xt$)g}@)yLQTWXZJKw*H7}TwBVH z5_9yiJY%(l6XX6$@S~sP8P|3s!e88Vq0|wa-(kKSylv|Z{_wAp$IlBU-z|1+NgnM} zcF5d*`_>zi`#gz2pP^+PuD10A%RX{#aUG(TuAk(cxmi^Z+w<30^5(KFJa=xs7QAiq z;a^-jGTBWu)z})U?d)mjxQ#bP`P}UkdevMJv;c9msT%QFtLkD)VL>P}g?vJP7H_4^0RhLeWAP}{i8k?YK(7_cTz*>`hU zo~Ao>RfVe}vsmq}V63Ze^q^EaTvwW$Po=W|$Z&n(sfVdq>b-wJ>dEZ-QVp(a+0flh z{CDe`T6^WKyN2?!)AmV^wD#(pZLAHf%9q0H*Zu4#JZabKNIHGp&k3hK$n3xCo{;cg zv*E20emN5s`dqha|2_BkRvzz++*JPse!pilFxB(;dN_KgbU7TZ-j4@VTcQ+sD^M{~o&{H>wmEuZjg&2*# zH*#?nUutTDUum{THyZ+P_6D`ZuznMRzCr2WBgR_yz3bO~L#kf4T>fhOOMiR~ol!{7 ziUGm-E$Mc}v<>nbIWKnfc=Spo`&dQw)&o8^6E#{J#DGj~JhvNb`i^!*M)ERf!(C)* zw^%f(zo>CHJ5&!IJ1du$wFWO!ob1zeP3XH_>%_s}%A>Bx6K2P%J#1n4KFg2%Xywt< z*5Lyw?`hfLf?TdleX|aId)7pazI~B;tu_umn5&6VM^n6S(#qGrPCIipYYO!W_4$C6=6}Nq1b3HXg zibHX{9t!>DL$U_VUcymi>O*oy{bec}xm32qBm`=lT9>+YAC$%m^x%BU z%n!y9P`?{YtZ>6?2F+2{6Z9~MA)w1j7dx?k!T1^R{9s}nz!>b{k;$0}(b^|Z_Wg^g zS%&-0YN<-q&v0KS6}v9cW01x_ru=UB1-xdT;UwsF)Y``-tXva!h0o&O^`4N~W*+2g zoVVkH*lt&yQMx|1kDtQkM7TWPk3ii+T#H0Vpol;+9Vq27&LsDQ~YP0aiBT4sm8~wK*ZSBD5ybXSyRlv^7U#xna7lPSUsy}y|EfJu`0mW zZ!X4k#8ep53na6@e5~ckza}p-+g>97K$}3dNJ7(EJU(WZiyRd5JzvnA6v7}R;k3(DxvAVFJ)pwKArcJ^{bO6d2PQvQrD-{dQoP8^c%@yF+t-Dssm z(MQ24FYOm@R?U0wB*>Y9pmKP)Z_eBoY+P zc$vsH1%)eeE(rpKw}wB3TgkD794$^`0*cBZpw#fEa3?ulAjkR~a5Vi8c!K6fYy$m0 zj4YF5%H8Uc+0Q{QnQJ^u&ars4?#uAV%=OlInW|%X$}C@E2mqnv;ZMP}{PETlO9uWF zT+1IIlvMr{T+1JCO}V7vPScOx@1!O)R_=?9l0*Ew0EAn&(Y8To{xttBF=i zs9Zwj%c`PZitWu;_=}8?cm{cRb>*_5(eo;rCG3;1F9+ll9Tq;1fmXt-EWX))QL_NU zVPH@LsQYhx^S8_aqwxtn6Yykb3`f!U%`GZ+gA*%w9OGFwBRWl*6+BiKEjvv?79BuS zMe4dJ^7q4PsjiTzJ*LQdM}@xjYDKe#ad^A-&)}5EV$^zuoQI79ME;aSSNEg}dr|lp z!`qhSNA6cW(#_C6Yv+ob{5+fcf(obeb3ePBT@5K63r6r^J=r6FvGr(={694s2J8Gk z)cIw-07#AJu(4v$E5&_4D8W-sxu{QGoiT;&VtAWz?@EmvnMgWn(buI6*l~h4OAv%Q z!O6^+&X#_Wb0wMqccMp2kP&x+mu80i0!gTpdFdpbCK0}Dgz;UbWrn{Z@eKZrWvoWD zEa}bKnPP$QBma)KUwB5wqS5j#}mSoxgh)urgqhzZ3yGtiG1TdwmsD>-L< zsk&>tY93JG8A9p!2gHS2je-em1=FC&V@uV3MTS27n}{7WmA2Ja5||*sO&8!g>Pz{Y zCX{Bb0P}{B$q_Z)`T~9?7T5PzrKXn~56k{8<72En6_amp8Zx`gm(5q$;P<=O+!Lc$ znA>GhejtI7)9?y#1fiS^mf!IDq{X1%s7>{Xu*3>dg3_WBTclzI6F!Xbb8hO6**q(eRvvfRInay0Os_;o>pN7fzG*T3V4J_XV zKF|%)-<UL*r#|uto--sw&M#NZ+#svK${&Ik=Whz#xzB+6_dG`yZ**%$ZB+XAq*qNdh4aUT7Wg_@t)ntTz`e5D;UFF5X)$INU|jsxSR~X%E`c) z$%@qHBsS$FmP+C*5;5iD*l@sFoRf&>Z!2+57YD|-9AJ}w_j;52YQgI=?~E< z{_UmMa@ec`{4N$IYIY?s{h~S3U7{wJX5n5ZidpL#AhpHKOm_VV{ch`Oc)|(76HbRGoF+WsTzJA89iDKkPoD?YiD1Upxych9Y<6`VfKy|?NCYbL zUCqHqkOJrD@Ox@KO~trGbpJ21pk8&jw*@`c)C{)#Ds>GsaCNQNWNHeeN5t74=oG%LBFv^CM==j1njj}lf_kY1^wHrz+s`2gan=W5-XOzLEn_iW#^R0o%lMnr`6=8&VIsCIxm2RU zx=(^-4VEo8@R5HzMO1swsv@P^QZMDKm*FqKwX&SELwnx>wW3P@%+cs|r*hzX!9F(& zA7Ls{3>3eEu$t|8JXIh8w&YSLPhqr^3bZ17b8bEKpp@3zmK2hk0T;0bZG8b4*f;oY zQ`Z!&?<|p-3-BB-NBr5iZ!Q_Mp-y(SYJN-6%bzg}Y3+Z!FDDvNKuwUbQ4d8J4cGE* ztgZ1>Z1tNP{bp;2#X|GLiTPvixXjjoc|@-5-nE@p&FZ`{iNHnq+`BOvuBTkA3wl~0 zm0`|_%ES|AY`i|Et+&|h;9RxG1z!iW7XLos-mimqS&E;aYHj%cUNtXwn%-=K(UK|+xaI$ zjR4>VpqUDM?>k&jC)!gxH_>(|v+EyWsyoAoHRgvQC z@6hWsU(f@Qc|CA=kgm$SXa@*>2XzW+H0nxU)<9Jkfu1El)2KmSRk}BW8oK7}FAhH1 zrIQLD(rb-{9d!CHRR3rGy+9x7XKj%^i5Uj$3@YBKCgaSGuP9x=n}5+tTYUB?{yw92 zog7^Co>&s)klu!pbwogY#TxK8kj#*Yd!%~?`&M=v#(gglfmHg*a9JMmWFBWZoHatx z;~0$V8gdBCP;P>TOSkMS$Z!w_)9rB5F|(0tVtR=kf!-LFLG;lwQ^3+qs)E=(0=SDZ598+B)q z5fi%_tPDKDFL9UCy7yA6JJ#ij{sjQ>`%x|R9w(3Wjeobg{m=4+AyjATIo(ewDe%%< zaMKAO$13wb3uAoz|ed$IGU2J3is1Zi2NI<|4%ae#6 zx1Ri|PD?~F06S#;ixXr=H9xQ(BqSPEki17(rFB}VO~PHWu@>_;Trv-swiv5xnVW>? z2(W+*-~|t*L6)_YGFHpnA-X|L`{04*h>LT z<)?dsU!kkgj}1%Q{1t5fGL8QA_DZ%FYyLu62#SB63=XK${Mb6aSopVD&Ey~BAr^Ve zs5`Pz!l57x+L4n>@z2H9AacQHr^^;Uo*%s&UbAODN#P__vFiI!IyeW^;h^i*#6jil1*ft9ISH43qvc1(-}4NX2wJTcF?lZ z`!KFEISI_%(%F}Tf%tJeq&huo^Qz+oyjO%PE++e`<70Sw40}rTz0WJ(H;}i^SOM){ zvBl5T_0}Wp{)&!%+lRIX%vX+V_aEs9nJr;+Ge#33^I)js-B5=W?67Nxc7!Y1gB|Y% z`+XFyXblbR3RWBqReTsmzl4dMxjlrIEo5#DnJ)yBALNIIwuLITh0T{jLk|VfZv}_G z%o(n>qNUc{5gcj?+;U;A^9r5O-&Xeh?b^ zMz{ji-NxDqVzvY;wljBYE0Q6zIh1_Y13;e8&@Ex}h49c8IuNd)H(Npi^R`ejMH(I0 z5rTqCfPa7+9J-^HT8I9nmJ=%Ysj!0;2Y~^EgezJ?=4OxyBwp(GhKIgfJ9Jwu6%XAS zda4_P0Qm<*l5<@*76S5ru;RlY6+L&E^Is4^!Ft6OO0Ze=JIbe6Uv|(EsQL)zz#Ht> z&aecZH=O^%Ljhn577(6bzb$k|u$$cD4)z1d9|aSI2^M!ANkIlDG4M2rH(SUq6@`aV zs{|<9qRL`Qv755(LB>2$*r?04sIqR#wg;bn!uc=A@ntCCsm_1Fp&h|~Z9@1;+1(12 z&nly_ScqY4L!~39l@-T7gmnkrW_F+RK%vZT@1O|3#J$ffXHCs~f$7hTp8+M9wVTPi zn_o8W74O!HKoA>rwk4TPy%6{)p`+b-g*Ig8k8gdF6$u2LE3=d zI3UEdcb8sSB3|&Ga##gsBx&fNB&G<{Am20DJ!nHxx`;Vy|6b|V)AF%Qf1G+}_I^xN zV)zvZ<5J1(9#*`uyLsl1b(WV39tKOXg2 z>Hgl5o_g%F(!Y&pg8GMlX8Ns?{^W?yN-yBPUX#7^1MdrH!0dq1oEPaahDSASOe z*ZW9%>b8^8?M?^`KrQO4i?zNbex-TqZl{_N=|m3Pt$eyGyrdjF@+r*A9#o&E4h z>Hg`gm}dX9ka=90Dkxpfs`qvPPJBcleo@Z;)ledANJX#OPxlN(cklEJgV*&ECqd@WGF}BLk6^H59Vx zVbLbf!S}7`G+T~rrDiH^4JJnZT`Eaud_mEp)}mn9u~6CH!d35xF9~Dpt3lUa!>%LN zoWuLO<@{)@9qY#M&uujHr$E>|Vzrcs3I7ojO_8-EUx>;sz6-4qg?~XDLPU zNE{~K>dGk;G$SQNmhT#sv$5H4ZVDze+m5}v@lc?I1FaCNbIGCG@L1>nR^{d-Yn{QT zSlOBD8#hO;T6tGV-@M2b%F-?ve@J0Ghu}Ug9bC0RMkjlY;4r7@6`pS%YOY2N>&8{e z#j2{Pr-8G=Ve*3wqv3qY%TcfKOzC*lJBuF9p7WZT;034k!6E zV(>!;O06H2raLguy3UnGOrh0Cd>Tnr#0zrFP10WD4iO%#p&DxA)fPgu9*>lGjfYyQ zBB>Y4A_!DU82$|bA~GqiA5k2grScKk|^ ze}IW}F1<>suqXTE`R7zLi|00b1j{9- z_cG7Y@=ta5=@aF5O*Geo1Pm)$AmVEciX*?KRiJ!0p&Ok*qmsp+ZS@0bweyK|tM)U@ zzAX7`(jukwHLE}z2R>`AvG)C5Dax<)KPRMvF3BCWaDwPe)8-1rjM3KrP-?NWokqn7+%rt(_zvK@{~JNq zU#xF@u)o{(lUwH7e;v+z4d>$S{R%lJ!+9!mz@FTr{>d5-+G0bCCq<-)e6r*HMB#O5 zDWyLVsLrcuiJS^LmOrl0F_31`6H8!qI*&k3cRt=<`Yyhhg7I-)f2>s_pcdtTcYI>x z@K9_I_qN^*#!*lk;WCa1`+9{ypNBhG@qnu8ZcrwYWI zAiichN1gZ*uNpFtA=6=wH$OOkXL`__mka{z`_#Xw4=aKt!DMeiy1Q2p7)X3IKc9*3 zPrlPjmcV3j)Yfn+Fu;VU@ty2J=7(6z9gG*Yi0NwlG;``FWUOjmv`5s*r*5jIT6mes zETr2!QvL#<6JgeAO<~tDnfEf^jo3h<^@NdyH1eSN8bEX$fLHK{MrZW&o@O|kFyl;I zb-}^jA}@pk@K{$LlS#u@Abxe&?5Z_>a|{ads30M1VkdRLdNZ{jEw|Me5Q4T?q%Qq` zk(RpTNof{a4|i_PIEX&zsvjQcooBuANp@n|i`7VhKebZq>o{!mAh_8pCL)sv2IAKQ zG4SuP@1Qp4f&s$KFAIy67&NQ0EH8lJLyl;Z^H|VCiuHUkXtXvX4U?Mzo=rYv5F#OM z4cxzUaCQ79cW{$LAibM`JI{GV)hK=&uas&x`DAtHJu81V`G&|hdtXV=EX~ZbKuKke z(DV;N9Ag`TInUXd82 zD)hcp8~+-#j1?;T1-zBF*7c6^{=AK)6YTZXlJXGRqj1$*au18sjf`0!eg`W8SU<3C z;LHwN_!L1a=~JT9V~E16Kk_ZxPvWZCKa;++vb|Q&7no@4Kh_{Y)#@=H*Qo#|T=tTE zObHqCs?ASorE9=gIxhVz2*(Ei_gZsjTiw?t20kl5RGTY?_!)-U#4V?=f}(ABA1-i?kZgoNg}Su?Y5BA5W7}LUmisilrLXLVImu^lM>m{ClI#(w|Z( zS+?2!Ddf|7l(m#Yf}AJcvs}+s`T~_1Inq&~WG?aQ@sWKXOZ{Q>S%OgbN8+c+BE*g8 zM#Uy*AvW}Yt%1>3bOlPgAAVo)GrJj6mvs;8PBAm{ixwdv!YTqwb={77aAUdJ)_k3< zuIQI_6`hfvtJd{q70%Cx?#|yV^eDsxbTn+qE z{4_Zgz-VU9d+~|5sHss5(obZ;3xoKGe8jc!9L1uWbM)D$3zSNa+Uy+O6nS+p&Ydwl zvp0x=W;ii=TR3sysQ{z#g$4e~r2^^`q#A1`4GzsOd?@VNtK4X_|8T2KHddLc!T16y zg2KxAJ)8)?%Ad>K)TH<8>O85a{#K`whr_NzsuGP4ryfyQgsBIA^+vp4g2!Ke4bK~<0A$s1IaLX|2QJ|&yXaIb;*0uVOIBQ)!DkYhCd5Nu@+ z4C0hFT=lWhIDomMm7mXQxRr8kGvU%r}jN(FA!ykyxaO&R~c~i!W z>*e{3N_11|C8yNY zaTxt{*!9}g-TT%2itG9m>TzmbEA!!J)W`M(56Gd`*;hhwE(K%9ponV_Uj~pMcZntU zgQbXEzz)aRpdpda-9Z~GfFp7F3Vvk8^Ed!yL)_sES5as5cd2XB`<3>j9_b&iluhU^ z>Jds(D=#z!3D_I>qt=tgXaBfpG8?t4c_A;c77W2!j7GUnp4!0t7wj30a`D=ptIDpV zJJ4jb;A$M3BR>{A{~(={%aYxxczQhIL9#7neMBA;<8)ZDzA_qS>f1__tT? zX-_X$;x>0@i`xh!p`n{S7&98x>a#eux0uiMO-e8PEdaoD=kMx*ggo_dlPIfhx(Uh$ znG_Kf(x_Uo12JYLF$PeYQscBFvT;I1SXcU8;bCxvw==WDYowtGa5{a|A^o~*yu4D-4rAFXb6 zi+l;msBTgAvs#{<54Wx5$r6@;%vY&T!X4DF0`t*m6HuWv1K8#w>8Cmnur4kz)=cfY zt{8{~zCk_VOSsi`8ovP|a{%Re?>tm_!Ls#Mv;=l7!K)!+RkP9Bj!+r)2H{A+ES0-+ ziKT9AEE=TNkEdy)Rg>E_31ljU~};vA^QWhZy@6uOxeHd%M{lvZo`SY}^ROU$|3 z@LjR6Tr<9J#n#T`K%?%sMK9Do(hw7^k zL(2VpnQa|*IB`2lAGF6ZSbMl@y(^H2c=D?gb@{dP-wq|;?lnFUxDeHqSaq?2RbGq* z@+6v2LA6(+iqjcHl`EmSDtoat1!i3n17?RDYvm+*krYs7)8=d_)UA|J{)6Mz>_sdX#Xloh>hS{DYxsmk{pUjhy zk+-E)N1Y}e$#$@ynodBYtnb2LpVR>{6dqHoAjR@Vh*_xsdq2^E^-wAmRjFLTIQxOd zzqlTWEiYswzRZ_YQUt~wEIN&=cAdrt)3~CL8G7o9sJ2U=?hP)}ZDSeR&`(zw*p_Wx z9N?$vMIb(Zpg;BrBQK7a^vEyvsP5;C{9Q8gce-llzaK)*Fh1cPp2n}v>J0pFLe9W5 z-g;)Jf#*+p;Ag|L=Rp01@rfzJ^;GfyN#+6N7%vc~P)RuzDwnQ^w-G;lYiRz4P@=GP zOv3$z^tiiQl~Bf6A5+4KFMIR`#J=--;XhA^Laq&dAwKZR=lZ$S&x1#iA#Ci87t8*B z)yoenp;Y~Q`@3gXGz+(kIU)8a9!2Ct;v=Ao4J46z-pITz&=EyyqAL{1tSDd#qc@N= z_XdeAnyt1phY8Q_7wUGbx^L zhJ2gE;`}@3N@y3!GqiXS3@7Hn+I2_f2y$yY*7iwav?2>h z!d`3eI2|6S!bR2^CtY1NsVTNPk)uogLiAvL#TZ@Qn+hjxEfN9WM|@*1GgTSV@3OA6 zVc`-Z-NCXCLREj)cI&n9Jct>uNbbw0ulT9pK||}h7!-Q#@FKzurVd#O1eLsA%6e-ViyiwR}G_VghKiI+$OI z9~2J%8ev)=_wcT#mQusJUKC8INAgzEJ+$6tGHpkkm{Nd{duz}f{J1;%hCXM=;p6X8 zM`~jZHF4;9n!o!y7y0_Ytf~V^Yiyr7fGGcY{%3_xuH*60v&8cGDcMQ1t|f6-pL`@B zRj)+n#rAT~{!OEyi$ozo3z;C8z)odn^xhyFZk;iU8-}x9Fa~SOZjbdohHY}*`!}iG z@ZMVLe^$;SWZK|2PRHb5OjIIlAe(JES*N<9MGu@wv~2BAhtt9srgO)OJO#dr;h-+ zsPY?)m-Ka4n4 zZGGq3#Q#X&`Pf@pbMpU;zH{#bikG^?Y4l`0qGBMR+y7I2r`hp8(s!Pw;f(Fgs+D@` zW&hXcJL7SMjv+Mj|LZ%2%lrSTzVoteS$*e(-7;w+pQG=5?`5U${N5Kb`p&bynHG+F zrS#|NJD=E!zVlrXGq6l#0sYtYonQKNedlo`+50)q_{~=WXv!0(ynPN&aEZ!u6}L>T z?%ti=-*WVx9eziJ#S4XAtc(NqFZ@iU=c}Ku^vnvJguBVrd(LA!11G_-$wS#0sdY~N zjQ&vcbyufB5`CS3Wy)1`(SeG-^JGn(BkhH=Qz}roKjNrB3$K#Sk)Xu8X+5a#bM>G; zHr-tPCps_(HCbissZt+frDX*Md*BW-de9aOS+f|muTmU}16MH_ ztySs99HePw?$>)Na~Gn_g@cNMmCsY={t>yoI&V~LwKm_bJAsfMOe=vq`qtxC0c;bN za2$WWzdF4H6K{&Xwb_p5ls9{pmsiYk=N|`ul(M3ajlK0TW_i5?3Gj(ZXNi9e6k*aZ ztrHz!7>YtBvVK&R<+bLfYIB~bYef}-f|jeNsgVlq+W4IwDFEMUtUcUAGh5bEGkZ&k zCo=N{-Ru$3%_gz`g^m0pHvz-u=n`w_1zG*d5w*!6d@VdVUb zg0_{_dDNO!CBuqw2`nXeFA@bU_EFoy7*~3t&&x0X@aq`riH=s@UbBv{u$=SqXX$4P z&-~x3pOyX5(a~nP>;wu~)UiroJ1woS{jL}S(e=;Q&lV2V8<5h^em|C(|F1I#PS(%< zlEY$yjA!0S`q@!Mxo75ej`7!;Qx=(&&Kw8BLl@w0;OAWZ|{C5y`L!hP(yT{crV7#t)?Z`=0kw7 zQr5Se@Bcgc(PWo9qu&&9fCOayNPQCiAL&a+0$7f|RLPqwb}Di811|}|I)KdPd+V`! zwf^))b+Rup)>QXR>rw~hP|QGnzGFe}+7=I-gQ!nwku&s7!~5UTr@D}j{*(Gt zF=cpKBzkD*3vy-^8hR0MVnc)ScPbQcmvwlHfH&F0WyZu9Z{y}5u5O*lruG%)o!GUe z*ImYs0Bv8Q6hK&0AZI;;yC+{p^!2fING`^~)c89$xT9We6T4pCW7T{v`sQ8MxpL9L z`{`B|l=DQq#w;H`T&hd8F~u`YN~=hcvb^wlGnNrpFu-F~03bjxbXMnPnZ3Ijn|;RjHljhaE*z1bz93M9h9K}WmgTFWTdQd9 zY(c9nFAZT^c8Ld-CA#eq1eNl#VUV0vW1pbij_Wwo+sCLjcDEaijoj^t-8~Q`r_GnB z_)#wM9F@5%ZA2aM=Bl>GWmMZJTa<2Fl)!WIBwkcVTE|(fb(|6uC8zvB$tl5NYw8jP z$FGcCa`f9+Flzm_D3MW*N?y@(N-(Y9mN=#19+}Z_qcnIG#iBP~__#+nDQqO<6t9%{ zOv64g{rrJpY0E4z-&Kdl$1OU9y% zl3R5`^qDc@mHu6Mbgizm6BDV0!4K>!RM?i~amvGW7N6wmU=I z4Pb;W&tg~Mgg*x07CHqiKD6DneU+~%fm>Z4R!;i3Z|vzzin^Oj zMT#y;1`degg6}lkw-{^0iI=-wNB6gzWe@x z9J$eRc@ORX$NKKL(_&iRoeHQH|DnEHxDQcs!$Nt3XTprU)rGC3SG@ud@mN!C0yY<3 zf)7~#fdW&Orla}J?zU&OLu`Y!s`|oEDmh&UeIUwfyAtW&zzf4rtw=ym`y|aG7b}i~}p-?#Ev-acHSi)`< zF0$@((q%z-#}-?gNJr_5N3eowZlgxOB5Lx}6s?}>^*@iu4u!eV_&C2f^l}Ud4(;p4 z^WFQA{uqCS%ial@cZgsQgUj7Hg1x4?q}5wM_p)5oy&ZMCAd52vK`C0|BJ0C)4W-hS zk469OK>bN7k? zpxa$CF7ef8^Q;v#8H~G2=(xs}&w8dzqR{dx1d6$)?SVL@_e%}0|9Ry}?ivSTWp)6> z_fS^w7)(s%#bC@2?2T!7n8{YtL1lc}SWSHrKG+wzOeKLFjxD<%JCciF;&vwC=jyL- zk!8a^-D<74)A`(BeV5P9F@3!#uq`+i5B!Q%jh4G}BiihT)kq$2wAmkubm?c9L5Ss> zXiM)SIdK22gB^YLE|lAM7m7lAIFCrmat_HlNFrN69(AcGw6$y|M~!_Gb76radB~`- z85gC;K45M9c)wH>#bkfKwc}>=*U!MRlOCXA3)?a#l|4)Fl(^jXD0=qPGfIE`OdHyu zxujSHmpJIofAMiIp|NKdpftEQ?l@&((e1k7P#{kECQKF^sv~ zCxP!u+|8Z8DEw!&C-om$+9c^h@8dPYM%9!r4kRXt%eCHRFZ9kcClA9-Ny7cA^f_48 zF0TP3+%3WQpvmpMF^y*09AFtu!uz7|^SJgX&+TZ9NX^6&%00 zi|1ufk=*7@jCbXnhd5=6bXlA|_EPd!<2OmD`k=g!OZ@2Rji#1P3{NgAh#ExQ%9At3 z@LN6j@*9mCW={LV+ZTON@?x#w1TWwV&uhaw7M&?%HJf6@?geBuFGb|bp?IHjJZowGg%@|q{vO*W<_|bwi|y!U0?XnQUv=Cd za{60szUPl^gtgp+E7l|2e-4=M8)H+J+-m2#x4-JW#Y+R`{&;XCFw1>xete!d&%Gzy z$7B$zxj0$*GrY-uTjT*vk%{gQ_`Vz7i8Z`vs?Iw@_X#1ur6XZaZ<; zgNo7?#A`>P@XeL}sOokk0rcfx3NmgM?>OwU| z3f*dow5?%^JhGmdD|q8sCZjQ*9#w3W$52D@2{^KnMQj!(L-A>>$ssM)GS19cB>7`w zi+IDP$5m)Kt6zdZT@9NIQLVW3KBsF#Z{Z^cRc`6ckmHb=&fz0_B)!?gzc&7DfQ?Va z+$An_Kg{Vodn8b>(aJ!`vBDN}FBv!TCh?#+JiWhiRyP_vavBte>4Q$83CB46RdJgo zCue@f!PC#d)CYf|_rAekNG%dWlDteXqTRT6J<;)+k=P-I%$I1kv4se^=^DSMoa`UU zomH~mjb&5%F0S0hLeU`CA<-}l+@6^3;!`R;lYiGqn|L5{w-PAk-vSxF4a#{UDeG}q zC;-fCCH4prhe6oPgM1JnK6{3@8sGf2z@YdjfP8bw&HR0}elUOEHCBt?3W|y&#&`LL zcfk>#ES{&HUr94m+)qHaG%kMETj-X!n}r0W(-Myp90_;Ijj+I|`6CzY!gqTHpVGpT zMf`n>wW2Y_*p$A-za6Q6QT{l0Ey8#Eh?f>Uq#Pu77~g4jHK!hM<})c<7LSv3N@o$FHkT7t7j1M$L`2;DZ4UFmq>YQNr+Z5ttnH!CgN>l^+nn8Nn>@9Dql_c zQ&qh10hD~xmX{UR5haiP5d1SiK3=u=@ZrD**E`YdM8(JJSx1zfMDD*thR3m$@3rI$ z(2I)AGSAFbx!c?e(<#^v^B`ow)xlT&{;`RGi+R5ZE5(nZ$$;6sp33A$_e1zGC7+aC zDaiF=0^ZDxXHRDr;gs%GzqD_=fLb6>>#1c`p|`T(5e7!7h08X@lB(RdAA&a`8T`CE5s-snDZe!QySD~|E#r03NR$Uc`ba$RrD z=KiC4%tUOG|B6kc?7I*f>GjrHVVtWgc7`A<8h@d9eh3~qzEE9LvT7MQziWNCYFqT3 zaf#7?5s(As4dvmoUA)lO%Suq89}-oxsah`8z_!3y%F}%j65tgH7h7F^1hbn|{u?sU z9&1lFdaSC3JD=qDilaw)-;;Z{b-ecsU7Qdfc2JHkH~QnXP{nGwK6SkeMQt!%E>gPc z_+V}kT*Dw1IP)wNpDOon<0D%ny@-8v$?3ub-_-?On_3Fmi(~F47h~&}!EKLKm%8NQ zef21ySY$F3MHGxRMm_pSTb7D~Sg6v{q1VQQHLsJcZBl~T9~~_<2A+A-1^2d5(X%vSEkNa>x_vnuOCkGyWUV? z?hd+Zal6wX+qgeo)VMS9UTyp)Pc6Jvz-$kjA40w{L3Yb555*%J`7?Thb&To6A>ntJ zEGQb;6#Li}8DE{4<)Y%$>D&jV2pJypGXmATdN_htB0sCL-|EUFwHy`8fXzxLz+yQh!Up)t+o| zS8NHG9e#5wUOZa-$(BBT6%i9LUE8nj-UrC^KM+5o*F+df zoxN90m%nTaZJAqKNmbWYn#R_-oo1T*&kYtE0XRAR$t@X( zT8;SvAUSM1cAg#>mKFn$$BGYzb?eu(Rz3Y(j`A-3NuQOZ+?XQ7^UT4@c3*%o}g_x{6 zk1R7JcA}?O4Vi2)?T**$fRp1x`wAjyM#s87R1|n|ylY5y*#{l7h%)4rT5Pi$Yk6{Oogp)ExR(t5TN`!~d?|Dpez>i^SPjlYq( z^`Di6{{&b?ANXnbkoSt_qHyFVpMUZikQ_ed;CFN;Cn4{teB*o6d%YxVBa(o;lBQVp zr1Aac3h`RsW_-V;tcN*)+J7krzSa9jbNWzDYM)6{GkK*!+=yPMm}9-4D*jT-Z(x&O zLi}+!$g{ELF5#E0;pkE_Z!d@<@f;%jRU44Tvq5`ia|KNqfeN#otxv=6<=MFr$wh++ z>G!e-wlC@H@a1Zb4dAbS<*VKzo50CDkYbB@QHe=drj9h%dg!oIjvUu(hZAIIU-CLa zot3f$pD-VIPiA;udGCzh{ACwMODQLldw7j!*^ua2Qtj|-J^F2~N1NrMdA6RD#tV7e zdHfq5G`pxqrgHw_fU%CjJLejSh`mt8Osj-ZBhj} zYcj6<^Y$K#W{v_Z*J=P*lE1!*TmnD~@Xe%}LT4Jx$27QW5z zJM`#9UKiYq?CVD91Bh4e^C9UG7ukbk&c1FGaHO8Yc+HV#0Aymx1al^roY%;7itj1G zkE$Jq|1)re-;X+&#e>K{NAM`mXq`ASv&^K_qvmHu-zNT-WAFKT+y%owly!wT@-q%> zg~7W>BqzBR%TqKr=@Tr-L7b6>j}S|RVkIo(UKX#q6!5Hc^V!Pvd0~l6E#tn;i~`*l z^b@+FuX_S4XqK!OZrv|Zl|lp}(FetYr@9VG+7$e3b}dx(+)`3Zmamq`+^dzEs@bRH zqAA)G`u-yS5WW@Mg7={{e^Av8Q29yp5=oL$?TKS?o!R;p*-)lR%R@@|Lu1hi0J~$! z0`iFea_Gm6ryNu?aAt@7q2d}>(hq5Vs)m7_XmRIAwKLHMs&S)N*KM_1$WCqRm-MHm zHuAiX`YnUn`!VWEy{Gvv!sj$e_(AKs({tqaA@gO&gCk@F71I_d31V2eJIY|>xRETC zqdxLvYby#49P?;95(tivm#euRm!UTxAOLQjAfHHAfsA1N6=5+*J%Uf8>(DRJEv%va zRd4F0{1B6Cc$f_(E3W~0ceI>HGzvSn}RvZbETWnTPmN3IY; z3_vn?K}6SA-8>7A)yVQ@DD9tDKdp4@Z}#JpRA_R#A2{OS04lC&?;#;;N8kgyJqsYbx&)5K^8sYM@^;EmstF}ij z2)o(2RH=e_A{DAn;BZ_n;cfasY=Mjta#jy07Lx-Jy zvw?XRSFJ*>99z-j% z3kA6*7KG%!>dQo+_v5m|igO#ASDYp9ORJ4Fd$q#Zm#Q28zVt18^f~&s?@=&Ay>RDi zH4tI8;8<-1$IE-3@;AP=^bY~kR>#FazYhcbKI+#I`8l@wkspaO8d{7_5#OMl#=kbl zn)6ep(+(YJQ^(6}xZVCimX4@&VPtdD-_E8}Czr7QMe4M_NH#^k)AxBr9#9&Vr$&$h z_+!`L)&k=MWA*oiL_@Z{BJf@<{xJkwA9B-Gn$wG)$1wXC4R@%VLO!;AO6tU%dT_o& z%~wf`+!W>)uVjC&*hxUS_v2UWp0fHAnpYwX;g z#BA@^6}c9PMt?O0c+fd=1sEQ}4k;BCk#C53u&f;!YUE~lgL+!kcDTCO$LM=vANPtB zIpeG5V`&bVgsi5NABEJu7~&}xu(oxl5SnQIkL2cc$b`C6XjFhl$-h(2tYe1oVuwBt zOikSBp3K%T{}`qcG9@&n=kLItt{*vNFifX=J?{M0K*<>{>w|&J@>1ljAo;C3;(H*p}!dGC+Fr4b!@;a&WO6Q|TpRc`;!`4K`bk_VQgMrr!b zgyWg28LvU?wh1XP?v?lJ!t)X5m+l>FJU6BA^gzFk*dZ6LT$B@(s>3UA?-boc`l}Qa z)=Ua+S#+x|^e%a`<+|KRej)YqTahhd<1nzF|Nemr@~Xr4tdns?UY5Q}J`7SoXS;I! zGtkV@)XFT6MEH<>2gtQr2Cz@2`TuL^RK4e^^MG9lx%biseyuus;a&Wy8KK_bA?2K# zb;_XY_3tU)1VgD|>G7m~SQdG)c_zekMAwq5O?fJ6_qP50j>ZnUVzz5hDLjx6TQ&%J zfLY}`xa1<0ubn(9tL<96gJ(U_ACy|D)*kThNUh0+)AU05pHOOLR_)Z_d|PNoC8c{m z@vGi>Cvp_Lh9^n?N|I5KZ+*EL%ZB%j`^5=QaQ>@!`#0`Aop0hEd3;8?+&MHX4Kj zAz?te_ zz*6grzJ`P1K;CDp>1@~;eNJlVBNZS(J)wLj<)h8`F>{6SdRSyMj%7l~WGc;0rm4d5 zHmy~j%d!~%Vu10JBN(><}o^;VU8uIG^;-F^h+9rFDc;CXdr`JD;{B z-Rw#|lIBPKQ>6lV;1P>*&ikw0TSxzL)|7t3Nf>pGDzYl($r}l>kI8Sb{3(||KKY~4 zPI?ARHr@Y=yf=@JsyzGu6G${D@eD1&xS&)A4J}HjOF=;sNN}PP#R3`x)Yhf6bt_DO zic2(!IF9p_R_vm-wY9BXv{l=pR;yuO+#;x;h=3bs7!+I(D+<5&=ep0CnV@$0_V;?V zujlzAle66CUa$Mw@9P>(tx#W=4@}qoKEIR2VvD~A|Dkts9{L?_~Cyw0Tk}YMFr|v&lS;Ar#I{UFL}?i4b#8IZ^a+Dn?8xFzBlU%L$h+)PbA}Gr2j*| zRZZhT>f>Kz4TPi~YhQEKN%+%r&X*NqjwO03Fh3~P3<(T0CvLyMtZHZ1o<;`J5)EVf z9pbjLdJfS-00B3Rc48!>zR%>?fmz84Me=W^e)SlCR|hF z^iRJHd{{BX7p9O^D1~}7p_MuYFZp{ zWi0i@f+YnPK+01iV7)iNarr?3P67Rd;C2M438HPL0!=#HG^cSi4fHB z*vd^ifOye_exo;kQZ-Zo;EOwo(LccSTe8R1Oa?lKgZ)XwdTBuMidnYk!kBl}0{;~E z1m5jREe6=tAHpL(VB#op$&QB9zDfax)5hPZ`zih}rC_6(p&|{fS4WBxJv9DytrJHn z2d{B(&*E?l`MtzNSax2lMZkxAwEu}R;^_zjbm^dm)SeB=agl~p?-y&m0r*d9Iu)KY zCf0~G*Jg1K^k%W%Br^!O9CH=yp9tcGA%m-1P#haNk>ikaj5f<4Ce+>AgjKJ7oK|Re z^zHa9>-ceczog#6;b6(sBJLrljX}2gTWFTPG#B{?n}TDa3}b^zg-5+v$`-GF0>bLU z0Fa?85JSI^KmHG$r(Cv9Hu+<&<=_9l^OUF# zci^hyM{rd^F*qT!Cl>*~8p;ReRHpo>*R$cf(774VIXTI^$_wpgDw|#{Zy5rht$3+$ zGduV{Nrb>_)A4v0zsx+-VGjo1DQ3m=lE>m{(WnSsi%#wu1HH_juv4WLD3w6lIdBKK zC|at|Y=5KAk4C81KbAtEr+9Sq$;px(4LB`&y@)ydVd64#R^8&4o?@=QBno`-)bzj| zN|3a#eGev%S~R-u<4IIMbaOLG)h+((cU#x|H=BsuM6?1B_>3H@@3nu0e!#(KYPxzV zE1m>tNY?tlq=HAK|L|`mse{-->u4;OA7Bym!@rt$_FTR~Q-XpAnQVnkm140XO) z%^zGu{BnzT4m))oPYkrq(uKvk^V)yJhZ%KM!J&x}4LQ3Xnv}TDg@B0Hw0}}3S1O&#i>fO1W!8&Q&Y(Pp1vLH?=lw$R--+-V-?VfDHN0}`aFX_Fq84*yW;Cw~;GxzSJK~@d znPg4#OR6|F^jWW60TCOM3rRNGm|T@Buf5eU^l^gmYDJSIOL!-9s4b5TCb38AGiY~y z=!z}$+Be%f=1e>qOeYhSy)D0%_h>DD7l!(l%Ru(Wb*Zla6SeS?%(+xG1{6xC9sB<8C8p~Wc8&j=aPz)I3WrbIyz_aN+q{1c3KIQ= zU8~JISO-+Q?A?2b2+Fq2Okh6aDXko6rCPC4hKR=0#2Il+%ENvcIVkw2Q>XLy8e3~} z$F?!4FJhr<-PvtgOffJLBOHnuLP5p+QDSq_u0)d0B}oC=RMz@rN$Z9k+T!(3w!XaO z!ep%Xg-NB$F?}P_RUM#^9^PYw9fZ4Y7Ll5MZ}@*)ZSo_lnvi$NcgH24t@j>zbxe)- z$QuY^W&TpU2X!=gfQ=$c1in z?W;YjbR^;I-1{Y&lTaTO&?EVV4ho2t^AkN|43sN16G)V|=?p^7Fxe9_C-OM>j@nz) ztm+>F#e(9chaa58`+NCyRLpVSfbZ31nM+UZqP)rJ2MYD|!Ua8*Jg5ti#ps&cDnz}9 zwkzO-(T^l<@pN=P1Q5SV7;YP%uzXpaVf!8n{GU940ka3%+e9fOuKBB|$svQUC&o9X zjzk+;-)C5H;t6GMD<$p^{LLk+#pVn@>UvpV$vEdja67D7HPfpc+RHSY4 zg6wtvR}VK5{UqI5waU76|14%ddlToGzRu1ZykhWsgLnDaL#*=WjtB9O&XRD)cqy?c661gal|JG8pE5fI9|MA=&C8V!7*?wEKbS-;%njy z9DB=crR2K7?-3z#eqN<`0#?%kZ6fPq`vbTC-a;90g;$pqYzQ4|Ij_@PN=dfn_iJOA zGb66j%-g-F%i!N_&8y4&r?8Ud3p`B$dvAN8JL?vL~|HdjtN>L4EUOK>TPyJZ;smJ$C5ytD!Z^TVK=pCe!WTc%zWRRM6T+;r)gF z0YBe}QSMT9EFQ4^&_Zy7cH2IbIuGq$94%Dc4K`KSr2yT1IrW=u@y~sSXX4Ki-_9Lc z0t^*%paFv(UfJvAl|9VtU2`Y(@z?ow!ti)+?t-C<(xZ2Ijf+}8=x<@FM3vUUD9<@FC&x_bVP$m@*^_rF12U$jCL`? zwmX8nG~dnssH;b#;Xg55uYepv{^;;qyYNTK-+alk+A}WnE}OT$R*pjOZ#5j`mI>k+ z;>13DoqxfjVl~hLBQtEZ^xFQkPF9p-H9Fd})>IO}^w0c* zqgp>mVV8CasI}uCKB4~?(1ZW?{vZCY_J1xRls}>W=NKdV5Br}w>A;~|r}h^cG`qNi zv~V9JM;<7NA-P!TSp6z7+lW7$S)RQ+ebssbZ)4#~ExQlLFD)UMxErm-g$>?Si~TdQ zEC@%jk_)8_XyF}8;u#)k1nd_S4}EOv#aa=HU$R)s;&(sD=AIm69nCKw5cEr~i6>v< z;Mt3AokP9R8Z=cg(i@wxa3_q27RyCj0_d<$NMz%b9btCP&YW5V&u8DKnj_xaEBoj* z+L8%_SGWRi{J0A@=GNDnJF3r+llmmOgW80W-nGHP=^Q_*vU%{}HT1Ao_Sj%wG8mv} z>fr`xcF-ySG=DHrIY?^0Hi*{Z%6CaA0{q&1jte+G;~KA&$|(8K;5D#PD7e-ljGHe_^2#a8G~k?HBkNfUmz8}vkN^Cc zFjMTE+Tw-T$E0^j4=KFxmC;@$erM3K_R|7vsO0F z@R+>IYc_-RarQobd)mR|b4_)0CbNnXYK(4zlXeZsXYu*D_c5ss-{l1Garyb+Twsy( zThp)f=AO*#_Dsf$mz}T+;YbjU{OI&s+qjIS&Z24(5c=H2(VJl!@BLUUX6$t7&D1SE zgW1^Iso}&>bBO2kKBt}6dv;^-{1a+-y{!2Tm1K9Qa&$|c# zX4jsRdF>WaXy7L`g)X05hMBV>hS~{Y)you4$^oKvP;$J6p^LosmCzu1*`-#<%Tp7e zFV6;4f{GvC%dKBs>U8vPjBW>=kEOoO%%RDZ`cb)0`ymFtdyss2 zc8tsf%30#gQj8NOa10ZOLbnlxE;C3xsWGlz#T1LBCb$)O-Ri}9erme6@;Q3xx8-K`+foVt%t$tU)uvNLHW>8`F zrT`D>IJ4JgevpLfwNJ_HU!1N=YB^72Z!4o|yvn94dFeSc%| zPL|>I{QjvU2(EExhibot>(NIy?2yT)rjLFH#34QJXytQk(k3}qO6D4rz_B_m;--gD z=h;V%OJR`H<$LJg(09Bx3*wSG-miGu&Q(4Ss*l5m)i9AHi@qWn&nz;X-t3$H4$|6C1qm{j~NpNzmnwc!YzXlB~Bi3|1T!5eh{p+|fb*Znh4zDJv zLQ)dojT{*P7yIYj2(BnzC@yGYKqNki-Ul9|dnWd3-Br?D4olr!7UE-+yWX7nt-DH_ zdswly70s`&b;-pA8)+CdcGUolSS zpv-ICxep$vpX;RRnxfX7Wz8>JjSE_L^=#g|b?07*t@z%r$Zl%gRo?uVYiwC!e%B5g zJ%x^VZ7Ts&Q=N&w)ZyoE#9FT|0}6K}P9e8RA8+o=KK==)aah~SW34mGiV|bkZ0Kdv zmlgZZ5)3_c3J@Um^U_#y;Bun>!4kvZiZt6nVEm!>SWVHmq3>I6wy7|c>=Iuw3$uS}`M{e#5Xuq%@B*l)z9P1ewRI2=I7OFbTos0d&M4`>dhB7;Z;~?+VS9xZOE)=gMJ#Ys^ zbU~3_(Tx_(!Z{C_ts(hlfCo}1IF*yOGvw(c&|=B8jm4dy#r3RL9c&5x@Y){YeJ*9O z;)Z~1G1@_pu)z>IVFA3}x`k54wD1zGK=)c_f7}7?gl;2Yo_EpRuzGJ`X)7GB(>0z` zml~uT!Dq&yB+|VvHdjCBqo8;scnn6oO*lrKnW>Aw0x3eC`366ngm>J00us}aC@1AE zkk$OF06rE&XP$I1yk2D@IH^7gWlww{k;2FMJebVyfDp*;La zZE8QZS1eboHVKe#%al@5xzZua-(A5TiY68}QJ=?Q8e`8XsG3o0Zl^8yb94FUpDo@do`XPl-r zuJ$Tz-+6VZnea2G7+Ia8{(q-2)r0?D`_X!TO?~QYD!7FA@YRY6Wekc1*dwXEZrbI< zmN`nVAc&YFSrRfRh$apZ|I;Mr>>82HSf-p(1;kPF{4sgUYn#t3LnV{%KqMxoN9w?Z zH){?LF}GaMJGrhdb#cW1#gvWcNj8vKp5S^|q&hS1z?PpStR)Onatp#PwhRBU513he z`Cd`77=)iS*jj{ZbB-4dulfso!hbAaQPST1<9Z{Ws?ei*((Hsugix4B^|g~|WkYf1 zdYTCN1#j*S|9#xqp$|O{!?WDz!}M>vHW1fxInN68FQ%h!E*0s3pT>%i8j>kltU5nI zUw**6Lc~h>|71S*Cp+@|=f9WFeIYezywJmc%fId6pq~FD`tovyE7aF7gunlge_Q*b z^do)D3HiSsFeQ%o_z0H%HuEZORFD(#fA)=kCUh|XkZELAd3UNPSN zBhWH(>rm9^G&ekq7z@Ir++QhsCk<(eqDEm27Z!=NS>sCEn&Q!OBnDw}B#? z0#%=>Eric_WU@d32dRB-{!)o2LqD%Yjp?KD^D6!8Uxfzh#Hxh;U7v$U1pZyK^^b!;a}(0vk+G0WnVxzn8kC?U5f~?z~%w7ra@2WS-z>V&Z4M(^&kske`Xc zFTsm-7YpOO(41Yvm?Kg-;|>Kac?(yr*))KW-}>7K5w3NLkWG9EBQq6`uA~1LD}G6_ zaB}wN&>yO2U8+hsv)V^M$K|brTZPxYhiKny`FlYNT}#5(I^M^HCnH>LoK~ZhX6;W}1t5^x*1YZ9@d8iVRiSX(nh#5 z)*5!UCwD@8aC-h}>4BTkMc2Xe^)@Qc*$gp&Xp_c@DV!Lvg5nG-bNnFVLVxj)6c^O4 zKA0O@%DJ(vqg`w*SgA6%qjJctM}uthFe0bbrH<8MgOiA3so9uGp|E#}DfOvnR6N$# z>yl6C?IhmTqY2a3NNWjncJC?2$g%uy{|S%Q_e?hQg#UN#edZ z(#yPvJ%ioVVB?T zXI64@_--vceleDe+vO+rC*b>pbaM{TLJ6<<%}TFT(UFC#;LtQnpej(;KaZ+DSAeR1 z<{voQP}R>qhN=R1``G^cGGHF;&*tMk37a{7-{G@$AwGL9z-LGNNB{=$^yHBXYKuud<7o+WA(!!U7tpi25OU_ST_y%QWs2ZND@GiX?8 ze6VS;|1E6ZSZR2~akr(QqAAGd3!69>Fs}KR?Beei3l%B zLgW%Y$;5R9SAaN}YdWH^^GhE|&7vb=|0cm3)$}z z=`p{0#ZA^EWS-?|SA6QV-9+~s{#X1CH0f^cGp$xO?}wlGtCs2kv|qupd2QEGB*j{Z zVHwM{`R*4mKQfUTqLB(R6|xgJOr)^L#3zNKm_PX+sn{$Z?_|Ef zn~>kG!{^`hgPrs`w;~H{2)L?(Pvwa}YA!JclUe4k5xzB03|3N2pco7lTEa(ef$yP) zoK8u$#fEh6PWj*0;9et^1+(HaCfNyZ!^z;}C!U6U=6DrKvlYqt;m3!*=C%DnU6LRE z@-2oS%nv`3*`Mv|;M@7(!*?>CHD0^0t795A!FO_lx)?`$*tLw$UC_70-nFR+0NH+u zN`yShzBa84Kb~Bh{YxE6r8r`V7?ZoDnf!HwGsVow{=}3`ZVD3|^LZojP@r&XzB7A| zm=E|;q*rk#a3vZeKX4_cgwsG_O(NOr^8B;-lgz3wboIv!`4!d=rwJX9*8VAQ&uokS zkOzZ1q-mT^y7f^yT=evx3K2yPUPqaJn)3+N@ORCJac+31?F+LvdTndEBQ~T4n+@$L zt_@~ZS`^~u5iYEhzb6M;P3X~SWwo610`=ODEa97L7OH~O#kB%bf{+20$-e`^SHUpYhu6W0*Pl z?3cO$#5uph5ff?F)59O9LX`DLXs-P{fAbqk{~h^E_RHLUl>Jhy4MN#NRv{Wshi@BF zJ)_RRKZa3I-*|A^fwwjkuK}mMB7NI#`{IiMpf?VE*K1ec9HvK#^c;Lxd9O`-HZ??+ ztRLC1B$XKyAT5f=Im*5PRIUQVM@jVZ+V0_n#ICkGbrI37VFZwq>%b?H-6U0fR@~7(jyv+&&!L>~TfiSlF2F9JtyLyFC{jrU zCF)Y+4Ih}i8w>6J^5etgzZU9s%x~`#^?Ix^xv4R^VRjsuBb3{U>GVIA+jI^ol#CqP zC?h~kAhek^oIJfkdHsaeoX{4CcGysb{vz1}Lwsz+CS5x2-heO4p}m!x9A6||c_f~E zCG&N$MYF?}6Xk(S=Cz;93y1lh@Y)p@zcKlEWAa&)>Fjey4>&lqfWe_TN7&6M7*5!J zJT<;7)xa65#Iuda%bg9Wz40F)QQ8g!>G^7}P)_@yQsGwqT)V5wl(gIFbIQSFgV(LDl~gp;=o}&5|LrunlYwu)@BSv`93pqx+Wje%CkXK z6ygD_)^?=lu5lbH`Tke(;oS0bC%UWpNdxK5hY$p|ck1d$@@>>>opNUN@8$pn0<{dw z*WSq(ocVJ*y=UB*wtdAC%GVh9H-_|1o>fkxXdLk80}gn|9|{SZ!>i%xgbT!jCC;Hu zzxbk!yYLihJ&Z6CPJdW09;>-uwkF?VU9mrO(Ub;)pRqHP@1Sz(A>x%!O&z^n=_(%n zCU%#hZ%kcPTbwH~g+qM1D*{9K)Eh|;+b7fwcr)*YbTd$9>uI)-#G~=l*F<{~a|62b z%in*D?hIuSKShoX`R70{==kRx$@vj=!S*)bm%M3qp5Ca`-=R0J@H$6tBu|UppyVzDW#QFZfQIO{LY+4k<9cJ}JGxiE3 z>YEDah2&}4ge!zv(DE5{jtt{CJ{(iYNDcPa?TugYEobBLEOn&YkJz)NK8;Go2=#&c zidMt7a&jsDglNk5@759+qBh)rz6=;GOe#~Hr!PO_{vXp9@mC?1_u8cWE~GED;-Zar zHeI0CND4>hB8Z$>Vw^HoEoIke*<6txLX^S!VR40YwxDAH82{Kltdx ziEKb-=Pq7`ok;Ykhv`6x-293oGiXoyGkemyfe$rmM*$eM$seZo6TJZso3VD4NjSBs zZ=x_fr3{q!yqbI_mLl#6wB{Nr%Py{$!p@N!7WZaR8lcZKf^hc&rK|W6Epe(ol>PyA zF>N1{keNh*0_+mvtHJMOj%f+@qwts8lSde9D(mF1PIzG#_2$mN8)VpD;>D{@*tOBo2UnlOXUUv$T`*RhBk}L6 zqN-qD;~ZmBv;^mf6#vMoB~kxkc9}krN-~b9F0HrxLazKR{YW2kEdT!Z*)MhM#2x0) z*^_6+Ifv{rfAm8zW4RM29KGI4Cr)l4=+N#bPOdsfu5Nh8_2rYo6DP)`1gB20frkDY zm@e$_Na#23zxEe9QceSl2(4M)yB7CNk}>nYKBD+RmRW_=C>%Ljil*tg#!CM_K55XY z0h69{qmH z2gTFshILESpe2}W@JasC$|A2_+OC2!C9st*a&qU*ujE_}$=KWZpvJ@K7}L1QdFGv1n|--Jg{7s>)dGo|E#A1HHMD!Hx;n@Zoive zwS(F)IiCX{tVyiqxDeiW{TpZ-iW%~^f&a-u8VlIMIq~9`O%2LC1!}jx3^%6-jp)WX zwhtesfh5)-TKO|6O#;&qM1TcuVF`H(;ladlm4hALmCzlfw+UiJQ|dNwS#JGu z%wb}LmSDKkqiQ+4_KPW)`2jz+PJx{!Q7$YFRhL$@`5H$bvgCWEoE8KvY)8SO)LCXJ znUdezO`odt8?yJy4hh*X&2VxD%%jEK&goGdB?vUpMhU>sWu%cNBTsS%+VU^{O3S*M zfW2#V-Jl;Q^2sup5MkkL~LqFWU%TjC{ze_P}h9Z5B zn`j{{pPx=#&q1Y|&meH+7r83me>_)Jc66#}Y7HtK^EUMFz^{;xEhJ>cTuM{6bJ{&% zVDasF1xE#Q)lVCYnF3EamTZmxi$971uL+Ye+EFe-XmkzCZ-nX)iSPK2ntjClB3$>s zZS^td3aDPuHbIJE1!p9m;I-4hRJoD$KiA&%I*>q@gEn~Ay~QN(vb4c{LV(9Xol|gD zC>_EB?Hhp84bmCz{TaAYy77ChH}Y}#+F$odeh&KHhoXe4RwE4HBVeGrje0l zV(AaveZ}gt+-!NRI#Wc6BOY;2$Yi)V=-gdA;Z1+{Ur{Irt@m2bq~@R}*UGg;@;0!~ zY?t(};!Cf+R0tcExh~AH7shR6z@yK!b_q#;0N>_kOKz%;SOwu(Str^)riwl=EgQz# zXCxRaiB7wp2`7-Ib%-d&D?kK+NZ&^L1+zYU6L3SX|2B=_{#D8hViWDP-lR|N=Ev5L zc1j-rdiY<_;l7}M|HJEi|626L1Ud;mRQc;2v@M;m;8eau1p`|p;|y!KW$Vm1}d zS3WMo?Gj>c4dOB+v)?rhiOC!6*}gpui5$6r{LOLh%U?8XNqT1jrEgi0s1XI`dH;o9 zHmtGGo24L1;E$z_9^J}4>m#hyHv6&8nepRiUM)oz!&s=)f7?rJJR5i?wqY+g~5mS1Ly&*$_ zWdqieA5x1(=e|`2WP_0wnpL}{Gu)ibpZ;^r%$NC|^*t?PS^sujYEE;GYbqx z%J-+&{@N3AD|ioI`cLHVZ|6QZALn4Z{QA?vH3~-F_f5A(tEb24LFtS})~1g}N2~d@ z3F&0TXx>wf6fuh23|P*;d@p)ZQN#0uM%S5LzP42B{!dN+OIFFCief(ZW~G8j$;Pdb z`7RF)jdXf9e2b|jwft(mVh41_yt-fqh#|55tu6iSssB{FmtUe~$m}%2U1MwM)~Lxw zoad)0)Foe(-XGZs{vasJkt@9$UQ`Y3&uNyyAekquLal2>HT}%|)m~IR<{vjaw?x0u zv;5kI{JG=)2bKCvgxgpPuO1r>75|yvz6lnc!b^;-K#`OocZ=O{Bpv{wo6_V{P=MFvLM2(k3bOAL}kU6tu= zZp@%(p1%l#F;!N)1_)3L3P;yQLTHth6qDC% zzMb2k>ya}niEeX_;_`g0GM+x4Q;_MqqAe6C5E(-!C>mKxn;issU+xXS4MCq)@nnTJ z;Cv;Dz$Kh1q$8)R41bnaP{H`0SFpL!BoPoTMkP}ES3m*vfP}*2YC3bwyC;Proh{_HiNE>Y0OGV#0J>Izcc!H+ zP`&}yZqion7yHTkwAh1aa@uEjV8u1TWM)CKM*M5tQIgnK=~qa)$M5;D59fq<7-MTC z{&Ks&9~{0{-UnF}b0TB&XVia8m)9)3o#!U0`+NMN5Z=OgLxHxKsRW+13M_@$II(wc z^nX6Wmb@PESofMB4OB@1S!LTw%2YVh6?0olsSTAB%@yr6CgRp(Jc0QI7FA9$R|wI9 ze|OZ}xg1zu`0@O1bp}rLf|-#Ke`M0#O6w|hav^*v-i;JLPW!F#lnw(T^Fv~N_6&z{ zcIkR{jK84PhR2w~7i9lnWRcQhKIMb@vfMD04DsyJ-{`X&!_RojRA@q^htQyVlTD)c zO43e{W2HOK>ujP%>L6xr;1*AT`5|{{WFImYFfrXIszkU=qxk7HB2qXzZogA@Uz%7- zr%uw00)NWa+Uq1jT6u-V;g>a^ls}kCg;UN{2m8+g$oZI^QI#zKQ!;Ec(eEniQhhGF zrW(TEuKcK4L!ld{_GRpy?x{gO3|+4?Y58E5K=gh~M{LPS5kQT+2zxHD^>iAz8QR_2 z;+LX6Do_MX9^Aph=~||WBSt}T1a#b#mvIwpX}pTO0Ys{poqR#6RVB~_=gj+{+tcrJ z*)tkDZ$+?EpQ*mk>r=O|hONs^T3@Ufld7#w8BW+{{rum2Xe-Snk9)F|PDH3$%?@QS z=df(b2vXJAx}&W5JA8Ct)PI)PwpLpFkyzGw{(K(UG`RE;6XyxxPtNbVJz3`&0H*(= z+ikNs`CRi+J65x#xKB1Q3tNQ19PaBfF+`TvY*l#!F!V7g{gmX!&8%>ore?G^K-qE* zE(+$wW~5*;YHTt_7fyyoUAORDn~ZAzwjDMKn+7Te1ml_)vPOYO^^_@#Xd-^XXBCIJ ztx$Rp|6|ElFgO5yWKl8jqo6+V8>rHfajx?(!TE^qO0ODW0B2KvcIiEJY@G9|c?HTd zl3F?`EC3XoUHTmrnDSRwK)8#Uospl}eP9P#Ows7D*^r+~*O;H*-S)m2@FO> zx=b;eQ+CJI5UvPk*$LI`b}h?4o^(#iF=Gj0Na8XcT2rE(O_rtc%3CR7%#i)FoEvMx zgv|@o#zX_Sab-$9Rj=Hgf--&&(9f7MO3aLCNNj^Zuh%?X`I{cokDzahPz24)S6Z7_ zCQM?U#xLc5GZl<~S$C`T13hYDZ(8D;g?g|-KU;bF1Q$vJH4!O!;&XbsKtC@~2kCN@ zHLYoW=3ZnO|HG~U%EI_AgjWu@fPPHPm-st!_jzL&9`%8>sz}FUC@XRy0A#dv6;H!t z#Oo+U%T3x->@iD=#Pyan5W(lYSvnriRrw0gsW(fjsNAIh{;?vq@XyTRQx>sYw{}mCtcUysTnezfY zHf7hd_&D}%^ac#nJ~*GXzJ%{+!`5(QB%_$>0o_624nOGMeT4YJjedRCg2z+P|L$$M z_~kC9Ro5^>&A0B`-&QpFlRY;!<=*aNo|CwNFf-ZKL zO%N9V5M>#3r0>Beg1gC9*2xX-H2jhj3eZ|Ac;ey2mjrq1Rl#{>dhtBdtHLuQDzR2S z0;%!-+x237xK)mDEkFl zk*Z#(b~o!b!|g=sZhBHBLG|OGa;556N!w1{Rhbg8vi>Bfvu#4w!6s#XnrP{tR@w8y zrEgN2MRrWDaS{K{_uTR$Q-m9^2g_gM&`IW&0(|WP(I`S+xLT8$7u5ZcJz=)X`yMC6 z7O6OeGe)sBrA!6+K?}p@SfRR~>H~G6hFKFH3|A64#Z1LmikL7v3 z$iSvMKmg*4Or=hkP=1Z6h1;llT4Vp*P($jQ&u(-gRj z5_CeCO|lm&*Y~T|(D>4`T!Z*kB322v8xi2>2*VktZbMsKXV3LzM=}>EdO&V(s}#IQ z<8+_EFr9P#+l-wYRQ!*u%JImYIoCz)wnF}4ZCls1rGOx1uPh^!YLnEWzoRcV#c$?>I^ zv4Q+kR0oshQ1z9X3hZyaMD!*u;etc2{+T1Konbs{;-04rkb+D6;qHw!K!d@wGT9xx z&hlTA544&b0`a2^;~EbS0|gnvb1e*F>iFe)$~Wv*?OMsUPIt20>$SH(>U4D=ul_jJ z?isC!kXyfn{=H7}69yTN>Yd7#@+aiawDmH%$1to#UN7X=Xi8{M>_jhwlwPMH^Ax^k z;pLP=iaul<5{`d@{^MY6O3OUk2h`O6x}$+axC^zJENY)l-;dQ0A}EjZM8#DfDByeZl1mFaWbif4 z1kdzzB)!c9&@T{mMB6#Tp4{Xw{5^XK_&jiHu&3Ax{!?3QosA_nh6fbHl7e`E9|52C zjNJoYc3=K5Fhp-k=N#pF>fK~mRFutO(dNCtpfPW5heVNm=CB9y(-+8xf&8znu;WuQ zTuF59r>#+=V+e=S&sch|u+J`QFsIVoa}h5Rte+6B@Rz}on$ZzoRG3;@Wk;EWd4oBv z?1FW{xPjlpYX7e9b(vv<2iiWEzpug6UR9ADZ1Z$P_aSNq=LVQAF$R&VnHD9!C+V&i znFhR%Wls*uOu3lH;v>{ef690e?4Yevlz@JxF%4ep=b!@IZl5xo?vn9!F)%=voIIpd zt}l4A8>#PA zt{(TUJKTC-1s$JQo^k+hbK|w%&6~pc@vc1vicHrhEnzY=RkW-1;je}En1p|=lkeI$ z4C%UVYKjq~R5$vMr-|}C>k%EcNAm*z4jyT>7EJjHzizgtjG_n7WoB>U<2IwZvT0qe zerCMZt+HOY<&qzdD)6qIsE4^qiWe9}uGR`W{?P6h=I<%HLEb2l@~;A5OzM;20(q_P zQ&-o?D$|oX?;K5*K@OAU>Q(Dgex7f6R`8tRHoag0;&c3|Z6LZTD^l(Q?^*?(STI}V zU(U#uIishQp=hik!%wEQA6!MDjr!rpSs0PcsoY z(mnB7wLV~8P_DA>43WZw{f!? z1jO{3@HGElLf&^GtT<|Az1_%P2Y-m}66nXTVOgc0gS4LBk=b-47$@f>1|)Wg;2H9x zPA78BX6<=;3C%7bOl?tlH4+H)C%D3afAOL&!GEikh;xcuqy4FRnR&kRTCeAxFxGOt zCe2Yi{cu$7?EZHT!vJz+5zf5g*seQ-QpN#V;`4a=7r7L~sFj&+M@@o{vu6kUQ!agY zI&QZAQK0TbX*_Ou0BLU=8Ookv)}w~&XKBB4zTH| zGS`UU?)`{lo)4Up+fH;$)>!05)0$Ifn|0G)h(*RYKibjqW&2`wga-T%kc(*1DcJg6M7wkjF<@*(%>Z2wdSQy_ zN$LLZLwM){8zdYTTSL9ovqM*aDekR(5tKL9aeQ0a@t?tFf!JUk*5b6ElV zjydgQVJK@Z8#T<)_<2E%d1Myyr*>YHD5Z)C{J6tpcCGIeSq z3GHFxjav@T?{ODPzOH0ttIl;;1qODzznmNThQj+%FjkTO7i96lwm|kYf`Bv+J+^G)Ipp&Q(csp>Y}+fW0`DxO$ZnW=KgoCXXOir7o0cwe;i-S&o#bX z{_0l>$N3F=y4|18(_p+C&nX!13)~crcR7Om-y835c`tC~n}2n@KSe9~DdXkfLx3-y zHEF4JGwgN2Vqz5XJMRz>CyrL`^TWJe7dR$c^1jS0juppW4gXHuoC15xqhu&BS+ z&urH9rrMwMvTk@`Ahrcdj~3)4o;u*+*N_ilNVOp%D19Kv^|SjL-Gh|MSN7Lt8;g)P zvGh{gc)E_1ula&)!lhF#u)c5iKYz4s?e?z%twC@14IWLjN1Pg3=a&SJ&a_8T`1x-g zWz*SLgPz8qo6!jtJ;3Z0WqzHf7pY-rGj>|64*#5Q**GRj?*+%x1Q46yZ!0a64ZX8vp^ zAyis(^Q?Q-rU(a_o9$JIZ!bMcQAIZ<`Apqo&fi|h z4>pJ#Ay-J0UI+g3n|>m&-0t7A&Y^)C@j>Tt!yKB96Bv!zYDm+d8lVkM^$@@+>(477 zxM`k$`KyKx_z+M>TZEi%YD%k&f;^xgq~$XIMA|Ub*e?J433jQu-mleKE`JNi*2$A3 z5acN2I~wN&$1 z${Z@NbQja%(ZT!)TJp13aNd*dYIe3Qb4V|99suF5x>l3hLO&h9Gwu^;(Z|r2nQZ)t zH*3z37GmkC&UVGjRQmP7W0pejXY&>D2L(^@ej#3S?u1z-j~TyXXiP6!g)x}H9?GzF zIsz$U8X5tfR`c{cO#%Cq`Qag|WNy!wS|*q#d#Ey)kNIV?-muBKSiuNdDiUNj{np9-FU#!(i_E$)3>!X$OQkM(a%;`x^5+CvLS#88Dflb zrp5uo4DpYo9FIrB<~znQ!a#U%k(G-IuUrJc?CFX@_IY=O-T~JUeh;7k@kxN*gb8P$ zY_6q8rFwY6@ig5;zS0Y=8B|GNpCcOj3G0~stN*0K3=;+HsBrT;4o{;i9khPxUSMn| zkRFc43#L)(#@_QU|GE&7k$)!6l4b@ zH}K8le)rD>KtQ)ya7Nd(I(x%x&OqK)Kw=&KvE&KZtiV8E9RN&fJ?9maBe8AK>j7t| z>|P{<5Yqkf!4Bzu!vQWyHxFWdKb!O*ysAhy$awp+p0W| zR^Sl9G1M)x9$`WX93yI|8$k2Vq?=|{+v4AK64GI|*t(%T)-&4ta3%|V&?dkb!gwc2 zntjuM`FV|2k=^}OTpE+H#lHfv%BouDe}$?t<`sG7RbBBb)-zmJl5kvJK>J#K1@l*MxNp@vvENC_&`is^yUjoNm|8g|i#23cuz`0`pYlac@lN~e+xqR)*6PR=NTM^*qD3nP zNB>#*wrHSCX|s`0SLyG=B16I=I#X+9mof$;M1rLA)Edgj&c(x6e zeOpZx9dsLXX+4Z<5CKzB%~;1bvZhYu!f+k#YqRO6H}tUAjnUhw%O8jH9|>J58;5T9 z+E=rkY9D4|@f2||p2IZFUxdJG8{~4*nLv==&(dk7hrhnqbRj>jB(Ty${`;3}dxiWS z{#j?%KDrOJD+OFG6OBApD{V0&{ZC|DblGQRypZ&XeS|)r5AtR!)ev+P}t6!rZ z>5_XtuOHF=k5sM+;wUwK|ASlwJE-6zN(@?WZv}UJ*r^{DsP|HR3>ZZEzImWktfd?D zqLpP#^Z+$RZ_dl~UN{)2>AhAic{O!%xE;;!SedF()p-MMi?%R*Ji5^!fs3~2?L6@Y zI8~uHU{18d?r)5C+W*_4>+OGAbgTXouPR+Kp&@Ig}U16MZHRqg* zWAaNwNy^l!bFVRA{xtoyty_w{_UXV0^zrLn0VA$e(@)M2Q7eEqI|h44DF7D+#xhxEV4BmNKKtY=1|Eh5Skn|1yvK zo4JEkL4{J#Q_Y*5ZT8x62xHdo%PeNx8W9%5NCstb5PvV3|B-_X5LD?w%fQ#*Y6lc$`#pHw5Z812%6R@X4zFk>=LBluUtT= ziK!&NL*TpQLm4vlUk%<$`S`S}i)NiM@XD_}si)h@z7& zXt)o(h5k$;tB&207{^vUcsASy4x{QM#=u|hYHRrp- zI3VPMT9N20eNoJ<~*KgbRYlTA>M($7|Q z;T`ItvA`!}3nXl*f8#ycd8U*4iuN-N#q!*ZwETpaS>V@C(e?@D?=$%nmTpT2nUm2? zY_lK{*5t>u5)kwS-mLe43OdvOuzgKFlJFThVgNT(B&}or`d&@|*jAzcXUj7PE^w^Q z%Dz4AsJCO@K**mNLWa-pt9fR?zr2R{1A7kyt^F!Gh)Y7(}n;bC%S4H$< zeCZ>fwP~Q|>JB^}br1172D-PmcX=DrLXcLb*~*UA9RU!V&j5+Cu4%jviDYN*n*5g@ zvVkaU)uD{w5n5&*miT>|dCt=3RWJm!(L2;I1v${MDKLCLmWGYJJ>UblUp-y@qN8Es zUfb1xWp*WWfUX}=&7z_*?YrL7sBjkdu*YST*?|3&9{$~j17-&Tcx5>j_Zg67K?TD@*e$f1>4R|7%D7(>r2xTN|DhX-nbaHca*`Hr< z`%}5WQ3RR4hu2iv34COq4eyC>q5DPtHJ60`;7)&rp4e<5{;#$14F^onSSH!P$u_CG`eH)3rpI>c zMlg{E61|+aA~x^k?qo@t&)?JW;;k&U047$}Q2d;K-z=aCS>;p{ZuXG(EH-=?W&ek~ z5gcB2p#8ViD)X;BQBWu;NV?|)Wdhym*AEa2-+W91ShFnEjZ99pgmJz0EPw`7C{&u~ zpZ8@#yXemz&=$!)@7G=I_y?O0*yhllr0F1Tnv0;Wut|7rtSgwC@DQQ@3K~p0Cf02T z{4pImTCIO9-ucZir!euqrrA7)rp0ygqU8fku1i%DKGOe=>J%BER@s5pO*CQU&IW=+ zk|(B~1gJ>-qdCPBrMjZl<5-H4X!CIyg|H3wFSMFmj(*+#`V<2$whBmnRDgzJ4Pxge zY>C(UmXM~>|L$Q^h#S{Bp16e`5mDOiB`oqr9fC^N?b)q1eRXl{hs+a;%L(s4EFt+M zE^t7Ev*#`A$f+8Nii4$=;7FOBFGOI`Rj#9l#h`uZTvA<K;H%P)FSHNP9=USHClJ8664Nzu+SVj3#TB zpS0E(^C!0!EAzkhvDU^}Yv{^$`6ttw$j~L=V<5rtIXV8+;6F2#cYf_RLi}-NLvmLk z>HpOH0YVDs&za&rg+N83w^)e5hTBA;y-D-a^ zxV^UZ#Nz2^m}867FiyQ37z_wMu5aD8Np==&9RK(q3x8gUYDjQVBRQUYzk;EDQm#g7 zk3V?oZ|NE*P?N74ntItmaJO!3BNDj*x(j0IVe|c3Iw7V@1?5tE`pH@`Sf?#YeDHn$ zyW=2>a{{^4|170hER)uIcOb2sMNwo04V7-CBBm4JZB^!TqGB(imfW46t3A_3tr>S3 zSdfnRyUE`DSNAT!HFZ(s>Euqf;L~psG27pYh)B>#q>7nH^<<@#0WX<$l@FAbtSDQVXJ8vzmk>33CTXmcELPZ#*(S@n1XmI<4}0I=G#8Ec z`^C-Ay0F><-?yNbu-oPSqsWfI(`xO*gMZ4sS#lbf2A0340R2H~@}swI+@eUny=3DqD4-yyaB_|ku4ZC#!Ljn^AuOzO;;~@7Z{&eFlI>&d z+<~Z%upwYn+ODa`24iK6zJCS+Is4;A*Li{0Q~npn0A5e{U*KP61fY_m?~N#<%!y|l zOMz$cfw~nNG5s5EWSKgO2XG0{O^Wbx^)#H-2g#T*smhymJ+r{=f@!$CMkZC;duWb= zy(qF1561zhx^=5kI=qLbroLbH$N73y#2W6LHjBdbRnuDZp=#s9z*}?aw5xe2wKv}E z*Ih&9oQmI4X0=5!aXMPi*lO3U)!ubKb-f6>b~fKUrDNTLDteMGkP|IIwkU-%vUjP<*5gTCcY*G44}c)_GaecooStLaSKpsQqui(;fk?8>U&%vE zIZ~jGW)W_TzVAT5X>9#DS6WByO(oxP(PkC+m)jfMZU`rO5l#V{5ZWA?)>vgJ@K>1} zx5=Ka^S}P?>o#WI-ox8i`ZiM%`)^T-YRz7RX8g^u#66%E zu#B5VmwRjYz;Q0_TV4-(EFk&`@m%w9rNt#$oa#Gl_7tbOv_I8|#zu1S&$g%sENPf1Gi-af z#9CifH{_d}kA2o=D*BmLXiw8WYX4-u!H@r!b3q`AH18pXta(4llg9Gp3B5Z~-(LIWueo15U z!+5&<=d@Xyd;@L0<}I)1e43>WboI%2@iNoZqxW}u&NtLw^z`NjzMdOX&YP-!lg`|w zk4aH2R=<4z>n;DaH!EZHS^)G%;>Ftyz^K>3=@V3y)5~^Pz363!eTY8xaw^2DdpCOm z`EDWZ1RtJE{-c4vYbahTZK?Esf&PCal{mend=1EIiohk)N#byR_nh`Qe#;XFWT%Do zwz_N}Uh9w8PjNV^Q&Ph=`hE8hp>N&*9`7>2OnNBq1?}yfYp_~*&Ed#G7Ja= zl^54wyln_qHL}Cpj!G+FWnTN8D6H%-2YmRtj8wCOe&zJ^URx30SykI@-wZJr%yOOD zmsqJQn)_s4;wJbmmKsx*^pT9_`_KQz#fVqdEEpOk{@alGqZNg|e2PBZrR{L~^!U)1 zz4kSHkhzkdP%fQO<}z-ehu@U|kGOrH+**RCT-@Xxd{V1yM4X*OPy0^xZo?PS!&(lh zqnNFn<>xTnBoB<9lCJv*acuY_rwf=c=SiK8`W!t>xL&D?i(0N!E(YnrfP)K2wi~^( zvG_ya;MM&8t4m!#J0#fsCB)6brys8(?JxTAXE}Y# zJY+7?Tmm1~r9_W9PEaUO0s8Sp=*J14ydUcoPswFX6Cin0dS!S>>5-g%{6nuj3-+SM zc=Gwo^~}BIRnsZ`_8NI|JtsUV}>vJwVC%j-e+sQ!A53hxYicT#-3T& zKu6-G5Wa)@Q-5UF>|TGDItnJB(BISM;FFJf+s>T=tV<><({dm?qY?G4yHF3M6RPv> zC+lW%n?&LHCJj3Wjd{c15(Z zwslw(E^j9!R=}h540*(>$OY5Kub)=5!(qn zgTO9}KZ+BSvSqc$9~kvo191S5<>~oKia1tYs2h_n`M08acLU&;fl3+pwW*NIu+PM= z;iHR8V_y%$bYy**&V$PF5~)6LA1%cb*}Bsvxy9)aBYe=A=2+p7?DwbreJSAP=Z)*Bfdd~U;qJ9$?=xcpyTRsFKU2JPuF`^Or>djqP zNYiV;2Upv!*fX^+oBeaM5nYyvw7`0HaX<~>w=3DnTwD~`d0dR~c}h1UJJ$mZ$>)^H zp419via5=YM)xT;TXX0oy8KMc-emOu25LL3sEZB@CEmh@2(1KHd*#S(*bT#xg3 zLK{LAel_m_9XancEmbP8DXRlrp4KU#>z~cF+rzahi$!uCafJ3z==2KFX~)#cGH!fdtE{nb-pYfVk&ZDO z*C*5Ww{qXf&i**`hfkP~cIT-;dQ(-+~J(bT#XrxVa zKgUUm?u+s&Z^9eE-cyaqcSxPE>tv;B+@Sgj^Jv}6xGZV=ty z=C!?Ka|+$R=?+KtEeAc;LlD6E(S0))+CXbU_(@1_dYzgEc~=5^6OYf2qohW+~u*}nto zuiTs2d1TZ=i(U^iA+9Jf2Y-dcckn@g18_;UveyJD7MK>a4BlK#O;`Faegyi@{A5n2 z(gN}q(*I9$Tk>YLYx>d^7c!l&z>5lTqnnQqKYDekFG;U$ttVK1WYyGI$ ztM_x9#VbJ!=+F;JVqeY=s)?Jx4{A|NVmkc@@#XaY36SsXc=3EgzHYpMU&>#YmmC*- zw{GA*U0&H*DM()j3ExYdAYljRdHG-R8o(E0GxYpUWAWeE3mXdg-xwE- z)&!rjzY5PPhulD3XI9zfYvEBo|F+jQkEe!jAJ9dBZ|~x|E_I@bAh&ZpSn^?@Xx_*A zmBY7w?8gQNu$YU4c$13^*RIWc!|Eu=Z~HEtF!g~PyhBW@dCa`PkInC==eONO5tpy9 zVJL}Q58zg_AVj4-%WRk$GsnN5&AO5`M{;K@MX)*{Rq=NxrxTXvw%bWTp4*ojlbPIl z6ynjhKp{DYqu)0cZ<7ce)Sve|`Yv_m@n|b|0UjN=+3@Hy!lQUK!Qs_he}xb!T%*t` zvJ_qsGRD<>EZ^-f>xED0@gG#5@)M5yNnVcHSNU$wqIaK|@Af!eI2`$AnD6$9#^f`* z<-0wK#i`YS>?boi%@)FAJau+iYFZ^|FU)s)l+Z-`^SBfJYx!=CqkY+%t0A*MRq|p& zO45+=A*wMf=@L=rcVj3YG~k931Rc`(Rhju^FoGXVmDqt%O&v!br6G;TsE)a0lfQnb zG^KBY4WxKn!JRR_)pF^jS#IF$`Nfe6c2fS}cINo}Xg?kj+X~j0=vt9u`n^>G2d_YH zO^TbR5CZFTjUz{wG@cyApW@w(e+zS_)uD1@ zXxBms+DBi~M>r8b$SrDyWW!P$B2JL<{Q3b>>99?Vt3v$woaa@}uK|C-Ab_GkPy{`9E~Ce7;H zySn*!J%3R>rqp)zJU93~we5V8kh^tbVvGU+HK8>gyPAS4r|v5j?Gb%k`yd0;94)Q& zM!hxkZ_NYSI`D+-5QUV#PH$UKuU*BUR=b@`9r|2z34%c9(7z?hhCb)D|AM*@n%!Ap z+~vH%9VB4D?w>AcFV(vh&F8f4-1V1!T-!MaukPs{o!Re&@IAO=uycD1_OXdfJ5f-R zAH}JGHu2>H5W*r$x=rr#E9;<2MY>5`#!>7HM#>#@{p zmsQAwRuj&kt|qXS`PK3oWfsuhSPwc(@tZg}cxF(17tfOO4G^$Fwl86;8oFcIN-uk} z1Uk6gue>XOd#mMgtHo=(g`$NuebqfT4~fjxw&kI}I%?utAK~7&7pb?&7lK_hFnGF2 z4eQ{p^{P+s^ckL7=5zm5jLG6d3tY01?QKhNB(Y%Mwnb;~RN7j+2U)S&DkG9x=%r>OOBc&lrNG^9?#{*IMI;WDZPKngwZ9vS{$QE3u_%qx7jfp%9YP!T5IiWI|?2l8j$z;#^g5C z!t^7KA4PIWLz2BB{zXm!cwL}E*xmL%4%<5(7aX4`k(p8h!|)})0e9Iv)*pWX0XGf?6e!7% z`DGbs1-93_;ZC*(sA8Vi{$s9e9%Q!D!savvUi&y!O8Nqx7U&DYeaFg$i&n=Rvj++m zY1&uC5;>z2FJOzb4*37UlDfqc+ZryKc)`iBv^$1GPy6oLTmmGpa4ONseAS6V&|05s zFoF-7-i!`zs&%uKVp4vn1Rq3q$-DmsFd44ztwU2v#aAc|w`VLZ!I?_)(Lh6I*ci3ih(3|H4$xZ%r&Udmu z+vOjnfk3h4y33KV%fR;$h`GwuFcD0v{~&H`Imo@jP8z>It-mS1E^}bZ^)I3=%&U&N z$W-PH_(k+~{xjTRg5&q6D3&H10}wVAI7Xi(89kN`05|Q9NP(>UFPv@A>pt^Z+bCub zY%2>8_EVox*1SvIkI|M^SR z_JMGVy%#iLDN`l)=n|=@+pbPZe)ibvA{`EBzCbfJIo2vrilz9)e0=SbbdwRXg<;*e zfahSS=ewbHh+*4psO(k020y#Z9lV6!2IVCt;ZGQRbWOyIj4}PHpku0Lx@X+p9LK0W#f@IZ++RqtXB+7NXMEm~{aukV6Xr z7qKl?G=Saghu3U=fQM3*RCb{`zyANod-wRL%Ip7^ zKq67W9TYHCscDTGTU4T;P(TwI%0wrE7ZeMqt%_Q0u`n@KyhJk*$LUyXwYIgk+IqiK z{iikHmsPoOR1*2FtUeI(Lvn!K~Y zzX1ZGY!(nXe+r=}f(jF@5&l+yzf8!Wkm+5X*{L-s8M4^BvX>+To>c0k zDqaFGLyxWWu3W<6;F~K4Url0Bc&H$sm+~yXODj~w5d6E3!hjsfXJ1)Q_kCXMkK$3y zMX-T|B&@0RNYc|jZyuCKUnsR@)xLA<+ zxh!a!Rp1HL6}F5b5e%;b2fnWI?;j~BBdBcf-{QW7iYRm>ikAw>9(sKGJ>^00$;I}G ziBS*m2^#`V!QVdLc~`20@(CuSs#}-`!gSfX)uvx8neszkLFciDSBDQ@h#nqb523bv zDKycS{}n#;TJPpg1YdixiogB-Ypt{#<%OSEc9nZ~#gsaGUc-I*(v$O}C;QnG7!*$~ z(39h%Cq2R_txH+`8SxBuPM8Dy{7uyq>W{E-S4nc0yLvQnHps5>6tymA_eJ9j8H2d> z1uD>gdVTABoK%N;S1OW84xC_Le&q3k@FoKFS9MMeqvkDar1#tv4M|A+NXpxi=26?@!gY z&^Q;TSBZCu^>A?x!HM@-5Dt5^PHbxl4_GLIiWO5Vx;Dn*d&Tj;L%tdmK|g;-@Sgqr z)ZdfcC!)9ySX(H9@}+;MG91k-fKTa5%tHPZV5{Dg3%hk%B@*-l%%lF9a{A00hYFuy zA{^j1YEx*1)Xu&Bfu+@LMgh=b~ zoo$A7?%e0(gwR%)Jb^sPBTrjbsO zlbtp10zekX&ITUl&tdjbuS#+epqA)|i>hgRn%}{*_HGOCVh2QihX>_%xYt?3n*NZx z)#()x9zZeB8vRG9Js0dl=P?3JzTRHhklrGP6k+4pe&1!f*vr_D&R&_J^RL<~W0}xS z=KKwzoy^4Ve%ckLq9dKd38f6;96+=Q?YBaP1abInzZGVf zJuQ)brC`xgw1U|ye+zKv8*`;8w#%)c(xe#*8Vmgq#EvDGG=$l9jdUz~Tju9Fn=cWSA?~h%oumYx^f_I1jA%}XpJja(Sh=AW_7XB z5vBjg8*7>Vr~ZBX4;G$>FL*0PbTKPv@1{e{7rb46hl|hL!RYUqkhPw_Tq%~Ak1tAD zWMvW0-)Cpqykf4#CwAI_B7-ZT-|}sv$G{D{!z=o2evju^A8+Q^zAan4=I;|}elr8} zX3mB$ToEr>c*M5V%4xREttb%ZZ`JX}n@035_fiLou7?DDAAUokA=fZ9(Q2qTawWem z;GR?Jxwr@t?v$H|gx>;4HjPwsU&0e2|5WNj#~?b8f0}gUKi{h8f4(Dd<)o3-iYUEkia1v5)4*C~kEG@BcfC(t%? zL4|*4nbQ$}#r+uWA+5}GRt5&m`RGl3f(PLXX0L~xpGQ3W@t~B8sBJ>9g-DUqheU(9 zLpBw-h3`MRzR2DH_2Gaa#FK-Uu#5|*JQ`Hc0`dC7bh(4AG11v~b&(ym1V7|~wekVI zYGi(MEWM#2O)947RDsU#Mk}2i{UP6=`k9fF5JlRB;m{_Sa*rh>am!?r?YEP4;Wwt| zYd zeyP@eBDi`pkHfvx`*#f`AK`m=3qDhyIj>TljO!U&V-x^8T^HF2@(kl@XiR@VJ%G1q z8INdV`m@IL+XZ?gst_eqZ=?(8^(EExammwN8cH_M2^C=kug1)H0wVFBe4n;QX1;Ge z>Am?K?h~p37%6)>cwTfiA3wtSXkD~MQZsFBRYq8cCOHQ=DD!G<46+ zk9E;j*6zPc#87zj7o&wy*KMhxIvN4XQKal8JF3f^9a3+8V9skE}8H)FZCOmE66n| zYyAA`y3s`GYR||>8E;UYBXRhe>^PYiswC{xDE8Y)Jh?q1cuTIx_LSg$a4!b`1pi-!;5x%>`pOurD6+gCBB zJgrib*~pwl(I3US1VvZQPl`{Wqe$_No?p3HyBhAC`C59ufzlSV0(s}}ggiaRLuB;4 zjuv8>A0yx#$G&2m3dzErRKpd6=#?m_8J&+oZYIA(x+5o*7?>$k<0w zt`!YXE8%rp4Ri_oaCC~e<$V}^LwdFlJf7anR&v;l5F50x0v3JRX@&jW8H4%@E~7WM zPa$Jnn|8&sw@ZP1odU?=!A8CxX~|0)UTPUI2pRb`{1l=kmK&mJnhpRGN-ZEQ5)P(( zQZ#XS9-VODYam|h$2^U2bIL!0HC)nl!V%y)`JTrpICq>GtF&F>l7DODAag=+unfRx zB(q<_%y>KB%UTAO@mO?|Jd=Yr4j1u`{>$&tEP|oNRXWULI6?Q)rK+ zFD$LiY*i%o4D|iqQ+%B_-8R9Z9?t9oH?uwRGy7R3GuxR<+1)D5xLi4O1a`MSino14 zD@@t{X>YP`L11bmoW@T%eX_%wE{%dqUi%lpC6Ds1Uwd$v51ZM6A)oH@wQAQ(ywB|# z?H`%a>xcHQo_ZLbE~GWYzm7IYWu?0;Q+y2rXZw48t_{<)Kw|ftNi)Wq!lB>x!_K!f z+ua-%KJP3n96mZ&mYL?7&?fWenvOP^I(CS~wl`Ca#R_yqmk z=?_O*J)j|QaZDAAZ};G0wkGl!Y#qN>{SeZ@W#kXH|IwL&tNkwEEU&(<{bUIagFEOF zEzE%XF2BUZo4y*_E|N=}-D3DeMia`PrPVIbv_aHq<``-{^}aDtvc+PZ>O#9kBC=bI zXf(S;wrqkmP*)_s?pXLfA1fuebg)yr!`5|M{NtunaHJ7L8*fp*!~xtjxu;4$Liy}= zJ`B9V``=`z0CNTc(Oj&H8xCSJrh9Ps3KWWGeHNC*96iECi_c#60=J`bMlu4NI{Z9CE zo45j|i$;Z7wTQg@UE|Hiqa}O9GKf9!lZ$y%d&Gn%fd3*GLl&CiBNK(Z(R%CwG@luxq3f z4CQ0TuiWNXLzx&&?%TBN?#usR^ywymUPPbrf$SaV(`Cf26x)oo4;_6PC0t3?OH&x; z@^C2qiYZ~FOwH3feI~irI+-JE>z9-l9nSs@k zmPB_@-Q^`oUF=jEH6RI7_hu|GD&mTK1R`;=??rah-)p6R8`@E?$fezS8Y4!p;^lmo zqB^oUs*;C@%j4DBr0ffPvzTwRKbtS?NM2|xq%Ri`8|S6^usr$wUapJu@`mL&j4jw`^UK?NABO7W<5Tb8Lh-4^ z_TEF7MX|kiAKqboI>o2v?Y+nFI3E{zgc?T)$=iGPr7;l=)G{I*q`Fl(coy4xXMu;v zjpr-Qy#Lq6M?TG41-;1P8EMn%vbp$3ku?_vDP<_WU3>2h-Na(YnS z-g}+)aD;y@2{*L)P77_m%4Usc%paq;bNOPDqnsZmIDuzcmuRGlH}65b`J$#boH3Yu zTSZ2N#$Z7P&E6S<^_`I1?7-7lwt^j4^1ZYFDjwbJzhB_Omj!xFI9_LOcph0f@N5t* z0F0%M?7~mWF8p|87Z%gb-BYl)#6WN%w$aZQq~nNl&gVx%rj&d&i0MDLa0K)Lb#jyX zE!b-!`?8lBLepmQ8NiRo&b*xI1bcHM#OnfO?U*ky#MlFP4cAEw$$4!L(@k&$9d@!& z|D6WSMlDGrZ=?RTx{(Q8a|t%{nKbzUVk|}GX_MMzo<5g13-r4F?)J<<)oMxb-j1}d^}doeMhD?C41F!UKFnu z;Kkcrd1XO;>lavWW{*s5OO~dVHN6s0Dg_ZbW80!evQNC zi$3B^vjm8s8aP&Wn){d+Dapf&vKhNz3@)76SO#-0oZ0vmE?g@vREoiwNvZXV67Tw1 zC}ZU*6lt9oz;L_PF*EM%SeGJz@p^8imL==BF$_IRS)E&pfx<)akd zdVlS9?v6T;Obqo}Jeroz4r)nJBxbo>u{ltGVkRNfw=ZehU3LxzSB%(60F76z&kC zOv?&hgV~?xl)im!TxKXYE#gORT&ain-;L|6$|-L+Kg_jxJPzmGh@c!?WSu#FgWi!H zzF~4%7yrA@D)BiO&qM#h?^wtL<8}F@isA|LDdT{@1F8?^Ms2(Bag4>c0Uodo8&3oL zhT?~o1u~r9)PWd9V06XknhqhA+#!c9okJUyk%6)+99ivEyhVj-axHpG|Ne-7OQM)A z?kzP}2QPgn{FQ9X3jx=@Dj91T^#KiF-JiddphM>l(f<$fuu$$eDsz0FMQo`D7s=%! zySxKZ7Vc&I6q{x1oJ#+TX@X3}2!=%p<`|nc9ka^_Pad(^d{w7640*k2u~p^}-Y?>l z_=3`EdhRmAtpg;#(*MOpiq1GK%pW7Gx#_KZ?TUGyDz^-kJ(Ofmqo4EAWv$}k2 z2tu8ui8?A^Y-R9Y0*ubTs##0BZ_>lQ57L0w`W6pp&W3rW!mS7=tupIErGG5SKF`nw zxS{&)HM9JC{%!Z{;A(r5V6+;Vo8z@U<(ewnHp@oX?{G#$WZ!E3$p=F%kW&fBJ(U_E zHT_=Xoj_hnM~8){gAU#cK`J}^wFgVP_*0(}x{90#0gK4V!CXR4gr|<2Akx+uU|L+a zJs+Rr0QC5Lx=`RT^JWNr&f&Sb9v8kh!`?f!kN&qE%-B{iQG^x#_SSUg_{Wr5j15`5 zE6bW)!}dgY3nV8nIXn{K-!Cj4tmYIMn_u$`cGDt z9c=9o{Aizjw;UEJc8JS%FAd3guyRqc;>$d=u$c+Y;WA#0$b zY_uB$1FNyqh_%qJcO~I7q@Kg=4Ym=(bj$(emiF<$GPa@*N|W(3KuNmXp56bU-v@s<^*Wv?vbp93DAPhcT1S~!9{tn1>Lcst;LYAu zOI(kTG!4S$(@4#YHr1rCz2Q%ywj+ihT2kRJjg5x);wXv>s?uXB7t|?FWm_6p^s0;N z9j_PLvloG8z3Q-ZcM96{+Kxp!0HXx%4j6^}foT0XpF$X7VJbs~zmOV$^oJpezdSK} z2Hy%CL+CX13VZO$?%WAJGU`q{dPX~?)hyLu?*Pp1ff86|&_Z=}2w0vI?!uh|uX@UW zM;Tf%C7l*o10A(Akm?>SV0 zzrU((0lM+5i!9*=9|8-Kz;uL3jYV)0$2o=_ijtTX%1K%RIEZd8G?U)0ufBy={JX6q zJLb-R9wD9P*u^w8ycrzkyyeJrP0tB-VxmUBkYI1(xBp0Ak()X* zv9UoZ7pF4Zh|X3RrBYk-+RN#^@rh@91AcruQ51GjON(p4+;$d((FbT`92$ zMC!cb2!0n8u802$`eOqX6BB2gU)=+8S&|s?d2-+M%GNdAo1S^LPLqn!KOr3`$>{fU zC@#X95Ba?5HSBfOYWPU0g_mDJ`32}uWe2Qp;d}74w7Nb!v4k#N)@_14&SZVq=>$Ba=D3uvThxo*%ivR zjHrQpeWfCMzWmvy@c&*vG8NHhO^b@oYs1cH_h~ICqNT0t*!QP7&-Xu>9*)Wv6WM*= z+ZCHq$al;x=1rGnI<$>lpD1~&Q=N>bd77_UAXz@){1}5)(~`;QV7D3A&I%j(U4qya zg|?)48|pa5;(JuJF`w^k8MfI8gbim0tq9xEF0pp{sT~S|{w{9qM0V`MGc_z_?N{73 zs;?l!ovNuQUc_trBhV@cBx0^0g4eb)6w)A-d)kfL`B%zaoxr9$jFS%uyteQ0qL$r_ zzc?P{b*&ke0acV}T9A8Q?O2n=>*4Bqtzf=+d!krU-1!d^k9ksnIA>TQ?Mj^mUoy|%bW-dz3^`4Pgn+7r3k(TlK~ zz&aQFcl9_9)VHVEw=GPEkh8jQ9ov(C7M%YOy-8rmwp=D!53^TYBu~ICauwX;+Vs}e&k;<%054H$XT96azp!8#;?NnUj6i4!XbkP)*e@94ZGC&kY8 znN6bNOEOLVI;wJ?}Gd zrZHxi%!xf~Q3H)4*>J`y zCdR=cPboX<5z;)V)~kqs!3*jtX&b$uu1f#M(ihY$sOztv%%F}5NJgqO@hDx&*9&^tE-e)JVxj*Lt#^G^J@sE;eUDH*Z)+bcS~H5ZBIp*vK^mZ(SftDUYgHff97^S z+du!=hQepTdmj}mRJE_=e(j%(cpdIX;a{#-5q-;ysv?-*+|^AV;c|*gQa7r^flPBu zAJbM)jr_qySju`x#Ycj|LgJsq_`rm+3m=veKt91_rs-0H?_FykFMEzhywYw+fs~PB%b{Yu z6XZxqG>&KQt6t6j!XI2ZoRNSqRWy|pu@l;Genm|&QZtQh`^y@MVe(x+d9Kh%D5_A3 z`9jD_|1`Ua7E1<~UV5NP4NNFITXWT35vDKnu573GdS?wh5;Jyh!fn~BP!PCQmEuRr zl~_!Q^_N&KKfnuJ;`fHM)R)X1Ikc&A%Bv(tkQ$M@40^&BaZTt0n$!-F`pS?rSM3HS zuYV*Kk6`S)%+_C3xOosa^)^dG8xQhWwR~OP8j@KtO@LfPGXJSL7M6c=#Rm9~X7Phda0+bN=mJ5mj=J`3rh< zz(>j1j1j$2>3=HiQqPGj8%g-3L~4k;I7=D~h*57urjcb4$~i>ksPjkoORhf2FN z|53d(rax><`_$I7wOTu#neq0l{8>@CT_?@xOz-O*t`^Ti2O2+b+$BO<)ST_%&7t#a36(HrdVRU zdwn~1WJq5#)A~!!X%iB&Ht7Yrx{)g)06@Ho~V#M{~x@;O)k1$WdaVF?fkc;ZPnVhFirk9lNBf*FI z%;g$k>U;Jfj>`xXIu0?$~loL?exp;UB~yyb5y`d?Qxy?pqbjF78FaTXv;Z9)WSvq_yf<^R|9cig z*V2Ln#GuNwMSG7O?fH^m^Je5G={guPtln}p_Iy7tIvn-Q=k9cuI8-# z4_#eGlaW4+w9C@>roVbfhoZyBg&o#ehyUHBKYsfihD+arHYE>x1WDd?l0(m!+`Nc& zj=I2-l5FrNE48Nl!lPTes3Ci@iBuzTAPPl#@d>bS)zn=wdRS0>1iTmymVd~P@W}x@ zX$bv0+U-G$87opkLx=+2Swo7DGUQ%c3ur)tkLYUB44QG+1JO+WJmR7Snz+IL=ib{P zgO9qK+d;ycc%uFWI8PHu=oquChE@JVW^cVG4K`tsfjo6yCX^2mdz9KV$0W@; z9~wX0evx?)hcX5=e@r55e0Lg;^tBNFCa((qLw7HRe>{7_V0OAc??(>)69HWWO9%eW zh3%jG_Sdb$tvnHVr2ylX1atcjl}6{WgfbncGBKx~i|(eZ4d!!}1&~Noe-}j5LSgE{ zq-IB6`b7*hrZeGiS&XPL{tx3s3aIpFIY(DF1cwpj7a!3yjK)=WWv!75Oo`?G5yyz* zs_2TymCjKrb&?LzZ0;PTDBjA60Ad~YU?|Tm@i%reeb4l}6SF5?xI=yVl_8N#in)asBL0{HaG(t6lH!4MB5S>bKz7RWa#!!+cX!&xF(}(bmq@EV4IPk92e# z9a)tlMl+7z{?w?Of4RHB{{@vOFI5AVlX2;rY>xD(0*!G zlk)fB&0sVyIXYu)zVNQKd0fXfKf5k!Q-P>7*Qw2WuaDY%fj2ERv7pa5{hHv%BTGmj zEIQVzb=^56V_nwQ9UL>3F)@S%4QG_LBud&z6KdPINF;GB*J$mPHLA>Xwt4zj{zuZ{3pl&{6%^N}QO%Eq*=f$U91DZg!phH-#I zpXFV!rAY10_NQ(EWdYVVq*q4#rXl0G{I7olL~rIV2ooOoUx|{JkJz@>^!dy$EdI<+ z*~*-vmWh*Pa)~r*IEOn?7Ifc7)B(~Gs@h^z1Pf!yL{NxLm@}>H4Y4_0QP>HntxA=ce}z z|JSh;bH#zD`i&Re44Te1hR3IukvI0ka)EOtx6DBMl76^=>(oMihq1J&r}*8v4KU0X z;AQ!_dD~jp@<|Ytd5C|hH@I(bV33Y~<>B$S(}37F!QoFUHAI~c+JHdx3+$(hWIx@ce7jvNUuSQ@j(E2P#Jj!XwW+>f z?Q6l4#%t?POU?xj=bGI$%Aac_e-7ICX9x6^ zPyNQ6mvZ^(L;c=B7%KG#?qdvoRauvZ#xmzu4@{&t$1$c3R!&M?@ScGyrpZlZb8kwX zmN|^Sr!F`|Z)i~rc){BpvF@Vuj(O>Wj)`fbwlS#9>92jj=e%AWrE{$}^kEW}fU%=LDqsxD9 zOjBrbl?=o+xjS6@+RWwDF@mNBx3i>)%%NdYo?CCTj0DHgxqCmn=1l_;D<459uF;K= z;dz{y?9@$NaEUlffgPCrs^dYAFqEDb-fE`E4r+HOH7LO<6c{eJ8=OJK*f}r=Rhf!P5ipCmIkjvmP5UP;Ghw^u%eNT&<}FMjywc|ryKxFNT}}Zg$S61- zPsI&~Cl3}c7v#Fc zwjRb0In#D|bo>&0P!LEmkj!Mwv=b0Ga?Pe60pYy6l&DY1wK@Lj{4^lgx>b+A(*7zqZb#}iO|5Dn;)G^>C2yEn<|G{uzu#jIC3UbN{u6z@{sss^aUdm#f z`j)|j3(i;-s0cLyOsD?SUo#`rX1E0KBHifj{$g%RCaik~!brEe8~0ZnCumWiOe;C` zXM`jI1}b8{Xgq(ocAf?$PT)U|Nh_YZ)}>L z`?c__;Agx`>crndKjU?|Kj3F9Vo=)Oc~_%c{=>RAA2Y11dG}%6nht^b5OfyQ5I+&Y zA4d&`7qut*TBviR-OYsSNxOT`eNm*}4cnzD7dEr>FKf5u{W&V1T;8d_!@?Ig;|J;7 z-yTtazGxK#fHbkj~UDdm^gd7ozaw$4ZQZTZY=KDFhu z(&oV}pJBXKfCpDDdai|{t|?_*wS3mKX-KD2Z`QPj{LKnq#$R0X>AclMt9osZ@WB;p zy42&H_*ctkJ0>T4Ge7gseicg3punKSPI6oi|MOL)U9jKJo=BR2PSIHok9G1(n6I_3 z*}jtBCenoRb#=&J%4`pn>9gs*2;6ERZx;x^UlYrmjga(C@^#J@X_&P}PSP612>4bx zcgXtWNHv-BL%k`=6T9DRxXC-r%j{J5e;{|!+tlB<4;(#=`r};ArGb~4%AzD_FTJQ9 z_6Iv_M@1tDp-UR)_rH1YSd7K9EdVDK%Fiq7#E7V_Z^ zCyHkVO<#L(m!rIy{r9U&p%K2y>pHQh`C?KwANg?qE=QkH`d7~H#&}ea38Q`N>QjyJ z9y_6TW-1}NbH`zB+B$w>dTIRxPK~dhxFpb_925u+8g?`1cEn#p`-tjA#WLT4gm|gl z%?d)Tu$Szd9REfRgaEt}XA>{3C2q}Ev2^A*5;|3}psqqQQ@3GN*i6~eYiuUNWXCMZ z9u2a8jp$y-`=6k|*t&%!QU^jN!n2dS)c#!9`AI!EKdI+?AMB46WPRTL6P}-RJTHYI zUDqW_{@EceEIA>J3FCOzY;w5{J0k7!O&X%w3>iM8nBqbT>9Ld7yy;7sBGIK|(ARt4 z*hr#01(5RjeaSFx=yhnN%i><_@=LL%1!nWTwwYg4StQDLAIb0FhxS2> zpr{}$SC0)ozD#`FqPO7Vjt=X53ah8{TZWg9P`io?s~F3{dY>$tz zZR}^DBmWS4SpRC5U;G?8GwuDXqkSWm`5Enj%_;(#Ki}_9Tqvn?z_Ho$*RvcS$1xw) zXa?9b!bl>#YPiY@b$G~U&GuaX{{AixQ#Kc?yLazKmxoF2tmxn4WR2j4q4<+u6*j9qPF6-NLfapGT;CoY0HoX*jzchf-XL}r%o=qUn()YNNEj@~pe#IFWUQvHmE-;CW zPF6XdGv&<(%h{HEsc`PS&I^PIO^4>TjeCIao!6HI!x$t7Tn8tf z0?d#m8lyA&_KRmOCUmFwEQJ-339BTMt=Pjcdhn?kPL^Oe(T=Gp#3=2`hzAQ<+iT&P_(mUK$p4>6$&zT*P zgM!~0C*8h0AtOuk=rEvr%X`HJmPlS8j(9LO)usa&ZV`i?6VgjBH3tHlp?(wj+eZ8e z$Q#{O(^YmD z{#FOSENyKlSpmOXU62Rx!>PWj*QSJZF@eO8tzO%=MRJu#lE;T4dB7@(D5&6<`XsD> za~8jYbNCa^CziQ@y{UNdP00=t!LM_FFumV}lLOk0`SA7DL|s@H;7#(Q)k%7*PPUyW z$b|T*IA#kYSq%{K5PnhMfg6_}lP#UwKvBNz@P`99FDDkKUom=49z=D^#mXIcQ%r5< zPvy>gAW^c_+7kk2a zl)RFUqfXwAid^43{2XXWdx8VdGKCoKA#y}@E#$?h2u?B;{DtEu) z?GyAR|HdsuyC-jIu$9CvbDgcv(JbFj761LX@c-dB#|Q(Ardx7%i3js7b5}?v+*lKb znBaek&(|$pK!jy-1t6w&(YjdyQdIIK*?tE^%xl1qtz8JO#Aqy8bZ)U-iat#ZV zt^aaZ&*oz~^6l!oOU1Xxif<3_Z^BRSi2Q=UGo7o254-rSzb)Lq6Tf}9AH>Vc7xE}O zeAXcmrJs&&2JvQ{=J-1w3Pm!ev>-Uratd90Cy>G#-9LL)zP*mtF-LC|q*J@Bb`ySp zS;4);br&%Z!OuOnL#cvab$o2{g92!DIuNGh4ehm?f^&E$+Hd;ap1IE(JAUr^7h~wo zVHYfr>>x$G7oK}!3h?$wZs=ey;d^_&bhCRS*2$g{J)gC?%)L<8(cZ%I-PL}_V12`v z?Tv?+Xm`-Az9DZDQZ=r1VfmyqSID+IdXIIr%dVk7f#ppky!jZ^d^=`(Ti2$^IuKoN z_t8NX=~=C-KW$x9j@UYK)}-`NSS9f?3IDhswfm6TUHxh94&Bd=(s|Se5RHPDo^7~T z#;dedW>8*%e#}oHRetkJi;&hxH`dS`Ug4 z*7k!p^YXsIK7@jY?aBUv4QtCTv{_CYw7Dc~)83ElKaWey@6e&M|7d@B*614tnJJ?a zexINh`Vt4_U&g64Aj3{3z}t8gBjJSk6ezeodkn?vTi1=VntrE-HT@2MyI6#B`i$U4 z)6VWP2+C3{MHSXRFHh}*htSDf*jE%@k$%y8Yy{h7x7LM-Q~VMY9WGf*yt22wvdVu7 zdkfwC#o^=cWv11F9hzUWp&=@~+i3{l`r3D1Y65S?Dai>B@=}V5;%J6>@^Jj=t&V;w zZ~7#jN^UCTv>Dzwxk;i@UP@4&SYvh=Cp-FxV!xp!;&K}$W9Sf62j7A`wlnP_KUux5 zYa2^GM1Fcx_J;60fo__4<{US|O|;BW!_Olr4!@Xo8`HBJ(u*3?IpoF2e(@w+oA&Cl zH`yMwOQ-4iek~C@fogBLeHP`3DHOO(u?CV3RO6}b11&y zr-Thlrq&!tLm+e?ObJfcqG-SQ(>`N=r@IBKtWQv?-pOw-Tjya!)*>#fp4PG1(m6=m z7rv>rkr@NY%gI~${r`PuzEPzGz5ZULvcy8c4YerOTltKj*`U>mM|s;zX=JLO{PCM6wXK%ahRnAi*nlMi zc!%*?$Y0+=_h@^WyH0AuyUl z7u%@m+T4wj+pw50WkqO6YSVO(+L(HvY%(S!&9p|(}y{9{5A9e_0FA9pS)UhLABe;)13RIaHxlA z2-;Af2MRF!5A;AL!aP0rH5U;*xQB)uF>w1hq6d;Uw?hw{9zaED&?SmL!A$sI9bous2%N$=4bk0_1|#8JTB5BMF+3@{_@LAu|u zspkkuv3(TwyECu2eoMak^52^a{f+_8l&o% z?cHy@LZg9h<>}OFTi1|INzbJCvr#FX4F(@MaHltj!N|)`@k~gc?$xya1AS5qXWqUn zb3teNboGhu5P8U-MNttCB@&6QX;x=8FKQnVc z`N#Eq9vo~mvW3aPgzL)*g@lFtMpP>sQ7x(xZnL1Ya9@jdVSQI@KU!EnU9D>8E^!Q6~5}{3I9~jPqD2-Css~*%MQd-Su#6#9`hxnPY{K& zQV3oU<=5Z>ISlqPq;c|q2-RhSQD{Vdt z;=uy0dZvo6oarvO=3IKr??3E!=}(+Wh4ES{6-9+sOQmX%@#SYMZ3AvVQ>|8ot%VJJ z_zL>V{84?oyW1GKEpP$W3q6p2?R!=qe1X6FCgI>J2@mD|PQMeYj0y1I` zYbnr=MoT{;N?b)K_1!ZU0h&bCeQYNnh<>YHhgw=0$S72#@Pzo9Ji9Z~H)@+mrcpSO>WM`H;aEvhS?*MIJ% zMaPG36+oqB6{}3aZ>MPiI!!c~NFkxHpOfWQ5qFY!p6N=B%x|@m+84aZWf8vS>lhym z=Ty)O`c!*zxa(SFcsup`LmY>NO6&%fXnh)5D(a#Zaxz%#FTl*oLCkh>?vu$}4Ivv*R(7ll) z$ai=TvFY>`k^B|bKT#Dp_+XvXo~s&5K9Jf&KY2T@p66E%g`H91tw4A(v-@#0C&pM2 z;ah_Bt9J%-3H3zYkHeBX;byGxxg)l{J)=Gx=sP@YM3#ctP(O)_hHUR8QYq>Z@{?H+ z1Tqt_V~U@m2N+X55n&huZe^}d)SvNJ1*YpPA1MO4<;GawHEU>~qm;t+cKX?oPSi;r zjw3rzCSpWyL;EiB82ZU;O{-nQ|K>16Em(SMBfn)^~ymBrL;n!9t;o-LpCY&sC~^0ZuGeg)Dg zqIQ{*j=Q8SD0+^)J3j44_CVQ#H$P-M@m3iivcsqJi+17#KV7@+Y2dT1=zZuU+{{86 z?-zNu(yav2y){+}S=O zmYZl&bgUfuYDmY>aJy=?d+1fNyo#v{e24{VVb<3J{*7I@wzy=gvmDjb-+*_yduh*7Z98iyfN}hTDDq zlEGm;CZ)UM7MoK?aFSp5pw?}8u%{MGiA&F(6WZ~Mq2c%pr@Ga?1N(iS4O-$~$PSK` ztgcVbg$YwPl*5ZzO1qK=A+R4hvJ!C_51Ev=6kivB%sG;2ic5JmGX`T ztBCt3s*afXB$#Dn-qEML^H69lpIq`%S;RI5f3lZoYb?xjS#osdd+0a~$T_)Hf`2q( z)ln~{j(U63JC3yD{oBk^Nn^(%Bp5;8tIPvu0Wjgdi^?muoyW_x+Nk6AUeJ2W8Tc;z zL6#}@jA{PQC(>^OA2K5Fa3SWd7xppIb!Onc_@H&=h0>8%c z{-$I`@1;a;9M*bmB20k}P8g|?h6imToYr#75UNH$qJuVf)!TjfBgO%zU`2qbH&d&^ zFvp2w#DhW9cq31QIMbL#EDWCL`e6^)aEeoorDl9yx+FDBE_Tg>6oK0dK+63T_XF0ws1F)fMXIXnF0B{HRb z2%RQ(GNjX?T<=Xk5!M;Whml!aa%f}+yNSk}Fnk@q$b+S1EcFeKp~hG&{Z{&Y5WmEK z8643mYf~p`Qn|MZ_#!wQsf7S;qD<`K|H~v&o zn-o%#Y$x%S>~(6!H$SSTc(uR_gLM`%ruCghzuS_(iDkO8o0He%9uMV28xPbQyw@2^ zuF{D5d-G$CdexNFso#zMa@WeArlD!0#k5l-&JMLLGuX@w2dkOx00czs8+?bWXg((} za36JZwza9#r2Pl5#S2VR-VC%O4G-yfFp6)X<7;>+(AEsc8=b2_yax9FcxeCEi2{Zn zt@EKT6l-}AY7*SaUH@Ck1r%Vi!w>6YhJpEE8i90?;F=#7>+5+vAg9%hP9S=Ni_zKA z`HdXAmp$;~#Zm}4mlKjk?CT1Lm)~}I)Jo4bx7Qi5Hu9)_OI3&OI6QCCdPheTo}(@h z`70Q4YsQDn?kUbq}qX44t&ST&0SJm2fs@=e*@d?y644jHhQT`Y`{bP)FNlU zvm$9?Gj*&nL@^O`1<=L#ZF&bM=h0zgW|f@lc1rqrI_AsZUuKFEUb_8onqsArr?~pd z`M2)K)A?v71%C9B(^zm*tY($PfFcitfX4`()Su@^^YIIPj2^?w)FDIbf*&=eUk#tT z#;6;)5mOywBo9~Qz8s76-I`z|ze+iA@x{cQwkz&b`mxv63j`(Z6#k|9f;tarz4%dk z@~X(wwI^=`GB1X_h{jdtDK&^&CYtuwkIa4wQf-srIM5g3La-thNvZG53NFNA!Ojv^ zNg>oHT>L<~xx#;r_^s;7L(qT{F#)b7jF|&9h8uOpB=t$uSiKcW+HU)PLiLJ zf6cw3eD$-VVbcUy|89MT>g`R}yCGwB@veFV7K3{&^>fzOMvS$>-)%l*?o{qD=`*X# zsptgE7;m=c-SdQhH7}8E`;v~|u!0B{e@Q$g)n4RcvzST>S%6P_l#0ZREeG6-4y5){9tPc&VG~R^nB&f0$ z&6DkhRj$!pJyMmFQ%FKSWf8^C?7U~MReVkBDRFP)ki}C6qbGh>{O3J0&}Hh7>DrSk zN2b;{-As#haNpAITgPSxDjt!IxD7i; z=m3lgz3%5AWpMW2C(T;0DS+(g1*M1R+Zamwp**=4>XaWd= zcK%V&&K>7OOryUR#G4tbMqnzvDuLZgX0JNxTf|i0J4uN-qVmL2k4R+qnnkID#dIM2 zscpGT%8rCGmDwm%U@)U4(zsICi#s!u zK*u>5EwqLt@LP=cGmc<3-III7jIv%zp$&=5XoN%1Tcm|zxUB&-wMn%O{=uIJjl(<{`3W@30oo7oA@iH=%soeC5;X(Tx2vfqL%7|a zdng|yn|w}B=7&!n$vriLa5`1y$n!Jt50Q1DB#7hRcZ&sR^OHz+6%qJ8HU)@gg$w)X z%nu^NjT8Nwzk|Hrm#Itiujd%^VxiyZqkiTuMn_+I!RYA9og+HhZJcxz$!X4X6k3Yy zJmchABzGNp5BArtcOw;(1@k{J%)bMq&~7PUzv9()oEKq#99rzKpRM}ne7ZiP^on@N z!a^OPXdj$lN+P-;y08ni?lX_~b(Sn9_w*Z49=SLDA?Q$Oum4S=WLaom$Zv{p;T8*b z*%HZ1oPR{cLSsXxvL7Th$I=|vj8-q-usHQDB&r5duk-8UCada$tArK2^8^KJ+&pW^ zo+01|<}q^uC73Sl($$+T+*vSEJFiP_l<6(!l}qih0t>uKK2aBcI=Igf{&uw0`(N%ai(2Q|-R)-_U!=-UVX^WPI z=PX{E8+U~cvH~U}GySW-Gk@0FuKuUv3k=;CLtn1inA63t9w%(b>$8K`ebyw zRqhz4=N-o{T*_q7S@^eR7fWwZ>0wDL7UtpY;G~Z*xr~7ROP=N+`3itrW3f)Q#rpIe&Q5`yP&?Tzvk7*p~a?; z$lLNf_@#*Wzq^XxmsWHP9;VVa<`BQU6pYlrh*y{j-so3#Ia@zRxz*_c>fJ zZ<8kO?5h?JH-fpKu`(^GN|hEA55|FaUCg@yF@caw#KaVIqj9o2d9B(7B~Vfs=+^1O zxESsj@lzBLi&bD%bAJ$t`w$C3AkJRwPbo4JU9oN)iwDW*P{Afu9p|pO1iX|5;iW(4 zD2epT$fLyXIsY@PNV9e^DrKv0KbZ9pIFmhOJT2e0L`o5BQr39e!CmBt^4g{f9&rd)8W`kXYu-CG@bZRmw2n`hCn{aQmHBi{ja#zh*KbC$Is%G)v zn?=+7YS1Y*bQ;C3BO{OF@7g-rEnk`K&&%?&MSq$YQ-WS$+QGnj#~&FfhGjvUdHdcq z$B25hjpQ#+dhQU;yYI<1?_@P=RnhNp>Jc*MXx@vN_k8A!+cBE=MS(c1(f9N!P0xR% z>$}^A_};J1WF7zoCU}T9eGhhn|HmIW@W=sOPmTE267Jftq@FN1@2b)6&Y1%HxHGFS zK=;}A;jyKHCb9X~@id-wWjra%X)93aAG$_z&m+|;0Iu4%`*6L{yX?T{#@JGxS*HNux=yLy8cI<$6)il}zZC~cr@NJBN%KgiE`xWo1 zMLeO+C3;%8`>?&=>yhem_m~g4P?tt8Gt(+`m}UuNx!mG^X}1&ty$TN#e8B$~#xzU4 z&=MgcQd!L}f8R<@`7u$BQ3jHncCv@shBI)nftG{i275$mx|1ToAVD>8Ns)(EZnrj=k=``t8hQMI2|8t16 zUR*l`QgtqG&G0`*Ge@s~2R;X0HkCy3=+s7D>B1}F{^hF~*d4I=0SSM33Fk-FST_^i z5a?4U8t7L7`c)TB0qm~=_BQ~#yK}lhS+nI49{}#HX5O9xAip}j6v11dd&H;K9e1cHzkcJqhIsj7ELI4FVL9t5oy0j?T`k zuJXIhQ7B{$H^diYkl-#1V*oIi2UO@_%1(Saf%j!{#N9~riBdmQJ^3!)q{u+;`I()h z_FWW-s;0wjmXlZa&H;yLN?XoUtj_Kb(KXPTZ$Zn@Yl4k4r9O z!|IsInh#aOIzD6}`NL_dl4)nfy$9G7+Enpu?^l}JxqEbZ?&%pt8&|U%;AY3)Bo%2V zzu9pQpT;#G@(5xzsDVLp#kA>?PrYjn0ztesp-Heee+1Ik6D;bt962kk7Jh=sdHh_w zS@DkB{2yKb^3CUyPQ$6P;Z*u-S9cu9%UoO6A|mILfc_we?pNF|5<|Q}WWSS@klYMg zfpUKqnPYs!Mn_~<5Xu7o2m#*1&6*cd;VOok+eA<*!~q!yWQhpLM#_*W|D2P`G^F#7$g;`K#w@eA~}oy;Vp{ z9!3La3q@xX)kXQM=68wWvqX}=lD|5dmQ8;O^J~YNQ>Zw1wS#;as(YKnP7nz#dsSh; z!M|+>0=H1F_$|Y7dPSOF^2F-w+Jd}a@UPsWwnRd2)Q`~4+{W+VD*oj6VpmAW$UCSKjNG=lTnKrOxEh#1Qgal@@|MR|AvDE$RFv?v&>6S4EidfymHR1ZkQx-j{P5AH$Bnm`sncb8^`xKId%X0$9I&TNkbGpj$g$&!bm+{-4K(f01n}Y#in9$|oS<5e^9tuU)TEI~}A0BHr^K5z*n~ z26O?#OV!s9KJIIg;styh*?Ig(p84^HrB@Y>Mr0mQSi3Y2#<2PHBb}qsj6Ymn?%xTv zm@mEoeki3TXd*Pr!3Vi<@J&vmn894#?3TGLW`$(J8g;EqOS_6ZMCwF5W{x=8596s7 zD5)51s95;^3DNta9q_f2Ezi|UDe%$8)$#RGhG@+P`mjKMQHHkqpQa^F48LWQPJ>b) z*@Z_Tf9PO5XYW0c3PTEM=?IVD;je?oCvmPjdN6jDq&%@(32K2S?c=u|9 zNBbucJSL%?7T}>6Pf{p$X+8=YcX|oh!yXP4uMle%o?{r%bKtwpduEaM%#s*t!!8R1 zn7Oj82fLz%Pnx0UezWVZCEwqsx-gJ0U-vAQUf?~m)O+Rw|C(%}jcYlq%hCD5^PPTN zc>X11w)69ge_eRK7&6lN`S(^7o*(hrSD(K}u2nRLKa&LB`TH#tR*9Y;aRtu{$Oc}D z9$28rYY1I=!PF|cw5}rp)G8Hu)93M&E%)U^3iF>;@FUFNbU%w@fp70^d|L%1>F%6j zYeG?czqyc-Z$zIFV$IRc{TEOQ>n+-re=Dk2CaE%%7xM+s^73LI#*>$Rq&XMzcK=N~ z4Jy;WnMft-c|~)MpExN0}y?4TG1pNGW8c}jxgv0Etq;A|uW<-d`0`i^8dNszDUhm#;vFYr54 zBd^0e-R(GxiGK+9sp_P;x+&B{mSjl*Qx}APb_e<)dCQW1RnIG!${&XhQC@{y=f7_Q zBeKI^{V3W_yC1=J8l`s`?~hFWO1-ERr_u*95BXBMK+YrX{=}7-@rFP8pwxvI$zyhr zo{98(uAg{jqRcKhC=cKpX)QR}rYA^ecK%JHw_a+jwLYHK@uSKPXW6`A+|BQ4JdC?h zC}Uo}G<#8$Kc{Rdmh)@#d*|^ypFbyQ)}n0+`MsZ9ov1!i0&JZoHb&BOJlDtaH97lV6v3jVu%x*cO|1Y8kKYw}?=B`kDt;;&$Xnod{^VrN9(B6+(_OD_*) zIYws6mp7)DG?K<1#(N?gE8deaCG==sFwaH?KTc$RRGv9rIZ4YK2>@Eska1bKiU-Th z?if$=TUmUsjWi)?C%G2N&LLNy1-|3nk*mY}frI%GX6kuu-{m6Mk3XGYX;z5PjvWum z^gF=FLRD_qKK(?s9!CY45-_b^3Y&rqdHS zaC`Ri*jP^Fg|Req(qabD>)0wAN=-DB3pw#m-S0*BYJ`8Xv}|-;7IpVQ*xgcE!s4Rt zCQvTE&i1?KH^!rsH629ai1VyXxT`o#CtgX`L%l|1A5hOZ`*&+uT36%w}V9ZNbYI zPxoI^k9$$B9(fnN){}Y7$zz+2&h)R5<76(y((u4`Yo4#GwQmv>^qlBNWX}&n89oN@ z!yIwg02h`g4gt9SJ{R9w;73X~{u+LiJT>G+$+3z+%np2s%2F05JN#F)lSs4j`T7wN zKl%Q!5aH#h<{|gm2 z53%b5XK)=X=WCNkZ9jOakDvoC&eZ3ZHCMpz={h;C&_(mD!6y6Md?eYg@7ZX>z zQ$Iqx$PN4se#f7@zI{>1zwkvWvJM{RrS{Q}kdLXJMj@`W^FVH-slq_K>AiVdyzF08 zxY1@t==+eJ4_o`ex(=nOEvEFa!y~zf(+|RZQ9}`&8eu-l@DRCx+`%3>fuN}q zIgw)aJZ(F+(pX+SX%^l0`e8iCF_MA^#TOq5#@7#aFpmw_|EIFx+U7O$`KL`B_OXNO z18+#hfnDv*ulB_!VPADYrTTJu3-Q8i9)Ddc^JOoz4lePgABI)YIe3Ea^V9LiFn)Ls zZp4VzfB_|c;DQ0z8$NAlLzE$iy0i>DII!uFr0Mpoy2p%*VIYRE<*LWk@0HY`@@cZ4r(Sbo;!i zi*sjZ=#>5ObKKee?`^Y|fMUXR1B_e3-{}1Gsk?qD%^JsnbI)s;9QzhfPS1js(2xf%EjlG z*(!x5(aqLzk7{BX7B;5e(&3cZe%)xBhxXk+@~-gtcA}NsxCjta2)oyM z6qHIkB`D(uouq)0LJB5X0z8EI;};qG zKGcT)Pr@U^5s7cwCT`IQZnrMdwjS8N({+$hVE$2qr;oHcGlyRW+@BCo0a50~6leeSK zVbIQw{ttdNkYPeJOh=|&eBOLy@11OMAm`fqdF}P?J!A-mx;ZKa%jzs3?jEl^S#}Ek&v;WSI1|o4NIqS8}|Ac}4 zNz#JsKx1KhBaKgOgk6BxA+r} ziY|F6<;$wPPilmIgvl34y?BV-2%}!YkTwakTdaXF`sFgc>GMbM3*%P2)GXc5CVAYR zR9EYwP2pR?9sIF*9iv(uyQ8nbZz3Dm<(MjD#CdPQh)R&4OK`)-QZha@f)|J2)rBD| zP*RJYwAe>Ipbd5!NkGa!tI{(Fq;?#8X0VXBPC8d*us_`w88BQuqOnv7mLsj)zl;o9 z>18fdvTB6M2JB)2%w-Y>?`7{mjd16myTi|Ql*c)t4{rVOYG4&{E+gLHn8>Nb#y#`= zv)!2s79)SvBhDR%oZF1zF#@L9=e*mBJ#r2nc|GG$XBMzj-ze4I?XUd4QC^GNH*Xpd z%GI}SE4`3BkX8OINUcZ;=x|)sF7jr6fLKYWn}7K0$ZV9Shw$x%hmcz8h5g9Ai?9ei zL3jt!(4ePoCoH)gvFMn$IalkTgLwNkTR)foG65t>WX^DWWHc9z*@1K6U(5d{YQJ)O z@oT5>R+#9OPLwQ)@^Kv>>Bk)M`TvS4kRH!jbIV-5mnr}}LDQV~p4Wq|4nQ;Y8!p0B zFzlH`$)`tbdpA$7GZ)$E$y=FC-rn;87nHnj$PW7gHgXT`#nPWebSuyAWY9u>I0rUz z{{66#^%5XhpODGPr{&;&t01Lg2saA!-t;Sk=Z{2qUhw}7;Fj%QAz`$CbyRfF*IsU+ z9VWm1d?;;O!CmyFVaQ8f+r9cwCm1@sR8ChuK8=tKcixTHX3*w4X9XZ4`8mF0wDK?! z*TEU@pXBZ}dU=sVJ$LS2p5yMP&E&_}B8 zY%KW#a9REQGaSEEuvI=&>V7W7FUK95t$y2RH|ODsMS{1KUl)svi&>gkr3xn6zfkv{ zIuzNSO}9!u!oITBnjPvta=o*!h*MT6fUv&|CLchABlv`IgR!uVSiQ2k3yY@wrC=L> z@_1#&B?7wlB*kT!m_dU0qP8Bwaalw*8$n5=Uvup{en%eclPn2stGxZyfI0>O3Y-$7 zUsD+J%ZfM_8dzO}+=8$_Z6b~a#AI^4*wC*VV7@YLwOvAo!KM5G=hY=7O<>{=#86;@ z!i_P$EYdd)GT1*jR$I)`3DGNPK-q*^bhix)JDG3mjGno3W`c)!iv4Px>WXBCAHFyH z{pWjjwp(|ke>&EVxIPG|m3<$_y7geSddFDBiVnrZ<9H#e&Jl5(Q-AJ)6OeLZ*$2M_ zy~?&3-ZXqrf9^cpuAlW~c`SQZ@gu+f+_`$BLx`*DXKgLd&d5LZ;KFc4t?=~oP{S_KfOMN!ALs#&jb;-8Y z&4*sTPg}d4@!=gi>mLJoe!#5wf_A{X4HItsJ4+NU`hET`G)C@!i!hv8 z&Iq3Ce1BF3DlfvEZ#$La8t400;B1jJgUa@_ki?@&@F{r-5;W+$rWsM1cbm%`i9t72)A_`PS=`Rndd=)YZjfVGzc4_5hi{aSRV zv|2WmpR*%6ce6qF=!OW;So;0+h9dpDCo}-1U(Ivg?GFC^SG(r9$1sTRp2vSn#3%kp zBeusU2lYy}*BOys{bR z8E5=EC`EyH$;LPFlME54WqIu~VyKSJlztE=f7id}FwrDQq89+dG!_Xo%=z(IYs(TP zYjeFL`rSIaDn8_8&OI|Y??mKTdBdSz!=bpFcKnR;IGLm2kr!7s96Gv!o0YoxTy`X| zoyS?wG_`u8H@S<~t1JJ-E4*GuS18kC3y1_%EFj3728Re~GGgS~iAPoTBt z&C()|u7N~XvQPI?rUpBX#Tl6SlnnT`idfjR-Xkgvnk~Z4{1i!NO8^zJJ3>^*F zD&REhJVuor^v9db47S?}d3RL6X-GBq!&Ir<1FZi`!pQXd&+bh7{?7M+F$g(K2ctjr zVb~bR6CLFG{m&1Pf4+Y{B0g_uUyuY}S{;lR4aGR+|JT6+%Iwa_dXxstVAC6Fiw#BB z{{#y#7%6m2Zy<%l|H&B)H{{$LP)hz(Hg4>p6 z0-k;9zqcfOz)rn3&Q4VdPF|jz-WR}rj`A{Oo{x71I~ zr8R91&9N5aHAX9n*lNShe8)e6oJYij=odv5|B zReAPtClEDM^aMqX3T@P=afMW%>HN)>kl!mg`<~Khon0|)W=~ubohXFt3RK1W{OC^=|5?TN4Gx2 z9o*QZr^O>=?Db@1yrQUQ-t4U=@o!#aYRRbbiczQa{zW9d)fs9V-|06zaQQ;8q-=Eq z!yJDk1Kw`U0h(!#mo7LETgw93Th@5Lp8uuyYjnpwreE;WFKKfv;m4?sQ%A9)j-TZ2 zP7~Z+hO2QE?R08zog=^+{nPhK`Q8Qgy-C6M#&7O>FS+mS7JTo+qjJAj*zS8@71^kA zQ&8IX#3Q;IgEjT{tBR`Q^WXTa+Bx}FCnt2M^`4#< z$$zKmQ;PLHN_~;e>-$rNM|rhkH}EDwV$q|CsBZi@NOwQ4%fXREHA3n@xeO1anA$*b z9B8(>3@mmQBxIq`9>W`*Slekl1Y2*P4(p$Azl+ypXZ{?|{gaB)Xv!qVmrt9j1i9e5 zzr6*bOI9x8kAKw94077`yNB0h9~;S>fu@zvh=LjvRe4imu9vf2FF)-{FNM~N5^^|r zGH(bfw=ZPjdbU4rk@&~{p?@=e>ku$WK`H;B%J8~$^tud&M4`#Z@<0aw#BgXNY!C6< z)brf;KY!C^QK?y6^;4wuC;X2l2K-U(ercV<{kq^cIeQgSa`EGGSB3p-1T~rdztk*GiSa2UD(c#j$q~TSsQ_Oakzrn<#X@|fI&l9 zxaAr6+*On>*?WftwzGZt<3G}^{kqY2Cw3z|De1oi>ppcy_x4+F*xOfj;q9^Zc6!>6 zUe8^il|N!V$6!+n;ZyuMWiSc}Hk$7I{i(wh&F_G~HEJF31y47q2m@IC>O%f4Se=V( z!t;~ekLZ}pUi`v)db}Z-_}6c&6yPqW-$OgNUcX>j3Rc@1!@{xC89V_zj&v(Cb-u04 zC;aiR?A(4`r~cZty1}&?SVXIyCJk>2kD6ayd_J*{n&LcKsEI{6hZXI9Kozj|#mmu-n1|3@6Y( zYy%2Ex#XDwhRm+h_pgq`o4uAYxeKz$t&y9;s&KlPZMZwE zv`A6J{KDtj?@BMVeGk3hEQ&)|>y3W-!@VAJ{nmy$$ZUJ*L)eBXL+O`mx^|)p!6AJJ$)EPkZUFq zeE#Uoe?A?{(I>YhVBPcu7XJBp?cxOs=*sVL(Ps5i-c#EohrF%|DZR&c@t#5#yjAZh z^3o|Nn!cof>M8k6pOx$3cJ^?)VjgxV=)w_k^f&%3lKlW~!g!QVoAy}&C-UloE?1XU zP(`lofie6~1m;mNp>lvJ8pMyTaBW3D8|{t2lz%*2+i?CCZO!#e$%Wj*yg!`Z9mvlk zco+Y8MvuHXibKiUO#eJ@wC6nD!t;4&DkPR8ghF(Fj(d^ykJ-T#ZdZIhpAKYbER%T} z#(;#V(xRe3tuKub&w8k;^bPU$t1lht?KiA+the9or4xC_+wY#zDfai_(mU+03vcxH zd#-dE*KN+6h-xxcx|;h)f%3Aci!Y5xkc|*oSVBNqK~HY#PSI%g_8({U$QwO6;&;I( zyCMFOs^e-UrV4srkZvt7uUv85@{N_czHFP>P5R4>+mPtaMAK@9;@W5WJ4^sLq@Nt_ zCQF@d=y#hLZ#wLn(vfP-LTb2l-;*hbi$mQIEf0wcC zunS!syHF0`4#(J3rdP}v%qnT9L@_ejM_IneAcrAko`Hvuc{grn9|+S7 z-RB%(Q?8zcOv-Njs&D7|Uqlu^R{0(0f7Cc9Jx~2um%01l>`(97x(#97utLA0i)6vK zIqLGRjUh|I3 zFFk9DTRpE?fvvgreZ{G{b)FXelh*l`V4WwYuhTk{7g8oKR6X}AP1N1a-qlE5Xgrm3 zcp%|pid=VJn%^^TY849w#1J0-59#8ojjp*&D#`7Z;#?(8^UQqz(7wwzf@R+Q^$Etm zfNil4TWXv_e-X+zU=9KJGt$RI;?q?$ZNnTL{1a2#cWFn!jGplQ%3i1R$n!T!l_NFi z#GWSu0)TO0SV!0Y@>-GP-q%1F3_muhiGR=;y8Em(PxSuubUHcnOx?1_C(N7@#Db-X zycJ^H0x4*Z82w}5=mTUfjVE|~tV5B)==xQZ29j!o*8qY@M^Gr>6G{ABMRA$?D*w&r z8Aek&e_VIKsA+wV3*R}Xz9A{_xHRH1SD6LP|kxZ=>IXIGd z#x2f9&Myk6#EaaUW7B2J+LnU_&a}U>L46h4pxT<9ux0sYD1ZWLQGjKiIg1Rj!XjJh zP~UiGhO>9n#+EjoUcOO|rR21k!`UdHDns3$5Dw<*rnzhnDe`V0TUBeVbY-*rXYbaS znQ&ILJfBHoTU}ywD?B&J%4-VXyguI^zAv^EaF*KIbY`7~+Sd=#7cSg|5sKR~Ki1Sm zPPN58XgpQKmZapauk)3x?5F;2r@wTIzjmyalXkWqS^tEbg(>q#j%29%ro{&TM&1oJ zf@*Z2y-tIZjJMRrIMhq{J{r~PrVa44UvhEzDdw*77?`v=IS_jozJu~l4<>N)@Z}q0 z7&PA%U2=2U3Nr-?Y;sc0@y|Gr4>ipqnTu4o=w2b`L5#y|^`ZWWe!qu@9)Cp8!9Bdh z3X|SMrqU19vvu(e7K@tr*C&)O$o3N1D=R<1r5c<2)+`q1^6lK0+s2YOxOC&3S8YR& zZO5wGe4C4c^>xpmhey%W%rC*+I&7Qe8p+@Xi=n&4QZz_0<(~#_f@kS~nP< z?kiPRbw}!CRLt?3q(#+dw#IDXKBTLo3jN z5v|2P6bfV@G@TJ6ds`l#!NuhZKrwn2lUL@_cLr*AO8k$Eb}HSQ}jTkx@z?ou(r;Q z9Nmpi!~V8)n+w0!>JJBl18=2xD_y*EHT7q`$%?~4NpRT}nEzevtiX$%o?j@@k~DF0 zAi!$_>Uk<(Gi=&o^evqX&WG{^Tg=anAPCi9uzYFq+sD!U=wxTy%eNZNSHk&4!u;n) zZ!NjY@}FN-pFiE);%cylXZ^<>7yb|;xt|~PiJsQ;?fkAzY^~eMU+!NrT>JAi3&CJp z0)q22xRQe=g7keqZ5kL>yQQ}zRpQ9dcwlSl3|ve?3G~WXp}iugHG=GJQSKwe-k%0a2sV z8vh~kR~AV~V+Qs>zCIA8i})Byy2=8HwC0~7uDK%J_&H7%rTzgk)dij}Job;`QL2^g z$-s++70~HV5@_hWW))6R!_yuUxU{4%4z`4PR9dv?NPjSc)xHLUy#~f5SgJRW0^BM^ zFBg2PpA$KW>gSN`{<%23Apd(~_&p}7cH8QuXWUEj{`y5?C?|BK?yjj|?5e_J^9AZQ z`bWSH1trgBJ%Ti1h+}GjIH47(GMbXF(aC@3uuF0kG}m3H&@T7}Ij-{ZP2|aZCr>IR z@RsFCCFrTA?h-M3UTi&0kte?soRp>e*!biOuCrOjN8Y^*DKWX#_56|BEqawGKAIA& zxhk%!nCZp-t}YUNC4B;EJeH;gfFO19XDiK9?~(K|IdZr2_Xz7zs%BfYDp+spP5wlZ zBl&pwn5*B`HqU1$kDgqUAYJl;=yBnD@{i=b+yBLTp5)lZ-{ruM38~W&Qm1>(FVIN< zk4>|Ygl8)G*81`Ffl-$%_q{ejeJ;0w(+e6_QC^~CnCX8k{tO5S@_ z=#u>r?Nj5elZmX3^#jbjQ~iRRi~Dt~@%rP;)2sBzWWN=94sYSFK2-qR5}c<2O4%9z z8fS>r{(S_m*y&$O(<9?GYw;_c4Oh9c@ts7kQlPUsc{GRqGyi#)(JGcT&_qe3p5z=$SO#>iO&8p0dh#$B<_4ja} zjs6}xy3V_7w)u-NYh~~7yZ$QVQ@|WxD)^L{{&iq_c0YO;%OboGZwa`9RysI$wtqAm z6bK|y3FS2XS->Tn6xy3$8cbX}3C>M)z=STxAKY;^?|_3;2~nH{?>K$WH8H&*2Za!Osjt2@G~s!-mP-1*EutL=P7xOcNJ2mE2`FF;Fhj@*7k;uPJgJ_gIy2+SJQ z!yqZfLYmgVf7jo*u~NEeSOqqx#(VmLu5x%BIYbj`eZlQmi@*AOU0agwlWorMX9%B7 z>o-QLOxlvz;2(L2+>OLyA$Rx>4-h!c(z{ChPNv$HSYLRcx9lJ_eZsR1$>UeUGG48IEdQ@E* zUB{la$V23luted++b|{5p~fos<we`fjejp9gF`SVeR z)W=CW{H;ZK&U{g_0NNDs1jG1{e_a|x!mQd$Se#R>gNQ)^$ShbxFZMO~pX?m-ao8U= zfvm>w(JvnYRc7#AsOR@4FXLldh>!MSwKgXssa~uP7xI=Ys<))czzG`6?my=X3_Y`t zwRw*5kpn24{&3t%!wyuQAOc@6s@&V*ercZ;ZOXIJo=;B?5VckXqn=~1OtJufy56?lRX0fdztTKQ3NoP`n`4K+Dm7ii33@nI1tNgoXtnp6y!Hn z{q5ATyy@tn+jKi;9NGI)?#Qk@+8x<}e-vaa=g7W`^RVMf_xyGlrIAygyLreiVxebe zF}zHjos)FIT9uGg?n44cwjZxOLi(tV`|i69iG!N zy7)?*b;~ez9H>G#JyS~c9Pmp4u-yi*g>`SPS6!Nx?U%j8XVZN3-I zGu6sJ;d{aTFLb|0w!Mp+p(H4>-0sRGvU6Rcqrv}q0B&}C&iF)N&bIbdA%*xm+MXR9 zT(bUJcX^a66w2f!l^YHDYE^$r9g&@f_Olk4Q@tO~+X~e;JcpsfrT&zr#Oq29SnV|r zpnta5;ti#HEVjCIQ;aVjYkcv1+AE+lHb*}aTifVWao1{q1oQV1GB>8CF!=Bst_$hr z9(r=2rUiiWg)%rkz%-~IRHY@3$mY^BunE{Yi+(~7wmSQVj(Mq7usvb6Vg(U}mKbJ<*>4#{o{aqaM|fBN>y4%rBy+HaC=2 zVny~~>Bt)d7h-5j+$OY&Gv23w4}QY=cC;#24K&4nXx%b(p1#wqcSgSw?PU9NDm2f% zmRoggbY-YdcQGG}gP6zYTgb_ZcU(J8L4<3n=zJaI$LsT7 z;~*!_x9Emu)+CZRgEPD$dP#k}v^0{eUn@KM=X7Lz6}9Zhya_7J)FW0lYy889=O&=y zyw^zyfIWOax+*8nIyv(#4Y8YF4Ihjo&gUGFPhJ=Uc;22D8eezMT|6Oq>j!fNQXTlm z-PfwJ^pJo577&Q|w~y)^F{t=JX)}DwaNk~jMe3LSnTK#XDnK}8(;5ME8&hLO{o{b0pa_ZoT|5J@TT+dVx}*loCN{!U#6}X zF3IpWVZH;xO!^3y4gx}~U3Gk8YP5Ack)AR$%m%>Yt*j7#Q0q(VDCMIq2LAmJzME9< z;B&9}1Ve5T$`~^q-yBJl>zpCIOdSQq$=4H8U+qSBjiKeL3_W-cYLik9fuP@N;H3dY z6d3Df-2Cm%cUP6e@89wj7dPdE`5kjtySI%DU2KoOwn%i)YS+j^oGp@@T@+l zaKz7Ol_?b3Nw3HRI2!x_+DmPxQ9jMKf^rFG`cw$MOtg>aOYJP%QlvPG!IIiqAz2IKb1V%&?nf^mBU(c;PT z+G1SRG04|4hfTCf39;w-U?CdZ}r~7zQidR_Px9J7O?M;!oH`qZVvkjE)386H(qKVN#8=mj-~(xbNE;Jr#8jE z%MaZW{te>I|9-9*%Qb{ih47guu)HP0zot|VV$FkkqQbvHl(X>fsmkxWpe|WIPt#3S z-bZ&}K*pPuPb4-43e*?t^EaA9j^Nno`3^PSz8nQxYN8NecwV#myxjVhjcPs%oa5G|a>~4))oLJ)v`E_TUHj#eQ25d4R$) z@ZiPXfK^TUBsc289qLO2V zsi=P1?iHQSFb|>Z7X5`PQ4Hm%nV$W*C{Gq%KLH(EZQ|H_`jsQ?mRJfY|42+#p>D~v z9R9obLQn_9DCAjGiw6*P{A2`Dz=hE?U8>Jo&>Non>AE^_ou{u!b^rf(uY zzLZXz(>Im#(tk(aw86il#)xogq~}gQN#K(N7Dg;egud|S%^~2`~%7`y!d1E zO%0j%YDu6dST;WH7wTVp+(G&gd}w!mr@HZveaC@DsGr*U9Y+$6s&pjrJ`T3iPxVfvHKlK6dvSt007`BXlYG3O% ztDiz9164t$4m3TD=v0*igRFk4@$^7Hr5uc=pPKoGqen!~XAdo}q{K02@mq#2NjwVa z&7u63o(e_Cy3_-0+Gq4ts^><|D5tLypC^6Q%b~tXGJ8f}b%!oOeO2$58LFnyMqlMk zzKhQUI;*GZ^VcEj+P*n`Reh+h8sPL*gk87QSIvPq&57<^mpHU$Y^-NpVCrLY#T~DV^BJ0-y)=O5Obclnaj6Nya z);@cS^jA6d*<3vm`Ic8G-*TWwx>6qu&s#>HBqeU3PaNvd_zCw)f;p+0FD zzf+&_Pr={LEtgu%P>2|f+w_&4-KMQAun8GVu#6VeGl2Kpp{nDa56$hMpOB7IUf z^3tY`-s)e_&&}Cuc0={LS^8Q2+K;o>Tz}eT>8GQIo442esog78o7!vkg1kU4p>d+6 zIfQf^4wqZD*K{@UC)Zwc7fzL%wb#V$fg`7jH$ycyXRm4T3^g0oY-g{Tx=TnkOUeSO zxfy%SsiK;#;1DNFwWXTi?SEyjx#v_zHzn>N4QAo>zfV5{d(9-i03>GQwU90k1q1#w z`Z>_(=RdR8jG^a%ege(1*OVYJw71tx=R5y4{rq}!_L@81G}b2d&+Rqu^PMbyfz$dQ zu-B}6o%4=}c=#_IJ-n$Yq=#h-LwY!F$!6^}7c)Exh@+RogX3IXuvW6yv?9HoG|JJ# zTzgHAz+RI}40xNU$^DdFQ|CH*_%H1@h(RKHr$8b%Sr77DUF0vbUm5$&cMMy`6lcF#nCjS$-u}nzH*>Jx ztoNEl&;Jwln~Ps%;uCY|ZN`3cik?WtijlcvqN^R zB*$m;iD(laL$@Lu&Ss1^Z_j3SxVLt#CNw_q1@VD!S#eM&_6*dC8%}OZQmbJ40)3)v z;7-r+M}GOG2M2W`&FOWP|K!m|pp0ujosI*&UiU@vYjSGFYMnaFGp1E6=wbmO0D7xG z2Fn)K8hf{!y(>qAkhkCem5^xV8g4>8G?l0jYotT$ zy{FbzI>d=Qrg2E$zG23J9x+H(nQNB~^4ZFWqx6AOv@pCNJ4_cappg9WJspyN933i9 z@St=A$;u<lQ{5Px%JC6M(TZyh36k?UIpQX#Ja_z770n~(RL>uQ;qQShbS&ftNJTy{5ubm!<6emRBSBQ(pvML@4+ z^0dZsQ##uzdBoChi2pnr(~2w>(hnj+=%+lMNxi5HmS3jY>JvkJT+Js^s?m}8&gS)l zrIl4Tjjg{PsVFTL)8_50@<96!6 zQznRM-oTwNsRiSloGRZoT&hIfPM)^#a{N11M6u_rlYf=`IvTHUi%(zmnx&9TJ)C(j zQ+G3=T?*~smvLc+?}qqdOyOkU?|#;=!8Gyj!u}c(U8%cyk&*}~G6QtipJ@2d0zP_5 zb)vt?LrV8k7nWPvTHlb0hO=S@@U+>&aoumAcc)Lw!J|sJp0UF`*pUDBX6-Nv5y&Fc zueE{g?J&bi_e9AB-jHIRe~`UU%*z;4mEOaxpY$}0qvd!6izIc=`6DyFpDM&)JoD0VNhOVP|SP6tV-A%&NyoqzcynRx9sLh439eqi_Na3uM6>SzVPo~ zv-nr_w_Lr@1mB%xe@>J6JI=uH|_|1Z~x%}orJeD@)H;Z=IBEMOC+<%n$OU+;#r{EBxl~j@A7Br}@pZ`O5zResk|*0)A8e zLB?-B@sIzX-~8X>H#79YPk`xC%RuZuf(317kCy-CKe0C>YHU_tp8xbeu{UofzTu;x zZISInNH(za&-CRh+r6?GeR(Fnp}oGmf7gGeFJIbS%$18^Fx{*_j!=`(%IxABoHpG* z-X1tB^S>A0u)$wDH)~~Xr!T)cFVvT>E(-MJo3S!me8ZztLsIag_2pmv>VH~azJM>} z>L)^d!hb)$;Td|iJuy}Jmh87kBk_A`#O zZT~Yz+C~#u=IqDoUkJ%se?V%B@eP5#JU6~U`tnD9xn+HMZhXV0`tr@hH)QqYh(Yjb zvLEN_%ZKIKkB0>M@=Sa~(-Rqb5yUr0)A;YjHxNF)@IMvb(EELcCg^HoFa8he$8Y_c zP4r*IH=r6ff0xvMD850e_W!;3hK2ug@eP4~{67`naKhiAm$~r`8GCfKp1Ami4O`Za z1Ld2uM_=sXl*=b%)-`XJGF2Barq{B8V6j?jFil8~!<2{TH4iylDpI1crg!aBW}&mEIHTlFIl!{_lk^_sPv z$Z!~3=m+%}E?v=wg1Ea|!Z?%cbM!`;xIC}`2wKr%4Lish2plWbZms*p;s^&>$5ZD!+$uHps0fmC-vbVUU>}k#njg1w?0o zsdrYre03|w)=Tw7)Cqcs2KJ@e1yB|g3@G))Xy3J5(?2P;Qh&QMyR`XPdFii&>DI9CN2W?C`sk>_w?-O{G%Bdb@q3 z&Mo!?>LiWhfz!-Tlu%V>sc_H`e}|c+?hs@J`ix+V(QT{ES-!b1uSrQ%U$Mk%-i8IQ zCr$y?GXCJ-NYngqpg*rkj12TQOQSbSfAjlLedAE0MX59C)9H6|^)DrG7hBN3EPL?Z(!acR zWG?P&qkm}^uhk3PMHXkx@@Ki2EIS7|`j>Oa*c&RbrGIhOJ`zWCML)tRmn!?c50_ca z$y<0X107h zf^$TO1*1Ypq-}sBE9$7*N}^HYy|Bc;lVn;Xq;Fp8-8hZBcoaR^H$Yxlufv%+`J0yo zh2^6kz=SEu@ztfxSE-@V7XeEBGaL=`_PvVZQ9>^J43t z$;p%LHCNIimEfN&JY@N@iR^F?QW#W}mu)zsXv zX812riwys@p$-4Fgh%1|Z_j^O90Y4evd(|Xe~ASixt$|~&yXWgmwy!noDHS?!_&() zqS0ZuoM#2}EQeq7VyE&57R-yCz>kn`8=&?_@{jZL$ntGo>@4n@1oRtz1pJ%VthOoT z4#;KWw3cviVF=QxvY}}~@#`u|?M36w$*0F=^Y+PjoO#fhArH*UjlLRbi|D{ddNP1rmabkdN->x7@pNBdK`(FlSGO z|L`B;i5C0IZQWuICeb2H33nDh6mlHh7*YU3TNk5MY7 z7OPjV7WJEwXqyVoQm&TYAqp{T-2mdJIw3zd;;gnjzxs;rUB(`XeEwfa)tJS!5~lm^ z7fzYrX*>C=>|6ex_COZG=s5A%g-X~&skIrPVE=7m(?j!NTyLp?8NP`q$qh2%m*f-7-73tH+%6D>#F8TEWME;#RPerDT*}!EFzQ zE4b`Qm+$CN_o+}Xc`&c0NuX4f=kKMT&jk6cSl>5mgt6PN?-rJJ;h+BL(!Q^y{S_9{ zwoAJNpOcV`x%AG#($295wzTKj$_1;s(c;0JQPy6_S=Aj=nN^+e%@$X6g5MYPvgxX3 z;E~PC_`lIo>w0`Ax2}&P>Nt92B({_DdyNgAA*4B5Xem)kgZzxr{ zs(4p?eiaKOlnA@scK{5iGA+lywShRDj_G)c{d4~qxCcdl$-!&j>>W6oH6*DT9gr+I z-)l~g*Awi0`Ofk6O-p|0w^g*ZYT`y{|L?)C{!zdi-*~4#dz-AhV|1AFarWPIz$kyA zfoxV^gDu6Mh=v*mM`d)raaTS|d^sHjM_u`8U%%Zb$FW`Gv#IM9;F6VeSw8p0t@uN^ z6n`*MQgz~}VmeY8cqiK+p^|cvWLw>j5Y){yreh*+nElAKR>kta5|$&OpwAth&DN0u zAO{a`!rMrHFuqj2I(4H8VpL1Cqz%@OV)%7bdz&28L+sK==(&WX|rq>Ey z^N&3vfK0gEyBIlKA|-7od^G87!^fspXl=T@m}G(97O=3*#k?S=H03OfkXb#CWRCpQ zvd!HsYj}D|kK-h~JKktil^UR?+NXNoJpb_l`sf_L6InS)!4j-1xzn|@(c558TfCYV~Ggg9yg zO6ex*Q$E#_Ao6}cGMH#?v0qywv@5wjU+F({o)E&U#Z>69rZ5{frqo}#m_qsl zz51-Eb>bMd0G{U&F3|WZ0uckdGC?JGI<-<8zZid-UrfAA-bcb2-cy&cll|J%qqwYC zt}1e1izH5RlF1k@WJM~ABzt`a>Kbl+5sbE)(+Dlm`KwQCTdn*k-egt7;DDTwqh5lp zR42|bH_j3C)j<9dOKW(vb&SVK1BrAgMXuFK9#ld18GO-@*xJ-q&3Tc0 zAHWOcvI`j`NqHo1C4MULN$yXPcp6VdBIX2$EJlxke+^PS;kRj<$oSK#4^7;QF&GW)c>IaZpr1uSKBM|X z1Nx}BUh_bX4)t_q!h5~zHJ`=%GLR@t#wxOZo9TKz!%E*BtY5se97If zwxnauHMNfX9i}Leh$`J56`u-bk}>x6zEYA%)dh5*7(BalNPXfE3zPOH&tw32p`EK_ zEcZ9$x5x=?^px7fx#-eRMr)TE5*Io^P%_&H9Zet$3z>nwv%D~@f~vm{zHAS zv{h^6^!&EvQ4KRV+IY0a~a}_=ytU%vw*@JVO_>7R#{0##6E@^ zKP>}a9g==9*mr#|)F0jiltix&C3({`Hq|ChB0tKxwx18^L-!D6!+x$nzlc*ehY))P zFeRkqpDgbv23V3>Z4nzacG4~>-5C|nn_n8~8PU&3Pxn(p(lhvBP{pKg7-kl&_&0&= zM0!8Wcck|hc>gO$V6yV1J44dDgI>Ho{0`^H!O7q^xP1|~Aq=TeTGK%Ovju0n)DJ5% zQd-wBTKWm8c`RfO;V=vtG0COLww+k^*l{hUS_vw(yW`$ zaWjzjl}XZkeB*ChC6_Bcm(nDsEK00Yln=zdE#3z#-be%BbHT9q{C4!3Ss%6&Om`4J zYS1b==UGm%G?sRpmGL{+tk^dEcG(@t!^K@oT^73zUVs95#om4+O2@h)dO<-hU6iOg z*Azyfi=Mi;g9`-Zsz^Lm`j~#BIsFbJI(b_bP32nDl*8Y z%WF!-KX|v17_#iGHQw=Wc(pTB&Eg2g!5eRSx6SZs?9M^lS>v5Fzb3w3NnzGRy#29B zow(DACpvOp1Rm~FO)bGPSi4inyL$+NlO>iH6`yTx)-|9A;q86IG=M6}yzr@i z0*N~T+F=wW5jpZ6{f^A(1%4DaZJG?zK{R^vQ(h`xApH--huYeCV863#z=K05zfyx? zWK4COxVSZ1e%(H`e1%5N+8&SX+_=uFblDV&l;k&33uC>`OhlC!s6}1ib?KT9OH=_S z@nY|R+mv3BZIo3}5K&)RrOvpa&PIDX-(ZkIX}gywUH8UlZx`5*(cX^OJya*Ir{5c1 zq+J<;nf_yhBUxufa#L^RCu|E`iWtzS2|3CVYbkQwGZx#%E+ePSpv zc2q;Lcgon9*J%q!=a*#La){KnzO=;k>=*FNDiR2N*jVfv#z^_3ba%J??XW$#+60hs zK(bAzzL6|;ndBJr1UbX@duhU?{~ z+cE7;^Pi=Q^s^w%7;S}m01Z(3FjaM|u9!`BE~pSB1Xv=<3^0Q56~e^qRR93;v+3LX z3s1J#?&PmY{1Tb|NkM%+Co<^IKa12GaUYbkd((=1<_$osnnq!#q7Y!F>zHuv1!whE z0+jlslpGyU)bvAs+2UMTYa{XoB9X9=?g34!-Tj!16oAQZ|d~koF>ubOAj33L!5T~t@`p%*)ZYgHsU$qJ(!3}|6SxbLzqEk^Jcs(3`z2MQXor7hSfb8M$>;*TlYFJPORdfIt`lr9TEI26rI(RRFSh>;enhI9QYyLr$ko74Ep;o!KeS0IoKZ8lc zt=FlyNKG%bElef&T)2FqQMz^0wEVF{nhI4^$ryCHt4>i&rN5S z_RNpQfV47|d6_hvfuzPU`k-InbowC%?PrcKGQ8tGykEqJfxW-v!yBsXyw1pj?A7Se z5x)blz*`CT)(GBmlGOWm^Wr-&lDv4XUesbKV-iOrSy^zioq}aINQIy!_CLEl=O8wa z;WBkAFZ*9AH-V74wm|suRNH2t)9*7U*bbo>yA4__OdZK&1NlGWFVgh67{{(+xR1eW zWNQ>wjrH-h@L4CAheUK(ed0W0@CG+H&xp#y$`L;@>zU0j^D6-&wF~P;b^Swq{=QpaOv*&UMUi`w--heUQ$isy2D;kGe<}tU*5ip(lMoVhY3a zOo=upugS!(#6!7~cMVL53!lH*`n%AHLdFay3#cK~eMQh;&uo8(yAqa7*54rY*Hj;* zUsQiCoy|$~SD!fAiA2BTg1ngIo>r2N{f*xXbf%0p*nP#%AzY#O42%-W+}sUQ9*;R}>ML z^qTw8IQ?Sil@wGJkzYatsUuPm6;&FeHm~GXqP!Nkh{nTOis#cjHGzL>q}Q?J(Q~7> zNtn3F@u!WG(%0w{iOUh*qxb5`9l?`p(>K|Exg64El#y_7SO+G+1h?wQM6cE0)_i|x zxjA#z_9a$w+(&g_phEvT^np5}$34Q4mO&t>hs#F>$-36BWAxB|TSpJ@o?4FvxX?eE z6g?b>K0WL}%pDq{ggJkPY(j)6+nws`F9YY~rJ9a0KP<}6%*s)zhvzro@8fGtA^L;T z!Wa8vzo2{753qW7;gJwKKWk*EU|W%96Tt{r=9F z*a7Cw;{K!vfoM@^;|G4_`B#Ip;DAs!w9tvpqUkD3U!uBhC}*t9UkB4q8ym83T0^m) zAD|!NB)~?^@vEK}%SpOP5Tk$hrT&wrwy zrdbr|&EX*2e!*r=c+)k0;5chMj>hRXg2BAKV43RL#kLZtbmX7#e6it>kk0D0A-=jM zzFd{|Ui38QuxQ_V=vW!U{;u2I>DCh8xbJ4{0Rs*aW>T2~6THx@ngUG)*QB&%e>lG+ zy*%J5DbjFaqr{t3X`P$CqZWmN&74lni+!$DzGu}k=Z^w>iQnu+Jb9=rQ>c15EI#p* zP2W+rWVUw$N$ybqW%1LKGuG?P|QViRv-Tu zViPLmZvh2qJ=$lzpGeC*e=yoX_ipq8ZS)*}F05(#xd0ETALb%X?w9l1e70HpxR7!oIN71xwiPxb%oX0-YbV7D+%I7c3kQXUvXfz>wh0HSJ@UNjs7amxz#wO<pg&HVIjG}N#CR#Y^&v|mok@Vsk4#qhf?Zlj@7<%+Y_ zr$itl`jS-)Ia~VWz;t57(Kgb{npXbZF4aJN_VaeyPM$vlv1gkg&58)j;`OpJ79Km zuzmbPEoes9&X+9Tc=Qr~JUGl@h+GEF=xF$vltgCx(Eh9KL+Klx9xQ9$DyJ7M=x@>~Z0Htn0co>np55K$Za%K`8ooMg*+ znk{D~w$NZXS7|wQOy{D?aMNH>qvyomH(bh+w)lTCaYcwTI?xskB)iHlp63=#uyx5| zof%$n=#-Nr|K+98%T#MG$oT`SLP2tNuXrT2tV})Cf>4$~uF*Ml`f=vy2Sz>Pe z0}Jw0IDbEVi5CkPI%S2cEDBW-*rVM)L*(a4AN(jdD%YzJ7x%AjNX41 zH)|KR6dh*^L47x68!_?`9U}OUUB}-M8IW4FtbuaXH-2Etz;-(OcL+Np{l1KsWq<+5 zg`LcP>WyGMy3kVVas20QJsz*ndWanua7{=*k~eX}SEL`wyzeh+-ef&osbnjBimv!@ z2|HDZp`9sKSh41Uos<3Z;{!TJ;s?H?VNt8u;52_-{DQ*B^yMA>{aFxNN8*%2o|7h# z@kCZDZ_dENLjJs1#XtV|^_s0c|4R+nE%kpkl!Z@RYE>pvJ8(ff{Bamys*lAWAa!qb z{4FLsZ)iQcgJ@@7$2C{gmmU#`Q%Z0MW2jDC4ub0Lt;a_6u=D-BSB0eTL>O7N3WRHkfFT zZv3J2CzW@Jp@ljA@0(aw8k8?ER7~w#;oqM19ZPUnNsKM>fAgU5Mgdj$_(mP#jWUWK zlOG|eZ_}525xY%w;*!69A4x{?Bgw8U8hRwY0cS-rs`jJkIEuDNvX)Yc>!XJ_(q!Y& zUShmnc8Rhy}98=r!iGm%!*zXNfeY)^^81?UXu{(#7jz#$U7=o`hz~? zHSca{o{kX&m}rUrF{p%>OY9CP-~~|_^?ioyx@zY9FSJZ0{!+WigmKu?#7k5nGNq*N zj?Y0$W)lymJV}-mA(-9K00`;q$X@_9vZ>S9L=8}n+OWw1+zM0{Rv+Vv0jth?{1qU@ zX)6o;gR#8MsqL%|fKv2Ky+3WIczSqQsCbgGi^cvBaXCLa!GCk1DIHFgR;efg?JBC$ zui;W)4x#@Mv-tm2G@l>v|6BerQBUEJMbQa$ao@S)3hjv)08D}Dg(1Fm%7L+{GXwX@j-}9@Oga?&p>zBv4^8Y)J`ExHhG}%} z_{~JoDGpTecmUMI2rVTJ@;jnfpW-iq8@o_ zFEb6Jr^xtaKgiQSEptPC{>P@4;dv0o@VqTykkwo!m-=MATrYb+Oiy->gZP*6r?vNy z4CdqFRsN(`aVeA5ASOYwAvxl0ls3KZ3Hk~3MB}@wpU9}LH$^PwCDbPznka)4DYq@@ zljXW*)>s0PA(pp=dLAeoZe_Ky>my5JeZ_aqzuO=r{k$8uvtt%IJw@Yv^3|)WNO{fs zbCA+6h5M1KRro+!g?EBTmO1Hp>c_gw-49of^j%xGKtCmmKKd!S5v<))TnNWG?4RCT zRLP!vHt>&c<4@rFv!%xrYF>MH(;xbz_3EfBfb+UUA6b&&9>BxGs3<28GR{HaBF=9% z9A-TT%R)IA$2l4YejWTV%&mY6kmxkliar}3PxsH9pU~dh2WwyRCG_L8Ig7pK2p6eY z{9|+}Y$qSo=3(45wB=MeGpGZnWt|25tNs>>U%h*>y*rWVpvSL5HKTo;7X6df`IfLH z-0jA6B3v)(6)3ek^%3q6ZM@CZ*KCZZuP@gj%FC%`PAdFkFmHmuuK4_ZKH-l=26^Ep z{1P+I+7~FYRTf(?j%A931_~~!xuQ^Y z{c71Xzaf4p$hCpeA?Flh64A(W;N3p1m4$Y>`tbg)46=EJ^%i|rBpqKR%F3NBuU5=R z%#Yu_Ap06uO}sI0aH88+{wVU0D}57d;Z3gO%((PT+x@=8@KsP%Hi#EFNjgC73WVWp zKzRlr^q?B5gdHX3s+enIo>R1@88AN11C@_xQbYdy_W6ihec+6~ZwAf%`}SEb<<8eq zf+E`Ca5%##qBLtPT!Fs~F{vJHALX8HoSY{1qYC`z#t{qjlriZCMIs;#60WIY`o+sgYoodC+6T(v?^vpu#NlT9UM0kA ziKRt(zjz&B(P8^J@6bhC`UcJOFaHI?URR!G@e`_vxfBV?vyp>$Yfwl_4{H8!84n^w zSsa<{h0jRk1wWI|dm851Uk4XElWj`XZXbt$m7(!M6Q$wq|AI5lfu(Y8@%E1vcJfClow2m^y;>$-FuW{8exKhj2|9w zsMaQNf+Il#xlrFjj!Je`Hmif_T)}WyjBznh_hSNlQ=iz&rL!ARpOF+^SSHL}38$s6Qs=Ooj!&vj3}%ju$Ml$qT}2S(*^tv5d+k@LzP15XV8elh zi3_Po72OG38!f6!^fWJ{PQh~_zq$(YVQ&j&Rb90z{(^UE@y~L8MJwc=M1JdxU(vDJ z@DP7FdPJ=_`6qEENtUEK4^rZNmA$C zkDm=ih*1Ao!3SZ5D*4|;(zj&3m#y2R@*LR!pxbN>ZZEx=zpixCC*tTp7+AkBlGn$b zH7~;7iPrW>Gm)ovbL(pJNbYoRH#V{&?ZxD$5lQs*zh7tei6!7i;l!~zp%WsBhpm(P z#68wYYF@@qDjbmnc}YJ4pHtWd~UQ9Nd|q&^W$h`$qUux|2^L@=>yOs)&{eH2+W{}>Zq&=J4{ zPl&|3mYy0(6zpB5_XV_w+q=Kdsh3Tcdv>!>SABGa^3}Ui-UnnGE3GP@D{URhFrz(X zSc8XPaI;NQdM#72!59cfbxSEW(CI^%ECmKzkZXv7K9}2diC!xK$tdA4vN0TBn(M}Q zL~MjUu_sAtNN%_17wVlR45y!lh zFbp7F_oXhV=DioD;l+FTW!fjPapX6YUFnk2eqPg^Tx&W#k4zM-PZU>IERKF8`3b4t zUn^xlzvCZD;`x*-$xt(FE;fy&&tg${ziG*L4aw4lUbFIlF{9FKgHIZP^KhNM}mSf%RCaI9j;xIkD0^ z_@)2!Til8M!sVrQ(?e%@e@-GGoLV&mviL<%4?=lwRs2j?`1T~#GSp%MP2-5%NE%ne)A*Z{}a56jys#5 z;EhhkmsLTpH;w-%s-J1N_^}W91^WVjEbb22LXG`o=^fmKf*1MkuW};AB<h&J9WX3x%6ud?fg&v7o|I(3wh z{VJy8DAFmlUIgFUb$NQb8{%wTu+Ns)Ns;7R)c=V7CIaAc0%rG zD=d%Z1L8O8C6+D{A#^-WcJvo=Gc;xe^0qW+n*zDNbd8`pben`68K-&!Fu?)BPV2w< ziA0_Eb#Cp@_Vn}dv;uP#p$F{XKgnZl?{J~8J~{$-VpWDlUo0pFuqO%LQ(jxTECiJ;MF$Z~NI#sJn{HW}Jf><}78EpdmO9{%e4P znDs%04yRSb0!aTOgJ$dUYb(}zlN9eKxEn6u8e+I5HH|atVIsdrN=)}= zA2s1VHOUK5nHFdgdGQ1PT!V9W>|zF7gJ*fuEa?3`!8C;`!UGM}Uy>*jX0MK~L>*l# z$WV91{?~grqFEeYDI1l~C9Zm!6eo_>{U`S8nWwzRFc0o`rrz1$M6a(0C;B-HXQBT* zGL}w%E!ww>Iz-QBKXCAJb>0=8ib!2l@rpO8H@~fSJoF~^fuFg-MjH0-#d@i6IKcR4 znwFpU4{-~@+$NRMLh;?Kkk;*B)-S*xZXY3rS}Q{f_lewc)ziP7UywQB2$(4Rfg=fr zTwou(=KJwAOFhOv0C{j;vt!W78tGq*NuC4bBCJScN4gXt-`X{0`ecz?FI z^~L>X7aYufjp$gwuO8T_KDU5{AGEt;(mNa7K&aX&FRyV36D_E(_$0c2HQW_()H{(q z{P4WSC7HEQ1AiSnM)mBi^J&?*P@MNjt-~0x-(yosCbH@H{TaNIz5}+hOkmR<&%TQ9 zdFuD(4L?!O1O4JWpejShbS4^La+Jr0=I9l)>RKJ83&fhR?)oEiZ9=VrCPoUIh4N=z;-^l$eU(8HblN5g2l<>d z(c&}~@-!pe3ggwspDdlIo5=%_%|W8hqc{?ene(~CDT!L*^T&clC!}`__7y=VBBTCc z;3El8&r)h05rE*iuWY%s@Dox|U?z|U0;KtSdUNzT&M(Ri0;JXP4XGooC0zx0CCK}H zG%XM@)uJpH{(?zF(SvqG`f7Yv(HwR1qg`WIi#0QmQo`Iw;jb~_xP@0f^O{G|j4~qi z@!1XW`PkcSJ|B9`+G{I@2#+&YpB<;qa-J*~j2Clt#{!M8>WCpCHN2ZT< zz6#19Jll{sIH=!pATWZy zzlv_xJFjbQPgjEAg6Ue66=7 z*}N+?)tIjg-(~8-*zzZi!ATFU_+Zx|X2hVwS7Dw5_zdy_c(E_Q6VR?8VN{^^trN%c z4*%3MA;<7^6)*3FVd#qP*LjEUiBznlUNSxNkp|_>e?w#cjIpcgYCTa^HoNobjnc?o zYz#l@Txd!2R{G9y{NoaIjHT(u=nixx z66>7BYnlM+3iD@a)ekgava2+|%!O$(Y7-}-`#FcUi=w+o_p?JLga6BX!`3BptmKQV z6a<{7B1_k=Q{G2stSWV$Q7w1`33DHRv=PfvYMC)^+LmgZ3q)5^51=ryNryIciGh#pHDBZY^d9B3kH7>AzN-wCN*88~vIG$TY?326CejED>E09yH+bJl^} zR4pU&@5d1|q*wn!UJZRxPJ2vVywgm~LV69@rZ{eBtZ<9J?h=z>cdNDr?Zwy#Gk0R_ zQ3skBTiiyB%^oJ;#FR9$Q=-sAM^mWCVi!<6i8bKYR*fShBA%Lrtcq28h}$w65kz;{ z&&_F~)gPpXVte0}kdGa9xgWb%x8%Q8E!N;h)}gjyS>qcLs+}zA?1BDm2pGDFxK`Y= zAde&hvrojy59h#C(S_=xwS1jFaD{#`_1XRb_#San{4Of!M9-#``To9otUlta?0tK? z0}Zj?n*t&=)J_HTC)7{byye!3L<*1Y&njDvGY=m1XCY7fSI(hBHn1oVgB+b5HIm4hiOvSG}jlc9j#zSo{&uT$u86w*Na? zSZCkRKJX3N{u_;2ZbEX37;7!4TK*UNoP>A(n%~QbDgW~0f;egSiBH2%Y-gWPOD6C4 z&>(~{j z`J7l^eR8kxlP=Qy=^@mB?16#sysMJjvFGcr?k#VW7)*R)B$0{ok| zPpU42|LWv;eA+nA_~<2T^CKwBYbw@X+E7U|agE+9C-{g1D)bRR1Fw2X4-6~&} zx@7c-^;9a4;xCZfboBJs|CB=M`l zBjdyR6gCYg&QI-UgK_*j$NrZG%D)f|Qpq^x@pte$^C({sK+f*?(P=D#k`OA#!z#PS z0+CyO=0K!*v5|(a>1iK^K+oTtZaxMtoln0fx_;rW6&aA1Qa&lZBL}GAbDRUzV`QA> z@(#VVh;xf}I;mIpw5D#nYF`$#pXl0;rM+u?GOgWlV+YA+VsPRwp z7wDFfIk_%&47xZg=wjxMHoWgghl9UM?GL4kHuRw#zP#e|X9N&(jUbp@%8p^6q$H9( zFyBVsc|YwK#l!eECAMvz+jy|#y&Fv7nWLfHO$gwMS?aWnh7vgdONIJxCC1+$tzJ6n z95?y-{ORoI5M;6P%?mr`v8lyO6pFd7KIsCi(7^U9Wq&ECuE;j@4|Ik9y1%=et#k$6 zT;-pLSB*HEZRx64DRS`Y3wI`9Z3QxN3-a+P3N8~(F5uaDx0g<2oB(2HF77cVL6Ns3 zz5Pxt9g9HT_&a*(O3PIQ$o81;P42{)P@WcVZ2XDST71hPRZtxvlY#uo?9kcO2B-3} z4mLRX*>gt6auvZEQRT*qA)O&d;svGtK42Ec(G3?I1Ps24Qx*SW{@~;);4O;iud%zh1JR9 zIw%xj1GV3(=C2g#`TH5t49`M-5RJ!2vDKfEPdYN3Qbmva=F_Eh_p3oijHL0sNTL_D zi1g$vo~YBrj`8(1`+ZB7^L^5Z(B~=i>DqDLg~zMZN#8>**q42@CDC`ZoBpxcZ>{oo zbf69`Jp$c1xd}u(MWml|PohDcSvW?!AL!rE1_^{l4xrzs0}Y3__f* zZn2v$@-OQ$tW@iCgWK_|AGAj@Lf9iM*$u`idRJd(kK+8B+EzbR2lnIgb>$oVUbsq| zlLMGStM%k>g~C3wXT^Hv!Z-fN?Ps7`d8yYqiT=4#*KFZDW?jtSVj?+b5B*~KG#4J@ z#V(;U@5-M72+1MeP5hQn2xa+rv5HUlCG-v(Vx)3^R4vtshT`%?;^{b0=6)%|uZ+Xl zAsB6nuOymji9dy15NZ~w?M|=$5%M{V$YTQ1v8!C{D$px?lSG5+5|Y051G7Mj0tHe@{lMxK} zO=bF;B()w^K+Z&;j5*0`E`WMfCmM^0Jb^uo1g?--M3Xw{3aP`CpO(PN<|>ep954D6 zcrma_o;UgD%&H$bV8-z`Ib_4cZ}Yv$`)j7B!L`as#Mq+sIC6*UI0tpQ&=&HC-F49j zKf_nid#aXzB`m8~*BGC%3x|HpncSt^SGUaXMa@&uC(gvLgsj&6n|)c0q%F za|Aa+53I8Pr(&%Kd`qkUdw!aID5afL_A3@j$LdH#33NaPU@iXHG&51`cA9CJ36?+` zrcL~a!E3$PRDUQgC8;u2!L3guUzDEpg}M0}&2Wo0#y^*32xsoowp#9Y@t0B_!0+C( z_3RKW?6;NIyge;yH8Ovn=W>?sABzS4;}{bN?~_9)VNOfU~-ZNzCzs4hOJuzAJh=cT^TnajYp_{%t! z$5#K2TKuuCncZoYsU)+kr}IT!z^}LZzYZ>J;TnRA zo_bOhT-drC!i89n172|aN)ulETn;!n--z1=pQ5 zGXw~O&`caxm>f%R-*`ZKH3W)Sj$ZG(zQ#Q%BSlT$bBf1ZSv`Bu&fBEKhZv^Cbzz}Y ziLA#n>>KORY0q#y4uxW+(jpK%z12P4G4oXP%u<$Yx)QJ5r~MV@0!V2wDs9;LmroLX z>$z8EWsbRkKF(w;0d~0eZ(2ej3aJlHhkZoLE%-wj+k7G8)P4`)wzfF(oZI3%I@uPd zM}%8^`Dl7QgmKeo+=<3zo~>IYx&=I$%=8oSrXg_sATE;&1FqG9cMsZ_8;gS^02gDo>uqxTWyQ zeDPO7SN4(G;Qh+r{Tto;%_oFQ5!L%;;rnK=%=AOlQ6_yi{tEWaaglo@bs)&*SO&MTvBN zDRd+fFAKr~a*5{aJQe~p)lzB}c86e1%k@1%>d@}&qo2vjjXyQnW{kS-Cdq+&+Xe#| zTpulq86tsBJ`ACy9z zR<{JLzQD(k%X2cV=BrhVR{lP-LptyL%g2Cy1OM`ezTM~lj(_<{3?`trp`G===wCjJ zo`m;8yU%~szq~%^C$uB{f84+PkKX_dVmPw&`+vp1d?$?~+55Hi`=E!$CM$LK|4ILH z{DH3%oMrvW@0Skv?!d47`t&XMmFI{srcWS}%Dl5Avu-6NMjPpc@N?%sW&gsW;q;{B z7ig*FN*a?hEZS=S@k?PM=bH41hI5X8CoUH9!4%84r?o*eZS{BiNJ=-a`D&rPOL@mI z&m4cjYGFW>)-(M>e`QT#LVZnsXY_Sd-c2q35E`302mWrDezr;~y%oORl$T$q!vobO z$qwO8hQeMQCXsm*>v_GE2V14#D15^|g%{JE0{stcNC=bMuBSpSV|n}t{c z+}2Vdw_+ylJ#1_j8}TP@eTMN#LDSMxMQ_lrbe+a>70#~eM0TMn3qr!+P?dK=`80AA z&jiWF7?4y{xzHKL4~IDhlB3y!To{7J}>NE4s%sZAL{%T0|vA-0LUR9rru);I^*V$7T^eWl2 zV@KMNA{KQGKy*y80nxc53|Q!YLJkN{P)nC@SPjH%%+DL=QIqNP=iU zI7p{FD=OrmHy6>5;ee_LVf;f-bCgKVK{+u-TZcQFv~oCCcwIV|dRzkxGh^B1h~!g4@NA{AwKBi+Uc{+=s7$vdJ>dzl?3YKP7A-- zC$GwT3gWOf8+#bQ>BZ>&6r z_J=Shc*WK&U3Z1j!Rs!Ak!|*KJJcYO7`W={u@;+#-F$04e8K z1$frgrTMTvaWUZ<8>4Simu3zgE!4z5lDTkb8{`I5#i1!E&Gj>k;I7d*UY|er@Qoh@ zbX?+eZ@!y}H&niiy7+>+Wc@tw#S+DmCMyr2TSgl4h2CW6$2)=k`n`yi=O7QX?IA4+UzxV(A?>zU%^N@bGI!m28RdwoA)j3>tLSYW)44w!#ywykk4pwgL#9@gv5fB-8#nojt&LIKQXH#2M*% zDq~UFKb1Xlryt#C{aNrYe3nnCig=XDC|2|x$>;srhamKL|HDWGYI#A^d1AM2GtbH| zd2$#p4*8d)J;CH(QW@=5bb7pe2M$5K+iVvNjF4Uemz1Lorzh4j%NUd^@L(f_E5xsK z!@m$TWWLM9!92xRsi+gL{$cLq|JBC^!EDAyO8PTvQsU^ewO%T}p^)~8ijy7X--JJI ze817q6zjusBn`Os41b7rg}F6?Ez|kxCLX5dBkKy|BTr-xiFGTIGMy){Jk)A~3FaxJ!npn9HB6!qJd!wMrYgE7 zaS@eU`3#SYh-af832}?K5PQTcdpr5x@%o`seVT*&>asxcPfj*Sq<` zD2e+qj*#eWL?QT>>a&*hu=UaPBU=;x`1wX_=);G}yR97L{ocG+P4WI$+V=&4_on|Q z#)3KF&HfsFjC_D=fS}vQq`JM;FJepBcKe5wDvtemED5&Difi@j%-*c&&#-g!h3T(s zC-i3tFs46;d|~=C_jLMm2cNkDGW17#FIX#ZwRfFo?H_!YoNfE_Gy6g(mH6)xzy9{; z|6kb`7EzMr$JW2_ziMB2#g&tiBmc|o3;WUCe+T;U;cex`}=fmeXvNe7?U!Fg^L1w2|FRW-DJg)F7+&Hyk^0oHzUQX1Y@9 z{n_Y)_&7d`$klOPUj1K;dh?~i0yZc2adK8U*2A%DKepR|`+L&|@zsm_pC%n=dB}Tg zzE{_iC*iuu@0VtI_5E`tR=4^6<;X$;I`$4piP%``PsV*gcV%_C(+TZfm|fQQ;({9= zh3}3ID1{k*6+7K*kJ$K*3u!8@RMNjfXb0>oErY*TiI?^MCZP$9EZ)Z+qabq$ZsKJM zce*v4y*q#aDnMehd1c2Zb|Yf@be5Bml)lCpaqOy|WxgqOezN$l9>{|hSQLMwyOpuBJcLau zp4l|7LBSG+|JBL={6nun#|?x~E<({=O8IZxZz=W_8kGEVW;~EZwe*L0=aJwMUp&!G z`hbHc%*e2{H#nZV5l8M%eBqGryDABHDg@=n)=rVKCJUD#i@-@J<)F--$I;)6&UJQl zdg#WwhWCGy5?S+yqaRv%C2w5ourK|c0Usy-@HtgP%sKz?aaO-nI-0b{zIK15^_32e z_xgq?Y@^;utt7IkT%O!`Oi14xrpEV39+~OC@o$g!ZrBRriSKuceoDT<_t3Prum39B z4QPR!pP=*$s75`)QD#zNKD!G>4@;f*b#s|f&?k~l0d0*h9yVXlMEvL&tpPFVhb8tk zDV+FX3SU59CZs;nMn@gitWS^Aw+x>_GMU_Ek5N07@3|qy3!TA1gPF@ur1UV74Wd0#O;wK2mj6SJO{xw4+Bc$$+u=A*{6dwdXR4$lfm$!S1KR}Se>3xoIyy3TY0)IdF+4Jn zN}M%v-{zyTqMzCH(9y3dTCU?qY0!yx4Ug*ebY=FEQ<}CIzBQH{3|@Ve>=`Uu43{p| zO+2y#22B!){?jP8O4b{KPskYZiL-B{;zg!`4fsI_ez5QDRoUOe4?b0UL$nwEY~w{n zVr_tlDPBYp<;?iLZ?dGnl9Dy^^N2biXi)75!x}B)ih)eg8>3zqa*3ZyGk9MMa$|KW^2jU{f6_Q-eG~edsO39CF=UY<8%(t~eiKH* zL(0jJ&u{Na`%A))F}i*2^&nMMh_2O!8?ec2xho#ltx<$NOU+pC~5X)WzOBgf1 z+8eh9o7f)S+M8T^Gj*xxGEQ6BHt_17q<3Ynh?2b9LOk^5oYNlCG_z3gBhwbo<6XdS zxzk(5w4FT4@fC!A0UiNnmAAx?{|G6=icF3O`6t2uwfaofO)1E(St-t;FJnFYQGD5G zU4^AM%vbcIC?hu+%(o3F$|1q_2oz#WN=0cc0*Cye);~SYcTIA(U**6qN>ot7E zcV-;TI{8hzPEK6PQ`_!xbDnhwKDH^+iHsW&^c8Cv>CT7+`M=|vHeQ6NtM@9EzTunX zMW8jB5C4l{u1m#fGD@W(Msg^BKwi++HGCnX*cF^*RB{H=jn1zUDHZSVQhKiZoW0>64Z^8zc?d$ke9@H_MW-{(WCi@r;hpFa;c*Ht>liW`w zn@1Bz-h^n^D~l90q%-3p9sHrTid6R!{i#axurgNIc$)F&_b+4OCo$ME_}*+rAA^ua zO#-%ugf1~nq5@+pLh^l7IUuh_by_JBx+*cfjoE$w@8smP?rhxp)d0FyH?aL33YBa8OJ>8*p zm)jpn1qiYyAZ z+e<^F&lJc*u+((JZ#>yHL}#w6gT>+asoCL@w=JKiYfuq8SpFCal$>E(SR+o_r&iXP|x^69lm=vn_gomaVCNwe3HRe{J4D1zVd&B zgcFV8DFzSb#3D*Hx;JTi%5WcE;nn{}sHQ)837v;Pd!`<3FkCf?#|ux7ciWYgcYP&a z{d0ZrQ}S^Q1E>acpaE1}{gZKWo31*4tLgXgqk4YatvpW*k|02C{s5~gK7cbNEB1LB!WZ{u~jnLVX_owiP^6@_JL}y2rIKHq2 z5_LkrqBVY!;gIvh8KY)ToP+4_Fz~(&ql)t9uCz&BtR6Owo=9NnM&r zz8Uy`r}QbIw_pR%BHc!owtBFa9$0+;$vy(#<9`C*U*L?C!S_A9Y>DqWo(1sT55JQ1 zyuQ*Dw#}adRt+B>&*W)_??ZkqG6vVMK7R;4Lp1BQ1f18>@214PTuTqqtna~loQOgB zM1ykqTSzkFAHRxbg4a`UFL5ET>kNK-_>eeHzRvONE}6b*y3<|g{I>7uTkAmI4odukmnl4_uZ(ril6+9F-0F{Z zALa8=bBa$ByGG}R9%^P}YAWojEJ>L*?CU%OruDRBvDOl2Tr|Ga_sIvV2 zCzxI%^^rIJHWvBJ6x;=r^xmAbXoCOzyO~;MrkL~I;{8{DV}|rKCXlA+J(n6T;a|ci zC2mv}Mb68xpFF@PhCjsnXMbyee#?_Y6(6PO{>9_W^BZ}t_*D4c#}rG?mg#06-H7)^ z{>m-%F!ej=VaG@6pvf;)(;@k%pULaU?edkg^kA9Spg$ObSSKT}Tw1*PtC)L?xc?$J zFjO%S;xtqNwL7YKi$#f}inCv_RB;z3W$Czue1vx=(a)?rnjzI^V5Ih;Lz+khDeZS* zCN*eX;)hf9{X_wZyWT}5;;V%WNqKytW@+Ma-lf);YwY{_234qa%sMUt^w!6g?XTbR zGkQD3y;{txe@SnV7zloZT;U;58chL$cV z(y1gXpVlq@@ScuzP5|A|#r&GP54iV?XNLhe>&*CM!HnMpJ{g~sh7wJv16{vn@>?_7yGB^vv) z9$5K0&_06BI_`kZ;(C+TXHMc}OTKf2RI-dd^Ufo8mFUdsN-%a~7C+n4& z@l_>TYL+E@STQ)Cv)y1apIMyv-cHZ*W6Y!7&|>0jWt!n!9{bg2JPOPw__uw&QlI|8 z7TD1~dQFf1NP&I_W|tYapg$ZACiW-~YsC*NWUL__p``d!I`a~=p_W5E{u`?a!kWas z*J37V!(C{AqLW@1Ba|C+i@+ORGU$qr=>l{l*HD56^G^5RLp`vAsk2P@hUL$t-!ho< z^u`Tle)5WDa`1dJhIZ{!aEBQ~BL@cv<YtRI;vpUmtu zN9#|NC%E>$FbpzR!f`t(NsQ56{q0NCbT&};rW~}zebtRRn1DJwYK$6d5f#wtWx{Yq z%I1oFbGnR7H~rbeHc!4Enwjbk7W``r*W2blD=kcR1uIuA_Ox#(-^Y#*qzATgWo z?fgxz#~$NRpuWq4^-Xuhk9mQH8^;{4ew@CCygG$=7N1DG@11)2i8-=_=XEzj%Y!rZ zFa$Fv>5FxWa659SE|ZDN_`uLjdF-0P%J}6-`?kN~70y#Ik{4wI(qSF*?b*b-#kks< z08VH^S@##D6cId8x!V(vE4T}U3dXIi@BzjTG0z{|MIz+s%P^y@e~}z zp9OuU`5_0@g<@wG1|}D(de3>aHy5A|A)IoHBE=!XeTgX`H~DgJ_6cmllbc zT|Q%AQ|XMcYzQo^*%;!uOI&Q_QGI5i6yLlw<<+!C*DF})ccborJK4;0I6$LN*1*_l z`Jq;Oh2p2@D&D$J?ahZ~)s(9hv788JNGzAr!B6uyCh~%VLg~4k#T<>?Bz{g z!<{#GQYUZjxXxv-GPl@WYsxOG`?#sJc8~dmXPz2eOhN(jl@xL&Hos^Kty+cVZ*GMb zL)TEr@*AhrPAbT%=}tCZf5JdUF8i87nDB7YuR9|XO_u-vN_U%>kAgt{f(;ekKR)-L zl zjEN18)C%$AdM-OEOQ)mO@+_s8JnKULYEvYQdU3Jzrlk=#Z@H=oy_vqu%&K=KEb{4C)l!KHoo-po$rT zI)Ar>&k7^Ce3w0Ki$0pR=V8vZ^rnB$3j&3&n)hziWh8&~kGg8PV&kLRyDpF49U?8< zv>&!|?@fP%4`0frP1VtJI@RrJ=S|;9i%1CY=cVlUE(m5q#z*6jtR;gEhA1v$4V0QK zX0n($!F)peK8)X0W7&mXfAa|CZnJbq5<9GK! ze|9at^(Yz}zqHHV!l8o=v%Gwb$^pdOLg4!8DNl|Btz2 z|9>C)2wQ2)Z2lWQ{Q}lJ$zegx7<91LFixMt+y}8Yr4b?ls@E_?mCZe)vp4sgPB=!W zaDU}LG(#2}XK3lJwUZ9suO_$ljDvVRs0%tesU>C%>e8=qd_m$L;MvYw1=ClMC$GLQ zxKTaHw^R%k6pl4mWX^kM#?`Em+PQqNdF3xPzn>usj1l56(dXq|q0bjHa$w1z&e@6L z%)J}GR$jxOU~sDFMs&+`hi=xFbI+ke<2vD{?mzx$rZZRYPKJOpMDO(Fpjp|Geah7I6=JT>4_8bBY_y}#(=N2${! zCsjSJz5A2Lk}=ok3(y-a_g;xmlO{5gp<#U!$u|scAViMT9A2!Juk%|`I>TYu)s=<- zOvBsOP06C&vU1JJV|$r;69`Hb_dL&xi~eWBd+tmz>CaD=>`b?(E%fi&bAoG+A&3Dq zDTu#@NCtmL>Rk&G=#XesoAA#`kG~t1q}d@(jsIJ)9q>aQ@2&odN;~|oo8R>CFJLnJ zR~!xQUNTI?%u`NY*7+Vn#1G6L;f;VQui+j(F(`>polQS_8CTxyGY%sAz=XYb&S!>m z8evx5rzFjog+sx~+<+B!OHwGg?+Gp4oP2WQl*4hF)OB01u47Ym6{qX!$Q2`2({|^e zgQ)0?pOqcI!mSHb+H%$zXj&!Eg*p%&L{^|)6q;C(*(YYcmu)r!e;F&o#2nuEORob_ z@!mHqI!f%|JFh_n_LBgC{P=-dob>|4la*LPd3IjQ0+yASow?TvF7ZU>9#)-|xI1%? zxj8FwYvvxaVOBz!5nOp%4J4{F_xtJoy!3tTHC?h3FGKT=zxtz|qZ_shWF`&AyRjj# zPP^p(_pHh26^D%*Wx`J!1h+C#bzL^KLIQ!Qjz@y2*C=hKx_>HuC-gs-#dp%eXThQZ z#GWRMN2dSs^MVQy?)(1Oe*rhctjyo{hy088eWV*vZ|#FpfVcX^e8<3c>1@XR>LRt3 z$*4~*a-XzTQR2$4Tw}idpi?TIt*<_x={`T+eZCsjWj>GF&zEdWeZH?gztnx+{qLr* zTF?ZNzB+kZRfudcB0#bUe{k5=k9iW@!=xa(i17(SWGW-{qaS*4t^{DOsAIA{(@Fj}ed-K2SV%PZDU#{2_ z8nx4JIym*A|E&zX>F|nDO?2UxJbqvJ!wyHs-C*YpC#B*5Hs@{fe69FCep-$V}=A-d!Y~T3N=~edT#eYEFgwMetd?F|Q1bH2PK93UY^iitfKY`?PpvHtEOam6gn| zIWoGvZp)s!rPj-boz`SUqN_@wb*chF!5??nZ&aaLR%o}c62|Hg{J+oyzvVYCHk~opA zHlXi49HJCIXftjpp3T>K-h=~gCFaDPFZPtGuZ-`zfc@cx!Bs3FXk5N!nhjl)Kn@+_tFtA7~D?>O>#WJ91fhQ~|JY z(h5nsrVmUa-mO(~KSS?jb#EFsbsX3T*YV~a8};kfuj_YVWJ|xQ8ayZ8%t@|SIsS>P z=W(9cSw1?uu;wkuSK*MBwFM)ze->Xe;Webpze{}0F*L@}{eLrmMe!enA?(*7^K0(P-Rg;;!4A|(L)43*1^AE;iDFQh~PD-7CvzrApYjb8dBiQ_%rl9cM5g+ zfjkrCIXNcHK;5oZrQX9!da{F(!$qSX?LhMoX~^0}QAlD~L54om4xfsvt3!Sd+m7sC zY=FI%h&=t+%(4EGbDUybzt!!%O`kuG1}X*O=jy94?fF|W$aj+5-p$oaVI`_rXO z+Wwk=-Fw)80>Pt%%==y88`*^1S=u8zvNss;Zml;RuvnONzL}~lz8i-pCOs=mnD&Cd znx}&u8}M}C!?XDidmQ~JcKzt#s+veu&|moapVJ?s#*yU#`Uc*ZG5w7sYyqgf0V>zt zD}i)in$^9*baGLe-qOm28T8+p55Dtn(bl6y!i8$poh++B!c-yQZb}t~KY58tqKjjt zJ+PU8h#c?McLAT36WM!bD;C$c1+X#@t|cPVNM4k9?_8m!wAnb1tPXzhPrj(0X~ubC z^Ks6jYidQlYsE0NBG#enb-#!ojQ_(gf~Yh?>iRl=>1!5#IRNTKfrU?8YvA*RCD!p4 zOLGJCH4`|_6rZo}8Y?U&70wc^DEv7+Y5rJe^zZzWpdX7$ul{M*h(Q=CX^f`P3p}dp zn_F{)f6AdoIXyi!p9W*~GL-*(p_@2R7>no-u8K1F?({2QQ1hhu~=M%{diR?})Bg@tK6jhV1yc z?Q$edtSE_>XXlh)0s0XLb@m$?pw9NCJ(xKxi8||;@-}1DJAj2{S?y03MtoRjzu_K!6DDZoSV@9=%NF+=g31YKyd;kbNGsr4=y1m;WtQ9t&? z-U8>gXEl`kP9q>YXrwE1-%s32sx5EsDwm(?uPjX1@7c(Bxl9<-kg=$Z%CYtHJ(P^oIwcBbuEZ# zdCdX-Atvf0a;XO2jJtnqA3G|)r!_+9+UHHGdWzC_fm=zXd*=^;20ri%b_}(p-16jrnX%FUA zC#=C8`(ezKA6UP=ZJzXgIgxRupWFQ6gGHYvIoVqs%>-*_XNB+9qYfYPM-)B2z^__W z=vp5LQu4I03G{P^TezN3Sm>fo0k%W2^~7QXpB8?JeljxbR>ihJAk%{vZDmR`I5KaE*Q z?SA2Go)5}ApJl$^M!O%Iq}JN{ghh@$&f!bAp`@EGT}hY_~0^=G+msh9#o3 z=qHA+zajH?x_!d?EQ%Law*OPLb(nvJ!Ac8ybb8w_&cBm5lJmbd{~r9pC>??M_qSe_ z7!Gue8g3ia%{HnTs{c>(ZxK!hrn}1+YKQM3uILviOa0BVMX$L0m--u+f5zCydgMo& z`nBr~o12X1yYj$=qNHoL=M4Enu(g^x@2OFpwaiU3+d{6sna>#fUiypm1@PM}CTW4rv3=ijA@Hu=0iG2tOT}cHGl6hGb9J&z!yGc5n6&VrtL*1DOdvGpA+N z@_FjqJ#Fr!^I2&VJ{;foJ^YsbqCRQ&kZ9Uk9tZMmeGdw3neFec%>LRGS(=rO&x~+x zDPs0=?FJe7&HO(>_-_5xWg6c@4k*Cz92?!o@V`-x|Cv3{(S@PtuwwPziko2mu~fdK zeamBo3jJw#PP>0~BwoLqmh)>9&MKz7d6{bD0)>qkf z{N`7t9YYf10G{d2AskBQ(s9O$dksgwx91Q>If?HFVuIg!%H@}^`1Ph6uXJ2nnxChe zKHqK=$V+4ReQp#rna6o_i*VmsKw-uQK~csyq;Lp^!*^9Ix5(v}m;n%O45JyvZvUvv z-c1HE;^ka}-{YmrC4k>PH)JDQuIyL@UlNm!pdef)9fui`VZJ!&p??_EZN@xmdORh| zzd9)vP-Bj3FHQ{AW~0W>#*veUfLP{8iJ~h{<`wj1&lTjnK#t}R7zKt(R(TB@7#QlT zioRbNeJ8!%w|S}FBtIC?lA09MpD$DTR4O0BUS+X-(#hSU?<-5zy+j6hlsAY9YE$Q?_GYln`DzZ&Iw!J{zHnxn zS1)6*k{Z-^=OT3wT_-^t${$l-S!^PC5Ju-oX&%NyEXY~BGsvHgIOtUMJ!#7AZXw^2rWfA=9c({kas)Dyg_By(W7eEZmLE02Cr8Sjw$7r0;ikXQMsh;HUU zmG{e)#b=NB4*5W+e^Pq_EGweBR(w{*qJn0W#m~*pDfui?YID7u3G?!1p95!Xe`jU( zN+XM`{h{0>tUQN#{d(j;b+O^IT(Fkbx9Ywp0meOI@O4XIG&^f+;mrC}y-~y3HbV_u4k|2gT^P(*JdbK%#37^a% zv)EaI*-tc_n2!oMxEHz!$2u3OPZMs&P4XIYRdkzGmA#l;6`QTx$M2Kaa6IL7&N|Mh zun8EJvK9`G_e&Z#nfG;aX#BY2seu%)X+6Z`*_l9Wb`@x-CwG*-!fyD zrnmI?%|tOuk6)c`0(FS?Dx;r5G37<=!_i$-_9gNPn?<7+nA@VGF0K8l8k=b~E^JaU`BiqP10m zb@o}BXHMsfodvyn^(UD6F0j;iq;BH-vUNdd2KiXNM8jGCL~8%f<$HR7qCnFXka*Fb ztFnIrO`K$i-gbq}eQt>o>X)`g6*5nym&h2D(aB~u}b>rRFe`JH0 zJw85EWs;7>TYvB$Vl^G^r6J1p$U$q|yK1k#VT~==n#m)kb!@L~rH9TM- zVS`wTCl}dVowqZl%8E$?dZ3me@7 zJ5GFLe1RCB8WgH3>D69+4pYY@H~U@{$M)8B!$z(XzIkv~UMy_VwHfDp(TUtjLNVJU z9Vnd;WI4V8;zNe_M5xDzqHA>FK0QONzmNx{E6IypXO7%%Ls2GKk7B}jQ{asy#bvG$#d z9{rP{`#(O)PswiReh3e|`UA`)L+P(sXO#XGz$RK#aavy|U!bAewy|S`-Ys%6GW7n9 z*Dw}x61Bal^eA$hjy5`d0gjdUhi09V0&QalO7zY$&|0hQ@EQ&P@yxG@%F0!!sJLQ7 z_d0C2kEUX&2tRqJgwW9}wCKe+jxo-zfc=Zz7$CYLpvAf!qJWlISJ($ zGa_OVBEqYmz-^VVcs&>4SQle?ml~hAh(B6p3_(Lo$SwC5^mA!u1GI_7+Oqq!Jp%@M zSvMao!_qdCK#9h!G*k*-cRUSQ$`%Cni*TY}W#(nP|62rjAuxZ~y(u7nr0<$w;l|T? zFsSSg@5L5zKK~1iJv6NklV?lq*w1e(OF`qH0(~8lzo~gzq&=+0LE4(g3dS!8p4CMN zgYar*cC%gNK62VxFALbMKt~s7;UaCOlSY^1>M3We!&wf5w8bm>Vz}6qrPJN!5H@oh zonepmZNL5!DX67cbxi|q?o`**{pPlHO~>8bv977p)I&nCQxfOmQ)SW?cC6#vB-wdz4BPf zekZxV>n~o{B}=CE@MiD37Ydi8onxf^uYp^m=@NriHSXo}w(3;2CS9G?%6_B}mG8 zRn0|D*oUw(TYk^A2-&9o$MY1IJI*b0`)~f=Fv2opvqRa7%St|)dP#Ux?n5N&Z>$|~ zcnz|751we8X_wuvTjaf)5AJt(uu8r{;_Z#ZS$t z`77S!$#ssuEX=MnMc@3ml{ZB1loWfv`Ao_QFM-quAy1r&-k5{8<)ad<5K7~D9Q{M_r$Nz1#Lpb%Y{7`MK}r@G|d(aeTBSdz{I~0-e5k4EMYq@d}w##xPP&?&C0H zo=5cj{J`@Q?DOYd=J|lY^W*LFkMvxr!tH>Y^oz_)PG#|CPsj#8-Mo6q&YOF3eR!mR zzehX8okKMS&givw7z`&@k_mrFc9uC{Ar$>Su>=r49Z~ZE#pG0S5UTFHhQIT?GWvdU z$)I>{(Tnm0CIwX2`J}>xaHsZF$5!UxUkp!wL9`c&wJ$1r1$uJ<$~mDgUG&lH?K3qKtTsmP!NHiQKml>^RO8w@u&3uxOnOPXIfsm@qW?q z#KNqId_nWf7PH|$9UdK=+Lyq5kaG0UW>c%!HT$ZFVXlZrC?Yz#n*+D=M)d`F%(Tz5 z@^ctzYm#QQUi%QMR9FJSd#uv*JDL zo)|_z_XxqCMuwvGMYX~rHzB=Ns%k_?CZrwip@T{yC^0^F^ED3pomxQj_b+Q^$h>O%Kw*REPb9CYSqeI^%Li4{L5Ssr(Zm8=Up?L0{ ztWOrh0(0-j;Zi$kAm|-^E*E+K&UBeCV%i{bc}Wv4~|bh(&COF%U0Xfh05SGjk;|)6|ow!17E>-wQhO< zfm-)Pak%b_{DI!wetG`KIK5PPuX((@%ya`}fvU(0kmIx;)y)Y{g+{IA^~MK}%Bt;0 zlE??S>G&|ncrAArnT&2D*=IP)0oP+*F)ileuA=2My*#?Py3D(NNws(V@62(=A&%=_ z&kI5orf^W;n@EUaf^B&JO3?#64@ZXYB9r6Uod1nXtFoE{V{TrI9E^OtuKOmlzXrB8eJaU{@ohZ zCQ~m4?WLyC^C%{TWga|fdclPqCKL@dthjD@6TjE>QA^bWCS|GOwATY2#!rBky^6wh zjX8;I7ELolqn6T=Q~!vy31q-c^i#=!<8ynpb?$tepWXFqT$w)!jao_Y>77jERrtk? zIfnl?qD%dTS=`p^`ee~|st842DNUi5? zZ_KA)ZM{wuAJSjk&6|EO1W1#vxd#)+yo{%_!>4Ui*AGMUH{@1kZzzwQ5W6}z`2@_m z9%!QVuF0|INykB`)@|_)VF(9e(y36Q@PEeD8)Vu1DKGX;vYw7!3UO7Guyumhp4KO zpCaAJ|5kk;^kM1=Gp&l0j-~GNoN(Qj#opY>t!a<_wgz({QYpYq(gLnzksfJHxRi734#>Y&ce>%I)|H^dl3`yJ;)Dsnh)l$Vwy5*Iv3UX2Z!!uu`n?E>uEn2-a}GfrbPcMK@U;Izbb)o z|A&fb@ zGzsa1;+C-~LE|U*IT(6^!rCWZ(Q=yajd=+A`_A8Un|)uJe29i@r`cjQLlU2}QrFq< zO^J=PM@&Xxx-A>ggGMkIYZ4Rq6d#%Vki|kNaIsKv!|SGTUVRV2 zB|${GPAz);uE9EAaj?1RI)@Ys>EA-J#)Kp^%r$U#822AXjP(xg&D&GBu*CR^;3k+l zA>_YvX9(G#Jd*-ib7TN0=78Rf^U!c1I|&vFWNHfJ@gT@B2l7Z7#L~5*HWOzU5ct8$*A%Mn zCl3fzcBq4_1~N$5=Lxc%fgB2X)U2_v{|LfvD77d#CS9wg?1Kfn3ao@?fAlw@4 zch#7~3)66xp7RB_4E&@i<@$kv>K=7qiD;^m7VHDm@x)yQi~&EkBmi=~1DV|dX)LzF2? zrQ@C70P+kVOd5^X6G5P;16o0PfFJ?S7trKXJ>!BP=Q)sv0I@>DQtoX637dKxXZ(CX zpm|*!*p+E8OM&ML>;T)mEdMV-z2x(gEfRXQ04Wm4Ixs<50!TJ{lA*VRV#VsJ87vxw2X^8O1AW+Bw&1?ZwE1Pg%L{_9}^#t zxYvL&_q+EFfZXUnUIHXY7Jn7U6}Bcxc_qH^TkjKq?BgJ7)0J837%RwQ4W#3y2KM!~ z0ob4V*dCUrVJ(UD60FA0NqGZ#dk}JggKXOZ@&}SCCNzGAn;N+DgK)ofa4WT*2oTEx z!A&tWI$AF5A86<~4($FGU@?K68U#xO7k!-_*ySz2&J~y!1p8+YZ1YJLEytz6()7|v zfUCidk%!lv7--_t4ro`M>sgx5ZNZ^E@n{ODPY`I516r5?a$N2i0bQE{Y83=J)dAg> z0dgE}vVcx9Kt}dr)z9+Z&kMA&t%E%~1?$+{Ktb-NcjEhu`i$2M?EOL5w|{NX(lHHd z$-0eT=Ns6elD!7<(jeqr4)UX0np5|iUjjKDNJA|Ku4@o(goFDJ;DVg*F2N~(r;$=C zU(=S4ziqETKM!}1SEnH@WnU=B4z{gU_cgH324T1Kw*5T51?-`M{eaH8Sz#b=3PL{V zAitfKYOk$z6M+edhk-QxG;n1>xQK&$r3KuRg1gexXvP!!dX~Re5b|UPc}ok(8wGis zZL964fnC-nfTKOVY(Gy;!KTT)m!P-NUDs0sdwURefrD+Efpxrb*XO`K3#{p@fgBoy zoZ%ps*E$?=h?TWE%oXHKrdG!TItSIGGacYP89+z&4FW7RfbiA#y9fGsumid*1?1@c zY=P_-tm|n)wbEME#uF`Sj!lDEQtu?N)nLcY|6ol|JCI#Os0BH=k4JjqF$*GX!0#HU zXOaV22vCr~pB2#c2FO{7o(Y1LJFwrS!7QCk7T8G^OxoMzAdu&P&Tj#9nt*ZuGJ-Q4 z1o`L$i-w{WAngV64!AHDnl{{-i`}2Oi*HjG$<)P$)Wrv>i{+_{#?-~!)W!3uizibT zkC_WI2lmn&Xq6j4;;&sRr%rW9Omp6A0ZSZh+UaDVfnMAy0KKcH?PF;M+R@|jf=-yu z8NOyHL&*wVc+gyG1V~z>*i7$ zLCyyf0$TZ+fg2TsyW7EiGC9>(JDJ|b5k3($HM;rUEvOP*;=uk4Sa3q!Be1g#7_&Wb zY@m1D97rTxlhuVT7f2UCzA5v@Oko%A^B!KiensXE?t| z#8!&Gl;X_>p<#SfQ%E!@qoam#B|05f!a8r!7YGJ5zzPa1*vKmR{ert?;LM? z|Em^YdkJiT1ryWRD+u&Q2ejcgu1{$hvm6KgL<}&~tCeR55OIYAdMX3tgvF9&ndDlK2@&Gwmg0rqhvpQDl)WP|4P1nRHSchMb{KGcy(dqXDIK_=G*$>h=TMYHkcgD;{ko3UckfsSG%gKfDRh*84h5(zhBG^W7Oc{NecR18zF!I~ zJxa$2a5H!@48AjW=HfsuOjn-PUr^<`Vmh|QuV4EM9lG6B^8UnBhb$XtBtju^3ssl` zXXx)m%?cc9@%6Mn{aY)kwqc$|yB2n=d0ZMfPg|cuRLp4hWBmixXqR<_-7uYK z4hl>>h6gtrp4uyABiC%x@_AmO(LC2)C?3*g-!t(RkNo{lQumDeHoK}-)4yb=?y;xL z#%d_~fT`R6a2(&@w-HL*1c>qf8Cu4vf#;^v#go!H;KswAdCz%f|La&g#1~9Z0qkon z^p7|856(_IqC9#{5C8V-O~lnT_^R%E%<)-`gRDDJtd!lzL4`fns+48CkTL8)N@0T? z2hR#^wuhJDDP)(Q9rsfFN-CILR3F$weMH!+TU3zRKwTJ$^NVOy0`;%Mnk4IAEixCyz{fetP-e5J)BnPJBIBdLY+gKmAUK@0V zC0;lj75cH)5aK4Wh(Gd6adENk+-Kwd!(1*@dcu$#f(~S+Bp1z0#iJf4*h>s-E#$!7 zd?|kIieH`=c?h5O$bI(9n(4{gMQ0pa%%sJcJu)kV!}nvM*j_N$nmdyBHP28c-^Ors zPda7AX!7LaHX9{de(YxBE8d?B`gwhG#&v+Nj1IVEq~=8ze+^qTWsRrit6kyf#XzmC zS?TaWd>)R+M}aq-AJuRCE@#UP-9O=Ill`IoT+~@3FKOljl`-;_#Jczm6j>3gCRYC< ze4#(jp4jNhBkoR)3?24tYEqs%n36YLF4_vL#&vmmW%e#yqBH&$Cat7be;l8Li2pKS zxW=2(xDrO+4n;q3eif-WZ5_?7xd{vW$29Sx_VWjzu5{#D<<&Cs_e}st_=DaM5pIPx|`$UyP|eY ztsp4WyMEbg8ZYCr)-|`t&+Vazl`*+RUOTyo8Kir4w?S|Uhe=cz%A@~^n>QgdgJ@cs zL;YGeOw;@`;^jMlUmK44#F2HUt!X;AF3X;WEzeSK_C<_V=Z7k@zd5C8qveZc-f;d0 zuWh2}OSuX~mzmg%wEsx#B6C)DYl9^hPqT{;EAg)^4aG-%Ozhn%HKm6%1cX*4bBbGB zWl=|r_m!gDhZ)b%->=N7-krvjP~L>9Q`D@f_$duP{E))3En6W43$@3 zs|y#eF2o1@#fksX{POBsQAVtju9SbjO6gltRsYIVZRLr01gruI;C$b*x1(X_{);L({u;O7-P>T~c2_>_4`SaVM zD8+mKaI-{3{}XQ}3dy7aFL^^TFX7lJ;pnM`xy_ocEIx;};HUmqQWoJUW@7r|x^Wlf z1hGbj7f-&|{GJ0yGyI8vAzP;;BOnb>T{3&(6VZ?HAm><+^gQF}Kh5uXrWii)I_4gO zQ*EB7X?_T$rlxt_k4-hp6PHUPYcqnP>q4l0RK}VgMgmx-juU2m~sHoV*aB zHLvb=;iQ>5@Tq_ zFT_(dD{qo1FVY=OPW3uxYMuY9Um3l+ldhEoTg4gQJ`)8{EBs}u&&USRkBKKRQSPq2 zoox9PwUgRsMS5y(W}4{_9;QKA=bJ3pfl4xEGV&k%)}-qmxD*vR&}mEW&Eg5jZ}FPq zvXswZm_Ln`phCMEOAU=8+Ln~I&xRk1Z%#OxxD{klhw~>(Cgt7|%3hA3gTGf8{$A+L zH!rZ%)0?sgx=v9~DB4QR_Sl1`Nie^lf2EnP=3My5hl-yhXfm>*D&C94Bdxnqn|U9O z_zHm- zLSF5AdsX)L$g58kzZgQk;2>wtTZ)ZTYrOh4FgsGAyct&9?CU51Bv{#>VykC{WBV4_ z*kc_KOnDcOU#0W?;q0}Pw^8xXRv#mdm2zPmAHjX_jYcE;)@wKlx=tt&Nm{<7`TFnG zycqn8woF&=qTdj^n|P3qMK|TKDKLi$-m@fngolRD+@lM}DHWfdxYc}aMS#9o77y|3l!LA6L#l-1FBPysDnN)m&R12j%XL^GBV<#PURxA8Gu{n%|IH@G zn4kzFfF+8HC3{)3620lt%wQ8t5(NkUj<=qF6Espnsqau~NS=)w*<*umtdsc7r@({` zveS5m>C)?w)5>E#C0hnaV9@*4yj4F^EsE@25i2Uv;`S3O;y{@epGtfOch9R*9QKF8 zr^_Fsd^0G*l_IbA6MsmJTV?D58>AdrRfYUn9**rp^)=IyII}BmtO|VORe%PNvMF+x zB;D;*;8I9wkYq^Ksy-`7h<2A$DV7B3A>q--op}%5BwF%YMwHroesG68{|M~8@B_oh zTIAP*Kkl|EVN9fI}{xl@ORk&EY@vU3siL(eJKQFtGR=5K6GW=ucNhtoyp3jx=J=WlAQX&?RU428(d ztoHIx&yTfXSyM>RU@o@<*H?Q74BW+^)7Rtp+nV&hXLEPKe4-h7U0Cf6TLjbN@xbk0 zdlxMD+8Z{cfIp@AVwn%4;|QVjf-|UGB1tx%gfZDZXkuJp3YFmW@y{t^j?OonHafKtykA zi3ztF8eMe`p5I^4D|Fy5h@w+kvQSiJD(0oQREWA!z{={rr~4PNvs1U5i}^T?h2p0b znuB4{_VX)xt~EFz<`Dw;qAa=_gmieeQ6aCz878XN_LPp3-`j?Mu`o5M}9Ol~?};4=SQdsbE;%*X3S5H$-#H=YAs0 z>D}n+(ELwZYd%zFe_ENnk>@@6U#8IsYnT^ea~-jri+327ootT$0{)z78FqL-( zFe8?6F&wxHb}|?mRZgQeqydQxV}yq-o6wdwZ+f?O71#H=&-bPuz!kGF99>RtKjln` z#D020FLdTlswWM<<{<~mq2(&QNgt zN7pkXO*vkJ!qh^s&P7s_35)v*;a(B_o)XDIq7RXP5L`K@L z)L_TkchT(EvTPU`F^DP@K`nBF&3s`Ld%$QtW)B{puP>$c?-9L{5GwKn{TUm=T1mAjfT|f-TXFgx> zrcn&GnPnx6qB%jI@M~U62qU1-fep{|7RnYUtZ>}g=SB{`$*hyVpN}M2XU8;d? z{^f-*azq5W8`8ud>TY3x2sed(2{+}En&Qb+Q+KH;h;>1Ebj^$rMFYyC zYn5gwzY3LxB01!)8?pTDi!>g>FRNV!f$q|bQ1$|{Pb531>vXr7XGv5;_G+3^Pl@+22D;B|N!aM0J&zaIQE_ zWy$iI<#j(~kH6ontIA#kd6d0vUL~e^#fDWz?<%S_zvYBPp-zkz^^_WXP4w?HYdr2H zUC}nyt1Dx*fE&$mfy4nB(3maCbZ%m@E$jbzxl|lEnudN8U0oLI^$c1?8)S2Sw1-~O zYBdZajo>v++JT*XhlffiQMjNZ=dI`6Ss;CRNbF#JYhvW}csq}8Dy+<2it2+AzYn)J z^zhn^&DS;z0}OT0gNj|c6+3U2yIh!Ucmfp!eJA=3YkLkSEE?dCHG4s@Nal zt_u9KxuUcA(LaxVTC@hNBS95{oep#PmrK_K+LPkbmtVn>mLvzr#oKa|o+m zNj3tuRv@$yA(`3MlSoIL7p|Lp@<0Ze)TaCk*B?oBwC2F**D{n+q!)PNz|l`ac)i<2iz~T`mPkiRu2)*WM)` zd8cjXma|YvZXm6y#IN}y$1ld)H=6mIy&i}Yz-NA$`C>l%MeVqq2)=L1uPE8&-BOAO z@Q+}BDe-H(_w5kqlL>rsLw@2g9$G^O6cQkgLVsN+?cOoKq6;)J=mH9AOpJw8`Sss1 zTSX$!#qO%uf7x9X_|I^~`J+;E*GZQ*c(nUJW1%LOC3WrfE!MZ^+oinB4JXA8=sAzI z(_NYKj$&t`TAzlU+pB+6iyYa{?lnuFd>h?IlE~Ks`Uv?)&2vgi1mgPZKJO#zhfGUG z)>mTA#n^fqjj`?g@9zK9QJylNpG}GQY}?JrTtHwZ&RUm#Cz|#mSw7#?7!{)kJnJA@gO;-mA{#NphvV1glIMUK+)tK z>;thrN!z2MtntduwM)rqpDP%e*V%>htgtp5&DylqcZx#+$IgVKK#;u z$$YpK!%;ri_OIc4an+qw%DZUOUif$OjSO0Y(-qk_rT%2SiI*ROuvn`-0TiTMbVX7p zT70k{WhS}u;hH>(*C{!AX6MN57d@}`r1p!13~9G^6XpXpvdEbA>@}Lud{mQFJ5^Sb z3k(mNN?HA0tjvDrl%}nA-q`(@E6x53c||$T09O%yWz%_xx#yQ`QfHJcBT{B*drY3# zVX4f0zoVLrxi7F^AbU7=d8^9Skju^XFBHp_LV|*}C_7B9q6W=lST;CF%7h&%D_Q8> zvNMV-dyR}#ccPa)cnjX_$<23az z%F4K>axrFyyz(Cn1?BtaE;1u#?(+OPE^@m!yQtt(_aoc!6*uRK?y8@IAzJ}zQC(%1>G`E<}7VA8VW&vVGwvj z(z0wxZjoIc$@b6@RSe6634_d!ut}o!49+*!Gd36RgyJr&nXY|msVm(V-$_OE3+GdOKyBDq^HNyMh=yt3uta7YA5<9T0_BWzKB|jp`(bW)Qx4&0nyp!#Y3>%lp zLgm$WqOfr6YB(*{w*5`XEENXF&)v*&d@(ZbkCbjU&|J9{*ag{X^`^@ZLBVF9wZ1ZY zz4lqjFRjfbul_M!hEp4&cXMMGa`9Z2-$`tY*!ZSV@JyGVa>5Wywb#kMm`Y#j^tVuK zJWV60SoYW0p_0c@uC$S({jF6de3|}KaePh{;^oYW*a5PYp2qT@FIcN6vEm=lcdgtG zJNs`N&A*xtt=pW{`q|g2WQsKWO*)N?d*SFRij0zVP4+%(Ok}^R z6;;qGHE9Nysqw@4X|z>t?0A;P#v>1>A`f>)7K#JU4aH6}$ppL5g5=X?E!LT(*G8S= z;7>8}n&O;dXp8-)-ZS(M4_2B1@YytuNTAgu(;>S=tA;# zX}wuXeg<+PMOU+siAA2ziuRgrR7dpOjmn+Z={h^_3;cHOs*k@HSKp^-{#N2MbAL86+bWb`Ssuj17g8*($L5}AU!iT7H7C%{wHq+p09 zLQy3{WgM9w&R;-kncHefXR)P!Zog%-F)X+(^EKR5#&egO-4Tv%{+f&(cTq65FGRDW z+f=!e!7y`gB-h+m7QGB5m;B{%;%!JJg*S)fag2xE=f8?8lAqFlTyY;* zZ-m_xBkV9hqAun8SH3ElvCZ6(A9{tAVb5SylF&mo(zTURpc?>>$_=)BqNT{g`2heah*88JV-exwAXTh9cAmFFq4uT z-55UuB_^?0H?@hoO8kgxh<{C<#a8x|HA^Mh;!!_RS_7 ziEtcI^vixN+OI0q2FUgx=Z+i>rOuaI9IYUA}P1;+jWA$Egzy zs1SQlNKb6L$_<-Zf+Ua(D z`7RPrweSmjmAC10L7wKO((HrBd-tOxC-44S>;GP^oc~MK{|%Q)jQ!8A|96j+?C3q4 zpMUT5|NmS6PqY4KQ}-w1h{E!p-8s&b*g*v3lG2VGUtYzo!N~mR8+D(u&ptY@?u}fS z2B#=_6>n5WL+!N`45s8Y<>4=H9b2?r{4G0v72e!U=ahPLzc5?b_fmND%kt>fo-0)c zYKp(=O7<+G*W{bW)zLxi&CZ^G$|DHUMwo*H9SdoMTiSO8>jnCd>XTaCUHO(nu>rbn z?Vqa95tr+@wLiK_LSfzTM0XxLJs;>=6)X62WK{kU)!>tdNm2aLA2x9~76;J9`|p2m zPFCQ=*GNuI&w2hId5=qwkt09d13;7q#-nv4=24&)-KX87;fWh~p7Mvv`1$1d_Ytd! zwY7pSEo8Zgm_(WkVkJK%&p)Jt8m{0GnGKpEd496L8s942^&qm5KWe{>HfcYiJip{$ zmX8Qmk@vbHsZbC0_9w8>r5da2Mz!CTsY(3G;8*?!gA{&m@ZXr2^9(2o;Lo7`<~)B4 zfhMv_91xpCmpEo`c%s_|eOfAnfO1!!)_8aqCoaLA>KFXIGIm);#oD3*@fP()=3obA zk$5(Xd$I&aIX1pYTLYX3&;CoYYerwJ=4^>U91c?EtiCu_1H%dkjd5wDcPN(c%{jY$ z^!>W6IUE~Ov%EaI01&TXlhowHen?`pG;~sCww-M$a`SC0C#gA#0J8&)4~4taMHs7Y zdr*rF@^hjc^pP6N>T!voQ|Vx+-8XkEt8HQ}y;?e?H@lJSdktBkY+q|>^PM}ltKR7M z=QBQv$j}XYO7YwU<oX}f}ss0ha{lpf>NkLO0}D>+fyZv+LH6<#(a<4sA~w5KxG%C&nEm~LTKFnU!f zDi{h}Qnl((DX)ILQHsA|LkryrJmz{0QqcUopD-=PQ7kZEBs*F>8va45S?vz{_sR6g zH zzio9w5lJa}xAuh#Wna+##oEaJl`+b}tYG?X{Nt)h-trm-NwLN=4po#%h;#CSbkWL( zmwe3P$k9p09Zb3r+V8)^ zGa*5H+VlKRpWpF$Bs1^qcki{=UVE*z*IpOBWs9)@^ro+3f#*Y5#xeb8s=2P_MjYPE z&RRBr+sHIsJO zu#0S)$;HVe$~}uq z1{IFX6FK+L!Xl<9ZdXqTPO-P(+JmcR@5b)^0xe8vt&6{5LaQaQh1b2Nd-)-H$o@g3MO9;mi&r>c+xO+S)*9|7XeZptUsOfCdMg z(imgIaQI|*0LJ!M^c5*B?Mgt@qbkI5t_dJ2XP~+P{bpxS z(@Y9(;C7a?PVSHjdtOx|g==F3>+8jfh%%zsRx~-WB+)wao4P9EPG;)490oE+)NsGJ zd!F!q^b8$;b?nUv&V0Af_`8nG=)&uw2_(d#_p?|^|Ft5cpVD9lzkWhMkzYi@2<9mB z!4R@mTb%)nH-Q`)h6~n~iXCSr3pdG?-aqaHsnWPbaW}Bj|FPb+yP&NN&lsW^*8l!` zkcTFNI)6I1_ty{noB6EbZ>0W0HEVz2ViZ5rT2DhLuB;My_^xh?k+k2`eaHQ^#68)4M}#_PvOJHW$2xe1F^UlyOXi%qR3AcrPq>sZ#B5Pk z*NgkYyVBK(PeeEH6W9Gd~QGLuCTW9ZLjGp;7X6+ zy=o*@4OgGKu{Z>qUwyAyWSn4a8e=cc24ZK=t$f^Tn$COBfLVj_DnuE1GVwv%ec^u3 z)FT>i>m10xk$e%tOV3R8`luRDp45=T#<;aWs<6iBhhK@fd)2puAaB7{x-9yA9c4{b z>n`K3P@TNW*{jd8g`VLS`gB`puBq`xf6KIp9gNmrl4k(?d7zmHMF}yJys8j3xUEF% z?&NFlC(j8C)Cxn8d>upf7RgtcP5UD>2Gl0rk0M>Uh`GLOu&Mg#9-tzuXmqu!Ygd11 zwcPUFw+1XK*a1gYt)nh^6~IEG3h%APzG`N7txC4N=m7s&z48D{L$Fvar&_plaUBP@ z{at0E1`66*dBQpr0@HgqSZY|QvvnA%Va;YkEJ+UsLXBI^t(2{={MCEaF}NUUn$doJ zW0fyv*0);yaNA>|z3n>^s#2Fh!wwL@SqGb|28ziuVw9#kPB&JA+ZOnD?Sw0b^q})3 zZU%B!AC<#>qjG?E8f8)9{XzYw9U%>w?lS6e!&F4dC^I+MIwd~x9=yq!2@;>i-^{OC z{T3DO{qFO{*`{MAc#~igV%+ck#b%wh3(H~@zCkH@lP}nBO-J?m%Cgj#x%f*{oa(PD zHctcp2Pp4tv;9q6{RZ%wS%e}OTbbmIMHM^RfsTNu3WTB*UiI&1o68trH?#gCdd0)G zp)wX9l*eT~HSMEi-Th1R(S7)^htT{2Gpw>1X6YNr_kw>OfOLA^<{S>tx-DGdFImgX z<(I$QU(St#>?AENe!!VVIG^8sl+N%#(#^~voARg@+KD|ON1vIqbp-@z7a65Fb8akK z$m5D;SUmo~MX<=g1R%o+nFS*8%>=E$3w4j3Jc;+am-*j$N=rilsuacaDsY14uB6C+ zWTlSGEY>2LlArZUVv|du#@iGL%6X)F8NPC`idc$^+Su~KGMWWkJLQbgrcH7D)2=R2 zeWNP+#s{=**5vtgFsV%U?3}O5m*V&@e|T1%Z+Zg~gKNSf-lXBT%VyKHyrp^HE^5~UOMXJD(|$_-;H-?EWA-I> z{*Dp7@*&*@FMTN4A+q$JZu@nI_cOuj)Evt#^HtGIFL;kit5NA_Oia<_v6RuupD`5- z_P7t*hw5NmLEur}0A8Mh8UDqT1JYMazX;D>3SrfsE_)nHwE{&d@v;$Akw0>s1v9R4 z%&9z!ohr6&;AZFaCFeT#!hG;?i10CK4%+RC$@5dAcPC!PLj(v@LypidXX=;#@~6M6 zJ?`w0!DeCy;fcI2V&@PRhl;w=C;T75VN~99-l&7ex6Jp?`b!QESi}~~{AT)Lh+iG0 zx+L@P3dr5?L3~jV>F>tsp(SM!PCrPuVbaRcsa=0AGeD>9e@nFM9_<5uf?^}aZ#KOQ zR{@8aB@DTW|GZ^LTkfABo1;|mrT)_3(G!0ZaelLi!YtBF_QgDfH)5ssqF7Rnw*3`n zP0>gw(o&{Bu2`F;-t?=~?KS?uNmf&Sh=$r(t8Hg3mS_KVI1o>I@4T}h&%1lE7qzD^ z@Kinui{V_*1){6Ek$rz1iwYg}J`Ue&{&ro$OYA*%p{R%_hu_DO$=;Y%boqiecf8ui zynfA1&5^`%?|UtRQkF^p^?Tz9McG0m2IogyMpIKIN4&-jj7>;F<1_preUM@_fKD<)keQiRKdIKO#cZI zB!vy(Y2^lCF)qiz22{HYrlOhiC~%PamifaIyA=Or0HM;V@b(2r6OfD6*Gs)u@e;T2 z>GiNNhg8u6$pp$qu~aL(TT{G7Jvjd5a3g8E-Cufy?0b%^++D>tWc_zP2VRP$z}g96 znllCKF|Z>?t=PbPravxiVicoDp%~9Vh6272Uh@Q_wEZSEjiJyhU-Sp_b9y>_{Shc4 zFR*6)5na(pi+K=aRDAR)-xcMJUCqPeRzQwKmn~Vp544C!`2~c}oeNEtFHT>{d;XSf z?2C+kt^FSA1B%`n9h{s&Sz%eby(_NE@%gZ0ga%VXW?M3IsXQfqFRmDB(4E=1csgq1 zHmEib>Qskgvi!IsEDId3zN`c!KL?_8XwKQZzW_+%Z_KVA(sFxqC>Z@vFnUee`YhlH z1Mw8}?q1?WEnMf1JWX9B{9$zK6V7e2x(I2eMaX0_fxsOPzRY^{!7Z$D zD{mVy@;>y)n+Ohn0oxUMuL$Su{;%zeS)Si|-dsOuVg!xfVfh+%5KC}U_p%wk1^Djh zrI4euRI{M0$12)tkrw-B{1wqq9?o-s&C{AQtGBPMZ8$SSjwdsw;f$jR3JsB1FZgp# z73J)4$Zr_l0hx9$6MqZwiznH3e+yLG_NS2lD`|rOvo^_fq^u*ra~BgsKrZ_B(+8D-q|D5K1C zu3t|b&KZ$y>$iTrOEO28LMvp0wVZyVCK-va)FMD4uNc=02#`u`-@yZd@C& z?EGcf=H1kYFDpQ#zV9vC{gK%FBFP(qW5EPnZ-G$3n-Tq9 zlNdip)r_+g3Q}kDKv2)AHmI+yGpLUTYD`gZeVY%K1v>WV)%Gt^R+Hr)eGfKjlyJC_R}S;9rcV`E$_E{}F$hu1r_z zU1`YQ|Ci!vZit8{o_q>_{@?SbF(;Qh-~k*8F+?p-&&4Pe@H6RC-lA2Aopp&%t%gdv z8@xEPfAxEM?kVlg$D#gZR?k#{T8y3pTg99n^&Y$wJ^LfwTBmrV^FWbg zP{p<^Keu>|BvyK5-Qj$BaQuw?89n{?9~E0ep>|4r5n(WRy60CeoA#8<;4>?9sw7)d z*D7(7Uf+r3uQJcKyjXHH{otf<7$ZiLr&-vu?xpcxU;Jhl|Nhqy6lW=0kwWxZfd+|! ztqeV9lB_V>HvpYi{w#BGcA94ben;XRQ^b<}e6qtCtj7q}BWa1zhJOiL@P`=Oc<%B5 zwO$I=3O=D{G8?p9%qHko94#&)KZ2Be8ejoZKr0QDbb;~8(YWXnm@ayfr%(Ck5yuM9 z)~>iFQAlPC*@PINgsbJ7Cm^Bm0MexZD?F<%v1xq8+8`}L8X z1%dWl<*4~XASZ7;&L$Vy^1F-)yjFnQ&gA)67KlHu#x78RBvgAmXEJ@a%%{^o2Z2fT zzXivslmB=+1&0%_BPc(?8DM9qcLaRVo7*5^+Ac;=d^7MP{}RB+VbpTC=q?#!d`+qs z8O;1zTuo9Z-%0N^iI+0;S(7ZZJV4&uJ7~?t$SCacy}n;Z@L^>4tGe$Vg=HCfkl#ke z6Y^!goSBL~NB57{C5R|rg8;vVuImzhxZY#)T>Oe|Y`g`zUM7M!n!McE`Q?Wl3;j$c z^JTJv=1aIpAk2i5(+S_8Tf3~UOT1E}Uka z&Gko{T5jVX-C+!rTwZtQjQO0IGLNfz{;v|vWUqZn;GBS>Nvh` zj8LZDzlehcmVoXA`*Wa>IsN`}Dg2y4TK%5gF;EQ}H0=ppK4A(zzR<3*8xCaJY_Cl@ zY}4=kQeZDI{D9}HJFZX9fecm+S>7Pl{bdgRUr_#q<^BrJ4|>W@(TYs}f)gzZ=~FH(@ew z`aQlaV#AKs9)0jBKNo%LHrNp(8u;6az9u4hL;Cs^hsJ;&HNUKWgR5m;y6^6s^ND^> z{|Xm{oc6+7C+jf>EvVD=@ZS;8|LA(0MmO2@=x3@`c0FRr;jqc(`kBd*y^`mm0u+x! zuPPp;Pcdl#Rm8P696|~cyn_;J7HY@9pC6lEke6P)SSZ+vs!==@b)tAm|HPVeP$yoa zHGf{z=XJbB`yr=y$y+FF_;=e&OG|?MNx9Z|(TVmNnRC`9Rz}Vx-&ADmnk|trb>w<{ zHQ(9JNj|PyeJ(eOk!g7U)%5)|f+@EqH5}idzaTE+OA1t$*!w*~w%@u~<+ABH{;;w9 zZ9JK_i_@roFQ)of;`ouNLL|yCj2y#?BCUDjor;JDZ}RvUCgWh08btugnqI_+ zjMhgzAD`17N>mhE*qN?Z@WHn;QvZjYkICVn62MkmbJgWTM(0Tll4`zJBE;U+O0Y_|D1L)O!-U zF_Z+Ay~;SY#H)*xBAh&~I?|;7gnYn`l{vcxvJPNE<|Tl{z2tt}EqMTFh0|VKlRCFc ztn!)ZM>}~I%Ll$^9DHwMw6$c0z-EM1UG(ty3-j_?tGL}rut(9Y;?2OMzab!zi%2_^ zr6=JaB}Vg%7)=%U%=SOOWBFSTIy@-3)*o^a%gWY=qH5c zxBW1qAF7{cT|dUyI(D?$axB>TL1bY^a2~@;e)=_3RjmgbPNw?jTt2=abEG4anj~T6 ziRWT{KOyCyjZmJm4gtVZ7^fydL+GT2vkZXYyU(i}2lSWij%nHKvQuLRxb+X|Kj?4Id0puG+mohjJ{|0>NA;J5Bqu-b z|E9fl-AVsb_SPrp$@a^?Xm4E_^z(nj-rAe#{yW%PQzrsP>g3`4`G3pa>iAinKnFyAI z-eDgR#qr@qhsWYKknv-GyHMNdwS30swh9#20p~l$ou2Ku02uICVq~cS9TSI!p<|312)N5-9HvVRad#yYdoD-6vqBS zh)V-ID-xDXKPHrqSv}ET@mL5qV!^?UJQZ&8RUBnDc+M;iYm!lm4ifeQy(1U@v*^#^ zA90t(f5lY8|MH>URp>Zg)hfNANd^*yT?>*yhO$YKqNWW*4eUGJjK$NR&T zHl86_9AI|@%a$DdDUhF|Tz^h{Iy^195QMZ2m45bRVW=Q|Z#T@l zlFJ!nM3Xn7ECj0QVM0jGc{LX=Z)2A4WF1ysmDvYR*~g*#Yp6rpFUD&GNCk^gWW{MS z<7dXU#prDPJ0JJRE2I{0L<=^hCN;sUOH3~Ex3J-~6c_gp-Qxp$E+3+aUFM~FbYov9 z5Q>8JFu&`aw9rNvnH=m#oJR3Y9ud_rf~bbVAlXu&KV{%yJ=*Xz9WIrz#z-E%MdeEvh7;;S#~+&Z*a#~op* zxILDVO@?5ay4Jjtz>A&Cq-lx!R&!Elj|sGZRB+YffOKDE4r zu)fIaxu2az8J2TsE+PBu_h5;7Sf$#`7Rr!>EzzEQcy`C}{u}G_s--mY8VmOSN7tvA z@%C7sMPkUA^%?NF>*K|5Mt0_$YtrN0_YnUXY=h&y$-8+AI>U3<$Yq}+?`BgBJHYcV zta$7{i06`yLs1>=R>U!hu3r``l<2fBp)*TdB9Pf@MlX{&|aSDI=D0b90?L0DEE3z@@%vj z+ypFEI#syXPELXSA(`*85dM^oyaiJghq>!Zj6HF{A7lCJPAAsdz))*qeLsk$B3)`Kmrw6!dLH=(mP@Y(EaH&-!*t%@ zs*y-76^O!=-K$6{SL6}X#iTk#6NieK76>>JdoClfCkY5uV5}}V*>tlGy#LtnJd$fK zc>v$}J?K92kQB6l!Bi)d%sdz<_we%zZZ35A$)0&yGX1;!ig>02j?0g>hEGBZJ_Hq3 zt0y^%BpXwU{8FmprcVWR;2}aHW;K$lz~j8Y9gNqwL?40#VfXVn{RjRD@jtaFNHzH_ zYtFs#6l=Z@uQoJw+4EsYuPP%^gD;)k zTg#=``OZTmA-qAJ;##BES#qA4S1NiP{7}rY!@72kUTbPWqhd5U3>IRG&C;u4HZi1? zSdMo8Hj6^^8h0{akfoj9YAj5gcN*5k&m5XL@3f=S1qOb|pCP=}HGOy0 zq^dfjQ#bVV2XNJg07E+EREYf+I&~&kN2doG`G`boEAhecn(9#Q_C};${Kl-^I;7L| z=zy<=bag!R64Y*LJc7?SVX}ANdwxY5n-Ck{Z06FAo{my8(UYRgLwYLYb6Oq);rh%9 z>1n0W6N-AX(UavzPNh{}sogmxi=@5Klf%*RP$&8nwtB){8 zNG}TMN}oH^`WH^)wUh*DD{+2qQF;(NfoEJjX*+)dybBxYZ^JW!ri;R+*P&Vl2CXwUf$x)H zgqY$EIKuq4pC2d3X;gdv1di%C-Z(D4ZLBPCLExF{UK+x>w=2`b37RF`JltBqrq z>G>!~y<in1zMjJhv+8*u<42Kk5E);;Hy6URCp3g_uBh+}h{V zTL*iS6MaUhJWwqDVPV56;Uh`|@*qQ)&E7l3#J3H!oV| zA*dfLE#S~Po8Qn`AB4b@ql+Vn<~2TOSIk@_70oM%{jkRSJv9;wm(=F_Dxo9qgFJ#A zJX~BMrD9h%P-&RC_rjN>?~h2m|k zMV5q#McvU-)WAl5$`YjSXep&=&PO#?A@ga_p^|V!g}mr@jcN-FC`m_w!2baU+mL>7 zP^RqGtgi7l3LC!sFxCO3Ps)#_h8EU$f&Ro##(NJ|6}690T)e3ZA&U8{Tl`1xSVB=+ z_Atl2ytbC0rr7(Vm0K+}VmDP?ucr_xr-Sbvc1&Kf&&^dkmKD}VSVjUM6H6AqdPKKp z5--kCJ+G?!3cTtUA&glE%N6Pybevd{SdZZ?uN1YkdcCWX36+Dt`0M%gy5&_EL9y$DpzQ$laRx$zvFuU3o$`7!>Iem*5&#F$OMmCCie-pyuP{<1KiX zTl?@jmgEmOaE*>8*kfBu_uMtU@-HQp$6qV;8Y571WXH0i*6O_eu~b8W_r2zLbN_kO z`MApY&msgd0uz}!Yd;#1D(yHmhdh-!U+0}@V*7jEjXgg4S^+`FH}?MRMFn{^7DShq zx9cX`5M6(NIQ!sx%@kPMxgMm>qZZdy>)-XJwqU&3uwt^eami$_ZLvIADKrYj-?U57 zsr6@(wBY1my`l5MB9f24>Q$^1`{4}Ot5`fJa%=bg^PZcWsI6unJ8G}LTvYm`UMX%P zDp7c!?5$G+(&6gx6M+XAaV#Nx^;H+XT2K(JT;bh51H|Znl*=S;XDMM4@ZpR%8>=~+ zr|Pn}?YHT`KXtax_^`VyH+t7Kv zJa0i>>Z|$j#Rc(A9uEui<`sSc4^7=HSNhXd!XJ>LyK?GNr-uBbmnpORjYNR(vr?L? zK@PKkFSYX@mg|nCbZUGFod-d3>A|>JCElyr(OOu4bY%9&WE#Cg(W$B4n|qQ@%UiHC z%UayNc8$0;Q={D-8qFu!Kw@BHy5Gg!#^ScQ;7NVn z3%}JkC%ADAJG)RO-X$(+#=?0E-s9a+b`hU6lw+CJ+qM5&kUtWSG=Npd zAkE+vUOE9bY0Jd=w5B&pQS}yl?BD)f)0M^@Xu48KlvQ`+||rCr=?$?-#Zof>lK zaI4C>b>;7o3SJwHT~7ZXvT zEOcZo`Hb9kDk|qS#?`^4Kn{>@e$Jkvdgv%(DuHe*qVrD-iqh`x!soP7+F3}^tRiIu zJ;54ccyVQZWYY7R4pc)~Zi0On@Pf;Uvs34XDmLjbsm)?P+J5Ql?Hlwhrjfo1xGbM{ z#-~;McZ#uH$3{Ku1)6uIWqOZfd_oRM z+M)So=>Bg^C7}CTYxCD+=sqUDrN$xF-#AEvR-%yJ_t*nD z_N$|CY5-n3aEUxopWWdrww=hSjZhtSt4b3eDb4>O_UbtLI{)j!GoXf@~R`^KL{vTkP4w@H3+ z4o+-At~!sXUwj`Na;MNKS)9CVf z)A*^~ng`QplD*AMqlboQ8lz=_u9VQt1-4GfA<`W*5BW@cdcPl0;c|MM50x9VJ;gA> z{VuS5cca_1iw)<%PUCIPa8cepuOy;!B=m{}K|JGT?G|k%ywm~5ea6KlsMa%)Pt}bi zxK_`%1wAWxGP0;WLJnlvKXYBbW7pdOLh7+L1_UDG9S#Cngf!*N|V^YkD1dWaQJROx2o7OK>gw4Bz*h z3Kz(qJ(X6wIu54tYco%_3Q65$CQHOXO#I0zEv;Bk`UnH7QD6aA%-x%){vZj%LoR#` z7&ShFt*E9Fh?BtO_M(IPc)^*GPQRl$JM)%qd+y9Ab$E0cMog{pgR3NcU}wLWSKyx( zt-294pZ*f>lfAk|A*(O9-Qwsi;H^fZN|~7@_;-Q+GuQVI5N&4P-iZSP3rIf!Qd%Gn z2;Is6_%qzE=}!fd(WTMAT@08WiguUXkEZARDq(ugC}xXI=#ZVdXP2IH#83_wJJKqU z6w(L8EyDI16=Iw|h<{xF(FBZOd0?jyvq|3u0;s>|WJzZK*p51w4$~jm?;YPe0123d zujB8Z=)DYo?D+dzn)7G;E+k}s59(=Fn?4m}e;vpd(`QhsT8Pp{NxN%b2>^nP>k>S9 zJNtfZ@+dR4aFWq2D{Q>J3=uQn!MglUkuYy4Jcj^mWd39PoGqaBd(kQ#R-K(1@OPub zzt0;}cC1t`&LmOAUz6TTP>hp)g&q0&vi?E*HTjHt?gKp3C~y4004M(|I|iM46Df8T z0ZblL+CyBE%8pIno>R|Dd>d|5f1axeP=B_QBsB?$H9grH&IYs$r1jmZlN9G{+T5_t zkv3(_EIK*SN-TCAd5Ps4VC80=Tx5UMRlY%-H38xDN>sP9gB7J!A1ja>mLI+TIf1b{ zyrsI5Rc~8@e<1iG{p%zlZFBv%O&Z7f4Zk1-M4M+rdYUOo2B&SLOCjm><>;O|Uu+Z( zi~O(5)S-gT#CrQNF`}3x)5dd+!^TM;Vsm8;g7#f<+pE5J(Ej+Kz4(Ql+k*Db%*g5g z``P|Kdc*Y}-=qJZ<+h&=z(N0y2kj^DD7XLVx$RY%ENFjs(7sssTp*G`H6AF@&azkO zrqZRj)w&Q2F47Sxgn6Cqe6HwTWjlmE-WY3I!6&2rpI+iJ9pz(gry6N|Q%TJG*%I%& zEtt%s-P+IyOF327pMG|#{uFW-?exEOF9vC)U`1(J&jhoWGe(Z<1Yanc7HKoF9 z!%5=_)(tX5w9MCw1NV4wO86qp>(^AQq|1jrXwU?pfB6;rbw7E-^-(U;t&g$p7&qb=wllZ^kNJ z8pFySOI=s!H~nXT9AK+W%__{`Ncyj#3DZ4j+JcS6{~=j*Yy0ksOPK@x&?7eezZR%WM4-~RRKaJFCTk~7=y4R*8bVYA&yyq90V$F|?)&Tsa!q;+y7 zlKoy>IfAlxPQ^mL=xu*&Enf-v(w@7(#eC()YV9L`X)au=GX7$^7c9M9gSL;?T6jKF zSzb_GH)_n}#Lz+ofpwK)m9bk}JXvnv1?n63ra(UD#78x=?tAwCP$~USPVA>cjv}=b z&XztayWcbMVeT4D1)QFsfRkC8;;(cSn=Gk6NSAk6bA(;pnbVYRn(IiA%vEzTpZJD| z_xokvY(AWzyxRO-g7b^veZ0*d__%MD*AqYU2hC_xe3NeBPVyQjA#k<#N}Pv5gD0y* zR>y3qu_{9Ru0grfV$9kk#-zR<#!^H3=rV3!jX1=~&zy1PPeXXO1uOptq@?fz?#I7q z+ibW3zu|BAl+`3=6cK=*y12-1{a6XT#*!+m`*YwgkGsDv!@2h!PA2&)2oy(x1b!Os zu6=1;@^rgvC&OG#<@3{z&B$l-e|X;fzx+}L4{q^m^EautMQ(Na%l**d@^pnZ15y{l zBLz@!gWpFkO$cEQS{Z+)U`ngF$D-Fvd~9%+uenIV_#b}6lr!+F3TM*@*55905O(04 z$zTd_v$AE4SLS=SwD9BP`EGs+F0fG2u~6SL)628++VC92YgPeCW_^9l@1cGSFgZcQ z2g&xsNz#`lDXURU;(fz9*E@8dz2UJXvK*yLV#%)-Q+#|0{;SzV&W-QR_%j6fcsOZL zWbjcAAS}1=QJ1-lgg zT@acYP8BI@>lsAT?{q7wuuv9s>GTuY`R@ntf5< z)#PyER*uMcRER`;-NqHOz5pUW-ZIeO|6fJ2OZD~A(@W}T3YATS}KEbl4 zE&HMTzy4ZoQ#{Ri%qk3DTN3m}lemj=_#9^=X^XzEmA3H9&igM8`$yai!u6)?K!ucZzPQvVo332%c~{~b%XZ*Aq* z_^SmCU)LCr6G8AHdr-=QcKaur_aM)Ww7FPX7vA;Z61|I2IwgpzCj?-l;4-2Q#Rzvye$fB%kXO21@> zOt{avj1ILVbK=u%B|?9tZ2pQ(q#beVP^vj-9U=>D2GK-;p~zDD=3Jm~Ub6US#S7}f zUBV5zlyobKzfx3R!*)l8hiSJ7A<{KXt`+=av|!s8{KDDp3Cp$mR#q&fA3-mdo|&0P zc2}7ea7+hz)5UE+GzLs9FBo-p%}D3>G&ymmF3+Dejll1!ljhkh%)dIH zexElV#SiXfKKo0)b~2wBX*2`9BQu}a!rGdV)uYFpQ{$#X?BH?&21kz2t&~k_Kfgbm zA}vdP&Wc6O1nf?GV_7Z-1;nXZ12m`qaw+hNInPGn>XK#L4u%eaplXo&lE{8(B?k-vef zEHQZK^g>QsK!*dlw7Njn?q_)f($|C5fNn8N!)~--CvlZmG zUPDe0m5&K?J=h8pKbWH@`?E>jTa!4##dVE9Zk<P0p;19LJToDmCQ59ie$F?{C9&X)o>K(`(aILs7>j#j{8~uO6&oY ze*Yfw@+!3(3d<2Si4iaao|3bOxy}qX5JA-=it-KaCW%79z<%qllPSQ(l7owRtH_^* zfx#fX`CMz|aBNv8j>y$|I^q97u?L<5t%ra^#%3Fpx7$WhhY1R935XB?+0oNam>6ZB z@ebP~`&xRa{DSA_?7z&~A7Ivz(+=hjXmdF z+_Vxy_Ys*2=pOzz;BDzfZN}{BK=Su<>9x}6bu9FX^}H8f{!w~eO-kfF;EgO4pEiO; zClJL}6QM6=Es8aX(W4#7if^}_nT2@vhY;yv`k4J;H?L9oCTD+0$(xh;V1&TRyEPDZ z_pd_uXDL=TNJp{VGZd?YnGo!KdnMSR9o8YZ|AjKKV0!+R8y(F;qeqDGm&i&*B>0F7 z;r`W~vQ9VR(FB^#2E?zv6GmknLALi)@eSxR3k^K(YtEKbLO31utS$`u;Rb zTQ9TOFMK!L><1l>ccdaP-26Kr_Z7b<7Q*yBd!_GhV4>}tzI*J2zVE%E1N_jpNEsQE zL*H46Gqh_+-`)M2xm-(+=}6yV#_QTKV|Ow!eMNL&Bq0@L1z%J?)oWbDC(EQ89zg;L z0t;If#@T1}ULQM~(|ZvgPVaq4WR6V*%Z{?;0wtR1yQTyCeL+mS&O@Ay7WKU~*64jz_V$?VcjQ_j7pUdzo^?s}ll2eay?S#>gQac11iykZNHfRT|SYO7m^ z7HNWx=V%oKN|FCDTrK?@BZ}FephLc?a`^=-|A#ksE_eE9{g^73b67-9asl_B zRMsnM$71&T?+K}nBH1k5@iblw(MMIf%q%bjv`#;wE`JAqb^hPskGf8#(ywqX%)lRc z#PmcW_;lonCL01paWuS#b-(-oV@~9k+AVq6b~OCCTHDg}M7dS%(yfpGOUNub=mw51;d3P@QsQ6TlR^~ixMmZ137pRa{xlHJRI&(_qGM9xbO8?T5aNL|5^vTe5H zh7G>mTd*=mdMxGUG|+=O{k`7Y5}e%W?EL|O9%cC5Nc?^@)JR^$e>!I}pMl@Eujzna z(?_ZkZ=#OanKJ(Lz(6CBDRD))6(ZwY81<@mNk6%Zl?Bsy7wu4C4d69=e~`g9HEYS? zwGOI^4r&13lk@@}fjRg-Di_~NGx*Nr?=XBvfz{!g=Iqe`-&v(x*uHu4e8b13keDTe z#Yn-u`d+bN`5m(KwrN%ee3-bK%;{GLc%+>2XEJ?po70IyM-Y~Wv_=Ii^oYICo6TSJ zR>)ib4828xtrL1%Xyg{0&NK7h4haCMpnO6%8(GqBPYrv{pDU$3_nR|EMH8oWf`LhU zV1TpUUgm#GX8!&D+4tAH$8RoB>wkjZMD2R5`*$zPaEl`UdW5T3w8Pe9 z`qhpand<(Dq|uql!d-So5ek29btz54AC!AYSu%Y@R^N=}uZ>kMnYN1*uy#&y_vAXr z`S0LcYljufm!#R+-LQ@;vBW{jSQ_ju?!n+L=?e5Y{3Z6n&!KSfKg0hQZ0*$1pTjCSX(e}?{+P7mp#oxJP7fA@x; z0i0ek_?d~eAMmGse9U6!^XYSN299?0nLU%h9U=>Jn2A@6AlKcUeieWp~o%__c=M>>{HS^iu{|= z-`W=J4L?6;g+5Ck=#`@{aE+X!Nj&^2Q83?|Ohnj%hJ)2T$AC}YC?M}}V#$RS&DnYg z%pGj$+-TmL-kdQvWG)j|?&K_NxJS8KG4wRae$rF{8$D{V!9k{W{ z=WwP{E`>^LPybX6c^%fz&gZ-TXUz9+Q$K6I9A+}}#oVexdN}HS{$e~G(oNsqzgwo&>yYQzJTc}INx?M9_!lac)PCdFkY~p zoXj%w%e4%;bDCSv7l|QG-(yzny{so$QaT-XcE@qGo_7&xo0(@gLC>G2aZWL|v6pdJ z$4bKeOGnB=kkIvH8QEbZ1d4g z@vx#UK290C)9svId#%U zW`B1&iP^>78*mh62fA$6s z)xb5MpndwAXaT0@?xnpKS2-IxZ4{ca?|tQS-zzu$A{<9<_@6z_E_f>TWoKtdKVuv= zBTGBX+l#Mg*Zyap+x~~`+D~`wbw6zOaJ$yK25)#B{h#yezo#`?wxgx6p&zlH-h#(X zse8+R#4-(R_ook|0p2{PAfg~f-$}3*#f1(WrHFz06%kpBiHd8cDl1$Mr>R9>$7kpP zlZ&Y#FC0{m=MOGX=yR14Amd8z{G}pe5P5%?Hpzh0q zlAKT8q-k$t=KiZ|`54ZPuH5=pY|DM-;8h{z?4@WAl@QMOf8uz92kQ(hX^t*6{^z%E zt^4n_Uw6TOul+HxKC0@lhto7Gc1&|}ddjDZgx>5A>sLfKPPhPsuCW;qH+Y^qjq=xi# zU44VD+WzD}!a+C3!vBxL^Dz;NY?#CU0eA{>;HeAYDapd~itB1^FN5d!PT--^&In!h zfBe@HSe&~-PCVlm)3mjUc=!j;!sa%iIQ~kPSYljJVpS|r9$!U#&NfnLOisjlY3~R1 zIy$SLt()mjtZNPOciiQwy+xZxQ{#=zgwNxBoP`xR{$|Bm4X17X`Z|fMZx-9*$%$dT zD%Sc({)`Q|oTC_A7+(pu57!5LCwINcXVPnN#g4=$qbq{inGjri0w6%Oud2vz=P!%r zzkh)C{To5`$QCW_+U|NpIb*ycf2kS;a5E8nFIPopUy%gir~Zo#d(wAyeCy9#;+bft zAmGF#CP{Vxp+3*Qq9Y(RIe;Ag8Gw8hKrH^s#!q}=gM$KB{PVNMFEQsf8-Ht$4v1K} ze-;t{p%MstLBtx4yV>zsgJ)O)1HvHqOf)FbbFqJQ$H8lJ1~2`L!N)LoR(^Pkme|0= zK8#I#0-=4HXdUer(>?j3?U#VxZ$o^r$XxhW?0|^Vk5OwNXSW9R-{FHNjaIB$@(l6B zuKqqx3k}y9*YE0=KdeqRj!$oYDwD?pW-(g`)qWohD^Rsio&byUFv0pS?dihb02 zeEJZcx8r|oXt({G%&X+cO}=f3%NDPvG(YSkn1;9)@gL)=l@D%%G1VeJiKvJr$Z#Vm z&u;4^-r6>C{HwIHM$6L=elddw<9FtXdQ(yQ_V(Bf*DDtOzP-5}_QT(^KDSa;z~r2* z^FXch|EnbjPjS1=O+`Te7vdEZ^pYPpsi-kwa#xaLiern(X<#{9;XEvI{)-Q{OKecbm{1buJ z3h!?8kK!ZX%A&X<3;DKv4Dwoe)(G;{qYmNtmRg7Fru zWn=B|Pouf2U(OqKF!^cx4Ir6cRRw;Df7Ozl-%LI_e2^z)Rf3Axlf9{nH|Z{rU;yn^ zbIibnx({hhV9UDTejKF6lDI5>ttjzwV&j@N;<**&{$@VgmeOYmib)NaMt$h|;c>qJ z)$Zlm)HN9QuUL#9?8$?l#{nI=U6b6`Wz8Xti3>+Bj8v|#-;Z?%)eGPZ*o0KXu;DrL zRrC+y5U{|L40drG|8^_plY+nOZ*|c@)aat>mF`2i50W&bNR+wr3}9{K%M!X7Ma=^~$~ld87Ri zpS%XktQJeWdv|_EmU%3{CmT3w4EY)DS(o^eZ0W4@e8$pw#!T*if4~`lmcJ zden{So4m34UOz)FeO(L#XqTg~W%$*o*K68P-8BI+(u%Kq*-(!p4=;CkZ7!*xR z>|?>DXo!jBZJ`_pKIUYh^~o0lkXNAmU(iC zwa9ehk5vn^Z28x+_@Iw_%HWJ0I2E|_sPKorSH1~-tEFPcX#TvC_yox2Z2ckBm?Ic7 zsr*oQ3C1X25=&WBMlUegYYitFuWwmdEzc&@k_OGv_wmn|vI%}s4*_Gx@0U_i)ukQ} zTdIc}{l|Ht@6(6#H|Yk+9t(Q}$@`q@;Q!adKh} zMMo-{bwhOp_Y6|sCwnJFapIe+)OD$TDl%)2D|Wyr6Fvg5$21R?u=d@UcU&_Cj8|C4 z#r_z4w^C#CD|ToRIm!C(8OB?x8wv7zkY2b}kZc}UOTxkawW M0O(*J8RflIalrs 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

        S-r(48<8RL;<0lzA2I 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%0D6X7;;h5FHoO{IZd}s{En>4lBVCF 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�Ei?(&z>@BZR__Tu}Z#(}sV#*fI4H8D=& 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⁣z&igL-EI!Bw`>Z~j5AmTs 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⁣ojnD*p;$*Ky%z zn+Ie*J!yW|5}f$Bl{47)p;A0?lH^Bc@b>0!z z{O_$dKmCES!`qzd)t648{|gRld(mN6CnwkKr=gD%A33qZXyG@%dfcB~pZEwn*NpEl z?#?w&rL=e4Q68km@XZ0=4{g_dWIOlRcJ8~|x!uY0i#LCHNXsV=$senqXHKx*vHIA$ z_x4Hl^v+4P+exBNzqM28sh2swPBb2>33QG;7CX2Y`gBsz3Ue7UAH(=%2T^;{9ea@4y$|Y7!ths z?y1f0L|Q+4jPXyT{i)V@?lg}7+qZsm8hhLQ%+7mzH*K!mRqYe&`MNXE=ZTFh|By#k zeaPb-)I#hGj9fpBeRfY{Uk7J>c+T|7;n&B$`q>$f=>0R$=Lcu;xpzKTcI=Wb?5f3= zc2)b>BOkbX`5EX_?EAjc-mm<$_bAG#*+sAVUDOr(KKYM($C11{mY)15TP*`;px5ZG z`b_MqHviLSm-P?VQ0A0cZ}n9;4SgIg)y`ML6BuW6SJ8FnagJB|=n2Siygm-z|J3T= z+8-=A{kdmOtHe9YcjXzF$D2FK{nn19{9nc6NO0a6dM5bByI((Q&)+=iot?FKa-}yP zW0d=jac}3*?%#Eb5B6g@&RTr1#coQRyOPj#l-gdY+Hv-Ocrbr@hC6qyP8}_PsUA z`f)~>ALsr-Sx;Z?wGU~`cR!?YcGk?7-rKqS^p$?~6h^q>6xtq~!R<%w<<6ttIoSF@ z?(SXGJ<#SrdfzFuec%+@9vGj0HFO$!F`R}z4obvtH#p7xZT0OuBfTCf_p$T8J_F~8 z%Ri)_Wj}NZy8F>7v^}WN^ItufKegPiPfDIQPpZ|)N_y7&AANuGLmTm`W9at$_fK{X z$8PuKlj>LfzUrjf9Vv_PxV>18TjR(+cX#bP!~GvFP44~dNsd=IW;@d{EQkN!dCazl zOSrqM!3p;~I^mi}O7P%Gw>+|^4_-fc2K)ZtXa`DO_`QtE?@rrs+;@*Ceea0t15%&4 z^c;R8#HoEge~LYvcZ%(IEB!?~j(6#frMvC>SoObi#z#1O^v6CBm+tzIB{)=``;Rg9 zPd*^&p)F5WUULiyPS+S>KgKgOPT++5jqHz}aNW}}^TKHvt$bK7Pe@lkKCJBIWc}p{ z_wmyHJttiEMjHNwhh-R9`txZ{IlV z{?`w?I(n~1-nsrH+a1}@PS-aax9>ZSTVtnwcUN}zhcL!Y65V@>b0eOi0_;5cuc;r>53BKzb?{*S6_PO{wxWw`6K^|aOZwLA28-wtITl;m`k-18xh zrrp(8wqw*bALHH!HIv*`?GLs;k&^rgkC8oY&E|1yoQOmxSEqK|vG*)auICeN^{eAb zaH2h(SiPq|gz;WE<`}OY^X>;{@!Bryf3SxSx8$u8koRqVbD&ZFk`Pe5B)mi3yvn~z z-nz=aN8Y~5zfaz|%6s`;f<@YiZGGg+tGu6lb(Ig0udnh!^37E~M1Hu+hsmpyTm3}H z>sI-9$al3{<(Koj1Tzown+Sg-2;U*^`oUKIs#RW2`PJl2Kin$6W|bGquO;ta)xU0) z7t60FA6S*&u*!?&YV!HV`Q7E9Aup!l_1}H|P6L0Z0saN>cp)Sp2`NZJ2C|TYJQSb^ zB`8A$s!)SEG@uDBXhR3O(1ShyhvFZo+D z(D@VoJ?WqFyF330zwsOje@2}9ulQ}Nf6i}Yg~&hsJIlNHF9hK){u#e{9~}QRe<$Ie z3&J1&H~eK0(EKHTJ?FngNB@Gq*8=zal_30Y|B}Cx3-!O|H&y=)zg6{L@jGTA{onBy z!2dN>|9gIqDER*e{&K><5rlv8Kl1ki!2ECdy_^3|5dPqQVlR=sB*;MlrV(}oLvep1 z4MG&;VxGM$1g(c?gPrC`CzL1oGc8lnF>NLgrcMNu^cNoP5!9p_(87rOF4>EM4Xm{J zI@1YJ?%_H_pBd6L_`olgK^Sz@)q{(=ZWxN=L6A0K&{3ub0~o;sX0U)2Y+wf?Z5+B6 zg*vi(*=xm5mo!XyOwV|v5y+6wLWH_4Q21XIWKg4B19_UDR3R&KS5ZGfc@os*m7oCw z#2`z##`mJ22BVjGg9Wspfw<>IAqGuoz!*j_WDEx~J2dDE?BEokOiRBCFay7=8F^S2 zXu}XjFh$o<)3huFHGN_@WVlXmXC_x!2 zP=y-Qp#e>3K^r>Ig&y=_08UYl=*J31>q~-@RQzN~<*bncl%N7NXg~`((1QVtU;;B( zzzR07g9Du40ylWT3qJ5e0AkpnlQ|Ev*fhvFTPr{bDo}$4w4eh$7(hI;n?O9TTR=Rk z+dw?0J3u_6yTA<|@PZHg5P%?rAPfd=5D zw4e+K^_WFgc6jY0#&F%9U9Pt7PO%Q$NSiyAa;TiT;K)|c)U19`s=VLm0srCNKrrPxxy) zpad1DK?7RQfgTjlb`n#e3q9z=0ERGvF-*Y2KInxQanV95134%_2{}<-Vsnk>;yN^- z2`y+t2gGOQ9`r%{3`mDCf-y{B3bvo}Tn`R#f(zUr2M>6`2Yv`Z5JC`!2t*+UaY#TC zQjmrWWFZH6C_oWPP=*RrVPbhvn1am8JV60UP=OjWpamW1!2m`uL5=oxXh0KM&<6X@ zSU=J(^q>y|7{Um~AbuvKQ;<<#4hm3$3e=zhE$BcG1~7sN%wPd4bg}Us^kD!2GsGUs-k!8^zCm`Gi@AacY~TYIgrEc|Xu$~Npad&8AqZYbLKBKG1fv_f zA+16Vx-f+>)F2H#P*BgVCtiRPT;K)|c)DwLpb0H#LkGIhgFXyk z2qPH71g3DjkBu{c9US0<5qqOn&iaEM%#WdWu)(DFf-r?1`99de0WR=>4+0Q^1D}!t z9dYi7LkcpGhXNF#3>BzC1Deo<9`s=VLm0srCNKrr!`KigKnW^Pg9fyq13ehP2qrLt z1*~8LJ2=1zE^vbfeBg%w1R(@rh(Hu#5QhXLAq8p3Ko)Y42k}!NEkX&(P=PAcpbiaa zLJQi^fgbc>07DqT7$z_U+4tyIh?hcCh$Q3ETH7R7Hr^y3e+G0ZctKZ z09r7EAA(>7JE*9m13UPk3Ux?|*T|uxP6$%a67!UoKulmr?QJ|dza$M^v_mQ?id~X_p2-u(s2JWXw#dodZdssU-z|3`;G(j2%w|I|qK$->d zU90#RBSUTc0`Gxd*eW>2cY``ji2oRUpkou*zz!PT)lP{IMpE&;tqR2V!&WeX0>qE_ z{x$k+c3}hh(d9WEdgMtH`-~u;zzzaU`LjZyhf-poN3NeU7 z0+KL*JfxuvB{-3fojpPUF*|ZY0+Nt|G-MzPImkl+ico?wRGLXIZn@mNdown}!TzAqRCGdpY!BLfbKnR(%{8r^0jck)J4KQ{Gn` z`te}L5zeUf=^oxQ#a>g`7^AmGs6q|QgFQl=cV1(df^tMXh>iE~OudI^>ODLo@8KQE z9^N1C;ob2b-uv$1UG5&<)9&H@EdB83&Gqyj1G#K3@8$OL9&0b}Q}zm3sDMnqm-jq- zd6wSGGvHpHm-g~pvX|$iy*$tC73%b%QSId&)n35}5om)!O+D_pNxjf^unrpPX}Jdx zNI(VTy1n=dwod8>y`DA@2d81Lpfm0jn)GENwSfnM(4wqHIs}<%ub_nxv?-69_Xr zG01}{#r*vI`o^6&4spo##+w=TYjB)32Q>!x+bK1YeLz(MqHZV zmouSVoeR#ynvg|ranG7i*RKh|3Ob;VA@aA9b0N`Q7bcx`!BUwE9^IM{ZLAC3#7xjr zuRTCFjOh)m3A*?i?@{N1nLm_n4Ko%#XTaag_*58Q(&HZu)~$M3uVTycGr1dF%vAdnUIXn1Vw4a`=&YXcjm+~ z`~sb%A<8;76f@p&%!O)lU62tA>a0m(uqO1-OCz_Ao@TsXoe9<2T#(~?HPH`5yGD;O zWE>)&dqh9Xzt~;l{lrWtyJkGo&xIPq_#^Q{{t&zoKWSRAD|BI1t_$PIx}ccOgj|rZ z=`++uzQVd-M+RqNoo8b7&Kmfzdll;!F0Bax`W+%inlbYh{Gh$YzR3JNbKZ6D73|E( z$Q&E=X*JKVtvPFn&Eiir?4dqJX7tt!t_i9bbF7hXt_k@TYiVB>bV1e*8)(JmLftqM zg6J-mXFf*y?5qhz&pQ6JE~v9}-a)Mia`bBG%y|Dj7c3d<1(`I&CGq1B{R z>Y+6k^7z;Y`wP^u8`nDT5{P@)Nt$tF6ZAOcz5%RK zrYhL58~Yt&$8l`9Nj^rrt)hQDYiJey9RKW~i+Gi_!dA8TLMVbCf~m|}AV*P-U0Bxz za|U065jLo;tn+NkdY}&#_Si+%s&ytfArnUbg_)3Nj9i0jY|4VZBB8lp2v8rnb4|v> zAN|Z_h|bc?ZA^cY;7pJ;XM!4gabhcO*44;70?Z+qoe2>!cA{?sJ~3qdis-h$8oF5f z1bVP(*Z8>%sc}u{yRe5ccHzfAi4$FHv&LLZ_@ySWF0_daX~yhF@h8z<@QX0=)>*#^ zdh(#3CVtgKKb{tI!N(QYR2923;}1qBwtzi0u*a-rF7yg>p~M)u%v|s@k0ddB8pWQ- zTXb`NR)Vjw2dMBnC$h&y869iFNVIzxViOJXx-g*cB5N7Q%!su!q1c|W|6}vSgd}ph zkTV}o=Mi6cJ*vE^8a_Sl*DndVtb=5EGEqhtCf{)R>0LsuonAL3_PY{xzn z{f&5=VtvLl!G#U=Y16@0f?`agKNYdDfSe&>jSEAxW$-hVW_R zk7L8}+PaV@Hg`tEYkVsc-#ul+1+qM(WT&$N5SD}A2RU>(U?0#D zKlH>%6*{nqefF?R^kBl~E6jZmVt&Mw1VqUjnZF96ta**P>MHk%r(<+6#pZQs=8w(D z@LyR=jQ7L<=IG0@S2D*gc4iu~?_+BT_6|#KE{sa-&&2RC`=5+h}yv zzZQB(Fh)RyJ+hB$*!O(sR*n5=i3N6aWw4@W`l(RQ$zGS1VF%cP_!*-M1#@mdlD(vd z&ns=LF+NpcKhxnK0p>qxuCrgQ3t99R6yuNuoe^tutepejh=Jckihl%-OAh@Mp#(wEzQL|!{qU0xc2*ZtVv37-#fi&P(jxMg(1DWkSe#hcWex`R z!YcEy;hSZMGPa*N8PSoPc_@sWC7>Ez=N&3B68-3~JBypOBR0gXbK=ch@TTWNAkSWp zuELC4t`X;n>t*7EjQKU#Yun`Y*r$y(kmILnQlC>Q}3;oHN z?--0__FR0XPwX_Yu2W)Qls&A^-fJh;+ldKL)<$L^p0Z{go-fkOcfj1e$nRm?Jafnp z7peo+ml&@D2XxU@03VN_?;83Uux1@>&sjw_`CL#F`x@9nu*g2jICkcv10OaPWo@18 zS1n>=oETQ%+Mr>*X`^6{USdrP|0lwfO4z|#zjqzlxS(3hW_(}&m>9a-|ah=fh zh&lF{Ym&Vp%NkgjtD3lMDzYBzTMg#bW1nr}9}P460sBLq{b7s`m52is&Py)*xf;ht z7|SHaKjNy9SmVb=6725|=8|MR+pNQYIO--2I*B*EKKmr&NAblb42gFcd?Sd?Y@C5r z*v%kev z(-+SQ*a_>4)DpvT_Xk=D`#Ji&|eC=tfx)GnFyKntYM12Mx4*8#121m@PHmYltf*y zwtbjjuK{$DWPWzWvVflTvE#D|>~NeW#xU0~SSze0bIw8+dgxKf`~%PhA9`?Lt0wH! zOC0yHmRW3d$eBsu!;Y}k7IC6XOpfC>UglxU;$zrRfipwCjs94ZFl*9aU)6G+DzV;E zY&wQ6)x=jHL|CUfw(XX2hJh;jt%FNF6RaA1lr?l<>n7|m4nfgA*o#Kkhyg!rt2y^` z&YogVBjRp~eb>xdiyt+<;ODI6EAl+U*&~R(7SU4|{piq*J4v2-#qfthoft(-=nptg zqSGPvZD7sD*oX|D=rT@>=N$+8kBT#xp7>rvMmuvGv)=}I&dYJW3t}sy32Vq1L&^9C ze5XbqDKTym%L94#5A>?VKdk6c1AX*YM}OV!n&9?wzC$k+&KL^zjv(u9W8L-0tl^oe z+Q!~luL=w~*Z7HNO>9TO{B6Vm4`;1t65CJ zu!B6Y$*gA`S>G|TG?87$+Kt&4wZu>vKI^9c43vp?7UF&l8AJGhoU!zr2ZF?t6#C5( z3vAd#fjAXsomz~kK$Zf}@q-vT<$T;?eH#w!lQZ*(bBr6iA9UyZyDau?`Y>{DLQKq| z8yE7nnWu_a?O|U@Fm9E-Cq(Qj^UU67ulBQV7#OF^nnkPZrL1X%IG5qQRvgY0j zIv=1Ho>!C==8rx0un`+)y%PENiT5=+bCj(M&ghj zreMQA&5W<$j8+6M_7#?4GpuD5{|j-y${1tFaW)APrxL80_!*K~In${{8)dEJJhS!i zH$QqSLIT|@I2SZ|p7IcHBiKw{+&{oX+^G;Nwag_1CiFGpoL8k!qZogfgPHha!#}*p zFhJKj;)5Ky6zDI`K4RoKVTesmbod2lY8Un_=RL(BMV!aKn^0hEmxHnK6C3ejN=&yB zZ+yhOB7Qn3A~W&djBOT?LCLz*(N`B+sq@UGXP-%NPfz@u5}!5r;)Jth0hyze%XsGy ztMdH8Ue&^O!Ukdo`ZRD3itwCnA*T4T7gdcl#tt%^YeVR=qGs+??^F#N7dLc0gMvc0R&K+RW9&+UxL@A~u!g+@e4?b>`H^hK9)RL4F;w8S%3^ zHfa!Tl2{SLo+`w|BC#aNdkF{qc!*gJ&eC4m6o^4n`qJT>efH22u~No!asa!ra6iX= zFa6e$CnClL@m((Gqlvip5{G51zY!F~Su^Jc2hSK~^dChBHr7BxOl@#Bvth%nKJgb{ zu5+F?B1Z`{=s(0hB*TWS*sq$kmz$Y8`_g7FY5cwv!OyUR5OPkl$U(gVW0tV@ zY8qcfe@*%nKOXj&6la$S&u%W(E{-1B;+i41h8UcoZ5Y3kp?f=i>1W>xAa95G=-`~% zAXfD#s}du+Ui=sz$g@xQk-y2FX{DZxvE9V&l(@&RzjTQcQPwDoEyRdFT69tp*Mr!q z;rv%8R(pM1(|$sn9p#V-J!n`bE7&0bD*84+Y)C974o{I$#eN%P{YXy9E116nkjH2!GRc#Q4QNjX#WdH+(Hwg%xQGu;h_g>d@Us-U&9LuIIG_1!*a-38$Mc&3 zTh~DZyqsOU_*spZZozk3#D5d9E>R)|iqD_;#)KFhXFeWKac1bS*EHR%J$r5sSsKKI z9%IGut2+8@(a(gKR7O8$&XpeQpsZ!xvF)y$`g&p+??j^1ar2(3PK+6%=N_>uj(xR> zUs~2C#(IRS?0ujlzFLT5RpMBUIABD_l_YDxUe!aUI(F7{p(kQY6kSHpVFn#G(OVK< zsuEuc*iM0XIzU%No>_v7+rW>)_<|OH9S}d|_>dAiY-9T+G3JXlK)+*B3;u7Qtr|Z_ zVqayRQPQlB6W^Bt`XAEMIf%>He_RJm-=Num;2Ie`BXqkf_8%v{C z1#|V`lV#RN$vH&E-cmx20{Z9>S4}#623zy9zB=Ngl2{OfB>t{oZ9NbsCS{OCi+|TR zQ#hG-3-mmgOc-bg)@#BA5`%y&||Oc5F2vHspeVTO`lE9*%t9RllMw?Y%|BZ zqyqDv5EI8@tR&w0*{iJBzeR*N;=u=^_<&cmGyFh>9<)C85Og%;tQSXy7|%gjCHBtP zCMz}pdKrBqM}>8@5*x?toksMOVt)=3N0Y2s6GGUZ5*eoWFV- zyfFqhb4n8f^!Qkwc-O;zoUBunIa$$Lh&?loE$MlV@Ii_9m?L7#kXWzAwrZ@s9D6Dw zvzPO82!D0(tZ7AdZvx-sdDe-aw>eknct01Tu98^N;(VcHZcWy@%HE(y<|sZ>!j_x( zQIvXK>P5t}2kT=+_5iXtsP9Seu3oei-qZQYoO8f{otQcI+UX;NEFSDB!2Vf)8hfmr zb)FEr+{Do|drA#GIk6`>cGJcd+^my~*r8&-%pt#%{aQoaNtOMJ^Guy}t%`9MpN!#? zMq*w|^h@+v!ww@uY)^@=VP7uJFh*qT;TtmMQ2_&f6&wQR=OnV#SkEl7m55Vje9;sq zCUK4r(@&O|;AEaE_Chu5>qE{6KIFuw66{yiDJk!ayx2>R{X@?61i$X_ZX-(!>51np z`p<)gdAQI=jhI@%X6pFtnDsBPhfOI9B-tlxw8chs^*QfNm=FHhCpP(zLBqb0;Tc3N zj*Ts4SO*I+C*CE-vtO2pnPuWamHrC&+K@FGqc07*Fd~PWzJly?N#d^-yPa^ZD-%;Z zoF!xhbYEe7;+7WqQ`mQ!zG^%N1*w}Q8{Ol&D+p>9zSzn&mD9V=jgEjD@+Zg-T7~PJDadm7V$66M7 zH_;{b57Dnh+&eh8*su#Py2-FM1rvKeYwX1rs;se`{xsO55#1Z{&o(yW!B(0e=X~N~ zE^R1sMrmO`4W3`^_+|nfggMVvh+7Wg_W(T%*dtr`Tc366VM`ri;}ji+(2p9wXcDIa z#HOyB_ii!vxhC)J*e|^JPYd65)1M9-F>^Ln;x`q1vWZ=%iIE}EAK8;kqVKa;2Dld# z^@^SX#4d#xS6SmB_m$X9iP+#nCqwKcga5WzTNi6NrH>ji7qE*iYg*z=QX-BOh(`wY z)g=3Ni}z?{Vv2=+LiloKaS>S0jUk7@B51ee6LA;$NHn zvxR@DcxDaacX{l`ZWYfL?4O)H`>aih{l(0?j57LBaYpO0u0?c{$5-9NA}?|dv3)Dg zuOZfJ#C#Gw=LALn#TUZjvnn=SXP>Wef5<*(p${8+X)|XpeU*qmG5T^ao)=#T5wqgN zy`i7D%Xy*9y1AIkn0GX0^quD2!2k-Jt22xr4Pi(4vV%C}z-I#VU*fDN#d&N{#{O#~ z*0~tV2VUyB(RGLC17nBtH2QU;-!k#C&e%$x&qv~!m{{P&hJ4Jgif;!yq&%bP*dLtO zt`A%3vUln6F&8+%!#+`G|Ee)&5`V~Z{!OtrSXdVo&wv`vyw;xheu_N-{KTt{ct(p6 zlZdlE@!tioSGciZ6FO3$BMY%S%f1m|Eh5-$ljoTIM_*H=U$Qj>>{B}F{i2r8ZU+U0t65CU=4rb2o1^V}MzObMJ zA37Z1pGMX)!9LR>W~n$ob%|MCVr-1EC^nSDR>Ii1Nqk>`4s7^B9y?SpKRY&|R}dG7 zO;h|NO&o4APMWn>U{6!(SNQqFkho^x+Du$CGv7FSLk&G7Shp;5tFuN$;#Xb6+<9-= zrrr?Q0_a-FI{P@2DCu{^7)H`il(R8pe&h9DR<+RvW z45D4pmzJ_Fww1vDCahtH{i=lxYx0aq3@;lvOQ44)d%Tjd!t5^&VviR+S4Eq|4o$41 ziLnOEJI}MVnRPK^?|o!)6xfrnS@F|Ee<{vKNowL8y$3X*c$6sME_ydI7Teg5Z{8VTalk%%GnPx z1ALTquG6N$Gh&Zai>x~QB3H!D(65PWJL?>SB5Rc(rkIE~1IF^Q?-zKEupv(korKVx zm9}Zloq6nWfc^RL-xT}ki1R~>dMW(OAj-|&9s~{Xvm~B-h$B<F)4_7Lkk=(tN8@sp*` z3TsuN-wt+}VL!8RUI;LEKfV>>*+0fu8OCaHMi22^p~4?3Ji{09&kSd{2=)*s9u!#P z9D9u%eLL}`Tmsvp+)KF?o2%k0dDcOVJ)1dSScxZn#?q#U@A!F}{lbf$-N@G?Mp~Im z9{Y3f?4-e7huBODTW%(>W#W2;dI6rJD#T1Zz7}B*39=3~;-8jzML7TX(Mg-LLmQuw z;R8v=Zi0bvRIGc3`(w@|dVD3wyqY|d%F*eNy+n@xdsx#fc9&-SH2a60x*Gh`DrZb| ztVKR8K9IvE2gEQJes0DNr|3t|UX;(#4`Y>iFB8Ttyy&XH`YJ=rlX#g&e?|89P?EO9 zCPkjTn|4m-=vEU?bj*|Uof*5GV$XT(F-h#|(U%%~)v$Ne+3WP^Ak5xeV=t>ho_7i! z*1L``Wf^DU!ne?g5xu+dsW|kN#2aF1kysQFV=?P(BCeI3$icbT!MYT3yc5AzGwewY zv8rNGd|{FZ4F^;4WAxkYd(C%4^!lCA%Bo@ZRp#<*}#E4##yHV zewD+{WcZ9p^k0||*BaPZjI}PY4qoQyW-UU*j2t>?U~?_{%A)rSd$R_8Wr#mYbQZ^E zG@O}a=)=SsyU( z;)v%jY^ce)6{xR9h9>)+8=ETeY^cFsL+IYXxyjBtxQI(S_DDbSnXz#@@gzp<@-yEA z_7}(gqv#^Yo|NU8InKHmIg3p3eIK@$M%QL^Ic7Wy^NXT`F7o*}_q15Y0`V(Mdo|}- zGd`kceWskxOW1RQSUN!d9{P$C%M>Q!J#s|L#5{BqWdCo_UxWHyp4I#g_DmJ)#Jv1G zqgJ?=U@w^>tD2w5q=*Yc>|uhB)mUpQ&!rvWz7boH;eT@0I*LtokU7NM2E?Nd{aRSx zG(MDIjw%bfCKjq_Q(|9jVxMN-^?8uB$=XyXbMkM1^eXl)=(8RUe7MZnzK4HRInUaO z2L1Ttc+n!X0e+hZ2j@u0wYsm{8z@j)B!DOL1Y zoMJDW0m{5@$|6Ia_-Mt>(sk^NzH*$YH0-lV2R6X|W@U^xm{`jM{r8a5DDKG?_H)kU z7UmP<+?Hm4)$@EJN7fK?*VBievLfdq2llVw{1T$RdBXW0AFD7=HD}lm=UELpuRwr! z5l8PPe7=G|`H6dSagw$=;cz7) z?>21MY?8R5=L|Msk7yxtmA$WmeI#YXYR(i2{J%=9adMv2D`?-u7kCHIV4RkyZ{mf4 z{#5vx7uz3UgRTrQk9DxpcY+u(5}$q8>*Uzqg#L}3hb`EBnYiIZRu%iXk(l0KJP-OT zqc;;jN3L_;DImX!F}1`pJI_HeblKoNm7n$UfsJ!ck$Q4$D#v+2Mhu(adtUZlH)n)s zCH9(}xZ{B_IPo1HYg+;baU}vtD1te%^?ybZ*y2$9_w~>U#9te5Z6(G=AqfQ-fRX*u z1`cS6^y052qWpgr_RuWYX|KWVwcrE;ltIoK#vlb*=z)<~9?{sG$W7(Bu0CXp&cu zdLRO6C_@q|(1$kYnUfq8-~l(dAOLX~Ko>?Zgel0dcL$ij1qtX8lk%hmsDKPVSAZ`_ zJyJbb!46Jvg9lQOfdu5C07Ym*9U4%BHjF_{Ow&UUV&Eq3Ej_6jJm?@o znuiMbQmi3q7Zk*E55yn?X{bOAI-s@%1sth_5Bm zGK`=C9mqo%EZny`m@BD;G)h{BF4Vw5*^pF5+96eu+CT$ZC-y<|Jy1VEOjU(iFF>kcHy7a&kzE-(RO zk@>)we3H})8OVbN1~3FuiMrr{2G}Sokal1K$})Nd8Q8%M0SH1G@=${&w4nz&&aeYg zS!K)Sm82QyfwGFdfgW67gA`;S0TD<;5o*wZCa7z)109&b2{A}O4tmfBc^#dC1)N|5 zE7XyvL|TCa=a>#@A50DA1uh7p|03xSIxvDRsGI15R7>iIJd9xgWiWNn8L6>_e!vT% zHtRKpx7_13C9}U;+zNDYKJ$zzcqeLm8UT z1?2>JVM^XWsslS{Ap(BzK@4(Gh7owC*aoDa2XzQTlV|ZMX`E-I7|%H3$4}k{d9Xko zg5ZWCWWWjo2+&3j1?WN)44?rsBtZ!&P(TTa;0HNln<2|{ijp({DhPrHyx@Q=7$Hu* z9%+o!2`%z9WFM1ixNejBNX7E~b(b%;V3oX`fp`0fL=Py!bOzyNkALIq4(%0LfY z(18*(FyOwCw9or_Gie5r(18K8U zp7%pC&_ELO;D8ROz(fBn(0~&%(19@TeZ8bPutJu1c~$6u1q$4EJ7@!G$b$|>5I_eG zP=gkRl=(;%P=_q&c~*^)#-W5>lB88JPrn_~7BpZ0GRnrJKGG1VAq7b&LJQi^g%0$< z$h#k%oB4qo%;19vgrNaFP_REL!65!SaMCCgp$kgh4{1OSDlmZqg5ZZ3#Gwui-d!1Z zPpX6=*G;b5SCYIFoh`PRw#oD!Vm-{ROq))+M-^YGzJ5(rs$t^Lb;s0 zA<0^h`bZO`8HkfNk(xEf(X}kh(dwufSAG%)X49l z?SQ;P%tO7zb317dx)9=L5q;7M?;W&d#sEFozz;46LKNcAgFZ|_RzX%!f*E|^h6tpf z07a-m1M1L(E{s4^#gD)VQ7AzXnotGtGvVx~t5FAB5QG#YAyQ{NNI(G;4dj3T$RYUu zQ+FR=l5BOs|3_3nRA2;D6hz5_0gxaf3I>uW3_(CeL=g}a1p|Vp-P1kYGd;0;I?r^j zT%B|7dv|Z#Je&94%{gyv-n;iM@BdppVP|jRiu~W_dF$EF{!X1bRdwoAb#+gj(=+Ij zub>1E^E0rQs0(J%VLm_{K?GUm3+SSWIr4G{K|`#}KIp5i5_NP?M+g;^;K2k^74}i3 zzQiyZ2w{pmpPAodzr;q3`8wATD$F~Xmry6|Af^$;1Qd8Mf+j)`;Dd%NGHfT?05OCj z=@`1CQ_xB4#42&pTt?bPY!au407Kk}w(JW&wBhI2m+R>$6tY3$fv;{fRb12b%8R9T` zZDJ5pq}>>1nPiqBok9Wv8gQ^oBgTk6q~S#n1!OUYF~$>&qe@IyvJ-t!kVb&K2C)kd=`naQg*eiXQ9&CG^e{;u;|%7YAcHjWD58Znda%$3 z;=nk9D5HyE#>ZIUga>{kA)|pJZ1kNtV8;|ZNFt5|8mM8~!p~UrQMoV=KO!h22Nfc^ zn3|+Kf-U-rh#C~+QAY(WG%?Efof3UbQ^Xe0LKKlj6iNE&M(ESZ(SIcp>*N)QP58*` z5o5%V*}sK(sK_G)4OMh8&bFeE;bL6MG`uLV%{Vay87i_UB98*(MGHg zJE)_L0w&3K!GjP|h@y)g%&ASZ203106GfCTPTnNO5QB_35=cTo8F{qeqz`ix4$LEn z1d>poLW7Jn@+hK;I@+)>rpkst?Oco0PbB4lXDneXMq zQN}7bVTTFD1sZa2rznGQc+n-VjS~$(VVKp5$5gak+v~j z!b#eNNle3sS%eTq1PLS|A%i@I)0Bq`4wMi?2vJm^po*Cc?EyRKN#Zzhf;fT-M3f;T zj{?%jB9djhh+z`*2xA-`Od~?MkeQd`HH`^OqfDNI7=a3Ro@)aVX%X=PZO*(CvnY{Q zLxA)os-#my85&}!K}QD@tZ#!C)8@7?gCJrM;D?AbDzFtP0|6N%p(6nWB@|IW77cV@ zDbZdSMi3s%BZ(HDv2(;C%BZ3VN15`NhYv1{RA?t;Nf*&W1rG8`@M8)^D9BduAl)M^EIM56^TvANiV;mj?5yCtYP|!mQF2t4Nu77-x*i zc$i}$cA1|gy3sbv6SEK@p$r>i3P<6B1;dEL2LUO>C^t(~kw*nx)X{;3@khgGk{%;Y z!i^Au7)2N{#37@J7P_$V>~0t%aKeR2%)k#7I_fCF!Z@iAf`}lD7zCJ8lBhs~jx6gG zh&9yF#Ux`)JZG(mDbNVubC6p&^DO{7A8Eis*z3ZPu+2OJ+oz^cWPB8IL>57&)Cdg$``Y z2Z`fEE3pPA={T{7NzzGk9v!w(Cps7t+G1ITac~;*ZG;&IWoJxfjXWJ0(plm#Q6)N% zrd*ELK!vo6F<(h@o-#ee5F&39Ez)7)46Ja#j|BM%_TM92Mu2n>X~f`z7j2eVs8b3- zjKYdxKI@GWeXub8QotzOa6v(aWnSVOG{$&2iSwwD-^C2+G4h+lX<~yoL-Zj65%Xxk z#r|f^eWJ^J6Asczgpo%NlZ=h=(J$#G#vr4BS-xYEf(i}em_QXd*co^4K%Vp%F%_r% zNqb30p&|`)iV^3KgNJdu4vfMA8(QSMiDQ^VgLxORj2>!eL4=Ah;*6_{p^gc2j2+4d zKtUEE%pwI1Bh)d;Sk4%Rk;8b5>x*b1&cM%D7M*!J=@QXNbf85#M=T<3;15kdqF3=3SZ#4;2VVJB|_F3iFvQU{_44LYpk+0i0hMI95&M~HE=JR}In zKtm2?)X;@Z;u?Spvj`#q6%x|Op@=3r=)od${xOdTWRy{dO`+W}g9*$b0ufbMRr270 z1EXjogEW#D(P$Ugp&$V_L`VoD1-njrV;EuRC_#of3B&@tY1)LCL=92QVS;=o!bmXh zC(a;%I7-m@K7?dObfLhSVO>mP3S;nN4q@nsA&nf$=)jU?JxsxaS@;n`7|lG}F3`rr zQQ`!qFasZwNTZG>hKuYQBXD67Q}CkA@*puX$}>5lh7O7-A&V+TOY9Q@QV64iCR(tU z**;uwVj7c}!4yB&&6@L+^Ai1#E1XLdP=d9}@nN_|`w^R%CLM+!6PUv|H0X#Sg*Ha( z93y(9Bg80X5W{eT*CR2HGF;3%F@_1uU=$$;h(n`Xis(ZXMYLgUvMxqo$2eS=g&SUk zpdo=Y@^G{`R$><;q(?E1Ii%1=3p%=RwJ8T5JP2VH^N3*%6Od3s3k{5PI9_x~PY}o8 zz!Umu(`2405O;+~c)`BsApUm*)jA0xz@FRu< z=Fmn3RYVyZ-y?d7Y53qqlDPnkH{W?A@==X>yJWZ*>ue!dqTfC3Rg*bu=CMj;@~ z_nEzzg$+*3pb8xoB+!JF@3(kh#~k8FA_@&E$DJouP(ue{w9$ptL)#FC`Ob|KE_mTb z5FwaToTxxX25q#^Ko>5)b6us6z-E5;8WZrr3qR(OfQY1-=6hWVvdCeW?^#S>+WamE zYM4h95yT*&h%_d-ri1Vy01Yw!Qf+z&Ukwz9BbTKTl9!4;Oak$~Z1bhfcY!4zb$fAvy z%yo|lf^Z{)ED9*1g*vPX$B7XnnGX?l)XY4UdcXo3%&AMhkMtzw5I_t`h!CJchlY$s zyP*w>&c5KrEWC&!h9pvukb{ma$|#_Q7944g31P&LL<%BgC{UpxiyVruXE+8-V-izv zBZx9)vn+=jegqIh916;?`e9U_>hFMI&fl+wi zf*o1RL4<$=@^BW|9??PU62rteWK>Z%)8=P(Em&UYex zL=UW_d&Djrq(>1!6aw6sK?p^Ru^lIL}7BJ4G`ix%lRns6{bjbVf^i#jA^ zkV6OII&Fa{Dh=8m9ax*x4da-A2R^tFfe00KXviSJePp7=xyLkS;Ke+mh#(FT3UV-~ zGO>yp8fc-74xDZ3fm)d7c*F$K=)%Q4#{(}?h#`&yB*;iZLk&e#;pGa_Wo)b>@ONq%&)R^6v8lswB7zjksGlXhVSHMEfQGA0XF>LmL(4nN}yNLzx8 z5r7X-G?9b=9eET`LTirkJ|V_8!0t>LAz~N_h$x|kIwr#$2iuPmi)g`Nu8(AzzpF)5 z(8TOKb>qC3h*E_1$0%B`Mp=#^=FmbTM%yBQHmq^RlQ0G>LNuo|v4A=9im1R&T~dq{ z6H&xyiuQqm4Du+T4VOThFh0v3NEsE& z@&Q_+Hm%`9?(D@ z6^t-0#sLK`#>PYt#S{coFfvRUI%@FR=$nCnX*>CdB91KbaE#C=12;ygzlS)FI28D} z-bT28I^luUNuLnWob05#u#8g9G)5m1dUd|*>Y^VBU0BBHk3u0P81e+$g`e%tOwxaY zHhfd`At8<=B{bCq}4}OFY zMFthvLevogL}ZXd0ao5S=MX^@5;RmX!WfAOOu-8Y1+?K}OhgD}RN;uwr-v!bBZefJ zutZrO8sahb&sc^jk7(EuL`=gC1zC*K{`n-!yrPjI3XDrA!Xj`j66c9o6i~(lTXwBV#qehP7zQ-+vB5z#E?j_n0VYWY zD4_~rjPEB`MI%&TyJ%p#NZk-e8@>|TKm<j2IU*D=f7^tlGm!xVk0bBH00ESi|3oY%th zFH}%N8!j8qxe!MQK|6UP%tMBP3|bEIoji*|0P}2b*3I|75g+3@A$q!GOu2ZDhZF>; z$fAZWdT@;MoDLmyVVU4LA(E3IX3&I7_C%sw_u!;J(qSm_gU znEhgiQRh)N5qXp_;^EmRawww-%Ph|XVQEN4(aUnAkVDAFaUsTao$*ti^aODlN#rpe z;Q1jk@C2zJ(M}w}49Ygy2ohD)5eV^o5>?)>lf;Oh-pYAblqqTq)`adssFq#CfxigEk5hLkL4g9z`@@ z5!nuX6$$ftqF+Kp6(0H^d`O}OC;bgmh#-Lq8jv;WqEio)QALurOtQTc92vHc5L866 zJd-VO9YSDvf@k7o)X{}Vo~KOvAy;LeHO@Z*h}Su9=pf(V8b)nQF)TbUwkP;I0K_QI zeKV-S%d_3dX~mGb)E5HJUKM09YT;)r$n0-)n4e(~KnQb4qJ%E&Hl8iOi2x#qB8M_0 zj@N5v8}K8E6lCO3Kp7p3j<9{$9Bcz=6wpS%$bToTL2ghdLT)q7BO!+rc#I z80ER=@HjtXVgj>>qX+v0KhGfn5u=m*EDRR}h|rM7+!Xak6OL)>i5ToN90RdLbh#-5 z9R(CI<)<7Zs7RxV4#oo<17?wzj`H1cwu>Oo0qtRaew6vyizvXHM51SoGEg{2Dlv!B zJZ*%@2>Zh{!pNcoAJ5dXXu`@fvoS<5hcZ;Q<>Gl+6gu+I%xjM4W3%uhfDpo%pKqJ;V{n^E*C>(G1HV zp@<6XJil>a8d1ow=GYcQ)X{;3XDlgL3zWqSW|4x38X`O=iNeNn4<|fGA&)j(Rq6*z zjbkRZ5gumFn^Pm-}f*L4^-&L!a~2l6Qf8{&P{ai_j?7>VbUrh{0@~gd08|_ zw~%zijW*H7?@bxS40ME1Km`_lhlw8o-#f1nyYP|@Vs1( z;Kw{P=o4|HKy0D~yN%~4D8V`vH>QY%$++PqhLC^?4}VA4pJluh5|JZ3H>7UFDWV@~ z(mD#HJE)Mh@jY@CdH4$nBgVN*L52bqd1T57W2BNW+NA5mBu4q3xC>T(Cr_f9Fy;|w zJ_!jjJmh7F71T(N@!j!wEn$@ST|N%J7d`_W5yT-tLIDj7^Zjte+&)o5nRK2QZ6}Nl z=~2EDZi(~vz=>W25JDbBlu_*@j0VxobE^P?h@;s{7y?m6j%`?Yo>eusMfAav;BQ+K zv*==sYkZzOKQTeniD_goYNx)_aU(#SgUcN^;v=l%jTCL&ZB}BgzYCye1p!kC^r!dM>4ApjW}_*8yh2bwUaagEm`Vu&M&0!pZ$i5|i_ z%IKuCn zUVV2%a9_Elm5f#kvY~F)egb+m&Iq}GVb%f`N zh@*|UMAGo^+l$rKv`z2~5;K_2B#jvqNmtN98`eple_{#_mWPOueA1AzNh578n_}A#$nz3A zs7>=+6F$r%4jpL}F-BiP6e3jQ5O&iRh@gZHoF0w|5yUV)%W=Yo01~yNArM9MVE1w! z)Fb?UD)tXQO3a&6lynhx`XRi~(S+4c9!B6o5f#+Y!*GE5!VAC7XDMO>ZP@9b7)1ga zM(BfZV+tB&ZS+?JNY5dK3iDM*%FsybNF#$5Ec8{(z=IH`=S3#cH>e2+L!Ow)f6 zVEfj2_6ZM)lk|-cXQxw!2NMy_Exd?ehCBg2l$oz0OxhErZHcK#^JjXVH#1*^Eyl6I zgAnGBM-47_%5Y;GLDq>O1CjX>v4t+|^nr|E3={AnfLeynAjB-1Xk$1@9pOiYX#w8mLcODLlUhe{iwi79v>V1lw;qK$rEi5a%4HX-~|+jShJMqC|gCj_AtJCP<@#CahVm7i1CCQbvc^g)_%B zg)xL7K}Hq@4CmP%rcgl@P4o&Wqeq-9uw7(eFR~rjN}NNY4*_H_T%x}4u*^>kV;(Bf z$iPxg8J05pg8&J#iEZbIZOm1;Pa%#xELDyTE=zY`=%n0jY7EyRv=BMw=f;q&IL>4)e(4G>E zaVP5_gn2mW8ylfdY>ekTI_Wa%XdunAg<<;4W)VONYEUq;#2o7AVai22gaso*%p#8h ztn{nJ8+=|NN<;-E(oHz&XY(M45Nu7JOAym2po9)QlN=k%bYdF*B>N}kP(Te<`r=05 zf)_!|BMK1;DyX4>HhLJLuWlR($Y@}8hWZh$L;(dfFiRht1vX5=g9r++de|05F{uiM zhZsNzaU>u@gN_DTXu?mwTo6&@pu?XLjHWqHjC-jEGz2=F>cYNn(wdHzRtm1i0ofjaftxLmV>F$fAG-Y&@F^!ii~QyF3@E z3&t$zIhfNtu|}RqRM18VT0=0#dVEd@aSocKi9Q6#%bIEW3+ItQ95NK-;IfLw7=4C5 zqC!j~X%~$E{f1#=P=V?YdHo*cd9i3rB1qq192%mdqERHa(ZR$R%dI@KqE9h~Bm}64 z#>j&J2^!Lv9X`tE4qh{8Av+@)BXQagW0*t;38djnunlMk&5DLA$vJ_52%?Cgh0zps z!W4XnBLN8wG|@sAvR^c21lk;Vh-kqja(*y}5&KborzF<~yb{}lA9F}RMHwv&%hVMU zn1mmrBRofpibfgJq+JU4Ech^oC{pBSh;=ws)`uS<%p-<4WN4_Mj$w_uVg@Os;idnx z>^REbJK-Fmiyre6I{SqT1!V}jXr$mwb8QkkL>U^g$e{qq$?ua!FT?8rS<*gY0|F$d zD502Td!sxP&9XntVT$=2v4S>6a?~5+1(h0m&7Wuh8}_~(Xf|jL*giL5(?=6G1X=rqK^5FXjF){GS?;? z<2-{UMiK8(cXUX1VX1KbFkz957Wsb4hL{gSLmmA&js^i5}zMf-z6CdVhRE>=%9;Ilq5u=!b8-55#BM+OEerXg?K?|W_`XeDgMjhRdWQ^G8XG9PZ@?puCw6h-R z7P8Ykqi5caDDun;L>XyB<|U&;9G&5{OTTu2Xr*s^o@ghIAW1q%EW%1(w+(*GA(D~| zfv6GFM7PNHh&|*;+eaxQONM#Phe#)oL{yzYeG9}MZ1kzSFbf$9iYTLrHj?AyqXs8^>!X-}m!Bi&h!Nz` zhMl|sy6mGz^v-gRAU#PxyB9vpA%Zdb*k|BH1R@%kroY_{A4&zu2oM`^(dRx5H#`U- zjCn*#k|7eSsG|)l{qd7t{(jgjbs{aHi&65X$eYG2MEdGwqJ|vuD4>ZBCg{7Lg8&ga z%9y7AJ_nKQ*?jcLkmqK87EvUSgtyDaElkov#n1mbih(JMtbqd51 ztc)G7!3`e*NI^oKF$W`zD{x{8GnhpPF(i;e0ZnvaVGM!|ZUkXY0#QT}ZOl!}Mi??< z6UH!(S;WyLUu3L8m-NhxY*-nuFog%kA`df&A&(mTGWCLvM3{a>VhJ7ekR#8naLr*vl8pqhg04BQa-I=HR%6?! zp^E@xDcZ1Wvf)Zo7L%Aq3>nxmycXu!J~4_ada!0`OL*bKJfdjisasYyI>au~nUjr? z0@n$q;Y9!{GAN;5l#SUUZGjMk2;+pz2!Dy~BZPQWHuA&*X6mvrR;FE%u5b)h%0WV{ zD;tg)uX%)!#zdX=ig6Dl?I7(MRtzuEj|7sC(IVd;Kg!SR91F%9)EP;nkwFf@CdZ2` zN~oZU7KUAl;cl@WrV@PqB9_J(N77!r=0}ME=&*FC3xb%KQ4FEWeFhTu?JCjdRt#&8 zIz!;K=^{>I7CyvLKm{!fTNs;x8g!px*sS#LBZAR@VvJ#gF((t4K_tkS4Pqt9=Wt>b zHpZNcA~2^I^TZgMq^ratEQ~YJiCy$yXWoGz<`G2=4K(3kJc<(mgph!MG8!0RY|0cA zWKlvDHpZsd5yqIP7!IUKXJH*>ECKuoKxbKrILtT|CtR3<8-9ckM*<>bC~!)OF^V?n z4tf}4oXaEv2q6X;I+~Pip-8$1%Q(k}Da;^%5JbpuPtYEUVyLJw-#`n)1tjsa1O95SSHsQait9Dc4JOk$?27&@_xLWR08=B8Csj98s>#kEy}IhBc3 z^4dfzV{#H0YbwTYnB!_GMwnP^D~2rdIg4}-B{b17Bl-27VgwnZ6GjAfg>e*&)k#4m zT_su>qvJHk=^%hPXo$O1qX2)D^$|r91r*W61mkzy@FIv15-7mVIG#yN!3#gy8b8~3 zR3k;Yh!R9N8OtLk@gaUW*QO1 zphAO=46?|hhzgpJ_>Nl<ZhiEiS$dP5aSZ%qn`bn=>-X89w^HRYy~>#t>& zHm5{?y~XtM|H(V@dI@dSd`3yD%jL|NxMOZ{N$QTgyAs-}`OK>H>g}vfC!ax?#qxq8 zJV{wml@w_uUtUR>>nMt%s{C8Mzr31La(CqDihjrZ>e8#zSta|7%B@~UzN7ukCHcqY zC`mo3B{Srzk6W^OJI_3Qx41@JE8ZjCE8ZvGFFqhXD6SLNiyOp^;wEvkxJ6tLxlY7w z;&yR|xKrFE?q+`VbVxib9ubd<$He2}3Gt+ON<1x|5zmU}#Pi|>9`RkI{3Y?SctyM_ zUK6j2Hy*eC>TUht({lRhw#mhxPNjvkn3mF9x@j$~r_t2eKdV6eLQ_4eKLJ2eL8(6eKvhAeLj65ZKN+!w_Q(Lzo)DFGg)ST);-VK{;U`O z@F#xQ`@`FR_{Bf+@gJG}k!?Tnq96VEkN)G2=6>|dkG}EQ0|Q@vw(r@SpMC4u?|#mI zJg4!Tfq@fPoSyUC_doYPpWAuvt>?b+$G-Yw(vKbgvE?N{i1^y){q6I_=N)_A%YOVX zetiDN2L|^3_+$LPIQ{ldeCH>Y)Bm?(`zLPx#5;fTTR&O<$!kCP_UHfG^UKe_`207& z;GbTQe}VCWH@)y{FU-F1%nRQ*_?1Cz@buste(FmR^<`II_STnw{pE$1 zUwHYi|H9XPLH&gjzwp{ueDM|HD~`V6)xY?KUle}v@Grjdmp=bXiC;SOOD}!pr(Zey z%B`>bsaJjMRqj`9dDRPF{gGFXzk1!PpZA&%yk_(@_rK=ZuYKQZ9j{&U+GoA)_g?p% z*R@{v=d;k5t_4i(V@7sRw>%W)(J>&P@^!s1={nYOt`Tdvt z!N>n#`VTh!!Sny{PyTT757+ANas~J}@xw=O38+ zz@87h^n;)J;6Hyb`@wS`eAS0O|DpJY4u0qrfAqOOvj5SVKYG@O-}_p$|Gk1k%D@BgUtqxXFDMvkRXc{L7)gbpPeTUk-k5=yUGR zEqre9uZI50{Z|WrHTe0V&$~ar@cF^N9{OwdUoZUi;NJ}Wjr(sF{$}tCLtk)zVc`pd ze>?QI?!R65+rcjmebN2Jg)a_%Y3NJtFD-m&@XJGAc7J){%Y%P6^mp#RTll-duMB;~ z{gs8U41RU!tM0EZe0A{ehyLFE_X~eN_zy$>;Qoh&e;EAQ(AV5wTlm`GKMwt)`yUtn zaqypp{>lAM3;#6u^`Wo3zrOJG!EX$G!~KngZw&tP&_BEXdEuW2|7GZ3-2bxhFN6O& z^snxJUHI3*e;fKY_rERt+u%2czUltv!Z!#1edyoa|Gx0=gWnqZmit=^-x~b((6`;+ zUikLle+>PH`#%=`WAHme-*JCu;X8x>IrN|I|6KUb!T%ciFZX{f{MX=r5B<0MzZd>{ z&@yCkTNW&X)*-9gx?mj~9vXHJFANXbhHP%zf^E<~WOv&a?Em|-H#jmh;vV_mZ|D2n z!otX)W60rlEI6Lo7GCK5sB?hd0rkvEo24{9mkux@E!U6vM4=zICATkqsu2@XKgTR} zd#bYZ{=@^1TeACc^S8_Ypi_@L=_k6IhM(~sT-5@VCs{|3 z%{m->k|hHJ$C8Ja^7r&hnI+e)+MYT8)YEn4#;TtHXb0sn<(BeY^73LqEQ%$uELOy- zSQG1X_paVfLQIM&Q4mE@5@k^lRZ+WR`RcOE=@W^QiQ|b=iPMQ4$=%7F$vw$kPkKzt z<^QKK!Pb&L&@JAsL5l5eO9)F_-=4VAZ{w>=EnOnN_=G*5?=LkH_Yk)%mE`ZGl6ow0 zEAeRJX5v!fGINDhYu=lZ;ep3H79UNK^qW^N9g+@9N2H@t^$GQPeEoh<^Y=Z)Rc&tnP~sq0>DuJ|$p@0_lk1WXCO15x z^pV8j{*~NJHddA$OC0Uz)swZAyaS2-i8cMXhx^O+CH5xnN#47%{0DVBtGDw|Vo!fx zxAQh9H$CMZx3Fa4DVN^f#`j8XW}llLx8Luz&g$juWQSVZm24%u#9ne^^5NuOQu~q* zJ)_zs63Ij=p{&%PoT%{i##*ADXe646R-&Egu&SLHUq(7|h)%WT9^#l4r{g8fGKcXMi zkLkzt6Z%R0lzv)2qo38!>F4zex}jgxFX@-{EBaOan*P*B@q=2zM*|@x2!bd`f^0s# z6f{8>(n3ba3OOM!6ojHs63RkFs0uZqE;NLu&=T50N9YPY;V$8BVU4g>xJS5GxKFrW zctChiSSPF(HV7MqO~Phji?ASU6}Ac6g&o39VVAI5*dsh7JS^-L_6hri1HwV!kZ@Qy zA{-Tt3CD#K!b#zja9TJcoE6Rq=Ys7<mhMy;r?YykT))U#%{_jd9S=r-Y-|>np~H+%RA(q@-BI| zoRE`pN)}~ZPRkiNE9d0AT#$=$NiNH>tjMaY$sM^XACr&EC*+gzA^EU;MDEFV$#=_Z zPO(?|AZ4&2V;?!Vrg z%k5aqySkGj>u>L_{i(A90~=2b49KUiooYQgFmUR`23lxf;P@8v|GW2_|I@L|v|;x} z>Udz2aFZ|F3_N<%%JC?R<=9p8GV>YJ+w!J*bN4NIp3jMZ!wBG^?TYA(> zIJaEJjLNw+`ww5+d+zGq#=*t>O&ne2%3}KAZIzwEs;w^On*SfCj;EK}`Rw|;`p3&N z|CO?*`^R&;{G~_4vj@mKed5fPg}tX9-f-*ovj1sn*Tc(e9D0bqQ$_0@;96Nr+ugH2 z!TB+#v**qKQ`>6iH{UQ*=Jden`uX%l@!}@h-<;Y@*T5skPM_VmZ_OR;vRGpAe{p3C z0|U)tyZd`j_V=@KVX?%y{@yt6XYZvJ2dT}2>rP$ba|&mw${AR*>3(X-7l#HiwAtbQ zHDj*1W*1k&Wixe}tN8rV^=HmM`BdB^u4=a(*A74KO5n`(>w0xVH_xs3yjBEQ(nl*g#i7#$1O(&L8sde&(2Ul8|bFk_Riv9hXD`aVvP5oEj^7>{x z$3CBW%3s@jVKeQw|N5O}w)J0OX5RIs<6mB`EFJlcJGPrRaA@ChiKmO}uF{3SG@U(h zp6kq@g?e|~ZPssCE@e-WpJg>3rFtQ&+2X7P5sU-)#i5omX+gP z%xiG$i_?+*m9=ewwpcpf<&$gA@Q!i%v76VfwvFw#S_jv1yv;4m>z8+LTsl+PmDj`a zcDQe>x|5&ix7;o6VA-t~&hOfB^mOvZnT@?&g-6ZuXP4e(ihIv)xwXkys>_SoF7OLcmz-*U;7T9@{iORwx67+}D~|p6f2{fqT!=RyJKT%RIWjwWYS>;!3NVc?uyGXE1YQ!_IR5%*cnfonO1M_r0e7`YJvH!H@2;`_~CtzJbL#&-gj2rSNM7R+&!G##2xK( zgi?#szNJ=Oo;PEze=Zht9^IPQ%wWTT>Xq;Iue|J$b0_Y;b+})v(o#Dd-FLybc+H@t zXdCVpv=qy?Q!fd=v&8bWbI-%@C-nu-;e~P1Dp3dG&Xlu9U1osKJPu%^zcf1Ev#IV3#Zh}2e)kH93NSA zRyYTT`D}RYO8*_6v$$&6juXAB$<4WqsimXJZ~X4X)Rx?#6lYFa*SdcC(gXXqt=y#^ zwTet%>C{&CM!*6zvo zmG9q?dIrZ&?fCTr&uF@D<#qABieKor!8zLP&gq_gcg`=*U0=HPm*@Xykzcp4YRYi0 z?5(Ql#idV!%SG<#zvh?cmZQj13eMe9jjLCe^OxhbLmT?{;QiEeSN~qHyyS^--yL^E zb9rrNX;t2i8@re4bh>}`w($Q3UW1EM_H?G7zQ~m+-f?wqe!{&~Sh@QM{T5HIx)ztW z$DO~w%$!fL{Km>wO8tDb|Jk#(?JU=qbaBVZyW8#cSEo+&*WS<32us_!Yw7;9kGgJI zc~6%5N4C7?<)zoa^`&=0Gk)U7e6_(Fv+S`9OSkte8Y?!Ou)xX-$akdtxGbc|TTiaj0|JE6UZ^(RcbmfkyVFW5*8E?vC;30J|5J!`n{FHXl+?x^?PaX-0q;z0kk zy`HwY*}tm!#LG|9(n_nC>sR{6^C0gZhdBqG{yVv_>t5aq7N;GXj_+Jf^GnxOO&j-L z?!WR6_V==C0m-vxyN{mXNN=pV!tX4xIM-cy-@3d-J9xPNOlAAwTU)s*R_$xsO1tc* z?)59}>$f<=XHTB!Up3cP-LI8?jh6Rxai!fZ^|y9qOK$72m8)0WQodMt>_-2}xNqMA zWe@bvy|S_vpVB#dn^rz;UhZEl>Ff8LIdo1xc>hXkm$vq(u{mv6xej~%mb`WB*uIUc zK6PBVqkiTZSNpGub0@bFcds0$x#aeAynlwZrE_?2=}vQd`EqIxdrI|RA^ZCObH!aS zmsR@P)j3c6Dx0OLb-v79>+->kD|e8qXV26A>iXOr@3v;~jU1Iq&ChUUU*LMVymHo- zx5jgx{_Ak}(($F)*Cw`npnpbhms*|Lywa{_uGDYAD<^g?m~(56A6cm>U)$+V=UR8ya?VaVU@Ls*@s(t#+?pS%3ywX39XP2(sr(bJ%>7z@n zWN;mH4jx&#Pb@FzZhzx;`sq^HJI?>pmE@Cq|E|d|d3=f~bMAEi_|I>Yxbm{+&hg%m z;QZyz-FS@acIj+9vZ2B?zc{Is-?wsi+HrU@>zPxsf7aL0GAC)_bF21vhI`NUQ#TK7 z;CeiI=>Goo^zhR0@8BA#T)+I-Wh1w#a&ha02Toq({dsxXzP@|##*tH}i_~R#x^j?D z(YzCi{j;InTzkBDNMFa6kMMP+m1*bUOI*)8&lgW$`~PVB%C|_qh48!X5$TZ}~@mg{{wbV3uc$fyx@i{waemWho z^0VcZ+`V-xu++0vb>tmMfgN?xrO64?-uTctRO(su4F75UR?`xEbrn!Fk(G6d{FuFW zA)WR6V~ANfR07XQ%&Z6c_!QE56MAUL6@BL~^!Yo{>3GP%%1vC=S5A#FKumg}*c?rO zR`BKAx7s0>TB9Ry7nshxOrxAp=f8lPpC6 z2?tkd$c1rk(K*JZ&QPbCM;SB(DA`-C0gJi|{Avg@E|;)AYT&eR=BB6m=q}`dPJyZH z_20k3S6l-vp}edC+~1k13}l^}9=Mr*A8-Ph2^n*6rHdR}>ciFb@HIxa8X>OR^X&x@ zDCAoy9n`d2V4B z@is3_qq@9n$-sRR>t3`@*K7`D@ecHq2yj+H9ktSh1)CwL3AKs*>=Md~1@LFTi9j!C zSbGr!RO{5SyahVcni}+Gvg7&JI>QI~5%3|Pdp;Hn_96YPGuHdj!HzRGs($Wx;Cu{F zM74Yq!8PzNjnTP21pY@`7 zohL`D78!6>K~d{jokAKVhvrSsR-kNOGbHP)2TVUsLdL)s)!kYcYu}5)$t^s)2Nek- zWSruv3ZfrA?||9%f(`@!zS_uu735ugbsgZ%Zb6_v27L|?Ru3}`QTT-AN|Y;tPLSLU zXsk1K&aNp!+Q4VsE4$#+qr=0qj=hFCJJLUK2w(qYQe6ycJUW3^qMc`EBkR*fbQS@T z^Qe*~GX3E?1M|uG;BX3Nva}cKi%pqb?+EN3pNbUZc3);Xo-pd69c;)`2}EccBn_b$ zz*)uE;Q~DCDDXpiJXTUkq4_Z#^4LuhidyW$>K=HJRz_Q_-q?@iM+Y5{Eg@w0KKSJdmWX=il z%bt-J@MYYH+RQx`GWMN`iza08SSq^J0r~8o+=rFHrB%bfw~03fc8t%z&XESyd*cN$ zSOgs^44YRLQbwMgtnHvob!R$}@8h?1wPV1<`s_|H1M_VV|Fq$S^I)kFcYXUXV6H24 zyJkxUlJhe=FjAM$pLaK1>CS?hpXbWnt)0w5w1$zl29OV{R!$Nw6AzbWRo;UPOK$EV zTOe1X?z4lfytFQJm+;2Eai0XwS}APCAU8UQc7!ScIEO5S9kR3n{_PoZqrKq2!QUD{ zK8tNRpb~Tqx1J6e>$2QO;B#L@zYiXUkR+(cP!lHL56sLsMmv!v?sPBO;RMy5HK=mq zhBZ20Xt=@LA3pa!g0EM&)pa~$skl1VhLHh>P^;5ZO$gIzBT9!C2N&gNPn|PQ187YU zVpj=~?TAjn>oU?8K4mw~MN0-wn<3kE+B1CD4Oybo_+ZWX*4EkDim@&``fp#u6W4Q= z8s18WmNGM-$rL=-pssPal>z_cDHO~=hOENwsl}qj5Jdho;atubNL@BCSYzU~1@zuG zY{*OT8+EfC;(5M%gtBc3EbhF5;q|Hdn0LWvsUK~LuJk7Ou^8%Pxsh4A+;tPF$L3vr zznks`QA8FE--1N+yoFv<2)zwU8DlnM+SEL}SrFajm3@>q3ov?`3Lx8NEIMDedsQkw z8ZmfV410QK^tq+wQB)@)NE>}*EfSdQLeW@>jzfKjOw2$g%?;HarQvDgMF<=Lkzl%7`}814J%@cS&5mj}>csZ!x+QW6 zke>o{ghyu3{25p`jqA&~7|txrTPwIZvHCw`WIuQxVm4{#oz={2ij z0O~{gQhRC-?HmI=myt(6T71K-NIiQUOT(EFGvY(w&tU^GV8lR zFH(uzczVs3SVe~Rt#%$I>31e+1`jaAggvf>1`9MYoKcc>C+2-&k}r% z_pRfpR)|{Kv_ChOyB;7P93ySc)_0J+KC`#L`x{g5+zRNOkkd0G(`!+*-_qd8eBWL# zprR3cbF{yAGz^gf{mnglHV>ip$7TW5@w^m3+gu8K)o0*x99H-56-^Ywc_2?Ac>6mD z7CWMSGmG)j!y_a+fO>ln@@5mo0_;Q?TwkE=B|8go1n&vJ zYb6uYW*5$Dkh?oeLEnj`hC;v@2aQ@G*LRGHwmYeFtuCalRJa|mIR@Tx898`5VNd9s ziy$Kmnx|0a&4T3@BQ+M>=sed^%Sb2EycY4+4b~6Vo0SXBwPq#o75F(PDH>~v91aFg z&Q^~h9yvNe_bJ1VxzXIU0m%;{Pc{tNCmX@@u5j1V#bMMu=fu$69AN*SX=yQyI_l~C zAhNx1#rkN>@KkQR2}N3e+P74g?5yv+7itH*hZwFzGS7!nsf*!DzgP-Yyh$+1Nkzr zetD!n>y%lWGd&as57+Kp4ljU=M!;w?=Ct&TEI-uK3BM8d6WG5LtXwqqggikrr?Ai9 zUMqMl4#>>XbZFZ2m_9PTQ)I4!Q;3m0XJ!`ZJVha=rA7>*(}g~MY&j9=&r?g|C|_ZP zan(ofOch3b%X7icwcS8Na5mq+R&vj6Yf4hF#1?pdAI=7wkz!-j1o-%D;%qau=`uY! zkC2=Mz8HqX+IQ_=fj75cgd(8oF5cdVQ1JCI--q ziMm#Z(T1sUmfb!UIbB6vBVvh;De4Y4)xh5mez`MMfb~Owpgy?5CnlEc(w`FrmPM!F zBxLB`4%vBv>XyzodAzX$Csv4Z?`<*C=L@L>#VHi6Sj?pLnYdXGj!;d4GX_H6MuEj= z8!Kki0^S<0vxY2SDpgZU0a##40&;qJ}NWnSr!c`F2<%>~MFFPQh0y4sJM}NSNt=;lw z>JAo?^@qLjEu*?5%$k+mw9@SSCsP+l-mDRU31h|P@)&f1Hk5&@iT&qWR$G#r|m=aSGx7u2zV96JB+y6 zA%;svrWP4Bv;}2z)xqQzO08Kx`p~H% z%UA^&QVkI+NBJGL)KoY#fXCBd#cbjb^s-V5+I?*?3<&NY^#M;i)WNljBxvCYTRH#v zzA-rq(p&|VaR|kA7J0uf-4D9WgVZXN0a=OgWx+so=aG{m#E);!Ip-YK&|-H+<3$ zehe4Xn3B-hUZpX+hN@MY(TTDWmqA`nco9{PHPmb1EAMZugN$*oVLiQmbhOfZH1!{C z@j`|LGM&4}s20Jyy5!u|UBKvU z1Wq;4>fH?k9YZmXk$3v?R)mq-0&Dc~0pK1(y}CUZhPt|%9JlmPoul2Tu0fQC@onF! zKI-308Q#>N0CyG?XGgBS20+Ig%^_{FPu{Qx>QE(U50To|U#m@I6_3ErK_F^@XiS(j zr^C=GgR(En;fVp}4=+&-0A8@dxzhlVC_(<{fajXsGVtnurvo#d5u>&Y8a~!#EsZq6 zp0Slv1MMNBmgV=U0z?g=cp6mI`^~< zy%2ty>5g=Xu+WMsaOPkOo@N%OQ4gJ%b|v(sli;C#glwyzj^GGrdpmlg{{Kdx*L{B)H;b$i3g@ z-@nsUfO~zs4tZ-7I-gGP<2qO9C|zOr=meq}G_<oQ)t}*WSkx4WOh0+)0k<1|M(4`!Nv5E0npoxvOhb2`)gMsH#TGDOd7s6E;s5! zKB#~gbsE_XRRWD=IU=a9Zks;Kt%JYsHDk1Q#m2LXlp&!FP*ef7g-wpb(14kp=MeJ) z$g6h1&0=iElt)unS%&- z))D>QePcfAv*Y0Zy;B#;n?~?t5P5T8r)E~4g-<-5*g5d8SUttiC83st5KaMm74nmP`{b2aJ!`4w=^u>=7Xx#b%k>iR$Hmgf&uGz_I@FJ zj3PcTRcrBZo-blSRDKjbA2NC#d`>;ny|jO&yRR5nKTmY;&Y8JyU0=LaQqXfdGfifW z)vPaG+jo+Xxg};6?St)ire=u4CRB_Z!Oth&IzZ2Egphjhj4wEBB0dgxo}DGgF8J}T zTeE1V4NK*10o?h=VjH!n;^d_EUBTA?*fnfu=`-zUo?bC~H^?^k)TK;=1jk@bo__6* zmIDr4sYy5obr;MGq39luWV!7Zm5_NIs19!|4#wTv?MQNEx^i6S*uJ8hKDG<-NGJ3= z@J@0L_`4Hu4hL@zPA!HTz$gA|GGN5?J6d=vdXl|DT}wt6Gw5kNT?d|72Hol>cH*P3 zBDLok&7eA!4o{CC&+bF6T>$T?nFpKc_(lh4ba31QTI4BYq9H%lnS#m><2{oT>GriU z@bme6@lpV^?SlNjSZ_c&1`n#zWiz=|LwBr9{m4rV6HA80y$P@fu(5Yzk2o|qLx7`j zbRM!g1TnIM-3hqAh_yjpOjxp^3HaZ!I9geXw7ilE$fb0o4k9d=qrZ zQm2uJUWk7?>~U!zU=r%V*;yL=3f1pQjNs?mu8{XOyBgy^Lo`O?mE0!{Xe?peYqH$kLDJ&Z<+V;42^Uw?8UeE4+ z)9VaKOd0F)JoD%I`>S`!u};uv5-Q;Y#8xLCRITeNaR)iumS{S`h87g>QNvm|2OG8M zI>}XtSD)z|iQaIIi5R}pxvEX6`jeGf3v91LH8VHAwU|MXNFh%~%{{a8;iDqRUO1I)oOQ^EgkmHD2>Sb;$cP%%wCO4A5HiwsxM`JgxpEWFTSt|XG ziKDscqva&3XlE9S$8PJD*&SDm{3wE$dlGpquD`3z)MY9RtoTvwhxa9B-PxONKsitb zb!H!O@4rx`A$1wq?zUJqW69tHQ)SvMh6F5FdIhJgprIK%Y4C8cC>xH!>ABTWAM|X*HHC%ez4=P2A-CY z4$a9TBX{%j*}Hl0OxVz{1u(fXyuYK*EbhbS>S(S0+_&FvBJ^Gz@4Uv#I!^;c0FY%tNf>EAv(r})MV;$* znmKY!*BO{-ow_>TwLgEwH&;2b&szqLB1eVutElqi#(X#SnY0C!W0w2u$`XX%2&|sj z>oy{ootd#%7=rvdFd~|rjUjvDQ{9JQ^V|)c+pJ6b1+sElPC-6hM>ELJ`I+(A$ezn0 z7e4>F&3}1r>sSE_#$0^V zbFe%4!53R9$R>SNV5bLUjvdy7YmtAp0IPjQ90wN8El5f4Eu2U9)`pL+iAC??QH}X&`^0dbyv1RP4OzZPO(q}|z z-LfXjkukC(0hsFrJFk*|u?95J$ul$o$QeC4MVZqJSZtc8hMG0F6AYhQYNF2DgF4yp zM8@>3KANKouxACT;9x=@xj3)`77mXFz-x16^=dpDN0lp$Bu{PT)|M31*j}_xZZ3O` z9b}AmQ-$MBOC^lLUh#wJv=h2i9mI0U@O*B?E_52G%f|`O=fYAyYAqSqbDV&cD^S(u zkd=E8`1$N>C{U_n1@pYibbL1 z2tsL%k&Qj*gs_o-m>}NvP}{%Et3s*&)2DjyO$K7!ejD;~5{r#>D0S>kx5|=1b763DcfXp>Zv|tYPkLC%;W!TXRndAo)oYst$TnmV{An|Gseqa3`E`qooV11A z%99I(t=tIY+!=gYU?Mquo2Pb>KgK}5PGuWYuuBiv*0|FGmV<4`jwWN?VN^uu$-{us zNak7u>+7ykE0UHSZAQ}SEGK>VJQw`G2{Lu+hWrKu81`NmSAEP%MS$BD=&`_k#&W2o>8y@u93#u;1Z*f`pr4w{i_*^V!6&BY;`+F)!n+-A`}C$9!%W$6OE z8aL{C?}!&ky)@$B8}76L@Xd8J7Ar;A zNgxT~w9YfQRg}1n7tV?((sAQdG-GOTf@11JTA!R(pPZhrLOwXIoF%L>Cjn1AgIh+l zax=RY^f$qMouT!D#l9TxwpoXYZaAA=pqji5SZ|oMBVYQ4f+mi0atf~{3khV4K6+_Z z!t#v+ml-=&f&Vo zUcgWS^4>(uHedjJ7~IapCbu9W#fBGF3vLFdj+%|XAjySvulwaSqbg%T)Dadxafep`NXyvnc_s2BmdfVl!OTHNBRJ* z{sQmnJeR4)*s!CIexO2NxTIFh70V6LG^_g%LY_#ZA<*c?nu~pVooiiAa{q zjcU!}Stn@NifSpmFI(v!>EFFwN`JvS{`~yFh!4EAzJCxoj(G-q4aoxqw&uC@yBdS1 zaMb$LjO+;+GNN!MYDP6-CzIH|gv{*Qs0Lf|v}dUp;3dFD{c$z&qRx{B%i6YQz<>Wc zS}`hK7uc)Q;x%5{2%qHg$V7dXdmF03F3R)lbI7PcXP|AK+_Ro#`yG6jq|B4a+NA?z^2YOXz09V^i_Rq z=?wZO(tO6$HIhC>k@Hw8XPxQE{VUy6mr_VAhEMv<7*8RbSDU%re5F4WuGgQIL9ZO0 zqaD2~NffPUIsvDYT9CK}e)1-Cu70R4V^A{(j2(BcAP#c6ATM%~3$ICtd70&8w0~vI zrDd*gW&WuM^lG1pfh0Id?fAjsGQ+QR&_m#pOt9e$yxWIjtdHn4xUd9KoiqDgcGUVh z4E~6Kq~0LZWQ+G2OgVc7@}XB4XEA-f*UbIAv;)(wgR#KrA&SiqddHIIx&Cezb)W!x z&2ywd_W*bwtTQq`JC{gguZ6Gekg3fVj`^gCj*>*60O47F$6kKj&`ADXziT!2X`k9# zI=Ae(Y_S|ZW0;yP$cB@U&p`BAtj+X6p=8KK4c;c$u>z+N=WbjqKqC4`$AihJX?3%-&GNTIW&;93N!0XCJ{0aibukrQOJx{Kz z$j+RfyiyC4SrMm5?u(Z6GO zBgX~*ANvk@mF4n6T@OGe?Zx*^RF>Tk;hfwikXi~_4qwTJ-28vNZdj@^{A~*85iu>z z%8Hs5T7T{aJ4;P%3wN7^_zl9jultG(!`EUd4Eg&{REMfW&9%6&u8kDLtJt#N+<%IH zUgpUS{+&qZJe4TpQxLm6HJroe9muB5M1ItHgRk-&x8L<3{g?K4Ep}Yx8a8WF#H>Ue zX7AnxU2?Q#>732yi{`m)<^0^JMqa>x53m@6NS_-v)uy|~F3bp>qrMn0JLx`Dqf$5r zW+`3Zhv;|=x_0ZP1H~@O;X^1}gD9<-9oA{YtbK95AX8RM%X0E_*V@~1Y~%*s`rUe{ zLf6wK>WKPWVy)h=FoND8jKtI6%RR`hEt5y*E4!_)>!acM@z?~aOC@HUoMzq8IpDJd zRF$*$+1GXO#Om3oIUe7fEU0aHUYFTbVyF30>s=*as~%~(kjRZU4(WFjmNQgt=AW-| zh+CFAOp73+O;ly)s%}JdX#(E+f!2K}va|7eBi4R6dFxbf$Ui_52d|aWVDM&Fz-JGk zi7OdAY-*Y1=|$M;L>f1m^*Fcw_G=&FzkNJEVz*>Ze$;w5V`M^O0rCMi;P<1X$9yMT z4fs3&J5Qm4jhj(yM7?m~;_{?@LYLYD_0kXdw{Dz+0*if#CVQZZrR&hoCdZ0n81+Ipc6~0i8C6P+W$M=$wt!LPfv4D9bp` zBVhHUp-0rx^8q8EL5b=6=7S|mhc1H^HOTe`v!1}I6FgPAPy_xsij=R9j%q!=o?6P6OH(e`aofnOHHchaB)mMk3DFJdyoJ;lh0p2W zk50o-x1tMe5XYY3@$Dwa&_iTLwVB~rzJ63Omv&oFPG`rUo1)s3eHtmie)*M7oi=eW zdC>v-6;cdr9RMGVnYAZBzhlX|3Zz@pYLOAc0GgWv1m|cG;iTglt1B(CJ0U7Fhe718 z$YFMEuW`*u`u}~60lutM3(sAq*Ve#-PViG1#AoWtnFT%vGO;mOU}@Csf;q|a=_TWw zo*S`V(`RF*B=~gvO2t@%S~!5>Ze4TrzTxZyvd}x*uzO}&{ZUQ4PrLw*Z|ufa0GU zIe@%5f{_?l9RvigoiELFzj#Lo?TODgN1>v3b*Htp`O=&xf`$fYm;P zhOI*yFbS5Wtd69!ltOys!AMss)i zb;gKJLqW`}90O)u8VzuEEQWub7SxsJIuS0AC89XA?Kmb zQfKm9xw~zPAJ=xBchD`jLci|7szXZ^&CM-Z{6C8FU>ND>H)?#2@84gK!-q>N*X(qi zgx+iTT!%Busj;XzGh*WOs)Qx;9A7xISb!eu+%EE66GBhis7MEZjEI2;JMw^a#mZ6V z%y@hk)&J~xVruYY@M3yqtibc-)2&eVL$N-yZ(SN%jF>U+TATx(dH4fox@3*1{cNhu z$gBEfc8~F+!vef!NAs_>uyzh{q^9zt|Ml)@Y22)&`dUAdbpbh4g>=-%PM}^?$CnP= z8}Ui~`FdJK*>Ym3@man>)DuR>^`}$gByhci>}a!**Xz4;zG;CZ z-tzu_yuv_0p?1e8#-sboNE17H0^`GH#V$W-g6)Bg0{eec3%M;bsdEg&;w!D zqVW0<*qW-_Se|j6_bj%+E^toTc0ez!F{4)s5#0c8otlj99tMs=s!uOW=p*gW+gib= zr)G~x5B8q+8<{wcI?}kIT~5N0StrdAu=?N72tr%T%yWHBlTrWSQ|2pD*01d2MxN<| zcMNx;7(z&gQ9-IqyKY}|hU8_(PmL^uxS`X-?cDl^Z|f`>KOWwhij5f=K5l0E^(&l6 zo7`M|q!v8TYhouiUUC6FEL~%s7P8~Vz*h&o)CDp;X3Z|U=9Dm7uuD#A?pnNk0p|<% zu^+Oe1mX?vTc#s`q}wS}&;icjoZ<&0`4ZdV?fr(8g{htJ1VT-A<-tPA@LKb19Q4f5 zilJ*aU>&e{C5l7C@#grm#599M@9@pXE}W+D+^cM^wep|@;dXh+mI|X zJ+NWits9uRPExOtt!t=)_ZfLz3f>$T%PgLo=(%p~^<#6$qJD_noCSwg-l+tfn~~%` zKth9YT3&-1^zUf}RpY_22|!K%ZMe(HNuym-$o>PflH_J@zg8sjW9v|LZ=y}Zv(2Wj z7cJ4Su9~}o;CXoV8g=JnaWI%kc277!%O1er97KNsdBdO3WlW3&?trH3F2mr5%IONI zFrET$_ZL(X_Z@OSD@T6~pvdK(k4@Y3ky*%tk{fG6pQYyO+=GxCdqzGdu6O_<4*9Cn zgtxh=!1x6cfrOx;5|HkfCc+xc=MMb~)!817!Z=~%xks;bn*7Yazv~C<8?W)eznAdeIWN)s zMC-b8I2*yIGl~4z2;}3Wftb-Pc;AzXq!NRJh!0LxCYJImpfU{ZrnXUMaF~@fIhEx& zG|#O06~$|jg1muzM9H&h>3sI^`b-P*RrK0=J9@U4+DW*UTxjpk&D8_1CFiCs z`z=EZ;FJh?I~DeZ)>9p3W=&bT?dHa?F}@KTfI1z^)LG8y_TggGaZZ-oAwIsnqJkVg zF;)&P4#CQ?f-W|XcGoq4_xwifb({Vg*_lLftJ-W_E&R>1%Gi{nT;*#Tt-R4hUC^z?St}6&>ljiBP)R5nKzL4HIFW%dS zzEX023K1WLKgZB(whZ3&web2`bjaB4yymTplo@u1gLX_g$c|+lX|lkyF{77xnlUvGEuj8&`I{NymRbUS1G^79HbY$IWzs zBA)qIaff$^bL*%o&B8nO#f4roXRY$bPgb{5kfB-XE5I@QOPaZjvpM7a{;|cMUFTt_ zWc>#B0P2ZNrhn@#{lg2sYr9hOTP%`tJKyQrW#rHpR6_W%y2Eh7&~~C8Fx7%8e)s=* zY{pQf>M`W{3nB%7ql#>@14?wNnwejzKpeX#@V6i*XJ(b#FYsu>^mKMz;p^o7@Z=EW zHQ0o596V=qs3b^D6`;FtrQ6W5&gkHUv)QLLI4`vp$Y{63rGH}J8ho_=3#6T(o~iGV zvQ&@7B7d*nod80{kxhrgtp=Lv!3S`5Mively0&Ka z?_jac|KDljA1boP@by1Q9$!2?%JPJ6lvsj#n^jU7%2?~jzqy|<@phHF7*(~Uf~rz} zr4MA+6hU_B6dm14m&fK}D@N93N3*X9b7i$|id{gBb);@9MNW#SO+ z6+t{D1}aks2b;lTs33i)E*9<*4HiDY*#nGM!8LwBeLB`9W{W>>v5PFC6V zWB;S9uPw_hO~?GJCnb!hRoiKlT9jAodVeX|J+Z+iUE#_BwmL zy}|x4X16=+PP@zQwm*VBih1mhVUJ@^U|#!^*i+ck*fZF(*mKzPn9uIFzkmhojrJz{ zi`Yxp%h)T}tJrH;v%SUsI`#(EYJU@Z3ws-Dv%iDAi@k@vk9~lBh<${8jD3QAinZH6 z!#eDrV_#rjVqaljW8Yw%_HQu^!?7+qfsq)6b=zr-!B~vLcuc@VOu}SL!BkAcY}j|$ z_t+2EkJwMx&sdMW*ZvFkE7oWK4f`GIw-4C=zy|GqVt-+OV?|goHe?^RmtZ6IQTv#E z++K>6VH5UAd(a-Tmtz%JB{pTR!m6-4Hi-qX5H^KPV_|H|K7(!BBUluRVR390o5SX@ z1h!+}wJ%_cSkk_PEn|E3eftV_U|+=!?Q7UNc4R-cpV&9BQ~M@%W>49-ux)Gy+r^UD zxjk*)!}hU^{Qx_}j<5^+F?MM`!A`L=EQOt8MUG-e8Y^*Ruu{hbc8T4E-;Ljc-;0+y z?!)iLAHd5U58@Bu591Y%NAO4S$MDDTC-5inr|_roO2;$!vv`%G+VLFzJpKayBK{Ko zGG61Tb-aSViq|<_!(YeW!0R1v;&0(^|G@vm|HA*q zdmO!vBD@&ybClqvcp2XBD90=CO1uiM#%u6eybiC&8*n>5;23l`a3}7<-M9z$;zJG} z?#BaoBi@8J<1KhA-iEj19e5|+g?HmUcrV_E_v6Ek0elc2!iVt@d=wwU$MF%zsAB@3 z#K#;#JcLi-PFImaW!yyHb*>U? z#5%D-Y!X|2e+s$AsH?LYxw3M2a{k(nN;1 zATEi!$h%38^B(eE((AmB^f~V*A0QtjA0i(nA0hqDN6E*?$H{>63GzwuDYDV|H2Dnq zEcqPyJoy6oBKZ>eGWiPGDk{^*D zlb?{ElAn>ElV6Zul3$Tuli!fvk{F4T1WA$6t{F^Ky zi^&qQlq@65$qKTPtRkz)5$CA0hO8y)$a=DYw3B1bai@cHk}lFsdPpznBmHE6Y$Th= zX0nBBCELh$vV-g-yT}P=H`zn>l6_=9IY3T22gxCFm<&2c$Wd~P3^~Wi338GQk|A=6 zoF=E7)6OtCLq^E3GfKwDI5|tsk@Mt?GeItpi{uiyOs*7ZrEjP2EG?OWjA^Pdz}*I_I48 z&IhT4^C4=%x#)bDdW3qEdW?FUT5>)?JxM)9Jxx7BJxe`DEjyp5UZ7s2UZP&6UZGy4 zUZY;8-k{#3R-CKOx2U(Ncc^!%_o(-&HRrnX1L{L+!}$^QG4%HL)XjQX7Vg8GvB ziu#(`a&9}np}wVdoEU{u1VvI5MNtrd8;;E!lphQZd_M9@MP%5QSHtIX-durc# z;QWF5k@|`HnfitLmHLhPo%)0NlR9+%Mg2_`QN>gVRZ5jnDIevh0@RW7*x5)mQ76u3>eSgnojF^nl(UU$r#h%k>fD)jW}IEr zg|nNwboNlaR3BC3>Zb;%L28H^rbehyYK$7ECa6g&NQI~=YMKgDGgO3%QZXt{%~EsJ zJe8mps6}dtTBcU0VpoZ4m0F`pUF*~awMmt^wy14thuWo*)E>1@mAfij2UMl&kg9SW zQODE?bxNI4DXQ943e9W%jLS4cDp<-ugmB1 zyY8a{uKVdmSCgyR^#J`K-Qs$PewcoQZgo9MKSn=JKS4i9KSe)Hx4GI~&(IyNPFI)f zS^7EpdHMzVMfxSW+tuTGnSO=tb-hZzM!!z?x!$1Pq~D_7rr)98rQf6bUGLK$&>zwt z(F3lJ=}+iS>CfoT=`ZLn>96Ro>2K(7X^h5cf+lH-rfG&|X^!S;ffi|rmT84nX^png z-_hUGKhQtYKhcA(A=l6JuxrHi3;iqo8$Ig!ogQN|({)^t3DNnsHUom2|{aMOV``bktQ#*U|NK18t`rw3Cjx;w~3G>zZ@TyWF&g z_R>DuPY39PYr)k>H_?l(X1axLrI%c7bUWQachX&SH{C-oyH;GibRWIyT66W&1N6FU zkRGCk=?&KiJxY(!o33$sf}W&~Lr3T+9i!v)EImih(+PTkUZj`kWqO5P zrMFz$t~Gj{-f?ZvoAegF>)NK1t{r-pPSShyKE3DKcOB3Nu0#6JbwnT2C-fF^j*x|%stG#%ze!L%md7W%tOq>Ov?2L^CX>?_fvI;lxb2MH?O+^kC*xw=jEC_uKE~VP=FGWyY9sW`c3MCz&7< zVy2jBCd|w*5hlvSm^d@b%rWy!f>~e|nI&eKSz%V0HD;aJU^ba8W}ET2cbHu!$#~s+ z%sz9#_}qug5p&F(FsIBJlVbetfcu~@AG1U5PuOAir|f6! z=j@343-(L)D|XcVHTw@YjRj^i%_Zn9hKHoL>_vPpK2-DeNjL-vS0W>45-_lf(|eafD>&)5{3a-X};*|a<3 zPO};Ig1uxf+?VdVxFXNpT(RdKuEcXMcOO^kxt}ZZlzSfF9^@)K4{;B3k8qWqN4dwi z$GIoCC%LD%r@1OmwdWbG##8I5^E}Hv$34%zz`e-5#MOIV=3e1m$Lslt`Fi);3@c>d;EJw;rbr*Bh(9+?joC>P`UJ#lW9o8tyN^IU>k;1;_y_ri_=ovN_)*W8=TZJKe%$jo{{;UeKjC?bf0}=Wf0loaf1ZDV zpY#MhFY+PJOZ=4QW&RcZRsJ>pb^Z;0+Vdv=7XLQ?4*xFy9{)c70skTY5&tp&3I8eo z8UH!|1^*@g75_CK_I$&C%VRvw6FkXN{EUa@8J^`ip63N#d?{bX$35kI1z*Wm@zs0{U(46= zvz~f>&eOopd+fY}ck(XY&3pKS$IJV8KfmA!@Qr*EzvyY^TliMKjc?~W_)dPw)5Ul5 zJ$x^}?CInC`2l{AAL57k70;??gdgSCJY)PgzwX)aOz@kYNj}Jj_$hvx-|}pG!u*bB zhTru>_$VLa-{3d-Eqd@g(;d?|b-d@XzV*cu zE;t0I;1b+|N3eSxUa#O2oL;{W5E=!Sw@Gk&J>F)aMQ9b;1h3cUZ5RCBfVa`xA#@5| zLbuQ(GTyhJ_JfR2UP+g$beE+u@xQI=x-qZf{Ts2~)zf z5Ef>H9&bd53Naxr%nEbDypRwUghgRVSQb`%at_=@>};-PpX9*Za9sdy%) z#B(t%X2c8eQoKvLTe?TOSGrHSUwS}#PB7G`Fyq`&* zOJ7J)@0Ze7($`YV`;GLigh{wWNTftbaqp~`mKceZ=DeK5OM)ayk|axtq)M7(lfIL_ zmwu3blzx(amVS|bm41_cm;R9cl>Ue-SR#1 zz4CqX{qh6ygL0X#-1m@N;j8pj`5u-Zksp;GlOLC#kgI()z9;3U&-c6hhy17fm;ATv_XT{7z9P9;Zt|7LrE;0v>?@Zm zZ_C6eD!j>uR*rU4%sQYWVhVm>-2eKuiWMH$$mK?cl#RUCb?N| zkz3_9xn1t@_4+#GK3~6Yz}G2v$=z~~+$;CVgT8)wKpvEbd_(fEJR*Ay3Ld zIV4ZX)AFz{ERXnR_ zmr~A^w31OSluIS$JNMnC-mRv6_o(-(_o*4*{pthigX%--!|EgIqw0n4()XBJMQE2>TBxj>Kp2tYK6bj|CUet)SN@HhIK{LTIrf0(nlPz1r>X@%Q>0RJ+>ecc@O)rS|*Xsz>#zKGm-V)JAo{Kj?2#hy26-5&x*a zS#42U)i$+V9rKU-JJe3KOYK&B)LwPM->3Gg1L~kUqzZm%Vj;j;uq&n#jsv&hs zomRu@j2cm+YD|r*v+A5WuO`$5bx~bXm(>+@Rb5lp)eUu1-BP#J9d%bts(b3bdY~Sv zM{3X?@*k@w>XiRfJyTQawEtWU`_pPhy-+XJyR;d9#DBLI_1~k#{Bi%i+I`yn+5_6G zf6hPee^7f!OZXqw9?>4v7W|KCk84k8PijwTPixO;i~c45v)ZzM#lPx*PJ3Q^L3>eq zNqbpa^RN3~(O%Uy{I6-RYj0?q{x`L^w70c)w0E`lwD+|Sv=6n9v@QR(f5-o^w(I{y z`&9c(`&>)aYt!1b z4y{w`(z>-Ctyk;Q`n3UVP#e;QwGnMp8`H+M32jmfY9Vb(o7TeGj26+NT1>n2$F*5) zPAdw`YYA;ZD-JAbOWLxwqOEFc+Pb!(l>|1m(!iEh7TDHyv|TN!?P>d3dEh`h)Q+@@ zz_E6soobbVGcBc^YiTW`U1*ouUAC&g-L~q$J+^yo_u1~ZJz#s#_K@viTTP%gP#1W_ zRv&oO_L!|9U=KI~&cNfgCu~pJp0Yh{a|PUiXKbFpvo>$wIotEL7i_-3i#C5C5O~S< zvh5XHW8hWWYqr;IO@TLTZ`$6ny={BP_O9(c+xxcWzz4RLz=yVvY#-Y`v3+X$%=WqM z3tMa8OWRkruWjGhzO`XC+(y_)8)c(yjE%K%Hr^)KM4M!jZHi5`X*QefJKOiRA8bF` z+5$h>ezyH$YY+Tt`_1;dtt0Sdb$ zw>8*019qFk=CpMMTsF7OW9trhZ9bdd7O*w`Klbi3NRlvM==z9=h=_oQh=_=Qh=_=Y zh=^>?@%HxiR;0X~@Ah&iKfIfBn$EdrdUDR8<8)8=gv+~^bKKp#+r6CAl>LQI`j(c( z$M>oF%~Z`(HP!v}e4Fm)ZxyVf)yPU#*;>dd)|^$fYSz3}w;I-hwU{khOV+Zrls#{~ zV7+K9XD?YVTd!EJT9>TL)@#=D+3VID)(hF2)?3!w);rd_)_d0b)(6&y)<@RI)+g4d z)@Rn|))nijbjlk_}6VMFY$==Q0 z%ihmE$hH8jz{BjL?Bnc{?9*%;&<=C}oxro~^K2KelI;dovzve(U^B3m?FF^~FS0MQ zeZW@WRkk1425bk`vpayDz%F1num{)+>;pEkue1AsH`%w@ci98LLEsSZK6@BA0({7R z%nkrYflt|Ez;WONa1uBLoCeMSXMuCTATR_B1D~@az$h>Vi~|$EBrpX`12e!ZFbB*7 z3&0{^1poj9AOHps00l4r2MB-!D1ZhSfCX%T9pC^5-~?QN8}I;L;7j&v)(7~3Z`lA4 z1ioi~WJAEuY#4|DQ6L7yfnV9**#uC@CIK67=Tkr$$N*V@2RPor3xEhXc?pmK7w_g3 zAP1;`2IK)9FaQtlgM5UBHq!6V=RcoaMa9tTf=C&5$TY48kq7CZ+IfW1zv0gA?E+I0a6FGvF*(;EVhmI1iTi1#l6xf@K~6K@b9A5CKsT1JCmpcpM}^ z5~M&HWIz_Qfp(AsFY*r13A(^byc_g@UeE{n!2lQpLtq$;fKf08#=!)b1XExd%z#;t z2L(_BCGawTg_l7EyvpZ564jNzqyush(i{LH31m5P$;Cb)@c!$5s zUj*;*m%z*574Ry!1TKTu!2A4l@CJAjyanC{?|^r~d*FTW0r(Jnz&`>XgHOPx;4|mAHh%HXYdR775oN%2Y-M+!C&BSumV;= z)zBmUF<%4KLQnWQs2*y7p7M=Q6Vwc~K&?<4)DCq(olqCl4Q+y+@jcLHs2AD-^+8*q z=X^i34cZQ^@H?QL&@O0|-wo}7_Couh{m=pEAhgCGf(}D3_#@CuegHZO9fOWTC!mwi zD}J3n1)YXA_%qO1=p6K#AB2XWVQ2&zg~p(9=nemtpMc)+lh7124b4Ea&>S=mEkKKq z6#^g-f*=?|AQZwN93mhRq97V#AQrMgc8G%Q@10RG!&__ND zMW873iH|{_`8bq-l28gtLtpr>d5B?|5Ljoj167-Az&C8GiRrnmFLKy8 z7v2Z+!hZMwEC`|?2?yar@L~7}JOCesW#Jfn96kY`gipbz;WO}A_#8Y455dFm2s{dp z!Q=1*JPA+1)374Uz_aiiJP$9xi*Qa*1uG1|APm7UjKC<2!8lC7Buv3H%)pwE7g$&q z451*{U^~pg4%i91U^nc6y|54V!vQ!5hu|8E!38&yRoPo124-2peORx+p za1K^s4K4~LArI?tSuo%NT!haHCAbWqhcCbv;Y;vk_=0dzxB_2=m*7jnGJFlb4&Q)p z!nfet@E!Ord=I`4KY$;?kKo7f6Zk3o41Nx;z^m{Y`~rRnzk=7{4fr+u27U{_gWtm+ z;E(Vp_%r+k{tADCzr#P^pYSjEH(Y_MkZPm`sYU9LdZYnqM4FIhqy=e3+K_gn1L;J% zkjp|hvI*%yHY2^r7Nif^iu5DfknPA0WGAu<*^TT$_9FX`{m232AaV#fj2uA*kfX>k zU4sjq(#D%yK58_39h#v_c zK_rBPkq8n+Vn`fGAW0;Jq>&7gMR-I&L_|VlL_u_=f z3Av11L9QZ8$TD&bxsKdGZX&mk+sGZ{E^-gKk32vgB9D;A$P?r#@(g*7tRSn%8u9{p ziM&GAkqzWE@&Q67j~k% z(B0@BbT7IO-H$#H9tsE0gXkgjFnRt_TivRdAv%)Qx&jFX}_rgcpJzeJQ*W0%#Cj7dC{~!W$ukhS3NbMPuk& z;hhji-wPjvk3s@XqAB!~kVZ4;XW@&GMS1kAAfO^Dq2B}v z!Y|>sP(X`l2`!`N(FDEj9x*nqMW#dE~D4b>*x*iCVC5Xh)(e~>Jsmu zZt*U95512*Kp&!yP>=W+eS$tkz2Ymi6hmTIjEGV3EBXzMiE;5enh=xX5A-Mc3;m6z#I#sJGh$Zc#VV{C ztHEk9L9D|>Q4;I1222(ku_mk;Q^Xdm6>G!Vu@0;g>%wxPDt2R=bqyyDFZ+&SK}VL2L*c#zwGFYz!O6Ca_6tNu0u_u^DU@o5SX@ zW$~JLU0lF!h>MsN1F)MSh}{w)48{-)#W3u)ct^ysyCQ+z6G@E1XzaeoU@Z1Pd??y5 zJN8KAFbC$u9*Zu_jd?IH=EMA001ILvER034DE35*VR0;hC9xEi#-559EQ|5jGf}`q zOv0XvGNxcTOvN-TkLlQoXkZ0wRa_H`SP3g*=dlaeMeGvxLcEM!!LDL2#U*SRyN10I zuVXi`o7gSvHg*TQi>-?r;yvuOcprO!J;WYikFh7%Q|uY`Mtmzi$5ya+;wrX=y};g! zFR@qHI<|qm#@=9Wu@B-$@g4R_e2;w=KVToRPuOSd3-%TJB7POWVc)TD;t%X6_FeoT z{=$A^6|4%c#%u6e{HOR!tiykc^>{^Wz->|^ZkITz33o`%cnjW&x8d!02i}Qy;obNq zya(Tm_u^adK71?Qk8i`b<4$P@z7yYt@5cAwd+~j^OL9y5@dLO=I*1>_5940x2tI%x z#gE~~@e}w-+$WvFPvd9sv$$V6hY#XI_%J?#kKzF-D2?Iccu1PSC-EsfEKTDx_$)q$ z&*KaDA|8>Vk`<3h03Me>9KvB7!BHH;6H-#baRMiC3a4=fPf09p!|gbSJ8&oN!qbu) z_uv`Hi)SSt?#Bao5D(#DoR*U&5F1Yxs5i27VL2h2O^S;CJzR z_0{0sgS|Av3Zf8f`o>(WpB7k)#!DgDMPcok7i z)DX9%+tMAWmZ&4{O7%no(Ma5rnuunig=i((h<2ibxGz1BI*Bggq4Y@VCN>d0#Ac$G z*h2IXTZw*R8?l|(LF^=U5xa>!#9m?_v7b0V93&1AhlwM^0CAK!Mm&~|6DNq1#3|x5 zafUccoFfK_A!3*qAx4QYVw{*DCW$FxnwTMGi8*4PSRfV&D*+H70TD2P5Ga8WIPpY! zDiH)pJd-GbCK%$m#1bo#jj$6O;UJvEs39%5*m>wbiyDCM3E>FW#T+>fw)LqA}$kG zh^xdBu}oYet`j$io5U^RHgSizOWY&w6Ay@o#3SM{@q~CvJR_bHE5s`CT3RDs5HE>W z#5%D-ye8fdZ;5xrd*TD}k@!S>CcY3~iEqSr;s^1Q_(l9C-biny3Q4b!0u+KsJ(1hP}jcg}7$WF40>?XfT-=s}s5BXi%O!ksn$Ubr_ z*-vgGx05@_o#ZZZH@S!0OYS3oNc+hH=17&)NT=+Q^Q2C?WrHk`Mbaae$TE4Jyg*(gFOio?uk4erkXOki z(l0NQ*U0PS4e};=iwwxO$vfm-@*a7gd_X=VACZsAC*)J|8Tp)CAy>&Y@&);ld_@N3 zb#jAzO}-)DlJCg(WJvx%ek4DUpUE%eSMnSAo%})mB!7{=$qHFTRZ}%oEmcR=Qw>xj z)kHN@EmSMjMzvF6xr6GYx~PcUO>LrjsLfO_wT0@Vwo?7nHflSygW5^$qIOezsJ+xa zYCm;=I!GO&4pT>{0qQ7qj5MV7R8l;A(VQPdLrN*dnYJ!@iqVg0q zP0diV)EqTW#pJlWKrK=U*-8NvNF`;6O35&VP$-2_X*nZjWt<`?lA zc-cWYDHkQkZpuS>DN*)Oekwo(sSp*WB9tUYsTdWf5>%2(QE4heWhtH#C|Ooyk&>vK zEK>@Vqf}X?G%8Q<C4!BBjZBxkTx5nKI<_)CKAyb&0x6U7-qcQNBtoQ6;%7pO=@Z z3-U$zl6;N2PTinxQkUf`@>Tg3wInag*W}yO9qKN1UA`gTqi)K#bCrldPF^@ z?#NH5r_?j*IkiHqQft&*`JViOx-UPFAIdMOSJXPSLA|ElP>}X1^+bM8eV{&4 zPvuY4XX=^!h5AZ;qrOwmmDQkgMpI@+-NTuAyt`b-9kNryJ-E zxsh(7o9Pz1m2RWk=??m}+(~!Q-Sj59hu%#0(p%_0dMo`#ek=FW+vs=ldwDzkLH;Oz zl0VBk=$-T~dN;j?{vv;szscX_AM#K6m%Nw$E$^c%@_yQ;*p&nHL7Gzz(TC|Hv_l!7 zkJ88Jusm#&y^a7ny(n?0jDvPw0254RZX^4htK|yGg#%P=-Xp*LA zQIQmymK8-|XqL9ocABFdw3E&$s^X&Ew5E7yFYTlAimn)npDri?I!G6ll2TSe^m!#r zUr-|SMI}nd=s2CAFDaLmB%PwKC}}!FXX&d7PYbk2OSDWYbdFw9mKBx0rkG(oMWgey zP8)QAF48xZTS|#8)3=rL^ac7NeTlwIU!kwkOY|~*jlNFbQEt#T>AT7;`kr!|zC+)o z@6q?^2lRdAf%1@kL_bs>(@*H9^dsdN{hVH*SLrqS1^tqKtUOU((NC3i`kAspzoy^N zZ|QgRd-}PuqI{q~(yPiR`ZN87UQ@o(-{|l35Bewli~dc&P+lq(`jt|}tSi+_4O7e1 zG4)IXv!T3J8kr{Mjnd4tFs;m6<(=|gX=B=%4yKdoVm>Gzm2T#fvWfYu^e~&5USb~4|UUCeG~53`rq$LwbgFh7)^%0cE3^Go@y9A=I%1I$t8 z7;~JdD7M@Q<|Jd!onlTiXBaMbmN~}^GDFNTGs28Aj+`?$#*8x)j4LtNQcRlRa~USf z@QjcX7?F_}nNb)qmt&-yoKqPkr!l#ln$vRmoSrjsgyOq10d(NydtIVC;8gn;yFZY6Z$=uJqVjkok<{stN zna8;e<~8$%dCRBlC&*%zR&^OJd% z`^EfbDohny&DOBB?0Rk^SI552y~(}J)w2z3BiqC_vn}kq-1}TB+s1y#wX+{{9qgxE zC)>q#vzyo+b~D?{e$H)S``E2)Kl>%Ojor@fV0W^+*xl^c+#Yr>yN~^r+s__g53=8L zhuFjH5q5w*${u5nvnSY->?!s%dxkyBo?{2uA$FJ@VMo~?xu3Z)cAWi{n_wr|DfV}6 znyut!*jaXtoo5$Vn`&1VSx&XG4%MjwEXYDE%p$Byb*m_gu^ts?36^BND#g+)!?LW6 zwX+=SQ~j!g4X92wsJd7;>tVgDkM*-5HNXbh5F1v*Y=n)n5jDof*#w(pQ*4^euu(Op zW?7z%s|i(LMOI>ER$+5&QdL=v&9gddum!frme?|Tp1r_cWG}Io*(>Z-c8OhPud&zJ z8|+Q?7JHk$!`@}@u_-mJ-e(`M8TBFih<(gv)h8^kK4qV=&)F4rl@(M`U1KHn1uLtH znp0o0uh?}~RW&uQZm_S}H|$&X9s8cu)er1P_7nS={lb1_zp>w0L;b-P)Sqlo{l)%f zD{Pgm+E!yLskOE`TfMEp)@W<8HQQQjt+qB>yRF04Y3s6e+cw#HY@2Ppwz7I&-D2yr zZMF5=w%NAZE~qNWL@?X2y(dd@az8?p`CMr@Ma$vA-3BpYQt=}?T&g^y{8g3(ni^68)Lh#K2TZPL$%8ONUgTl z*lX=|_Ii7R{ju6;Z?ZSrTkNg&Hha6h!`^A{vUl4z*?a7p?Y;Ib_CEVod%yjOy3M}b zzQexLzRSMbzQ_Jl-D}@x-)}!)KWIN>KWsl@AFv;_AG05~pRk{_pR%8}pRu2{pR*6z zhwQ`l5&Nip%sy_Pus>6utCRLA`-(bkpRv!{SJgTDynVsGXt&w{J7`~1U#O7%r3%{- zJ8H-5xSg<*cFO)rrR|KJwXdsHTs2q2ZK$*h9bJ=|vQjrvyY<+gC|)IM%2*U!CIw{hFK9o$ZC7q^?+!+lUcs(ZOl>OStXx}Q71 z9pnyihq)u%0C$u-#vSKQa3{G_+-dF%ca}TH4RS-=FgL=Da%0>$H^EJEQ`|H+!_9JY z+&s6yEplJfud0;;xNj=RLELxshYE8)RfI!1jKevC`=$O?Nv@(&oK3T9G{uFZH{(FhojTc<%noe zt=qB55z~4cn;pH5xVFX7=h*7#cWiTPckFN^w4}Dvk)7Ym@5pKg z90whT9K3eeal|p;IO;g&IPN&%IO#a$IPEy&IO{m)7<3Fdh8==7;uv*|ImR6mj!DOq zW7;v}n03rK<{b-;MTgY^I6w#FfE|bfbzlzMK{!YU<)9smgLPCntDQB@T4$Y8)FiFm z+2EA5MrV_=*{NtP&Q@oev)$R@>~wZHbDFAkJ2fq@>Dne|k8`uL*SW>n=QOmf&VJ`M z=XU1~=T7G?=Wgd7=U(SN=YHn_=RxNo=V9j&=YaF5^O&=s9e18^o^+mao_3yb7PYg^ zbIw8MkaO5M;v993Imew7&PnH#bJ{uMoORAQ=ba1AMQ2H~Isqr>gq*MwaiUJli8~1= z>7<;rlX0@nDp$3u##QU8bJe>VT#c?KSF@|d)#_?!Q~0+UDBs+Tq&i+U45qx};s!_PDNSdtFzxeXb>Kzw3bOpzDxpS-Ykk zb{%mIxQ@DxxsJQ8YbRVMU8h{9U1wZpUFTebt|8a3Ys7U!8+DDj#$6MxN!OHX+I3T# zam~8sT=T94*P_en0$iXAa=|Xdg}N{o?jl^Ii*nJfTN>kHT~+RCca6K&UFW{7)w>(q zjqW>Ile^j7;=Zf3y4&3C?hbdSyUX3}zNg*SHo1G;o87(cE$%+|R(HR9n|r%^hkK`c zmwUH+k9)6spL@Uifcv2Pko&OvhOA$H22Z1>$DlGk?b+km>)Geo?>XQ(=sDy$>^b5Y@Er9V^BniQ z&`x+xdQN#xd(L>ydd_(UJwu*h&xmK#Gv*ohOn4?eQ=VzhjAzy}=b85`coscY58wek zFEz*mdk_!m!92K!@Q@zLLwgtx>#6cqduzP4-a2o+x53-!ZSppITfD8_HgCJP!~06> z^mci>y_>u}-p$@#?-p;LcdNJGyUn}ZyTiNFyRPl>?)GkId%Ul;z21G^{oVuKgWf~l z!`>s_0q;@oG4FBj3GYeoDer0T8Sh!|Iq#r%$UE#E@s4`OyyM;p@1%FiJMEqE&U)v( z^WHbwTW!I+=zXVIy?__=zSkfx>_xn&7xUs?!uvt{sF7aEOM5?QpEbtIdaHcZzAxHW z?VDEPtMz@?>U=-6df!j2!Pn?(@-_Qfe67AV-!JXA*6yolw!A&h_4WI<`L_FZ_;&hs`8;`Vez(t;_vZuoJ-)rZeZKv^1HOa4 zVE&Nruh%WH}6~UE&8lJzz6yuAM8VXs1NhuKEg-(C?D-(e5|j^U+u5)*ZSl6 zM83{n?@#6%{Ehx5e=6VXZ}GSK+x+eR4u7XVozLXE{MkI87xLZyP5vJLW`D1Li(kx3 z`9A+vznt&)Z}V^WEBPJ%o&H_^-TpoPz5advTwcxZ_iOnB{(SzR|B(N%|A>FUf7Gw% zkNJ=LPxy`eN&hMTY5y7jS^qizpnu3e>>u%u`p5j^{t5r2zmT8uPy1*5v;H~%ynn%8 z%rE+_e!ySKgMP>l`w>6t$NadT@RNSZPx~1^>#qt_2WkT4d~KjEP#>flYy)z~;c^{FQuf;A(zLU@6}h*c#{$Yzu4;>QPzTnnie{frHdvHf^XK+_=cW_VeVSaCLUvPi$K=5GjQ1Ec@NN^x{ zG^3U_5!Ik`2a5X<3oCr<^ zr-IYLnc!M}HaHiY4=w~3gVrDr1cOiz4kAG`hz0Q=5hR0DkPb4z7kM^V6{-%^gla=| zq59Cvd_$-))D(J^Zw|GDT0?E2_E1NtGt?F84s8ncgf@qILt8?9p{=3*(6-R_(2mf~ z(5}$#(0YDPXm4m=Xd}NrbRcvv^g4eibU1V*G!Qx(Iu<$}dXs;fKM{JDKN)(TKNUJ1 zIukk@Iu{xYeaH`mhC?HvkNMHiSZF--DL)aK3{8cmLo=b-&|K(qem=AiS`1l3U-Cc* z3_&3{goM!0*Zj9U7Q#c{^F)XYQK27sI>dz7P*u1(TobMh|IGi&*M)!Q>%*0NL%1>A z6mAZ;gj>UH;r4JxxHH@p?hbDX_k=fxd&678ec`R){_wW&_VAAI&hW1A?(m-Q-tfNg z{_uhD!SJE*;jm4&>qo)^VNO39J{ET9PTi#+51$C144(?04xb6Tb&q~F?A6bOefnT{ zC_Ee<36F-y!hSuVkB2A1L47hj6`l@<^qKH%crH92UI;ISt>Lg9(SdMO2g5NP3d3O} zjE1o=9**k?od}cRq)vtDFcVJcY`7{?9jS@bM(QH5goQ^h7pCdLvsReUYt^{>Zk-_Q;ON&d9FF?ue}KiR_K+i|mga zh#ZU@iX4s{i3~)JMvg^}M@~deMovXeN6tjfM$SbBBSVql$Vg-~GG;!CIT4wROhu+6 zGm+WITtv}x`g~*|qUwtgYeduYIuHRPPy~)35j28DbluSLNI@^^C7p*w{VXm#|0UK6d2)l=&tDQ=$`0x{f53bdQ-op-`4j<_eT#z4@M6~ z4@d9lN1_AKqtRp0{secc)bqG0ra4n^T85=Em}6ps?ohx#L(j6T+>=o6ieGEp{K6|0Wb z#GdNU^x9Zm?73baYlt<*R`jM=bF3xS8f%NS$2wxGdS|RF)*agvThn`Dn`6DPEwR4X z*4PWZKejElJ+>pZGqx+XJGLjbH?}XfKXxE?Fm@<*ICdm95IY(>7CRn$sh^0QjGc;| zj-82}jlI&(#Rg+TvEkTAY&13&Ti3^96S2wIRBSpn6Pu0A#pYuRvBj7*2E@P^6oX?( z42@y24IPgWF)~KQ=ok}YV^#6$cul-EUKg*AH^dv`P4VV<6rb+@#FCm@vr*H_^J5m_?h_G___FCd?-E~ABm5~$Kv1g@%Ti1 zGCmcbj?cuu>$CB>_^qj4;b$B8%@r{Z*+iL>z^dR3x2QIn`m z)FtW@KlNXFL!vS9TW?AEs4Iw z)3buPwYszjGc*HiQNgeu_v)Nu`jVdaUgLpaVX(24kwNz1`&m`Thg!p2-;KCzHk zOjr{@0!%;&IDsV41eU-PM1o9E2|B?f*hE#bI$4vfP1YsrlMTtnWK*&^*^+Ecwk6w> z9m$9hH9C`B$(Yfd+?4D|#*NL%-sF~KUvg`*Ke;WLFp|dhWXjl)OdC6syOO(;dy;#T z`;r+WYwS-RNb<(Po(~X!2O{c=AM2GGyaqQZaIdYMe@*PM%4gO`b~* zCN(2(3?+w?x-pU*O^ziEV>~&LoJ>w7r;{_u*<`^e8gt2#Q8vyS^T~zeV$zxfl3?FCIGD#)rB$H&5RjKM!O{z9km#R-Sq#9Efjiyv{swLH$YD=}JI#Qjf zu2gqwQ>rJmIn|rmlIlxsP4%a?rM9Pbq;{rurFN(Gr1qxvrS_)|qzSXGwaVoWBoKBrdolTuf4W^cjYsOIOx^cs}X$+@EQlqJ{)Oczl zb<4PIOs1w%cZ})OOlmfD*O*JqrxsF+DQgNyfvJ1OeFI88FyPcf14*GNEQP0t6q$Nt zP$@daq#he=sw!Qbu1VLX>(ceaN( zz3DCKzVtI=Yq~$ZExkRxBfT@dE4@3tC%relFTFo~Abl`>D1A76Bt4Kmnm(33o<5O2 znSO4p7^l*w)2qgr^x5>e^qMi49!d|VN7AF|vGjQQh4IpuNWU^B)9c1mdOAImo=tBU zbLrQ{e0m|hn0{ke(?A+bLuojTq|r2%#?wTaOjBt(&7|3MRi-*qlc~+rW$H5xna0dp zqbbvzY00!^+A{5#j!b8!E7P6Xlb0%{(b1w727|eV$hBCvMk<4gj zEHj?@WK3ixGgF!A%uHrBGnbjqEMyil)(nsVGf)Q3AQ?1+W$+AGugA*bJ@Y{PF77Rx#cc$UbLS!aRD(pe_UW~=yWzJ_-d+=W`cj<4rEg$BNnZ{nNz7QU7D z7TWlBzJvD_I{7ZXoA(zs@jd)zzL(#^_wif#K%t-C#&73$@WH}Peiy%+-^1_a_wk`Z zxUio;z()!P`9plP5Gx$!Pw}VuGyGZp96!hp@#(@a zKf;glnZg)9&QI{!!X!V%PxCYUEI-H3^L#-lEbxoGl?Ql`hj^Grc$CL@u^<(2p5WyI z$y2=fw@!iKS-wiB7HWiAp-#vZ)Iz9_G+J$1FL+BK` zgi@hfC>J&fJ;G+8SJ)z)FI*_}2^R~O3YQC8g??e1aHX(a*dbgkEERSNyM*P!ZefqG zSGZQ#C+rsv2nU5j!eQZvaJ_J&Fd*D4+$!8I92JfU$AuHZN#T@mr*OA$S~w$|70wBR z!jLd5j0mH`m@qC(2$RB;FfGgov%;J(FDwX)f>i(nP=EwjKm=641Y95lQlJD{U<6jE z605};u~w`T>%|7KQEU>M#TKzuY!lnX4zW}061&BFh5Lm~VvqQsuvzRCw}=l5ed1QJ zU)&~c7k7v|#Yct5gT7#A)$OVMd%4 z=frt&L0lBA;@iTz0w99o`@)9;B*G#hq9P{Z;>Q9Zk|HJ2A|tY5mGr4lE!9Z1Qk_&U zHAsz8lk~aJEPW}oNUc(v)Gl>Mol=+7EqyI~D{PW_r0<2zQm?c{`cdeUwo3idHfg)G zL)t0*Ec`0$l71IiEeO2?$*(h2FLbV@ocosrH; z=cGYtNE((#q)};1vKPmt329QAlBT5@X;zw(=A{K`QL;*a1WJ$uONfL@n1oA&L`sxI zON_)yRdTglBiG7xa=qLjH_BYGNp6-~WJj@8Zj;;P4!KkAlDp+ia*w=O?v=O5eezbh zU*0Bfmv_iJ=}7ho|EV0NHJPmkYmL~ zIbO8NfDFoz49kd|D55eZ<1!(WG9}Y8BeQaqQmxb|wMv~*uQVu)N|Vy8v?$49tJ0>l zD;-Lw(xr4Oo0J}9v(l?Re5(HdmLc&#A?R zTw|^&rxlxXExFcQzSx#)&voQFb6vUa+@_pfG>SdBLUD7hH@79%m)n}_&uzP$$(Xby}TKXVp1%UR_WZRjUf9pbDw5im0fHskln0q)Mr@%BZaRtoXcGrB!Py z#TulQSc`y&<;k;Nv@=^&kZ)d^sc%I0Uc`9$-_E2K-Y`#j*m8$g`y;fIC zb$Y$tpf~DGdb8f5x9VD{P0yFw^$xvL@6x;VO?r>MS=UQOsaM~k7fOBlR=r;@mbU5J z^&R?7y;Rzz@7BwuJ^Eh#d}*J4p|oE=pdZu^>4)_r`o+?KepElEUn(8fPv|H0%cWEL zY5k0TRzIf?>O=aK(y%_FkLqLk)zY{=p-<{l`m{cyFO`-{v-+HVtu(JM=!^RGl2r$E zP=|C_M|4!jbX+HNQm6DAC0b{6RWv1Y(YRA;GMbGRqt$3L z+Kmq5Zs}gB)3{&iG9Hw=jZH?6vDxS~wipjfk4k;UR^xH0-`HksH=dMs7(0z!#%^Pe zvDesVJT2`v4j9i$2aV^YL&jm_h%sOsHI5l8rPb1Lv2BXl#^TmxhctrD5Z3X~Y;c#*BBRabv=GUz#+gjA`RTX~vi}=8TV}d1Jv?G^_?- zfCglIDt#`&24bMbml9^+24Ro}Wzfdg(zg<0u*UaNRiV02Q}|J;Ez}k23k`+FLQ|o+ z@U!%*)Kd6eYAsYsZH4wiN1?OORp>7K-*?vi|MrQkY%gODc>#ME8j0aC_gMeDnBkiDL*YgD?cx< zlvm4Z=mx!s5mRGio4>ecq_h&zY?efE1^ob5~)Nhu}Zv>s3a??O1hG%WGj3{sE8G*B3G13 zuA)}7O1`33j7p(WtduI{%K6HL%Eij1%H_(H%GJtJWw~;#a=mh+ah+}?OShNq zE!|&wu=H^0(bD6kr%TV4o-eH|tuDP-db#v!X?^MS(%YqXOCOfLEd5yewe)+bvSeT8 zmfg#qW$&_Y*}oiIjxEc}+H!tbUoI>cmrKj#<@3uImM<+|UcRz?b$MxddHLG%_2nDO zHirmRFb8mR~HtTz<8@zWi?a{ql$9kISEyKQDh>{; z`#iJ~U5Tw^SA-RDMPIqRa&={S<>tzdm7goWRw^sDRmZA(HMkmHjjTpjetoptF|@Q zns?2&7FY|eMb?xxb*->gT)VJ#Y3<6|)wOGDkJg^At*(7tTYK^1#k&{pUwnP>{l(80 zl^5=pftMFwetoIFT6y*9)z??QUR7Q>*4^vgb>BL_F04!I>bkaGSTC+$T)(n@b$w}l zdHwdfYs0C2ZdnXjd<*S_BS_U@bQhyBOu5AXlOPUrvX z7xS<8-NxBDj&pEM&c(So59j54oSzGDK`z9Fxd<2KVqBa{a7ix3rMV23<#a4Ha7C`fmAUiW1@0nuiMz~Q;jVH^+%k8KyUyL+y?iWd&9lu-f{1_58OxY6Ze_>!hPkw zao@Qg+)wTo_nULs|MjlK|DSKWV7q9m*eaa4C%f&w`T9rWk5=H1R^b1A1^(&3VfLs@ znLlQ+occE{mVfxi%@Ua@@^4uzhyR4d@^}Ajv({$v{7H*t_rGJY{Ea_lcDPLJziYAl z%RgHom&#+WAlg2ht*A6hJb z{4ZK8n&}VzBa7vq{UwX#mx=$6EtWHX*<$%e|B1!&$rSr57R$hYYO(yiziQU(Ouqlj zV%huGESA6ZpIa=?P4>TTvHTzZg~jq$|AxhK--Q27i>2>xSuB6?zcj08ChOm}SUUeJ zi{;P!9kbG8n)i8@Ba@L%NtYRA6YE>|3{1EZ~tS9W!2>PpDdQ`|HNYXYyY!ZbTyIx)MDxX zUo4it^v^7onOE;$f zv(aMtCrxIT!<1^aSWdK9EdQX@Y($wtZ5GSHc8lfjbeJ`8ldIEW+1X{W{Pk|L-DRRT zSuFpe$71=*o6TOP3GTI6dbU_Bf4L0rnHGS2`0%Tn-tSv^p$1EG;A6%jheJqorkE*i`ol)boJ*UsCf+2NB$I4XOn;Cx&&xDq8a9oYCQMVNY152p)--3DH!Yg1 zCcp%lU=w2c!vaFnkW-(Voa>bZgQBMCYQ-=@|e6PpUH0unZl;1DP~HWGN!DF zH_4_yNSViP8ZnKU#!Ta;DbuuR)--3DH!Yg1Ccp%mAQNmtOsEMn;U>aFn-~*ovYG5A z?*C%%&URDT+J7;xOUGdP9t@bi@B6+7X(u^~l;#%ZI{S8{bqjeuC5Itf$yV||*+1z~ zVZVUKJ8IaIS%u3C88K$Ulo@jtELpK;!23>h(I!ju_v7A#q@X2X^pdk!2qapuOICoh5*eeg|~ z2vHKG$dDyRo&rTml&SDbl^S&#d`eTTMVk&?dh{7EWW<;WQ)bLruw=!W9ea+PxN_&g zr##hOya`_QO_UgMl4QwKph$@dzf`GFr$rCf#rkW&h%qzfELpK;%Z@z?5u(J1lORck0!4l(QKmwTI!#)%>CmM|p8-QgjF~cH z!HP8-w(Qt*@rCQO+zXT_Q=dybqqbK%O3J1+uHJrgEElmtmqq{)yaPk|yolqgf- zmnt>tv}n_zOOHMy#!Q$pW6pvlE7ok-vSZJIBPY&WxN+yflNWEkUiK#;!bFG?Cqa@F zX)yPYZrpkD;?37v zUxfH3OoRj}vgF89ph$@_6@IBwqfV0+Z8~)Ml%86j0YgTNnK5U^XAc%#|B= z9z1#RCK&k7e}(vzuv&yDG2$dhk|slzJOzrBC{y8=DmCh~Xw#ufk3Iv2j2JUz#+(I9 zR;<~uWyhWaM^2o%aOK9G2TxwS34HzMzrF|(B0`inNz!D=k*7eJUux88(4tL;E?9BH}1T6^A*$sA;Lt65+hE6BpGrPDDp#zG8O7H zY0+oEkP%~MY}j$)%#|B=p1gPy2pJbaLPSWABt@DGSqgkgQLRLo3RP;2 z3>YzH!ju_v7A#q@X2Yj!)pqPTaOA|93s-L3dGO@Lo4~g@AV`RB!bFIYAWeoWd44ES zrb3MtZ8~)6F=EV=8FQAbShHcvjy)%C+?XZPhPzFis*xH!bFIYAVr2OIr5Y! zQ=v+YI!#)%>CmM|p8-QgjF~cH&VnT?)@<0aW6yyjC(c~>l&ji}I}e_`coT@~l^`L$ z2@@eoj5rCBq{)yaPk|yOKBcTy;g>2k>a^(4rAMCuLq?35F=xq&HCuM5(8IB1DOkAWeoWIr0=JQs$Q$bs98j(WXm}J_Ck~7&BqYj5!OItXQ*Q%Z@!q zPMo=L<;I;SFWv;=`XNY&Z^A@~5+hE6Bq`El$dV&Zfg(SYC{v+IjXF(QwCU2L&wwE# z#>|+rV9AO#8@BA&bK=Z}D>v>udGRKY&>ulUM2He2L6Q_{GJHx_tw50yWh&HZ(4^XAc%%@z`uH3lu;K_?OfuueO65^XM5uzkWk|slzJVkyeQKmwT z1})lj=+bA*lo=bg>^Sk@$%|mhI0zFVN}L2qQl!a{r9hbqzf`GFr%8)89lG@BGhoPw zF%zcDn6qHXiZvUy?AUYQ$cZx-uH3lu;K_?OfwXxhNQiI3M2He2PJ$#U(qzbzBTs=M z6{^%|(xFR_J|iZ~Sg>Txjy*?CoVjx2&Vwf}-UKtoNR$|H5+q6UDH*jac?uLMQKrH# zRch2}(4-e!@g|V9-v|;SLXBzZ*|F!qkrQVwT)A=Q$%{9EoUs!m z#5Z9gM2Qh6L6Q_{GGxh9pvVs;%2cRQqfV0+ZMyX6GhoPwF*6n{S+QormK}SJoH%pg z%8fe@p1gPy$m@?FA-)L{Axexm36i8plOaoiA|=XHs8XX&gC;H7^cXPWQ^sl&rp%bL zWW|~dTXyU@aOA|93s-L3dGO@Lo3Da?`IL~_H(??~iIX5niZmIr)fOySv1Y@T9eWNOIdSH~l^b^+JbCdZ zP`2L)65^XM5u(J1lORcoG#Rqw$Wx%m4<*V}_@zpXIt`k%Xw#$5kP&01ELgH)&5jdi zE?l|s;>}k@4}=I4Axexm36f+eP~?XaWhzvuQKvzZ7Hv9o>CtDvkP%}hOqnrf$%-`_ zw(Qt*;K+$H7p~m6^We#gH-TUM5hTPnVIo9{5hp>C6lpSKDNv+DnF>{E)M?PCtD%h%pnU%viEw z&4wL&4jegg=E9X5cOE=>@g`8$BSAuZ6DC5G7;zFLNs%T)mK=Es6e&@r!Y@^7)M?P< zQ(9_mI&|sLXTXpVVGNa*mLB>nJYIw<*xSN$%{9^hI!$e2vK6hNsuH( znhaTTwCT{LN1p*hMvR#;XUU2!JN6tna^lR52TxwS2{i3< zf`kYYAxfMCNz!DC&UmkP&01%$T!a$%-{Q4xBi1;mVCW zFW!8$^gxI(5u(J1lORckB0rRDb9Y}m46&xtcvZrpkB1}mrmBt@1Sc?uNyp+uPqzf`GFr$LhzpVC(A(4|M80YgTN znJ{I>oE2-f?AUYU#F-0MZrphh80(D?--L+}B|(xjMSdtzrb3MdZ94QAF=on)IZIZo z*|25Do)dQ-JbCdZI58%^2@@eooCHZyq{)yaN1g&jekfDnmnt>tG-%SIO@}T$`V1H{ zV$6goGv+K{>hmK=Esl&MgqMx7=t+H~mB zqtA#La~3RFvF1~DYI}~HICJI3od-`|ya~+oL68VB;v`6tCPS7Sc?x_=QSFBkWh(qq zrAD0wOk|IrpEIINN zDDp#zG8JmnY0#uan+{!i^cgT@#FzyPY zE?l{B=fRT~Zvrd*6C}hpVIo9{lORc&3|aCNDDp#zG8KNQQln0TCN0`@=+dLlkP&01 z%$T!e#hMLUcI-KF;=+|1cOE=>@#br-H$sGo5G786Bq`El$daeP4<*V}_@zpXIt`k% zXw#ufk3Iv2j2JUv%8WS+maJH_Vatv^2acRLbK}mF7hfBF@lBWrQ4(axQJ_eb8Xday z=rdx%j5!Ndtl6>W$fumt&Rn^1=fRT~Z-QH6BT9?}Nit-~Q=rHXCCXIzrOKz&)ao>7 z(WXO}9(@K388K$Ulo@jtELpK;!@g}gdZwL~?H5&acmNiF$ zG+A=wDNv-$FLfF;Y0;)fpCKcr%$T!a$%-{QPMo=L<;I;CZ@%`%M~E;HqQr=kAW4c0 z1&aJorb3k(b(*wj)1ga`J_Ck~7&BqYj5!OItXQ*Q%Z@!~uH3luu4?r@lBWrQ4%CclOao<0!4l(QKmwTIt`k%Xw#ufk3K_2jF~cH&VnT? z)@<0aW6yyjC(c~Ba^uc}CokRvPx>NEgd{1_WXMwBhcXp@sneuIn+{!i^cgZ@%!Da3 z<}6sUV$GHvdk!2qapua6I}e_`coR6=Hv|dsO_&H#Vz`2%-}llNDbi%fk|R%nB4sL6 zsZpm%i#8p)^yo8S$cQl$X3SZzWW|~-pR!ZibL7OCD>v>uc=F=S*G12K6Cp~BI0=$u z$dac(kxwb9m8tMcl^S(gbm-Ef&wwE##!Q$pW6pvlE7ok-vSZJIBPY&WxN_spgC{TE z1g?4}NQekg;v`6tCQFVy1&WmUr9qPxZF=+>GGfe>ISZDoShM5AnG08Lym<3wCT{LN1p*hMvR#-WyYKZOIEDeuw}=d14mArxp3viod-`|ya~LlWrBqG zCQO7VG2$dhk|IrpEIINNC{m(Kgi8B{I<*Ih$&Vwf}-UQy}i69}qi4Y}5oCHZSWXV&YNQp8PeyLKUPLmcL zdh{7EWW<;WQ)bLruw=!W4O@2XIdJ5}nG08L+L)FcG4}h?5{miZmIrwUE=l^b_n1VhHkHxZ&FNRlQ)mOKTD{7|Ayg&Hl|bm-Ef z&xkQoX3SZ#V$FsvJNBHoaO2K{CokT7eH$|&!bFG?Cqa@FX)9DO2H7s%karG-=VMLzf^N}b#F-0MZrpkC<}0QLLWGGBB}SYCNiyUpP~?Xa zWh&ID)1*b09(@K388K$Yf)yL~96533!j&6$9z1#RCJ;Anf`s@c%%?=uqQps%Bt@DG zSqc;>QKmwb8g&{pY0;)jk3IuNe9BmD!ju_vR;<~wW6zNjXD(d1apy%Kp=UyT6DC5G z1W8h)$&e*afg(SYC{v+IjRq~+bm-Ef&xkQoX3SZ!X2X^pdrn-qap%F47jFVd`;8zW zz6lc{N{l!OlB7tJAxn-t1&aJoqD+Nfs??~{qD_|`Lq?35FlEMy4LkN6ICAF3lNWEk zQpQh+Z^A@~k|0TjEIINNC{v+IjXF(QwCT{LN1qX6X3SZzWW|~dTXuZPUhTk<6K5`5 zxpC*glNWCSX+07o#5WP5#E6q1Ns2U|l2OZ&BTs=MKa?m_;g>2k>NIH5qD_Y`J^Bn7 zGGfe(IZIZo*|O)rkrQWb+@#ZV5UqXBnCPI`LaS|j+ zktRcy9C->9`JqIa3N`99Y0;(6fFUEs%$T!a#hMLUcI-KE=E{vb51zdEl($+Sr%!@} z_$Ew*C~*=bNs%T)mOKTD{7|Ayg{U@gC;H7bm-Ef&yW#gCQO+zXUU2+TXyU@ za^lQ|D>v@EcoWF$n;;>+2@@eooCHZyq{)yaN1g&jekf6BzZ*|F!qkrQXG+_>}P#hXA;zXS>KO_)!Ks6~kp zCqa@FX)yvFE^%6K8JRdGg}TSIyW7@lBWrQ4*xc zkR?Z+0!7MHs8XX&lNN0{bm`G&#Dp1h7A#q@X2+f*C(hh?@Z`mtVBJ`W5G6*O1W7V{ zN>(jTfg&Z!RQRPzjXEvb^yo8S$cQmB<}6vUX3LIG*{dBma^lR5I}cvG2{h~*f`o_= zB~F4QX)#6Q<0Vvtq-JJqM1QICJI3ohL8ee07bP5Z{D}5G6s9 z3|VsIDNv+DnF_yDsZpmvlNN0{bm`G&z>pDRCQO+zXTg#cYj*58a^lRDI}e_`coXdD zg&1)XWXO^uPk|yO%2fEJN{u=VT6E~qXTXpVW2VfQvtY@JH5<0<*mK~>i8B|j+_>}N zO`vbT@F_vH5Md%jiIX5nnhaTTEC~y|I=U2SN?In^3Purw?jU+ zv@Q8~82jVB1^+m1{Kt9FKhA^xasKm<^Phj5C;i)f{{AaQoCHZyq{)yaN1m z{dJ}j|KnJ%=cnbl4{X$To_9~^`;T)yf1FqT$8}EsaX$GUuciL@-Fu&N-(lj9V}XAh zZ~x;M`ya=UeazT%+&w<>`^R+({&>y$$LrNUuD#%XMCg`12YYrrc~FS_ajm~U&W-$W zUPOQY-WvDJ^UkUHI!~G$nX@29l87-y2@+!Fb5q7l=;|D(U5 zLX#R*E^2k#uI-zg+bfUBlV#v@acgvAy?t3%0nXOZiNU|uDP4w)=~J~XV(!;>pPX%; z!oTm&kO^Z(O#l6{$7HSJ3=LYGeBF+(*`;KSR;W_um!-!{nX%v<|JyYU|8}m``po|A zys9;7`%BmDMexsGE6@3IzyGhYHTOIA96533!j&6$p1gPy7+GTk3Gq#s2vHIwNs}SV zr{vWN6#1bk@;2ooVrk`!q&WGV1NgTaC-C^Fl5A- z2~%dwS+Hcqnhjfa>^X4c#F-0MZrmC9Is3GI@h0H=`->nUz6lc{N{l!OlB7tJAxn-t z1&aJoqD+Nfs??~{ph@32TIRk@mp(&AOqeob&Was-4jegg=Ej{TFW!7jtOr7T^C@Aq z2vHJb$dV&Zfg&Z!RH#y;PJ<>b+H~mBqtAdLpE6P#GhxP@1xr?}*|25Do&!ftoVjr2 z#+?UGUc3oR%?Ck3d=n1C|FQ4AzGcsWBPY&WxblCM zj?Z`L(PzMr5o0Dy`M*p4fAV+WDDp#zG8KNQQln0TCN0`@=+bAvkP%}hO!+Tm>pna7 z95`~~%!MmA?mT$%;!WUx{_C$VLVOb@LX;SBK4oI=r_7kMV9AO#8@BA&bKuB{GZ(Jh zxbx!8*WB78M3_&Bs6~kpCqa@7ISTwxqD+Mvbs98j(WXm}J_Ck~81pF;wJ9^^ELpK; z!O z`Xai8B|j+_>}L$%{9Er8P&0Z$2fg79mQ4Bxy2a$y1=n4<*V}s8Odui#8p) z^yo8W#FzpDDYSd}aq(z$!U3w%uHf@_B`)@vu z*~W>vJ+_^&Vatv^2acRLbKy#WFM@>l=Ej`|PhPyqk*7eBA4Yl#__|*te4Hdj*~ej) zZm(EV_wm$r#+(IBpUY7sM4Sc@{%f){_bb+H*s^2Kfg>l*+_>}L$%{9Em7i?{3Gq#s z2vK5uN?a{Lk`!q&WXX}IK#?Cxl&SDbl^S)Lv}n_zOOHOEGEf^bV$6goGv+K%uY;W$< za(m=P@u>UCCXIz zrAm!D4VtuQ)1ga`J_Ck~7&Bo?C+~jr=rdr*h%pnU%$T!a$%?0WDtdkQ!^7Fq=2JRqU3&BxGGfAvISZDoShHcv zjy(sCoH%pg%8fe@KIN(Q;!R*X5U{p`T-1uTZQIws@8@=sI0454zX%fIn=lcg#E6q1Ns2TXvgF89 zpvVs;%2fEJN{u>=g0(}7HXXY3=rdr*h%pnU%$T!a$%-`_w(Qt*;P~&Y^?T&RnG08L z+?XVfvt5ykPs1~ z#7U4OO@>d&s^!R2ph%e-bs98j(WXm}K10S#nK5UC6lpSK$&sf(k*_anmJr{Bi4Y}5oCHZyq{)yaN1g&jekf6< z!Y@^7)M?P9MVk&?dh{7EWW<;WQ)bLruw=!W4O@2XIdJ5}nG08L+wFqrbCw=eTIw}Ghxb% zIZIZo*|KBLfg>l*T)1-M&Vwgi`>RKv0YgTNnJ{I>oCQl(tl6+-$DRX6PMo=L<;I-{ zPhPwUgseM)g!m>*geWoMBuJ7XO@=Hv@)RiYLy0mKeyLKUPJ<>b+H~mBqtAdLBgRaa zGGoqyB`el!*s^2Kfg>mWOL>|5H-Uq7Mu>01M2M0gNtz5<@)RiYLy0mKYBXrkro*Rn z)q3<9GGfe>8FQAbShHcvjy(sCoH%pg#+?UGUVO@1EpYUGMvxHSgozL(Mw|pmQl!a{ zB}bkDMSdtzrot~(YSd}cqD}69@j8bBMSdvpMVSh}RH;#?L6a73I&|sLXTXpVVI)$vhnyWJN6tnlK)>FkF-5=;mVCW51zbu6L8-zf`s@cOoS*g;v`6tB29)Y z|8LSY_dWUy88K$Ulo@kYY}m2qz>yPYuH3lu;K_?Ofz#)8_oWsj#5Z9gM2V9iNs2TX zvgF89ph%etRch2}(xT0$bkw@^=rdx%j5!OItXQ*U$DRX6PMo=L<;I-{PhPwUoPB>0 zBt)41mj9R;h?x5*G2$dhk|slzJOzsUP@+tQU#iro)1XO8oNfFUEsOqnrf z$%-{wcI-KD?pT&y#Kd`d_yOoS+L5+q5JAxn-t1&Wj?Q{k5ybs98j(WXbA zAtT02nK9?ToE2*}Y}v8rz>yPYE?l|sDR;F8 zPhPwU+^r`!|K(WezZ@(5mt&>>a;)@UuFLx`$4LL>80o(p zBmLK3Ka?m_p-PQ94VrWquwcoW4O=c;c@WtC%kj2^XAc%#|B=9z1#R=Ido`5#pN&QDVeNkR;8gWYn_c z$Wx%m4<*V}_@zpXIt`k%Xw#ubp8-QgjG6K&GqpJjmaJH_WyhWaM^2o%aOK9G2TxwS z3B1h>K|+Ly5G6*O1WB&;!JP+BzHjz1DIPp|5xA?7B2AVYd48$VV8Waw2QEB_KCC&? z}&h4lp*4j%3DM^wzaUxEp z(1Imv-q~^C%AKdHaX^qLF|ssiF=WJ%z|Fo9B}zk~dbov*UwL4jegg=E{vbPl5mQ_e%fg@00$|`#b)h_jmli z9}%L&i1V*o!hK0nq{)yaPk|yO%2cRPr$LhzZ8~)6(PzMr5wDDyFlEM^1ud_^g)4z) zuN_HJWXMsaMx7=dy7cHXVal8ZOWs(qVatv^2QGwyVuT1$Vr0otq)L|&(UAK|kR(f< z0##}>XwqW9kP#CW?AY_kfg^#iSSCc2EIEplsM4g%fg=|JFW$41C@~VG$Wx$5l_nFC z5!;#&ZR5Uow(R-flLJRioVjr)@a#DgBt)1OB1DN1 zCqa@FX)NK&Lkg&JLUT&Tvpwse^=WyhWip}6f4 zBTJ4VRch4f(qq7gS7t0&vm=_Y4U%NZQ>8|O7JY_{cxA$z1xwyov1P}ePYxV8apq1S zX^apeN|qc2ij-(RK2Q0aGF2KhY13iIh>~Mprb3k(bs98j(WXO}9(@M9GG@w*IZNJH zv1Y?N|GI76_rZY^XD(d1apyTG&It2Dgg6P3q)3w?Pnil;YSj7Ht>L~l9eVT`FyfUl z6Q<0V^Ts<{cI^4!lOre2T)1-MP9P*#@Jx^pW3R!KId81lu;V}=?e!)|h%iaA6zS4q z!h%r7&k!X+k~CS0l&DanL5nU!CS1s7#SBflOqeofM>Z$sC{m?Mj{zeV1oHNQ7DFa1 z*z?JeK*9bJB}<7WExHUC^2&lGD>fV`7X1!Y8Z;R)V$6goGuCX_aUks2zYrlxj5rCB zq{)yaN1g&jN|dQkrAD0wO8W6qL5Nn8^oM3@9g zQe-L8q(z4=y~oG0j|`bGW6qilTXyU@bKy#$;;~4QB14uORThu0tG=d4l@SYeL~90!`1AFcYRMSh427ku#x|$013P5?zK&ShHcvo(oq3ZNE#B z6dAJQ$Wx}mn`6IX&4zcj?AY_cCkKw4ICJI3oxqDc#xp^}ybvKqoPXUC?n{y)O@=Hv z@)RgiqD+MC6lpS4y#_U!beS+^&VnU7_8f?G)E6vRvS!DHD|Z52@kN9vF_L7dQlmkO zAtNR%*sNIH5qD_Y`J^Bn7GUAmn z6Q<1g*KO{;1xwyov1Y?NTlReL$&nLhE?l{BClD2bJQE~Dm>2$ai@GmPf+Q)@WXO@H zK#>w1S3s>$u zjm0`KlBCIyB}bkrH5#;N(__Gp5fc{d*z?JOBPRkAk42Oc2aa3_O!b{aiIE^hngT^i zRB19~#FzsM4g% zlsP;0d~o2*g)28gOEE!&7%4JjDN?1!fCbSvu|t+26Bg|FB(SngqGTy>;K+qLfwlN1 zN{j?aQe?#!Q$pW6pvlZ>)G{%bpKD zIdY=rHK^02$B;1-)@<0aW6y;vfvwk<6dAJQC{d-!jy)e7xDeWj2_nSEQe?=2z+Su% zBT1GjHHJ(Ge270nM2He2PL>=6O4O*+WXPHW#ZUKBrOA{vI}QX6;+rr@Qe-L8q(z6& z(a#ViNtz-hD%7acpi7S-XUG1+l^b`SlVXY&B1DN1CqafBc?y)MP^Ctl25tHb_}6Xd zzE{S~n6u=K6&v2!vSZH&pPaaHCy+88cqYgT5u(KS*Ddb81W8h)$&e*So&rTml&Mgq zMx6#tTD0lVrAMCuLq@zZX2SIG(Q7bc&4w*I_MEwJC2;Z@lO#okEIF#wn2`sZygslNLi}j{TekOWs(qX2UyM zcI^4!lLJRioVju5DJ}L066S>n|GGup7b8xBGpEIjG3|E zjep%%?pw3roh^Gl_~gimGgofh31mE1o(b|ogg6P3q)3w?N1g&jN|YIS4JItuvFDQ` zfspgyM9EU3NsBfex(pcd%9sU9R;=0Z!GR+e0%6-FMuH?Mij=6*WXOmy6Q-=$aUlHS zcS(^ZOOY~7T6E|!V#1UKYp#SM_Jt%xDpct*WWt&aTP|D)MEx#FQe?C6lpSK$&sf(krHM8b*s3qN{u=VnzZTArAMCuLq@zZX2O&ia~3RlW5t>c?`+wz z=YvmHUV{zq?1;w14mpZc=`v!$k~KRnT)FcU_q)W%Ql&wQAtNR%Sh8c!Cr6qIKTDSZ zL*^`4vSPyr2acS%5J-A#VkAjXph$@-O@@q^FeRMwIa3y_dFQ~93s*vE+b2mNV|&zS z(xFSA2~(Er*mEG7bxattV9mj?KXT&Cg)2AiJmth7LBhNcAxexm36i8plOaovJO%!B zE4r^lnF>{E)M?P7O@|(R28?)R%!Da3<}7$)&4zdWb=$gc$DR*9IdSI7jiSxDw5IZ5T0O!Hzvg0(r4SlLHr~1+OC;b{sfy zCr~sVNRp*UlL=E6tT}Mx%#~0{OcEtVoFpmI6ev=nLX{dV+H~nLWWt&aTXyWZa3xUo zctl8&B14W66{pEIjF~cH&XPA)YdLs$s22S zeDKMID>v>0s^Xk5FGPrvBukYV4VnxYF=4@yH`Z*~vFDQ`X96{kL5L_>aug_1qDhM` z3s!76aO6Uu?)Qn2AVrZ9RhkSLF=on|4Lc4TIT2{sCxV1Yk|IlyCM~-3m~eCK?*xis zjAw#`c_BiKI0;gu$&e*So&sg6)Tq;-NsE8o+V1PnrAMCuLq@zZX2O&ia~3RlW5t>c z?`+wz=YvoFbvwB4$cZyI?mU$o3xb4sAwrZGaT27-lBYnC5@jmXY0#oghaPT~@oj^yN6D3BHG+C;&7&2i& z;PF2K2oWXD(6N7I%!~zZtXQ+*oh=`Ha^%FBD>v>0%HoA*g1itX!M|=v_oYaaAxEA9 zMM{*ZP^Ctl22EPD>CmM|p8-Q&8S}5(#C=m{%vrGHjTLJ)yt8G;o)11baOA|93s-L3 z2~->to(U2n%nK2+UV|J3N|b5RqRWs4OIB<+a3Rq1IuavEiXv+^>^N{D(D&LCB+LsD z5+q4cq(z4w6E0i{4LlY}ij=5Oqf3t=doElF4E-KqUPzK6Lyjs7c4SAsN0BOBdJI^w zX2*r-tLIFTELCbWXb~8Du7rpXB~F$cg~!*9eS#EeGUO;wq(qqtb(*y4(4|M80k4di zGGoq?H~w{7xo^#eceZ?R;KZ2=S8m*Su8JYTybvKqoCHZyq{)!yU$?URDpaXar$LK0 z9eVT`FyfUl6Q<0Vv*3*tYc{;IWyhWmJ~?rwrX;7nN0uT@T6E~rW5Sit%8ngd79Tpjxxcb;lu ziXb6gh!7`9nhaU;6ev@nMx6#N+H~mB<6pPF`vwdd@ydi5a~3RlW5qjL_I&Wkfg>l* zT)1-MPN4qp$A5C)Ga+7x5G6*O1Zgtl$Wx$1nF>{E)M?P9O_x3chKzV+%#<0I$7{fi z&_-?~N|GWaDpaY_WymWN*6gXiyPqaqCQO;LV9Aa>2QGxR9*+nyvJ@GzV9nFc{tzQc zmMS$Gv=}mB!I9?PJ}_j#k`)^cL_a(ZC8{(TGGfe>HK9+BNtOu<)*Lu;=1S;bn_B2TokLa^p^*Va)JMkQXAvh?C%7x0L(RWXO`I zK#4L{>NIH5qD_Y$eFltpWz3Wra~3T5*X_-HD>l5dWyc4f95`~~%#AxwP0yDgVP1$3 zB}SYCNm8WAkR?xnBGseUi6$Mo^q4SZ&XOH_4qOPG#4HhFWXVyaN|zo3hKyLSQI!Hzwj95@oV_<2G^$&#Z$i6&i!ELgH)&4vTTtDmJxlOZFNIH4rbCZD1BQ%vWz38PZ>(6e z;hilXd~)Ppx0CzMT)A;4&=OZX6C}(FQQ{;>k|IrpJOxVBY0#uan}6Lp?&~w;l`#`$ z%vtiriVg2<+4I3C2acRLbK_2+?Ku!6M3@&M#7PkHw=7{I#K=;lN|yyo*6g@&<;mYA z3>h(D!Hzwj90|DQ|A`P$Vr0otph$@(ExHU@uw=!W4F^)L*w6Cp~BEThNQ)+=Hp$&#l^jRq}-jF_-s z$DU7)1RgyqA);i-QJ_ePCSAU7UwZ_GUV|kEj$8=n#lu92ksw8mA|081?Ns^;Tg&JLkOjxt$!j*vfG(?UnHJWspFlEk?9eWO3 z2&oAp#K@APNSO*%YINx_V8oOKYj#|?@}&NV5+g~LDm5Ck_`ZGZ5eNkS=lvl5=lvl5 z=lvl5ryu*D_k{SL_k{SL_k{T0k0>$XBuJ7XO@=Hv@)RgiqD+M;K+$H7p~m66L|9cc_v7RFfT-i5+hE6Bq`El z$dV&Zfg&Z!RH#y;PJ<>bzHeW91g@9=yl2sWUgMvx!ThO~|LOX^pRURI>3WEt&P)9K z@ihPG|Ec`6#`??ung8Yg%>VNL+J9O9{^fem-_D8s_IFOd{k^~+*N^}4zsLXhKi_}+ zzeOLnf4s-(AMe%n$NRecalYWMzZ?4L`r4na`TOa8Cw{r+@|XY3^2>Fjzx{pmAOElP zkH5?M)SihZ9`0f9F{kFFL+j|uJ@i#qx{4LKP|4ZzTbCZ9qSN-SQ<4zV($UhJ>y#r}G4pTA%GqJKZSzfJgQeO)Yh zts22U{)WwKEFK!MpFg5rgS%Bkrg7bMv`a?QDKIZ~ohP@!#G*&uhK^ z?fsg6TmSoQ4dsuR_~ZQdpC3=7KR+6aKdznpt6uu+e{=lx9*h53ul&y(^3(ObKYwI; zw)u!9CboSn{_;Ou#na`N`rBjFe_L1n?f*9Yc5UY$*F)LYq5pH6wk`V`5W9V2Gbc8m ze1H4?+xta{{g=PyjGwOK{^{JrPwVhMz30d;*Sr66Ez~d9IQ_ELZrnV3{v%_<7;PW^ z_&@Ld*X`3^f5Z1z5B}HtlK$uY7XR~}F~*>6oX$VJAA)f<`sMG!|ET}|ct6%Zu9Y{I zCV#zW>VK~9|EUHtHjT$v=%>H2^4RoezrG{yi;uuXKFUV_`a2P?*CW>letFLrus;*k2xhdv6!9>1TFJd0YJC z_J3WYY@8S?#p^GBM_0V;SQA4pV&_TT zO>sA0ti^cHJWw|tb2oF6Z7l3_+Ws!&;8pFHzCj+B%Paj~{x<8E_Zu=cgTGx1Y5Wi` zcue!vqKEmRBiDZrwtodi8nV?OE{7u2W5*XpnLsI$){ zB>4|&ZwwQy2g?EX=Go5@^SN~Zb_Oy z8h?L`d*-S6U+1&_x-Rvn>!&=Xc+ZHj!1TBO5B0}6+`sx^`)Iu6%wI26x!V0H$KZB0 z&t!l9Xxsi!{7#I|kjI$J%zbLDg|WGzBR3R1$B~?$RiiE0c%I|5G3L3})M_V>H>m&d zKYBb5HPZXxzaPDo`BU6CJ^!Y$_I>->Baj=*YvL**mfo3|=hO0Y!hHQAmI~(ci8#HB zyJb**7Yp5&pZ=Gl`p9cJkYi7exLFuGPwH5)Q}w#`+9u zkh7-xxP+L>>TO?EVwh(+vSsc#i2uqXR@3sgad1~lO~uTIJa`v3F**Gb`QtrS#0nib zy{{MEK6(Isa6k{7Gafd2!J(SxBd#CR4~NCmboL8(Up@bdMJUaoE-~L~XY!UnboT@?6pwS;eD}CVV4|`?Z@TO%By}+O`lV@r1c;> zW9{ixy~fn<-i)a`9sPCO@4Tvw64tTep7Y4uu!)IjW43NScr`Ao=7PR`ZW^mA^TU&$ zP4nS<0drlmVh*gS=Nzw7M^2zP^!yyVf_(|e7g=ioX|>eG{Bg7Pl)U?0{Y|A}&4};Y z*B*hk{M4as-60_!Lv+OINnRVQ)#2jdSuGxs&-l4J>Br|}$&shPz?@R_u|$~) zRc_WfYd+R#(4?$CX+1uM)jK|R80am!K4#1XCo1NL-s5X?V%ON-9<6iw`cuz8@Nvk9 z@7vcNfz%_%c^$^Q%ZYJ)Usc>pd_85xoCQI3>e9!tycd<*)@q%s7=H7;t*>|TT0O58 z&@=4iw}l!$D(24OVJrt$m_62v{QS<(Pt_QC`F8E=4e!+C`0e9<_I&Wkft*_B=;Mhq z7p~m66BzwJ|ccqaH@?J4AAn7exXT_3y&s>^&G;nn(M)W_K4e!Y0y#{@}Iq{)ya z$8>IfFjmiUMAmW3`(A+}CCXH|>OrbL*0|X2Xlv~0T~2Dix_RLv`CaFHZPfe!mU^!b z^ZJWC`X+By&D{~bVfm`IRdc+WlLKmpz4J;bxoi2D`_(+{HS%vlUzfKA@*YxG>xIwa z{&suhK68O}_o5!TY+Wy<4mw$5EUHH$de)x#qw(0DI{4`4*VcA|Pu6e5=aYIlsHTa? zxpnhF#~e^F=M>BMb$DDY*6{mby}+lR+dkGK z)&BwY|C+MnwYLuy`;fNHuKwX;Ywpn(y;{@C`<;v5$tA7f>nkc*^}l)Q`}Va*;3!6( z=V};n*mM4-XgzNzPu?QG{k?(O+8X0VoqV>=7|QHmy{!DG$R_J%9xiB4*uH{0xsS$X(X&wMq`Zt97o zIB$pa!1klA4k~o5PnvI@^cpQOyijMSobM{>3zAu}Y)ow)d00$!Jg2s`po=keG4{6l z>XEU!lZOZTldwLyY0jz`*G<1uP?J=RyNI9Jri?Xt`o&{bJg=q4U5Vv@u~645Jb9ig zQu>#Qm~M&hnz}G*KhM^IW5(ss+E+*)GL{S0>a>V_@}cf(*zVNNgw=cBx34_{_p0jx z9uKynOaaj*Vp#;`a|*F^8H!Z8jD(^?ek}I#9l2M(g)jjj7)Mp<5&HC)k91u1R>+-_Qe$R&X+ddEM<5EB0 z*LTdQ=snWrgoYaK#a#Aj&8Fpe%>8`d`sQ=X++L$(IVE%CEhv^%k)>R{y-2 z8+NWW_*8GS#bwtvqiUIuu~ZO`Z8^Ov#J9=93ru88r6$9;2_`S%~qY^I-?$Gv?ZajB(y0X>Q2U7vC}GbX&H4Gw!nD zy6X2&=7O2^|AGCixCW_X997g%3D0TkF(&4-vN5>me%Co)8}&baB-FHBIXJHdnC8so z;`H5Xe~}X>^4a25{VrFYy@qW$tfYVJ8VgPR=Uhxg)kYD$aZ1fIofrewtJ8YozIeUr z<)+TnT+IDL8s~HMnJZ#cE0)9{?4pH4Q9@d+2668 z-g7O`#6DEj{W)`4+Wd2Nj5F4@B5I%S+t(g}59g)gYM2CVwP)P*Q~^EP%3OXI4<#`* z6>nQ(qAqXV*6IwsYEn*rQ-{pN+K2o(5E~aU6|y!N6USS%LRy^=aUF76{C+ye+LP~g z;^6bKeyHY1xrSyg)-u*{&f@DrPEK8IjSIa%?9o@tlSTXUB40O~`efT`>6z>i6>CtzO^R|y|Wy~KW zZF6Cp0sUuAddW>$zwW=N?|5yuh z4ld|87HxNAKZlM{&bGd9UwZ^D`mKciZ=-kY$6Pb!n#Q2HejrDso~@Ty@1Dq;6Y(BV z<9v$uyL@;P7e{gNBvxZ`X+r(bRNp_F!^7gBXB^Gc;ekgzBo?;vcuy`)8dtN4HA3hsy72l3cXa(Gbgo~qTG zVm50#8Ecbk_0Y)p>**<8Y;$j{-;B|;ywNZ&R(gfd%J0hkC10P^^Jo2SRR8m&Z>kpb zDb9n8jmNTm_`ZGZ5g4oEE7m{yuBkejpGRK%w*2>GJtJ;yePS(gMO=)I%+(_`PfX7i zy{He=_0QsUueNRI8$ZQT+ZZ?z5^G^~?)F(NQ?wSTXNZl}2kMKl`0ToFF=}nQCDwag z=aBeVnM3pgBQ-_N+R;g@U**Q3JUh3IslK%-&I{ta>3mkvb~56!B)+oFhc+Mejq^)W zVnRqGIm@|$gMEpOJa=P!<=oSnamv{9 zJgz}`{>6TX=ehY~q2_yTI&RjZ^8PMmtL95N9#!jEE87Xn8D;a*idXebHviK+pq_fv zW7ZD7Z(n-^>PvA;Qp`1-Uwjq!AFk8-RC|o&^Ec}rBX$0Vb;4Ku?|tnWnTz>dJmsj% z=K<^CHTit1rwq#FT{Z5j{Cj5Sx|`F7@nhY+X)UBFzlY@Gni^yLxVBQfz8Ftav9YVk z`D)^#*n8uycO9yO-t14-Sh~rrbvge<&X1{I+ScM5=9PuVe)3prwaeK4H{|(>aeFs6 zJ)1M8)`=2gyDok&)|7&B`a=C(5~nrsS+Wl^a>h;2+}0PD5y#?PEf)9qF^_+I?1SSG zF|UoyYeltwnF>`7>cNS}-WwMuV?1xoCMTzqjP)u(`|ziE7I?!WvU zlANv|SgOy*e!uXDe|2t7{Cuhls(Oegc|Ik-CaljiD9Mp0dHcd$%y#6AAid=S%bB%=~z9%sR$*%NkBx-k%y5MdNSg}FFFpEP zb;Uqk(JFi0^@dG#`9a;hRtJ5G*S!AhB-Yz%-qiSc)IjE-fH4-Z27fRIjKu54{ubrbt(e@6^%Y{W=bD4Im~7hrw(DrFYV518 zBgWFge)p^m^&jzV-g>vaj^{pN>AspdF5I^kW4v9Qf6LgH534fV#hJ&FW2$@Mip!<@|TO!uRcKkH9Es-9a8(iQl_*@`7C7QnL=# ztSM_RT{*s_CSA(0OL5o~dqp+JRvn%-=Vy(R@TWLehi|P#PR;Ev@?kfR%H?tK z9SzINVmo237^uM`>V}(GN$88;jgzY}^rS`ziIIr7ytB~%&D7|1u~Jf-Oso%`)K*)y z)zLoJ^(6~yCws9y(3>BegUeZ89cAsi^8s)E=4qmK$r;l{>rEj!eyVSnd%UFIZ+OmU zHUDxVKYQM@N1b%lyUNW+G5l_9mt9YB^BAd}8ctu^Qlqu>^sx_PJR+8jjkLPGVEuOC zd5z6AC&wtO_wP7P9mi>E-SjAzG>pwBYh4Rt;QRKqN1&|kcxNP@x?cOdb)B+&+_(1j zt|q96ld$ulM|p28C$7BCYxT=Q{jrjtbMoij>z$FKbM)040Wlr44pX!qxO|Ke^~FVP z5fv*dy+TKAG1Two#m%d{nlZ1WsaYS)d7Q5LVy=(qdb}eG^TyH|OGKRS#AwR6?1}Nc zTH;fjf4BzjQ|(kyA1%aq$GnsCSRFNWQrwo+AZ2me@q2Ug$<;ol9&44xXVZ3i>XC@L zEa7?7)$}*N-+qi`kM-)9Jo&w3*JGF$*PegQxwo|OUG}%{Yx7yf7=QEF702Xi4ymih zp4&b*M?BAsdE1>^yA7DbMsmlK_1o{;*B*hCyp#~9QE}Q73m~AjmIdM9D)D-IBh}`@xC%=l-p7Tfn^>9VKFtc8B6mOZwIZAr+bX%UD>LWJRRkCWP zx_FyeCoDVXwH8-d>qZCbE6-vuD3%v$s$^D1iQBq4sACPLXJ3!@HLOOz>SKE1KB7*U@vK%^m~-;#l9f53poWTh z-h0n^Ya0W3`X)~=tYf9*>7sEs@LZbai-2o4cb?0@nCzQ#LayzJ$Qy0*+>3qO*~g^g zTQD}(*7HZ!i6eUKG2geZJpxnbpgL-cmfB(BJ(5a#)7xX+T#fvp26$KdwB`S*x_+!) zX_*HiYKObA5|PWN;yUbFgSPoU<-Bdpy2yulAYtAgI?r`52c+fT6wh*9&N@p_tX=h+ zE5HA&4!Eh8cKXhydZ4dXI_WRN9=~Xeq{LO(+T*LZn$i!`_bE%9)-ZW;Fb1?%;(o!Z#?Vcc5%*1Uh!Cx)!~ z_te8B@z&G-KAUGo2Oq5?6;rP7?KyX3jr~*I9TP_fzZY}ePexoudty_){ABwne^Xxc zvmG^kPuxDKZ4%=Aq9)&451RVDvOK@nlUCI3Nxj2P?vFTcQBaRu^rvZa*~C7sJ@+?p zn^CKujm@BOG&Y~Ty04H{uN1_uF;|wi8}_@bk6o#&Qfi-D%(yT&g{*;v{Om=3D5v!b z?vGpdPZ&EX`}uwQ+9PnDivjBks}D7U>*hQ1`Z*wHyWXbhwLgl<5AnE`M^DyIK3qey zGZxZn+KoKB_xT4Q`EcZVmsL)$C{K^%!jv5N>Asb<$%BtahGHzJ7OBb4b=$3~tCs4j zs#rX^Kd#moi2Z~*WPodD``RWP8e#*M+i<};OQZpH!uhwg0 z&KU%Z;gfuDvF~Ml#>x1<_`O}-*wyn-#r9GDm>J7U&*8=Ki^>x<&;4$H0m^X&Y< zvyb1muRQ`muR%xu+OjSa^7&pJTz=FUK98tj!}8ZrU4B=8xBLyoi|<#(RK&+9FevPamTayX=Z-fKkkpp z?-@0e=dgU7hw#{OJ;Pn!-M8&Gby&+h^ekV0`1ztW{(UY$;;!v1o6GJM*IKB{ z#(l@ber=u0_`ZGZ5y;4si%0(_7O!$)RG&6f2fVAPBi8N{`q7{q8*+clTHndJr@6Jr zk(lkM8>Zr^ByYyWQb64wR>wTK2J1~Mm-Gv3b@Y=SwPc+pr4BDzSAR7oUfnWZ44;Gq9(s3&5s6G+Pc4SHfFAlDD}dP9$2kTVxl)Y4OVdv4oR>nkO7b6anb6u)nJ zikz5Ti~oQ+=Opf8dgqy#OW4NJI0=f;nR)I_A6-_@E%f&(_5a8?$+$-CByP`)g61&S zqOHtLOFvgur_{|+Bk_H4|CPQxP|;JDt%nuz`gG6#=KD>LfA=wJjVLhoo(;zQ&~bb6 z`Sk3dx1t%#^a+62_^YccffwOKh|^JFcht4FLo));*+Ab#^=_ZHTx`Fq)&cf6X;?MLkslMjz#_@JkJ_IoAsLQ<_Tw&wC-3>A&LzId1zCkwVu z#(>%?W-TXva7~$Y^0vS43VHmr{F_rVf2hA_>g%Zdo?uJFV-!|$u62{Te)Cz)z7z9} zm~kTB10Lhqyppv(lT+s(dC`|#^$H1dLCIXu_Vy-G8iSM?YyHQ`HJZ@30eUhtVVtZ{2Wz|?q^T)f#NZ9_$91wI4I_+vMEG#*Rna_YU?o;p6x1YmY!r4g4V{KS_E$ znqp@o=cas~SEHnT%&>G0>ZTq!h^LaexT+RvSl?K(mXn{or$}5p-Sn*|A7jov#UAG| z)#O>fpChJL$op7Wi3{hD-YNLH$dj0xkIW0=x#a6IL;b;6o*s(hi1V!#->ayzGWwCK z&ui3aa5qP!t*18i5fj(Jq}t9c`F_{6>h$@iv15F! zjlZq&@Me9#ES?AYl$`mkrOt_|)lZM>Bm8Z8%Q&g4l>){})40fp|GWDa>YMNo&o8H+ zAE=?G=8~aaHuJb9!u&Zf{x0_6`}Va*VEyRnoMTMN@1w`HGw7)=47ka+Bj+}UK3}VkQ`R0wK0lAG9r~Cw$8QOV^`4xcOZj^|-=A=G z-NTlM7@PWf#!l=dtsBjKzTi_l$JHot^?Z^Gb-DXwzn|=PFe?9>6PAAVnwOVdD{!{& zVRKQ*ey5x-dNcpLxqrpX*x0M3);=%zTbPts-1vNH-TjkypKl2`XID4x+&Jo8M(Ufs zIqYD3uhm~i>!D|lzi?k%?O%J$N5e&j`Q?6>#g4n)_#hxDa$!pk?pJUea6VCgjS&Gk$SWAiLy6aOS zVmZybS|DKDWR029Bd(kq+S~Sx-qgNz+pjrSI#X+1jhBP%?2VVPdEw}sYDElv zik*fv$JJwAa6YUi-yX~lX))dL_ygl6u4d`!H=gDAYR=s9U z7Cvs&ZJtZVym6L`=jM*MaX57SeD6~XtJ`M!+aptTTTWjce2h=F&yJP6eIO-I%;;Iq zywEj{qK{h5I#|QGh=zV(t^O)FmUm+`YMpoUy^i_SVegs~Im^1>T1|f-r$%{K*C(xM zCdA*87uUFCtgF9?yPH^#=}GVE?1DPEFUIGt`#p=lde7&yALq5q6Em-ORh-wX`3!9{ zE;j~j>qCvvP3aTm=Zdj#kVlVldsW`dSvOC+)}VcMPC?#1iQf->>63h2QqwGH>UH-- zT~`w{p6bSGK;OBvtxvJ`WbHDn_dGf0b=Pz5#D7wK@?j1Az)jydG45jW_`q6b!1`uD zjX$Ad47SxnZFN=8KBd#fqWbOR*fg96i1dBWI#5FWay5o-_Bm}nim2hAt-;QW`?j&U z3|ZSTKUMWOuX^;P>$(xBJvO4Pf_O(Z#={0z^_LjC*{~=a${to)$+MA(Tpk?mw zJm!5lE3402$^9LD@X|Wq;*m4W=_m8}RsKJCy+d+j$~->QA2!S*SFdr>IEc%~Y3rLW z@?#>R&-57Yu3anI_FTU(6W=L4;Z$rsiOZ99?;|a1BrT6wQO{hxuR+Q9cvHiSjn$F0 z@R>Pgrq(#QMyG6_>U8uIT`^g*Hd_&sovk$~<7{n>HlnvUn>U8)`Jyp=SJT(59X**p zy5^6iygm@8XY2nZ<9Os;ZN@%D)Jt1G7nJj>>Z`bXo;Pl5*6ds6sBysfHTK%Z+uE_3 ztNlv$xn>-_$tiF4=h;3qjgO5vX09gszJ2Wxm|2V2bF=PJmAA9z@odX=Df-y4{5h91 zXRhBl%eNW#Wgcr8a&1eV4F%;lId{U%xyy_>zV>+i{cc^}ZHeKH*xkslGxPk!`pElZ zJx@MOnd?90)2>_^QQIWd9nWf;1%2_+ag9X7xvaAs8Wx{x^+#NMZp}9vF`AZ3^Mw4* zpX^wFX)YOw^SJT#q_%o7zM{?@tkgVb*Ur`K%T--fH}{nFr3>RX>Dqyn`EB5L`}%;M z?e4{XLd@T7^GQFl^t|8o1uxcNQpUtpyf<9aG&f&7nI}$au(nA<(;yl7ieX&v_Oys+h zm}xoRxuvfz=z6{D>hgvBJL-tHu5-C^ZH3w+ZspZy=TNuigO+~uldAK;N%4Dm)Y)GD zoBa7M#&-JAntb?4QH*?AkBnG9FB(Vtp18Fyedj@A_94Ntr*C!ME2LH)8ABT}oHBMM z)?a&ae?uG}jia9Jw#@?x*Ui7017h-Qi?e-N={GBVbCofbQ`65~o3nP#?fsGStzPE%S0UqkBTi?=c}(w6GY6*a!;9Yi=5eOBoj11(tZ^=l)7hg}*B>nP1sy$l$+*9I z&Y#9$#az{Leqm+oe&4?K2z;2kU*xyFIr`libVwd9%5hb%cgOr4^O|?W;L3UYH+j6b zP^*jmgteNw+W+P?jXl=x#m<{Jj-}*1aT-tyhaTsG)wFjxd8XD`=Zz)Xe^sMQ#AsdY zgyh=1I^tRX@Gf6heXP5-GHz^KAGutwkQ~Y9YOs#n{i+^XilsN>YZ+AE+rOjnQB_;i zI6cN3%Pnvd3Mtev&@_M`r{hV((-I!;PW719sC8`ouZ zOt0$t2+!qcEZ5ZWWxe)A4&Oi9hIkIxuL)Dz>#5mZ<$=99tNHjF7h^19p4bz&ey}(9 zmGw^Fx34_{3q4p!O>nmMd{vv4YS#V4$Xz@a#mPx6dlgUh$C`vW{9W9Q#8pyUbj3ql zEOfJ#seH5GNttKMKJKW5cgpT^8s zZ1h|Y-&0?|IDd4oU+>nLUTo`VTn>$!sByD<)IoA)N`Jjqo5jR`*?!*4L1&NAP-C3s z`K$3XR6iZn^3RWcv+HL(&$68TX?*6bNyg>uxiQ*w|HZM$+wRtw*qK`nwskfCJc-|g z`*V7s^2%E3#Pyzz&0Sqn`Y@Is$3h-|^)qkgjJD@ebe&(zSiSqXiRVyM2Zi+b4acyr zXZgN;?Gea3zgSnR?$y3|_4ccpx8<7Mr=fKU^5*fB8lYKwD`LL{x%2~slSbywi^Z@eo-uH*b+mpEHs;#bS zk+oPG$&*3rMQ>t#A+HwwjYmM9Z}yEt@iUQE)As#f-`n1SzR@CUO6KU zC-(2E=Ez%LN!ZV(eaxDJs?^mq4RhUxzs*g#4lie(YpRo4>a~;kA}24$tUtZkr%*wz zH@$#SV!}pF_PjB$a&hy->hl2L)`}Va* zAgrD!i@{@7j1qP}lO&l+dl*ov74BJ$>$ zH@)=EV@|ETH09u!_}sqgWz|a&IW%m&e(9X<%yn}?@tRjZyr@g|9=mTWmGmM}k9E+; zHms?P)gCSL$wmJj5{pCQW8*RBkNET)hWebF8tBcq8krN;o=@TNw^H)+hj=bMa)UW4 zU|!qUkJi}Vtay$Eb6d#z*F}HyWFDycoo65W=D4{zqh-II^w2B%_TxZBU-5nW+9PmK zC*-WhyomW%uU%A)T9%HR#%ktq%-R^b7P<{*GBb>*T;ESIlm}xFV*yC z{btE}PEH-Ml7E9<|EYN)DgUjFt(m%~>l%lIy6HtqDOz_OlIRC@)8EtQpqj;}>;JQmuZs zZa5o?S>HQ$)lbH2#dBGR?~=JAPxE;&^9FeHy1r^Gw73S3Jg0jq_|9cRwGs&4FHK>R7!#u32^NWnCLq>Wx1d;2QKRAytf*13qN2u%f{G<9 zVbKVYMWD4BAV9zXVGn!QLf8WY2zyjiP?V@NB#07~R;(1GQUz=K{-4P^1M{u{v9`7S zm#d%5%y-V5yS%%cd+$pa$2EC8_j{8#XKvt}naO9j?pZlkaZctOJB811A;-vY_Q_Q| zx69-DJ)C>Q4V-UBuwV7#yf>Jd!Hg5~IDgOO+A)lA??QeLb^_yy71YmTzgWh#AfI#d zF!{b42dNmcF<=q&K}A${sG)itY)0Gjf9tLpSjpO*5#QwSj#UwxH>26l zCot~n&$VX;`+6Q@raZ4)6{{n%Hgu`iFF&AE*6@K8RVJkGU? zxR$Twvz*U=PTI*VtOv*>dS*M!OBXYl@b2;b#fG>7XY&pB6eeHg{Ejc2o*cpFKbZYG zlk?tu<}s4}XwgLW6ONU!+;47RpB%#T%JDp}oWQX%dIHBHq{8REM?raVm{-j zVT@zAryR@}Y#z^!#&g~r%QB{M?w!wjt+_mJ8N>OvfP0Euj>$rnc@ksn`5c$?8Ly@D zENK<2XTEb8rw!vd&H%m1G$C_h8cW6Z3Nehd}{Jo?{u!KBN_iZ%eFl} z{jghL2Iutt>=(m%7B`UnIg2sexl!|&0I^_h%2Ch70*ev;U6f8b5*kX7)hF9lWQ?V4q0mn3>CYdNyO2HS8-R*{9d@Zm1vo;ZVj7`HVp_ z=_`-t^}`r1tYAOO=e{A6V`>0>ro(LRpZl?|P2-ptLj8<&l4rkX9)sEc`z_}AO+Lpi z$Lo0Z^O203hH-ruz%$0h?1xi%&bmhK9hk=q<}rrlUdgo~m%az^>}E1!o<;2Qi#XQu z*-z(jotekG64XD~KnEH#L}k551B7Ffd=p@1>xa?W$Z*dG^jUpj&D$wbEC!x@jPg(2+U z19>L7f&0Zw_LX()8@cRfQ@9=sU)^ut(m#6a%U!UVK_oZ}~O-B?Hei#T?M&}Oi-VGK2e=a}nPb53R)y_)An z&vIVP<(xT(^Xe@2+u01U_3vB zb9g4(WCG)`Y*@neVk*Z@F8lZd)_)bOhB-qamvIvJQA_##t9;Ha$EP253ry{|&rO3I zm<}^wCd`7_kPCAl59Y!=m=6nJAuNK$kPk~>DJ+8mSPm;-B^1IcSPg4nEv$p}umRHg z@8jPS+{b;wKK@4LKCTP<_**sm_`CD__#Wjx{@uiV{BGht-Ye|m-|^hXcSQGbU%QXL zO|y@GZ+f50f{`!^M#C5w3*%rsWWxlQ2$NtkOo6E|4RT;Q%z&9N3uZ$u%z-?Z3-e$; zEP#cu2o^&=EPmm2n>a1A#ICu!?43)1Y}V&5<3KaGZLPv#_%v7v?}7%!PR{ANoK-t z3;E>d^SN)pKR*3$Z2>*r?OMz6{#~Y{9q-@Pj~ws)3d{Lhz2&^`D0k^F5C*|u$bca* z6rP1l7zV>(1Z2TT7zLwY42*?wFdnjD0!)NSFd3%6RG0=iFdb&VOqd0;As6OA9?XS# zFdr7cLRbWgAs?2&QdkBBupCyvN+^U?uo{BX2DG$Q<*py}hXIfd17Q#hh71@2L*ZG- zgkdloMnD#fgi$aW#=uw@2jd|dCcs3P1jncU?Jba1%ryc=!Dtu*V__VOhisSt6JZie zhAA)=ra=x&hZ!&vX2ER8g*lK1b73CLhXt?@7Qtf3hb6ESmO%k5hZV3A3SkwjhBdGj z*1>w%03*jS=77=Af6V)C7EB+@7z4(^SeOYTVLVKM$uJ4BXgdZ9U;#{qG*}B$$xnlc zFb3vAF62NKEPy$X2eV){On__{1*2g;%!6$D%Y+P;F?3(|x)INw2k7y#)o5C*|u z$bca*6rP1l7zV>(1oV?_fKA7a!4Afb#}3C%#me|+LdN@*W1WfEag4QO43)#YSaUjKRNkd`}x0-;bw0IKG!LbUNeXMUV!AK*#sl_@f{bWPHDh`f>O(Uk5B)bTR@Kg^=0gz z9REkVzh6Zgy}uu{gJT{tV6phr9_jvmE_pfrM`HE`M49WaqCd`7_kPCAl59Y!=m=6nJAuNK$kPk~>DJ+8mSPm;d z?(bJ(3t<(khBUTgKj;qwK<@9;v2uSu5IYD4Lk3iJe?J6$DCqtDv-p`X42FZ;-;cm% zf!yDZ#LE5sD6HP!4`#8;C>RZ6U@VM-@sJG@U?NO{$uI?`!ZgT%=`aIk!Yr5#xiAOv zU@pu9o%Gn(__+Pw-U7#Z4v=xKUjKtz>{!kLGEUX&zt;b!J>MU|c|ynkM|!@WNgMlo ze=1{edA>gi^!dIW|5x>VKcAYZY>(jc{h9QkIeaZ9vrJ&FE?fAc{ z=le^jna2E&Ki}6q@qg2P+p#ZOC3x>2+)_t7_N8s`-rv^C^?%^&jCtW`V}Gd$UjN53 z9tqz2r_;}J`qX!O8N@?iD9H6c6D#lbhGR!S7L0^ZFdD|dSQrQ6AsZ&ZM3@AVVG2xz zX^;ccL8h75Suh)NVGiWMT$l&*VF4_JMX(t1VF@gSWl#XiVFj#&LRbZ>VGXQ>b+8^b zK-yNuAJ88LKspSBK`|K**SOviHk>-AsWL(K-c{>wWp zIsWBcVm9<6mg8UE$?5w){eGX^F9(l*d5@;Yzr0VB_gn?k+v8u}QOY|ux!;xJe;xi5 z+OEgSd$2JO{C?jma`G-vzTc>7jl ze0~2n0e>;b_xqM$<^7*r|7YU=C%pf=$>q3P*@vE~+>`#DKMLIecVU!s$?)%-rn?z# zrkmwvyIeQN<+-_To}2F$xP@+!TkP`P61UVXa|Ld>Tj5r^LbuATc5B>Px6ZA18(fil z&OPs5a2wr=?j`rK+vGO8SKO;^i+jzz?zXyO_lA4Zz2&yK-@6jG-IcmB$E!0x?Q-Sr zJ@>x*!0mQ_aDQ|kx;^eA_b2zU+w1=9_PI}7h5OWf=011(-Cx`n?n}1OLHCvWt9J0c z?Kn5y_c79qs`N&?F^75`>%D=8lpo$n`{5Vidn`fXQEEr9zkJ^**xBr0WRGQbc5Vrm*IxEq3&6i>4v%CZiLHnvKPr7G}g(U zmF*_DiEfgc?54P>ZW`y7qaSVGb~HGS2AMvu{P~y4pZeoVb-ssPI_+I;8R83^18Zm;!+hc6+}dib7AE4Tx7^u z^4q4@IKRrdax>@Jm7Hm}arWHAxpp1rTsgyTsXP;}sywg0T6u#D9@~Cr9h6Ttlupv=665EjZ-=qbu@l$MvyYMcp^9qRwAM z9iO(Vyox$=6@A-haR>-0Z9P58%4fAGrN z8Iio~PB7=QrpEur7B7dg@Erno!Q3GX;|_s)KYxcX5 zzgq%jQ9tzAKt}EV`1Id=Hu&aRKgb=49BI`KofWP-L(1}JbxV9GMF!x`GRt6_#7a@;pYny$@2xB!uNV|4|Nd!>cZy_%^u1AGsi8F z^Elf0B(mjqjlRq14{0?WnU7VHmX_7oc z(&tBVbvR(ou18&@V@wV`)UMwlPn=;eB0`a1VubSTXJk7v%!;VhKu5as5Qia*3 z*1KZfupD}}eC%g_IUjtNNsfZ=GwFHg=zaX_&daucgC5;qNdr!{fGVk)-z4jD|`pf z%U@x1bUrj0^$ts(zJ2o@R`BVYjyevHG4&mmJbkO`9aeaZ`TefT zRox{9x7fEou?kllX*4VMlS2dJm*6~tv5rlGdSv|n+u1ZfYB_uJJC*08AAanU7P+y% zQ}o|@*16lSWoBS)H@T|EIe}(J4Rb29k?+b6k7xKkg@0GhH$E!gm4`c9gIO1Lzvbt@ z@@OcieDlb6Tr1z-^Suj}l*-fRp(|!qY8>JXOA{{a0WAtNsql zKkFDcw(I|quFbNo{_$(`@MC=9`>#AR{SbFO$DdDs*JJG8)&Ab2%qWX*levGw*&;j( zxkHopS$v-x^nF(NDjseTyo!g_JnrlI@y2Ey--}z!H|K`(?VsV5&-|wI)UT?$=5PN# z+&}YNQpmTE2Jk*PHHz;%8i@7AaC{Udn_e{7@j@OoDLb2i@u{8vslMg5XbxGRkN z4|sEQEa#?GN7x+yeb?(|yq|x;MVTY)M&lo0HIFLi_^cjl^6k>9j zzBv{}znda&v}KYvz&bXNx5zRUko)yvl}CJKlS4n`eRS{*vb?F7#(8W5=dj4Pzta!Z z9m$#DWbCpOj_v;DNd1KMr=te2x5+cTxBdf;{IsJl>`}A-$dMmgwdtY*`@QdJ$t4czj!A4KLs}K9CiIsLX{%`P4WLq|lfHAckz+*%Tv z1?jhh8PgOCJ)r}%fTmDDegW)<-O$izTKjFb9yN8K28@w;LQm)bEhMI2p(%bts0VeR z2JEM1H*ABAPyn+eru{}}PMaC9$Rqs;yFD5oi`5$GQ`iquw}<(adRu{?=Y7!y(bN~4 zM&6QrXG!Ss+e$*sum|p-Exu6mo{~`hU58`Uk7f@vqYtQ0UwiK6oB=hVf_^&FcOoRw zcLKJi%yNvI#(4(Gx0 zRJK3-9Cmao2@Qvv;j^wKq30kKwme=EnggBT0@$5W5}FTfpaJ~#v69d{=nl=`>qkpM zYvB?2IegHiB(xH4hUrQ430J}!ZAwC!&;qi5T@v~=oC6;}QW9DQ{ozXZtaVA~c^Cx` z!ZlD6N**o={SMl|A0Og4gxlfVRwbbq*%lMwH*g8u+`c6ABlvxCNoX=$31>oi2aZ$t zEnE&!pxf=+Y%cwMTbqAYzO-FQXeva*Yi&zH55cQ!!?I4SC$xi0;7=X-Y@iLC3L`p~ zgdTu@)^Z&0=lHffz7HJV2mXKD2O4vp{4sn1o8fe>SF)aUxPBt)lHKXp^7;+VAMU$unGE(FJLD5849g){AQ(JP!?EGKl^)*M6C&)b6JJJ6!Lx z;Rf_8;B0cO84pN5O<6wa_j#<$PwIt+zdhVXYu07klZ=tcXZ|K!cQ)}(+B^ZW%#tgG z$xnsz(sz@miGNoTT7vdVV$q~+Yt~bi?FH8RW9lV0i~iQo?ktwGoHh#>$4Hw@*1dpb zZGivpK$cOq&!a56*sg4^*ZexA5ldbe#kxw|lkFzUtMR{M8IRB7-?J|q-_FOk^YMM) z-?tCQbycZ1kmp?>wgK$+wgcAcO^Bt9QU_mc@cQ#ELG6-w?DP(WEb_X#tZ5Q43-_RDtLlVV21?&8WIO+L=XN?+1W<|V$?i!WqAA!uK% z@bf_0B|tuCPOR38FY}Xr1=XcS`e-$TXEdNzd?C?T@fFQ~Uz>-e|{wt?5B zjp$+(i4|!pq37QkD_2M@KSqDM&y=>QA zpjLcgx3S_Yn*Y95jzig}S`H1{1NeJbF4=FyuYktHL&%FS>n825$8Lw3@RYaWD_7C} zRNtqxm;QvCef$079>y0f9xL;Zb~2Ar_?WzC;_ne1U*@TOE%iC6U+s0t3DWOaugUzR zUeLVMjHG|Ds#$x$w=bu5ChZ({foVSx-?kUO6r{f+^%-ohvGlF}vDiJ#L)+cMa>#s@ z1Ni#+Xq%(i;IhiH2=W=oXCnDvo1^vjeRAbhY}4=4-@m(7wpT2?&NdTk>5HbE%zEY# zx1!AyufL6!ik}E#Ez;KZC2g`mY|vle=PUD)z9s*dpO0)0(O+a<+Mo2Z2(+(0CMRuF zU*p^8I;fSr&PTNTXG=nNKu3^R=kuRrbvwv1{exd{$REep5&i1noU5THZKd7&*jXTb77t^;fKJc|s(XDI?Ii!z z2=dSi?u2H{t6=ouWtL@sioV-JZI)B!Cv}#Aw0{6_5hlKq

        ;xj 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�!QpD; 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 literal 2969864 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 z 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 z­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

        %2&~J3&G*aW_k@h98 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�t@w^!n1+HaNQ{3hgfu(=lj~XW{)aAJukp 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⪼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
        )r%JmmMgq!xNxx260^E)@B=-s7SCFb5V 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 z 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 %Nwo6*9?6#!e2T|h&Pzgs@MQMtdmrsL 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 U2Sr2 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%0D7S0crfIfiBaCbdm~CNXEI=3m z!Uzy(DG|~wV8H+pDg+1^G(eFk6{=LNKMO=D8lhm&s9AEOQKMF=-tY7E{+!R>`$@Ng zdLNH&pS;d_zt6w-d7t-rpMQPuY51nw)0aq}LEG+4z?~DDMX4Q+L)QV_50bvx;sSgY z;PV@N>!-QL7FgG}9w^-+Af|VjyViNiRyMZi>u<)NPTbe1AMg{_0#^JEIz@VupUT+| zHu&A>nKwpNH;32w;rUkE^Jw^B{1C4(@rUm3B(MC$YYMFIZ?242Ep%t08-dPzk8bap z@D=be@H)OFGrsIy1V54zzvdSFcZvAQYZLf!aE*KV32Os89l?}dH&_wuy^1tYU30hF z&o&4?vg*!lv8PD)k}3W;_&m7nO&JOCY4B}uTN~;N@dfbuzkR^F0~P+_(*mEf;631X zDBallukIE0)_kwY_xVplSlXAMnS$ooqTwvGpQqYek$>=?5zf@d$D6@dz~3M|<7H|$ zpY7lsfA>J?rNT}BhwUG(*Rinf)`KtQxxA^#Ah&O`IfhX&! z4SXpD?*YG1d6g&zFT{Rxe%96`%|4=y<*O<}g;EpG~7X0$ne3<`YPiFIt~b zIMpOlY| zZQ|4Vi`efQ4KpBGiP@`z<(rmDU>4xb_T{FL&;Pks0}*aVo`(34|kc#(6n zCkda6h2zw5?-PgM; zxrbX|i7MKre)RG8L8~$jKwDRQp!DN>>sR34DA;bW*9ovTx4Bc)X6DX{YjwGTnvd_U z=<=quuzVgn((`JnroP!#B4zAv-mwM{jM?r@64zBf$e-$Yx&j{_Ux%1kCXPw%y1f@>w|6uy3g|M^oUwnw4-(XK!XFjR z>2x{PH&cts9s}_@2e0vM?hKG^8rEC-{BStiojyH0WNUnN1K5ZE_CSdxa>pyoSEwhQ z9|-^C=hKyC*#p2?5;R3>#w1#I9<`7c~dGc{8Ab# zrr0IEZAZKTLfE8VCTSUN^#m1u(k-MvTuV8f;~aLeCsDB+hKk~{|35^=WEGu zx$n_C3sHC}{I6aQ=0*Lm>;W4D`*6^w6TZzDfA+eiaOdhr)l*us*4GzFF%9*cfU4~E1X*&uI|0Iy8lMIMv$$! zy&cv4URxF6H}!~huTQ~W@>X#d>+fK`KUi2T*ff~NS^b1Hfz5)MP35pQumv#V@5gnHLZScOw<7m%a2vJUSD0f z(FDlyum+za`FPncflYx$^HB3L`X5-d?2Ta4V9~O-g3W?O%iaZc0xVkgey|y^XxT@= z=D?!qPB?yk*){IYIDT(cy-{|zuiV=!&kD8-L!`+bTq2lHuWrvncQL_#4Qv}M%KsAB z7TA^Y-+edp)v9>@JHXn(eE!lieP9K!KacByaE=g;?dTa=FBqdOCXd5b{tR&r1i`aWFqGBPu`G z6j<|4d5P-5!VYfay?J(`r!4X40k@PTILYIA((QOuJb!Co?GbEhsyp^n7gUFJuV8*wyB^!i*bG(xi}u?BSR0t%?xO7h zYfaD&g0&}T#~i;X?UdseO=H&a^W#Y`E`lk4LqU1*t{&6b33qQTvZeB3nm$PeB@!Mj zvfWW{y6ctLcaMvgsTQmk%ui2aQ4?4X*oi<^(rgAd-f~u}Io)V5dszHN;Wzuk>!lwH z<~V8mte@)U`0UhW_;thYEc}lA$a?A7m*p4cZz!Fgtxv+v_B_-NGyXo2F+*iG8*#@x zTK_np{!wnRU?qBbc?f=mC#{zbD*=A0hjFk|V4u$Mho!+SQEtB|ZzoOaJrj2Zu9FvD zvY*w;dwCkRUsO7G34YCu>!rWs`$6s6;T^6KXa1(~r~Xy+S9r~fm-SckXCX(tQ4~5% zI`Ul8!z9qgALXG3y4D|GFMTCg_v{SHWcF~V_jo`%`|@vDj=)I`hfurvB=dmsuy$VNcJwrY*G2e}SvW)( z672JmuTaN_wtiH;ILr0s>SZocT%jVDNo;8s{-@LdvJQ4_uf~3OuCu8)a>PMMx!TMZ z-AmXuVU5ZQVQi?q)(;yYtg>~z)Z)Upl>JtPjq>*tVfBR7stv;Yrr8WSU-Ln-S3WP> zZ)YOQtCh_=snt!dm#kHdAn&AoCeR@}&RghcR`FJFcnj zzS#y-rgs|1P4N?7^)Uj?95kPDZJa(NFwL_sHSN%4=mig>W>!s)MP5li97K^(pP<ZWxe!Ie0$?hV$X}|n|<0RsO-$ZsDJA#T!4Sut?Q*%2j!zQ&WEr4 zqpA&?6A^cSe=EeF>{~CfbtF0-n*IyRX0p&O8~67#7@?yXd(k<8iMT({@rjfy1@=tG zDE7yT*GmoR<2H_4KMQ@2R&KLrbaQ0(J?XZB$+6^W8h$;ut(R8$M&=qaf9?s7+V~`4 zO}DQH=aZuQ-z7lYLlPcYAcw8ctU+@e8as1o@`j?Yu`OFcRstdN?~Y^X$i~VJXd7RT zz8+XFZ8;rs%zGoPGq}6!5MCl}9x@x9P}~Gc?55q4C?~D!kJm)MX}D zH}V8uwlh5)4MipgTkvZeUN6;&pXo*$i?HdA=CIB5-d%V0%gMI9#@qx1(&n!>&p z_VG~X=st|>FQnVh)|X}X){ZfL99{SBRHcrh{VTd|JmPB`XhhcqUBlbguXvsM2z0&B zjlx51vQv6IFX_}7u%JP0=M&h^rS`h6&O zVH=t3m>k;~^%tb;M{6VLq(%76POg{U8SqQUPn6%(uFM~#_HkAn;gx$6`^S#0m&P2g zvbWEWAI+r^oyU`{r0rpQ+EvCb_%z(VURn$6yl@Oi%zI=%W=AelM)8}0-|2Vb{|)+T z$d5-6CiOPuQS!xDYDa4htM8Xv!Tu3I1=%$TvOe`1xE_6dNcO? z4&epDn+dP@mG$5rpEA3R{2adeAhU+d$I7e8yCZ)X9+%*uF-||VF8B9&()ep z%#XuXVETIu;`GDE6A*Qyepw`ql@H(>M-}-P$qwdSU!OVcfVG`0%TQ|KG{q>=BZ||Gc zlfTzSSI>Ix0GyS4d;1x@`&B$VdWVB}jlgRfULSb`e}r8awy)mYJe2arVe9rQ}2!anMr#3MVs%RRO1%`@lV*ZA4>(yL(S?cHHs;p|3? zx_he|$g5}j@7Jy!$@m482bw!YW4ho4sDk}@>VTWx_wipXom5)is62u{h`0||Tz>uh zs|Q;E^Ur-o=S2yDXb$!~d$9LnEqGm3=t!e4gzIB675t_Nq$qxEF{9){clc7MEn zkVj}wLEHbib?+`ED<8+6^cDsG-KS*(x=07*(^#@b+*#s2M)p=HbD`}P_7Qsr{(b3% zF+XDqELt(#Mn1ppy*mNFsLdkB3@S+LonDK$JBo&&>0ewg4Fq`z$FopYoxa?0f5!g2 z%DxD%BfqmAoYy;?xr_34y0X&`b^9V^?-UApz$lnooEyL?> zz9TxA+q|5$Y37_e!DQcF%}RC~Avptm<*D`3&&TOWh<8XiQm8#ol7S-e8i@BP#iPxl zvSxkK#%~>tP$oP5Ozz8by^_koDR(ZCLi1u#DBZTVv)=}O*NI=5{3&;yT|7X%IpW=; zc%iJo5kE3r(n*OuQ{V}V*EeRM+lu7Zt^Gph-e6z{m9F6+vq2SW0xkJmhIZh0*Gnrw zn$daYur_SP=E#z%stNW_d~v<}{avx%=ZU*Z3d8!7$#ST}%{Fs- zcWGDly7W1R&9Muxn1J8$KPvNy(LbZ_njhpwf;>Glxq`Ld&U~MPN5vnnm-^v%CHouI zmX*JRJVU!*wAPkvd8usIaao$%YfF{8g?L@W`|J2Q>#*FR9x;E)4JtQvkr*bd-2Lzy zhhOn)&i=4^OtTT(*xj9(PgSw|{C#$bu^a!E^1MnK(@X1-b85DZf!G|*jRxXp&S8ln zdoB0p4+QxB{9V3;!mE~lyO{v5!Eb_Z|GkO=pIzYnf4W}!w(vy%GF@){OWN_bXhIMq zIZ!Uhm3U0S;}Sfc5!ivmaO--;!|Xu0&d>)*9+X#h-g)Kk&(QUJ>nCgtY#Yq>M>*^g zSjE@ldl+ioN%{%eMzG3AybkDF!E#{Ze0w@8Y7bF(M2015YB6dLdAObH^FBTMA6~8S zvO7)^^=5i0DD!*L%FKhA2dn#ET-~jFEy1hnJnJvY7rdgjU}(dbFH@DsX2g^s+wH}w zpTu5s( z?hIKSc@~(or{7FS54j2CfFIf7h|2r0|C|5e9O-ObLEcm*`7LtC*q{98>!r^KAb;We z9Xdzt8t{M&3iplvSDmy$cLKVt9Djs$on}*X;ako8LuzI3w|%M;@M{0odT?Jw`dfgS zmQeDf`lG#i$ig{z6fUfndgJqrg#Bu|M0>*COLod<%S<_y48rKF^zcbKo zeP_M&!FYMXd2u+#@TPUPNhVvlsy$@3{TjU5SJq2i0k3ep3j2lCjRu(?-Id0Q@~GW+ z-%ovfmo=X_uSB~CeeBz*%})KOKaIm{=&!K}`SxTF-E4kox`P{X_vKj=_eNjSzbB!Y zgXS5c!8fkgkffK-fuBynSHYK4@JrxZ3A_$IwNvQ3zj6LJ>#v!6WXz~NTL>E>>`(dj zWP$O@y<>r{^3L?JDyd75(TKj?XF7NY+M3n%(u`>NNiUCs&43N6F8K*N4tDWx-M$0< zR=RUwxwTNQ#qL0p>hTPx&OBzY8^p|4)&%V;v~$q@zS8i@!{iP9lKH%i?j81rmrl*Q z(4XtyUpigTZbAEC>8OmO#64b&k4KYWClc5Ruz9fPSauR@F@c>0JCmTj0JfCCw!khV zXmjsoyi8zqVA~1WX0VFQc%BPjRbbKl^?=nSutBg!upgrA`l$}az*-X66j)mVn+5BL zV6tfz!Fs^1>mLFEhIQp@!hhHJ(5)*0kqMP+U+KFIiQxYk}!G|0;hOe*b{3 z;ahSY-D@Z(k8k+1AnQa8tB`MR-^amxr|sUd<$rN7neBt;33%Qt!1QL=SNu0~@iw!+ zE41G=!BqLCp*;ib-)kQQy(l{Owz*@97BV zo~HlgME_EnSs>lea-8=5SN5Zb54s2Ej4hOn@n;ud1;X|sCSDq*V-xz?>BXJasSf3L zR^$wQDO>)6b-Ht;U-R$bUYYbdv-EYhN9KL0in+t)5_Rw4eEG$7@6DrxJjkQ!ga8K$ z-&0PW`j+E8Y&e?9&B z3P^8==vUi4&Gn!GFK^xc0=&Ba!^t$epfgi677`(w=OSU}3H!K9Co1oHAXb8neWj_7 zE1oBpE$`L&3D&LL*cY8cvu5o4T6Slx%z?nXKa{`0#sp@e{?y;o|L~jqUR-}12b%_y zj?hp4p94D%X6Gjyb_(o7f_4dPK0&(*HV3Bm(NFv?g3W?y$xJ`hN!71-{GRN_iNFqQ z(Y>Tl}1<>+Ipi zikEOeaw4Dvj*}%Y;Q^`ue=hPs{6+M)>{I zcJ8wKa?g`?Wqza7;Ocr(cZLRgEV|=cENq1I{2EmspuEt%mMr^s7c}zO2;N(@;q3!u zUt~rGV`u*PHuSxS|KfL0ye{Ic5bu=e&CX=G3MGNnfmfP_fJpO)5#o(La-;M!DRLOr zjT*C@@?@EWS#@b(hg+|}j}Sl_(&%D9Aeru$L>v@_gzw zGuY$AdzRvb=ZbIC}`y&2Med&|)KX5tj!kx7*7n2YclftUEoj$!(0d)m||YJZjSg0Sa$ zVRlzQAK%U3OW==6k!jN(NUGc0s+-y}?_$OL9(~-($B;gFL#MS|f68ZDfd3@?#~-~B z+?DLs6ztw_^5?p-XLr&xG(`MOLzQI-9z}TAdD2k#hyF>k8%?&f(?#p~t>v=SZa#_n z57HkVv*Fz_XtIE89nD&PbY0=wqCVvECvPEAV&zi|8eo>SK!|{uobXx2uNu! zyoag>Z>GFMd)1tvy&ku5`FAS&5|wOMDKnHsDp~!g4_>F?mGo1LfG;QT7UEBWZ-MVo z{$u_77Nnm7nfZkUiC*K=bkJ#Ns(xsr^k&f{%AC>i5f~li=BORpK-7!S^+0Fqsivz@ znHiS$#hFpIo;dZthJGWC^sJ}PaayA6wVoubjquZie>w<{>ifOK-IrIq0pj)ka5Nq} z6j`5>&e`u)>@=oN5^sxme=C0EJ9^g7mv2@jV&bfgZR#6mp`ESUcqn)F%K`rnsokEL zl-i;8!;DXl-|*&m)(+IUop+C}$9aby)DEKQfaW+fKg+k*c4;(VOr(99F=$Re6Sg;d zSr2EK4u|RJm{*i$0h&`grsFZ!RrJ1$sIRO-a~2xkK2d%zf}OuYKFuGYeb4mOki_hx%xQ2Q(!d-YzeGBfvtiyC9sQNyTPKiebvX1 zmju=T)||k0gNdI{EBWjIYXtM{%cI(NZ}Q1x)#>hJKNy3i0L|-FK`}j(xe+49Df2)C zLalTbpqYf`u5ubT(}5h~N-TQXIbzS1(bJDL6BbAdmWR|jbCAU1=2VJ-6C|ql$IVoGdJSLeN{L3u$%wQAzwcl zwyET`9;^b)pA%|KYyrDOTB=uXOwZxb$w3%rymvc=&^I-LfXCmLz&)h>)Z{F1L3FglYq(PNcAWug#cD_Ihc8s;b+{EmL z5#pZxv5k_-=E*&Vll7HBYZTwMnIYZ^@$QYsV}6AJ=2-5_zbyEcZdARWhpwq{qx2!s znH>?N6hwhW|-#}O9AF;g+W)mOOQ3Z_l*0kA71LVE%+J5Rr z=@oo?a)SFwE4&m=4qM6B7;y?u+lcw}rog%q*eqCY0$T(dNMPr{h7;Hd*jNJF2AfD= zmA{VtlECW0P9(4vu=xbm4z`%Udcn>lupzLe1U3$KA%PtSTT5VbVA~1o6j;U6L%T+G zx&&60z*fQP64*ts#spS1kN!_!4Pb2vY&Td(0_yD-xF9P*kS@}1rxt0Z5P-=0_z8x zPhcZp%3qXr0&F&c&48UqU<+U>ZieRe0C~d`WFrFr`TCj-()&!>Z zh|;!!je|vf^4*S~Z)+?509Z1AqhQKkly(wK<&Dyw087^2Nifx4l=duGvVAXrCEIrk zOzj(`&HX0&IFW80*m_70+H*Cc2BOeDl2j=@z zWiK8FTLyco2w7=3%$>!Rd=~h(K$zOU#J9$>`!o-5dpXhVZv919HnHtMzUagrE9v=d zc=R@JlzM{k5I;)U8%^e$?P6bVqkKf=dVas111l`hpMPqj^sQj6VMks)IvByySt_s0 zAE(YpZB0#WFh@Gu-Og_3Z;f-Oz-p+c*YF*&>&#c_KUUA&UrSHU1oGNp8@gWTYz_da z{PUHc#$N;WMaL_;*U}#|ajVBx>^Nz_8G#sN-elErFZ@>F=dY99pW(uevN|@KL-X-t zsntU1#cLK`YtP&$JuTi|I4s<|ySRwl9SP#Kk;;ofSG>01b>YU1(yxk_jq#Vw*T+(M zQOX|3+djj1(SyHS_QLf$*$b|WoB{l&Tq-x5m@ja9-M?n*SI6Pod-I0(&MdC8)Rt^Kd?g@l7&m8vGAe|Z+}1g!qe;7Pb2fSohnbfI!-cw_{EJ< z;i2XClJZ;b**uij974Zc_jY&PSg~ug=3yUr&Y4Wb6P{4@u*xawyPGhz)pGwvX&}em zz2{$(Nv$9Ab05^%Fnd4cN5TqSI^km%Bf!a?KE@P{5DLxt-i+iIXOmR_`V=tls9bKk=~Ca@jd=rMm^s z4^pmo@|~Nra^<4s(s(-iTde2(`bvqY!H*(VoC06T7K1Y@!j`};fIZs96t)W1dnfCG z4wL*`1RDVR6EVGAV{Eo}7w)Amv%+;a!>U!KH{LdUo~jt!DE*w|g8NYXjX^fZWLtLG zJd8m`SLNbjJDfY3oy=q_VWm?zp08>E9)sk`_Lkdt{+eJsA1AE%GW__;2laVO^Tx?6 ztd8b5n{oImU7i;@*4eWby*7{eIAmwwv3$3iAKTp1{E3?7%`!P;#S-sENB-r$BULuW zMQ9qyllf~cPlJ}HX2NP0vHylPyt5tH7;cX4jjJ5ubAzd!h0!?BPW;}N<1bbjLVX?X zJGFVE$pp7YWFMQ}cdlWVqbltyU;P?vG$zl$xBC?v-g!&-9%HjWY~HWYPJ0c>S+MlL zXu^H%;$dweyXT&b((lC64t*BZ z&n#_fft7@mp@ethbXX!KGPbeELO2QaR`U|Ar_XfA#g$z486&ViK+_eS@z@}j$AZU8GE!IciBVL!_ zH3hFjDhpBF_#gJ$P{uebkZstNF0K{*;&+Pq+!%hnfS1h!!oCvc^+dIE`P*H4@>p}k zq~fEaH2l>c=Sk!A8#hXS5u_2?U5WigH!yG6;RyZSvhIjTP)i)WHUTXjqJSY$>Z1W+~m?Vvww``QMx|i14gR$T~ z-Dwxyx8>|!^vzc@+=z9EeFd+uN=w?8s3e@fDZO8lssWO?M0yKv-zZfE^=Wf~MEiHj zhU!Ao-eFg%zA%j=;xTADc*+{CopjDWobl!ob8gbfo%>m{8(jUN52NS1xSvpOKB@hq z9S>_kW7hl^nScM+M&yhZ_kuA_Ym7fj*fwQp;#)sq7r<&Jod4coTVO+A*C`S|#mjvO ze*)Ok4e_u#u#==U=df1(-wd`uyblPov6>c)`k|3rdwDoI9#Pq%UB+gr{UuKa<^G~I zQ9Yhi6I7_s<`}<*L;M09Sz6J3%Th{CvR9i;3Wn$^zOx~-z&fNDk zc^2s1H`a;ryaJCRJfi-dZLo`AdtEtXYgGOo>tXNODE+h2O0+G~sC~Bu9UhPAQLHiE z!-zpLsFiLn{8r&->m2+oYzVA|e$daie!|AVy57A}dVwJxb{uRP%=WpscynO8p?$K8 zr#znm>jwKxm4i8p+kb`h9nD#ukwYDycW z`;}2jcyIuK0{o=}3czL4nFn2ZFM>pSSdBxV^x*k)` z-X|5H@+}jm5t;rD-?^t_W415aOxXPf53iQ z@_#tTA12E?>NN8=d@p@2U~?w~qLOYlqB(<9)!|B(41_4;knjQIT$c8aB^Gp652O|FCIuu^hyz&CzljyvyM#XRZu z|H?*bjbzmZQ9C}A)y$v9jR$WIz6NdW^hWevoVRHZ)fk%lBg#YA)5O=t*8v+}HEvI_ z7%@ZG<5a(2{%JREqg{?_j?TFK-C*3_pB%UQ;5+`l@^M?TIZ9Y#)ekP4l8ZC&Y9$?i zFJLp+GFT7TC;3)gMc3IgEZJ+6#OSqq(VB=-c@}>o@qbJ4ZLDRkt#gPiI;i3nn{kvX z@4JaR`2MI~4{iO#KKgb>O;lD&Lo>)L@8j^A|A5=q#NX;`$H6XwElYWj_vk)2j9l*w z%oh`S{y_eg1Y&wnZMX`*4(i%`J;pDgSGAc{S|)0@F>Z*q;g9hrJ@U$FRgOMrYd*M9 zx+TyVcDHf*ISlOi9ejXR4z=k#{2D&IQTidxrL9d(4$1Z5T=r*CIIdC2y3JWGDE*Ia zl$hpQ{L75L2be|dG+}DbXP?E?uUunDZVLZD_VmZyejMg3F*&={&k=Wg5O;{U3&i~! zS0AbE%IS*Ofw)6?yGG>N$dJy&c`ngfKEBX#mHFwr?UDHMili?nUz6}EAZtIU zy(C`C@H$dmEPYHm8d-_9{q^yCwdJQsUo&!jpz$33y#>Z1CwIp(+#fTU<=W!l>`H(3 zBaAAs4zw@dPtyI+wtbfM%9MPR*H89O)5j)lFix?=;IFctA&rhl6-%d;#)H~nJNd*8 zI%F_v8yCH9@+yC)xY!>S-rCtULQ! zswg=@zQ)eIoP)>d&ux_c1%9fB;QU&HPOu^bOqV!4HtTN^?cnsQ^i=MvjDNqiQF?KZ zHu}8m&W+3&8rbt+dcBELIBe6?Zsfp`u_rG*)dRoj&u@75h~Frk5bCMSa-gQP>}KnI zM~HusI{$a|p_}8f8p??Cdvs?e)9O6kZpgkRU7q&Y8&^X-uGFx&QTj{L&22o@*-jM3 z`CQ6$L4Rg5bu4ps@G1D6np&}OIQL2TB|LbNui>xZ4}I+at$eAEtdVYeZL#!T*TzwO z5Z1BTY(3a)=Tpn+^wjPp_DlTsMoE74q;5&@lD&C0y$#x}zm3DI>v8}0Z9j++e*6op z1)$S%S2z8@ZNCV=zq`-1{U7{fS=+0hT_8@&7rlLmxla%$p_j{Sr~d5g)9daUv(=lQ z$UMPM^RDtVdq{KTPw{{JQ1O3!jlT8I&{y@v|I;;k)nNmUoT6WcGe7YI*Woby?mgz( ztq*>QKHEr|jbBHfQP!X0+p~?)XLd(NxGz9`tc!Rjh-dfZJ?J>JgFgVR*blF1cx^wi z_`kZx;1X#JKdJb?y2qgZJpKF0#UFTIKsR+#-+;aOW5v>ca`#qlu`$~A>2ptP+B?(d z;c_wB*jMol`o~j?=9j2=b;?{rGaz;)$4r|8x>nFzVr&UKDxNLU4ZpFc{owOD%{^w| zb^7VW(&uD%*_@1rdbLluCA%NJP}f;q!#Xvl?~A=LmEqmWCE8_Z&;0I2X@zg;nKa*^ zuHlN6i*ZbStoF~D-_gget@LQ`*ZJA#{uZ-=Y^>;HA8__vSEY^?Hog~NF(7__$T}|V zro2RLn{e%fsbcmXS}SSWbl9GdIe1+BrIpenU?D$N)W4+io+Z5J8O74yE8NOUT{+*p z^PRP1KAk8pIaGN^p2Gb19D133Ou2VGB`Q}~{L!@+E3?M56S{7r+>mcKy?h3KH<4HA zj$AMN5PZN@pv zJzfn22HQT}>n|Aykp2151adGh4`VbArhNiAn7<_+MP=+`0)L{VSh{y7JHh10?r&zV z$S#{gq*SWSe>IlP!*A(X#nM_}!-Rf^vN{{q9ZplbMyrQ!*U8(x)x(`>E!GF$90p+J z(nhK1<~NtIjqL4$qq{iIdpBHr`G4kSO`Y#gAE)=2><++x`s?A@xWhV_h$YVbGd6!Y zLipOVi^03#_sK6Eeanh=r|qtx&ZGACKCMsV>JFOjIAvLa*AQvhdb_P5nmucB9NHI7 zj=MAeo+`%7xzi2ZgLzy>t(|3)VHQI0zNECB>3|{fHTX@|L%zX&NX`8%U*XzjnVrq; zC|`0*n>1X?~2==twkgJ~1HI$j4C9rVM2 z$14*z2SLo&YpLGz@L79Xe7}_Bya--F|M^nN`HrwoOg6IDkVMku!L7vKbPAgB7P(?O z6j=zy(yj}f*L!6#I3J&Whh6qZgggrS@ERCa2a$l%tu^{eKwy~+h`ra23`VLQ$XFn{! zqwh6Edru|~Otd{f`%yxr@6aQi{LF2JjT`g^n+cQ32g`ZL?9J=o3p zn!ba7xUE?Fk)346bh)c{wBp~w3@G6=+iUMQkHBkgPqEZX9`$2dR51az4JKVt!4cTQ znb)Et_j17Ad%J#)@b+tpr5?3AdyS*ML%DC+oEp0R_T{s;vICDjU?wxG& z{k`M7Vfpt)s5Z)(VqOR z*0H?5vqzBGsykR&e2xFWTFN<>7I<8M-#EH-kN8=A_-B&k59LvHn=r9D z5ILJ)^EZqy(1iCG_%zsTbvT4mXxgEfi_!S|R7At(T4?r1&gM&=N1-_h&2E=B_U#1c zXoXD^exC3H3b!_br@MP)Fz6l~(Q7U2Ow1B=Md+@N)6q!}=d|pHYGugoiP35PRJn@1 zbZ@cr=Z-EqN8>6Mw+|rmJ8_E>Ss;Epv~$qDI7kz@bL*otG?Lz3-O8=12pCrgd6J|w z$Dmt+?osN*l+no%d3F0&bo%Jy(lOD6xz2no(HEhe9V^D}7EvEq0zU;F_5o`Pc)rSC z#k4+fk$9`b`vNo(pN{qxN&9#bVV4uTZ@XN9ywjHA-TJqz&%d!)`h+^5wNL2dW)Rt> zZEWEK00;Bg9OY=BUcBN5I%XU`=iXE--R|;nnDbl>nd`lSvS`0L@LA&2y}9V^VM31m z^I#f7P7_v7Sc}Vt8{v( z9i*dr>xZTdnmNpH8c{8c65ha|S+-6d!&~{5u798mvcvwJ-T` zI`ZW~^X|3vwKd{y6Zdz6xYl2TyR6>m*^izW>~J?y^8@%x4>MnIJfb$J*+d*@($qd? z64~8IBtzD`WixLcGYYR+c#Q_Um`_Fbl48_i0XNZ+$*4!kGeq$&1+8@98F($j3$qI5 z)it*x7s4-qZ-KKcWjN<6OkTFZFM{_8kI9(3oPr*BFwff=-c>Zlt7)D6Do2XmIaSh7 zA5$9?z?;DjCwa9*d3pCZ3=wyVxbITjus_<^L~$WdS$zeW>5Kg7?SF!P3;Mf6&(HK9 zSl8Q-eW(ATwurTfn;gV0O=1i7omP`!qe#Z8HrQWuG|s;P>=f7!%3tj<1h1vHyS~rv zAf^0%h>=FDa>KNRno@)B06(bB06 zU#;aX@%FshXqhxl9((9xm1wH|5&d$7GzDmy?<)rP$b~jjR2C?IWb7S*W)vE`A81GU z(c|kLQ5SiegXRo0bWz6^{p&=rRK>S`vUU2vy1{--045?rjhhjNT9^0U;uzumgg+$= zM`e5OF-m@C2p=Zg_Pe4l_0EC#o&=u&5A8yR4&9_jxbkwI@M*$TH2s9FfgMj^m%yeX znE2KF6aHK<*)ComuzS|X`b$jv>ZVkMwG!_n@qBxt%pNqquan{K%zeHaGU~t=pK3T1%B{|9vdTW!^fgNpxbEMaDF>OcwvWd^~qC&_Y;1f z%Xf6|EoSd4qxQ5EwaU5$%_(R;;b>Cr<<}+VFf31*oT4UtIh9Ur`#19c@nUcfps;SR zdN7SM`l%lcfYpKd`7E0^F=HmP32%YtTRH*l5VST{A|GY><<4d9rjJdzBv;GOorLbW z%7n=knRjx9mw>TI!en-9AXmzN4Vw^8L02t0e!?2T7Qv!rY6TPjr^n|Vj1$40*b}=l z48*c2J2w}hx@HqF0 zhpy{YceNLpPwq&=1qo)~QJ+q4Lt^LayP#Wv?)d_uV^Bj+brX)|+x&5eV9CW8@oPT$ z{rQm=p&fuWOv`LlY@c1>*+BefxaTWYi91bP^NCu%{JT?mj*^aoZb3q1seAV+)cyzU zP5fd0PU<9cRP{uA)*id#w*#7OXhOfSpT>&=?k%tzCSKLA7lZqiqwj_qZ}wV*vtaK{ zkXdL3q3L${DeFJ@9T>T_Z9eFs_9O_#2DRdMS+D=YYv_M~m-Hj#)o3U)jZZxZYT*b|JKM|%Qn9xQq%*h#R(M7*FCMQk8zW2zm2aLy9mKo0taX!@b4ze1Yh(6mCcNA(cz zM?pHW0Q~-^bk0K4a|JYNmrKwLL-Piu!%tYvCF%z(T4#-5YhbGu%Zt|vcIH#X;5@3v zmM*Xru!A}Nphrc|{f0hLe;;@DJL&7-2lBFOrs1{v>0;@d(tVr`&2};ib_E^|F?U4MP@)Kh`r_9ni@&n-I z*CXM#n(!~W5PSZeCcXMEut!3Z9jkNOtH+w(v0P_x&cogqXQ0SrKcO?NX_IEi)rK|y zjXnJ3V(Fgv+&o-Qu=$9!q4vSmrB4exZGU|qyjuRKSo)Omh88N5hmaTRv6<{@`aVLN zW2&t4@S9rVylp&hVVi}113QCxXs67<;Y#%KS4Zvasep_qB(pIq7Al&bk z=ucMO=3Hw2SbVxgU9H?3z>2f_POc(bG5U|i;QU|{SRL4Lus`HGrh|rc<4!oAl)cbS z+}5qoM;IN`D4Vn4_eGak%y&EnT|abxT%N|SK<2&SfybhS@Hyh<{wcKgqiM*+dz@ht zjp$7m821a%T!3Z@nnm%aZ=~B#>W24~n@{jix(&Os6;=OSEd83}kxcjX(R7i7M&k8A zGXag-FjjXhT-@MS9YJHnTO!`=GCZvBGL_hApDp`RuGyh^mF8J^ZU1Mn^isYPY4-SO zD&7|H+P-)Bcq(^YCR=fYcrPjA7xnAkjUQ^zkWp)L$x=KA=9HRwtp(u)W7mmt@oL6B~_eeN}RdTB#T+xxGe~C#1x``#ZAk z*G$~1Y_{SAac|<=%YP(pAY2Oc#+)|dFA<-k?e=TqzujQxz-)b!4cgKBIc;8Qdl+78 z6P94&=pI&YfPM=4OVAIAqs{%jHz$~q*=23!{~}ID#b#vh07`|i@m4HYmH9m3gM?RT z3^Mxxy`gs%`gQ)$2_W(VobM7(z54Lyu_VY}G4 z5U%4nf7gjj_DK3TV|QywzDD6UP`O!pz492!ik)SpM`m|3-i94|znyQJhi2j7n}Ki0 z%>`}FMf)GV3ON{yPX)~nz6#wkbdM*gs2~3l_zJl7nS^Y>Dszx5L^i@y^h4glfuZ_G zY?huV9Us<1I0i+>j6!xsW<$AnUXy=QYG3ZKePPE*V>!PWyt`B8TZCb7-)BLu^`#_% zZZD9<6?pYkZI-t9PS&&D>~;O`P@cQF-S-|YLUNzpI&0(A*^0_XZbsgGrZd<%1V_Zw z32`#}p_{mE#P#RvQJrf(GwO%E%$lyyZb1*wjr|$}5maxwqP)+*YZzYJLEf!Dnv7)F zrS3A>8Ou9ItWhb4G@0vwZUr9A)tjZG;$iab@8^*Z(p#&*X6M_R%rb8ZaC=9@^#P4@ z%?~3#@Cx<1^%ZT{*aMLl(}p=m1dZ}A0NosP8OeHR2Zenn+MeB+Po#UP)b0#z1=m0Ovp*!cEH?-|`KztWRx~|&)9zaFWPC@v z<67MVKbxB24zmIK;Z^^b&C*kY{$jjvn3mm5!5Q>S_Men7WF(=_C0=F|Ex_;6V>e5$ z2*w8%7NU2!gmvlJlGryZV{iQMrg!Fxw5R#k4Aua4bG(kN z?Cirw|a5wIn;9|y`B&0If0b=Z_i`MrQiqiY(`7bKDIx)hkW%v0{!#&&C=)jj_AvT z?E7;Z)QJe z4%xs#ikTnT^xoG))Vj5Y4c$^hSQ}vrg!z6!jceUt^I&EJvDEe2>elPE^G#{sCE&sh z%6grTczljPQ}=|;!1pKK(_pn=QQq@lHDKnuh4)x>YgcvQ#(=lhQpEduLpgo((mG$xZTL#O4`SquK6v0^3Pt8Z=BdPBMk9x401dkT5DzLPCbP?8& z;L#6OAK{_=j)2vHnLWba!Y05P6SOl4ek#L)E&u9tRum<6|5)0w+pO0!dK<$2kQd+A-?sq@`Lq8;;CE{j$c~2W(gZ4ezaVR zU?X6@zg&FJfek14u7C}JrSZK)*m#0(&7h0%tuF8~qtv?RS_y`CE%?OF9w|?`M`tUh zNnhXk>Hl?L$HDylh6S)@uqm*Ud@Fso-iDW*d!X2whf2Q7dz}w!(3{ulq_F#BY=CSS z9#ucOX=jeSGLSd-enVIWThsZAa;HQ`{tljHKEQzXO8&oxl^@MH&%m?wNt>lEHx@d1 zB42?#aa>L}pvT-ywim?8{}}prLtG~6z}mrlnb=J_&0qzvukam_Tbq9&e%>94^YKJP zHvru-bZ>Ta(RIqqO`henhqiwnd6%mTC51Wn;1qnFwJ! z*?S0pB*n&*zi{laj7QCzrFX<_Hp^4!D-Lb8ccc6j5)s)@BAR(2HwV@T7ER-n;}_NCOOD?UD^Y%mzv}o!v5R24;TNT? z;$pFuL>diX&0x{;?gnd3U>#uXV9`451M5!28wTqG^UEQ*Jp$GXW@j->Zo@sMl3NbG zg`Pqgxe>V)pEJ-eN79kbSq57LdpqBrt`2$X9#^N7V>+jWs5L)~{QmT&cPDaLUb^*y zNSGI9rE1@HXzHG|8QZ5OUVY##;0O7R`yO;*1I+Q8MAz|@?B<|IF=kxAuQL z_TP@_coCED%eF%^4UOMN#HSZ*_6qq-LbH(Ia{}yCj8C)-UVb9aU0Pk8hvsaICR$hJ zWl(-AeV`Y0UvICT?vZy@ZRe8OpsDy7=Rd`x!^R5}9NCY(g!K^i zi{eKZ+Zyz&vh|k{!lnr`edP8li)Ir1L<)_<<_KHeA?yrcP0uY)OLQxQ4ebziiLiwo z!s?#Dc#slS1JB)rwYF}?_Lp{m?T%p53w>ZMV9|04A93_ad=k8nh_5otf_H!?>r!E- z37gy@>;hp+JA_>%toCQ)d4rwp%c-qLpAq&PXO~3xTv?yjRV`VWlc?gr^4f3vV7j5L z|G7=?+@ke4caLbpD}4{CjY*@#YbRcGESv-@B(M`;Z3*loSZe}13${CfT>xuIU|V3# zU{?2(SM8a5qQ_6m)cUE7>cGTL-~O6`zFWYRpCsM^uJYI%6`9tadd2An?@GZ(!Fv+8 z@-hY92kz%Z*eqCY0$X(S(Rk;;x)bqMz?6P8-ZofA1XDgMf3!URO1l9(O0T%P!9*V| ztKxQnC)4jw&@0}EqmSlk0!;N6#b&@H4?d=}7r<2i$+XX=&|gTG4A7cDA`MOu~{T5dM(g)Ks)mDo8DS}m|igVcxf~})-psh22IT`l+l>2BfIa; zC=GUi=1dFF%tP}Wm&YB}m%if7b%V)CN7)r4*lwC*Ry-O1?(;TFpG~n*5_h8L#)BuN zPrk!Qfo2$*XDCnD5IX-+!{vpe$9algzH_2dARJg0_`GTWY!J-PZ$0rw!3Myd zrCdmpLRiBH5&k}y0=&ireUT$9leWz^ix8$Y>O~t;=(ys?J zrW1lb`nGs~0}oceO+Pd@(jL&i+tEk$lkfjY+sEBN{6T2XL;I_uwelWdiR>N0Id{dG zBu@AKo#Uu}7l?C?IKE#_a&iXjYy<-`U2y^YH29wd{RFKU-H+9&6~`anRXv^Qu0DYW zZ<>p0r*xB5tml}2Mf$P%$H`yE=J$2(eGuANXdi69avkX$C+;$FU#^1i43tjoYk^&1 z3xqWvOb;fsX7N%Shua9Eyk!s-u|r!Be}!iEV;qgy2G{0?;I32W*~r`sZIlCZb> zdC|m#y4Ae6>L=+R*KU?}NnS!7xSu}%nLwd24#|h#O59cAF6%y|gg>!t+&Hl-`veUf zbj-x;mMJTE`6?$lqN@0Jf^_guTtc<%hfhv zqdSDvJQe+t64n6EX2Kd?xO4fGZZ~nph+{rV$vQ3K_uV1FR(1%RAgsMNJ-@SrP45tP zny_L@nEK@f!U{K+^CZaR;S%9fgeT=e<*0ia^TS)x`_OK}MhQ#PPu+x_+aYX-u!dVV zOK(vI7|-<>vd`X5}ZW=0)XnN`uPuZ$=39%<3_-I{ zPIK9GPC#?6oaVCWoQGx&n)cN4cy_ogEkyEG`BT)_9c6Xk((!HgcpbDs(*Vttq%#an z+ZCoW3r%l1&1LIt8JdwRq^Wua`rr!7Q-Egv3TZ~5ISb96)b{cGlTp98WONRiRcH>z zXJ5AWA!svT;m&jq>sp^irNQ6$39-1a@?MvC`_u%%G-Q{;I zeV?E0E0_GN!Eg5v_L|B@+HPIN_L9n-c@tJm=n(0&{l@h_&3OIt&C+i}5}~pAl6)x4 zUcwoYS!~|?x(B+!S8SFv#^|TE8w48xTQ|hBYsSF3UslyIXDYG3%)Fz^4*`Yw}!&~aJIhfP09QHv=AfTFzV8CQhE0V4#D>Xe81%KSSDY#H=gI4TW_c? zxVMoLejKe@YupT$_uJrg2ELWA+AJM+d|iIYfb)l7cfZ-PI~;de6JN5Cdp7L_eW;K8 zJ;J&tkP2YXi!4Q(z1#}T5oqk~RHCGpMbDpoy4+l*vnbs$cy!;h)0&pI=90WOZ~>Y= zXm+ctX0yDA4tAa0eIaa#@G-&D|v9hW*91 zm&VpUwlun%4<@UkGugT4;%_0|)K0ud%6Yd!vwJi=3&48& zekyujejoomWYul;-A}wR;yqY>PY~}o@%;Ko)^{&?nRcrC;0 z4;-&(KCREPQI36jACG6y)5TNJ4!t2w7bC}R+LByLz{ZjL@^dIP+B0B3|ee@h}zSvCIX~NR(o2(;F7vW1g&<+x| zx&y8H?F8Z5JA_L&&Jms)3(F|%6j((BYXMsVy9A$?^6kkygRu20*%Y2n{y=`r|1_H- z_x~~8!za3?)&zMycme#b%kuKpOFM{rB*CK=x_+dVPXm($AS<>fqaFA_Ido+5a~8#lfCd@jR7bzApy=qKVnN@eG#vNVJBgGKoY zZwDU)PnNL{d^iOk0UwRv{{3r{;N#%3X}q>WX07eGOU`RLyU*ez@urFQO2so>NL~16 z8ee2ly+M^=$;2x0mx*s@5@Y4YICo0_Kt8;;Q#5sL*xzq*`;c~|3GXNqO&2u%&|FD6 zuJ5?U!|}tHRd;k&cfTP`$3d<( zZ~b}X9e&ZZDb+zY_zd_#zP&c|ZOQaKU+Viupjm`Q`VeX2X;Dvt$>{Z^VhqS$8EXrDp|d^f$n4=vco)_hVIzbcQT}Z_U{2%w z+l*rVU0&XOT)cy5ulQaqwZS~JHE-Q4y;fzg@@d1~LAPNKH@kKd+JEJx^Tw1ptNpNB-!%Q>>q6OC znm15J@35vPao)Fw+eSd|Q~hfdUK8*N>)eYM07<)Q4k4U*^OZL<(yr$vx9=_E^(REj@GqZj7$#qvPT1ua+Kzj+= zf@rNC{ry;jel40@R$ha?f7@p1mq%A5@z3SK{F4H+e=tOZtM|o>CdWm`Y&O?M)pWpzr)6kl|qIDE?KgV~Rup(ifPvINU zKT~$71HPUg!n12mK|B0Q4_zPH{1=*2(D=F_od4b))RSbZZXfH*#Cw9%`DJr=`2oJ{ zX+<=Xr{mkXrckGg81nsmHojb7hY%XH{kWpW}iC5s?6micHcam?_bL^~) zGl}R79eI2Zu4C9x?RN~x<9T@0y)(WCWeuzrOlw>E75H}vtOjgGKr$_vD~Kj(9k^Ut zh5gLeB56rpd%y-GX^Fk`#1MEt_>*_4Q|+!+APYK$)GQ}goLP23`J zZJ%Q}ruuuDAqc(H2jQ>09)YI!y`is3X-N8W0$r#;@cS-MAqB;#RpzF)StuRHTSZ!BjfhHV?n_YdXow!2ywp>U!H za6c?Z;6M8Q&C-V+694SAENr!+Z%81@$>#d4PX6lVgWfSNyK|Me7l}K|cZwdTlZ4CoJbnAhNEfv;`;9kX&wg;T z^bex9H$u^U(fKX;Jbbn85&VR2c?HKaI`vHWSJ`YCd9m8$AD+1nIlt$%vbpRHJ{w!O z;pbjk;`T-~-417ZXdaqwXngu;`%2Juqz!zN`KNpq$$D(W7&Sq?gj`?7oOUY=8(9}S)CrHQE z!#k@ZG|BVO4L7kLb;oo(=E?Qg9%x#j@#jX;cY|Q<_*EPp70rj>jWKD`Ni?8 zZ+Ik^KyMwpI{OF>gXKfH^O4QM_w2_vOTXjzy1B9WX3^!|y({v~M*SujubL;UK-=|+ zv^7Qizn(d0@hW@K*Tj?V_Uuj5nP|Jr-G0P6f?9}o%IC*A{wq9Jp7|EL2wNe{^af$N zvy>uO*dSrGpLA!FDeIdeL(mO%e3}G+L@CQ0F-JY;YCdazZ>|R244lYy>cwC={-@N0mCb2 z?pn+LDdLQOCaME`JuMxO{#NZ4G?Ou!XkSR*bJlnZ^B-uW=RF-A-*eVZ_#)w^zi6ZA zI^X5?oQ*-Z1l{%G8`7B#w9}q5$@EF+)}U(_T{s_uE_~y)o}dfFtNCnLKfb-xOC783 zFA?5CxW8_%b$H1|?XBo9@Z0!~@MpiZ-Sg@7nuwB7o;sizfyUpTa5%%>K^jc9+1>Uc zsn_1a#54H70X)nDJARm? zCG)UNyy*nJ@=(=>{sMoT^h{W=dGoVZoLwOQ(iHlAj591Gtrl?O>uPu`6@y; z44u_af-agb`Mm00#QHjMzZ2Ix;l66q<$Jw*{D-r@u&a9XI{N$d)f2n)`YjiKN{gk~ zsMw5esvebYcuDo>p6X%Js^Q-R>FxgQ_&&-Ruokd0gnM=4?ASs^-g(cE<^K546XUIm zormr$bhtOubtaahyX%Vg^>i0+iiX0UH2`_Ti;>q;w54Q%I!o8Tt{%F1v$Ge?d6)UY z87NcA-=4<{-~0UP{%flTuc;nBSl#WFpLAA#H{9dUL2@%-D`4N^+e_Q_Y=nE#tPR{; zvXJ?e9n!P?+$wX<8=TpdG_Jyqle8u)n2U(0J+}_^DC@Ng94bwN&PhU z><6m?^Y@)hX1dfDupMov@sG#3eTrF2JMePs-;kXTcl68=UUaJfe^}>up%QRZ~~xt0Uj% zJ%Ma8aS585bDULh^>H7^e`y=%tLx4zN81L+08G?YUJ+#|hi(It;jY_QkN!$16YZ3_ zAFLkC)`1iKC$txWd2s5x(LL~)gU<+jJ{+_icJF=EJ8frmhtt4(5ZOD_c0kBO;C0&T zCW~Y_!0_9_x8ipC_gC@x1?@?MW7)7x+#Hl6tk4xJn_mXTnYdu;xm`I8irW$uhilpMUVR4vl-cJFq{A z`%a~MnQ>1xMGJ9H5%-YdvPtMhM%e4}+STZdecgl?2|ujxD6g0=-_s3a#O?mZ=J)j; zvhsZj`UU8p?sQtz?;0J?WHYQ0_vBxMdkFk}l@$Y&2fWG2)lNJb;n7Uo)63zQ@AhmX zRJZwVc(bc|h__5Uf4_p#k}W?3z5@Qse0%MSti|saX<^Wat>~c=6Ud(YXndw)X`Y35 z<6p+pRJm8co56h>&)DJh6{$ctD4u^BBn@W4`)0XmnUy(Yxlh92-XKMpQ3imKDt8(X6 zI`XpFyuBqlo2Buz2;CBN*Q%{a&-t|zHcdEpY4SF*p-ZBEXLK6mt#@LtervPz4e4@t z9h3jk`O6?U%v%h+n)D^~c&tVa3jEduyr*1)oLuoQKb|T)&Ol z1y=tYz0YKl8_W*myQ|M;I;)p>|NL}D<)|1$|3BdTZ|L0U+)XzKx*=SfQDtyqS9@*K z3SDj;pSaUK&Mpkg5w*?wvu{+}P_%?B?a%j-g(L8qD`MyAtY2b`4A%@?+wefjFUvM7 zXT}KqpViaZ&gv7{0shZb9>}K3xC;NKe|B?elhsh~1pbqc#)p-D=<4r6ze4w#cz+=J+`q6dHAo{NSp-K2( z(XTu2H$MkW&3|6`e)HVR@h4m%T?6H6gRURCPx0;5z3w!6e{e`nar%i9ACu7-qWi@xF{s9)8+693PCM}3~RnLAGXO5v@9 zukH}8dhR7WS9<98bIIPBgr*;wPw<_zkKH)clEJASoByQj8E=AoS^0<8J>q40(%Sj| z5%&h*c^t+4zx2LJ5WGfJi+@yr0YO9&AV7cs0Rm)OmSkH_l%OOE2v9&t1TjGY2b^FM zB{s%TB?wT#P*VgIV8DRe8mfYzDlx$nL)2oxEryuZr7ktnE9rGHt=s#5zO(n<-FtVE zvvCJ3G6J#In8iuAlw&g$gFzHD$BjkCYernCM@y*snKb1qYq! z^j9mmQ{cY--2JA*gIX~up%&{OidCIQpmn@_Ht@SHb?>?C@k#R5WoCnUb#$({Tui+B zrU33Pa38E}5l;Qh%%7ITiJTAOOm4GZ`@lI4&bz>OHlpdB&_+}cnf4NIh#0>*zr4gi zcI~_uT6Nh3t*8!5($d0QjF!DWv<9Ii{ScX>E_@acQ*SG|q)Bma=z3!aYphU^vyhJNVOb9?T)!8r@gi-c2B zM(LjWt>jzzu-U-Zm!Q3+ly)QJ_JK15j^>P|?Ywkc>Tz)PfOD?6RQ36ax8omq5P4OX zX7W~4&Yo9H@@8;G!I@P3V|o@r9o(<6+;vaq{jG6( zmb}LwL|(F*EN{3K`JbCjv7K*6A{3Y7!qvE5@cO~&0_Pt^gg*EEG$neQ7>W{~CoVBX zTat&d>?~)q3Zj5&$W1|e2HM4#F2QDi9R{ZPnm*DyCx9IS_7MT7Lo}W>T!S#5lg^M# zU4szqhTB-*STP&yB^Im|SOc(P9aaMC0agzzI?rtcz8QEc@Ngbjj91WdCKW@XM$i4y z+xPGQ9d}K{4UPb{grk4$hOx; z;>y~oXT5FbD$m_G zZoXpGa{#=p;0>P(FLv+n9`L5YEBYa~>%!t-zdOzay9UR_OC2I_#qZ57>5CEnoFdOC zd7h$r@afT?JJ1)vru7`kXM7al*b|C`b9GfKJ{>hoY)-HEs1z5C zbomy_I!RgcJUe|9%DB+qAC?9E4HoMhU4}B>P0|G<`}zp71xfVJ{Vrg;!@$x5)XvVB@pgba3>x+ z8^mHoaT!orKWruHy#!b5n3ACfzB&Fip_{52~Ei@WEJZKC0{1f(HwPJ+|+xLL1G zeG{&YgzHuKV#1gxw=X5h)NMK95}V0N6{E~(L0DVY5!A)8i(3`drF!;lX94Q*vypvS zL4Rm@-WiM?;YI}EjDpj3o;U}=*$vKnz<2%U+f^1`3QO; zJ0IF`f_MA~<+w3Th;DI6>m84QlLzOweaE_Yp}%U=?EZA0x!R={oCD{9Be^vKP9B^& zp4BHy_+h{0<_3WyHgP7V^x9EqjXjC>T2`L>YpO$;`>VEYgnO?x=4I8mIq9Tbms1@Z zcQXIHWY*j7*D<>89O$)SSHocTVm|6pT_)MO4O&Ccx>mI4)8+iVd&zr%yv4qZ+AP|L zD-N&~hU~wD#S|e{kPhitF~Z zgu%@l#jQnMAiQ4inw}EMw~}@BtAcViMDeP@8wGD0c*XgYU=zT$0xQnxT7XRg+XC!Q zd5-8M>ln0ZpZd_$tNuNVCults?X?A3Cm#Y@vZbb> z)lxqjoT(9w!wBd0{<>Lr=ATn72uY9>TTOji`(DQT(`LQL`*I|;Z+{7&z&XKqw{sa7 zA_2hl?Ph2lht@;UhLg~0diq1tw-tYgKlve|)eWsx&-m@@B^j~@TBFb!=2GV#O_@Q#AlAIN@-n+|Oq^C6h*=LVee%so}R%e!=P$QyVd zY^EHCRCCh!v7IwoGin-ve#5NSxRfmw((kC6DbHT2n1ZCK9?;tXy~$_IdcRhEL)*+^ z6pV*MdKz#Up37Xcf*)po zrNy@U`k8pNFQvb;>8XB59D-iO3ue8a1@vNbDptRPHHDe-%wd`^spB{0`cvU+a|4vo za1Z|27vnd;taWu>vW)e*_=TOtDP^?hP%9~Lo5tAQPJnaix!xy&vj?2Aw(~1z2Al?P&ZnG;_hTP|qj6c<)^ZoPn5OvJ zb~88w=ZUi!oMCVzUy|jduQ`u{v*$cPRKjO{$X_c8-mTv;m0ayzEb%C`sX}x zTEMAZ7xm{Cc{D6Xrl;>UFg_Rpr{O$s%>D(Z6CCrUQCGnxfi<=JwgkU5pEwL`8kpS| z7SorU>JZrH>gO}$UD+|~{nJu9$L7B#V+bhCWWSs~#!ZLGPU`$1^OMe5@5jr^4Bz)N zT+T80&FfNJKNedw2CdGGzJG&Bg@3mA`W##A)K>>cpCo;h=Q7fR7`(59VXe2rPB-Si6hWEc||(C&?ff#0tLQ% z8G5zUvF?v(?<;4$OVoDOAMI?L`wthx#~oGTr%v)5ylU2a!$tfson?EgLY)!ir{PTY zUn^2Mz-*XRkk}2q6R(=}zM?kn&|80&TH1DM_ycf4lS#ebU?s)s{edMzkNNuPM_ ztTz~~bN0F9aoR?8K1-f_|E%}Ipw6bxImPDgim;vhF+iRFD!tBf=~)|eeF*#hx>@gr zfL_d|3EN;(74&|YPS4sv<9QGC%5I#E>`7;jfnpUKGwcG=aE8(8^+EC;B5x0Qua?ne z_EgL^DX}3dvd=EB8omg-aJnLUuRZqim|-_hie*AP@q%)HmMnF&XVZrnpLg({k6WUw zkY5S4&t^VVbu>#P|MBd#RpS+uIg`z3XubSjL)JI? zzcY98Aj)^}KXVH?t`XrciSQRLE@pZc535zcFMP<=K47qzLuA$~#|L;&{a)|q$gJgI z5Wp4uSIOJ>e^cc55WiKkOtFxge86k@-wuN9eeB!K{N*FF-mNr~(|4waSc}jZTTc0~ zd=ls+Tl@9b6{REhfIkDi$+=jchWzP|WA?JaHhzTlXlT7fvdZcd@_1~nV)rfmeQNKv<+2}@LP;KZvo4p}M*`~|v1I|w z<82hVU*&&n)+1atQGQI0w@HpKS^j&MEdR@{d}cXO7dPcgW;A{j|MWO>HJ1i&M?Z1?xYD6#z^(h_Z1Q}= zl9-rVi|k?LHT*I5H8^Q|Zv1y=0YCw|QD;a;uA1@&!5#S1(zWYtz=nWbr*{wSXyjWM z6Vo0$n{Pij`_2>R1UM(b`I^e1&!T<=3DZ6J3bE3Vr+842r)t}pJ@^+VX1#y&aZ>uZ zJM-08zcAxzA%73J^`AO_Tot9Z8Uz0*_)ijmk6?R&6@Y!)Ak0PiKLu?6r)Ry3q$AA^ zx=i}PhL%(VW9f2#yRXqWMgGyfehe)rqFeSc{9B)$^9ftyt^OSA*`jOp_3h=>Y!{=^mqhL6XWvcUp3l#EYXTb! z-FJ`n<@&mrj@x;0yVhe_OU!(Sa?v_5nZd4&T8cUWt==!-uTi`4N-X zp=`2tGr!RDFHWts&70LXd!X0&m$Tj<@T`yeWe3%=r&`ptbw2 zh>3qhk=By72)1@Md-9@GV&>aXJ4`@t^4`*Rm;`nN*hAe8)#HqZZ~gY|puXyZR_%SW z-Z7rf!4Kl$zN)S5xKlRT8q~EkNpi}tE+@JNpu6`WrYrtl@d^0t+q1#_E885yv^Xf+kek! z8|(5)AF;Cpk-Qqihryi&_s2eNbWPjd3v+Ad#lcx6@1*{zGP4`}nm zipiPvw9!e6hv~C;m{+8c72j@#X8(6*gS+gOrP-gosJv=$ebvzGO?dI@DV23=vIn6% zd6+oaKz4=x{+ON2aVyzpl&6uRerm(&3F1e;$G)0?Rw%n-w8Up;Qme&1lF|o#(5k(E z)_Z>nEz<|#JW0Ffzn)6VW|vM^?}OgZ%&hl(XzQb~H4SVJu;N|-#;lDkr5z(}nzY9% zv*|Q9?quJbA?+Y(7Bj&ZSYoaH^~FP7$r8k~HGPWt#NW+&pAcOV?$((uBRY#?XNB!O z+JsT{#!`b@MeKxg4OfN`YO+jz?huA4R>nsYqCRpsR zu=no+bWG)u{vD-<<2to{9Q-mNoVQ$(&NWhuj4<+psANyv}V%QyK?dNt{vI(PZp z0lTfLmunoa4vx@I4o$td$~^$x!6nL7TO1*ME9t9MuJt>y2bWjXV=@sviD3wMCEv5; z8z-Ob+t}jbDy45%eg=CP_!D{7NBmL`tN`q-0xZoh?*1UAxtJ!#FB($=;5Pqw)_XzF z?>463m%A%MyC~@Q42x1JV||U;h5Mn^@RM2Z9YH-9>(R9>nvK1BOkhhEwRF*)R@*7q z)lBbs7Fzw#`W?~YqxY=d%ls19m;lDx(2t&jstEB{$EG;gnY+l|1@1JsKb6h8JikfN zXJ1^-X<41DH@=qttAS*?Q{Nn`iVU`1x0Z)BW z*Ux7?@r!$xqF;x*iv4$KBdL#kqvZRd^1*iLYpAzZHNUE=^)e@WVr<)dweh>M--;~-^csP2gZvW@;Z~SuB`!LUHgJ}E&Lvs5?Iwu6SFY%6a z<~o5eT$vxb;cC$`QLlpZ$rQ9(|9v)oHW+-ev%-(X>ds8X#%gE67h`8QNgk}&hy8o1 zH1?<#SOYNmc=g%Fw+UE1uuSPVkNLWNJF8z&$0_zBlk-=Qkd*SoQl>8)+j@cOd4TdK ze^t5<0BG8gs{hO#}M|&n07SNaszx^#>KlXJ##V9ameF zmwOaW3pk_TO!F*x7mZ2N!Fm(X7%coM8aqSateT7Ze0(23V|Z_a^6e(y0QqhZ?NENn zUE`wbsk-t_lW!mS-k8kCg0g$XCeluluTadFCf7xoLrq{FUfeOA@M^zE|L4QK0*N?X z;jw)%il=(@f;Rx(^?to<{|#;}HF-PtkLthLaF~4i$k*rR3(q4+KdW0f2f#Uco;WAL zshEH8<#bcdsxL7fz&W70Ew9fw_+hJA>o=RVenlE%+gb8M(A)#fseopht?t`oqPekZ z=&XAgcx{@tV>1pe%&PSyLVAGCh8LzqjfXmyu(7Q}slIi8hP;8Ett*H1 zh2^(bXrGO%@4Axu3a<~mvcmbl=NNds;6>kaFR&h9#rG8bDPY~e&Zk~#vjTX#WArQk zocP8FeYN8%V57huigr}Fo1u3cdXM5+AHjx!or=|E4A{v?U1VqM1$F|M#r((mz|NO< zjM9-q+elh(&{jh5)J`YBZ9YBg-Nmz$)5dR!{(FPtHyobpjo()N1@8}Dv>zIQjQ}h5 zgWjPH*e+mp-W|UM>jgFz!`@=$XoUwzAlRO z(XFmqHtI-YD7Ya5$p*eVz-tCC>|18C#WJw2{6cIz>U|E7e>eGybzceW5U>eg&*E8g z;p?!xrBjXrp8{S*)ntDqd@iBwsP(e!C(5fP%N1pKIsaD!NsooJIk;qa>z9!~znS$; z1U`;Xo~Ov(e@d0T8*)UFOJ2s-+&1QX+cE}k&v71fO8yN7M7ss-G}|0*3H-M|`v6?szQZva?5Fq2dCK_b>1y_UJ5 zR32;2vIo2&@NQem&W!fmczI?ZRq1r*YN2%!S`+_0>pe!a%qKutPkH76XOXPVsh%tT zlJVq)KGvx3QHt|N*mLx*V|nzYKDB(?!0RoW^S&wosoOD#n9O2hIs;So&>(pVtHw&j&Bfi(q@!14rRz7addyD#xk7U3kuq}_D^Dff3<|Ei)U_-TY z?rc^cb{yC~VD~E%AN556*x-}qoUDl2*0q7jZ1h(B74*obX{SCaqY>C#NpKFF2afvg z6gbDh`CXO6N3gQ5VShwmnzOG2b_Uq6(nEPg9|Y$GHnN4M#8}*zi%;S^a#xjRF+BSZ|b=?H73}tUi4^4A-d`&^C`)PB5|4!AF&N~9U6ZoA1Q2#{yJKVSZ zVwP`8T!ih#H=u(-GOOFYK>&c9WJ=Q%{vYU1mA*qd-{I%`=u$5ME%oIN=$(A#ocAi8 z-MV;j?oAzi*|7L4ny&KwqAiPg`Z+G`RZYr~qa zqc4`AZ*vIRkSL}SYHgYUlt9+HSw(cBf!-LR{#&8n^z1qBDvjM({fqnP&}SvoI68k_ z475(Ga3z@-Yq!NfGMvJ5MCy@UilUp&w$_gvsW9NVI$d{r}uK z?+Y48MlX~2J$c9a=%08Q-IPkFR)5)$|ItzB5i4+t$o^`zQjt zt~p4L>6pEyn)-!9xv#c1`%@SCY|wskZbEVEQ6uD;Au|r!x77w;O=%e>FCjZ-+?^w*uSu+Bxt0595dFGvsjkc{LmvmdRe1t_ygV)!C|D zG%9`H#sdpP8S&sa^jF=0y%pG-A${vl@;|NYzMyhl?PeVX|;0jqrbocB2ac;~2p$$a|MiIdn%2CNuV z?=uAMHgF#$yVY=sF{6W9S@*9gG+m%Qc#;F(Q3 zK-wA7Zc`fX9F0Fj#|7;z9W_ecu5EMPrRpQ&rx*`!RDb(2XZYdS9ZNAW=skRoi{9;X z-hZa>XRM7R55~()9*j?wyIqS(NrUbY-#34Y`P{qaygh!~-=pi9{X0Ri4}!DYm;wzl z)#+l&^Gg1+K$&I6BbAC#5Exc$m}NoJav|Akp}!mYP4D*Y8)tyTtc&?PVLmyAkJNQI6yc+Oir5FvC^#m6 zLi;7uAtnoK-RUwcg`cO2H~76hmESj7n^u3D`S%E8TWxCZgiRB@4}~&x7H+If_M) zBC#kR%PZ_T?GmL~zrNaH z8&roj()N<})MaJtIzLu9`xogVd!5*zYdZ&`$*eQ+76|e?u2Lj z`(tcuY@iq8_XF_)b!0yYZpA0&yl;yaxEc`~>Qly%+Q-Gj;40om?^69;#_uQRyx&)! zn*NE|8=;*loyu&aIjJL5`gKiGtg>-)~AB;hn(@_%R{|rV`IJijIYH8ChB1( zqYFf^bxj1Myt*9Yqg1c=F#PhFIq$y|Tx9KN0RJsuR0(ZhcW9^{u_L)#(P6 zq!^JR;U&WCSv&kBIlKIvs})W1qWJq{zkgATn(@f+_pmR&#rSK27=N;zR@vqq{reDlva`wU>!ocWDbQN{PD;FtY$&U>x!`PA~A z2G#}aK8**-yde<#&r4yjYBJ!Nh>;ib!_0Y<%k)KT4`$E z#{01k9>Dh1{4$geX*P(?ZeGHL(w3V5eH*mOPRx0KURgpb^rM-q3F2rzSvA;MHFTw^ zjcj+eYOuR%sNLzic4FUpiGgEZN9OM>fyw^hnyUWv&4rAj&k15o#VKSW)zn9Q(G09E2I~UW7=!f#YXPSI*GFx*1=t`kJ5$DVe>e_9 zzk<*6tr?DxOW}C9Y5-c(qW`No?-Mkovm-)UF&@e$G1*$jh*tn6C?4BKwW>VY)ikulI*m&ElMQcVL%8>w1l5O6Bi~VAEx-oE8_1VvOqmLJ90i0Eqcyf}c@Uhf4S8=%Dh>|# zOG=QK!MZrpv*1lXGw*!pVS6Za?XPJMH&k!7y!SM}jJxT^qV46|x})Wq z7D!?ScBP9K9RPRhv-56FWHNdKY|V<0E@-lqbT?laAzx!--fLAE^u|uugt?RM6%`9? z%IT_FonHD17h5?+{?_N@y_bl`O%``ccOt@~an+r&JFVT~N^?yv^Fud}i7tGt$<;%y z=7-3)=RsR_v9_@|J$N$nM?u>#>r>t~@-{d5^)AheOVn>iY(mM+A@X)TKkq$;XMF_Q z0jxIyYXG(z*Z{CTWipy}-XZQnHN}P;j#@pKA6WShk$(rpm26E>vTTzt$oQ=zla;R{^gE-X4K90_y_y!3eAk*im37BCuXy2iE4@-A}-`@!brp zu?^WITlI=_tiKXK^qJHKSS?we;;-+_We3ZvD(}7T@b|ude~Isz9!!#dLNTV*BEbh@w1V%5z;b2Jdybg zVsjSX9%AM4Hx;Qbp{Ye#E8k)0b#2OfGtv>*SJ6Ep?4|Sl=sM;t^J8>1=6Q5Rwl=4B zJqV4Xm*zdW!&CV^w9({|`#3d9&Y&;LWxkS{u+GkWP9m5pwK3TCQ{vmM$h(+ssxZX2 z7uXSCgTDQJ4`Q$Ao3}Y91h-$DZASm-^mqoSn{c${UKfL~=J^SyV}eYbTnSv#4o;>V zrp%e1y!Twncm2i!B9G$blcW_$tL0fA$)K~q%B~D`!}iQp%P-wt^E2!p(q5;`#sj*k z%-I{lZ6=u6)=wV8g&pDH9*%8wJ*Pb>91d zK^$xXSbcBa?b8F^%6Agj7GO^gYzwn@q>*ul`@(iz?#AGGqhc(5xNnP{g+~81dAE)S zO_g8$0R9+Yn|anpusUG9ugrUm263=vU|WD)8i92I+Yjud53A>YKd_Nk<-K1BW@FB; zXRW4hK|M`>jF7jxFYoSKD$UEh)z6EkM|GMc?-+T_Ps(q>4g;Hx!Hxqv1?(lH>(k7) z0IcTKdGAWKo#{B_K-7<_HOOa)GtroVnp(!~W0;ULaWaDuBQDb-sLq?f~D)pJNXL!+myc88Ym=pGld3V@0Qdrid3! zx@sXkL^%!D=iON>Zd~E9W?W%t%Z`)XJVu^FZ5#R|3v&rEZ<6CM`N&hU?*a*7GU`ZO#Ryp>?|;w)7tx8 z9>|5wq?O%RTF+r%D`K!QU^Ow=USM@G*c7nF7;FYuOAK}bSZ54&23SuFw&I_W2QgSJ zu+6}tF`!Mr24k>JU;{DSK43#J*buO75twx94q&^0JzD*3_S%v@V8zB{+tXtx;2vi` z9)Vu(oAcg1{EqMs^ZIwdJ#L69=0s(eonU;C_pkL#*@-nj(^H7f5`BYvRf~>@2P}OK zuH;?`{Bg3&x}n!Fln?G7iH=R*Phhc=Q7?gRxR(+{GQu%z5rB?p?SWQ5v~K6w*#>C9 z#2UMnb4z@7TFfb_t;Y9BXpKSZEo$SKA1CH>lb=wgKyq5xk<0eUPnZmHvU#|@|G!`_ zZ^?VNoVy%tR?hr+s}>!zA}pmls}-ur#YTIw8)SJCuPf`FO8+T2aSGaZAP_7m_n z2G6oqq|@@M->uBmBpTh_p%KRj?A#gqp7fnsP&{0d1aFt?;U{xwOj7MSQo>(T^F^?QL)bM!iaZ2|TqA0}DY2W%8ronR&l z-5gJ8TS=QB?KY(;UdCVOY~|+|X_dFa3qx@C==u**_{T1_E~6dmm*>J8K@a;w1LVoq6wGmCIJ?YL<94FRueWcvs%7yHKAf zABw}=0WNEEHx?NW9MS6oZxpZ)-p&q1E)Ry!U2}rI1!^-ePOito@bCt&^g~U2I&_ zzad|DhW4oBXeY1@$Ci&5Mvu ztXahudpmO6V~AFzr>z}*8jB}-Ay?YBlzCV9mi>M^s7tsSGV3D zTD#u=(8|%~f5(3Kz=e~edns?=kMcq6hsi%+qrjrRVP) z6EWC|Q`q0YqO!9VnCL}iXA`j9z@oCV6Ih&HpHD9;JBNIFFSFXY`t1OA2zpW3xf|FC zU}>`R0BL7PyGt}AJGVI7xs{(Yq;39CJ~*G!_a`vU{TL=2Ht@Ybq<;ACj%M1wnRqn2WQ0}7iIL7fs8%`{2*}iJ%%zGQLw$@^?{6L zLL8CN*0!_Q>)<_Kbq-}Qb$(s3$|kex$+vQk?~@GkLI0+rN$KoA^0kof?oyc@%30)~ zAFr$V%rnzvwmSoH5448=j*&He(}zWMk?;k-jgx;(w0ZRd^#V*k!lR}0-FH#HJ&4U1;40e{7J~B z91D8>Gmi1iWE};s;WK$}!snla9xaYv#(dlxxH^}83H%fX<3Kx{g!=Q9vU%jiXCD-g z!LRJBX--ZHG`E+%(*>>3&mk9O`}-fs-vQvezv#;oehao0SjCs}ZqJhs8v)iGgN*~* z18gmM^bzg>U`K)V7{tL20jt}ecjpWF`Hlf=1@`_(zC5tQz}^voRV=Vx@MooE)BxK8 z>}HJ@KC)RGfF1wyyw|M0ArwU$ZjpoLyXqvZ;>&sO^~!JZ!Fy<5|Pl}Q+^oUyHhdQL#u5~_Y}1D ze=YC5Ca9yy^)75jg;n{CxWVmzSVaF!*lulyT}Cc^6ksnQeS0fNh=52Y0#MEj1C{Gq7H#?60J_ z5{ZK=nTRw3_Kx$uYRgm5Df?#L>y*ARITEgonmt`w{~x5+f4!~!HWwJDZ+gJ(^DdnM z+Bohd{lviwV;_k(4^dv>+rBLX|7|BCuoAfB^$F6>koLaPn5|GJ(MiFcg6VRL6-bf( zwg=ke|7pg{_pr?ac^qrUD7}1n_AwI3v~4VA&**9WVh8kg-~a#5x{%7R_z(Ptf1meI zk;}}DieoJE(Nwm^^|>LPVGzqU6p}4~25iv#Q-1xAe80EZE{x0K`48(En9k2(3ogbVjz9OiUG|8(L(yD)4>Kp6^wgOmjkFmzx0I(Whb{7Nh=gW;W{ud6q2S&e2pFOM2%<(ppF>u9eDuY4h`&kKXd*9JF&jDh+3V^iFWh58%_;3Tz+( zQ@@S?8wR$YXZ35;&p_-Gi|8_^95a~lM7CDG2f;f7-km&`;f;*i{I=F+@tyBPJVsAI zT#MJyt(MB}sQeB7rGLb4r!nw<;um{M;1`n)+)8;pKP}}&@yaOhKH%$v{xx4Pv8s1h zaLkr}7mDxm=+FGiQj$fqjzO#cXMTJP?U{%dcX6**#%#UyxhqPIKlOY4f8tMqR&fp~ z`Ypir1N#e}-8e*<`Rhp3b-V6uVF9jW6^ShyTv~@27?{CMH|>H}-2=ZpE%EOWXzhm9 zb5t*`Z`z)@7BA_&b{=1zv?^~4s_blTQ*XPMN#}hUyaVJtrTYCm@2w2~%s^o0R=G@*TXt zso?oC$>vy_(DuQ6l{sc>s%$RK>Rsr?cxmW`@!cThG@S}#n^OBYIat)|tc=ipyaESP zU6FgWu>mjQ_)fCqAhZubTe7(LkxV-VdSi`^iT5)Z?w5@e54MoS^@jX%gT2r@}2qf=2C zDP?q+Z=ua&{GQ2sm=_P~J#gBlT>izOpP-LItKsZJL+co{j(fx-Ec@=JOLR|{!c0=^ z4mTgFFRLiqQ86F*{8ZN#V57k7UWw)VPqAV5rjqyLC3it<%SH3<&N_~V)JDNN$`}Ve z1zhF1c_m}P&do)VxM5w^Ptqasoe=)A@9OWRAeiWbR3^zw-1Y+;4@b;ma&6F1UQu@Z z;q$@SR+3+>z>Wbc##d{^Dbt^^han97h@JV)~iH)2=6R- z-QfKd&ra_c9$u@6AL}Efc#_XenToQb;AI2(T@&XSZ`FRpU^w%~rBs^NzFR z9exmb$!dD3AzM*4P5ylXAbv~j(^j255E`h=R;1he!D)Had~oJURPOusMt^oA?^Mz| zF1~sXxc&cc-uX$;e%KJ~RD30W+jHWxDWyMp{(`LKYM$6oQBgMZn0aSEnE$~1A2yE( zV?q6S;%GT%kEDnby6~;)LV6@NA4a3Ie;{R4YN9OtvXAnspD^$C2W+mYeGB@qs@BET z93rjhiSyn!#FJVRfPt8TWRCE!2Yj-Xog&Xn?Yz5>fIMnX3O&xhZn9XO>WeDMx}Ll= z9rbAwc}`w3@BJsw;)7_P`u5t8q7_TJ)Q>qE0(W2CymyIk`ACNB0Cou2T7$T=S#|@f zc*?w+)7YE}_j2Z~X1r+ZPLjTb^!Mt08S_zI?BMvq?9DWC$c+{oBD_3!hyP&S#ig38 zh}pl2et2W4BS~_&{^E+Vx~I;&IWqML*F>%_j(D@fy2;lBu(|3H zKh34s0&P6*177z0dAHvl-i^j8*}LF(+kUZ4T^ew?Nxnpbh0TAYG7HeDdEvafZVj}S!!r-RVw9DdaXpZ7UN`2Hs-rkqYdn~2+eH6;USX=^!M`g0R6f;EK zV)D-RVTs-j=$&~Pa$NinldGX$*6#YUq20sFrO>lJ*ZUoTUj6F%;7+qvU?+j~04w^S z?$J4)(X&FB=WM@NgY(~LIiz{C<%n)-ghs<7D$0h}%)6M=5*eUn95*fFs=vT46HY%k zBjDKl&c+|p8EwPVENpe|ZSLW6ZgCL6#dnT@Q@M8Dd!yRJWE69<(tS6><+jz%pBvF; z#6juU3*(a`;5V;BHv0GpKJnibA|Au1k#n|UZwuQ&YgLZ-?Lhv(cB)78{D?$9?=QEF zs>yEd%ng7(2(5vQ^WNY2b&Ae)Lfz@x;xpyhr>KvUW)4=BPA|d9m%>caO*52pY!f!B zFOQ<}cfR~(7W;FQQ*;Z9yYqg$z&)ogr#%w7cne4h0*R01XF&)|*)j%faRo7!G|8>kyd3Jn=F7?+H zxG9p_cbI=dGPv@0D#|9vdrivt499w4+h!XzK9hsp#(-o;FZ2!!%zNLy*p(gSU#4Os z7lG@qIq5FsB@fJ3-6o*beB-=ZTQxakJQrL4_icjX<&L$IlUw6q$)W=EdN$b^%371!r0a9TpznoN z;qCL@k5y;RJz36KWD`gQgJ_7P4X^gV^?(0RjK?)zlT(wJd2-F z?EXf=IK{*a3a6A9jm$)}@DPC3Q1B$HZpx{QvfpDqFpNzWl#$j)p*&+bE=8Wul_yr-hvcPn!OZ`E$pvs_VMZVm&I(0 zUd5yEXN)mceZ3bQtBH2z48u>Ve#w`$@g=_RfnM*2=Dla0Tb6Xl@3szd$x-CuR>z^$ zvU}d^4&(@viNsj-`)53p;hg=Hs=0WoQ_yPtlX>p}wOc4h()vMXi)Y56mE@;3+Z)}y zvZCzBXXo8sCHySDOoq?dtIM|J8aLrt8!mRNW@jQYfugs7Tlu+p?=IO@OX^Txo(*L_ zmi9)(+&O1^N$|O&e+2r?U!3EjE$W!VBsb)fjA>Hopcf5H4e=-(yf=LVg5 zsmW$arx^dWKyL^1n!hsd{k7V|_dngZrKlxSUtUqUr z+PmNfb37)-6G^kp%{wdEd~)P#^InHvhx9REZKiXMvJ>fJ%IY-0YxIiVUo(eGkt=5J z+L$-K#SqNs%;JzBtB)3Sll zc6S!+fmR+`9~Lc}J1K6J#Yvr;K?8^vr^&PV@Vs|evh`fDkXV#Ar}LuOOsao%4gQS# z=e+{Y5qf58#QIG>{r4?VeTxC=gVy-Wh4D|;Q{BUqxBmzJ8p4KP3XkLLX6B^D8N6Hf zJ44Ai#Qc=! zk~NL)3`g$OAOUP{Z2db<-fiUlPN17Y-5Jgs{c(hpczb&P2DV>b_4zULP?g;)GYURV zk72_Z(6vPOaw1xDH^xm)3%ihB1DG z;4HOOkHdcb`Mg&V$d<6JVs=5B_KcwRQdp$Z?l>5P*2KU1K1wUw{Dhc_+qpA#D8t%j z=q9AMq!;#pGjwv^yTX6x=v?0Pf(+g4v+3~?PqX#4c<&haqyL7#jAwlW%L6+Wfvo~o zu?l)G}SE!5dJGH-O~}R*LH{1KI|( zEr2HPHE??h4u22l^!AH(R*YmV{9f&UoU$9{=7aM=1Sx;qKfDOiAy}-5rdmiQKqjEO`8;|812DUE-8v`~OgY5-&5LhvOK=h`7O~+s}z@~sz zs!%@4cfzL^g`EL*AeL{%6VV?rSS>KsFN)g)Y;O$K32Y(;>jS3ujp7ag+Y^KB0Jb{@ z+YM|i2HOX0GzOanHWGs!0k#X6#ItAxviBj-{gWf{LXBDW%segcOE8xH~D3Mma%6?@1b`;0emlTTTd`M%H0EA zuY6CUe@W9gb-I{K&1Ba#a^$ey0C^xoeTd`+@|K;R_nI`0OXSGg$?NY0%ISovnhrzc z?(F~dGZv}pK2Dj3DbxC<6Z6llYg*bAX^sEk+o|?m?o3|2%TdzWNVE0!2jMT_%=y$# z!h4N@x`ZF)wwUvTa{KxA;4q*3&Ai8!%k+6>bbikKi<@&&^ya0x^cVmRKY{EdWwibG zy!TH_@n&fmh}RS|o3oe|%9fnUueUN*UBdcf`9j2Rv7C)qF4s|#RA(+7PX9_a4O2$n zMGJx7N3bzqgTPkstdC%OfeiqAsX^R2*%Yu*VDAzPlT7@syhngnUc3;T118u>U@L)X zyz3*_Szxum#Ao^lR$Yg_02W=Ns{_^?gEa$d1NJz>bhur>x?`|@V0|&z7GQ(GF7a_& z`M(R;4q%V=Z5@9-+xZh<1gTbp3CDI_$`6DA!El>!r1^03Hy(yY|HBr%uZwQU_*4v_ zo1?Xt=y?T~vk8jn)cV{Ti&?m*4Vn2A=C9Ctd&>MZVf(?uzV8wjHtrPI#CiWZv^77K zDYCU1Z^;S8#@stnF*fETM3ebDb65i@C3NL<@^}iuWhQl#gqX2d|NjB~wPL}0hT4#i zV0FN@0*m%_Gq4@NqWshaY!sNqjr+L$!1lyoTY&8aR@6@_V;8Ukz@EgjK7)Ms0Gk0; zA)X)(bbIEeM-Z4VsruXf1DoBJ+cTH*0O>xyl~2W9dE|n3xzB$oHd?DXSqJ0>RxW2o z`G-#gpw&8=vBXWY(axwE6#c3NZ?_H-vH1}5mxLeB=0kRR&8_M4O(I$(Et6uVJ*V!z z%ob75z5xenB058nCn)<9CdooJ7M*UTJ~4M%#u7TB(`or7 zQh6W7^O6dt)6P0un{WlMHoIl29)ITJ7Q9|w$@D!(&2;m41o$rCzZTr)T69lwp2xny z8YfFu=d@yl+BUgzedO5}7r<@(a0_JWpGJJqss-;pwI9s0O#5{(7kp=0^AU8M79gDY zb!v}x*nY5a${nd)2<+Z2ia!8s7qFl3oOnO{5vlLj7rb9b?#;z4j4?=5JRN_;lNP)u zFY7P$eIeL+gJ~}pIAlwspR?DQoLi#%FEwe`Nh&j(dS*B!tDxdt$%YB)xA!TbZ0H0w z3G5&+yXT2MUZy{6Pt7-J<0Kz-+FrJbXCU96u@Kw`sk1d}`|VU4(<^nP?;^b}@B=Jk z2hcv^=ww-|Ee>D^TAQD<;JuZ1b8=ugTG`Cqsl35ie|7SUZb*y_1>viGj#AE!mIaUP z4$IhJeyl(Gi`hVmvT*ALbq(nM)&;jeA*xp!Guqe=#EfLwx=zVj7;X4m1gl;{(Ax75 z(VBu*+3JU;UX{typKt) zF1Z#I$Q~I-$)SZE|1rHdawKiJcYO}u%#tAw9XV9OlDH_S)?z$FCxSg14>3xWTc3@; zeA9yWcj_O`t6p9ZG0;93QY+P>S1nzM_#*WiRN=(Xw>1onu_M%}`SJyiBO%gx2Hapz z3susZZqguh=g8MK;xFu3@V=@3F*zIhpJR5g^qx)ile9Wbmu-et|1}H2-bnGqFtE+Q zp2l+-Qy9(6rQ>!3-vOK>1`_4Q{Kw`6?U%ijY!mZ^jzQui^bWpi!OI8l5z5_|AKmO9 zVj5G(G5tv207O8~hn6zvGoOT3l4;l3I_mIqD#}*%FL=*Ru{$kZO96<#ikXx|nMf~A zfm?m;f;)qg--68mYXLUEvp#~I0Jb{E~9G#z_?@^q2M_WnVtmhTB*TY-rWj5d7;)&3%F z;Z;75_8`yum4}aDtAGt(zu*lEz(=q~V5fl98w7IvZv$3&!-6-fwmg?DGUP0xBtL9& z`~RV}Z*U>FFGFQc06Plo$$puFO#&+bi=Lx%7+CEaLR(S!jssg2foaSYfYksi&hbT7 zc~>+!{MQM-5Pcs ziJc_Af<#V%&#op>mxEub#GjDZMq)evxdS${gh|5DbFG#mPk`W{IPEu$H zG|Sz^FQ4EYwr*bV{zoqr&Id5^wDyuO*PWu8)D@=%@`uzsAAWq(g1hfaV~_&Gtc|2K zk#>}{;{7Gj*!zvF<)DN^aySn+gEI)u!J8H?$eKqTA<_k+9dtqb0D z0YAp{k=aAWkLtBCL~n9C*JU|odorG5J6qS8os=A!MBRQD1eR%H2phFRlTv^SvP`qi zF_KfQ_NCyGFB30heeP`w?p%~mzJzP?rqBJkdw2Gy>59nRwVsF8)Yb*>247Z1d6)Og zoQU$Se@0GSGwWBkE_gps=ZEFT;)Z-1Z3tg@iZ!9YNa^(G@#p4r zosRMf#}4g|SEH6q)^2FF=dOvQnvZB2dR^NWyfuOBwOAb1{6}n-*p1Lv zr$*yWH&99=>#I?i$;XBl;cwru5UgdYZ(4yh0DEz1`PMe!etl~jDNjx3lI9VX+W@pi zpjG>>1@9xlJ$l4n-@~n-#rsTby@kskw?E8mls|@8(&VAhSWHeS#p35A=L?k6I}+Mq z{lF?;%=`z~cLIOs29+JVOT~W=Y)08f$rrIhwo~CMcQa+oyni9sKdEwufgJ`m5tPgN zOX427u-v82Wz=N>$@;7}oqB>YYCaskuiE+yusUGxd5~?bK$j$a45r!C1hd8U&iyZe zKmVk(>@C20fqnKtmi@o&=VO#J{;9BRwRaxaK49TlIM&|bSPo?gch;8M`LD_MUQ_gI z$Nb%H&vj1=`tfrM-qr`%r~jPVgdN)Hn9}BMZDx`(3SV0A{-m^whwMGXBdcD@c>nVM z{dn9#IfGMSKdJ29z_tME2;MI(#?Y6!qqg>x>?Yhq7pE%&<4^HJ*~_rs|7OAabWqOn z{E*J>9XVYz#}zS%O}ZfPK3{4+uK~)~d*6aPV_-pVEJYS?Ph~Hpq-fQ=9R7mVR|C0j^3eDzy!UIPWN{a9aNHx6!m21e z(Hel(;P)ORt=1(jnZ%A1t^LqC_I>QSN`6>d#^QnDg1{d%Z8vhIRIJnDvd=~}M$2p|to2OxP(|un2C;)(t*rk&u;9HWu+3uh!hSZN>}{#!I?T7f8(IVZ zwBXLT>#M4MJ$9wW#eU%XfG-C9654;U`H0S!v@?NI4Z4jK?hHC?g$Tn^hT6GiHTM6B z1@B>j{~T3##(~v?_nG;Qju&+r`#??n)oC9Fd)_2^6rVIv=K- z>5~iY?rP(Wu+AaR`nt3`^X1e!GjFo@UxR-9<$`xx(9X-!+LKC)ipl01fL8CnFL+l6 zv}|0OZ4vgFU$0hs$)qeZ>&4Ae4?u75)PlQH1Nseo4*_fY6|$P=_#978Dc^!LDtf;& z#2kmGx7vMm9(^Kxe3uA2C}dHf}q(2ilg#lhtZ3+Rrh23D$$`7-cm7 z&SLyNJ$v^=UAsAECFR8x({KzrL(utmp4Gq6mTBph}zm9dt#$0xr7Fv_~$W|8Iof>WH zk^i-e7sR)xc0WLQm352Whf>--!GnyA|IoW78_MLg?30QO=;x;`dUJGVyscvWsPhMO z$WJP{>_4cfk_D-$?Y`uZHB}1bFq&x-ji4 z|K!SzjKAkBdjICzE75TSf9PDp?(C~*)RH)#)wZ6~4eqJuF1odH)-y}u*lr2zkagM@ z=R!{uDvwU2+!1j5pSS3Jt5oKN{2$6F_UDynepq#=d|lN{`I@Su<*O0UZB-}vpXc`( z{tt6d>2$el>|~F0V#A{MX35`k#nO$J%cq_)22m}~NpD{G(~eF{3l>wqAE5ln%ND&Yf&Xwxy{nz0 zvP4tLr{7t!N$Gbs_P3|&Jlb4iuBn^yuUhoJ>C1~{<}U5pp>(TWGpRwt^RJ=T+`H)A zA-x~7Lt}ib!+kRHHEl?!YN|b|f|4x6#QDP{;5dpc-=G0^Q)I>El>e$l?`tdg5wjH% z<#Sj?t8C5W`*6;+&D@h##3rtPSJjgH+X&PBB?+*1%<#}X!TnTcoVxYhu;>jgWfPfB zFgwO}33sQrHFET}a#l#S*Y=(KM_owCFgNF0aRu|~H!gZ>g7!C`O3cp z=l~s~pV9&Fjnz8^bXo+6^E0~YGdC@zggRes#NpB-;t_Lbo zdBpq=HIUc}y|H&Lx|oEGik!h6$pW*|#z?EVo$<{x=Y!d)w_1Ca%-v7gHqx$Fn$7FA z?T{%wr;_&rnj!r#=@v)NSc>{JU@?C^Osm-?jt%S)rx9r-XXCf$Sja2M6ZlS=dWeU- zW6^s~%J{eO67rMep;z4ok0Zb~W8oQknI+?AsWIB`10V z%PL=V%6(~0?Nb6Gq)Us-SOme#GBH0J%e77c)g^fAay<_M!aJ!Cd#{B5b}fecc9>`B zu8aoKwvaYSn%(zeHbx{q8Exltx@kDAAx)6~4EeY6tWPuFNniu-S@imXF~ch9POaB* z{=&PV0bOQloWH=cZ)h?!%nmPryX(D+-gP2IZ~OKwoEEIVH*)lo+B>kBHj}mCD*TJ! zT?qR|@?sC=&D_1{_7E~(P;8jm;{fn8z>8<42zCfq#XXB9XUrc1Rtv0_bbV_1=7BW; z3(o_Tdky!coKBp`rZKkiYTD<0i{86=c5zP%XWE#%o$~7eHIaUXbi2RAVjpfN-Puw8 z1~uFN-Adkm@}3&?Wm}1FF!Ku6(*!|n)D_d}b)Fr=s>`U*x}0cCK;!89@dv1{OKDse z;H?*T`ZRD;Ud@jp4b}N1G**6)KKE&G$Izv&(rfvL#X&>_r%RixTiMHeaBR_gj6V-a zng2A(s3>6&NMOR3faJ_+qU-_a)qiNw`zX(nol*II2laGr2DPux`D9a__kcGFp51?G z?QGFyL;$%u(`dF?Tk`o3d3Stx(c89Moxc^UAcjF&oy7w+*We%i2sR1Njt3Nwc16Gg z&7`mV=(+1AS_9;*{NpGs;!!IvGg{KWJ4hcS{m;%lhq85l+40Fa6!v5V(l15*YND@x zI7KZi*Y4~i(|c*X>Hbk@orPAT%0VK~Bi&V0xRsy#NUQ$BqW2>| zE%2Yzavq$9j!6v7=KLR>(&7HIZ$IRru@4%5E*fr3eaQNfpS66e`-oTg;-cGgYwh+< zZMIsU+vN62Nq;qwXE%91!E@veaOTJvTylPSYjZT-z4zJpCx6YC@R=(AQu>BlA<)}_ zzOnHSUN?As!ZW$S`3pOY% z*bv}ae(`nLYv2d++q3aQm+|~cl2(znpETRgr~TKY2;KyI5_m1oil@EWhj#&=PJs^q zKa@ge8}OM}e$`_P_)*}t-_Yu0SMJyt-A~#v(oFYTno4)$_b_S4Q_@uDlcb#>E&49@ z&aXv3r<5iBTSZ!)w6i?N`s)NO>C`JqPV%Iaya&It7{rDN)(31l1{(r46@iH_b^x0M z_5q$%R9c#=^kflUCj zeI)0SQA62H=~G;{U#h8}^}Fvcde=Z#{r^geZ`W|==T^Qwr0*jAC#p33yUf_?sG6+p zs+w#ia`)BQGZ&|-FXq*cuBjS-&9&rtr~g0OR?gF{Kwi)PTlh~={d{LA`_#gsw_UQ> z%3dZupjF3%rzp&Iwk0Gr&_wdT>00Dj;lkL#1C%#GdG)_u^qyY2ww6Bk94|-VrbsGg z=P&m)X3W)KvOxU0;&t%*S<2yAAHiyYt@v+$+~_yoCSWzdHuCKDZCdsBqs=}FR>o>1_v z5T5Zgb+hy6I1|CKwDJCN@@*!c*-$0JgO=k3fa}=E46)isE=Rsg6fE6UeLVgI>wu~SA`&rJveDX~A_=xxw=yF8tq z!rZOhdZD+aq41#ZvQt}+fRhL3Jv=*pGaJ_IUG5Ud5FH}}+3_9APU6vNaJrsZaPu7F z(TLp(3l^Dl6?spQcbL3S7JcIGcQU$T#^4Tzt~*rCnM$uVm& z9Mu%j2fgWM7fNiRAz)L$o}xPNk=)$@>?p9G3P8Cj{)T>Cu2M2Vpp+J}PlLOyvEWJX z2se86Whi$uH#qFT;TQPU%HDu}drl$P3#EFm1XcsASVzI?fi*>7(#tKtx`BNq>&lMW zIk9zkodc@N%bGVPJpCxi5e`x%N<`bjyZZ_C;da zWQVCSGzM0@5&8Opg7@~|eZn&;V(-(za-R#wO_B@yA9|xNDg~$C=%opnjQ#-inrjcemsKAIZ5Rz;?Y9JHXe){<>qDY|w=VA5E1EYjfMG zn!6Ic)du~h8?k?1R`Bi%bUp8oI7@z`mcE`q^&7FbqAqE(w>Cp(8+2w~eqnU7_~;bn z9bZ%MUbw6b_GKn364#_Q3`5z)9$>@3t_kX!W&`=xhm>3>D`WPJ=`&q)ko{abADh0A9Nz`K9oH4ynvcmb z#-3s#8()u}#i4*{D5h7t93bye@`igjtXb#lMS@u z&5Xybr8bacOdar}z<*!u#YeDaU?+gdjj7KzzFokM1N&6U`zL%#`^&TM_jw|=D!tB* zdUCrKqp|57xhrV=9(~_>U|WC{-&efT0&ED_cX@VWU`al-gIUK@<%zqSeHXL}(7IK$O6y*7 zkEzDq0rGa5f2eN*!Ty9(!iZWbs{6*OqMYg^LeZHgMJ+guyX>!%d_wD+At<|T9 z50=hYflD>dad)O5u)y_)sR$O+*iTiCQm?vQh2Wm-=$ezxaHt_R50QFVj@98BXCzy2 zd;r%vY%ve2%YQcdkhgwpc`M_cGO7bx#_T10t#?<%oz-K3nj<5b#IXH^$Fld+KVt%hP8q?#!rOXdV1Q!P}%5 zwebByTcDKIb?LNNuLFGoT89o4ygv^5Ib1Ug>s90#7iW%|#IZ(kyaL5D)ZKYDd1$Tr zO2PZZgQIni#z2ymvz=Prj(+&dg7gab2{Bs654K0_cV(X&jOK4KE`u^+ykX}8`0p{4-6=jpl*jmt!w!C!`i3?il}uW38}qGi z7rf^O%^x@2nfp_z(PoSO z;EZ*Q&C&Ee$0(=zaKZat@IK47+o%7x?bh}V*4w_1?g+|Rw%u+@Z#M#ezMT4|fxloM z<&4f;7=MA}?y7C9hy0-6y*!xDg#Mt|e8%RP?@g_~yVraWT4P5G-W}+r$Xp@hEwdA? z&zWatmKZ2*-|_)y9s1{j_bjz{X#a<_Ot<*sfq7Ps8a!!51is&jcj90Bmx5O=evHuz z?Kq>io-GsEC#5SZ^C?PJ_CRm&r0<&!^+IfZ;_LR&^6YnfhKTX8^}Fdm=vDr*;N2ha zm+^5rz1GavQr{NMu$j8$p*3>q!tqf5?d+GFW9>~gg|%&3-TkpX>U@`UU#uzG%)hV? zTKgAS4=HVju-}b`Y_4Jb)Rf*&)~@QOv(TG9UGQG5x-H*N+HaQqC+XZIAK99O`l;&< z{0F}&xVui%=ow%7dlq@u+fvE-_g_M*=|9tTS8VLrov?OiTC#4&<2}^vB=maD7F^6u zST}3C&`+*dNMh6C9?K3Ec;YZ`s6U>^gr&x^vM|Iwd}zE_k`2lBU9#h zv2mpk~>oy0xsW{nxM&#!9C zoazN<;@PKz_|jTXHv`)bY!ACaxWw}87J+|#~{wzJ%#F)vI)>`w7)JEKv1KBLQE%oAAJXyjm?D747SyP@6FbYXb8 zk$0(lH~T4GcsjVJJdCZ)+#ERFI&)VPuV>S^ZUN^wIClj0aco?hJ>u)Aq0FD8_SM>4 z_Op^zv{lULG2N|og$c?z({kE-y!d%}nbfA8M69u;tTW@wEtC9ksvL%*vUE6}5oU(( zAR%cz;Ahi#s@sM9YCr9r;#uWK*Vq|PJLNaTm!LhhQOCxbT;|$R2*`* ziC%H zjN13&-?;3w_d}kYEPZIp&^X#b8M`Rs1%Z7Qv-NBo6>XpFi#1%5Z-OEr3^An#Y+lw+ zIj1P6|MJt`F`oY~-bH0}{~__ol<}uay^HaTFBAH+-`Be&2i{WGN_OPbUI!?nzUQ>} zg9lf}kCrN9i5p@}?&w`sjlf@5o%U|^<-5PO6yq;@7oFJp{Uu(dEw#HSr5?J&lreQR zHiU#h$ip#x=l6Yo_IY}jq#ykJ&s)uIQNUyxCAW*_{8IFaX&C9RZUNgmYy^!M6_{9f zM=PL|#t+if`|hScu0QRK@T|5^s1DP3oMf$&=+E-Oq_jKd?t@VEIxBj)LwPvpF`+4@W zckSA>_pU=%4b&g7b&2XPdd`Keu`jgydtG0vabUczy6NseSApsXZJ!%|sqW8E+S_fc zZ&|0PuWj^E``B-!@3o<}?FH52+fU-Pp`!Vp@_8aRP@kOa+tK;t#`-q$v1^LowEbcD z3cGi^uT`wd2?O=ltnONlDWmy$V>{UIbRTM4Vm+Fp5+5*49i2@-<6(}%1_j+;I`@BP zo@Vt^QhxJJ8K^H$=3I@jqOnf&Njk@3504l=R_qb!xb``!C5)9RO#%)5f+ywl`!uH@5AibZWB} zvnbn~Gl$!3KJ%b#RoOmg>GT|mw)ZDbi5@TGe*Y)`{<8+^v&~<9K)ZXCPjBu%qHBob zF1PzF2Hd%$=pJD0H}iG;6L#}N8{I*w{banthVp$vzPDN)4d4Cct2w6iE%LR#U*>u8 z4fAPVJ-{M^OW0igADtK~c6?19v8pj6(4J^MxTJboP) zO?%Z#>PI~K$nXEIQ2(lQpR}^K+>1S4wpDS==-yd9P+jT9$#t@9c8_MY=q;9xIh@ z`gsHOE6IcP(4jQH;a3fGpVYh_HU`#|?m?wH(b7eIM&lSr_x9P2r2Sz^-?8zov8U@l zCd+-oRU>quHc)@v(nf7Y?VRWN=t+l*dUd;Oa<5U?eSf>2*Xn1k;;dAhdn``0zvvvt z{GNmCo&;TxW-8&%gBRsH?E;-|O}2e>{LwN$WInBHJ+o{;9KQ9VV*s1a)D-XK3kTe9 zD-UkENA3%8H!}4{kJ`DNo`o8Ntt^VX9=3UKcG#PO}15}#OrO|k;y0LreZJ*C7 z?Hx*+-sh)EKUMk)>9^>!+h-Jt?H0fXIpHWEt59(685L4y{L|(cl27H!uz!B zsr_U3jVj*S*czo-tTbP;Ak%C+tIwFP-@#^baSClRcaO}7Yjl6-f5X@IyNrCdxOBih zS2cuHeroO7f?Y154d|7B?wrSLrJJsF*5BD;^XYlgveFuDKy7>2JMC@UY&lF& z1JRDIiI1D2TD%4NdqVNbiud*8yl2OKCH1?@eS6;M9{t9?pBtUu?~CG|qig%>cTP_D zf~Y6T?W+fOIpOoMplNcO-E5yen-fm|rmm-6^S?7EoUZ&9)95+vi3ddngZ2?*p7~XXZ80vELP1Tb(3(QTF&=P-}Og zw58HcvovpWAFK5%^WHDb}09iO1tc)f%?_W z*R0#EvpqAbXMa2D7(ReU_exmy)-FdaRe8QWQ2&kz(H!T%Xd?P0)^~#J`CA5>-WME5 zTO=)hFT3@5)1{p+ZJEVk3B)qq^Koi8qru-C1$UU1waYFj16ctSD$ zH=aRb+t~k><_otExaT40yKT3L(ssFn^N8AR>2r2b->thLdb;m*)19QR-lNa@vYf?J z+SU5(<_3-NR~LVJy6@Jt1nt>w9Cm4zDb4wJ4%A<1n?_mvOlfoo9;dOseT~vg{*Jaw zvQM<@3!?KXwkO!nYKK3aO!IWBgK^jC{)2l5>Ni{dTCDHdMcOiH%XNOi9S=vxVeQ)A z6s=az73;Tcf69ULzlt~FhXeKNZTx5)UpKDrMaR92^ZBmsm)eHgyKknFuU4!X<$-!# zpIgh;7>kG%+J&n;$*dcD?tA=JZb}R`AF`{fVSpjcw8rE4ml_<_@u} z9~)cL@s460Yq5^D@l)+I`hBTp5$^jg;FZ;muy z+V}0;hW4AcxmVqO?r8H3)nv<6k$wC06pQ~6z5Cp@>mS`^-KMM5`Q;1SwFp-SQ*TiF z{c&S`Z6BE_tzX*C>knVwXnQo;wDv*mBkQ#-P;|Y``qeuW&wFCPJr7H-nzY~OS{qs= zeZ2H&J{^rCYGvtpMAWZ#>!a!b@qF8F% zO=FVozHf@Pci&ONW6e~o;7P8jbuO0%nWk97%4O@mT(OoZ*6CKRlN#$@mOkpK0r##| z<&i!o8XrHYb89-D(4;DR(d@5rOlJ}pT_fXD%LdlR^%IxpQ+#9 zTsC^FCIdPsuy!$5elwmPsQ>dn?*}$^>nNa2bBtPrn;)-Iyphl7I;7Q&-j1i8RXcw4 zK>aVqJ8Sxw#`^R(lxDipY-ee-*tj-onXczci=MfzHZp8{R(qYlo-X4zwVHjR=N?a0 z+GVQ;>Q7rRrA?2C(RD1lwMdtsnyOvLELsuB4XEalhz3xz&m__Rjy!F*Slf5!PF9F<-&X(fS6y$?XYX)3zKrH9S}~o^up=-x z@z~Fv%xRx>a^oO-zO{BoJMN55AY_$vj^dOR$G3Hq@lw68vBQ18YAs*Y8V;Y5Xy0vr z=%FM0i3(d$9`pV-;C_3mJkn*=@2@GUu6XOzg)Uh{=l*Qp9eIoDU+H$$XKP1|@$R_z zghUiSBfppB_on$p@uPE#2Sj!8tt11z>^s`yqZcM-k5dLV1+$d%-=I$#&J$c{Hn=mu1iXW1xPAKD%{{j$Q4! zUG^iRDNzUI-rcP=Q)i_<#?p;juH$2+d&|cD{vKM6E%Ix}Gvpv7o^vTkfNKc>Ru|9UD z^rH0mysq_iIcaxD+kkx_-9D`kq89f~JzzY#m(0@Mp|tte2I{Ny+0~II{mti$a@{wz z^kdqFR+g8PcFgNKKVxaNSh?Sn=BG5%&3DXg+TW#TOwckxf8(W1mKKdMQM*_F#B;@T zQmFf|)E!V`1=)}7AW4l5*S!aBVIz#FFpOAlX-9UYf`A20;^;3@}bsLSGljQQI{KJ6(_uHtb zT}N}B#__kCH{I1d-dS*0=1I5f`is)XZOGOml(x1-n+94O zqA5{w{1VNbJ^k2ip5>p6NsY0xam*AQCm*00O#2J^>hmnmX^Iv6*Fb$CdCs>RQq+Iw z9IPIoc!vJ(71hIB`7M`Uv~S3Fw*JnSwo2MhlX67kf8$<@#`wRF#(&?&|KXRH^*~d* zm_Ga#QD%#7d#_VohuMZ^exgM`FERvR&7R|NQ z-kCq!__V+FUUzbp{%oauSIakgMxxT%y!r`gS#Pi|MEigG__AeN+Oc%c1wCym(QYG+ z_KPj<(s(*z&}~n&jI>F;(ri0vvGz4t+RF6?>o?f^HQG;mMr!+LYuhi4M}~dfdkXv5 zfvXdZ8J+rCj%nwjq!OpeX1yz8XRmKL?sMn9?E&TjbBG(fW=&9kh|-I%UKCmZL+Kfdu&5spo@4n+(<||X9r;Vq5qB@_dum$BYvv08e z{bWDr_#7tPQ{1yb`~ARO-(Ra(l~IF9zZNKdP1;&%*XpwyL$$vr#~M}vjn^FM4rJ|3 zjUx_wuuWFUCf=>%l??~$2PS2V_SN?1zCwE%_b$Vy>Qk&Cw9z$>wR%{hJjRV4boZlb z8>NqHqvI*v7pTIH-!D}@mDjzUPFxy?`3VvrQ3CNK-1$(6#DQ!cZxOd zHeK%i(eY{aUY(zK@1T1QnC6UnQm=Lh9l~f_I7NH*JY~H=K1<}&o77#$G04u3r)An+XJD7-y{@0r)j40AF)E?!RCYYasRn}*irn0ZEH1p7vbYUvptjAXYb}UlfSF&w{@eRvG_BjEt3|_U8DV1 z>zAIZ+kL&$T~C?pu6i5De$6L2yk&~DOtE&^X0SfL`8;A{Zji1k{Z8$@?c4pnefDJU zHuotWWCt5$K4aG}USM zZKG%Jqo0LL89jTC(OE0O@Yb_O`;+j>%i7h0$}h8hquz7Mw<2wlv~%rTPc(;M-j}gw zkBrrLrh!rYjP8x$fOlG-CUtE;tG^?GJ1BMs$kXh_5Q%Psq|*=R7$+US;UB$VB8d}^ zwo&Qys}2mhl$>Os)^TYEL)uA=Dp{NEMX4`or%s<6#XF!c{WSjnWtoqj^_jyX#s|SIJw)>#Y12}g#abtAhP3F|hFD?uvF^}I_tsmwvG-{_OQkby zf;8{bjrew~5=a{*?F4<+If2mLr)cL*%r;ZDTpL?fwo_$WE!$?vzS8LbTJB@CKG%9P z^%yOu`wohpQ#`y^WWKgmc@%aVtOrRRE#rQp-?00)^-h>w+QsU=teviP7_YzJejUH< zK3LyHpWQLH&M7U_bIWvY@XJvvj!v;fbvj4BdHKf2%ULDKOPeR{{X#bF1&s4SbRVp0rlqd+dWG9N4Fbx;>SEdh zI{uhE=+0q8^XjNBqVr_wy0Er!s(k0l_auFe+RZVIcC%QvHEnFx21~L{+I!GF8(rT` zTP1C(w7=@JEx!KNNE^4$VEsB1qBhQHKI{L~KCQfO%BLuw=-4;vE2H~5_g6i0wnV;~ znP=oX{z08Dn=)AcgT-rEH+zWUs?-%|bFug{l_r=vShq3Eoh#RTZNA=7qdCllt|wFD zaC5u!<-1D0JJ}paV|Du2t>u2iXm0oF+iVM~lQoLBVn60I`flUX%hD?Q5B{(GW;I&> zhjf1Ez`^<$Yui!%M(c0aHh-qoS1qc3)rVSn&zJA&g9hDsOno$bhd)P+6K`G4Cfr?`V8cdV$kW&7L=rCFym&uJA>+f(<|anGiDv*fub zY7e@RxXlbiJKgIxSPY-w*^L7>_LP;+oI?ide@y1ijj^X)yE)z3&G3nadVN>t{XbNH z{>4TgZ*@6N+E{5{&}Uo!^gEw5zg(#If$C(tE`Btfl-I93nuVymImMcwSWhHv*yP|tZ+j`a;!4+#%SsUw1gUR{O^gEJ= z^^>7JQ@70~JJ25M*`_Pj2D33Dr#$8;kGu8R>N0&?t2-p-_eM{qQfsifOeV(e`BZl( zZB1#vl%$R3)auxh>x3B{R5u+H>sKVB$IBxLrL@*=-cYPDM-JA1(_C-z9ClB!?xpT_ z$CAU_jWxsQnX^+L)_nh{!TM9pWz$L|@6^iK(*T-QYp=c|Ta>AG5XUuA^%&9FlW2ch zuJ~h)9(2EhQN0b@pBvjbx=&=GHp1}zS;vCMwcTpbRhvL%?|($?|Cqu0L#)TJ>r_!& zkFK%KAAXOP=Cn#TT`|sAjN_BKjefJ!a=gNruIC8f(|(_f=7V;8x=is_e&s*ZtvbM_ zx}9uSBb%-^@879zNBl^~zsC*MKWBaFf1_@-;%(|yo$&0obsO!g)+f$UKK`7+`qcks zK6=7>n|ySR_igg2D4*5JXXIB0>w8+?+p>>E_ovyf@vm&DFTGW3&lX8*v`>qqV-Ouf zHdXXAdn#d5MJwGiElyMW)LXPVwQe${<6hTfZ=GiQm$j+ot2F<}4c5Pz9Amsqzo~OS zhqOP&h|V)kR=hV9Z}k~EW}%JJ&ecZK&qs@<8g?$%W`o+7lk*4~<=l7?{8;w`&&uQcnNPAFPOc(!f&RuwJ6~FcvT}_wn#V>Da@91$ zZXpqu2l9=~Uw8Xd7F_vx1t z3ahJpd$`{rSeaKS&JxAh$>M0S*pEqDCGAxcbk9TjURsR+jM4TR{HE==Z(o)lw<%eu zzy6=-cx2&VeOLC;_WhqdE6!T8DnYlLtC!wC>TS|3Bs$CJ+Q=-$oPA#Noc&a3b5oj) zjfdwPOo6-?yvN?w*wwWm_ZLO}0*| z8^+uyZgehLeY*XM%5FVK_PqW2&UAH^DC&4ty2?_R@%o$en9jdkz#LPf)qFj3G*qY6 zzmFX@=s?)!x4L?5`|oV|j<`^B?_{3VasQ3pF}rj7`F*rM_=>ku@g^=BOnyT$zxzv? z`|1q14&&|jWp2jcYD?7oM-t6i|bqcmcR2W}>a}+nPxV!1Ix1ZJ5=k?elz20qp_rCfN z`4r@{R6cf&)EzUZ{^$4D)o)d%yWeYteBO}H+2*7EJ-vV0Lx+yi?x-VAw>zq*3gq^Z z(oDZZ{U>R7R)>y()A#k+&p@>&w(0F`8&3F{&c7?h!em_UIM{95lNqYM*LB3)`yIJLi1Ur+riRB`}Q$We`2c@3W!!8Wj^J~V) z7Rom2YR&yDo$g7nm$sTdTl!q-7eu;Rvvk`YdFd}pkFO2b_E;?K4QWHk_Gt7K!;eFH z`fYm*zvS(n!&6nPJFXc_o;70ac%8K6(!M%EU!v_D#gFFxEys+}GoC*CHggGEhsjUs z`1o6mJWQJ*ZI!fh_1PBF=12>!Ym5W7u6b$Gq;1r^u8p~J^lVSgP3eT^Z`!s!cOBvh z#p=Iaa|DZ}C9A)xv@MD%TXX!zIe9hYU%N{+?>PYL3+C6(Iy01U_ z9ns=m+ZY{goYZ`){e`kUqTkG(s=Q|1Ht6n`9oC0ux)-PqSMTcj@V)zvjJ~PNb~e@8 z(n_UYr}SUfXIrdYKOrr=UHekfKR5Q9mUGH_-(FYG4ei@?)OT3CEh;)*`Ht?VNXG1z z{=U(6qW=Eh?YB#GoiR|nIf|Dr4c0$ETTI{krjE7yh4eb_WA8I=%qp!=w%#Shm~;1F z{WG+2n>VeJw(_3A`W5e&{jgdB1 z+C2J)^!OSbSg=`ic4}mIyp5F3_UBM(XMTS$xlgW5Su#=YueUlSW!Yap7#y!%J`vo0 zu~e}NiuL^4?z@aj(eLZq40?J~?z`G=m*f~`#50=j+^0TB<+mm3|D}zP_AwKpedVaA z{~xcf6J;AO+p%WTJSKG?ihh)@Cab-DAKjEUPUft9=g9Y9^Hm&f;nPT`5r=1nSbpcr zZ<+k|#ZS*h)BW47EX!nDBU|)dzo;zk9i=wDm1SEi+s`eX=C18XPaf1&d)4-6*vPuh8jNz#02 z->|$J<4EJWLNtBhcR;}@>MVwjQv38xYd4vQ+U8Ql4-`MXUJ|u`X_KVI<7J?%S4o>H zEqXt*&YfRkw@GqePGioopJs--@4#kb=?SaOPFVeqT&?Q`4-VE3(`UE6yQ3GYTAt%% zn=M;(f2+Qm|1Q$zN(=QF|NU%xS^JnS+j7~KnXS>cxp&hS8as@&kGy;*Jk;3kjrMVT zQ~Ovhzv=SZ&SFM$=Yws^9M#h**=EaT^9)<8%xk30m9}}LIPGO=d1-NdT3Nkc>UdAu zC+u^htg4~;BXsAt>wjgkm=ok%kgu)3EtWozwp7|4CPe9@Yd%r>6I#;Gk#AYPqs&*! zWc}r(Jt!^iyVB?NhRtVH=ItKxiDpWXeN z%QU%jWA_Bv`hTcvux8U@brMLMCM_2!PMa=mxwNQG@tZAeb&EDnnpYmI@0UtjkTyx$ zR5WWN%cPwuEt*S3`+qd!JjhNwsc6x&6tn=S(7IpOe&es*BlXK9EmCs9057rN|dTER=$BfP#ne@$5 z`o65s?#>JK(*;*s>a^9LovLJO6k}aQ?NUw5&NZcvoAhFcg}u6@G=Dwy^-Z1Oo_*0< zPntBH_Q-z0taHTC|l|Pr*C(6F*uLkR@n#%V;lK*tszyJJT{kO?II7;91Y;Rot zxw4;J9ZWqV$l@21_={z)%f3^(e5v|bA$$Mt*l&{ce=*5_wd}w7J#*{W-u-A2f1T`$ z{xImCi5%N|o=MV=`Sl2I${#sqO6=<=_KC88;!o<|Y@VIickGGRZ@TOU{zd1yY(Git zbJvUQb7jB%AA|0BhlzcM?%2Lq_J>~`bnn%Q?cI+gP_7$=(ejEF0*`Ji%j$s=4@0Fxq zC;LBTU)E&5HnETS%?R&|HwNo_H?{9cjqNY{jsNVNe!A@2{+F(OH>H0nNk3Qi-~6ky zeX;C||IIbHWc^np%Vh5qf4c0)cXhVUm3_DFq57<*@*SGQUo87MZ)0B}`=hdV%73-&SM+qYuaiAH zV#xh=AgSMrll;g0c7*q=?7OGScXDKo_MeHe56J%Iw7vU_N&4xs@6tPzI_9zZo0iz; z%KlZ^Kb1~@d?Ws1+0TNv)+)q&p%Gz{g=q@E6qgNKf3-pcb4D;F8`Peu%Pd*>qV5okzJ~#H$OOkw+%DzK8V} zI6GOFs_YNTzG+im^{%9^@_wi5a-)apho|%CIXKx@ec4~zXsG^Xll}F?9?1UG#zXZ# zHs!xI$v-Rm6`KszKiri6Hc9?@*{|D7c00!s*Hh0n$yiX7{nqyk)xX}9|ItbQW!c{t z+qo@NW&fA#(Q#88KN}S{6@ z>!JEb(|H^lC6CteMcLQeX2{L)<2>AO64^)mLGulzkB$M_*vHBKhV0YR@w@j=$~Rf| z35p;6CMZtdb4F6WS+ZaLfuWA$;R4xTlfBb;wM_P{#tpgSk$61+Y-9aa$-bHF(K+|n z-t7i#+s|H<{b<>zSostCo=N#fyg0(USa$PG?5?|s>Svtn7swvX2b1)3lk}5i|Gn%h zEPcHG-M1(9S+bw}!J+zrP4>ML`vTdQ$^LSa{SS$Kne4f3hukxBlK77&_EoZv`_PcP zcP_TO>8jiQvVU6kN1Nh5l%yZ=#}VEiWWT1#UP$cYWS=>HsJ^7heraN#Ecn#O3b^H?RyW{W96hA04WXZEF7;CGBgK>?=Pui`yTNp?c=gfPM81mD7oAIvd@=&Zra}MCX~Lk$+ABudtbVI>g&7z z?P8eEZ2A0P=ePG+B%hl>69m=emZ^YWX}MpGoOH z*ZPzXN8N6;PH)KP7oQqR-J7X6J$*@?j{UR7*j?py+&SGi|9xB?S^3|P{Q}ub>G<8ZB>9hhX@vLQy@uRxb>s9i8tHeD z{e80E*_7UGC|}wP*>92k=jr;f@&89r6-DbXPd?N48LIErv<^Eb>#$Vz6ZRddpO}u( z^OdBIAC&#a`w!JOPq(|CO_FW6R`&9=A@{tAcpZA)li1%h`vF7so15}qn&iL5Uq*O) ze`YAThdOGH-B%`cG)eX!$$nf@{zoS9XUabMb3^s#n(FAOB>gHpM?9iN99%zscTdZt|w=rGtmuxwbg|S&ePH#b0&aUG^)R z;x9_#Pm=wB&kuDxPM<0J;j&Lkr$4a~f1d2$cpLjt*{_nlT^ozmU-l0i(zy+>S*T&~1>3!KRkp0&5HcXwX31r{ogrWM$P4=%Q>9exWmVI1P z9c-S|L0_jY|6jU&sJrBK=z%} zcFtw^ru|*_2+4kU+HT`XYJNCQKJPkZDD^A>jTLVAi~6z2vTr4O6fZ7gYW_6qKiC&w z-!)wZHwBO4FO&U~ihpF<-u;E7j#tTky6h)5*}oFmtxPY<{*>(7r?-Li#al$1AWS=4Xq;x&% zl@wM$TgPd#&&{{Y^QSE8(NmJ5*{H?H$)_TptD0h5oa_$;+4nhTD7g;j_Q&Z-9h79B z|2FoD>}A=T=3+hFN&K4Zx6dD{@2|2XeMa}5N&Nnr&V9U%JtKS90?oyn_SeUg{WX;R zy9?DPHN`(KiJz1GgXaw;*J#}O9hKM%vY#k>r!lQ0`>$lbu_=Dz+-F7hL(lKrU({q@ zD*Lug^}l6OKmD)j+};I4?*4+f4d`)ORzTZ+8QFhv;ZSnj)0KZpQvOi(o{NT(>*kT& z?TS(Qob2zGeeZPnU3VMV3$pJjdsBb4$NV1aZY=+j?4j%jr_-m-EmdScSN6x7?2jbn ztI3{OG~}K)8LwaWD~Y}TwGrO>7q_(G)VbS??8nG%*H{|u=j%~=Us5Rh4`shRZMXh( zLF5vx<6Qada7pKR&tloXEqkZq#TBxzmOZ*=nykZx$vUi-eafYsx6wM;Pmw*kha^s) z+QwsE*Y(T7Q2pQOb?9D~#GfepxtDc5e>PqAF_#b3cTA^uP28=&?AyrRH0E?4oWx%& zdsg=2(&%a*U5hDRYUH#hw=KS&KHbX zr(-qQ|Jkbo#P*(AuNBbR;6&N4UOH4it117Jll-U4K6ssuZJN?Qn53U8`?br4>fdcj ze@BvjvFw>!)IOT*g~Yx>_FHf5e13Md?2pO5rm6m(PU?4^?D^Y<+%@}n{Z5U{(fW-U z7~$O@yItQ;*8hlxeWL8Q%6>}P-u<;C{&d;B+dJFm%6^FK`=rymX?v9aV%g7-{i99W zZ@Xmst&siFJ36uao^X**lE^V+J)2-r4!saiZ*_WWP8apB>!V z$8_0Gll`D3yF2(a`&`+V%l@gR_1h^~zs0gY@*TCWru6Ovyro|u`_^~qd`Q}UP-FY7 zmi@i5U!S&jUzKd1b+Rv!{l+G{8$(R0*Sj{~L2dW;uHM^6dVlWjy>X=X*Y)l5b0ar& z_DvUe^}fEISLp5i^LpOzde83C7bP39r8W8bwP$plaI!xAysP(W-z#%{ zi(<8HvOOkThqf7UhG@mb=1Y(-ZkCsYa|uAPG8#XeFv%kC-&jl?%o^5 zcz2F*ZtprmysE4B=Uq{(ZBeI+&vo?(_^1g^{{c*2AlPM#VdB{HVh}L$Wa+jI>Ph5*L`u%lf6+1?9rgMHYVTK{kcP+H)zN@=;MR$*y?#tcYzf4dG&WL@t{z+HwbL)5A)+@cZzI}XVeSNI0 z-@9O>cg0BOZE@>e>#giM;F_NFI`>Z8f3e#VeR7n`m|u0D+x=vpchv^H5BKT$R6p<1 z7b_iGb;C=$U+((rdfv0^^$xn7#0>8&@6^CMHSkUiyi)`3)WAD6@JxC@*F12`E@h0|aNr^6XA&ZiSUbdxKuT^33&>!1$ zx68HhvP~*ZI*$n{|McPLH&VKdG;!W%pj&Kv3}?LDozm?xY&=fglZs=v^~CzIj3-w1 zcf~=(vr}>UQu?{6IPvd>%zVc8T)kObJ0}&#KR*>`v^laYO6l?M{LEBH={hx(EQ?e6 z#)+!u5~uV{Qu@-AzG+G?qTBlFBuuj0gl^kpGyPflZCReu?e~7MerGDqds2ESkmoF6bzi|Nm%;*3Kx+pkh_K4^j# z^Z#us&bE>2^gpEHME4bA>qfWj7@aRiAC>ao4$bfNU47#hE2y@&n9%Af9U z-_Q7A>$^wF|D*Vup6+iymWq?^Z`VudlT&f7W8Q7`lkPt^NX1Y0pBtw1bpN?=N>BHn zo2B%0|M}jOp6)-lOzG+Vb8B>~pLG8@4&B;Gy8qlRrKkJP9aC}A{pU_8|8)QP_YVE% z$5V0A{pTlBank+gZs@kX(*5V2sW|EWbG_7dN%x<7<8Rw5-G5F=#qnh`yDj^r^sV*X zbo)C1-S)dL>dzL_S2KUIavo};7Slg*wd)_O{>PyS-X^JbewYa?Tcp}~bbS~7bE)#D z`@NfPYsAmuYxy3WDrdTX`#idB_q0CifkvEkzxNFDcq{)b;v4=ewO;9d>`>yHf4Uz# z>UtO7%9ifO4o{Uc-H**ml{4LsWznsk)BV`)seIG@*h1>l@=f<+`ug8m9;F|#^|2WC zXUnmv{L=ahsea$~=h%Nv%0I0?o!Z`(hyB^IHl^FPiuJFj;#mI`>z1b7asvJ*!=+cb z?Qk03=fSh#x$pvbK0E`S3FG~&U7l&}BK$9fH?Uq?Eq3L&9Q|r|ExaCH2d{vOVLVSt z=hg0WJTAriTYOv)&pX$mvd%=cU2o$zk>T^Pr@kM9q|pTP=@kMEx4`>$aY{u#as{|UP} z4-n_miO1gI+R3fobUcOc=ff-D6YxBEIlK|x1s{YzfotGj;lJUiJ6(S7h1&@Ok(Od=uI&4Ys@oZUc9KSF*h)@qIFEZ72V) z&!4oG=bi8WZ)zYOXHPi8eTu)I-SWNA^8LD&@3*&nzrW@Cs+RB1w0vL7_jvCAD&LcH zFTTwj-7$l4@qD)**f|DU`v2jMj%^NXi;eNN*j(9`vDj@cY)fn(c*{M?YrIX2w76V6 zFPQ0O2=1zf&c9sa?D4sy=g)LC6`wP*IlL`|@m|_!eDpn@XH0!M`kEX|#OJc?n822i z(`>fVIL9@k+kKDAS=u);dv=UvOPt?Zbyxo7p7XEsJuY{R@9+DyE7?E!{+_sCF5El+ z->HHBD>aZlHvhkp!8<|!e^CSe5&yHrEN1^_d^X z8Ri=S3}F`LU>+7=5td*XR$vv@ptrS~ar8qUW?%qAn1wl*hXq)KC0K?PScNs{ZA1Rh zhZz{a5N2Tx=3xOAVF{LD1y*4VdLJNv=)(*QUF2EB3Q4}F+{ z0SsXl=3pKcU=fyJ8CGBw)}Z%6@`pamzyO9Y3v)0J3$O@Funa4(3Tx2grr>_)!wd{y z2(vH;^RNJmumsDn0;{kFy$`Ye(1#fqzz}9(4(4G27GVjNVFgxU4SM6rANnu@0~o?A z%)vY?z#=TcGOWNVtU+%(@`pamzyO9Y3v)0J3$O@Funa4(3Tx2Yp8TN?GcbT5%)%VZ z!vZYA5-h_Ctil@fK1}}5hZz{a5N2Tx=3xOAVF{LD1y*4VdK1VW`Y;0n7{V;f!8|O$ zA}ql&tiUR)LC=2hqNN}DFarY^!Ys_eJS@N>EWt9Yz$&akZ%6WnKFq)XhA<0rFb@l` z2urXGE3gV{(EAAaLmy^f07ICCIhcn9ScD~5h80+aHRxr?ANnu@0~o?A%)vY?z#=Tc zGOWNVtU+%l@`pamzyO9Y3v)0J3$O@Funa4(3Tx1_-^5t^gFei_0ERFNb1)AJun0@A z3@fk-YtZ```9mLOU;smyg*ljq1z3b7ScVl?g*E6+B!B3`3=CihvoHtqumFp&1k11j ztFQ*Woyi~iFarY^!Ys_eJS@N>EWt9Yz$&ak@8jeTeVBm(3}F`LU>+7=5td*XR$vv@ zp!W&#hd#`}0ERFNb1)AJun0@A3@fk-YfujibnPGdFarY^!Ys_eJS@N>EWt9Yz$&ak z?~~*YeVBm(3}F`LU>+7=5td*XR$vv@p!X^Ahd#`}0ERFNb1)AJun0@A3@fk-YtY-3 z{GkssFn}SEWt9Yz$&akZ#VLXKFq)XhA<0rFb@l`2urXGE3gV{(A%B-p${`K zfFaDn9L&Q4EW#2j!wRgz8uSA4hd#`}0ERFNb1)AJun0@A3@fk-YtY++{GkssFn}S< z!W_)Q0xZH3EW-+{!W#7UB!B3`3=CihvoHtqumFp&1k11jtFQ*Wy~rQ>FarY^!Ys_e zJS@N>EWt9Yz$&akZ!-BqA7)?xLzsm*n1=;ege6#p6Wmth#ScBda@`pamzyO9Y3v)0J3$O@F zuna4(3Tx1tO8(G?85qD2W?>HIVF4Cl36^06R$&c#`;tHOVFm^;gjtw_d02o&Sb}9( zfmK+8-hSi{eVBm(3}F`LU>+7=5td*XR$vv@ptnEyLmy^f07ICCIhcn9ScD~5h80+a zHRw$vf9S&u3}6VeFbDIn0E@5$%di5gum-&Y$RGMJ0|OYsEX=_?EWjcx!7{ACDy%{8 zK=Ow^%)kJKFbi`q4-2peORx+punKF?JBa+D4>K@;AHIVF4Cl36^06R$&c#)5#zDFarY^ z!Ys_eJS@N>EWt9Yz$&ak?_lzWKFq)XhA<0rFb@l`2urXGE3gV{(EB|3Lmy^f07ICC zIhcn9ScD~5h80+aHRv5e{?LaR7{Cx_VGibD0Ty8imSF`}VGVjS$RGMJ0|OYsEX=_? zEWjcx!7{ACDy%{83*--dn1KNdVHW0K9u{B`mS7oHU=`M&_eJuDKFq)XhA<0rFb@l` z2urXGE3gV{&^wg;p${`KfFaDn9L&Q4EW#2j!wRgz8uVt8KlEV+1~7zKn1gv(fJIn> zWmth#ScBeSR0m71p44IQc^#W?%qAn1wl*hXq)KC0K?P zScNs{9YOxkhZz{a5N2Tx=3xOAVF{LD1y*4VdRg*^KFq)XhA<0rFb@l`2urXGE3gV{ z(EAekLmy^f07ICCIhcn9ScD~5h80+aHRv5l{?LaR7{Cx_VGibD0Ty8imSF`}VGVj; zCV%L|3=CihvoHtqumFp&1k11jtFQ*WS>z9Wn1KNdVHW0K9u{B`mS7oHU=`M&cNFWmth#ScBed@`pamzyO9Y3v)0J3$O@Funa4(3Tx0imi(a)GcbT5 z%)%VZ!vZYA5-h_Ctil@fzC!-chZz{a5N2Tx=3xOAVF{LD1y*4VddHDJ^kD`DFoao{ zgLznhMOcDmSbK@;AHIVF4Cl z36^06R$&c#Cy+n%VFm^;gjtw_d02o&Sb}9(fmK+8-ihQ7eVBm(3}F`LU>+7=5td*X zR$vv@pf{KNp${`KfFaDn9L&Q4EW#2j!wRgz8uU&gf9S&u3}6VeFbDIn0E@5$%di5g zum-)8$shVK0|OYsEX=_?EWjcx!7{ACDy%{86!M2Y%)kJKFbi`q4-2peORx+punKF? zJC*#Q4>K@;AF2EA{P zKlEV+1~7zKn1gv(fJIn>Wmth#ScBf_R0m71p3PkNlwz zGcbT5%)%VZ!vZYA5-h_Ctil@f&LDs2!wd{y2(vH;^RNJmumsDn0;{kFy)(%l`Y;0n z7{V;f!8|O$A}ql&tiUR)LGLW`hd#`}0ERFNb1)AJun0@A3@fk-YtYM+KlEV+1~7zK zn1gv(fJIn>Wmth#ScBf#R0m71p444*5eLW?%qAn1wl* zhXq)KC0K?PScNs{%_o28!wd{y2(vH;^RNJmumsDn0;{kFy#?eCeVBm(3}F`LU>+7= z5td*XR$vv@pm#3$Lmy^f07ICCIhcn9ScD~5h80+aHRvrQf9S&u3}6VeFbDIn0E@5$ z%di5gum<(QU3dHgeVBm(3}F`LU>+7=5td*XR$vv@pm#p`Lmy^f07ICCIhcn9ScD~5 zh80+aHRxSH{?LaR7{Cx_VGibD0Ty8imSF`}VGVj0l0Woe1_m&MS(t-)Sb#-Xf@N5N zRak@GMdS~Cn1KNdVHW0K9u{B`mS7oHU=`M&w}||q4>K@;AF2E9wjANnu@0~o?A%)vY?z#=TcGOWNVtU>Qm z@`pamzyO9Y3v)0J3$O@Funa4(3TsfW5^?HIVF4Cl36^06R$&c#i^(7QFarY^!Ys_eJS@N>EWt9Yz$&ak?@IEAKFq)X zhA<0rFb@l`2urXGE3gV{(7THKp${`KfFaDn9L&Q4EW#2j!wRgz8uYFvf9S&u3}6Ve zFbDIn0E@5$%di5gum-&)R0m71p444f#VKW?%qAn1wl* zhXq)KC0K?PScNs{eUtp54>K@;AF2EC=^4}F+{0SsXl=3pKcU=fyJ8CGBw)}Z$-@`pamzyO9Y3v)0J3$O@F zuna4(3Tx22j{KnyGcbT5%)%VZ!vZYA5-h_Ctil@ft|x!!!wd{y2(vH;^RNJmumsDn z0;{kFy(0NTA7)?xLzsm*n1=;ege6#p6Wmth#ScBe8R0m71p4) zjQpVwGcbT5%)%VZ!vZYA5-h_Ctil@fZYF=|!wd{y2(vH;^RNJmumsDn0;{kFy>F90 z^kD`DFoao{gLznhMOcDmSb*2Xi-mYimrXTX$R5JHv+DaGKp2KEkjLZ3@7ClaS zQc5>1_P?M-kNuaT$G)-uEiHQNe|Jic(-&pWBG*$Y(PRJcEPMLBp7VL8 zW9baXA}qi>jMK$Df_f<)=SNZ%_Rn$OXTW3dEAV|KoR41R`we^_`Bj%b1Mf!9^1T3m zhQ5;Tf989Q?^E{L>r?*tgO5DvYjaQXcly|lAKNjr!^cmGzJBz~k51e%GjYeAw!;vu zK!<;~PV@9+(O2uOX4@X?=?w@z2KV$)&pYU2-FmkAXs+-hr9-Har z4c715;_I(n{OzS%oa~kENvSLK-4=UBz3J2XT)i97YY#bnd;DKP_kZa0v)p4}y=f|s#o3&4x~JvZ3yYn;Cwf4f zr_s;(l&j~9R6bkuUSn4t-UEoc_kte8+ira~RQ{H4`Jb*lkCWir=!JhdeOJnPv>KB6 zSKe~^2l20=d!Bo%$6KyA-tHP;%-`#B`a1NXSnqcFLBx4nt7HCQkJF=fp)1X4YG$Sv zMmW6}|DDuOO)vI3-RjGhzoUmEoqj+1G)*|nzrU|pza71@q0{?V-(%H)&A;03^l!QF z-WJ+%OwVuZ^xsn+Zn>zh0{Pi~L$iIfZKmOlWbG10ZX3qaY^ea_mrdQtW^ykn| z(S*6L`eI#)n(O2^yy{l_K85hQzs(HETyS3=o zp?|GKe;xfg^!Rzscj{#=7H1{8?N_#p9OLxtr(JnI=w$Cu^!@{#ek}U!=(ViV52ySi z^>P=BKWCCFe;nr+^vhfHRp={Q^pEIeFc#;97X2#p5ubMP<9_Uy=%dlcQO-^DplFLz zyug(+Za;(QrA1CZmyY;FJs{frgUg)$7vemv{nT{7W&hn?56*74|GtXsO%{(BpS6-5JM0Kih@zR-ylba;jU1 zmbjeRKe+fOQO>ITyS#p{=4~DMIjj0%^kUtQ^j)I=o;O7NU=wXPElbE?Q$6_H;$(=U z<{B+qp;yq={Gw$$^b)#jMLMoV&!flV$nNMNy31Yf1Ck!K!%sTpL^jM(_}3`EiXAOE z^!}FeoQ___KW=XerMGLhaeWq!ay>>|pI6G?%2PPr>G8O*9DOa@CEg$J?+||#{(oxm zU)#a|kN9Uk>*kqpzdeLrLf?*h*hp?x&MNv>>4)QbF3xxDLCK?K2mHf>U3?xl@9mH7 zf8Oc466bJzwf0aZPC%SF=vnmmomi(3Cp*K%S&sj?=>1=C`sNyUZHc$9M;uq%o_8z$ z87qL6b7-H*_C2S$oj;C$`55Pac2|_li`z-iQV(%E&!fA&-t+#TrU)<6`znl2w{oHu8H-R2T@893)tLT@WL$4m_^mntvtV8#{ z;PfJKM!nzFTM>N;`Ula2FFOBCXwdthXHRze3HTq5UPZr^iaQy-aB6eD_8KnRUYXOJ z{wn_VI+aL2-RYO0{|vo6&*|5p{{cOFrql01_k0(}&pX}bZMMAEcY1J<(+|e~GAjx>vyBa<9Dn-j6U9TORWDwdY9fxk>x!bvHefz0s2_d{S)0s*Vkz2-@1K0Y}rAd zAl>o}UUef;NdGnoz1$N2bLds{8C@>lFQXS*{7;MYey^DGBgZAq-MbV$INs?w^kvf9 z?RVde{I~Shv>gBbh&b7~E>651eva<9=r45ef3<^u&o)*+{a$PQ&CpxpZ!5iB`FD~Y zjYt1vy?8hoYBucKSWtPCo%Xw~N#J9lX5scI7;; zgMM`feOU+nt`7P`9rVYgTmAU=xdNWVdi}bC|4@hh{m;ZHKkwq4M?D|<(e~^6R)_c- ze880_th+ewtc4EW(6i|A{`(R19Qr2YyC-@9J)RHDKrf;9<9{4_8QrcQ*m8Cpho0wQ z>gPK2Y_}`PD2`w5MbE77^thZqk=|~*|2mGpzw><7W$O)~=cYORG4zdeVAU?pkG|aH z#)Y}gpXrG=PX4xi1N6Ax*af|KlJnn#_4*8Y?PRAHdR)fGpy$8g^jVbW?ARaul5S_X zGWI{i`Ol$1x5oYpo&G5PkE53_aQfX$fc_lEx!dX8lyf~D(Aj$RKj8Gkh_g9*?jfh| zGs2bU6o z{~o&cE9XBOeHD5RJ&#^Nuc3bv{e?LG^DfRJ^jFaRUpqZMfA}x-V6D?nz<__W!-}kJtAY^dkCV;+%vY{K5HOi$1@DekFPp|KC#1 zW$5KUx;PIL=U()}pPU|_Fa0Tc|4UB4n|AdF^vYkI{s8e`i{rfPbRXUOQ2TbZiS%eZ zI@IkD7g3(A(Q`AM{&(W+iJm>&>333|BhdT5fC{n9wj(M~^&e7}ue zMSlhT5%kJ2&i`A)`4hVT6{r6g-Ci4J>s33>=_gUn9i_M1zxL>$f0j7jRW8n7DNhbP zceT?GA>Ru-#JLXt%(Kq_!d@5Xd+4=6r>|oEU+EC1+Cd*6PXA#pz-^SXcRThM^n1|9 zq2~{G{&79;hMqgZ=?AjE92mzr(&=^L92@IjcKV&vLtc8jdcLTGeq9Iso;dz#E`AsB zSD{zF;qGrOEO6NE|exKWR=#>RdkN5Xaqx+XQJw9(R z1wB(})Fw(0s~z;yh*P`P#rYxia6t$EB^~r{chF1HZGXva=MKEir9K}< z_qKQXSIKvE?Ehh>$L)Uzy)wb+Kg0jMA9nGJJ376N{)t%6IDHfJL(t1RIek6a;VI~q ziB6Bt!(WeH+|}s^5a$Qzx#>>-C+qc0tRL+3c%Jh&>Fu`5ApZGT&VNVZuRp;Z7gW#l zqsa03z0uOGK1)YA|2xQcJbLzMr(aK;PojIXoxTA71JMiUpTU0?dhJ-}|0ez0DX~7s z>F42pIePwUPM^y><-apUze{p@MKZ%~3@AMt%$Nqp`yUywRk?$aS zP;~kR=p%P<^%LIU^b-15^x{oUkFQ&O1iiA%>6gvS025HKAY`w1-if1#fi83jndnd=Sv-qQ~Gvn@Bh6HaUSWQ|DuEbQV0Ew4*L2X z%JaSs`nDbPPjt}34*D@2^s_qXmv+#<-9i6h2fZTQ_EUeo4Wli)7u)v*^c*_7h4&hI zzC~Z}BQ8#%MIVb^Y|%fAUTV>ILoc`J2ccJ5^dr%$E&565wHAFLy0^Yt-$Pm7YtXak zKSuv9dS;~akH`HV#`*?M|2q5c&(MqSa{7nRpGB|qIsMDTe-S;f+ZnYiM1MW@M~}-h zS|`$Mdlffy{)_PcIC^HZ)1Rb2+ymX)*y;PxZ%juI$2ffn{)bC%xBs4qe|9V9Unb5X zbblMCUqeH=4ZZwfr^nY5A4Lx{PX7q`zJi|rsMGfy=~isL4*kZvJLo%h(5H0JXLQi# zbkNW0pkLBKU(!KeF5R|caE@EwS!~Bg&`aq5p#8+xp^6Kfe|-Hhz8;ai+K(c{=SAb| zCIR}pi637d@zLY!DQn0#f3u4}fd5OcJdZ+YJH<4&jay) zkIp;U`j*Ey{R-CWL+G^~oL<5I)3N`KPX7w}7p1q$cXkK;>mBs7h+jC!#s3xMxeh(| z8K)mhz7L~U(a%GFrbGNH{=pZU;|!pe&|e|WM!MfP+OH3F{x?ycozM%1IsG^2GthHK zIQ=O0qm$5UIj4_A|0a6rM5o8|ziKv0`}3XuDU`p4UTo3p9pY@f zt6Sg9c`nY@aXn0QdKUcy=stP@{WkPn(S!3{ocp*S{UvnoI;S7TdYv7|zuxJ8qJC~f z4{vn(vFK&=@-nC2OujEjZ&yE??(E9n|CsatD*mq!Cyzds@@#^C@u$xJ1^l;0&;QKn z-$UOUJ$T&d56}-5ctUyn<$oN#h<-Q67cZh`k9YpR!vEjW+pX7z zpJ=ad)j{9&EABjVZMloTJMq{3oAb}NHtRoo!s$8m-SD5N_}2fF(Btz7d!rX_BM$90 zi(a|i=>htw=>2y(eP{FndiWiuze>Kh#`;}OKN0^Gar~0g52pTqgr2$A=|1iA`8dw^ zoc<#5|BfDf-|6vnH@gAU*0+it_j?}g-RZ{> zfBjFodI$!b{%`8-{nFdD&+R+tlRD@JcF>QN9?b_1?~ii)bFa(zV)Xn8PM=P_-Hu*8 z$?5yz|8$4=zs28Q3rIUG|l3*V9Al zm+7tdg%0s^9rW`%=;w9NFP9#b^WaUQocE_bZ|dOx-46O=9rU%tuPku!PiOsJMi0+* z`ex|=LeHVc`{{CaQo6VS_xoc?+A$>{ziPCpQRCVK8tr^o&I zvFL@%oW2L!>rC|O6;3~tI2WM@S2}$H$2&{n_;v%TmJ_JwW$3jVoPH<%CG_I$PQMZV z2hhX2obGMvD&mi^{)p2rr<@y1YTs_RmTucU_gm-h_HNJH2|bT~v2mhTr==*ojvmNvkq+7oE&$xWo(7zSXvxhkSO3HtChd7UP z(4Xy~|E+`mRtJ4!O&HpZ3-6O2l|Sdoxh3V?9=(XZJNr?9UOnFV?~DFf^!~X{{~Go1 z4e9OjJtmH`*!jop{Im}K^E>EQb!9~(B4_a{ zt6cmOsGsrZ;iFDZ&Yw$fS3mo8&_5r?dEUi2o%lziSAOmE`_WI7ZsXSswrjj!+}|Po zeB$)~-o+V9e{~gl=0&F;LBDrThd2+%{#%TRa-Ku}zeF#hpN0Msy1%9KkFSGt2d+MI zTRHugE=EVLJoF13wJn8MW%cZgZC!GHe zT^MgUdS(}=$M^qy554qBr!Qc;Jc%Cc>h#UftJ2%$Tf@H?I{$M$w{-2{>L>G=|BtXU zkC(9w|Nmpn5=LZS#=eAxWRF21#3+?DBTGscMMyD3QDIcpwo$aGG)YuaBN9c8RxN5; zw9qnJ$dGz9|gTDw5y)WJt|Gn_o0r6|# z-?==$cAR^W>XoXc6>lB#b`l?_w)mUy;uoTa7bE^U@N^yN=c8`{kJJ@+chlb11)hM{ zr(Ofir=Ij<;ZxzE2IAc)_da;Mk$3?8^YBz-ahq2^f%}_^*Fb+59&ROW_uHR>XS(F& z72Uk$m(Mx{@IV2)QvtkB0X*#T>^zekt#~Gr&l&LG81XvrMeqn*t6#@?3?75uNxe+l}`BI#{jdZGaRX7j&K`j?64b$DQzxV>iO(*k_HDS-b{ z0ROiDUaY6`9C=0MMv142%k#@~ee}`o($7KPt^j>^^r>Ca4@KV}9(YsyNB9W1e|KI! z2JYJxSFe@k^R4u|iRV$5XV-yYd}G7(!4v3% zhom2eehWMSpUC{M3-143dOIFJV*Y&J9h}~F!u)@f{zNfxU$6Y*uimQl6ZkcP zM>66+5l=gpd(ZW(@q5a!_pjqzh(3H&`mrVS!3gxu8ovj?PRF%bA9wT&Z|rd!@7KF} zZ$1B)e8y1jP4M79;x_-!f=4P=@_b5>hkIR~&41=95C8w?FI=9DKf1>6eNa>%J8^tM zmE}``@%x6$^K19L_@B)2|IG8R=>)H8oX7ts zF7a1~JI%#y-fIbu!!2*!;fd@6v+lN@c&>nlTZ-?;e+)d>N_;bXHrzQ++~QdYkHI&g ze-$2TEqxMx0PZ_q{4Lt?5Io&h{7d3I0Z+CUe-@vzy~$4p@nQJ1aJlzB1lpwp`u6Z- z4(|;Q=d|OM@F?8+?bYxXbMzBD?)JAQ{a%R?I@~n$Y4p2^=Qeme+}I<=7r8v!?(s`h zuXWUGCHmxuy!uBy?mkDePUWWP&l_BxUw_+N0N>&AY`MWzDz_&2{{S9dExrc-pIz=f zA9Sjb7k|?G*S!wzare2Hjf!VFK29I$)4xj}Dy1)!ae1~}-$U~Mfcn<-^fjI6NY&TI zZ)5np9NrWjhsTNMJp40p`7a`#q44M<;&vbPYrFz zRRKPa7r-~;6K*LVTgQF?Ps49up#En1HquXpm+wb^>mY8=ci8KYf zsF&T(<9pffky>zDw`X1wuL{4&^~o=91M!ddlfTvL2Drb!xYcWk=`Ry+!n*5OcxsS% zZoM*t#jRd%ng2-fM~Tzw6?#SS=hiC#w|af!`s7!yqxi=r$p1S0Ek6-_%E1furyov~ z-ky81c%taFDs!Al=u;8to6xUXo6n8nL-4ozvf}vIapGmJKEL>f7r-t4&^G1A=GE~9 z=%*7;>LJCmo;YpXMc0VixLZ(wkCmI+u5xQruN4L8AER9Vv+|#V-uih0ZtqWc1ASn- z^xGLPM+)#aAK#nOn~$|u@*TygS;cWI{y1FUa-5U@hkx?>y#B>Q`L|aEmuKh6&{651 zroK(#&M|R2{^|-39~Za#f2>~7>BI9ljJX%aUuD>X^hdZFM@dVEj zxA*O=L?5dt{wMS5Zn(dS_(^;Yz%zdFUzwk+Kl{G&d&+9)kD^c4m)_2MlpjDm)5VXL z))%Z@(rNkB!{;1VpWnFXick7!`PlO;V+znuLmz%sdh@>v9)nM!+_iA$HR*qbZ-Zyx zE8y>%Pg455qocHV(040<_l1Yimq&lO%kyiO(JuGa2{SY^Uyc42&!?udfH;f8 zZ!5rODL%l-1V<-zhCi%M_v!>g`7o3}Xe1o3~v<31-+ zP5DtPIL>}}2yS^e2oJzjisSqU_rYyk9EWGB%3q_{jpedzJU%Ct!^^-EaPz4OkHdY$ z-vA!X@o5PU!)-pi03L*&h0n!sKiu{&m%|;n`t zt-Wl1i@>W>-x+Rx@*78sT%H|A(b97G4*j$6KsoV=@I3|ie2Ly)LHfz)Gw?Y4D!4OH z$ahu1QpwCnj=QV0h8}q3n{s) zQEvK%yyb3p_1S(BzDax%>w(V-@HtihFMPRt{PX2w?{%#1^8DJR5&G0h>AU5u2O{Sv z4>nG_nEwOPwo^sA}x*n`r42)FhM;a?LU8>cb2&8zpiKKaG}5dOXm@}Gjw zCMy>{7XCKec~<&L#PhYwz4NQhRA2WOZ?paog4=w1#MS2)&mZQ$RsPc{x8fDd1Mp$^ zH-@KQk$wz%>*t|u;?~c*x%&Ld9e_{b8|m#noNHX3-JkXf%a~=j6M=`|wx6Bp@@yW0 zot1~HiE}G|Tj$fw1hxI^6XaNP7O#f!4Pt}{6Qe$uP}ZvM%n zd@Mh03ea~gfcGhY4=R93;nt4fZ^W$~L+I1riC3to0!Fz!zxiYm`qbajKSP|e;891J zyo7I$yy9SBP8we}~5hiLXI_3LY9P{yXhhW*GaIq3Gc? z;LdRI3dGqA?jIp;`>!r=Us(K7eEP#9BgH?1Ti!yW#I0Sz=u>0GD=-gFc6om7H4A-s zy7VpRC*~i^PJr%a{;SaYW{a0$++}6ibx~$Y9Zz4u``2-vNAJ(RaM;}%a9!B;n}Mm) zS4MC1qz`WAH}<%Ia3*sNb6Y$7p@izEuhbLYX{~Y}R^La`9QS?8< zgRh9cZ|&utz{&2H{jZ77AfHv>@uYYe8lVY0krKa~a)U0P~I zod6GgB)%2@Tj0Kr#h+r_-3?D>UvTYi7vlf0>Aw^|n$u5wUx`~k+2rc;i+@`I{7w8b z#cF!xPGa2IxDNZo&Hv*9e7-G!|LXGWdFC|dnF-%1?4GACK>qcz{*$;}{?>o2eS>$Zef{`s3g_>$-R0T*IA6(U zE&6xi33yA!^)YxRJF&Z)-Is3h_z#KOxGObM{)wN(KW5!xar&3!jkBJs&##{Z3gG4w z#K-d4p#XhPmuKr6xu%vEe>v}8$GM^a{TS1am%er(ePLz+dW$DaJhoq(SAhOb{G(Il z|14}yeM7;Ug2uRSp`maa2mn=@SW&e!=0DpW4s4E zox=yhlP~AhUjv`FRou$G)#cedbh=A<2o+MnOW=)H=53e9;dkFH?!JD(+g^uHS}Oh} z`^S&qgBFY5M!kN5e+Iu2{tvv>66t5ai;Ys8Pr-LmZe@6-ZPJfMU*F}~{t%tX&!95;U?M#HV_v=hpJji_XCpowR; z>UzY=-G~11S<;V3{}sIFUn=)$_^6gK) z>=n2BCDy^mQSMC1otNR?z}Lg~!Eej{p$B)fb!-}5Y`F5X3VjCt5WF9}$Qb3b=1A%7 z`hEqtKP>()`ugy9vwxt$-Rymjt>7;`sd(N--y7b!n)KJehr-XPE`A7p9egkGw1D3N z{|kN<{BHQX^(yxf_+#+9{qnc>r@aCnR6~3j`j1?m9bZYtm(6=e&^LTa{8$p1^jsS4|BNNMfCGd@Hx+lN4-xSrx(0XLi|$rK=@_w!SG@5 zr*rsdcrnWDi+&<}0DLWcA-u!$D%bcb_!sbxiT`nzXY(0)rHTCPU(CzTa64FbeklHuxZN-0gCEP`)!^xur5}cWeR!v>d3{>L zo4k^jcZc7cGjI2Ye*w362EpHcHLuUr@E2bbUrsy|;r){0UEnvt7s1_W)7xgjGw{pd z3*Z-J|KN+eb%5XF@@#uW$-njg$I;J5A4dNIyzuMtX$0Q`{}O#Y_yKqm^fu3Y1Mk{Z zf(%*^xTKJ*js#gMj6a1!q(*J``6n9T!XNllJYG}*orM4PiTG2*S>amcv(uO2X?*IrJljvwIsK#^Jh-in z=McrGpT}!B{$Y(h5{F-ne~qu?-wJ*MJPNmd7=?cTznyp%!-sq$pC~@7;Ge>6ep?G~ z_^tGn(QkrZ0Jr15o$w9tp6EY>ABXGghvR$;FMmk>w%+?2-uXLm+y9ohPI1~~MC;S-ex=!@x74WXC-=^We9{yque*-?~YQ<^m#`j&GjVF~8 z&+q8FpHe)B@vrE9F}q)A?#Rc^uhwz7*PnBIx}k48UHVn5_XfeYj}@Pa|5$jNYsCL7 zrVr-8H%t6)E>1`t3JM-v$0V{3GTc+n*M` zUU}Hedj1*o6iR7<8VLYbdJlj`M;s8;=GZ1Erp+Z zt9TE}T??NIxAz0Qh<`MxIDP0pfhS)RxAFKJJe|W!O;9|Cd@8p(ar#}J&4Yu#9p|=# z`{9=V0r)s)$;aw@4f7--28Xu z<&`4T>kV;hm&Pv7)~grwYFJzaw?#h)eL3P8gueG|)vFJDB79;%JXS&<+=|b*9G{2K zpM_65e4d9l>nNZ4h4jHTe5T`57X26K{avIV3I7Q`2R;j4bh7Gu3U0?`72vId^0^9q zE%-g~*6^nA;;bh-!rQ{vcb88^;_nH6^+NH-S$7SAkGWX9H$IbGp6#D;>KlbmL;q}! z{x0h&SKeqV7b_iOXV$J(oiyAH|L zD+#y$UxoF_lFQ{YlKM77@87L>Y@K!qJP0?RtMS>wy68N7CczKGFM`j7pUb+)`okjl zOYpbRKM0>WG;e*MgZ~Ymj(!{b#$nRm1K;CvuYHN%2S1Gdr{U7y3;zQ?oAWIpcyaeY zChL>H$MW0=p3KQlC%Au)@)@KZd&9$TiKpR1;K99l`Ss@Wj(CuH<7V^uATPfY9{*JQ zLgHTqcRtI@pK^J2UfRKW&)z$+1@6pLeh%QX2Yzt0__u}h!H4jcQStuh54t>?w-Du4 zhyRB@ioOFrXHJnmg5LUJbC+l1e0h%iXXDcuo|!BD2)s9Z0Q_P2Q2gWg4}?eH$v>2z zG#zCQKFgRtZGK(?UkhJ^&jaxGlxypmlJ4?2zw`fVy>icTBJVfC;s5{0PrniWOjS8o zL%s_h+pp_H<>8;fqaCz9KS-W`f(PGHi@4K>xBY28lcYZr?sFI3+5AU~iQ9Rh`taZ} z?ZIvR-v%CeMlIMGpT6)|iK-qkpHcAiO^UxH`XkS(+{6@>t8cl_kE0JXk^kA~?}Vog zYo*r|{xIBMSb1AY9=5{crNnK$u?rrUByRV~d=5|kp!zn)|0j4Rs5npHU-~BURy?nN zWq53y^cUmP1fC#o>eY_Z&Gc`nzB;;hoI$4VtGwBH>~ZkYcgepc{*&RMdCKGn_+sNR z$5SgfhyQ7?6z z3UEL3iM7i)@Cb4G@ox`L(~kAw{o&!>YR4he_bTI4l(+xT-vp0tSHGG@ocF?m5ygKm z`ibriE*pP}`B1fRoFli1$ER2Il%3G8!zanSVfA_y?jIwE9q2!Y2dJ0%{|XOh|6sbi zwMAd-W|bS}xmWYA2@hT&{k!PTgD1Ms58>V6@u>J#cpu|0s-=SPk;cna^++A~On8+0 zI&3~)3J>s{$QtzP;6dJhavyxN@p)A|@+R%F4;~+@%ydP61n&P_{0G{-kUJq~+spT* z=DjBPRDy?m(!1&Pwz}}(&g$Ops-5Gsg8NTNZ|li^@YodT8{jhn9=uihq3~)DU4NtMovH9~n zcqC{2*%KaMopU+mjxwJgl^>PvI5Xf*Cy}A(m%(E}wU-@#Jpm8#enM;aSKh(7~^Q5@-bKflGE&Yb_d@KE=1w7GC{sZvu3HQyHLo4bv z3?5_sK(jlO&Hq~Y)I`4!9{xz=Wy)P+`s(txzvs9G9{NN5*7Cd$9;qRJdk^hlc;I*G zcTw&?@F@G8bKoUrGw!}qxdGy-3XgWK?L1s-L7wswEG!z7+=lQUiN;=7VuEc`mHBd6qZ5dNvl zv-g>w9NO4(uzB?m`e-ZV+2*%Gw@KfN`_dU+PDPhz*KZ;2zYP;l6XVY-Zx_=pL3rRR zahnf^!2OJu_V`=}Pxa1Q-|42GFP|#--){P?+CyE5&vJP1dF8?Og9&(amV9g;-UfHB z(|Bo0fA|0%;r+d~p8pY^=J=v65ol z={LfA!(t#_5B7Op$S(?-kE5e2UCh-roE}{qsV2S$KM}{2!n{G=c|N z*Hu8@0-mZS{Y~gEFwVH^2Oj`W6jlBw;&U}Tvr9f|HTTaDn0}(-)NJEE_i6gc;t_l{ z!gm$XJnSo?4|c(0M^)~j!s2Oo;9c!UY+n5b9(h(JPQm}I+m*L~UvcikzZE>i@o%E2 zzR(kXi2E+?#AmR}v(K%J!1PaS6uJh4UfeX6*=@I5@-SN=2bIR%e%T-+UAVuA9LV1G9rUJo9dt`c{`&x6N5 zSG}f?pZ+e-zGovAmeBgoQ1p=v%4Y(fDe&+q^^k$^`S9R>8ga|v55S!g@_B=Pz8N0f zAfJV2=nMPcp)G1D>nER?&r!v1?RWy7C?+3wxOrPicOv!9V=%w9hgXNE1Bz!FycazB zuDIR*HVmF>uW>z>_@}~?T#r!c?%#ig`%}t)ck%hbBIll#gx!4JX1E!8fwS$O>p_kE*y2GH=O-H9cex6E3_Z^xTW z;ZdH$vi{r+?yz36d9^=0c)sGioxF{PM{?G~H^CD*$JckkeazbzQ?Dmoo?S2bS^t2Y z&FE8{XDdqnUxx>JDV}oh58=t|1uu8Aas2~4I!QJChXVeDXKqqWH&d?)cPVel+0xs3 zrYSslvHZ(ZZg-a#cPhG98nxNae&`+cUx)d86g)9d{ctLLGTisNM#L+$V-z0ks`kAZ z{c_W@Zn1U9WAMz=>L(V@Yw*yus@Ij&_Z|4|-&HSL?;V6k@29^NQ^6T{>X`Tl^5ER9 zyhT1%y=ud28fSjCb=`UJ*kO%}OQ~01xbum8rj*nNdu-PWqVUvjipP8w!{d!K zKaV4xhh3hXCmV<5YxCrD=p)al-1~^2lyoO zKU@5I_*}S;>k-PT<191&k@9Bm2iOQtp||;D2R!kPX4+NkFFu6FI!dWo)Ny`+hgzy$ zwmvViSb2+IC;eRdXBBvGfg%jCUv2>p6q5cG>U9x3cAorifnR0%+Tw-C|5SKtwffs5 z=oi9+FDP%;&(|2gUEGc%w!jlP^XI$p4*isY;rM?BcV1QAmQdd#@DRt>HeZ!qqWt{K zbxe!1Hr&5T@!0;Z9o$)^@z{xS2f)MZ-_3s%Jdkt#a|S%!Nc~{~>*{-4o}K60G0&I4 ze*^kB&$;)7?=+uL^7#w?1w46DaXtq>2@n4&Zu4_VcSoGv4+dFRXcRk6ZFuA(WuPbd zJP#h={fD>W-v^!^t$5bM$H4upL)_(ow=FQvyj=(W5Im7{UGEvV!+D#r=(obt9OssU zzYPy>Rev5v{0HHY_f%7BucM})mX{Y^s{Hs%sa{tyZ`6eQxW3kza$B0dt;W|p^g(!d znS91EUIxNrcd6VBOt_Qb5$dH{IL@6Yx$iccVf2Ol=HE>IchYYU!PBhgOTf$AqjDoXH9z<$w-G$Z`~7VGYzt2n zQGP0upMLOIL&b0HdllT*M)BDF_EXH?Jyy(aLnt@u^6dEfA?Li)-5#&$ggLIXarZbr z@nQ16iVt3bJH5n*;=k88_j}lUl7@#mDW56w^NaC!EF~YBjJsWv(C5u zbx(MT_3CW&1K{Dg%7gxO^I`hqng{Bmp91$4RZlbhT=@JS)Q-E*FN242?(=yXo+zn$ zwMV}h-nz8%(3$pq1D>Hj*N1;${ANXB`S~6m;r!1G{C|f#Hz|AX*IPJ11PM@y?-e^YMBWy)Kig8JcQ z@JjH=WJPiXya_zRylwrbjrshj{MdD|i{a7VRjyrk9&A4KRbR{7WO$hCkM)=*?=t@{ z&h{cn5YGyDGG|?#FrO8Qr#SgZn*Mvmvle~;p1Df(y$Jsw;r^$z&iM)cpZR}zwntuo zmt3xVI`x&$t?+8_FxSQOse4}mJa|VXPq`O;Z+PMsWq1$#8n}=97P`Qv!lPfS|6c)L zWO~jwTAtUyGk410{ngvHz(YM1VFP#yp2+EkU&H-5{C9Ye^Q&qF$0@dgd5`<+8sc9A z9&N06$}zrL!hJdZ-QlSRq__7NTw(f7YTpISGuOdGg%rtQ_|0(tRmxjo`oo>((?|Z_ z66gK!=$Z1j`-Pq~|8ONwxr80qHuFiSpWMKHVV}#h`>7HTKdX0?*`} zPxuF(yj}GggTBN{2SW0<`vaH4otwqCQQtT`_NnUYPVe5f z6`mO(J_7zGJlv;>M{cHFzJx~>s2z9FACAG(>}T!1$KtE#&zHz2fPX`{AAKEoE4Xi& z`qi)SOW+GRKW}*+V*VT#w?#h{9{o+_j)va>5A{;~cHh)0<2mPzH^ZHOs(KDrke_h$r_oCdt;9>UHcKlvuHTmH_I-4i!!ZSPv(GdT3#^2I-bbs}>{&2se zatm`jdo?`7b!S_TMd0xf(x1R*E_`Zt_003(E8v+v(%XJ;6FgX4`O)ZboSiPu-q#f7 zzNT^byp2Abb05?<@Cbj;r8N3~;r_IoKY^FLUwKRRujY|o8K+g@!6S;(*45|3GXoXp zgXnw0{R#QBB+o7R$taEICahK`C+F##-{~CDmNA>6S#J>?9ET{f?A^xwz z!<^q}ivE3gn){U0dmZOHc<3kj|Bn7|^Qojf`~WZhfbtf7QhYqT9^B8oR1w|=9_0K_ z1l|)Ke@Nw?#r!Z79^rVf0{U5|=Q>e$_+9X5Z^dKBUu(_hOyz$S`d8oyj$3ble+JLI zt$eztZN2RT+*wn@`@Lo<@sbZJ53y6??sTos;Q{VLHvdlW)G_(bK!2(EaR1MzwBvQg z3s?7))6m}nkC#!sY+hOpPvqS9z8;=RNk1E(op4`2#WR@ve+oaqxSGn&V9C*!oz!&hnFe$8h9$HdYuQK z2@hVWdfD~9`{91>-_WP-`#Ir>8x{Z4`0Rtn8j1e`|H6E7?q@h^`i*j~#(JRK!^|@m zYTo#Z`M)+ie7Ewm8UNOB=h|8x*$?jxk9;p5TmN5SypQx>p^w0Q+~<5I{5E*_MV0#~ zd<8sJR{rO}pEh1Zc^C=bW}M@fy6|`5KCT1W`t}=mdb?(xVd#H{XZopqXAo$qxbl{{ zPI2y}|M=k%*3~wS+QCCZ)gRuVKlg?^Imc@wOwWB>7S9y8pZ7*;bi3E-;E}JCAN%`d zE8sEiN3wZ!13Z05BuM<*;R)7D?Hz6V;J*9iZ|AGOgU1f2UX#!lTciA>R!QFh|4Q&k z&htUd;C|NgkKof8o|vch-Gk2{xQ}((2=tTS$(5>?TE}tjggbvIW9Q&=KRi-Z%FE$T z!=wFF?gsp~z++r5v;Ol2+@Ev2^C3K3JFn08@YJ8;OBr{^;Tf*0mZRL#ZbH24zuY%v z^J+7Ae2B)^2KrT3c#L(U?e7M{Gn{X?b=vjtAoty=H63RfJUvP6Xywj_r@ATr^UqMA z_Za8?BKP!{w>=CGP_C_`Ho^T|C+duThv~V`{7L)|x;%T`%5M!`NMFd9&lI)e+QQ<6 z-3cU{x5#kC|1)_m3lH3`yhVyi?}vw3?^)hjn*LYypC^g4E8JI2^Q!$F^cBEdD;Lbgoe`cYdXa1bWuyOa-uc~i|``B%LxDtJs=bLQ3 znt&$@sm0GAZ|}h4oL8}N^c6fXLi%;&?I=9LdPCWE*T`#ioEzqP#~|Xb?DA~8IGi7D z18)gWoufQF0PhT6%k$UE$xmN+ z$hxH~`i1Z?*PCqrzS?{^Z*24GBk*L-y!t%c$KT^#fd4M@X`=CKm{_5Wncv+*A4S2k_+ zhNrpCH6NcrF3-+y)58Lm|EtkEoX@`k{WN&|I^{vF<2ZM~eYa~~YEFBtgD0Ps(&phL zJhfZ-vG)ai4iEC&%^b?jz$ur96jHXI>qTMBzoBP~Jj0*F($0<2)Z^`%^zW z$o)JW@o5Q9T(9`whxa!Bv6`2fz(>F%OSONA!Kc8#<9#50_-wc{Q9kF=?n~h3{--?H z`#>Imhgs*B!sjL9TwnW-{<$CSTO|K$@c#_%?;`)^`1}a}o%;mr`rt`;^d|W^o!wf)-4s_55awZX@0vAz5yOxtVrH3p$}e$CqEN^ zjCt~Hc$oR;8hj4H{TzR}yC-k^&3rgtVg0|@diwe2>Yr25SA(Z+Ql9NRNgLCTSG(JM zbrF0;&ix@Fxc>wB{K0&3H9W~Yc{AnS0FUQ9SGxcn%sG#}8Xh=L^OZe6^&C8wbAEm| zJX2WpZA7_Wn19ZEb1dnpP-u63# z;l7;p`9yevar6uQ`6hTEqItv4t1L7h&P!iQJgZF4ad9Vj0v=^vTFgA~7Cgj#M9-r? z=<@9S;lZ5y!;hj*ja0k$q}@wDt-J+JsQ=q~xGp?=kJ@Do<+e8dh4@31+YKJaXEMAW zJoTLP6UonbxWA~{>k9a6^WnIlH9iaA0rFtyU01p-=F<7_j1&iRD* z;Hd_R^ApPb7Vb1vf4+`9oPYe>?gXF3;}wcZUVq z!MmG&tlDc4{ZupA@m~jz?a=&e_h-(AM|i&SIsBKy(;ur|_WZ?T|Kp?hrxX7+ zcxtQSzmfJj2zSnq&m8=Z!F@bmWA!TIE@-p+mslm~7vNJDp5(gfOVqcc>CaUj7UMtI zIPdou4xa!|cT#_DfzNI5AjeHZ(62B(_b~?GPr_3i-<5*zf@eyr-}WN@1Mt8l%8!l5 zU*KV$Q?~iP#Iwpnko&BZZTG$9a3Ayk`IOt*<=K9+GAv;0y&(EH^=g3r5_pRHod&@N z!xOykr8|7G`7Brbwja429yp=n&E4o9g-0{uHVC*Ev-3-f$>XLu!esEFF}9e7iCe1XQ% z)-&}%J9x5)`mH^;av405^L+XUmuIhEr#Y^78_(OOq7N2Vxs%DmUGVTN>gTo&xeuO< zt6f^q@ay5xKI%Ev-?qX-QxvCN$A8=9+5Qs@D-M=3&PV8{f3J8x(8ta<@We!w8-t&K zr*ig#CEbZ7n`i$zm1}>8r~y1wQgKdWK4}9F+Wpe__khQFKFj*&HSjd|Z>V=U&K$VU zuQ*k@d%rO}#r%92|8?+W9mTVYe7@-NY|{BRmw=NVyc=%lJnsw>d5VoS91CM>H3_n48#o*DL^CxRe&-{NU@o$31H>up!`0s}&IiGne{CjwaY-@OTOJ zlbgx^_onCi{#^9`8h=UcG6P<2lj@bqxqrAmJjrzmTj#WcJKYt}1p4z3afGIPbr*`DzF}aHqzv-T!|B+|T*3 z9r(oHk(}qO5;k%zb8-@}tR=O0eMQ{3-Y27S3L zDmOew{oj>&TV=SvoAU4h^K$^6;kjcwA967~bU`KW`}Vxmq; zCu>yph^@Qsg@-Rto;%R+ak%fO;+&4pv+xM#y)S_8fIHlOW&I}&4?SJkQ`&RKf5UyB zsa~3e9LM*f^5$n{x{9lC!xxPFe{vkZd@ljj&F?b+nzg+w!^1$yuG5AmLvMrY^?7a8aIl=}D#HJ_Ky_Q){mHOcgj=5w2e?=VjOJL9tyo?yRU2mUxb zo>Q+E;c4!3z6JeG^U0Z?KY}N7-ed4B{GBSAVLry^C_KP>GpfSRc$s;C>shwGstAwe zJV(9@Klqo}s=Ot5-`ZN{tJ?5%DfN@V z=+A*?c+bpl@C)Ec_On)Qf4DE_zRhclpQkwMvu=#Sqs+rq@Ly_r)|2hw55eQye|sJI z*qMd&s*>?=a+1MbO0WjrTNXye|`rK^1h3a`1}P=@I1)*@WQVs z&uN}dmz#S&0Ur5N{csuj=I~f4#eW&`2aRvkxGq*iUl{E2?D5fkVf{`ToYCmRInRmD zfJceb=G!^&xOWz7?K9Z^vKz;7N|lCgbxpJp5cW zk37Wz@JW|v>lF=4Xvf8cwlRP5+_9Y>t_hEKQO~ja)tkfrYp40-PRi{F59f@>0q_X( zUT5^z80Y>LYu_l`$?;hRk8airvFSd zUR&*A_bJVSJ2}sRu7IaG-!c^cxaqmBVR_gH53t@CO}TsFk(HWfy1~DI$9#(CG5AlW z=Q@4`$}Rkw@)lbx{g}S7%r)H`@ zPhov>3?9qW@FJN;JWf*i3|~;oBi8@R!jl!%57(ow0Z*{sX$e0U9*s%Aop$UDPvzvl zzxlvby8CJ}L zpijY*yw~Lz^-9Cj>>sWF{|rxXUwR*W3U61Q(-q`@jQx8>c;-Pl%w*zj1yAK%-|T7p z1Nj6CsemxtIalMNF8%ffcrfQVg$3|rd*#zT%=fkx@Kh(wS2N*{!oy3|fAp{8Y=ry1 zQYI~*`{1FzBKH-N(KqnKAjNrz{bpfz;g>ys6=gm#|H^Pb^S{l*P2mB~3zZ|z3*hmo z%BP(N=nqfw-oF#*!|)8xE4>Sk!qZ%rTnN7x?(ePqR4%L!9)~;J7k3%@m&}Lv9ycNn zd*Kz4IIb*0y^g>Ww@Gi$5uAXB%Zpn(7Iqgf+5Q$RqxS7qR0Y(9CwX4A z8oWI``lRw%tg!UG&F4Sy=ZJFzJi-3)ck(bD9{XD}gPmu%2cB-FeqzUo3G*+ldEm49 zD&Q5kFQsyAzwkEPDXV;*$GA9P`Ua}+LE=0C4|8916Zo0Cl%LdQ<<0hwb>O~h)lZ`I z=N9k;??Y# zPdi?F93JL*y#eUA!QsH!FqV?h+^YNx#AmN@-ovvT{v~`@ z&V6@>;R&weG$;PTyOq!MZspV3w>;d(^HxFpTfpNv^II?TsjB>3f&NN(aF6_FP_LgK zSGiH1%czTf4Ej_l>5bn2_w7;te5jbdumJ9yQn@4XSp`q znfY3YDSPhUwTCAHDt83>*WtcLN_nI;dH4_>>7tdxEA;;#&3~eNF2?6Sc=|5o&H87h zx0JU)J?U-#-V&Z%DZQ;Hd%^w1m4Qk4kAz27%V#irmdoq7&*w&pHTH;lqvJe;K66P4 zkK2Cd8ISYj(|){$KD1Nu*!=t+Jov2ga4z5Z*7%B29(fG@3p`d!{UHu-__p#8e^2qN zb=<#G4fi#W-rm!A58S!3qUUfKK99juj^ca*z7-y5BHkPRp~v~!hfz)#?lo~?NL z^PRKzD*n_Hs_*^qHN6-wb@G;bF8a_A<;~iwlksKBgGRCY_ut{^ALP>s{~@NYsywuT z|J+vP#xGYqXEI-1i#|F+KGr{Hn9tIZp2LOsEQ9+WP@Ik6YmIkMoNo8_wk_~L73r5U zUUtHxs})Z#^zXsr<!vJQS6o~)oA@)X?Jr~JpR5Pt~%d%Z&Ly!5}f zn&?CSl=eQHhNO`D2NbgNTe^kD#ar;E=+j#iXJ2?%c=CCTTq|pc#}S?OV=Vg2Xw~a_ zK6}7DFwd47tR`-Go{m0sxAOcv`CJGOwpD$@_&f{`zo7}q`ol(epn~dU`QPjD(*oqb zKcY`vrg&^WSmYh$+4rdGdnbAyJoT~S>EUS zxi>x$^FLqy>ZR^`o{itFID3TCPWZSYKY^~0m+51PJ{_9KeQaZbQP|B1Y# zVw|GyDi49x3jA|?YQX(>NWX;m&-FOJoc5y|`p8A{*}-Q6;i=ZDuSU1y++e(}>a`4g z6dtXl9k~8=oO?WeT7mrcarB{Ta<=+D3lHv7e#)SK9qx?McxexR-{p1PejE6_yhrAf zhjUZe{QU3jB9FU&H|ipN8b%U^`?uvCUz6dP!HUG@$$93(e%#_;26xuVryKr*hHHFf zDyji(-g^ptaEO=B4~w^j2jSsy;z9TT)8DUlyc|9rp6;psW9@h=Ja)B6L-cpUBXi|58s7gx?MFg? z<((%_{Gfb>{!qW&gg%Z>>PoeU?H4w}gAK}g$^q#2Te;t#`Sr#HOpd&+-$g8G}y8#Uqa+G@uo=v%nFJpVuaM_2TTg!0pm4~KaC zbfx}(J$io|#lzvdGsE-uIS;Jzd%~i8br$;co$}uXUkwl3t2|ggUki_S@OjE8`WMV+ zp!#`N_%3+z2F)AK!wiRRK< ze{KSgU7!{jg}yU9nX_Jc&z)GZ?Hk^u{#F5ffAp!LA`{?a;r?foe~V`(JiSKsT8RE$ zc=B2K+r06Z@!wRhz398Lt_$BNevtLm3+Us#fTRKX58x5@FLmMH!-Kuf@`$zjpKzyy z+N&e_;vXpgfwrpG#qimUSnqWc9}cgGKKYgS0C)p>o`suc<^(Lck6Fm;E7aT zpMLPbLXGR4oIe={PgRmn8}f6j`R|sG9Y@6A;Sv?R2)`xHCtRN0zxaMpd)>qS<>C*? zLr{?~Lw_|qR8l?`|INlnD9-EgSprYjQ2y7!UpM|jUY}3k@h26Jt;7F-$NtTmpW+`W z&R`|YS2KyT7Cgl|p#{8kQ?;YNgnT}ScSP^&ta)3taGU{f=Q8Et9Q4=06PH%>NMHD^ z#&1!5?fU6`@F4s5*65#rr{2oD-gpz9Y%Z==cF+IAGn*8@mHP|acT)Y$o~QWF;}mw< z58ubiTa*i8n`oB?@X#p5{}dB?H;TCj;X3NK)=Z}d37oc7}b^r6+#Te(NfC+9fgAJen0v;3b(vEKMj{om%pvp-YbqPxU9QuevV zXDI#y^xJOmbW-~M=m(qr9rcs;@X_$tL+VkMhneuyeX7?G^o!u}qj~%7lkmt>ayUVM z*bPq(*E}`>pO4_aT^heXp+5>wZC3mCpk5{19aDBamU=mFxwYZGL|)zs9ylo8f^si_ zXXq#Db&fO8^fT1cIw(!fVtD#2#UI1xG1J#kPd*R+Dm?O};@<>+51x5U^|kr`JC7qe z?Z*l9{!8UwmCs5XR37}B)n2-)$Q_IP+U|^dG~+muUtL66j%g^dHR_&C&nuz6dDW&jXx?v3N>+srVxUHNI?Kt>baN zeAWAr?()Y$^ zv8U&k(|&BQa=A`n^ZXuo;zEtP7x>Nrc$#&fMw#OT-3vxu-fqlW?qT%4xr(qBK1I^X zXZ#_xZ)TADD{uan!h;`6Z~f#^(~nZQ^;mztVtjNOkg z{HF{Ipp3iWzS5cphQrsx(*srC3*kw4<~`-veEte@d~~5Aybk?-^nu2C``aOS{2X!X zKgV6}&9|?rhp#UrqeZjSZ!^{N`n3C+@qVlF{|e;}glD)eY4glA@N|E*do}bI{UaZL zD6ju5u09)2ys_$4uCTuFDL%=UH7+LLa~K|3ul$c8{{P_N8&p%bn%-9Nn{2uNd#ms9 zvQBbR-gr8|qdDi>hrs3;PGjym(9;1c=`;rmulfSli;yNdGkC6?#x%Ywys-Y`sVT(LAft_oL^4+ z@fP~@Qt6xWSsLzZsDAh;{3txrR(iKvdfTZ2{L8v0TC?+c=u!2z+C`7#& z6Wrmtn9cK-8-G;uLm%{G%xApf=?k9)kA&rK^I;6`pR9OnUGbF1`SNK$cAEdGygnbn zlPxvB*%1rJHI#Wd*vbei1ushEsk@S@tl6L7M{$B=QVg@ zv|7r>Q3@W*nct4U!`oG_zQkGh2gMVgoVUL9+!xAa$Axe18J^PSfokZTO^V-gavt2@ zR6f?9yTik?^VatYD>tqgsX6hCfoJ-uA6mOFfCuL&o^j|OaCtV*;fIxHyFc(v)4x^R zQ=UNoK0H!GJ{#em8y{7|BTM0bzjd{O}a&HT5>!REYVUk{%Jk1nIW>R!%b^S@l>_D28pZ))Gn6Vj{qI?ki$LvQAd z^JRGO3vtWCE|+J=weLNRYj=65;zhG(1yR z{&3p{5-@CFwXIt!p$|^cjJ**5X7FS?m22y?j;7~4gSBHHczCh$ zUx&Png=gMYy?()ey34cem^i3*sSIC%K2%Eevg6Rr@aQPD`zN%!&o#`>Z_#}vJ%>_7 zWYiq)Ojm>*@oxuD{Gtx~4!jpUa6sjDCjOzO&$%z1)|uC$pAC<4-mEPCOX0C; z%D>fj72H2k+>VPkc$_bv_Tvro=>^KCjf+p8B-ckRwd3zZ={!w237(AFWez(Izw{I=l?}&f=koII{%F%GzxRC(FPzTkQxjEg(EHTA?&)!UIqk<7 z^dasyw)y`ic={9dtMPniAv|)S=K1pU+m-Ne-!h)E6+8hC3=_9@*=ar-HI6>T|2=rx zuX64E|7p0dp8BE9S4G(`M7dAzHGFEpBb$^ldv8E9mzPI#`j3myC;Rz4+=34;dPw~< z`ljNvzZZ6y`ClskdFaQ&L-#5Ea^ztq+&4kvr7!yB@bF-bxUukr`Sg+h8hrK||5X0h zqyN&U^;_sy^&i_GeU9F_K>f$Y@2^(w4E2-C@hNhYez;ZK&eH}tj!SP;er!DU|3mtC z&V7|<QiPk4I0;D2UBXV0q}d_ zz60_xz7`%DtNv;Ec^MwtsJL2Jb1mzjiT@V0qgeT>L=I2hnfBc#nT&p13WfZ`T+bE zkMqlEKNc0hAHpZoT5-1JJ1@YKaYfz>z8fB`uYTSK{=VsNtKg9~@Wb#_So1&!_}}p0 zT-EDhxbJuR=N;k^cmSTBq5Lm~_k%lUDW0D2p)SwPw=d?*w_)^AUWnKi{S4zDsvjy^ z$5{mTjZmJgKd*x){!@J?Fy1%9Q{CmjWg+KHxWjcHo43C-|8^R2wr)HIj~A7{#Z&gU z@{{bMp5Ku8&w=~Giqq=V)#cfBS7u*%Px&Qr-j6=kSL5Y#e73@!SC!A9=-=}=qSJnS zgFbzSe5@ayF#n^9=UKi}iuothv!X{v!z;mkjO!}!bKnu~gSC0A6FhcR-u}}E?zB_< zVSK{IbMAkh4i8XoE_Ws-I zC)AFqfr{V8b#r*QsPefT{~qwrQu%MQdcl1huc;R~&W-TEOcD2Rz}ptVg9}uz2tI4! z{^N?L8~paa6=&=U>FvIzSJB67DPwcde*jN#{VoXq1s;A?KL5aro|J#6h03+~tHG0P z)c(Hk@xKj^u|7BcEj;|1 zW;|=(4BQ`4oYU|><1g~FL-kq>ZvansQ#@zT|GUCdC-e5JOX1;T>S^brpJ4jy)gNZy ze+NAFka%nO3V8Yt%@|EMUU=2?^%c)>^dG|mIs4P+i)lR&IwJp%(6>BOJouOPQ+8bc zH9o1{s@DYcf5GEZRqhY)ij3sfNhqvDLDLmOxKGq+On9pMMaQl0*|G)zrk6Zt*d)5_PXoB`U5)qJ z^pmde@D-|8Z}gYJV|&GIy?Qk~uu3y$d-T)H->>+sT^7R=bH#h2KXw-VsIUZjJkGIf%?I=D!!c*KYVdMH=czBBXgZ6HYQ}JKrC;Fo1b8AOG+`mqI82+u` zktJ%czVN=LzeMqOBK|S%ADGDIKXI!fahE0Db`|;<_i0pz&wz*9sJ*JtF7wU*q~fu9 zt$-&Fs9b&OUKi$hx6n;$FUx-%eT4h-CsFQpD>st2-9Lf*eo@|TpgZER)o2Pn&Ec6L>TlN1&xfb~Q#>}V zdl{dv{uadNa(IaINHyUj;HjMRz}Lcqm#OF2diYlJ|3Lmb@mXsA&GW`njpqnr$HXr| z|2X<2_iqe@Z-@KFRP>1Xzwh$w@x{}t{2nig{$up1pn8b?-LxOz;d2zHjnhJ>)Gpyh zYTpU?)Q0=^NdF@3-VW}cBVGdD6CPTndRc!PYCc@gvU*L1rxvSy?eFi*fJewf58}Dk z{9CF2427>V{nu(2JO8i?9v-3|QXBmz@YDvCdoKL2`JAOZSpO;HzNI2Nev`G--^Qaq z3+}X0JhmTf2#+?Z6arg99{P?7VT@^re-D z%IG)4eZv&LjmI7EDA(()KYRrDv#zsw{xCem{UMfzQiYVC4C||^l-tnb{BqilZgJ^@ zJG6dKFLIoY_=I1gzwwI+j+u%=mX27xB3pTcy3a=+dMhh{4dqK{XYHn zc6ef}`fUr!U1t7G)V?YB6YyX|l{*doqRX?#xq&Yf=T!J{^XI{lW4u93GmgQbwY`zK!BZ49FW##Psdu zvxL0e2KVvYVrzVsz%%O=&&}|M;fWP$_vhg+z@sCTPn&<r#v;BlV2wE5u;c%Y2t8GDb`2c}QcyU5$u z#(D0*`pIwb^gVgwcZw=MsjKq#s|xVoTiP@B#J?8YH(dF&byRDQQ_0hQ3^qOMnGSq5 z$#~B3_;QzLpSx+yb2qjhjH8e7oLVD%?)XIUrytb(zZ?Dv`V{w7UIyO{cX}#sZ^J)> zC%Y;S?cl$f&r6zTj+2Md-tiQo(|*+AI4d5Nzs@jV95 z@H}Z*>UEdNpDptH*=W31x}BHss|8m@ez zS&idF;o+rNj^C!johu}H06wRS?98wpLs`OcUO_(1`Lgl-rvEn)Yp?I&kz;C?vDjI{ zorvcB5J+i!83R8X9_7BkW$+p%UsLU6uz{xgyM4m z`k#hJVv6U5@Xhe(3iZ>8@b^qV>o@AamsipGRIt19%%k}88{}h$RNtGCFXe7T=Jl5Y zs+X1fxO-zX&r^TMZx)ATEN^fh$NJHl)sm0irntHR{b!>;>B}eQ!Q)(4G5@rIhuO!# zcsG~l{hU}OKhL6GX_MzUWqHqW_Q8`AWKVVM`N(}Ca=u>4=8}xUk077xFTYt_l{`)I zG3!V4ugdVq)rxbQhctnQR?446=A8wJ zdr%3)L_-=UmRdIXoz?-kD9W(4RrrJ5q5#%%X%by>hr^J6GpJaXP40uI&>>bss z54;XMepI{zye&M#`X9Bv;W1jFg_y=$Q`Bavjgkiyv@#O=JoW>rK9? z#+Tpt@)dZH=Xq^@{;9_cHR%6GJpFDSSTB#wr@vgfR{n_`Ry^2zX0)5Q^8LkmLGz7O zsGI^1`>spe15f(y(=GG(zwKFN`Z2 z$OjT?cZ<&*@W_th{;zhTt}|o~DIN~ezdl7ic9;CHj52a?=WNYC?Yy8w#k}AC{VC^h z*Jtc+@C+ig;h{$qZ+0GfAv}J9>|BFP)$1DgaCq(#`P1Fj!23*whnd$|ew**| z^6vYp92#7;aGW0Zs@=2P53>ICFnXeuWKVa>ea`e(k>4ynUxA12mb~?^`H@=ovXh_BadVADdUtM?TR`<=Xt}3Dd)Uv|G`$vAOD- zS}gmk!e2r@!n{bW={RqD9HD~4A>>2s&wM%G{SA+QEB%ka167Dm-*Yk5;7RtseGC7e z56{h3yQmjCP6v31{pBpT^oPd|s9fu(BjNE62^-%`#abK$e$siU&O_2HF zI`qVmPjemH;`wfP@Ji`F2l*sCdXwVedH7~{mUY*5eewf%a-@2Y`T49S@=xYR<;hpD z|0wdYnZ^Bfa&^h4SF2tvD7PX!=ethT7M|It_O-m%&Ex#I;Lz+_=}!z&99p{!cIETe zG1B)dPr844pIPY7z9Bm;|2$y)CqhsjA2Rzk7<&H=HaN|1_51ZgO!n3_Kg5Qmv z+u)fQs_#a|mvh|{y?nn2vOc6XdX^v`^6fA896a4e`kNvD8a&lY_E`V=#5n7YtiK=e zI6p2plnTn8+}qOA8T&iDr~c(sF5d6TAs>BI+~zrr;lVP>Kb za@(lKS)RGZ;kk8c z_XP48czTHX??dpzRxa;-FhBnZkCv8&SK`mF{=+6>7-NNLuAihc|^MIPb9W zt`j`&8>cRZJHGwQkG-XK% zxxbU<{_n-qw+cMgK=L-v55dEis-MQt(;c4qS?zc=ye~X^TJe5844&pXw%Icgo_t;P z9gCjZ;5pVKSw39znfw!EJW?s{^FAhjMETb8`4V{iJ_YiP=zkU-xUX$` zK89zxZ)@YukEWmND%S329Ot@g6OX(5$-J(3`cWUsP*2X87@rcbI`oV*5D?Z)JR^DegJn@5ibOil3nEW`&TfVv* z9;+??%PKc7!2|PDZX@hj<8l5dIP5?^#ruFv{#|(Xu=>SB?D-a+cwG8>qU++Fisz*7 z{Vb*G$UkYGv$ONH%KyhT?w^OA7Vtz^(Q+yL26*Il)pQvAPI!*>c$NsQllJaz~gR-ZNr(W*j`{+wWx>JkEXLX6RW6kECShZsPMf)8m`h z{mPJ`SdRJ-xv68EkwL&~iLkNWaeQ+WDXWzJ8C&+hQ# z8M5ETwJ|Qw_utqi#Z?;p-yxqGD}P%4FI7+W#QUgS#vorE?yx^YJ?w7-k2F%bHb1$r zw#MJAZ(T$`=-zpC6I`zBeujY2-KP5tpG_S^_hS1s>pu=Rd3;nAz5VJrT5 z7@j><_1#OkDR^W^@wmFKK8mN&yNcZdyd1uMt|rY`P16vCwR)YALeQG<%bme zzuEn@itx~l8fP^-b(|nP)>8T8eQatC58f@mJp;eQ(_Uho+cW1u0sDq@IY@#X5cTvBM*yrg}(`Rwu`TUe+f^pKY-=KKj7(FisxR)S8G7r zwp4$tR#IOyhKEm6y)4gkf@gS6c{q9o!?WKh9_GWxn!InHpQ-R9&pR|hel0xRQ0)?h z?}R6O&siTZJ)PB$>^jD8@D%Hp?EIy4L)ABYcJcljgvS}*t-kfYkbL?&$#=(|7N&>y zCDny@geO>!r08{De*;hQey+cfzXBfHrFffa{S=<|t*^cfo@HOeqv%;|`dM#aakvH^ zIZ^g+M*jH|nCG*<{W$mz)6adSbKxKClpmtL``sUT@(2|iDx6Io+g7|^97cbP^Ov~& z=3MEIOi(-8yk*EP<&!keqbYjb{qT{`_|_{nfJaBEpMH$~w(uO+W4plnnfw)MDeEsW zcx0jMpMd<)VR<|M{h5k<+PBZfJ@6#`*S+lNeOAE(wKRTRhsvF%$9JDA3wO4w9gC3v z+2j0Ca5(ck`7`W$uB{e4R!aHD@^kl{N%N@>8c#8cKtbbhxPZX&g z$79o6j~5uoe;+gb3zf&L-M1L;ta0DYUp|6oed}otz@wezpKj>?4W26{dlVJ!^P7$E z5BrDM{J%at^tSZ$K~Ky7lb0T4OLt!sc;XuQ=VIiC!?Pu%=W+NA@YoVL(tTZ#_i5RZ z{&#Kn@gc+S96Jh$E(`D?#azsvl$ zxILdCANf{(uz6z+o|{w7(_r(8(;Caqi6ipQZuD1zCw=Qn>%ntFln>4So#2^;vS%!M zGVSHJ;3+D%5xhV0(O&X%f_NTjdVKHIx&@vJDnc5fXMu6wb-AbD0ouI>@>}4+h4PQ0 z+HpR1AC%6Y_azUhUKe1`PUJK5G&8aI{2U%@C%=tnT>i^A>v)?|?kOSpIn_atX?dmw zJhEDr?4jH?@Z<&3|2ldi@bq%o{{Vb6>j8p1e^<@8>G$m$ANM#y1&5_pZcXX8@$vni z6mOA(%7-^&=kv&i&Q`tby2O#j@@M)t`SVZ8*n@n=_ukeCt%Znmp%&ebIA;l{-y#+I8b=;34)K zu{z`oIeT<)n=$(S@!7-@!hj#PYdZk5B>%`%lbEKmoMNk;@tA2(@gqf zm396#2m5QnL+tZ;8TwnmgX|++8Qv3~2&uis!yooIe-s?j$Va$OG?wq)Gd-UW}9kUi&8_I`Mp zc&HBl9Uf>Xzm0?c=X_mfh;!e{;{V)N@$)`8#`@_+uDr!qL3N!6`b$2|d^^aO{XKbi z{c4lqdEkBWXXtbF)5ge;L_Segb}ocZhex^ZFRwbzJ@6d&D{CPCFg&un~JU3AGbf?^#;F0?3NB6+D z!DFXO{s;K`@UZVZ=sS}?RTl0;zJxo_d-u_1Dt;Ej&w^+FRJr5e-Qejeio@~n%i&Ig z;`6s_Ouz4X*FPncCqoaaecjt?-seu_1Dw~iMgJ0btbB3*JOfV*kUgW2f6?>|QhV8W z_ZB?eLG85w`Tg*0581N_{xdws{?!%XXSDqP$9XM}yX#RqtK3rb$JX$uZ$Gr&@ZfyK zoAsU1@OVu2w5QxD@G$FwEdS4drz>e3G&>i<6Q8NwXQO8sJh)mt#o~6I#}O(xyp4Q} z`^b&>?h|&zzj@rf|1v}4mt9Y81`n}6kMXX@(R1r}7=ubVYa&Jd|zLk5P;@|RQ8Xl>qdVNQI--A28{ksmCo_^Bro}PQ3KjA6% z^DIJ7*;e$&?aHei;WgmdL9*w+#MMZ6q>B1)Kjg222g)iQUVzVm=N2j6Zh${#^1kPN zR>9NchbNK$A3W|mZ+#ygJ}CWHasK!nJTX}IRKO1>UPOI&EAmI9zXCipR(`$MH_hjxzV>R(yduPYTsEJ1XMps?o2ozlh&^qwC(Sxo zJMXw2{c+#<=>X)j5uI5qL(fR7??Q3wUom*x_nhV|kMrY#!MX|`oDn3PL=(Ak^c#v=_bAc zUaF1io8i8{dZpu3fG20Gf9=6P=fG3fA_>0;o{bhCPlv$cocEbOuQqx1TQEONhsSy; z4_uA@rSQ;08i{IP|0?54Wv5+7%D{uX$K1xv4;QPx(aYqACg@o>OFYW$koz672ezQ->4GDp=T64b&2>R z@Tu^)?|IUD;K7Q@15xB3hC9Cf(3Zm^FUlS}zkA8!{J7xoG4ff~8(92*1rH?Ez7zRP z$uMzpv;1EbUJf2-9#RM103P{6iRU1^6+FdzCojcsbE;`x9bKA7J3b^AtPu~m=`kpU)7ardyJp*-c z4#IQTX@362<@tS4k|)*kENO{7723=G*u_#{_uXp1!`qbK)*yc&Ji`7ww(k8Bk0VrY z7>Rtkjr8Bhchle*u2)!Ix)+|jQGV-={7RGWUYu`%2XdP4xwlcg_$uf%8SU%k*% z{*dxmwyWaS%B_KXiv0j>{A~_TGM|?>+{akpVa}s1kM)N~uaV}ulsgHYzFB^_4t@tb z)nE3sfiHn)&X(q<;hQ|p9|ecEkWcvb!~X&v^zF-W)Z~5pM*e*q{bzQhKmMq3O=x%RhqGae01x%q~{^cZPRIJ~LB#YQTrW<6Os6YdX$2c$7rq z-fr_gx4~0EdAJ#R?)5l-6dYEX{I{yt&3yL)JU3A7wO3)`yao^Z-kY$`^!T2)`qkqF z1@hmMFP7h&Zt8b&cujb^iXv(xyfr*FRq~dXicF7hzw2Qp@4J6A+4#ib@irfxY9kNp zDzW?iDR^Lm#wp7`>)=u5GnQxGfydd`=uzxH2+y$}i1o+c;R)aU;?kYvpV<4dvk!VI z!*jm-fDPc0Kh$34pO!Aq$6Mr};&2pk@`TC%s(M+zT?==Ps^4|xe0&=`-cEX+!=7F6 z4C|9EPxh%K`{UOZ_w!*-o*x$+emDKcCLp)w!ApgA%d581dci=Nj|3&I|72prR!$ZZ@I*zjn9vdus zEPt+p=US>=OwViZ%!7)w&(XgZ9z98ZyA=Mj>EEk<{W|mH(p~fZ{P(B4$K7>zzV~B( zU8H$emhoZ$KW%y(J>Pbae6q6g*c9Y%x=igDVm*oVmtM!wGYNYVM^&$_=$QeJtW#VS z!I#40JTGJM@GLxhh2)Lzgva8tb1Hh;Z<3wCd*wIlcYBc!`kqreZ2Eog={TvI^f>Gj zt5$a3F$hnzQT~6La(ls}z18og!NC;p(9m!aI8M{84Zihn`g5 z;{9$4Jbr=7ox^YD!NV6R&sbbN0(X4#x=qG8PkaeIZ^1Lj+dSGPi_E@un+bi z^jruJmXLf1ehJ+1Jr7m?HR+G|);o>&>I{ncBKF^;?l53#R8!tD7?eonD} zdn5S!$ftSl_MPx=P0x4o|6KSV@YElQXUluld&&NIN%2w0NB>s2$vN_*#ZPPG1HS9| z1B?gMAJ0e6D0t`><-K3Yd!MY#m;3L}bhGC!kGt9TOX*pN{uc0PTjeFY4$}*sxYGTN`#F(%je!R%mh*T$_%-ls zME2PIg1M&uBE^HX;~IG6VtL>kPn+Xx_c(tP9QGieY9{+Fo_~TTHz}Ui@|%+Gh3@?Q z+yMLetbqRqp5wZu<<)cGS>A_hao7wV;k_!Y&=Y~jIx8Ng5$Bhiyf4pBga?WgZ&vPY z@C@%mG@dj)yidyV&jxsEx#IsF?CE`!cuq@y7x-S@*AShj_}>EGY5INVBM0E2rzLOo z{SltIO8#$+o>G0}XQ!IR3wsW?GCaq8sR;S=-~rwzVtwS@r1Zp_sb22w8}D0c## z-eO$nZTuGXqcO-|4Ue9tcCqVMx549=%Kq-yvk0E$eLbJRpMWP8DX#4NXuI+EWKWE8 zKZoad?pv+kILF|z9>vQ&^%B)L_JZuRaij`7)IlBk81~eK=jN!~&hU%isrO{(aCnF1 zv5|GzHoyApUgG2)<=bcQ|NKw!XBowh<*{!}&o_#b#>kiHEBS02`TthR z4Z_3gWoHrm0(fSE?6muI7sHc|TKqNSOZL#XA7}s4%i)(k*-YGr*gFgm$%Bg+l!Iyt7J5#><%bStU4p)7!N=IJlsY8wDYgY@T_kim4)yW=d)@}$9clzC@nZ_LO$13nc*Y8dkvnbD?4Yx z_qaTNpD5tlKmU}0@=xqu`N#ZR1s{rxQ+RTc;>YICJ>XI1f!2qx*HKUKUtWe;o0_1mNB zk0;=VFLvpCB(y?tUKhRqJUr^9!{W4`C&_nSQP2b(7x z^LT;7`0q)B6%SFK4{8Lj1W$jWd@>UITbMl0_2^r7A2WD3sJJSN{1wJ|4{T%fPlU%d zX#VM54)s2_!kr@NvFkba!IQr0U{Ao)Z54-;(7)B>PgA?Bh3_?a=9Bu?aejtJeCw`H ziSj5T3Y6dCC0T2JRFop0A*A-Wz=PG#E_a2RtnUBSM^U|A;&t{cLCZgv-)4xRJTD{i7)7+z`>?(jYc(^F!o{1)c^srjv3D{+VQ*wxT;Ci2l;ivLI8jo=C2 z{Jc9nIJ3AvuYjlbX#BOjbQ3&vhvZ}EUj`37r*<@Z*28m^l$V;)j&FFJ9~T_<9ETr6 zPx4ijTf}cpj>-@5UCKW%qQ3?_{fNr#hC`dfW9&a*^PHY8&)@$_>{Yy3+g)q=ee1#I zdc44J{`(kuGU%xfe;GZ_1M-jQfA2VY4!AtOUt(fu(9>Z3uEa3aH7oOD#H`shE` z!Nd1Tzugym+{$G==OXl^;DMuRz;5te@I+eeZsWoMc#8WhD&28@@;E;(IGi|K_UCy2 zMF+kMz+;0{?sf3`F3+E@y~g=k5Z>MNye$7e03QucJg5HH1U?xaXd-zV#}~k3r>Wfk zBEQV^v+uE8M_uo6gbEI?A)k3%{<(nf_QB)iw-EdOyyepPJstrli!XazW^TNIj)_%i)1dYIi$-84C~lp69w1o^X^;=AnP7>0!N-&9ByY zyr4q-_Z{Rj#QDP|^~FJWiuZunb;y6<$^Xc2Hs2`cPVBw&*_85w#cdOKu9@1=y^QaD zE{4Z^_b)DUxtGt=%Cw7+&mf;+y+I4?Z}No7jsK%e^)UPp@@e0?g%YE%llzi&k*@;J z^8WfB@N?kdI~2FQ;T=8B9|ecYj>E4uJ>AQB(iU&Gz;msO_tW|CH1AovnKG8cQ{Sn- zmnIQxG0uDBCn0~}sOp;zO8)@(9xJzwxSfX{fyWoCz7HXP%4q!dvf}Mycx8C(LFuvc z>+|73_TBA-d=GfUcU@})JbsSa{Z`ujDR_YAC2d@|>0a!qrv9=R`InJ*eD5p&0G?p~ zmde<31Ri1iX9f6)?u{_-z9;)!-2txvkNNKR4Z2zKsVcI^#>exKPp_9h?fzpCJX*21 z|A$$*wbi~gDEC@;>L=;H8a~_Ped`tPhi4XPUQ`YLJOPhzf79Z5BRs+WSC6CrvMs7t z(D#12w~&ubSG~3%zuV*dQE>PX`CQH7eke1Rc4R%C&1cHN!=oktF7}@fPhKHDo-zi) z9p1lb^OiC2_>aoNO_9F_9=J^@=_Ogz!#sF!ef7*;aUEe%yq7Dd4ArTVcu)~>#Vi1C&u}X z-6u+*CtF7Kvgc19g-5Sdi`ezR4e)q9`K=CqdlepGy|J}p7M{FH{<#qOAKSxY>hpCoBo#S zFYVEP`Z(#2`<_Fr2+!T6INZbePWVpAJGZGHS%0sGe2VA3Ek0YqBcG^8zfHLv;K3Kv zUQ6HuT%Px5>WKUqrk~yj&+XLsVt#%HJx&?L!<91E`3@erqImy0WxVVUUZ{5LPr2pc z$!}zjjU#njo$_?^Sh3t=QHHvzUQM4!vnmp*5l2zU#h{=S7|64D^%q&wr>4l!PriZ*|^OjfO ziS23^i?=V~N#DB1pCi(rU|pHT?eEBE2dbZ*Pk%2tN%FCn@?InCsQ?d8E?(aWX~_p) zQi8PWge{QIeId&mpr@0^`J>>_5BYdy#kuw0E8$7syn34H=ebvte*_-l`Jh{<*Yoh$ zXUYS19b=cr3k>1EdriK&`lF54zrvHg=dvqallQ~FKMg(Z#<_2w+qUrZxANyae%k9e zdPX3h^Q|AN*MausyvD|b8<9`u6jvwWhgqiQQN>Sh%3TIe`}Vb4Z}O}QDnfpj$v-Ol zjUR$1eb*Uw{H^(Okn^Cq==sa^-z+`WU#eWIdc}F3XeIIu;o0*Px0B%Q;R#=S4uCtp z=V7mgXIM{O0X;XHo*NYZ=fM}jV^Pf{_mbaM!Q(t?|;aja-IAT9jrJU5C1Pb$a=FH@MiE#Yn5wpUIfqGt^91`>=<}xwd6Z+ohNSc zzWc@Zz?};e?HS5_7#^D?{WeZ*fTw)VBfJF<)lj`G4fe@a!wf!{4LlfbpkfX9xK2 z@Z50u?JD?bH^`nqRppbP$tSmeseT=uCHd3g=O7>ZP3>ZF+sZii-R!(90?(c!J6BNd zFe{gRFDt>P!jrz|x$c9OYFiQRvwYkIhhh zyTCtyC+Uwij(=l%nyP=jjC|Q?vM0Gi{?VxCp1-^D`T1o0JoT?Q{;cBNhvmlwhmJQ& zPr`Q}b09p^MS9d~jxz?HeqH(PXLQAlx044ZQ|=PD(@y6F^Wg{KS*{y2LeEd|AorK8 zUZ=YX^Ygvr3-X(_OC5NE>#k~j$7v0BcphgP`uoCztJS_m@G&0ekAlNZ$fqupCBymd zZqwr^-=1=!zIYOzJ5hcxdtQV`$H;H)?L6=EEk`Ka=k8mGIzu^5mKL?Rn#l>bnv7kKw7ID%ZxZ@8IFCs%Q=5|AZ%e z*I~*}RlPEERj(NG7s8#V#VzmkhG*-_pYxF)YVs2l|9@crR(SXh#ZMCX{ibJz^xJrG z6dnjE5A;L6#7)?Fx9XLEpY3t}C^(#ld~%rlW8-)`xPRZ;Vek;o<6Hi`4xVAX%~Z;m z3l9%d#;|_+G(2#RGIkF64e)FqwQmZ(6P}1m-ulsgc#h|NhL_L}N^+e%&HLGBqo)Eq z!uuK~!Y_u$?os^M{H-@US3)J)b&L`4x(RYw!>4bLy%V;=Tmrau1GWN{0<(Ds-N0@u2PJ@DaPLx z$X9^JxIfzoKh%V0$yd$c9pHgs(!U2i1KRU?^X<=bF+9RX-Jc*IcX@vPlU<^G8->4seDJeVJyIM0e+-ZL?i=RdA=V$7 z|4(u!RC)cWH>BUat?7OG*OUFRBdYIQ%8j}5`FTrxirUxmJkB2l zhc3vc*~h^24>JDbsh+gmw;BtNysLSLjlVa-o&U*x%VYPz!#5}b*HZR!c>FKrnbow* zR(NhmaX)_yk3Fiqq0$}adw7EPvzVVxWPHqyle~?y72v_Cs+YT6iT7y=PjphbHePgq zJHs{ZjKlsx@OV%0%J8u+&)+wRv0lr@k=v0^`R+?Dg~$4;zuWux-ZuU06JquK0v_2f z`|DG#Gcz9#|NfNmxck1{1L`m95SiRt@e}T)Uq$hMP2@vy@fh;$;FFj)=?{Uf< zg?yBW|0?vHz;&do@B05_&%iTRseRX@|7CcB{V?^dFQh z{}lX9bs-U0a}=L@~zBjK@}{C^aFo9SPp_AOy?2v0Q@x4ic>JjiphQS>}~n(i}3 zs;IqezO>!sdn+<6Z@&X~=4yPeM!BECv%FtpCHjAYhnK0nS|ESQ?ZhYNUp8Kshle|< z9h;)3Aw2zx%H2)BXbVr=AZ~g(!-HkyH>QuyBGdCf)z{)}g~utZ;II+-Y*cZcq}(gq z6YzXHhBE3YN8lOcBOi#{IQ|(t#JWmlQOEfPp5*$itabOXm?QnM?(#!lY^nwi2GuUT z;OBb0z;OQC75Q9KmADVS7@qX4PkZ_}dR|9994Y5%u(;ZD9Qh;22l^?_P2QPHz1Yv+ z;%%1AH+T-q&O^^a-r;_(jW6}#QQi-A2lZ+PkNB=<4uA&^C=MGFhZEsp=AR+-%rZ_s z3B#Adom14l?(Kf>^Q`IT`hcDPz6_6X{$=sG7armIiRnKEPac(>i_u^14*4y!Q2w|3 z8cpHBJ7mwP`r5hJUAwV>U-XKrpfdCtlgJP!b1tgVG2FZ!&Bvz zf7Hty=Pi?;Bl%^>@AEi+6de9SKInVzTLsp)p84eG>A3VqbW@)xKyaOJ3T=uL-{z-WBp!8e_-(d1jD_>ds?|^4{{_Z~H zKQ>;Z$hn;Q9)_oR|Blt`FL;9M{FXO{yN=4|t5_@9{~`J-+$A2Kp>_$PzX3eRJ{~)f z?*va>u6+0-@|PO-y?^!wc+9sC>KxP0z9n{^`?&Etz6bBgxV#Hp3~;Z4=MJ2HT`FK9HD|k$mBV{u=A;o@FdUa+jXid;12iq6)lc) zH9YE@2Ub6*c|z8Az8UxA3k>1EcOHi?Mt|rD^~V=zujiQGI^2Cyo1|IoK<8nXd52w2qDDw4n>L~uzD;=jgJj(qYYnKb)G2Ywg{^@-> z!ISLEcMatZfX8dAeTTy*z!N+#VEyQ3cpxE979qa~9`()tmm43f`kMV4;pu83N71wM zB-J;Ull)NlF61Mew_1GegNL}Ux*7Q&;Q`jSn19M7q(A0+uh4(tsY&V=Bhb?vp1e%{ z{|nv;?yz3P{4m_~FV=Z$9sEBP9%h|tXY|a1r(Tf!D)ki%ou={4k8~Qt(_m`M<`A`eG|Q;mgmv;K9|ZS7Y=Xgr}>j z|Go=9VWH|9?jgU8hyNGu@ZP06;q~E>)w1&{czciYN5Nr$%k%zm8f%=bi2Zxe6Y||R zJOX!kKc>b1U-0;J^_Tyf58osElf2jL63VUx54TmjY=HmgpyZ?1tABNe_cT3RmsYem z&Smhl@4XDy8oyY2x}j$-JU2)hEDj$x`D?_NBEK1)+Acjs@DJcw=96|E?;t$ldq2B# zuj-Y4Q|-Qy_^bkt&6D4Dpg#o9@ZL!qms`UFon_~P$ajSYeb29522c2&3mENkc^(BE zZbUvaO8U>k&e`xJ*T+^M{{%e5{xGfJFTu0EeOf*={qL&2YZUIz_wWeMgIN5We4qRl z+OGJ20R2IDfa@xw;Vt2*OO;XE!+XQSCo5yvbC;K!p3l_2CO-)t;{B5S(X$qwoFIEl z{x!Jcd#-S=$#+$KJLAuz@EFh6TmCP#NcD~HR{ynjKLZ|{tvoZv`~VOAs`I9e@bln_ zsv3#h(-ZG=5j=RV9KVNrI0PQwAl?-{lZ-zizfDBXU2w;@|NKMn%u(5|Xm|J7hNte6 z-zK7eD?I4CPWTQy!M=a;p5q*VJCl{Knxp4;crpX?Sk3B4H%u?t@3-^5mt= zyMBcS&QbezL%yVY0`ASnUMXJRs_@ug#fhDN)rZF~Q-8PXOKsrkI?`|PPy~-suJOU} z4A)(+#hx4Cx#_CcZ1_BQ4E<*RVvi$KaCjd1#Go@gDy!V{ba;~I^32cs;aT3xX>oW2 zp5nY9Ng1V<$ZyH+ihsNBaJI(_4B@}^kq@!YgUwqmglE1``&OcTyTIeV>zO0q$-T00 z6Z)sab3C`+7vB9<*%_WJ4}1V$X!?EU9Z$eBG3AY2$lt&?74wacFIc(d<%j0j{~kR1 zKj|?)e*=#s#n+&})C00JzD9od7G546I$0k3zwr*9*d#wRq1@Cz(vuz{{T81Q=%L6&|lwB%29iEfD z5#9iv*sS&%PQBX0lef!G%ZHbmo>%36i-&RW$am_$zmNy6GkM>2(K+zU57Ki5dHx~e zTpzZ$T>}r&AA4Z`W_Y}p{O|?y!&8^hzFhZsg?g2TXa1CC^Fu9o^fBe74(M;~asDVc z^hG}9dtM`IdMYRnd_}nv;9>6bwnx`(@YpQ*!LA1`H2D#-)5ejf-~skQy$U^>;OPMx z2RY4lUWG?a(YR**JmB$y3i03HT<)EZY>+>n#Qud3%AZ-E{arrOb(Q$f>PPF)v)tq( zD)9$+#61D@@<02tSwDRd`7q~S&5+*(Pkbc*JdZu!!DG*;UUvQSl!x+m{`*tQ>q z+4{B{ancE%`Bd%Rh@bX^=U6|Z-r+cd;Q`-u-D}`U-~H=7d*rvM?|I}qT=_GdYEI_z zdR~c`<19vx(^ma1gFVl|bA2@qc7neOPjem2=8b#cLC$l#A^(HN`J>=)(!>9Mzt!=$ zdwx1e%Op#yeT%IPZJ%2o)T@GX2;ygzx@>CvT93`{02j`e!SCM#ImA z$9(%FTm+A@uG`}L$%ynM4k>?XcIP;KP5*Y4y9WIe;n^zc?{=Ow&G-h{Q-u6|@EG&k z*6>H*ah_MQJii$pSt>naklzJQum1F#5+L?=(?<+Y3Jo551~97J;AisO*fq zCp~@O^V>(^li}f7>Mt+C=esui!;$-w!gQt0}%EqsT@Q`m`)-LcQ?^Ut;8hwmktH>XQ{xR@aEye8# zB%oVdo^O}vG4VFcfBr!}a!met4*M%VA^US7)i;D68o`5(;`4FJ?F0`WQ-M#xFNeoQ zik}ak2zPw%5ts%~HI#nq*Yn^()&qA(&m-`_lZq27_a%7zxsyG~($wpHc&4`M+XFqH z!9(3uuIc~5;|LWT&T=Oz`F@m6t6nwnPfd8r_g=y#F8BJy+lrHR*b_lMP+fW0^1xtt z$oE|27_xKI1}J;?z2ol z*RAj*`$(If1;;7(G2~+n6eo5a>^XRFyF3;`|DV_yy+M}DgTIJ;yoGoa{*LL-sb37i z4_}%7kL5R;hx`st^i%v4q386c)h?k@8jtM#EHzx7?-$vpl~>*AhxgfrymO;kb}@SP z!Go;ld=~yIJX=Nf+(BNQK3V04eb3FEu@ZX*${uT%8gOTl{AuGzJ9yH!&%;1?1V3AS zM|vFN3J#NzkMn+Q>tD0s>35YUZGOJc<$3?)eo)>RaiWy%Igb8s(UaxqyM)pM5$KYc0oC6Oul>EK$7VzvSjbB&8FM-F~D{foD zhr^Rg)bG~8Z-zU|#Oq+s0@L%T{P17;%j59OX7%?i=vnV^{wO%Sf_%EG^iLyBK7>b} zPwWPE4s@A>X>hi`IOyv$l{%qtUkBf)ljo>NY z{@b05vtD`{@;zPd<$2#eX)BNquy1E|M|g($iN$|6cxal+HGVlf(p4oM zMgM4cJgYb#29LwT?001Iz{T*`*P6HggZ$(0OkKt26YxKYt3=h}{#=WE-~#!r0`l*| zgFHWF=N(_c(>xD56ZsRLli#v+G|yQI?+8!7DE)SybO1bYnev9s1BZE>9~T_1K|aZO zgk7(j4bQbueXrp+OOB&w74n(einq&Fxb0}jxz-w9(1Z_$u{!F z0+;9eWB36{*1*m;+zSQyJdk5w6w5zbJv|5&9KJw*W|u77#CN~KBkbSU6Mp(S=?_d) zyVszf2H{EH{wn9go&EA#AM|u{dEWjw`?=Y8G0EgVDJ~yJKGj@y&Z693kq;fzcx2aI zE3TKF!KUi(Qz^GT-1$*@M!?&`Lou~Wdw4&1>T20zaXSj0en{=I0Qs9u|6a*Ag3mPh zUu5S2+Hom7#{JX#sMlI}f_>wAp=YPb?<($}J@CK)aT^DZ!6S9$2g?JcddNR9?(>>_ zi4EeZKcpv2xmDrGOJx78*x4AK=_vUj$cN#-U9)>Ix_ zkDg!Pp{=sBD(!y8MwOdjzf+r^)G@wK_Sm=+f~Rfm%iK5$fV zJ_q^B;9=i$+>=cIHraVT_V2tyc4lu=e_sWkjeKZ^#xL~($5{lAx0d`z$ghAWSr5Dj zz7d{g|Hk_8G(5`n7VAfE!X5NfM1CJUUS8#nhyP-F*q>wqyy_;^D^OkS^*X#EJj8R3 zr^CbWIM2ITd-aBgYfF!v7hi6?mqvv9@c(#t#P@u69G>m1@yO=?^WiC9zkUqvOi=rF z!p<%5xNrT{yC&~@AICv>_$9?#7Cnx8W7@lqGeP~RJN#^Tq=k5Gcnx@z>n-i!E#Rq* z3QU`yw1>yo7sdSC7ars}4jacu!LvIwfBqZ&Q{kCsWKR*iYXjLIZ7I#e;rAe)V%?*> z=Qt}|o*$1wFK9e%N*J0jMfoS}YxfH9kdN1gr+oXu`4_qD| z_swJL!PCBRvyI8umj5SFc0ZH%?MHeQJo26T#eC$az*CHO4d8df1HY-iyn2$pSPqZv z)VN^s8{yGZ@qV`p?(qK2vFP7tdiJQtS^obM9vZJWw|GADfB3Dj+QsrlU3jpO%C&K) zE!<%r34QCXS8OOfsTyio8{Y>bpUldiv$1m|JoBvTdk8+m%4J`A>+ko&bG@YJ7UWmL zqr9K13w$Fybd|=77vSGsEIVVq_wc^!$s<&7IDnqaNa-2HcYnbHC&>dF;Pu=Kr1^ZF zs3zVW9(YMS`kUf*A-t~3l?eeH1|uK#?E?^lXIY0}=kHtLxoYzNX!PucN7u-nBKWuP z827nq!B5#DJLC5&9xVRLT%`F=rkC2wU7q26Y9XJiuUgpq0tUdtzV%BJ;fdX{rw`>$ zgGc9TUg5qr&il;wI6?)7$B|DCROYwwajog`%^Tl@hdS!IoO*%dd}KTEIcci*$0$zP{j-eJc>tdFy+7h{cx0vQ zuY&#S;bC9Dc+>Ro9&nrYehp8pkUc#q_b=l+#Vy~K*`D{?zdtoR?mnMRJX>BmAD&w) zJ=R~k!b2g&+XCz#2@m#H9^yJ_#Galu9@Ap}b zd}gQoY4iV=;lbJBar9(7&L0JbFOg3^pmwjpcgNrno@Y1zl-Qv-j7Akd=AR1icva0G z_M@jRJiz`uUEpoui4F2|5xkG-_g(KA49^BNpR{tv!Q&^YN8gE_Y4A*Uwf=4JdyF#= zw03zKo}M84??(P*cyzpYAKHB{Jjni*^^h<9%Kty!s(ajxx2F_81JTpc<=%PX%bHi% za{;rF4_>5p8G`)%@Kjs*Eljyj!9%RSy%N6B3E#e{<>A4a>W_*R_i=ucA5^?uTEU|a7jNGI zaEIsgucKa*-~rZGn1618$9(H}=fJ}yq~G$}GI+!{58MEcavf6MaGclSLH09gjy<2i z1H2c~;`VFf^b0$`J7#(&7WYHh*X7Sp8*v-Qs~Km!?nJrS3mBIlmW7RJuVyCCe&dsn zf1!(TRe-ivK{d(9=Pm(x;q_DBAGS3bYqyDQIET0Z;(J+al2FGBwG zH}ZP^{W;iH`U64LYZoH5JbCy2&MUI>MtED7D{~gt)d%_PVwG!gb(QI1U5%Yj-E8vQ zpQ=Io-U$!$+?kzsJYn*GDqkHyezS4*GqL{iHasv_dQui(iORo^=B zf8e2kil0{Ksq&`$mgBnjttaXScbqAn_N`y7gS=Bo{uzM&mZpdOe6sL9@K|SMm_d{~ z0-kQHp2&8P&JFO0?|Ga%O%LZ;7ovZe$@|u!t${l{=QtkuZScTC*>Cf%_uyfkvrsQ^ zoUh|rmFTo$^No5qhR^Kvj;b-=PD#FflJkB2lhtXwp zUKTE=aj+NPbw^KjrP|&4NQdg!!+J~0Z-bD}aD8Swdai;;c1w?)ht8z`W-nBIEzitF zK1aT?KDFit){*|D_*{?vCCDcp7GDEjXZFmMCpW@hho|;yJhgoOAw2Heclr=K>N}74 z37+;{_n5a+c4mF+IZN-vZ|tjJ^{omIl#xB=&!+I?J@QW<>~9axuy0!}_}!o2ANJw5 zb{}f;JJr4kdOV1ix&T{F%fL4d7#4o}b4?4@iD0*Avcsn|^VY z;&3he9C)^y#-j!33Bxn3m9eM52g8FrhiL6`72N5hJlq5M>*1+{&Wn@qd*D&ue!Rc5 z#?H?2{|e+&$cI^%XnI~V{fr}aez6-KzeV-3@!|+PGDLa13HndUsNC#qm23UIJUkqi z-%iJGjo@jn|CE3Szg1iX{+6DTh=-2Ir+n+N2g5V(%Fl0NPYfPnf8eL!vpvoq1&4*m zM@Fc=llX2GJjnauU?`@gT0m7bt)d~A$-dX?&X7kau_x$Gxk{i5km>52Q^?{fw6!PDeto3CCAPjX$t z=5M!~{5tu^!9NeeqpTCV0DD%$b2rJuc0FMW+<8fQ>Y?X7c=9vVYc&1tmmk&da;)cR zhyJgT4?m=F#KwgZTqlpMR6pH{{MmN>{5|n?@cQuF2g+}@Ua=)SRath9LH<&BfcN_> zfln}APx-kG_1Xl_vah?HpME%5?c&fM6)ldl3;9G9^*f8(FW~9TveVk@C_Iua-jB+@ zFZ~&wn=}1Y;punfhxXVXf@dF*|JT6V!DBy5ek{D7%f0nr`&Hks;cuBd>-wyJ9q>3p z1&7~|PtH?6ItRa%_#kipzdvVt+`aEVRQ^%#cAUEK#7xz6Ge5n+Jhew7h9%|8!33#ZN+E=p$$9c#&`@dP7JZX9=seQXp?ndK1)E^&%?}Vp(&kgM} zdEdBv)VOc|pOZh5-y#W>yP5n`4IWw|KUjS?xPh9VXNG;}3r&y@#}tPq-w_^tT7Gy6 z|MW8b_esCypC~+CTK4Fy)^ToxJ7eTY^UplfGer9P;GgBj*+0kHaT`3`LFEoXzAoo$ zv2E(_UE%K_pJ^xgtKnapo;I?_;@tUI{z*I~Jr>VZ;h8rS=flv`7#`g!{yDr0Jhwu6 zn!^Xdll#PUmvpQNWJ^1s6)7t3!e;iv79A2N$o zuW|4O@W5>G+4PHT8IAi1t{YfC>TG&^_sa%)9Hj+^3CKss%bp^>n*&dNBl{P?7n%G5 z`Rz6MDtNky{O_J_c%L1{pI2T@A^#yf?pwF;Jv_nsd29EQpU6L<|Ei|DS7p60zR zz0n_oC$3cHTnwKFcj_x+SU-K#;|LWTo^4@NEe0}kLk%LD%YaE%5 ze||STYvs3-;T1kreZzOi|D&;~B|OUhnbwbbzymyI@e=Zv!JQGR?}hMj@KAltzz@M^ z8LuVzs_^?)RELj>_75NzVA8md$9G)Dgc3%_acAtXYyO@2b~vK|9W`7cy6TZ zX@q!rhi*~+Y)E~lnf!xlUz=CVgC`p+ zZttM%SK+C!G!KV=2#*cb_}&WsEj&F=s|Oj&rQm*j_`r!qX(O#QtG z-Uy!My|Mk^^M*)&Dl9+SJSvQQ>LT&h$oH{wc~7*>bB4hK%hZlXk)LAamREcI0>8^R z>+UQcJ^^>CE8bd^&=1~(CpxIU-O!UYenft@dX?Nyy;u)v@%`+JbLQGGwc^M zkapkjmB#TT}R~8ePoaMc>p|jO#QJjdam#|g%unoA|K{H(cOG^%W>ovAs?Ks za_>bx1y4RAJI$U~kE3S~^4X!%GXOm$sc-r>jgRl){~wXhwUgiM{QYk$m-{$Y?tebd z`~Tmc^F8if2R>PLZbqaFJhnl3V*$KBJTyf1OoC5>C+cc^T!x=#!;^=k-^Q2w;JN#i zuM~}rv&{7OQ-8F4{v15TK0i-V?yK-D?|Z!+z6YLUAAXy!9yIyVvOkWU_5N0Th8oHL zmLE!dA)fG^2UUe<*?0GT%B=&B+^G6me6}$?JCp~^4;{{x{vhW^UC`4P`M~YUdrjeE z;nAM5^GfW$8J>An{d5}qPI&qb`MEQCp7c0>6dcweANJk9-UW}dAC8UhpTl!Qc;x>v_buR&Rz=#Mx&kUn5E0}WMFkPYPBJrq zfF?7OnaPkznn{=eymUJ0PNtboy6NuBOh#FQihvggBCe=l6fdX<0d?`RXmCYWMK|72 zl#MsU3lhZp^?$4Ct?!m(&~<&De;y^>?^j=)bL!NoQ>RXy)4w)8zhTu5xR>K=f0NI5 zi62co`zg~a_mfW}UOm9*A0&OZ^Z9SX-EO>qcyM-7Klhooa;MKXeYl8xDoW2Uu|HRk z&tzcZ%d`&XhKOev|38%P+(x{5y2;^i;$L-q*vbv4w?85ttT*|)-ae#wtRnol?~iFW zxZZ3heyHPIzdx1u3B)sNjsHuCpXT&iOw%qU-sAY!Ol~(5FA%RX4(9s#QsM)@w)VO{ zzlM00_ffo@e6DkRKeJ=al*28=Gh0nQ$CCb2j;Hdb=7={lANyj`|J3PuU!~jI-xCiG zwR)O12El$enLOv)3>hGw1MV|?A!X0+88$p~l`C~~xpURIto%k$&_v)kMe-`n{ zXBi*&qn@+X_|IHx_563z50QT6QtKDD1G|V1@ZL^e=e~h>^*@Ziuh-s7y!j5B7d}q@ zpCdkZm(lw;I{LS?pFPR;e#80mUc^rF`9ATB$}B{|w^OzqgUtO#JKLvwBvWll2^QdfI`0>f27@Qtt;DB!PU=|l{|fN|)<5)1iDy4( zdhX-ykHp(^Rv)+9pXspulv(~h%X7%TiSn7d-&*bZ+)BLqk^_|T7|Lw}@!%Dv|GngM z?O8UCnt876Q^eQOPEPhF$Jg1;|FPDO$CG}X_$=#hrQ`Ruh&Mme=zYEUM&i@_9dnoS z`<;I(PJ0{idG15GfBR+PL65a-l=b-q@k#otjvsix>D4TMU*m97uiymY1N{9X*Yh>R zXTD(e^FH$LCqDNV^NZd=eLm0e3ykqANq^u|tRFK!H@t`Vgwv;fm+Do-rygs1yFmIY ziB}(C^7Q&#Pdqr!_k&D+ul)K9lk%?{_|wgWHYA{KDimKWuW?O}#pX zc>ASh=RZmO1maDcr#7%YYlsJ1P5&<^UccG+PruIeZ6)!3($D_E`0skOJs2XM9kupe z!gAk(xu056{=Qt$4lSEG+it-K1aGVC_AT&u%B4xx&glm-t=8r=DW% zGHD0F4~RFt#`wID_52m_`PA>rKkfmOL;DMi&sOq(D)E5lU%H8}bozfc{dfO!Gx6z{ z+DQB+<@WL4upfEvjnfxMKefvI#yt7&@p4o7&zBRQPo3Aefp`+qUz!}6Qum;{L-P;**<_`v2Nnt^V^nP0nXnwSvn@ztCfT>;hm!1jf(S2?9U5GKYy0V&E;7kUOmzD&EO^iyf_@pZSsT z_kF0x(@&V>JzAHM|53!VDSu$K;v|aw8C(Xhlg|{-IiAROUP?T}dwa|}1;Lw^;qxKV z2ec2K-|{))GmkU<`40Jii+GmzFktzk|L%4C4c1?m5`Tzz`+0_YzQmJ$YjUoB)%x-A z^dDM@&s=Qtl>31jh!4i>e)?vC-If3XMm9&GiQ zS#5lLJf8MD;`i7{@p#d>ij!&V&-gOAi+I6~#H8|q;w%(uqAJc@3Snfr@4p|Ihq2IseY} z8=hs}m(NEZCVlhaHtycZ`h1<`X0EpSTu=NuTnwW77xX9FiT~-3#((ZjHjds#e7`>! zK7XWX!cT}7zGd@Td&-Y`HtCz6Z!PL4{prLP7=Lp;IfM9QxAn_6NdE%j*;`B>JYF&8 z{7*K!cO>aABtG+?*$2;mcrEev(@hS(UbvC?Jl9h`|32^m%HelbuFLteq;I;|G{O7p zYs4p0e&d70tIYpAh4l<5=Y^{2v)l7Si4Snz-$43j5ufCFShvHghzI9dzx0v5hxp9l zR?oYM=YUJxsrg2e1JY6S-`kx(&uw{s-9&tfc^#X{XY$V`pZ3*O|8>MaP5NM)$!!zy zyNG9gWb=!!bALyCX2j@MlKzCM@y{?1~)vucTU(IJ9B0g}q>E}(v z=ZLp=m^?FXm(HM^udsSPo%jz(Kbg9RZD00Fm3b+yp9d4qa=*_?34-H@Pkzkg@A5g7 zc(Bpti?6WUEySl%_r<-Kc++c453xoODu|L<5exSwr_Z&VusnzWNbg%WxvBc}|GI`E^!sZ>fKev!i)7?h@7RH(HBtHE% zle7C3KO<#6y{t=t9X;rO_IF7e5ynH;{ydS(@mHIyH7q@Q|= z(La@Vg?Q8JOn-WaUqF0z#&DOMFX)E&e#U$ypnyS_%e znRy)_BFkSm{gbTzuczGZ`LM}nF69qDHn4uIav$8weFpJ>_jdaHatiTjp6_${pZl-I ze?FD3+fDlH$BnX;^%+!ru^c8zzc6p~HR}JR?>GJf^fS#HME(rvt3NRMBe|~s*fRY8 zdl~%uUhaPygAA*7Kk)&cqdbK8Uy0A&Yvb-UY}XNwpkK7d`ms*>HsaN%njLUGKh1IO zb9uY=J>LDx#HU)!FS?s?jB%$=-5Wf~ zecqYWKJu$b-}Ex8&okKGYlu%Xf7?nAf?J3W%-eYPdHD|FGpYQ6?s;rv%5nZqvFpQ`&j0l$ z&)dkSOnjc_HSQq(s*q2zzpf_Uo|@Ngar#?LPq3WPe|IWQrm;T{I-gINzL~Ux;Bk+l zo}}XB&BTKjS$%w5uU0(9m>)Nhe&J^0e>w59iC0gudR|EUUC*;}v%F9BG~%xg{jsDR z&Lf}c)bH?)d%2fcxjV_{QsVPpH$G<)e-m;1B7!1b&kquxoih8mjr5-)K6SbEHpyL7nvTqo*159@?WGZE_CoGWsp# zzglsAiT%lve&JiDCmnn?OnjX!LGZpYU?p)zht%738yn^wVE8J%2p;Oc4+Ev3b+=^L@l;QtSH9D89J< z_c}d)U&GtDcHZh!J=NrM5?}oV=@)oz(dqxX4F4}&Wqf9SZT0LTpXd8L#rfAt34*8W zOFNdjukU!`%|A3ghmy}p#4}f#e2yi)j`++9vy&dbx|H|WFZ|I;Y$yFz(98O<%HO%T ziE{oW0--Xm&8N;0UrqkiKbXBjT8RGpF!5QQM;jvl&k=9_k=5VVH9sJpxy{Cx$2WdO zd|`vxF>75A?6V)oqEe4B1TjIpTBEhI@T}Onjit z@C~H@J@NK?&7MrLU!MFJlUp^F@7hAVnSP7)P7tgoKF{^IxA&Z#rVs5IlLNMQ_1_DX zo|TCG86}^EORSzFeD+%6*|!=WkHcI|yq&+xY`q)=H!Q<{mh=O>N3n%B0`!(B$&oMsWagy_hH!*(b<8gxcz>{sH zxZExwKJ{wT+gm7yYlu&N%o^nW|4oh`VtmS^{{->ohmv;V3&f{?X!3tG>Ay*QzT4*I z^Vr^dou2zOCy@R(#M@K&bGd)roSJv`;eA#EJlA|X`8eYZ=l4&( z*T!9Q>K>;xq@O*}?C`OSZ)_$$zuMa6^YQ@kDc-N;@_*lq@t?le^x5Z)*i2v02j2hlU{4d03*BPJ7h#&9-lk>ta3?CqVEb(^!ZnE2xGl);U-VBNROF7~L zjDMcS`oDzubd%YiKa>AePS1N++@8GG>3NT+@9*4Byg8L;{x#z5%ySqe|6dTF>oz^P zfcT@huQWet`Zh)UNaC~1*K)sW1@Rf)7wYr!d$*hXn?7m$d&#GZ^i7ADUTq+LHu36V zCWmJcuM%%g<^+Ua^CC^-Csy z;}!(tj$dT{&(CSk->*2C#{L|%VC&^7?{o0@-ks!=<-J30H@-uBf$Mr7FAot9cu)9= zEaSi@njG5y$Lx%+3yvl}`D_~(lcayq&8D9Ve>DAc`}3x6a6fm@#@$NNw~@~j&%Yl@ zd_D1|JB|M>v`Yoza~n-=&7|Mu`2NQK!^AHqKKVEsUuELg5}$phwd-c$A0}RyVH#n2{cZfIbHvL@3dfxB+C(K@1=|S*k;*-qJ^!4@r2br9wxbN)#b~Evr8Pm@f zvfNd`4-Ae7GG`s9h)F33x|E(ou|M0$XL7>$_`FjgKK%`ogYTzI63=WidEQE1*Afq| zGL79u{OJc;zt5-cRr?U>=NaEHZn$6C%jG?3z7G8n@uodyhx;hcKN4Sfz$E!L;s-y; zv)xo*eCh*zs7H{aj6$oUt{ zU%Hp&zL)sqyUm`jd89q~sNy7w{kfa;S^f^)3O@UZ^PjSsbQ6EnldZi?yl=tBV-xY} zqfFnvNBU<1*LCPm4pgK;{F9__PTiOLE#gy`n!a5}`d<;B|FGGs6No?Z5UbD3%dMUt zXM2w(-o!i>*PjgW1^!+VmK*wS1M%jcn*7_z|7_xu%-?W*s}i4kh1Jvj+gCgP4y&iH zAFpzp=Qp2B{_i55VgA)I)Z1H$H>L9BKJ9#-ZhB?C9|T_kE^?kZ-t6RmQw~QQO8q>_ z#>I=+-j%?GK6|(I%RQ{mS4ls|`&8dT{6~uOOYG17Ja004zt!g>e0C)9sn44{U4K>* zZ)V<|+p%8flgjUU?VUF6reAA(Oxi(EQuGk=zZS#f#a#)#rQq(saKo*sgnP}hgrX5H=6`LMf`Z;3(OBR z?=c8gJN`p!*Uh9~?>O)6_xiuc`KQj^G>A9--t@%Jqg_pW_Se>~&E$WR^MALEua{AO zzCe8L{YLNe={>}=y!YvJ^7$R{saKgEUPwL%FwQeyGkk#bhZCRW?@L;3gP_gvlF@&R z^j*X!=@)swY$IMxoj)BWp4nt}@^|DjL44uQX2)Ja{58&pzmr%a{w~Ki8-2ib-9~)w zjW#a&NPoBUpR%5Xdg#CV9sixxrEH9kJS+^`J&M@T_iVzcP8QVSV06`b?|o)ia5I zfOz&qv-4}&?>~3`k1~0B{r6@5!~6~#Ur!~UgNSDW^Fs!RA4PmFu9OBdaSbdHq|DD7KQt{+nj6bwLWc{*(^jDC6rePBE_{sIen+`F#`TFZ)z?=DQ z{LeR>p6gb(hYt{+yV3OX9KN*A(WY0;+(&Rbd<5|U{!Y^{>7T85yhQulP5POut)6cG z2Z76cow>vMaVPUkK1%v(Z*m^_3h_+pe*1fg2W8`f^iKWP-OT#)9DRvZ8vrilR=;ob zzK(drQ;mM%v({fvA^qkznSKs14|5~&LrEVz$=c;|JCXRnrN-aw_KThWzu7o-dsrtv z{Z`|%o%}B*o=N=<^|bRj)%YJz`p*z=X8yyS#P4=KAGdbBiunD+vy`XLJCAsp$zk#y ztB?2l{>0}un?3jO^*qXF_CC{Fm(Np3KXr`Z?$;epJm5Vi>sg-;;&ay;{msN*NPPM~ zto}YPk1I~1*q_&uzA0n$9&dRU@!$offvXu$`#AB1(@fv`Ie*O&AK*O_-e2>?tKT;{ z{E~bga6Ys@Z)BbJKgQ&lIm76mO8tBq@df@KHla_x*z@r;&T`1^c! z5AkX4pSnM=Kzt^3-}qynA#z*%?{LMjPx^72FWy7_Jk@d9E03$3NqpduCLh<^^N7#f zXd@lzSo-e*=kr^u|29@(JI|N3^ZuxH#NR;r>bGos{gwE2#HZ%0p3__>-cCHr{YPKd zd|7e69Q*UbW$=fb|0yP=m3(L4XPUmvFu%)64}!yp&%Mmr>-k+L6QBBp;brnUTk%*$ z`0@RupM9mt$L;4G#GARl=JU&shzC`(=kw(AJd1pQG_9?R) zUnc#Fo&KZyDB}Aj72-2rHU4Lk{-wl&wTAmRx}5m*6^6Ti@-E_YL#99Hlg}rKXD&AS zG2-8IKHo5XxR`qN;w!l>PQ?iqNI&yDvp+t5_dU+!)4Y#q$Y$%F;2`4FcNy?+^@G%jFL!T|qt<5YMFM_sfB6 zd?OV%yPos|+>i78pIeD9v>&LP@8W#%=x4EA{Cz-*AvoOeRK8X#@ured_L9#g;Bs&O z^;b75f0~UTtMqJ4?9YqIXW=Z9&!;Ho?Zn$ZXt>*`N#fZvto|QmxgRGUq<#F0Rw!J(wTkN5)b^YJ|Y-x8l3wDEg8>6@M{dbRl9VTwN?nB8RUx{M^p5ziiD z^Zsv%cMzW}Tf4l!`hm+i#NY88qSx~!&L`#1yoz}BUro->A^)q1H}PD9^>Ps0M11xE zYu6sqe~x&-{HwExpSsG%QD(vFnIrxk(zjn`?YfQlj}_;a*q=wAKtBB4WN+8gh)<^O zX*`wqT=SLHugx!}B#;h~J=itb+XbrDgDW@|mt$|6=<_ z|NUke`p29|`@`Rdx{LgeCZ2tTjW4&8t;FXi%>G=+dH)RH(yk`n2X0m(2r8rxwwfP^ zV-EW76^?JV{`GbD+lbHp(&oGUXlHIFp5cAzz7G8u@n+@+p2GTnop?2M?%=1y=XhSM zo%GN8rOjVi-e1v2{I8@RNbMs(d4 zLi}vvO;0qt@kGjPjCkfs>lYs{{;hG3Lh+(pR5navLT7vSsMsNcx4(T6?=m|9;}LJ=U%g@sAVFj#>TPp4>@% z{(r1r-bDKQh`0aVddltCJ{gn4?6~o9{7B-N)bFHs)=fX>Ysr3j{%wXYeA@UdP;RZ{ zGw>JFw?WqDdBo=!*K$31ftP!PA-*2mMSNkS$^2+kCs1!cLVSMQ z?Ee{j=d+Hd@^$Yf9t>K0dq}@Pd@hwY{wLy-oY#DO?cZW@&Kzp?|6i$Zt;FXJHhso) zp#OgST%&J3+UkD<%YClW^GobcfqbTz7w7G&IG)N=y^!mgYHI!U3esno4`xydf-8tm zKiT}`_p$70r~j+9YZK-CapDW~Cod=c+rMafGPBL-?;-wG(q}(l_Q$k62!2F-=GlgL ze&+8SKgZV;#L06&WWVI(CO>e(iaeav(u;I zU9bO{$!)$T*{&N&Km8k%Ll^nnPJI3lvplyG|0eNSo_n%Z1i=r92e(?y9se!y$yXYm zmy^%qSDM_Kd5-=l;zttCzQm;cZ0gS{;sNK)3rN4t@kg7Sy??LTYI2_D@5uZ3dLii- zm^X4E`RpJ*{|l4PAn{9_|F^9^u5Z^8pX2Yb_LKgD#3xhtdw+^}(+=Z*E$P2beCi8^ zcN4#lc>850$s399Lw|eVBBSpieiZSkXPf<8N&FWyai-c9^^$L}-zW9;AmAU^Ob>#1u&w2hMjplTv$L|z$TYES0)ia4VKgQ($N&4GEz}?4= zmolmJal}5qnS2&*w{iM0lDv=je6Qh?tj}%4g9EJ}$64;@iBDZ-KHa20jrh!{@ppVH@wu_2 zJjaM(dJ)bD^_MLhF8(<|49Y2rcZ_l#~NKF9p|NmG~L^TeA6lkJ)(K69nj z-~GU!6JKCH{1+c>4SwXwCZEZdnRfM24u=z8C>sA!;yvFpdpqza>z5xAUrGARIZ65S z60crv^lv2nAn^g7cY7lBq(*!?YkFc*!u_|z7w$CvXOhpAit|hC&xc9h&OFHteD($4 z%`rOv_-)`aj+)#^39C2l1xQ8-KSU-*SA+{FYe?;y&l! zX?E33LruOfa8aEV(^U)`*T$1UGM`YQFx-U@<`5YHTDcB4Q&oKu`k zV}IsJ-%fx21U}o3e%*YB>F0}xzwMExKLPLkdp7YWgI?1umeC`0N=PH(QHSp$GdH(T(q+b{?yYym?$48%T^`E)fAQ&Lt&U5r{A^nxa7q(k{9?g0DXT+QM`^YztK6swhb3XMu zss{rXyD>d&d|Iu#K^N(R)cs~#iMO9%BiH@mGV$zdP5*bZ+?Nucz1!M*Ch^xff9`+n zB7QCL4C9tA&s&_&BdmgcPWJ20=bK6XKP0}ua|cf&|6dcIO5IcO2smtV4lc{zlRbs> z2N9osujyOU!S>*hzV1lh*efeN2V=5hIYwwZjIzGUO~gXG^reC`bl*+)BFU}x9hF=pr7>fR~fzAlP_Is^fNp!>GSfC^IvNtZX4_KGU81qnB7=O z{7u9&%q#GD`~$=%&oKpgI_YN}PsKUEOnl%|R`Ekg|M@1XXZuf#^90-bebTqDv-Wzq zzal=h&JeTq_+6L|lUwu6)?Ys%pF@bZ-(-9~KzxPbtVHb3$)s<}+jw{XXAAL}`)yqO z7bo~3$6svvG_|Mgzt&m!J*jrHSe*{&|) z!4}h>BS?QP@oC;)L~{}ph*x=z@?6qS5TDK1`0XP8YUj`Otn2ezh-Y~&z~y;8@%dCf z|GyKTexmVzko@l;KDWc<)=m6s%B^~kjhA)A?;(Bjyy=76^ZSTr3r2r4>HkE$y1&_< zR}p{8T9fl!%KuqOJbRky)%m2qh5I;Df3W^?d2S~C{81+VQ%PSYUL7;NdKU4Q5udrl z+Is@=*L%6A*f@G3_54P~Nfi5YJLxkYHF>(+zCygcWVriLKPNu*4zpKoXZ}olhWCQ{ ze00D%lTVfNn)mNBh|le^cAY_eKAm{e+YK*LKf9g&56S*|f%9iRc|Y6MAU?UtPhOH#lMq2%kx2p zu-wlR$AvkH;2J3X_g&|Ir|G}P6&HxlasAatK0}9^9A50b&ZgKu!GC7|~ zKJ_iut_9x9{S@N2lRo=g>&Fh_Un3qg8UJU|KmQT%r((T1_10#k^!epc8`xjWCpm-t zejxEov(`fpz(cFKG=ox1OF7wIQ| zVe8Dcr&JPmL9%Ax5huC} z!Y0wf#s5|)j{Su$>seg?uK(5$&+;B-f47Ht`*miQ+DV@$zR+uW>-6V4K52U5{c@?| zi|g|q($D{k>ACCee-IzwzO&2o%fzdx`J(n^i#Ikizs2eQLiz>nM^CW|2g9)udsY3G z%|~Oz+lUX`V&-MABD@&pg89b{X;45YP0O9{M`> ztNhQu%?~h|lx9iR*LC>6!QL@((t5_V(pEw`|Gv^oE~% zx8yc<^sMXd+!EBQ`LTMjv0_L+<%UM9xq4|&(ed1HX{?ajnJxp}TiYM|Un)A0Nzh<&?x3t{AFTp&C7Xjkes@){}Ek;zqtv z?CLosmm3)y&kgO~-EvYcH&&^Q=F7Pfv?njxmQCtROUuSeZBL&mRAml!4BR>-9z~5c5zD7%Ce5`c-crjOPq=!XIOLt`` zU*23AD~;w+&z6;i;&6Vv+{hJ*JqCzv>o+7IjVnWuFwAWH`X6zwB>U7!g=HM zMs9mCUwv4~mZRc1FgiQS<(|GwZdEQu<^Rx5h?lvd3CiZYVa^mMisQy`i?EcZ}U9Y^RxItFQ54wAwDqK-ks zT64M4%FbeLv{)M{?p-AwMx8L+qE`2{sL)$f=shTUxps?8TH2_2eU%!dqFR>8LD9mF zQb{E0y*igG!MN8NC9#5d?_vAoA5<#Q|5*D@()Nkz5J@lJuhRCGR%k5rHEJF@xNoEM z@juw6q&_S=g3<~)pY{H?YoUQ?Kyy-Rk<%A%Tk)tuIq z(0EaH)tcO{5+=UE@!{bj?9Bg-z5K`95DFaQKhhAGQFjzD;U>F&v9I7ZyQQ@_S}o^? zin+o3(2lN6X2`eT&$?=F|KG>H5V<0MH~YRut7wc$UW8s5Z~PPGzE@k@15>qx%`vH) zro;3kWRKdnh{Z8U)*Jc3vMJC%LuvjOS|4gmq%Qw}!2fxs@?rXAd0T1bvajp^s$2ef zP279$E#Jbu+t=(rSYcT{JdAzoTOFUk;VNLx5Fc44xRdrWfwwF%!I>5A%Av#Lf0*my zmJDtA`(}@Su`SWAIR>&gVUwldbpm&S^<)hj!f=DPd~ z@mBwxRh3tzIdz1=Vlf*mNV>pjd9N@jhAl#$jTJ4DTLTH|gS1KdTg1PC;@^b7ON%2R zeRkq%`x+bZa
        Xj|6YsO1u(-0_Td`z`0p&=q*A2eCa`Js3d z>`x~9buBFs_jSuN=c?gvV;-x!aqq7ci&AxTd?HpDZ%f+}ZHY(s9fwtCWhbiBy0S~77O@ak*I1*{(b?TuUb>da*IQv{cEXY|U{dd|Y(kK@ z-nr9X#$f&Xr{?qs56d*wk5zWbc-vmwtMdQKzcQ~Q?((N6zW?z$M{usFnx`1p$A*a+rTk8vkeGXv9(2xzIgdgV!og_<>XniL0qzHpwcYw8k9|} z(%8sQsWw!GhyzS1L*r%a9ppv_hpd|AUDy^I&6Vmo#E}{kfqfTRgsyG7Xm{+h6TlZO z10*i&J$&X^dilRk#c1a+g}B2eL;}pP+Dxh$c9k?+PNf!Y!H_q^ICoa zd!vooL@->-kD`~xM@J__BGES}A~reWq=m{j)(d0O#iii}Is~5@s?US)0}za@7Xye| z6ueO{VyjD}qNq_d$}mm&8XhSM)u;~*kC8<~I#(Wnu?VygvRd?j+(O(xfL}G=7~1X} zg@1x$`b82rz1LX=bXW_%lX$kb_gI<5wfC3O64KJr54}k)m5^Pc9$wbc;%$uA#;Of; zFa}z^Ap@ukEeeLjG0zoX5$lbKa?!F3HuQDF;q2<~>get|w{soA&YsRK9sOOsJ-IDC z8w~5%uwhH*h7_3Hlv~@|)8Bb^zrTni21j!1I{G{N`p@ac)>r?QuAU8jfkM4o;EG02 z7vA5pwWB*pIa;iUiGaF7*YwK}maFB8sGg=u^q-UM%=L6^?(F0D&du4rv(}{H-Ym+B zk!fk!G*v%dR%~rYe@AyOo7~sgp8%_sdSe8^m0Sac1h$R!%IWf@81$D$i@n3c=+^p* zRr;+Da}Wqu>KEwtXw{#$MG%Qv131sc8d5l%rX@s3k_qZNN?2IcH4TIxbJ!?G21gwx zfHqQRLS$1kEFUDmmT0YMYQcfx5Kf<~(SgDlxtTl0Xs|tp9B~z!GlU+!{tieA$u;Aaa2Di`GpWUMutoBP+%94SRm7$q!_?X zND*RE>JXac26#=iLeAS85|^P5WyzHot7CE;%>f!mD`4sOsHhe{p+Iu^v3z-=QPR$c zY9ZM^by;E~DF-{|VmzyufJ$|#G4dD2NA*D*)!d+-M6LiIEdG|8s$6k*Bex@89)(T~m&z(gZ&y^``0C$`Z>@&h zrqNP4Un?~xT7o6O+-M$lZFlsjJcNu5*ixO4Lv<1ZQrQKi8mow^!vK!v;SRwqz=Wlk z&2kRqciH^3b9l57;ET#kcJ?&Ys#dA^v>1Cq60M+ZyLJo)a7M=RxqKP+K;Aaq;t0q$ zq0`A;DdoG5PdvoT&cfi&6g<#^2dW+V8VvdPkk+b--A1ihjBYf)15TCApAKt%Q;iO* zRjrjqqe_l9hEI;ZLGUBR!P1x_yWy%uWs{vaR`S#YWM-OqWr^0LpO{?;TcTfwwj-(& zbs21enUMykMwLMwnoBo9^*&e34{gsOTS9CM$7rZ_iz(u7M=vBfCYgW#3utH&MUujM9NS@9^*k+olj}3 zy&Rg87zDGk-KR#g#;7{d7tP@!QbwN>h!)-I2;=LG<}Vs9&vB- z>O076pehosL+a8b!^EOvt5IBx5Q7~hRGh}c`8a&wv)3XZHppUgT1aLSn|~E& zeaD#0bI|_=R=ME}$k6X-aR{zd6^mBH+%z8Gkx@oWEmB$c&_%f{3xIlSki$8EoJ18Q zCK0G2h#e9AFpbB$6(--i&>ontlB=EEzCyH0&6f2lDfk-|y|j#;=6G;cU`&mt1W2*pS%u@!-4(VLg%VG~=61)qPXgSDEbxtWPVvK1Rq}sY_(5Lw3eXOP-e5&pAIU`gz4YY*w zv)ER(Gc8mBZB9-%6I$acxcCk4s#v>y)(^SnTElg+YD4y}H=QK=o}%O0!J+G08Ma`Es~oaK`yzxX*B;H6lWx8K&=P;dO}}CP@@Za7G+L z-4Hb&l8KBxB-I6!JOr~3-l9eRSB(WLg;zuM3s)haM*!RwY$|@Oip*Q;(ZdYFx&(uz zhQ(hrdN@=pFBdhkagDcyCx&~dpk@Wa2U4t_g|huTS9UmH`4QcAus3D3AD1V0o+6Je z*0C@{;5v#(kIB%##7I>9$$%sdGhxrCg58lMy=b**JWs*NhFz>ZsjvAxrO|QZ;%f=! zMhd?iajv-ljf9XsAB5L{Xnn{St7<~NCe(LA1AuQX)tpozFV)O;gmn;!}Fxz_FCxxUvzu#M2m| z(S%jfZjpt8Xs$RR(PS>&2f$ruDc(Q(>rs?~Pc|SkpjJ7rPq%gIec7%ciP&aHc1tgI zW;)hx?2L&k>B)yBz@vzkBOV_XIs1BTRG0baH3y|Ei7I5@s2vK6;jSVgot#e8O zXLhKiumP$e!+=7oR!UEjH6f?{o&_wPM#TFmPgUdN@)nW z%Su0ob8I*VyWE^CHV=moJIE&wR8LHKxE$qoj_m@5N(nn;Vr88<8MxjPR*SxS0eLDbFB?IlzK%P`qO3_)aslx+h$9R4VvF8dg; zZcY~2FKO741YU|Ln>5T{%}KDegd?PJ4C5GZU3a)b!qK9{QWJF1KvF4+tM28vV-_$GDA$NVJq1Xny6|#E6q=1h|a1qDBg&u zB5Gj~NEy9Ik$}#`gQ)V{re-CLzo)~UN6g9B7^-EG4OU}lyH)l`dP@gKxJRm05Yp&f z*>Q@#d3f9UM9HN9lP1bFN;nbN=e6w$`3N~n&E>zaKDr>Xwkn_>BhAyVafMPKr8|Pf zbfJNbEM4x(UzvG#BJ)d6miLUW0tmM3AB3D*G5#B9FcH zG8O=8yQBkD=W)kFy;8rXu}C@&)C#K4 z@1rby1jWF}kG`hYiqM_W+;&+HisVX=hl)Im09XJ^JyLT(bX=JQGvf+p$I>Cq@uav% zTj;PTy_OQj&1hY7j6}-<7F(lQ^*Drj6Af#_$Ao=NZjH8<(XT`PW4IoX$2x@k1IE^n zL}Fk}_Ch7gbQUC=CgPBAS*%;eBBnZeOuCt5J45ZoU_*3tXlPfUT`s;4qT@Ci^uGZ_ zzI|9jsUyQ<*eMkD)e&qX41Oj6*fPgs?Zia(8+zJ>J(&MY7PwmVjcSR0WJD!}b z(Z{G0DheZS&Mkb;`ULt3i9yaubIRl!>L8n2=+^PlPKY1r3kuVsjAF={YXr|9kSlK2pI&6sQl7hvo)nJizMh^OyV zM<65AmyN(K3Q}%hx$H_4*?`lX(HKAq%vyL4!%nw|`Ed}()MOJSE9?CA3`yq8eQ@QF zE3giK3dJ5x(^y|BBEqS3U46YLug9(0ZgQNIgSPG&KOuWJk$_Lyg3P-L>jldZ+t zAVyE>!8#<>*063)^L~brzMHDo@3RTwA0T@*|tLqKyC+!b4~mpN>Lv`Ek#RRulA&#$Y+fYisn8qV~xu zy$;=h&MPK%QrBPWO!nPiI>~h?u~3>d&&qCky?3}D&2I_Tb#3Uv?K~Z8x;w-1jhZa`MnVtk-Er65MxB-4hO0wm=XKdlKL7RE8&5Q zVuILW9o#+4kA+7|Y{3_m(ZY*FmUtO&S;|Me5-1F_lZMKw@poF2wSyBzDK1sJ*1xrO ztxMF7FE3TQ)A3ibf#kgXxIb9!L=!OIq*is?E1=3N?{4ur6s`pw^RX}IC2mQ*onnCHcTZ1p*)wJrR#GEl!)95=pIC=QOx1kJCK zU?3Apm}G$DL!=z|Vp7oy{!0lhrx;i>o zg&8qCvevpX_BnRitQE-+e!{Iab|9@)PB6)gA&2E+=iORj2i{s@C*E3O<+jAiZHblJ z5-YbQR&GleCe`NQ;Gmv@2$dFdRu$ep6B=ddXh-y1RvH)5SBGmQtdg-nqL9fCx9sT_ z6;di|xav_d^Yu(3{3?~C_zcqF5*E3nP$U7}Vv2&5XML29pwKk^UC8BH;g% z5L2n@YCV^1mFQd4`{5Fn7i1>-9U}%=KoK#PU@#@ocU^vnL#NR8%4h|Vez7pAvx0+i zQs3u_@-B$2I3}LB>^+tzWJgfn01i1x9wEM(bH?vVrweqcALtrLn-?OQ6P-2%UqK*;u_TuhV8Ftp5T{}d~_^;U) zi|2vUyWM2LjmG2nT5MRo9On&yJEULo-Quq+!B0@ea z=eNv#)K*MPFvwt@qr5+)W$x`e4u0$wW^o!g$W_54%|$(B`GO%UCXOXx;3Dd4FUeC) zgb?u>E7n~VEfl)SP=_hbUHA+#F;Sm@bF$mr;Fvc)F@c;55sc2S_}h>$f&7&uWN!#a;E3C`!pO&+S| zqw;mM#p#!166R8HG!K=rT9S2+XB@+aK@2gm*eUO_i-}bVqhT|!pMYU#VCY1R!YP29 z&B%-*sR+-*QK<)!Mj;BAno*uh%HdG>2>d04cCY~QHkNl`CSA&MX_?^`T-vmOwY(Qu zwtU^Kn&hCu)Q8QqxS|?BKRy%E)-gd-*jiqP9?^*22qLy>#VkX|Ux^+{GZE&InMtcP zD$>B?(Q<3J|E*u!(qCo8hO?tMz9iIbIdN(*^FUWZ1nv$N=7sRP`?6ku^pk(qRybwi zOOgtcD640&JAUEBC4RP7R|1m!93w?VL!X_E-l2_l6@Ux@wC0fiPAy0vBBlCHahPIq z2LN}doQ4pfN@!`mE`<6Xd&0*?ikBSaFk&{|-m_T0J&@5z;mX74B5r%EEvBNAl|nIo z`rWScj=f`|H*H8wtB`}vlCYFs??^(+JlTbH6+)djnyELBM(>FnZTj?y5=1f|f-oG8 zF-RBr!bs;#cop6|@?Bz}?&7Xo9VBRlpEU=@8{HOrh@KowmZeBIgUW_3&M+cTfTt|< zv3nC*7a}57t6WGT8%HFc--t{dUINf2 zBFNYE6C!o7Z`!2jp=wL)ah1vygQ9^Yplu1DKzxuOyndpqgt7~8SMVfmi(%Gr!#3!! zonW8g*}yB54Ui;+H^bFi)FO%XM5{Wpj*-HNN4-OgzDfl~QD-e&_z+*zbM7(q@*$Q4 z!@dy#AtO&UG1l}5j&->@fz`a`6q}JWzfhoEkh==UJ6OM{^Df&B_=X^v>`TD{%OuUC zD;_7;6Q$w-grRhZK~9+_Fxlmek&IO&2?aTSlA<2Hso}dtsICxkxE|iDPas}+>=9}v zy4R1Ps7Jnh^{q-bggU_v>{L;b65ExMk&c+99rCdEy#z!tCBMO}rThQ@Za=|n!9?UX z(F%B##n9!b;BLms7>~cxmP2$VY(EvR)02GBjXZls!{ns)727nna}?~9q)SoWLaQu% zp}Fch=Ei}pUI`SN4ZUX}NSe#`Zo^fg+3v3X1k%;Bm1y|xaA`N$b89=hyZdq-;NFRw$W{fCJG!n^-+}*YW_f)va@JTqKa3k> z7Lj)O9?15#o?>Za`(UNEMXu~eS1rM&Pnf`m-+&Ugz>(;a!6iK9i*c7vAyZ!ezd9p3 zjJaHPi(JW&TYpxMiVG2fOk9q+?QPw*#n)3AI~Sp!bvT^g2xLvO7CBH}KV&eckky&B zYqz1=xL##@n^wPQMV9JYicn$<$jaDSENtpskUL_jYsesr9rwI!&pStKn&bmrMM;TW z^|iZf>n6b%P4Qxc0b3X23e!~!Sr0*P|d9k6E}#sNQ-F z@QC-h9{0^`C|0^9XH33t#66O-p$J-tzu4$RP!X843Dz6-FHRsY6zgO`*5(m)AplzN z(vXbSS8ViGu%m{};0?$E*bb9iYQ(=Y{t<`76!suUfM!Z9kY6Ba%SItMc2Q)L4lMPX z=Gl>bf2F%Lwxd`;%Y>?@xXZq4GXdDQwR$QwR*Z4OS=L&el~c}|FXt>b%l@&qH4LdH zP`1SiNjzC%w6_Eu>(=4QmHxKYzFhCt&MoV^d$;ukxVmI9DDz_1rZb=|h#eIAE7|}B zO6Tq9(VxJO@sq>1{t7w@mP$Tvmb-8eK$6cL1;hHr2lacO94pXI;rrNHD;Iiq7Hinm zgJw#4YnL#z!GoQdj_OHkyT(vn_yN!u z&5G7KJ~*X);dj)$rau*e(S*;&2Vp;cs0AQ)`zD|JD_!T|ul(6z-`9>0A`XZD7`8;; zwd#=BRw^{MZ^>hyQpQ79y&s-TUGirnR>naEL)ZvO)?$of3f8T=8csWQ!_>*EYdJ6K z7wG`GrDe?;o{jYWQB#WJee#1R=i9j5p&h$Q^`h5BN0<((*h8n6VdG^c?Lqv>+FGTK9KEGp z;v*kyWmq3V7+S@prp~q?W;AJvu}%&)wsp!j<+@@W+2QIoAe^dS28(&OcRhZzL(1F>G}FdQYL1EB+KW7W5!XA4Gy5x=o5B3~<)V|3uwR~gM!3{MIF zuG0xYA7KxySnETEkA2JS!K4?p3NI}&Wv)t$*VIIWp(BwK3<_<1^u=eq*mH+4cVg(R zM%;d+Sn02 z#cZu?ne5dcYF%o?tPD#vEfTi^{Z*GO9L%h0PSte_eVAAmxRV3XgbqrTFVYy%!|m2mFU7{(()|`27%jrpoC!6xOYw_o{?hzn`iJ~P+iWtPq2-l~ z8iQDKxkD_(r04{o&Ib|BT!@;)-M=J%@w3(yaptVv2+8%@5SE61*;o-@WbYc(wj@E! zhgb;%8ctNnD##=&-f9w!kw^1dl4Oawe^r1p+x;CIE*I26 zSJ%mrEOCVKS>LvqTHGk)J*ykyUz zUCD=={aIV=nJh=T_56vxjyzKAv9#JB+)u_Zc|?V)tfj2*iGFz)A+27@TCb*=EEa^h z%~(rM3^8$^v=k?J)MzXG2zvFUF$8S%=N3aqwm$6qqyATB<1FL^lPpe#e04<(Y~{%V#7B|%5D(Fbids5QEDC5vV31jkqPR${r8*KBi#tFS zi@<`v(t7YQ%806O$F;S9eWco5y76?mTmd&8Y8oBLtVGmBtBX9MDh#G)R~3r50u;$+ z;ere@lRo>9$Xp+%b-2&HcN$Z6@EdPjKubp?M1{>9bgZa`{061V)bv>{X~r%T>Zcb? z=}w96NV&3jD`Tmdt6 zoVZtA0(7cP=ChcYhebsV=>l>>vmkJk1FM2Vq#}k$q0TO<26hV^m1j$rjY0r21$|r6W!jWO0$?@<*g+RnBL+a7tXW$P2+XxanKYqkrzP?pUaKGY(UTuUds zf>tLOIhiEG8N;oufYT?EkAo!vwwAO~!X2b~R1qdeG+*Qh5oN`5P!Xe|Xkb{TC5;Gk z%ily>!rem5x3br#FGM3kRL`;~a=8sXXXQFKau(gVZVRZ@zC@QoIzlU?;zZKAo*BTi zSYf!mpeB1JWPt*QaKwDOoFve0>ePfgY)9zHmAIy>cIVpgCaWp~3%jq{b#8QU0WVSk zaWDxx#`>!S;s}MghMI4$S`eS1FaaZzN@|7KQSU-SpP3=|WN7_X&*5nGki`M@K5{MD zhV^2fKy)p%G+~eC_Jl1rgKe5;#mDAL`%zTtoeCR9IVMPz0yW>9OovE4r<|fw=pNiHBF>J%Op?b z?obyk@`#IA4Mca;S^9rnqW7!_%EYM>%#so@1{gX%+ISH|DA82fLzL(Y-`jDx_jQe4LAFD^lZQhA{)P0MreL1 z+odxD%nZyBUAo9Ai4N(AhTDW3R(7cyiy~VT8<;vSCD4=7I#V_oDBZep-;9QsEfNn5 z(*X?Hp3=yk{7CpKEMrJT!7cg1%jWdAIftf)VY*lu;;qz5gK}(su!jFCJ3NnRU!sI?oQLyIIIqe{Ffh{{0y+OG zjK@Zp3jx0gTvboZKZ%;DssLJl&RI@rMHQn?;X9aJeG-xR1@Gzo1Mql4Jqv3GSEPz0 zW7#v;8Nx2@hlH_hFKZW-wJ?-XXBIxu_>d83L#F~@Y*~dTp;UBoVLPeob}y06Sr}Vx z-6Om1y{%%1?6lO)UNz54#gR6p&drW2L*U{>7m8}uB}@P&`ku{5p+OPe((!Ofq5@-< zm;(GDd6*+qNh`EDAcvgB!A*$0nclv?}K^b1BB8*455^c8NC!4VBY=JNZiwkd6e4B#GUA+aS=4 zyFF(1Fxy(wVgl1{qT0!ygprSp8Z}a8B8&$Ig5<7il70e(0C6-MTeo08q9X{)7}$fZ zp-Mf!y@=QWH&J35%hYB!5%KxlJx1xa=+}w#XGCP67aNFe$YC;7j>t+bvg@J7hhC9S zjgVszd+>6xJ|;Bfqn21!6PO9G@rZLNV%l8MAYlGRl#gATk+M47p{X7yLg){7e*2Uy z>z9Ha#P;gi?>yur6v6?5$xAY;G$V=&31s}CeOSUTeO@gU^z=RD(0r%{$=M^_lIX*Q zAfcjIbyEvRyT%4)T>?4gblF7NVh)&$ijvGw;h|DBayWv7bqdn;br|U)HQv8y-eRx1 zHLRqj=lP`Psf@9w9#673PZfh*mnSi6l^$uaM_NB0JmGQ)2kbE>RDEqS#wA?Xp@C_{ z{AvnK$I~>Qnt^xpyHM(wS?so`2Fc<&l#m^}C5LGJqC?e(wO#jM-@;1jI#ZQV4$hN7 zViJqhRtgq3pyHreN+z12^$}f zZb@QlfJ@P_RK`$`g##q$6nXba&oMSGge+V_aRP!cB$q#7`k2%Z_ak@(^ackB3xb5<^#TcZ(U6BsV6tzp)W|BjuiY|?ai$>{f3YP;2+ zaloV{v5trqaIq0!>rnMkb^LEAHr9^gI!oj;gi(|DToZ{QTn@^Q4sg1I+R+c9@-Z^b zBfbUSX{T)Ap5byA?F?^|+F}V318}v)93w_w=POy1Nm`T1n{oSAS^nV#jy@GxLhDd3 z`|icSsL6?K|0<@)R1o$}ywEL}n3?)WFFG<+YAm%fqQzJU$|6c;0}bJrHGl_XCKJCB zgyWtpJRwMSimVYuFG(*o5#>fSl*(ao5^-68XeWmbz6?4IEcjUAvQMc%t)oOG>atN5 zaAUZ*RYFwX>WZt>IHB?YTf|nD!tzTU;c-4)(_Z7#Z( z0}X6pax~l*A2u>-KxwfK#4pPoh=<8uE9Ig~RJlw%Qk0mbk3M=nRKnV(f8P^Ih(5we zWE})L!JoY3%rcI^!-RH;k;13-(2ZT1VciurNgO=6bQ_nDY+He8WkoJGvKx*A8eEZZ zN@F6oGviIt0WG&yn-Os9Ao+l>g4hR>eFM}p9wuRkf7~L#92WGrTN~jPQqt}70`;0K z%wS?ggCX2^B(|Sg?LF(X;aS~WwNx$YJQlMf%gm(l4sB6qLBr{$Z_ox@sEfFm8w&xF zs~GIec=qU!M6_Pd+o#L(7S-}#dQbKd{C@WMVu{YX(8ZUGO5hqaqysYjX zrEi;nvP@sRWPmo72jzG!Ux9_k-iu!FKrx7swUaqC?5S0$80jp2J;|1>O}xh$ruS zJ^t&vC9+m@6VF%!=7MEp>8c?`*hFWud9>_vw@kGeb`ge3^r{d#veDwsOLea?)(1L( zL@80A4>u?0-?&_mI|-kbV$na?9FgcY0wR($Z8Ni|r1`WeAsa7dHlj|8Oidj}y^950 zi?==W8fBVRFNyk@^cpn?srK3A*Ho<8a58ve08ECCb8<~XZ znO9p7uH~GNz92PGiljfRGO-maZmZS!tL=M*EEssvna}rkva*TUDckrm1VmS57Kh)3 zrMAx#CCOOV-7gd_#l)3NdQeUYGa%tTsg+j+iS@1qS67O5MRLh zol}raOtGS%#v&7AUIeT*JfnzRR71=mI(IC!PvRXQGExPhNPN=9bE{|Q^lOiV-iwJ{ zV;6gcF5su6WscC?NcT--nhn1gx}79lEh7 zF%|IDch`|(G9*8200&i99>_3|Tr5jvGO0%k9{bMyd@W8}Z(B>+lUtdI zErTm=0T%D(J34xYi}M$d5*_&fm23&cimJw2u>2&eJg9{wn4LGG|Y^T?Li)9;4Y%MTweot%>bxC>Cpk1U2u4L;*h6 zAW;g35Ovc8u_+${I0A&JFmkTVfv|PHn`@osmTwu<9GN80Zdv@u`=MtR2AM35&$*r( z(b`mw zdDMq%D}5dM8ZPfbFV3@2k^z31^YKo6fQj+6dU{#)G2|zOP2GBo1jnZ0WHRhSXSmlv?W}8(OE5l`JmV!||ab zjvoFm>S5lix(8~xs0~_Eb3FR+6Cud2)mdF(o6F#1+tF7GiGaKIZfJdNMH1&pho`@* z$6FomVTgsduHq@YN?drM{U8@zpu5BnsUgLT81tS@3DqGDl{TF1!tD*)DtChT7E>x} zkEFj^oPELwc;W-xM!n9Na?s%t?IXJ!bniA+(d=H_ci_J*s5SZ(oSHN;_)3nYx*6XjJm+?>yt zwxZqswl4npGq+v?TX=*iJH|6qhh&N?u1C%z#3;GLa#xast;B_hiK`{&85Js>Xq-~M zzV*Z@#iB5Dj6*xfhe)o0YC&q)Zc*XO=92^sJ=`iM9KwLB3Rm;DF~a3||GIPVqmx~0 zO`&Bv(_dcI_CXnC{et)=HUtpD%Jpwv%RGMDn7q{rz(Lz$;{x<}wAwk{UPwJR>R_Y8|PA*Kg1_Aca@JoD4t1BBXa(Y7Y?r;xv zddcYtgPEjN}h?C2#IJk?oySN%gLp(42QMevZc86;d2;q?oW$mE1G|(J<6R$R?(?6 z9Z-T|`8dG&)92qWV>>W5NNW5@CEjajjaOD%D7*BEk(M=2U?!XrZe%ct!cz$&m_6X%2>7)83O1u`a%#UYP-G zVrTk zyF9a-Zoj%sMa$uBCFukv?~IgK4^CD&HigUFQ-i?C>ZPr)^ITm*Ws~1tTpy)%r7KHV z)D7a)(7y1Wsy(`5u~5-$Hm!z|D}%LP6k!Nc zPVb@(?-U*Os_I-Wb6fZl_kib7GMn_2o)UA&C}N=_$DLJ_>-$no9=kwXZ~4ZcJmaU% zmIe(J($qI{rf=9epIfCGiO?B0wN7ZhfrDirL=@MA_`QminI`*C#0b|+5M~4KPJU7) zJ;bR__NVySLF2ZrHbUvZiLa!afq`7L`|+J{jSYJM3o8yQbV$>}Sx0XRnu!mQ#!+s*fT!v~>l_Ln9x@~@1~Qq893?W5IX@K0>HE#^eLv(iH(UyRRAB@U8ubdea# zl8**SVB19l3B$HV$m`%gU03Ny5)94xRK5*PL+l7G%D+ORw4x*_dueSRmFhn1X)gs*68djc zmreULl&%CRbBacF^=9*E=KXO|umMPjD;bv%B{oEdbA``%qMdftabL3Xe|S2gKDmc3 zCI|1OS;}!F%S^}~K@<7YLgx7K?7P|wJFJWX)Wf4E4{1Aj}-< zP%uMkyUiJzW64FyT{Hkgz0I%VLjK;tYpQz7uP|z$))Zft@oew)vjglu`uQj8 zOinAOSnOEeU`}(*_=o^+uV?neN^l4=R-4bIN|(UED`+GH;AnLXV3{texo{%jTKW{0 z4_an*x7-RGX|RMvxF)R1$RLQzL>gHyD_()wrjN|-&<+vN(#$MBe}{XLDh!6|0;R;c z)i>x~jgnRRHqV$Z>ghl|m`zjRQBdDt+A)W*81Y!%>flQE0YF=sZ8=<1mFdU^jZlOp zkGGxPLcAb$;g^&Sptd1;!OL5qt2r3jdt~Kjkc)V}HcZ0&dE2C3p|bH@LNL)O$eh29 zapAd*9XdYChYexKznVH$Xe>KLxjurcI3rR!^OM_^e5lpaNb9t3j6=$43R#*BR(Gfi zL}@%m9QXy?oGovgPN>-26taou*21kN)n;g(Ca5CTKCr7%WP+?ol4NmKLXg%;R*ad2 z(gPD}Att!`&}0L&xI1M;pMj;m0^7scOHqb$L6re8O0_c3Y1!ebJ4PBDgT4N3?DjE( zUj@V@a~d&;nx#8kS7B;dtbt2(s9F}b21J~!XDUF_UE09-OY^Qox_LD(v0Q6wp=M~^ zX~|1%1*vB<3t~5&`VB6{YZE}Tsug5|1mRo8OvCilu7okoSm0$)N#iSD(K()l!HA*c z(oWfdP-reH$M{jt8#EkcyCZRg14C5c)Pt-7N}N+gA``lrbaa#2O6KFsGB>Z?H)zMM zD`UJ83v;aSOWBlYAz}y-F{g}xWt>33xvZJQwdl@x2O^50ZkF1zQVqIE_|8=-!}{tk z#5Q69qdb-%jlLt+2HF(Ve5)D(U$1abNPHN1ayfmZ2Jj|b7yJ-zLcfZPo9tK6*QE(# zNwf_@NeK@R@lH)(O4L!LA(fC;NhLxJS#uinb`vy?vN(EhY+H59ukg*ML~v8j&&Y`+(QWUYO2pFD@g)i__xtYCcnaoyy#EsY10fg|IkL6)8;9&ZmCnW z6d&47SvOE%i@*~RhSrYNlr9R%(vsPq5>!(knDy|7Q3?BIq(I4i#0y#X!nk0n)%#o~ zni}!hfXcx$*&@jedNEch(Y1Z^;*Z3Wqjqd?J03@A>bhAA6RKIe`Siuxooua;aFn+? z_+_!?7=bh3DxfLRQFr{gC}9(Z0n&hnlGaFNr3wn*x7ZUD<~H>-2`;^>o5q=0Aj23+ zEwkH-Xq`c8?_cW*uM~-%hJS>#8e7`{^e>hXdoA3_y>_nEduNn{vFZ8OIwn{=j<1wf zQ6i|q;zULr*RD8nSH_Yem;?jMO#}~$Wgy%gWJkI`#@0i z`w_2xe-ys7Q@L9&|Ni35-kX2z?{2MrdhzOqr!Q8oe*E!ZH;&$2@l+3(+dBTDJ#lE# zDz+1O>~^u)GuWMB`l?-NH)D-ZR67zAUb*Hm)!OMh=$g{tgj0wGvK`vwJr%VUOxy$d zRI|(8H1&4_0bQcqBN71ztA?7V30UuX5z+!MJH@w$!~-B$!GkAWnxo6%=S`Jl=-iqb! ztkn2|D{7Lz;Q$yGPc!&*sPZ|%n~*+3m>zZ+T^Av~Z(V1hu^0&MWneE}Aae7-C6~Kn z8vqDTe}gqQ4c#^ni?5gL0B$$uTesC@iOKYaTL<%2ENYYHi9#zKfahBa^mxl&Iap$9 zgS)6O)uC7r@wZ5|E91SOHR0ahVUt>}skS5q25 zLF+uiZwNAjW7(+^(pwBAtpLB>C+2l>ai2Cy>!uirfQ zBZa$Z3c>Ho_c0;N2)=}pQtV@-SZ;upCdVNlumId?yoxkE(B^Od^V5sHAD*ptzIljl zzHuGJ0&IvT7h8yj!o5{q0qO)IAt+NkRR|I4Eh#2+nc*wS9Y~^pT`PFH^dPGNFr|C zM<*=2UgB|tNQhs^v$uXlG2{03GX%2X8ScC|KiYn<4;aTCd*43V&VZcc)&N_C_uY4pd>+Wmy?Cikbium5&%|E*0l?{M>@yc6Z7(g>d74t%pR;zrwNex^7Vd4|(K+E-cM(|N9o>%?F<^ zpP%EfdZfU>DcBFh$S{$cFhVVBI#KB1F#hZe^7^a zu&47rSP8yr43E=*2DzXGKvAekhXv(9-Z-x$_#1YiI4VCdJw-g49$)f3H`=Y}gQIJ( zK!Q7z;@yBupU5R@bc9!MDj|sw1+ljJolrMI1&OE@aeK)k_kHfQvOj%xMfTI9qzuGr zsDezH@lUP75iIvdFf|56o^~WP|tyYFe0z{c;Vxy zT94987heJ6p=TgAzN}8(qk|x|^NPCo3T_NfXu}t!qjtV|ycM^J7D$hs>6``e0u@oH zimSZL)|6zl_->HY?^95p?{0lSMH+HZ7$%^#bz0+2%$rXlHAAAYqFP5%Ah(BlZ!j@f z7?Bv0)^VsEs;E#`v(hY|J^w1UZ;K+)8_|t=#DM! zLxYzTfeX)X?zkb)7UNN4b!#nhEoLo!$I0S|SG6!Ams4GPm!(V;Beldu9J_>fNbWvh z2Bnw6gj$nQvt!k{q9m`htIX7|KM#F#0sR6kv;E!bCAVH^d!WT;@2{`_hQI87`1yPE z8n}ADI{x$tmxUQoD|R-f+}po^&f495e)H*M{$Mh>k!-eL~{$lgRU`O>JMb&ct3jYV+PbGTw?+#HPPd% z#1`#-s& z&;pGiRXgxKU>2L=gfw9gTWRHa0S1Jba26b%SM%;3+*@VSV96sPm0MMOUP zUoW5jbDHrq9*o6`$4noJ6*x>dKuQc=OD4{0bu(3?O|=VUCc7&3!tK=4npT?{t;h$I zfkFoL0xVE)5liDcSGh^o*+q5|Mzpx>Qr3LI6B*IB0rrcG15=gB=q= zFYr0>CJapG=l(Md7GilqW&zJi5;m@)^$*^TJzUmciBJJCqen=x5d&jyw#Le^Vp}XO zOWB#+H2DNEWB8J|jQU9So6t)OBMHWZKpfO%_(!5o_?bf{)hRAGJ1Wo{E)#gu6Tqiy z*pu7@v^A94!Tt6FfCKD219ZRr8iK@?kH(3jOf>Hu>@>8sQ7;}4hyAf$#AOHHm1e}s z8Sq1DXA?eVgozZQ-oi}FzUU7z%>^7zfciyjTG}%NCJeUumFykDgUa>Q9XyKTyANBz zhltXIbxo~cl$I)C>%K;4*W@kR5n`MKer6Nh@5P4v!1D=PfQt^_zLh==ty<%h%H=<$ zZiX_#ZI_ZhvWW!E!R?uUDvgHW${QN+z%WmSbRbMhrx2?asRa6$_;R+m* z3Pph!$WV(UK+)v=?G@@@iSvGtx4p06Lk8_&7ZqSi%aA{lLXv4kQLeBfGGDO@^EvED zQ@;UJWL=;rhU$%_4_`||0&oD#(7}0^ZAg=;wt6GqO_DpP`ypt7Co$tOD!1>p+*{Qh!}a(#}&Wm$HI zHHC_kwiiF49YYj(6n3#{Bx$7220%#*U4DYx9KyrNBZE@y?S2MhB!|qzSu+4us1}|k&bYVABda(&tDH-{rqh8 z;G6A7g$C{qd3^o#Jd9%+h4ROz=NF}3=nWqRLu%nkF(EnhtqIee!U~@{^^_ur3q7^^6#(Pg73Bpr z^T-e2@7Fhbf8oH>-o6R&O4x-fXXOX^GUr@d_V_Vin(fg2IAg38+93G~j1_DH^e0 z4+LU3aJ42P!n?qi5MLj^9WK3sk_MD`3?BOu26A<<`xDO@-hI7NLaG?lRK=-agJ&@m z1ldBZmu9ddgLQ@?fo9!8wo5jhv~QZrVmG@@+o(zb*kqqD0e{2-ieV`Sk{Bz;5d+G= zW)xXX6Bm?W{}{Ym@3+(C7_-2vEq^}4l3r-53Dv@Icion;x~|z`wOWiroG%qC*%^N0 z2-C747^g9$50d`*uqT+m{S>M3up9jR1x0Aj#cgd*4^itEfLE0}O87{B+u;HYax}?w-5N9Z>*RS>zH(4UKL*rD`a7qD*iXbPBf4Y5ByvP`2=gU`ayD zm2Avmy2dqDll*tLD?j;*&UaK-=5Q)eRh79$4`p}aRng%6w& z7Ce*TV=86#=7Um1%a*Si!tL*VJpXiXdT~}WzT3^D1Dw8H16zzr4ghs^G6*m?GLR|1 zQwH3GLh1I=%lkG&mmk|_wt z270SAeukyLq>|?cRJHu4XVHF>a6eDT3b8I8A*=!Tf(|T1%Y~n4!pTGehRXv&+P=^n zNr$D2lBzdhV>(!o6w!mzCR3>pW(N*zORxgh-W=oHie>uI*2ntA{@CEyh+v6*NV8|x zs5AKV7aqBJ8)j451cHswz2qc$L!qGj1!p|*c>f@ zJ%Yo+8x;Ct9Bt^RB0GsmHjSSRB#UnRdSC~xy)4(H;=UR$YI%(Rf6*dxqb1V$P>|UM znzk$1B)#v(XG<0=TcNTckQd}wXeFs5ta0K%tj-jMEdPb%B%x!?^wuN%TYMduFk}^1 z+PX9^fU_bG@h1ZAP6Z)FoikD}dZVhGMiEhkHTAheiRZa;`%KYNSw2>Vb~j?CJSGVp zdNDGH0bZNZEG>s{RPh_FH*1vmQ-8!yAzf$;&O1^He$adHS4j3I-vpA6e%RxRxHRL} zrHR72E9_JCao*ly(G@$#BCLDNsqUq+UZOhT7g~V`IbjZe!wFT-pq$-%^H!HJsr~X4 z#vtq9AoC78&H9SVrAX8;At|x-+8859lByoI1piII82S8z8BbI+lOY(`G#XjF{Q3fU znd=LyXBv?;EY+5QOdm|iky>f6&viAJ#v(csz0r1+K~iWoxIB1QLzy+*T@=*X8%2Cv zJ8z`fD4lqkF+Yv0A!ZcEPW&cZIE0%*5`mG1Nx(a(U4=ln;KyDl^L7&|WEJ|S3^JN(9dwX>;D zMk)5NwLx&<0M?g#o_@rp2nR|DpeNY`0bC^@TcVdkkKlc1UR}zA4$%wsC8*HrG549pwitvB3zlFvOXt) z;TN!sjpYNSsjRW)aCS&3SdLX43qqt+!Cbc>_LThK&Wx(4xjICjznU|necvGl`3|XH zo4u$)<0WQ0D$;lyzRL`lnYxu8h?xh6COk@2myf{gyQ7CEMn>9Yd_Y2HT_KyCAK#tA zO}PbXF`IL2U`u)A;S{?RA_MA03#H+pYK9VE!5gLo?Z2oyNRdh`kRDE3P<_SHJYp-k zC~0Cqdml6Ia;!jm&?p!%?A<+X3c(5^tslIr2U{?&N}wXTKP{qoIuJF5YX~uEXwwi# z%YCq5%vh^2bVW`qelqN2(`lmO(DkTNdN{vXuks5=W*}dMd!x2ME#Kh$oJ{ZuigIMZ z7^W`OK`>n`JJyE+>YY2*H=mKb32mq>f$5-a%3DgeiGYz(HKGf18ABZ2u4&%El9;xX z=|-gGQAD}yi`^gJl+ytgm<=;&A#K?_+Z^Oxi8k*sCXrQ9&EGov5OXO+Pqd(!lYUtU-e*ZZ`I7g$V3S}BJQc?VtsxDq2nPRI z1H#)63JyK*4&%{LLq;RA7-7#xh%BBAFkUm{tU(n@UFBUlwQhu?ok6892tWd#_(zLp z=aRjiSCk1(%dW8 z5K^5<{2Mb}rzdKc;Wj^ILP#1LaQZu~rk#JlXyx#cu{2WP$Q(WY4xvvO;{Zyg*ULRd ze570>Pie zpEfkGc;5EM#&BaNfl*KU|h^#s&E|r%R zmk4pA)~y&eCOPcQhNz_3BqR_cP*PYM>4Or4WCV(J^B9I%p(F2cpWk7bygM`FN9rlw3d>oFnSQ zY>I~hKzKe{7lRd%s2HFpxdx*5DQb=QsjdGIMO2B94ns?73B>?drG^8GE2Y&_4XoQ> zYKKsi!K)@6e8Hu=I|Y@VJUuya6i`(>UnuEm+C*H(6-Xze)-!4;C?mOvRLSf8R|ju? zLc)o@&7fNHUaFR+r>O|I_#dq!{-~QdFCg)d9@#MgpPY?BOt$V z?XfAd^|VqUT{uVJhVMXNDs$O`QxzSQmAD5%D05M7RFa9arAI_f``WPP;jh%|mF!g| zSQ>f8;Y{3Yry@H8qsj`?Ah))D7=K{FIY>~KZHD>7VG#mn` zGx)$iMh=nztl@OVqy)271R>Ndd4`Chjy#n%=S`E9Gb*!_ArxMq;N$FeptPoRB6rb6 z7C*L^Wx+FHtvrjIpL#fqnA%7t{4WR&ywm#wbD8QM!$^MY;bE^16c04jX=VLOzEj!B z&y#wZB2Q799-OFBxv>AzVl43pD`ZebD@Xk|OnSDe$f6*}92UW|A|mQwE};z0J}ayt z>t%b(LiV5u-?6S}(PRGb_6SLe;aF);)nFMew(N4Kd`9qaIfJB4Me`yop-ZO;zRaiP z-;@p_9R|*jX*K>Bxxf1 z6aLDEGSa5Bj;>GY$ns|Qu-Zu#tMv_gczfCPZk6+!8zEq-!XYJ#-L0X?U-%Yt6>af( zXhJB|!BMy<1SixlA{w~)33aFRD`*yH{A5HtWL8!r?fXFskl!NED9{N-6*K41ruuQDM_r#`p_eL^#io?_M@t^f6bkFUoW(u z0Tyi^H7T_)*q}=*w3?BM+BOqK^{g6EFu5BMy0LH)R;-KG_9ntr4c++<;Jv~N;zR6V zNyjJ%k@D%v2N=EB!)){Cvd_sN@6YD=+h0_(s=eM-Qn$7nQw42*V%rf4-ek$OA#lOolLi!hNUX(GN zKs^tbT0`|5m@83a7o-pQYE4?gnTuhi!@qTdiOEHHhb&8J7y%7FTRRu|b(2kw|c5sh>rcao@2T z+j@a_W2Zpr)vhK6A|MMA6@+7=nv;xkrv(xU1b4P7JQ9P<#d`(ca18xrbLmpM(jo*u zN>vdQw=ejZ@ZQ1`We@`!tPfX5rz~Ma?a}eO|9SS$e?I+TZ?*l+!#>ao=Y|>2BsEIn z7n|jsp&lzKuOc0+bTC7Hmmw~MbvQ~W+@&)AvTw&o3zE9;?xwojKkR71(p=v52JZSU zx~MFBaCEe=z4QF~FR1gxex&=ui^+5>qT?96VpBgnefBr$jN;Jz&@nydI?Nd(;7OV0(}ub8fm0Rg(&%X`Y00Ioj2-*uugg z{lSz?DP%dYElNvmFvOu`QL0$#wbl01z9##VB)pml-^qB*w(Ie}3c{N!DHjrxg!6TS zI-o;#prmG(^zo?@No~rbHcIP~MybM$*i_=SFN&)mI?hZR_u64QQWLI@bTui%r?KHF zfL6*T{2=Hy9zd-H7^qR=kvr1rYb}j5XMGhKfbhVGNmY=>-N`nhtoLJSzFDhD@)Bt? zMG~@aS8AxDwsr|)ho<)oZQv5ed#8nyL12ScO2076V9qdA*62%7+hGA^`1GYvp{|$v zAGwi8|GkEAr*7gg&LcGtp5f538zrjQK?KF_RFvrYoe^tz$#a!noa5YPmW5#vlss5V zkqr26VX~nmRjGm3&3@w`(Nv3CzK9yzSVYL8>!C?)Y$ps!CXlgA3<7QHB}%4aTbK6% z98tdDC~Ye6Vl0_qn3qa(4ce9(NLMrLMYeXG>I9?$%#XqR2~_RQLHE14q& z0`Z!)1)p*%b!DLyZes&3;R>K65$-pL!!zQRB2r;Ax-vUE&sZ*hdr#6pZqQ1N1iFI@ zU#fn62V4)aP#s36yi0(FX)XK+AIaMGKX8cd)>NVU6*}9jKAhj-0GadO4X`4bX%sJl z4h55x4ImSuO1>kq>-%ETvFWirotb$ zF-9eUAJgb5Cf9+JLXvM2045EJ}4E5mw9V0S%?yC-g-fZWD!q5w7p5Ve^VT z-dbI0CZZ?KpGqA`B5X26GrN_Jm69tF^jfQ%GU$VTlvPG2Fk}HzhJ?`3J%eE~pU6c! zPUku*L1@J_9atPUNUB>Q8hDTqWX~9Ja5S*1-%iw@OPioXwzY4eR%?@;Fpf+xQaS81 zC|TB)^s!zP3tpJGw(kW_|D6t2g9~|StbvHYl##q9Zr=><@(<(78)+#;fI~y@#he&# z*XI$wOa6+V0t>Pew!(3jukQh2u`#BGoj9v^*otGA#xnR=E8sM|{c5Q(3cG<2%C=<@ zsfDw+&0W|5#A16*i1+c)EsuDR{q&!B&P@3aLxdWc*&l|a{#B+kIFH+Pzp6ODe|~+y zwA-tjX-iuRYNf2ucsFrL7LyoO8D=7Cup~tjhpPYEh%>iwSI~}oq5>~QdM%(;@aB#cw3wA&s?FVIk%!fgAmXExaSjDa?@4t#^nIELYCpz6aFYheS z8@9Q87ZK2%-F(Py+7EalBE-1dVB->hkfbs9a}+1>x!aoT&T zWV}0zg-MZ$qc7s`c(Gb7l42C5pTNTKZC>E~A#_B95Cy%AOu$l(D^Ee?uya;>cu^N5 zD0&2bK!kb238bZ};G{QIOGi;;z$nYOD=W$EZc0O8R#3f&zag~-ml?uIDTpLn0Qs?t z+7+7BkR#{Re+BEyhHIPsT?Mfzhw9I(Zd#l; z6{y$?zgV~S3IL0t>^${2_RB*%Bc?O?W6P|;D|esGz3yLd$Cyy~Z?gtqZ0I!vepz#L z96-mK&bAAqOZ5f#i^(R$5z}>AK_m=}F>fE)!Aq#gBiWb>s_@$|mVBsHwD}(?yco!i z6p%a1!INdL;pDer4bqQXp(F6=z%bGu6vk%m7aY=kopKM8g?j@IbgquXMQ_1Ta}Vjw z>5Yx?Z||_TTFifS@#$ncT*a|t;86fjXq<#Q`N7#sqD-BV0jr5U2{?wMPDULBpqzyP z-CX&ZD^`ku6enpeF0?XV*VU~Jvp1v_TMye*$T2ijSc8OiV06`zlQ9N}ku1jQz$}&0 z>;be&5Yt~x^#_hsMdHUlPD}f zo-!HZ&c(^xP|GQ;nYJFoek|xa#jY3q#R{m?Fl$+$YO1hz1obo(^v;K)P1VBF47Q$w zIS!Pi9YMqNGD8xb%#P;cq&^W|u8Meu0ZP`;>fIu%#Xi-1I<#vKf*C8vZeGRs6K<4V4eS2M>MxMhqq?nT#cJI>KNB7Geer|dk) z;*{tGui`Br4RcNG+TwCGZdtKO(a#a~?d=FJ z5gPnK@C_amnn1}gsL#_Mb(%u3u0`PlLz8~pQ64@zOD2c!J{+KpD5?2n2y$cefeOV; z(NTr^k~aJ@LPN3u7Sh+JhbP#XE~^+?r9$0&1ni?noTdVXd5#-^yE24+2JV`a0-?^X z&RjOYAqU9@*;^4Zl>Lk5J>ugMMp8))PU(YDOgCr&i6^7i5CWaV%DlrsPl4+sUPJZh z!ThJvQyK|ffmAqD?KX|Z8n~F_f=xx2ap`X0HY6Z1EH||A7O=X%*ER7)@*yB%QU%4m zYaaZgr-+&L!jmm!E>@>hL~qavr62%Kf-!AX5-GtfhMEjy$2?pGDBb;(GyKz0~2PNT1g z9+65@f{I0G*3sp?vn+~t2^8d^<+=|?LUJP#&U{|4!yIi6xd0=XAA|Jy7zzeoo}%f^ zvRKhO90Lx8Hfw4w-IqZkFIUV3JWH2L$t}E{@xy_;$j}^<8Cx^%o7OZ{LN?!Vc!PS5 z1n@bzQkBKme4tO6z)NvvPD~TyflZI$*yM%bi^(9`LL);nIG|Q%z4RDy()}sS=?ess z4DIATTC(8ep1G}%SL9yaHzS0Wzro{^$aMW0$x#mXK5$K?lQLXI2=;jy&cCoA>QmpRe0Az|neD(BD+Yt_M2JEN(IG*HX(`_U8Q0!X1ikpB$Q zh&&W1kGI)X9!ZBZRm@XzWcB1HL+E1Lg%D)r+7(_9kYt3(Inwo%YC8I?u1aG?yhwx@R*JG>ml^kh!PT;n5Lxf#qf=Rf46HVKL2zr6&FQGHgG2 z%^EyneSlsc9_GS}L^k{ELY=juuP@k+rN<*^MZnwNKI+DS8aX>zW#Dv^+{9R8L)JYt zXilbRdU1Sr*OHlq6ooW`e^chg0FibAKV0Tv-$VW>icyh^3j{u|6#P4Q^IDiWLUFf@ zHKSF>v{y0mI2)SXS$k@Cg625^fSQV3P5hg}iXgnPX)?!PC29w7UIrc3S8+XVEs??) zb>g?0R{Aoc;LtD+gGSH+lOYNM=-@!8X}fWyc5R6yZIg=>apZ)nITGd_dK91 zacD5<`tm;*M=*R3!aTdaMPn)rVRRfla*%`TW}v0kuc@p$hvkwIPR&pp@}2vxV30$d zIrI;%Lpfw;{khe^Q2?A|{M*am1l%t`Yd6|_)QJPljsbeqpZOS>qfDJs1K+^H`-4uY3 z?!LeNjeX2O9fE*uEwbkN1G^ZtuO3V#)a`&U1%VY5}irZx>Y>hU3dGN+ANLZeseySvSpl0GF3|2N+T3|4ww{P;C)h?6 zPv9^NMKDR3gn(9_1yYP%Qpv)7^IFmhVSloE z?hQP9`(JIYJ00iwrLIRht^i=ydI9>m5;s%!eFBfMe+VwY!2QhEhRzS&KU4t;5)iYz zJVzu*=K2cu$E=>5&1GyfMM7$Y@{`OT!6%;km<)1K7Ds&-30}+&K18}_7-lQDfl^>O z$!tu1Nj3AsfCD|!w!$LQKCI3T&u0aatm54~L)zB4CYx@I1g7|O%{G-7xe$oZH3-u) z9w85y?iAmiF-Z`YYXX&+R)D&hi;+L0NCJ;yKZCHflkfmIBSycW+PXC!vZYUK#8;A> zsNnf!k%eg)&)rA}em=z3{KPRm{sE?_QFF+AZ2a7UqJy?8RoBkm)Vi~%lD;qh9XnAm z$+0g&0by>r%tvcMW)=v~VriXswhtI)dvSeyhiLvY4CJ?u=V-j!kDw)H#|5e*u5^>a zC6e?7TneK=j>jYg2@+)Ka@w@D8m3raT|kxMI1GR70SC(;zeQjq)RZb)RVS7Pg0DS( z53q{?qZxJd+Ep6(a1r4qKR~@@#yC*3gE>~dq-f|FBpkOcf1^2^)`}|u&FQWlZexR` z0c(O2RH~S3$5j$8!@0sEC{KP??a+up4$&n6TNZh=)l6-Jm#c0srl8SMhr9lEpv^)! zB2G6-YrJEdZ56}al^l&U(KuyAG6z`XSL+~MR(R@Bhd1c3vE;HxZ?13tIma#l@__Qz z`uGn#M*~Qn*K#xeOp%e}8XU$-)0e7GBXmJA*B+r-oV>*%p_;VZ5>)D^s>^8{<}lp!7{YGC#6R4kzRbD^_v#-?S$ zbp%d>$NZMSL`YeMRfr@iSmIB%J^WJ;fHh7$b#e1yBM}kN2%gB(mUV)5Bhi?I%VHcb zH;!JPw<_5bZe>{x)B(0rs69k9U5e)0))4g78JV%fh)Wq-rzl381*&O4Zi`+B&NL!cu_Gh2ECtT2y!R0n0pg!N#zW(eT$+ojns+#4yh{g^)am!OVHeCG37=#8gkti!5&7z~6cy)^LD!(z32E1M3kL$mCT0f=~PkRfcVH60f~RNdSg~a*`i|ze|T)!*OC4WNcu^H4Fcp&7D8iZm(ZFwk?V<7l8enTkv_6QCk&OiVu&8QL zRPcgkfRBZ>f#nJ1JsH>GGorG&20ych3k6Xt#bwK_QzY=xfDY@86|LIap zM=^VpTM)x-RFZN+ELyQxEPm#(M>I!Cnt&^Xr^NLP;!asP-GTKzBBqMa((nx^ABFo< z$y699Od|9i0%ABo7agf!Cam|3>$M*tHq1gGi}MvNZmuTETv$7wDRsP-qixc?K|!~8 z{hRZX&#oc5Yz==^PV{P2S2L4w@U2g`|A~g!vESWG2*mOT3pHYb-4Wy{n zy+Cg$V7yj;8C*y=Th0`jxWRi2VeEn`UdYXGO@s}M$B6Na^wols;>^Z$HUZEhHQVa= zaH+I!Fd=Cp;ec2~{T=r#L8`XL^j*k^h_y~fw)N%1$)!B(Ac5n;^+X9$A`wf(z{g1?zQvA9h zwbh*T&r%_cCk<30Byv#Zgcwxe&aB}XHtaF8ISntcZL@$e6%Gbdvf&TQBw3HNVS8dJ zl$7z|+R!yind5pTr<%zG@oW>d-%rn676+}X*@v%*F78fc4vgrdzB(eo!9HeBKVLZl zaedU^Nk+^dxryN9{Os%$HPKL*5tB}}7wZvZfUr0~m6FJr5nov)SfrDM1%%eNc_&RE z6Fj1HY@`r3Ou{VGz4tATY+c1M8Lz5L8jt{N(CH!({qunU` zbR}PweI;G7BGOMP5go=PzD~tC3cJR+mkYU~j|-1DFuHasJW0PnZ8X&yjgGUUoKr{5 zZ+5<4C`)om7YJ}<>MT>Cd|xi;r$m^ z5Mx>oFNA7tNvM3OAm6k*kAou{DJb0zJ%@-mz{hZfV9e0}LxpT{3qHamA$E&eKCA&H zjruLGFb6FjNEZF)b`Cs~evFKd;9BTpZ6m~k77aD{XwGkiElLd3Ee=*& zxC#42pg#hit16O9s2&5M8Mu4|pwJ^JNrIUIoXV|A4 zaQKS-vvRh4BoeSLpVTSP!`R!$V(Z0VL4MKsetHT?>I&lW>=o>E@OAR5HOkz^2DT&_CBM}29{!37a_5!!p|3>eK>)+lR zZ%cwmu`oxLjo?M_AuP@r2|2g~r!kF|W6s`%yb-Ip;qqcNBz>+E5$|O+O7bKep2m~G zx?B%c=ja_^mkmx4h`OeHQ}D{2O;&b{Hc{#x+@so9}vKB9!!MQy?@(J>)qACDvT ztT~5b!O{$GWZ{RD2=hiQqyy;_k)dX}e0JU#jM`@8!$ zDds3;L@bxvQ47ANV$>LhXA8}ukxDrchJh^7BWA=Q75+ye9 zrp=o7EuEtUj2rkN*N+8^RPA%YK6Jnr_U4i6AT5PWr4O2i)HEV;vpj+>aZ!E{RN&%| zwD>GDWMdb&O>Q@DvAMzp;GT?J@{qlv4$Bj66nVuIu*WKd<9_tb#sRArD0$gXG0`Jb z)$L@?y;U7fTG%vuEl2}n1T|PeR{6JzM{fjC^Ue4$^G z)F+>>sO>)<-rhi`Vf#ahWSkBdx(f-SWOuwL^{K*_1ud)$%LtQQaB0c9UM@9hww0D1 z?bUP5C!T3BKbbc>oex)tuO);PYcv*JfZm~0g!ZT^p5e@flLOcY82#tC6UX}EXkQxR zn4*YAa$3DO|AD3vj(p2PwW~RdfYyi&R#g)_K4{LADl%DCgKB?b}EST~DZbM8FYyL*Pj{_XkE zdkDi@6m6k-?Oa{cHnT}Ad+dx-BxO^eZ4AFlJhE`E%r~@d zP@hnuO-WDbX<2YMdqIIz@;_7=*u_rxWN}*6d9T^R@SPhMYhcCufb$shYT3)AjKZ+#yJ%t4ZlIon}O&}2EUkvG2sPi6XOuJKi9;Z>=3|JttpPPX_5mgx5~ud=IGxmo*1LXxM@?{g%Qht=SL+51}*``(u7NBE+@2E$Vl1IJ4kxx(wccW=493=&6UJJl^q03ygIExg8| z8#a0JC_96ote61nZ)P8WsIYz`_@4@1Yyf?Z5w74|XOhhQ{gBL|#v}^PaL4HDF{ya@ zJUln$c+&LAe4}!ejWSypgSd4_1=IoDEurZ1yIqE@hxWi&W}kervJN2H83--y@DEl? z6$o>%tYi(O7bnP~=^rSQMLLy`pywrEKZ=~<#L`~(zn3bqfY0`zJ925WM-Pysl^hQ} zSC)z@lI=SNV%;> zDcHloQcN=%Ii@RNoZ;;KPp9|0*jJX7+hnhke*=XQ7hp~fHgmw54RzhHP4JfQu?he9 zoX)6TC}evFy@4F$T{JOGYX@I)0blA(rBd@l(hIQxGZcNv!FK#^xyTm%lB+HL{XKFu zEWKf6f}>4^W+}$;n1KfJxe{+)VM-Z{C4&yh$b*u!5WyCTBELnW(Lf|*cqki448*#0 zvD>C(ZcZR1-+g>~4lFRjg$1SZZcJ=ITCk=9tTs(;FFF)7b;i6Pe${?+Cb~ZY&_|Zc9o9GUIR`7%8B=^PQT;7Ocgswy~s+>Wo=GA}RU!#J?-Aoq`k9vMS#BSNfF3+$xI0lDw zAr_#p4mJp64>e3UiJZkL!h}<-(^09^u5%!CXoZZRgWR_2X$bqNiXs^YONEeLLb$sK zPl75#igLIb;FB@nztxtLMaPGJT6MKw4D9moW*4p<Tyj-N}1wA=2S{p`=^4!4|#vZ;%D|P_)_Mkk&&J?aM z(SS$`tZJ!q>Q91$_?hf{0n%g2+_9K;GhBHi4MZN+=wF%wpd2dA|KX z$GW{i&G&OLZ}an7r7oIR?v2JH5iq3_%nd`_JFwZX;q5TdK)1g~T8?V8taC1{^zhQt z#Y6?8exjMhFWj>uI07IeWlSYhClf5^S0eiZqH=1S3)YQ2NyRHYCV>d^3R{-k5%8-( z5Vv108*0n^j7r+YyC{>hLLR2SQAoZE;e=qMfWq3kZEqiZJiLKA1U1l)5lfOyi@5D2 zJVSJ3Ej34eNj(cWh_FahPp*f6dVm0H%DK{S&ftZiKA%bTFu+Qd>O&-eFVi#7U3!K< z41aCb&K18^VqVOk(V}Kz*~WvCGg>*EA#+<{?uSnX7(%-E9L*8wg)VjsY86-=#3w~n zgyY;~4Li%qLZ&i}&5OGHUb2UfTUeszCd)D$rnMW)O$!6W!PtNfUWdEDs zm^8D2RklYS=NI;QH#MwaMsXIGZj%o72#PHn43}`Z1)mX(t+x9MZVft+ zew^pf&@)czZ{l@Obkc}Y$n2~bjzlQr$?=U>@V0!LmPWx0C1t;=1-2jU$>)B7$*ngp z`ueR8pQ{V%k0}0ny8B|1JHigTtwnlsaHKY`-{Wke5sb)@M;R{>$UrL?#GedQHZA?7 zZVq4H%4zGB^6_YrE4gZp=1P=q@mCUg;8^aVmC%POjY@k!gnuIm#q&gl z>wra649T216(E`o#37-+ms^NwPC2lh?4HkVOag-BUGv8kiz(728}IG*(k7TPQzDGi z6CP1@j%l?d6LLr}d$Di}y@47mg44_u2nYt|hA;pc=p=?*vbZ7l9u}e~_a?Xm?=qbv zkJMTsH*zXyfqVS@_p3WV^Q)2W`_2=VHL60POv7Sn7;%zr!HWAyvnC2fxjg~BZsA&asr;N^jZ9@Evl}gYoZ}3JovkySzg(uA z4oP|$DFwsRh;KB!vC+jwJ2QiDeiyJAf@;VNI>{fg1`g%n)5d7J_2Z z%u#iXQ5kHU9Kci+tZy`(3Yi!1@o6M~A3r=cyb;ig8TC+0IvZTP5 z_gb)J96}c_anPvzh+kCxwd^EG1>gd4&_=`Wy#*99xw@YcA%dZH6yzkVem%L^|8Uth zg@5zCRGbCaqFLHaODdIyU9H)}BMBunGXki*R_gI4B5R?^Mx3GcUo5cM;5|Mg!;6#O zGUU0ivfqcWv$otWy-8?N4aVnvV5ns`H~8oltFfi3#+PHkyShsa_Y{77jZ}Xv6N4Q6 znOZoQqGX?S`KJ3P=Q%x>>2juiv!}#12s?=_ zE=2f$gkCGGksk;^59W~amvuBkFhQN*P#HVY6HI)9VqJuR-kl!*RuU9kLCA9c7JM$o z#BaKV=TEwLIhay#1iC`~9?;?*A$tRtTSlfHnl-8FX{AOalc~r1%+0*haM{$<@6fZ32Ghzf zvt?$o0VkJxL}w>=>{&O=b$a3cAwcfM^`Y0IZCTCIzBQ#s7j_W{NjA7gWZkD01LkU- zsD0iaah*L6?)@4ja(vtnUlkq`xYRtWzR$T{JkjDZo+dei^=sI7gQ0;&bopO-Ck{4r zSyfz1Ye63dLVNwuQE_Cr2r4MBYW}VQ^wdM68a~~-HBOweGvEFFhCIz^&)(JjHA6Sk z2{s;4V11F0O6Pf1p8`*5pcvobXO?`RzY90Joc1%Rxd31y0;L~LxwRL%s}wkHnhdvn zTuABIpeCZiP^1my^aYd^R1KhDhJs@#?Zit^TylH*RuaZj?zVv7PY`AKZStf*o)%C- z2*2Xu+!Znd-Yjind!Wrn9RBTqfBO@a(2rK=;*m$rXRgH#wM|BHkQ>tzctoHjV&BxI zir)Gr{kyJp`dWYg^XW%~#b2We3&lcS6Z-~S828W$ehc-Vn|PtBdh=bu*M@wW36tjW z-=Ts^EK=LEY)48rg?9iUvn%0J$hFL%WGA6pn*7yT^;(RVlk#)eHO+WHa!Vz|lT383 z%24~f9)Y-wCK%#n^R<)Hv%~i&FXWxPFqtqk=itr=UO+c;9~iCn#JrFoXt|_-Hh1<- z1+2_R5^BeLm$Y?>|Ew=~0I~J+K11}=17Fk7S_V;b!cC$05fEAZGxn4>O@*g?otw6w zFwL@`F8$usGU|)eF8pPL#!_nIXEN1t-$#W;XvdCwmt;Ofj76RolH#HbA2*;D{)&19 zLAtji9$;jZtiy%e>`3Gl!{85ZAN;@i?eO9f(Z#d#3&^1!-z1U&71^plu9;?-CEo7tJT$&u1{Pd#hu-h56N(U$qL=E|hN*Hm@QU|Eecz<_teS3Ds zwN|xyqBx391~IvG@DD;KH6dEhg6POLypVM2UB4yvWSe{l;2j%==CA5Pag3Fiqdo>B zZbb!PRX%{0iPNYD0P4{o{zTqut(c}(gX16^-Ot+xwl`pqWi@}WXoG+*DHEO(Hsm~$Pn8zoEuvqpnU21; zn+JU!bx3`KbScFQ_4?xNjbz}vKncy3uaeTLx?H1;QP?tY1g`}Y!14yNErh|pB**}0 z!k?9HZwipf2RC%B5cy^;k>nXERByt=i}@Cf7hJohI!6Hg31UjmSY7$Ypue*v?Ha6f zMIvX|o<3!yCFYbxF&zfR5N*yOmuiqOY#dto;T}>_kS&W#Nkz$Vs!GmQC4Y#-!G>mi zO})=T_B#dl>mU?q#{f5OfHo!V*D8c6ZYp_5>nq+aK}~0X>q6YWkkS3@l$L_dxnkUw z1U02li}|JLipNq(@pz3Qr3`1LlQ@686gzOF$QpT7?mTrmNNt}A2zup~oed`iJ3-VL zpKd=a(&;=4W;Cn(3wW3Py(tk0T<-lp+VpTz=RvAH`A0PMnJ@7tY{FInxCR!_cc zs|;^+>n)=!B~JR4WlQa1BH{4v9khag^NdLG$vNa7Q043#XAJ&fd*VM(;`iTvPzlH$ zY6_{*+4PeKm_b{w(5?1v`|)ZI29sqmH`*??xBuf2&P~A8&vfaBH>-o6;=eZ!R@4eD zvGMQ(J5y4W0bAKLgYi=8C{P9$!$GAaQ75F{{m-zE#&} z=&SSv;;2%vpSKNPAF&(?2L^nkc|H6*B~nwUjc_o4$R*DFR{Z?aMSg(;c&>A$;3@XxuB}QOuhOWu49*Qu8 zMhWOSZ+dl{dPI7NhSB1c(^`Ov;dv6wYvH(_OIr0R*T-z>drQevj3WXVh}ow(mlQ7e zuN*0vM$-ga$_EsnsU^w$vuDn1aKAPptzV?pI(wT*1H}c$C1W9vHh2)+s?ETu(Q_tS zRc!kX!D7(5vXg=WSn5%N!WegpX-E=nHY6bSC2a0xS<2{!QxXLXtmWC1#cv6+wNZwF z%=wJd-qYeyB)thIVL4TYd?X^sz4W(O_6N*`Rf)d4X%>=dKGe}zBZqM%2T5^K@GG1@ z96^ifU=S-}a$Hs@3iM*WR=Km>NH?Pj0!dJ25QzaoSmyWI_>8QLBtUq`I&W5kvyNWC zld>gh_ViyNm5rf(odNPE0{xFyD*k_d^Xd)ap=6TK7s+z|wJfMq4HlO445@|`qr!yM z_qhUiOxqhn;o>(#w3}*Arf&i0xyC3~Ay(?_3?}*Ahw-dNs0@H8y$si7;rWUxxS#<{`NeT35_3gTZ8U$|M*W53m7|zE!ND78DbpO z2gcJj5EAZL^EZWVNipsr99g=AtyCQ09J~PmPOR_49qJc4%y3{AhBUU0f$ec2#W*U3 zXXYoxxF!}broS++WefDCjkxog_mt>!M;xVJz8m)oW8)}}hcH!|p3@gB+eqWvYtt&` zri?349?k2tvXWkAaL}U-Z<|7WtQsM6wQ`jV%FGcq-2f7HaKq4INkG z*YJ1zqpWMRhrq+VTfq$>NswHeT!}9BpbW<}3UQp|Q)A__{0THbJQiiwbK*l7d@d%$w-`lw?ycPu$MSDV5{iUGM$4IpnKUu3t^`~`+7{K8NV<1wY1fiqG zVw9vFuT*Vm=LC{F_d$Hwm7Q%xKW*=ib`oeGl|>M^=MxptKs;Oz@kkP~xPW6dCr_Qv zH`MnfiDXH<9Q0no?t9HK$?T*ACV{99vn=WIuf+spzZ&wpIxw}-O$pVgz9f~C8;^y|W;czyej9QO;vu<&Ef_vxt=jV5X2){tHqI&M` z=~eAKW%>DskTR1kum#0}`(3c5@$}RAqFHhx$?id=kYG&4f*=6W;~yq1XU!7A9Xaph zcsMD^@X7gA&z)bCOmu`fWO)%Fp;l9LglkG6>&ch3fEv~dRqn^XVaB)~855zZTOMJc zRt7mZC{-(e2RNm0BulbsT#6wL!fhW5_I3;Qi9BVqMerDV4n6 zn_VOewyyr7YS==m{bK?kwORHIq1s8H2ZSKC2ONr?ydxy07{q{?CD227C2lw)JRaG5 zP*9KuuyV5l=;6~FDnRJrKz`~F1uzutzR&`Ue^kpaZ7icWAgRH`HFJid9={W@LDe*_ z{0jdA3+u9C8z)i5Vk@sHHdF;9R0i+#@ZxdM34pIIr-`o+AwPVZ>3i@_Dkpz@f08r9q^`?aMCMh*AQ0Wy++ zGfghXFX_@C(2+ommObdj{_R4#9S()Lw)r(yuu^vUO*Z8SP6ZDxNm5EUd547lilPk5 z5F1FUooLirMPU~jRoF1WigJ=DmC5ifeiIns)XB6zoI-2CkbMy~kZ50QrUue<`)cm7 zQawV%i>IA=1@v!w38_C27=#mF#F)ifLI2#~WuXi|F2#V(+UykMMzqn}Gx0fh2&{g) zy8ejqk_6KlO4&@`U=cVxxCUuoEKbJzn+^j&To%l%Pi!wfj0RQH>A;Pyk`?)c`$Wt!r9P^msgxL$V*=1 z_wuXe3O?F6lFc1~3W}2X^dxEAAq>;Va=9pxr6-6Fc!2821mG2g9ug=5DCldxUel*a zN!)AXxR$9-hHltkn(P3wJ<3EI!$s6Y3{FDwrGFb$X`a3JTGrTJB{o|ufr4E~kaQUj z)o9$F;y*mROTn4D&sV5{y1v5UrNho}L5gJZIGnPWNX1dKdbKvv;iDMsEE1sBSXXb~ zqcKWV4KbKkk08Qoy&htmBNgp3}ipW^?*x^RSS@rr=s33Wc>I&oCv6T)Q1H0DO5fFpDR&5@fk}8kbzqk&8j3ni83%-$t*vD0lf|kes1^G$o<|zI<>kD**M>0_mq!xQ&?{mz0)e;KKA*AhxKcT8k zZ6o#%&lh%U3n$0)!gdzMRSDtQvNgcuj(n+fqs6Ki!l@lTYo19;3b#cfIn~=W#fJP+ z>(p)Ze{mup_MlI866AkGg%Spm2(*Jk2{{)7QcRT=LI+ZZFPLUTM^vY1r5TyD7WoEC z#Rg${s)_1(0D~Oo*oW7zdA045Zd4tNL``ev;lIN}p~Qs}V!7Ay^g8_2kHwG?-3hVYcwB(4 zlK{I}AMFfRlz0I@5KXp;(x&!OBeHt~@$i1>!1WC%+v~yD-4qkN0))11rUgjtX=Z^1 z81HKlaK9U8Zb6PFAuMKaq;oWx$^|qo;VO_7e!BulL|EV$m7XbbNN-|yF_t>FvHW)W z862^yG7>!W68zduQR1WU|7bKr3Du&@%#0~45Q+n2B=gwg30IRd^g)hQi7?Fi~M(+dA|!;|p879u~a6^+?!ukL!9VbEAW3dvlK;7gt*>1DD* zjp0LXU=x`L$t)67_9igq9%Miac2iduJ2SMLb4Pk?ouI5Xhl2 z>?XmfB#gPV`IJ$)ZpZAO1pSC3IO$oGPoy#gYHb>D?O1>n0ycuVNmRg%64+KUy3!71 zy>QI}(7A?#mOeE_VI=GFL?S6w4e-YWWA%C*5MU8Y7%;q1kdKc&wIer8YdUPEhzxGg zVW=hDLla>00(JA2Yj=b)L?~2-lw(6*0#xFf&Fz`2Jes!}r8%6ww(ZG2DE1pwBu1_8 zuXsLyR^4q+5bUSv|2x0`JG;TL>n&>-F>^4iz=7u#>{u+|-)-Wkd&LXjB;|_}2WEzi zcn$}G#51~oK5?rx2ak)#(%04?+31}$KgL4_iu0;$FrT?gD0!VI}ofVsEMCj*uQ)H z?r_Gb7%2MULA2mXE;nC~y;&flaAgTS_>ukuEaBes-HQJY_bgwD$8%d~+?U3pr;erg zk_(xn!_^eEJbgaZ;9Dku62B>V6Zt}&%-39$ydi$tN1i=oYdH)`rA#zZ;v+FX+`r9Cd!@W+<=RHG_>&+G(s5 zd0JU}GIG(;*Tmdzq4q}7VK3pm^Hd#zCEGE|Y>553Y2uJGK47QE;>?9kxi9U`p*7?OkPbS}3hN%~V=SWwZH)qNfJBAsGU+=G*q$ZdMU;!0*9jVJouG}S z1oK*g_`_pvJw5(}{fUT8e*_|DQ%H8bVJ(xL>)yfdN#%8#Dd3t8&eXc37*1iT3m{eC zR+UYy0pQk3id*xZUEhLLg=t@8Ln*d8w~sUdJ4QFBKvO};1a}Su4heIS4^${LNmu0F z?2Q(Anu8-%!$GjK2gRbVd@yIJy84isA~)w!Lkk!MLL68w^+l-iU`ZQa7>7l+GSli7 zjTL;bcR0<83kod~f=Ae)!MTHiTQ@N0Oa#c(bK!}6cY?j>m10{%mWD5bV%4D#)x)Mc zN9tl5LoY3wrwhw0(Fw{2r2@_;l&(W$wPdylV{NQ-*cQ`6U1yS{L5m zr`UpIw?Tdbff=`<6B_eoX-7#g4*b-nGAsf!-V6f_J(Z*mu$BIUEdUQ@nN*Nh9i9yy zz|cx@5y3zTZ2O!bPJ@Z8M92UNrx1LHE=*cWnQ6xXi@ise3F#U(+ZuvFEd-N{6ZV^Yuu0E?aXPTd-(dY}V@7s5_j_wF!;cAq++!69v%@> zWorG5yikw+z+GB9-pmeDgNS6L$-?NQG{r2-?su<%tp5`sEhmW&1b!ODUJ@xa) zmJi(azuq6708!loL~t(9L$-S%7Fk^hGm7+?+DhGc2)=7Hgi7>Rjysfl*J{Soc}!T&#STItI}pjZ@-z#hFs^W3SU zTq0i14{s_amy-`jMao!xIBdk(335avPgaO?U_&oD>P>#R!QM)zy5)|F1y4_ecd2WR zq$uk>m2{G%&Eo@7u;&0tAc6-ZYLwPVwBz;N`s38K$g9ye=mZ5+2p#XHz-yl`Mh~M{ zU0-w?#3S}na|<3l*|(XgHjzH3tRWzP~vi2a_;&H;0j8Ws$z{itp(3_~AXY z!FO3FA=WF(Lld^(E|rB%ixx8V6t?;U$eq7^cSH=0({t|}DPS^9xzTGK_G#Qq*lg89 zyaIs@)g{bn(RN=CdEVkkE~zkO5~2-B%te-yei@x~l0g$9QuFY##yEl3ZXo`*JpQaO z6i2~#M#8Y(ni&hA7UVH-6~Rl5&{-Q&IJht*EOT@bLQ1CJP_alw_$E&D&@n{LCq-Ne z!tA2u1`x!D90AkG<2szAqL+8M*f8_Srad~qtZB6#AjrFM+a|)q{M(S7e}LN{#*BKTH*Mt9TUz2eJk z;)1iG)L$JOb~wv-F&_pyjH(3;TR(4CYGH~IAWQuYMLFb)Urg2N)m6XA@=1+N6} zS}rAr7?U`krnXn1CYChmFacc+ivbcDit=AFo(d?zp2c=tfFItUot@t9AKo5bVx`d1 z9yaab^xzyv4HDyGWEF;>N)YLw$h(+k^Gc0?^!Iojcc+lTN-NC{Df}JyGS|}w#9?17 zvaoa3Qcr@a$dgTF5XoWKnH&4K$Izha(8I#gMnX#1@S#=eSZ!OKp)d!7cPcx$mWEG& z#IQ_V)aT0vuSqqtW&o3c{^s=XygC-DR>29R!Wc_EmmC*cQl|56G78Z7n(s;OEE_jx z%vuljGZbS~Blf|`lmbI7t_UAz_*IrZ-_qj_VU^gF#(oeth8AD+xQ6&X&h}mj95CDjzJhNhE<{6BNO}vZ+mH zSea4`3C5F5*{-)%Bz2CGbR)zRrR`j3-YzTl|1%D~?Km`*+(@NBrww#u?r-V%fq)0+ zRSFFA1v^K~X_AJv4QaWMWR~fe;wy;{bTgK;LGD^i-aw4Rm7j1yq-_>(*)XqVq=6B$ zbZDUH5?4NbEwC7Dly4rwt*ifI9VeMtjRMvdWLn~{7Ou{SQrRAGDf=v&3JFZ-DjW!9 z3TWX7bT}IR+WXrpl=nzT1zlH%$H%8P_pDMMV^8a`wJcY$b0@t$42*C_>MK&(z>Hna zJDbN1jUv!hYpoHon5Lf4RZZyQ%vBGOMI@=T zX;K8TX63HgusOV&rNH=V?tR$WY&X@nC~V9@66ma%=N#O6fiNGf{bz{4pQ!9pD{Z6c zT!F1Wg$aL0i>k@=*?i(5s%2J@$5icA*iTwYz-D+&8-r^YQSKCvLVz5-qT}hwVeJhG zSmDVPqTvE&;^N56%5Vg7Q3a@Da}yNv05YS285+k#EqF0YCQ}G_qvkU}zrOqlu#hR8ea0e)3i;!n zO_J<>Uu}ggA?Iy4cca1$y)x_m_6l*EX@nUz2Xk-<7CvCiJz^x#64^^cu$YJA4RefD zr_+}v7bXvBJ2EGq%b%$u^^UQTA#kl3Aj7KU)j8GQG$zJ@n;e+}SNIl zmJUQ53D_sif=93zG|dOYu# zgIOLm#vSGRjsurZs18FdN%Ig%8m4C+i$$2%IaPxAT~ zRz?NfH#D!QFSd>d4I!8Iiwq6LVYWc}uO&5<2)zcj?*4i{1Y?}Du8@n|3-DF#E}R)m z8or20_K|fhkzH*#9IK*cSfb6|GgHeyzTJ-Sy+;bS4shdJAJia7CbE& zg~fb3+viB<$WmRLAKkK|h`F6<=ixW#XO}I_kZZZVq=p3fA1N(E7#tnaa;Z}VMfl_T z_T&Jnkc{)@+HnIgVXVZ^y$lP=y~PN z%>J+3UZG-&s=<7Xu-u;V1iz?)O{b>+fXnm;)MGw?#3I_Vy1Bn)ZRhqMc5wR%H!~FY zSNvQ=m~#o^=T;9R!+Gq=| zf&~N%ePmYnU1oa& zQ;%SR$VOH$5}={@k$b<{{0isCO}0XuvtmATfpMbeM+W_Dw&^t(;Q+}bKy4&<%aw#j z3G?%(13WZO(T@7!BR@xkLtKgzkrEU@Di|h7_Xh2rbGg9JW9-01lf`_MjI=D7dd3{>GSW_aLYiEnncbuuQzB62mACJ zq==l_C=2jF-vaH8(I^vz|cd<&RWlY05O45w%CiGrVx8 zVQjzv!V&Gs_hN#PKbwgH-FIA+>4+09IEqMViO)|yb?iAD{#@Sp=`cI9ynSWr#fs8V z^6(7;si>0sF!x}c9yjzVEfEwevV~qGYJt+&yeB+%dk_ODDcrcx{FO5kHQ9~laOfRt zcyoEU&{{DDB!sM?*0YqiD$R1WdEA$$9^u1OD+q;$DRsdL-vP^d{B9~)p@|~BJ!Uc< z%p{wNEYDEI`$jO*@re;vAi{On7}{ceKRT%*d)xUu_5+pz%MTfxBt#3xYY8#G+*w9d z!Y>i~c&ZI+Z!jNh$-v&W%WJqBt1}xao|jXi_3)cVQ1}g!jDd)aHn+e9-MCXA3`1bM zNmeS_!9Rk+E$-BV)+sBbZ$??tlBFQgAPK#Qjf+wERAw4P+8Y@l>;Pisrh>$B&~gn$2wn$Yi9C3gD(Mlw(usFD2%o9I%NP~0X)h~cdV!;@NE zIGGEn)*Wm}w?~7>uh3mD#1;N5($B~)$VWEQGW#jov&|EsLxnI2n_yDhpUpO{A9yDh zARrnsM5>$Kox$v*FlQC6@wPG;AulOE0hcpQm@CsXE?A239TpMEXbuzRfysd;Dru*< zcV&ZMahf8>+eruWRf9}+Bhc!rlmqQ<>HUxp%!G27w1}SycS*2YFCM;S3Y*~GU%{sJ z$Plz4a-b4!@-DwxiHR{cI%cg>d2_9o3b_76gkxu=h955VvdgyI=&wyr(mBZ~&iT5q zfR0oIJ-K2csnl1xEMs-E!9vy>;ZFDpYYtGBGmza;2E{i|+u)Mnxh|}i8rles3>f_U zj(d0NzNmk&=GHWFHJW?GH6S}N)*7};Al*QgZ&Dq^(uPr3+v{0?!M!rR3kD71&j1-F zQr$GD6+#8!&QOst#v~cUOmW}-J2bXrHrWrquz6>i6WoH~XBPvDt-WYyLzby?D`Vi)P}x;ulC>O9{Den-^X@P#qET>0V<&eP zu%3%OtFU}lPBQ3!R>^H=5 zN!e|Q=1JRaMw%}PmF$vf{#?UUbsc67cLPHh*oRD|P3}0o?ey~a=JOgfR&A_!ivMJ} zYbX?R=Xjh#BNCY$ONon%0-0;#iM}PSb%1%?AlgO7bZxaFri7PAL!qjnvo`1Mc`irP)0wBd{f_eLo(41{}|8xxC<5?cY!21O?^5 zOrz51Y(V@6n%y5-rPVG7^iOG)jn6IIbhpLlk@n{73_I{5N2N5iS(%HY#ENvij6U_R z1J$vfmgf}pc)X;%)IpmpOHVLeAb=q&trqoQ|LL2(r!Q8ocYjEP?Qt?ZxQ4{xfZ4Xb&X<>B21;3S^m80IP1{}0d zU1GPKHQY2Mvlx2cS=(0JT|vd(7)SJ(-e^#-pRwL@U}?a3u?&D%92vwb1eKTuAI`Vlvy9?*CSoSiJ{I> zxQEVvu26n3fJ>Ceo4CeBV!qdN-`)mEk%`yooO>^hws&6~JwRWEoo`Vwc!JTfDDuun zJEG1QB`}9?cc0`vd;80L^IY2VhpA__7&`bK|DatDPU8Gwb?`K{V{a6a7N4%Ugv=Gp z)DDSY-H?O~i;}Au7WKY)%EI}Tj)A8sq0X8+Er#Bq(`yx_*T*vfi*xHw50Ap<5#-~J z_tV30Z(&c+vX}BlsUghgR$7@f#vbry8CeM(t`ftNk@*+bv&+SMe8LFr;uKdV9QW_h zEF)9cJK%*27Avx0)ZSm6yXJWsaj;sl%1prEhW~^99{-mdzygQX2IM;(MQto*-0?gw~v;#sKU+{*k8fjjTji-ph}()6Z}fg z1S-QWudd0s58rOtKtwpGB9#}`i(1F)MSrs)UoJ@5m&6{4#vmjh0>W^=*B%uscWHM? zA%%x?E9Hxkq{-n+1yWLM13Xd+WA&L4NP63+$=^QWxVMU|kf=qn2m_C3zWGPf$K08y z4qq88nF0CuX2bTs1;L8GL3X8x`F@gE2g&6D_UN2OtlfFDNLzhE4*1!# z)x&QdL~SEX7)HoWI0(cnT5Spfa?G~435zrfx+~%U&JWIZ;r4V6nc85Rv8_cyR~T`? z98EEZ424{5=SV4dG@?x~q~`K+$x`G<<@}77@zA(zZNmmU7+oG6u@<;uu`@8&GJ8=L z^an(Xwjci$6NQQgefC*8=EK0B9y9K;i>O^|8JiSJ9vCq#kl7ScMR!wY)06`e=}I@5 z4`zt%3TQIb(?0o{O=@y_F4-=%8T7X{9ogVz9Khrza$D`ac?sFQJ$(y!dV2fjCE8_O zoxahYjH(j~H?H(YCcQvzNG^%aoLvC?UC7(7xT zr^phsR`SW}In>nc_2)l8LE|uG7`p98>A73k?M37j;O9H^Da?VE(g~lz%ZI6H=b|<= ztTE0w&wYFQhyUH$)r8o2mEmivX^Utp7OX$uAQp?#OC~gJX4f>C)-;J3W~LIgFi9qp z$%RZNb|z%nh2Re^6huKqT@~F_5$(=xP>S8Ta3d;OcUje}YU{%IJkR?+=jXdKjf#QE zx%a!@`Mz`B^Zvi@dC%3!rSr=u+41Nj!kG4uVk8Q-Ww)m5KT0WsIzcH6@v{Sy958G+ zu*yC@xVZFt6Nja3=Z0S}P@p(FbpT&aM1iYrO& z4hWLEIzdfEVf&gHbZ$8%yzm3(-njWv-NIG#l@!eY|C(JIz=V=OCMT_GBy}m_#Y9#d zoaNj=TvfIro)mV4L+(hUh&p>!#HaJ4nUkCV^qp0f-_-^YLT)`5dZ0`FC&XB|tc_rAO2xOr@ zE^Okg_?7uWp{$ZBQfDt*AxsEap^woAvokw8djQ&_jy*+U0dAR zocGyBj?hPN#Ey)vaAu7Kla&ndlKBlANGmcck@+U=mlz1S64HUE=1x!sDQE4_!U?zvDUsDkSJF;g)L)uh*mUs64C zwOamdEzMr6R7^X~I5rX_8rz>1jzVd1tw7}k0z#xySQoDnJF>05k+wKcXhlX;pg`t* zD6mgZ9&kC|Q1?M#Ku7|hk-FkUWsIQ9EDFnDQI*XePhfi?0HU1$8#)S8%S6R+E={&J zSLfzdE+Adya#i*oD=JaQ$RTT)ZMGfH?pIkV*5u>%Vby+3-$%||I7lhUC3D&JqDw-Q zFkF8%D$Dik5VKpN9L>7xQ*LJo=BnwL5Q*7R{fe$)*FgAmr6Z>^Q2LxO2M#4BRfU&J z&Obfb59OB#Kbr2dm6cCQ0w#1$9^dCD47LYW6<&P8atVkm4l%d3!-^WPo5{Xg)o+Ss zg3)k*H2#DHLWDS#yIs zc{y24X5CSD;J09y?OcrVW!^#W=%CEb91J&zhu%#ojskeVkWK;7kFv>YY8qby`vGBs zhBuLYV^BCO2;&jcE{qBnVA#>oRRvDtnZigdm_zJxy1^{bvzGh9qQ*3blCWwtN^l^T zjN%!U>v9M<JekM?FH50Qh3^IvR5P!fc=5ZcSw_JSBA6TtE_0FX?4YF+6An?hjQn z8sHOON6{JB+H)xWmed(MRwtJw6T)wzLBD}LSs#6&oq_=5W6fRb48PH6;tY=9{ z;F#Db_ADZT`D2(tGhghVNvuq_Rb^zm$z0A83$erGAszvwg+Z+r75YBpGSgG~j6C}Z#p9#trgPMdV8d(Z#Y^OFVH89ShMS(; zx_rG`x|p3sPb}meJW1#ZJWhGn1#d(L$W2tn$L7LKT))Ddq_t(^+ZMJj}RA zH6*88q&5>g!n?Z$cZWi$_|GB=F8geWITku?rt_I02hGk!1XGEwEWA*5eijzgNZVb~ zF$y{o3(%)Y2%1{m;b8aPa9DzQ!!Czd#snd(qZzAJaQ|o*n(dC}OPoCIiIvr5w`W-lujGF_P6Luj)KcPA*+qyo&NG=USg_R9Y+?L-fYn zb{BMQb{`e4LQi^4GpNblft6xavX8hWvv3SdnVq^bK0LjUSW^?6K6~Q`R{!`ajSPrK zNw(xADhEZM8^;hV9q%So3GGG`&51RhM@j@K*eE=4@p+k9sjn2zLG>QdIr$1&mVYb7mqb+4Wp-k8k&K zV>L2bq@X_(;-&scR|evZ+$|RY7=wwkEH(y#>K(@bQK-!}IOVCFeKc0Tnl{M{@R$IP zP$7@c2t;%qXK1My2;Uh7o(KcqH2Yd<$aD7ObEV<2Eur#O+3%d`$yUn74_SEK5kdt( z#CzHy0eg}bv=$zw_BP4}Sx14FFi}Q+0tvWpMZIoJwXNJJL>I0-2L{*4-xAZopd^f{ z0zi0mVMMM?3jiySG9m?LXB_S2z$ig4AX~FLBr4n*&s~P3QN4(qLK&87lZK>vMI0b- zr|><7LTIb)!7X~12qs)}KEt0S{>{gqz~f;xi$OU7l>p+~`1@g|)xrhXZ}10fHm;Oi z{_`}^Ep7y&>N#M}MEKBTrIiWn=HM~IE>7Q2nP^kVOi-L6$RQx8QFcQY=o&m2VxW$j zB~JxF@l0u{gliR*+-?AT?NF55Y;9X{d7?8>)cJ9yAa4@Kqr%c=@`3PPe2(^4(ja+v zn?Ksc9?IjU&Ip41r7+s1s4bW3skLpc(8A)Wrmdfh`DT14dO&DQYb%$aJbUZRFEwKcE=+N*0*f0P8nm zex?wQu+e#wEhqLuxxIXCgNJ_4!4}hjjG1s2SvXYz!{AplqeSfV9R6oS#XP9$tHHB{ z-h~FC4d$+gwVI#F@nnQ0HD^)xLi8NyzPfk zrc5_T4H<)b<6$GU+t0->WFjnEq1*BcSi=~0+gaY2pRNGA#xiZj_&8qQ#8-ZR_B0v` zYGbA~;qFZ=)Y;K^?IMtr2Tfl*kEi(?UbDIitAW8>Yyji|3FGbPuzhZ8D_#-N{E;5$ z&%B3Y!t*u$vl|n<7{lNwa7FLb6R0u3Q!)C#{QEGTau@#Y$fv!QAKcF5bvJkWL$+hI zZU51o`9roJAKd@W!S}=X{>H6an|}X8+0X5z??(ss8@~TIettLp-2VqZjQicb^y_!% z!n^Q4Ke_({aocDKEnn&Wk3Soq-2U-P(LZn3GyIwD7w~th8UKg=6ccd!tq0?7kKgZc zdl5hXtLgvJDDHIoa=xD9--kbsKb|@oUBd_V@bgaJ5&hl1d@Szt``zF3|8n+!B5oVq zeIo93`|01+{=}7G|8L?Nhsd$%-wa2Jf7!B6`_JR>wXfqt+kYnexqbW_zBAhU@~hkL z4Emq>S-iirgBQA=+aC@3U;jn)cf0>K@Bhi5|II@I3AaCf`hz**X#8GZ{OO?ocfa~k z{p9vNzA@XubVk3-{$Bslx1+z?H@{YX(GzC!Ic|Q14}`z(dh`B|=_j}6f9pG=9lrk+ zTyFcH`E&Gld;dTB9>yO(mFU&>-~Rn4^po53$q#&g|FqHQZ`uFO{Nd*7(f{UOqMdQa zY=`i_f$JQT```EX=y%^=qkZj6cFbnj|8-n{FaA8tVgKQL{oU<9(f8h_{{#8{2lD;C z54Y%_zq{QB;1Pa)|4jCu$^Nf?AUkF=(|;YkADxM@?tf$7L%QR}8!`WdM2w{BLjQ)t z_i%Un{zLaf|3hy@{}&5mh!=a@Za*>@|BZX|{kNk3{`u(V|J~2+gMA#LXh5me&=YRd#=y&}@v=7~;|Neac{=swI|KY)P+^&CZYuamXy_xU-!_VW_ t8T|O0d#3p>E|syj{a=0SlluCVll{~EUf=t^J^DZWRE&IX&|&a(^l$U>NwEL` diff --git a/jmeos-core/src/main/java/functions/GeneratedFunctions.java b/jmeos-core/src/main/java/functions/GeneratedFunctions.java deleted file mode 100644 index 4317330e9..000000000 --- a/jmeos-core/src/main/java/functions/GeneratedFunctions.java +++ /dev/null @@ -1,39838 +0,0 @@ -package functions; - -import jnr.ffi.Pointer; -import jnr.ffi.Memory; -import jnr.ffi.Runtime; -import jnr.ffi.byref.PointerByReference; -import jnr.ffi.Struct; -import utils.JarLibraryLoader; -import utils.meosCatalog.MeosEnums.meosType; -import utils.meosCatalog.MeosEnums.meosOper; -import functions.MeosErrorHandler; - -import java.time.*; - -public class GeneratedFunctions { - public interface MeosLibraryPartA { - - void meos_error(int errlevel, int errcode, String format); - - int meos_errno(); - - int meos_errno_set(int err); - - int meos_errno_restore(int err); - - int meos_errno_reset(); - - Pointer meos_array_create(int elem_size); - - void meos_array_add(Pointer array, Pointer value); - - Pointer meos_array_get(Pointer array, int n); - - int meos_array_count(Pointer array); - - void meos_array_reset(Pointer array); - - void meos_array_reset_free(Pointer array); - - void meos_array_destroy(Pointer array); - - void meos_array_destroy_free(Pointer array); - - Pointer rtree_create_intspan(); - - Pointer rtree_create_bigintspan(); - - Pointer rtree_create_floatspan(); - - Pointer rtree_create_datespan(); - - Pointer rtree_create_tstzspan(); - - Pointer rtree_create_tbox(); - - Pointer rtree_create_stbox(); - - void rtree_free(Pointer rtree); - - void rtree_insert(Pointer rtree, Pointer box, int id); - - void rtree_insert_temporal(Pointer rtree, Pointer temp, int id); - - void rtree_insert_temporal_split(Pointer rtree, Pointer temp, int id, int maxboxes); - - int rtree_search(Pointer rtree, int op, Pointer query, Pointer result); - - int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result); - - int rtree_search_temporal_dedup(Pointer rtree, int op, Pointer temp, int maxboxes, Pointer result); - - void meos_initialize_error_handler(error_handler_fn err_handler); - - void meos_initialize_noexit_error_handler(); - - void meos_initialize_timezone(String name); - - void meos_initialize_collation(); - - void meos_finalize_timezone(); - - void meos_finalize_collation(); - - void meos_finalize_projsrs(); - - void meos_finalize_ways(); - - boolean meos_set_datestyle(String newval, Pointer extra); - - boolean meos_set_intervalstyle(String newval, int extra); - - String meos_get_datestyle(); - - String meos_get_intervalstyle(); - - void meos_set_spatial_ref_sys_csv(String path); - - void meos_set_ways_csv(String path); - - void meos_initialize(); - - void meos_finalize(); - - Pointer bigintset_in(String str); - - String bigintset_out(Pointer set); - - Pointer bigintspan_expand(Pointer sp, long value); - - Pointer bigintspan_in(String str); - - String bigintspan_out(Pointer sp); - - Pointer bigintspanset_in(String str); - - String bigintspanset_out(Pointer ss); - - Pointer dateset_in(String str); - - String dateset_out(Pointer s); - - Pointer datespan_in(String str); - - String datespan_out(Pointer sp); - - Pointer datespanset_in(String str); - - String datespanset_out(Pointer ss); - - Pointer floatset_in(String str); - - String floatset_out(Pointer set, int maxdd); - - Pointer floatspan_expand(Pointer sp, double value); - - Pointer floatspan_in(String str); - - String floatspan_out(Pointer sp, int maxdd); - - Pointer floatspanset_in(String str); - - String floatspanset_out(Pointer ss, int maxdd); - - Pointer intset_in(String str); - - String intset_out(Pointer set); - - Pointer intspan_expand(Pointer sp, int value); - - Pointer intspan_in(String str); - - String intspan_out(Pointer sp); - - Pointer intspanset_in(String str); - - String intspanset_out(Pointer ss); - - String set_as_hexwkb(Pointer s, byte variant, Pointer size_out); - - Pointer set_as_wkb(Pointer s, byte variant, Pointer size_out); - - Pointer set_from_hexwkb(String hexwkb); - - Pointer set_from_wkb(Pointer wkb, long size); - - String span_as_hexwkb(Pointer sp, byte variant, Pointer size_out); - - Pointer span_as_wkb(Pointer sp, byte variant, Pointer size_out); - - Pointer span_from_hexwkb(String hexwkb); - - Pointer span_from_wkb(Pointer wkb, long size); - - String spanset_as_hexwkb(Pointer ss, byte variant, Pointer size_out); - - Pointer spanset_as_wkb(Pointer ss, byte variant, Pointer size_out); - - Pointer spanset_from_hexwkb(String hexwkb); - - Pointer spanset_from_wkb(Pointer wkb, long size); - - Pointer textset_in(String str); - - String textset_out(Pointer set); - - Pointer tstzset_in(String str); - - String tstzset_out(Pointer set); - - Pointer tstzspan_in(String str); - - String tstzspan_out(Pointer sp); - - Pointer tstzspanset_in(String str); - - String tstzspanset_out(Pointer ss); - - Pointer bigintset_make(Pointer values, int count); - - Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); - - Pointer dateset_make(Pointer values, int count); - - Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); - - Pointer floatset_make(Pointer values, int count); - - Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc); - - Pointer intset_make(Pointer values, int count); - - Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); - - Pointer set_copy(Pointer s); - - Pointer span_copy(Pointer sp); - - Pointer spanset_copy(Pointer ss); - - Pointer spanset_make(Pointer spans, int count); - - Pointer textset_make(Pointer values, int count); - - Pointer tstzset_make(Pointer values, int count); - - Pointer tstzspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); - - Pointer bigint_to_set(long i); - - Pointer bigint_to_span(long i); - - Pointer bigint_to_spanset(long i); - - Pointer bigintspan_to_intspan(Pointer s); - - Pointer bigintspan_to_floatspan(Pointer s); - - Pointer date_to_set(int d); - - Pointer date_to_span(int d); - - Pointer date_to_spanset(int d); - - Pointer dateset_to_tstzset(Pointer s); - - Pointer datespan_to_tstzspan(Pointer sp); - - Pointer datespanset_to_tstzspanset(Pointer ss); - - Pointer float_to_set(double d); - - Pointer float_to_span(double d); - - Pointer float_to_spanset(double d); - - Pointer floatset_to_intset(Pointer s); - - Pointer floatspan_to_bigintspan(Pointer s); - - Pointer floatspan_to_intspan(Pointer s); - - Pointer floatspanset_to_intspanset(Pointer ss); - - Pointer int_to_set(int i); - - Pointer int_to_span(int i); - - Pointer int_to_spanset(int i); - - Pointer intset_to_floatset(Pointer s); - - Pointer intspan_to_bigintspan(Pointer s); - - Pointer intspan_to_floatspan(Pointer s); - - Pointer intspanset_to_floatspanset(Pointer ss); - - Pointer set_to_span(Pointer s); - - Pointer set_to_spanset(Pointer s); - - Pointer span_to_spanset(Pointer sp); - - Pointer text_to_set(Pointer txt); - - Pointer timestamptz_to_set(long t); - - Pointer timestamptz_to_span(long t); - - Pointer timestamptz_to_spanset(long t); - - Pointer tstzset_to_dateset(Pointer s); - - Pointer tstzspan_to_datespan(Pointer sp); - - Pointer tstzspanset_to_datespanset(Pointer ss); - - long bigintset_end_value(Pointer s); - - long bigintset_start_value(Pointer s); - - boolean bigintset_value_n(Pointer s, int n, Pointer result); - - Pointer bigintset_values(Pointer s, Pointer count); - - long bigintspan_lower(Pointer s); - - long bigintspan_upper(Pointer s); - - long bigintspan_width(Pointer s); - - long bigintspanset_lower(Pointer ss); - - long bigintspanset_upper(Pointer ss); - - long bigintspanset_width(Pointer ss, boolean boundspan); - - int dateset_end_value(Pointer s); - - int dateset_start_value(Pointer s); - - boolean dateset_value_n(Pointer s, int n, Pointer result); - - Pointer dateset_values(Pointer s, Pointer count); - - Pointer datespan_duration(Pointer s); - - int datespan_lower(Pointer s); - - int datespan_upper(Pointer s); - - boolean datespanset_date_n(Pointer ss, int n, Pointer result); - - Pointer datespanset_dates(Pointer ss); - - Pointer datespanset_duration(Pointer ss, boolean boundspan); - - int datespanset_end_date(Pointer ss); - - int datespanset_num_dates(Pointer ss); - - int datespanset_start_date(Pointer ss); - - double floatset_end_value(Pointer s); - - double floatset_start_value(Pointer s); - - boolean floatset_value_n(Pointer s, int n, Pointer result); - - Pointer floatset_values(Pointer s, Pointer count); - - double floatspan_lower(Pointer s); - - double floatspan_upper(Pointer s); - - double floatspan_width(Pointer s); - - double floatspanset_lower(Pointer ss); - - double floatspanset_upper(Pointer ss); - - double floatspanset_width(Pointer ss, boolean boundspan); - - int intset_end_value(Pointer s); - - int intset_start_value(Pointer s); - - boolean intset_value_n(Pointer s, int n, Pointer result); - - Pointer intset_values(Pointer s, Pointer count); - - int intspan_lower(Pointer s); - - int intspan_upper(Pointer s); - - int intspan_width(Pointer s); - - int intspanset_lower(Pointer ss); - - int intspanset_upper(Pointer ss); - - int intspanset_width(Pointer ss, boolean boundspan); - - int set_hash(Pointer s); - - long set_hash_extended(Pointer s, long seed); - - int set_num_values(Pointer s); - - int span_hash(Pointer sp); - - long span_hash_extended(Pointer sp, long seed); - - boolean span_lower_inc(Pointer sp); - - boolean span_upper_inc(Pointer sp); - - Pointer spanset_end_span(Pointer ss); - - int spanset_hash(Pointer ss); - - long spanset_hash_extended(Pointer ss, long seed); - - boolean spanset_lower_inc(Pointer ss); - - int spanset_num_spans(Pointer ss); - - Pointer spanset_span(Pointer ss); - - Pointer spanset_span_n(Pointer ss, int i); - - Pointer spanset_spanarr(Pointer ss, Pointer count); - - Pointer spanset_start_span(Pointer ss); - - boolean spanset_upper_inc(Pointer ss); - - Pointer textset_end_value(Pointer s); - - Pointer textset_start_value(Pointer s); - - boolean textset_value_n(Pointer s, int n, Pointer result); - - Pointer textset_values(Pointer s, Pointer count); - - long tstzset_end_value(Pointer s); - - long tstzset_start_value(Pointer s); - - boolean tstzset_value_n(Pointer s, int n, Pointer result); - - Pointer tstzset_values(Pointer s, Pointer count); - - Pointer tstzspan_duration(Pointer s); - - long tstzspan_lower(Pointer s); - - long tstzspan_upper(Pointer s); - - Pointer tstzspanset_duration(Pointer ss, boolean boundspan); - - long tstzspanset_end_timestamptz(Pointer ss); - - long tstzspanset_lower(Pointer ss); - - int tstzspanset_num_timestamps(Pointer ss); - - long tstzspanset_start_timestamptz(Pointer ss); - - Pointer tstzspanset_timestamps(Pointer ss); - - boolean tstzspanset_timestamptz_n(Pointer ss, int n, Pointer result); - - long tstzspanset_upper(Pointer ss); - - Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer bigintspan_shift_scale(Pointer sp, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer datespan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer floatset_ceil(Pointer s); - - Pointer floatset_degrees(Pointer s, boolean normalize); - - Pointer floatset_floor(Pointer s); - - Pointer floatset_radians(Pointer s); - - Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer floatspan_ceil(Pointer sp); - - Pointer floatspan_degrees(Pointer sp, boolean normalize); - - Pointer floatspan_floor(Pointer sp); - - Pointer floatspan_radians(Pointer sp); - - Pointer floatspan_round(Pointer sp, int maxdd); - - Pointer floatspan_shift_scale(Pointer sp, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer floatspanset_ceil(Pointer ss); - - Pointer floatspanset_floor(Pointer ss); - - Pointer floatspanset_degrees(Pointer ss, boolean normalize); - - Pointer floatspanset_radians(Pointer ss); - - Pointer floatspanset_round(Pointer ss, int maxdd); - - Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer intspan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer tstzspan_expand(Pointer sp, Pointer interv); - - Pointer set_round(Pointer s, int maxdd); - - Pointer textcat_text_textset(Pointer txt, Pointer s); - - Pointer textcat_textset_text(Pointer s, Pointer txt); - - Pointer textset_initcap(Pointer s); - - Pointer textset_lower(Pointer s); - - Pointer textset_upper(Pointer s); - - long timestamptz_tprecision(long t, Pointer duration, long torigin); - - Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration); - - Pointer tstzset_tprecision(Pointer s, Pointer duration, long torigin); - - Pointer tstzspan_shift_scale(Pointer sp, Pointer shift, Pointer duration); - - Pointer tstzspan_tprecision(Pointer sp, Pointer duration, long torigin); - - Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration); - - Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, long torigin); - - int set_cmp(Pointer s1, Pointer s2); - - boolean set_eq(Pointer s1, Pointer s2); - - boolean set_ge(Pointer s1, Pointer s2); - - boolean set_gt(Pointer s1, Pointer s2); - - boolean set_le(Pointer s1, Pointer s2); - - boolean set_lt(Pointer s1, Pointer s2); - - boolean set_ne(Pointer s1, Pointer s2); - - int span_cmp(Pointer sp1, Pointer sp2); - - boolean span_eq(Pointer sp1, Pointer sp2); - - boolean span_ge(Pointer sp1, Pointer sp2); - - boolean span_gt(Pointer sp1, Pointer sp2); - - boolean span_le(Pointer sp1, Pointer sp2); - - boolean span_lt(Pointer sp1, Pointer sp2); - - boolean span_ne(Pointer sp1, Pointer sp2); - - int spanset_cmp(Pointer ss1, Pointer ss2); - - boolean spanset_eq(Pointer ss1, Pointer ss2); - - boolean spanset_ge(Pointer ss1, Pointer ss2); - - boolean spanset_gt(Pointer ss1, Pointer ss2); - - boolean spanset_le(Pointer ss1, Pointer ss2); - - boolean spanset_lt(Pointer ss1, Pointer ss2); - - boolean spanset_ne(Pointer ss1, Pointer ss2); - - Pointer set_spans(Pointer s, Pointer count); - - Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count); - - Pointer set_split_n_spans(Pointer s, int span_count, Pointer count); - - Pointer spanset_spans(Pointer ss, Pointer count); - - Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count); - - Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count); - - boolean adjacent_span_bigint(Pointer sp, long i); - - boolean adjacent_span_date(Pointer sp, int d); - - boolean adjacent_span_float(Pointer sp, double d); - - boolean adjacent_span_int(Pointer sp, int i); - - boolean adjacent_span_span(Pointer sp1, Pointer sp2); - - boolean adjacent_span_spanset(Pointer sp, Pointer ss); - - boolean adjacent_span_timestamptz(Pointer sp, long t); - - boolean adjacent_spanset_bigint(Pointer ss, long i); - - boolean adjacent_spanset_date(Pointer ss, int d); - - boolean adjacent_spanset_float(Pointer ss, double d); - - boolean adjacent_spanset_int(Pointer ss, int i); - - boolean adjacent_spanset_timestamptz(Pointer ss, long t); - - boolean adjacent_spanset_span(Pointer ss, Pointer sp); - - boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contained_bigint_set(long i, Pointer s); - - boolean contained_bigint_span(long i, Pointer sp); - - boolean contained_bigint_spanset(long i, Pointer ss); - - boolean contained_date_set(int d, Pointer s); - - boolean contained_date_span(int d, Pointer sp); - - boolean contained_date_spanset(int d, Pointer ss); - - boolean contained_float_set(double d, Pointer s); - - boolean contained_float_span(double d, Pointer sp); - - boolean contained_float_spanset(double d, Pointer ss); - - boolean contained_int_set(int i, Pointer s); - - boolean contained_int_span(int i, Pointer sp); - - boolean contained_int_spanset(int i, Pointer ss); - - boolean contained_set_set(Pointer s1, Pointer s2); - - boolean contained_span_span(Pointer sp1, Pointer sp2); - - boolean contained_span_spanset(Pointer sp, Pointer ss); - - boolean contained_spanset_span(Pointer ss, Pointer sp); - - boolean contained_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contained_text_set(Pointer txt, Pointer s); - - boolean contained_timestamptz_set(long t, Pointer s); - - boolean contained_timestamptz_span(long t, Pointer sp); - - boolean contained_timestamptz_spanset(long t, Pointer ss); - - boolean contains_set_bigint(Pointer s, long i); - - boolean contains_set_date(Pointer s, int d); - - boolean contains_set_float(Pointer s, double d); - - boolean contains_set_int(Pointer s, int i); - - boolean contains_set_set(Pointer s1, Pointer s2); - - boolean contains_set_text(Pointer s, Pointer t); - - boolean contains_set_timestamptz(Pointer s, long t); - - boolean contains_span_bigint(Pointer sp, long i); - - boolean contains_span_date(Pointer sp, int d); - - boolean contains_span_float(Pointer sp, double d); - - boolean contains_span_int(Pointer sp, int i); - - boolean contains_span_span(Pointer sp1, Pointer sp2); - - boolean contains_span_spanset(Pointer sp, Pointer ss); - - boolean contains_span_timestamptz(Pointer sp, long t); - - boolean contains_spanset_bigint(Pointer ss, long i); - - boolean contains_spanset_date(Pointer ss, int d); - - boolean contains_spanset_float(Pointer ss, double d); - - boolean contains_spanset_int(Pointer ss, int i); - - boolean contains_spanset_span(Pointer ss, Pointer sp); - - boolean contains_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contains_spanset_timestamptz(Pointer ss, long t); - - boolean overlaps_set_set(Pointer s1, Pointer s2); - - boolean overlaps_span_span(Pointer sp1, Pointer sp2); - - boolean overlaps_span_spanset(Pointer sp, Pointer ss); - - boolean overlaps_spanset_span(Pointer ss, Pointer sp); - - boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean after_date_set(int d, Pointer s); - - boolean after_date_span(int d, Pointer sp); - - boolean after_date_spanset(int d, Pointer ss); - - boolean after_set_date(Pointer s, int d); - - boolean after_set_timestamptz(Pointer s, long t); - - boolean after_span_date(Pointer sp, int d); - - boolean after_span_timestamptz(Pointer sp, long t); - - boolean after_spanset_date(Pointer ss, int d); - - boolean after_spanset_timestamptz(Pointer ss, long t); - - boolean after_timestamptz_set(long t, Pointer s); - - boolean after_timestamptz_span(long t, Pointer sp); - - boolean after_timestamptz_spanset(long t, Pointer ss); - - boolean before_date_set(int d, Pointer s); - - boolean before_date_span(int d, Pointer sp); - - boolean before_date_spanset(int d, Pointer ss); - - boolean before_set_date(Pointer s, int d); - - boolean before_set_timestamptz(Pointer s, long t); - - boolean before_span_date(Pointer sp, int d); - - boolean before_span_timestamptz(Pointer sp, long t); - - boolean before_spanset_date(Pointer ss, int d); - - boolean before_spanset_timestamptz(Pointer ss, long t); - - boolean before_timestamptz_set(long t, Pointer s); - - boolean before_timestamptz_span(long t, Pointer sp); - - boolean before_timestamptz_spanset(long t, Pointer ss); - - boolean left_bigint_set(long i, Pointer s); - - boolean left_bigint_span(long i, Pointer sp); - - boolean left_bigint_spanset(long i, Pointer ss); - - boolean left_float_set(double d, Pointer s); - - boolean left_float_span(double d, Pointer sp); - - boolean left_float_spanset(double d, Pointer ss); - - boolean left_int_set(int i, Pointer s); - - boolean left_int_span(int i, Pointer sp); - - boolean left_int_spanset(int i, Pointer ss); - - boolean left_set_bigint(Pointer s, long i); - - boolean left_set_float(Pointer s, double d); - - boolean left_set_int(Pointer s, int i); - - boolean left_set_set(Pointer s1, Pointer s2); - - boolean left_set_text(Pointer s, Pointer txt); - - boolean left_span_bigint(Pointer sp, long i); - - boolean left_span_float(Pointer sp, double d); - - boolean left_span_int(Pointer sp, int i); - - boolean left_span_span(Pointer sp1, Pointer sp2); - - boolean left_span_spanset(Pointer sp, Pointer ss); - - boolean left_spanset_bigint(Pointer ss, long i); - - boolean left_spanset_float(Pointer ss, double d); - - boolean left_spanset_int(Pointer ss, int i); - - boolean left_spanset_span(Pointer ss, Pointer sp); - - boolean left_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean left_text_set(Pointer txt, Pointer s); - - boolean overafter_date_set(int d, Pointer s); - - boolean overafter_date_span(int d, Pointer sp); - - boolean overafter_date_spanset(int d, Pointer ss); - - boolean overafter_set_date(Pointer s, int d); - - boolean overafter_set_timestamptz(Pointer s, long t); - - boolean overafter_span_date(Pointer sp, int d); - - boolean overafter_span_timestamptz(Pointer sp, long t); - - boolean overafter_spanset_date(Pointer ss, int d); - - boolean overafter_spanset_timestamptz(Pointer ss, long t); - - boolean overafter_timestamptz_set(long t, Pointer s); - - boolean overafter_timestamptz_span(long t, Pointer sp); - - boolean overafter_timestamptz_spanset(long t, Pointer ss); - - boolean overbefore_date_set(int d, Pointer s); - - boolean overbefore_date_span(int d, Pointer sp); - - boolean overbefore_date_spanset(int d, Pointer ss); - - boolean overbefore_set_date(Pointer s, int d); - - boolean overbefore_set_timestamptz(Pointer s, long t); - - boolean overbefore_span_date(Pointer sp, int d); - - boolean overbefore_span_timestamptz(Pointer sp, long t); - - boolean overbefore_spanset_date(Pointer ss, int d); - - boolean overbefore_spanset_timestamptz(Pointer ss, long t); - - boolean overbefore_timestamptz_set(long t, Pointer s); - - boolean overbefore_timestamptz_span(long t, Pointer sp); - - boolean overbefore_timestamptz_spanset(long t, Pointer ss); - - boolean overleft_bigint_set(long i, Pointer s); - - boolean overleft_bigint_span(long i, Pointer sp); - - boolean overleft_bigint_spanset(long i, Pointer ss); - - boolean overleft_float_set(double d, Pointer s); - - boolean overleft_float_span(double d, Pointer sp); - - boolean overleft_float_spanset(double d, Pointer ss); - - boolean overleft_int_set(int i, Pointer s); - - boolean overleft_int_span(int i, Pointer sp); - - boolean overleft_int_spanset(int i, Pointer ss); - - boolean overleft_set_bigint(Pointer s, long i); - - boolean overleft_set_float(Pointer s, double d); - - boolean overleft_set_int(Pointer s, int i); - - boolean overleft_set_set(Pointer s1, Pointer s2); - - boolean overleft_set_text(Pointer s, Pointer txt); - - boolean overleft_span_bigint(Pointer sp, long i); - - boolean overleft_span_float(Pointer sp, double d); - - boolean overleft_span_int(Pointer sp, int i); - - boolean overleft_span_span(Pointer sp1, Pointer sp2); - - boolean overleft_span_spanset(Pointer sp, Pointer ss); - - boolean overleft_spanset_bigint(Pointer ss, long i); - - boolean overleft_spanset_float(Pointer ss, double d); - - boolean overleft_spanset_int(Pointer ss, int i); - - boolean overleft_spanset_span(Pointer ss, Pointer sp); - - boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean overleft_text_set(Pointer txt, Pointer s); - - boolean overright_bigint_set(long i, Pointer s); - - boolean overright_bigint_span(long i, Pointer sp); - - boolean overright_bigint_spanset(long i, Pointer ss); - - boolean overright_float_set(double d, Pointer s); - - boolean overright_float_span(double d, Pointer sp); - - boolean overright_float_spanset(double d, Pointer ss); - - boolean overright_int_set(int i, Pointer s); - - boolean overright_int_span(int i, Pointer sp); - - boolean overright_int_spanset(int i, Pointer ss); - - boolean overright_set_bigint(Pointer s, long i); - - boolean overright_set_float(Pointer s, double d); - - boolean overright_set_int(Pointer s, int i); - - boolean overright_set_set(Pointer s1, Pointer s2); - - boolean overright_set_text(Pointer s, Pointer txt); - - boolean overright_span_bigint(Pointer sp, long i); - - boolean overright_span_float(Pointer sp, double d); - - boolean overright_span_int(Pointer sp, int i); - - boolean overright_span_span(Pointer sp1, Pointer sp2); - - boolean overright_span_spanset(Pointer sp, Pointer ss); - - boolean overright_spanset_bigint(Pointer ss, long i); - - boolean overright_spanset_float(Pointer ss, double d); - - boolean overright_spanset_int(Pointer ss, int i); - - boolean overright_spanset_span(Pointer ss, Pointer sp); - - boolean overright_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean overright_text_set(Pointer txt, Pointer s); - - boolean right_bigint_set(long i, Pointer s); - - boolean right_bigint_span(long i, Pointer sp); - - boolean right_bigint_spanset(long i, Pointer ss); - - boolean right_float_set(double d, Pointer s); - - boolean right_float_span(double d, Pointer sp); - - boolean right_float_spanset(double d, Pointer ss); - - boolean right_int_set(int i, Pointer s); - - boolean right_int_span(int i, Pointer sp); - - boolean right_int_spanset(int i, Pointer ss); - - boolean right_set_bigint(Pointer s, long i); - - boolean right_set_float(Pointer s, double d); - - boolean right_set_int(Pointer s, int i); - - boolean right_set_set(Pointer s1, Pointer s2); - - boolean right_set_text(Pointer s, Pointer txt); - - boolean right_span_bigint(Pointer sp, long i); - - boolean right_span_float(Pointer sp, double d); - - boolean right_span_int(Pointer sp, int i); - - boolean right_span_span(Pointer sp1, Pointer sp2); - - boolean right_span_spanset(Pointer sp, Pointer ss); - - boolean right_spanset_bigint(Pointer ss, long i); - - boolean right_spanset_float(Pointer ss, double d); - - boolean right_spanset_int(Pointer ss, int i); - - boolean right_spanset_span(Pointer ss, Pointer sp); - - boolean right_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean right_text_set(Pointer txt, Pointer s); - - Pointer intersection_bigint_set(long i, Pointer s); - - Pointer intersection_date_set(int d, Pointer s); - - Pointer intersection_float_set(double d, Pointer s); - - Pointer intersection_int_set(int i, Pointer s); - - Pointer intersection_set_bigint(Pointer s, long i); - - Pointer intersection_set_date(Pointer s, int d); - - Pointer intersection_set_float(Pointer s, double d); - - Pointer intersection_set_int(Pointer s, int i); - - Pointer intersection_set_set(Pointer s1, Pointer s2); - - Pointer intersection_set_text(Pointer s, Pointer txt); - - Pointer intersection_set_timestamptz(Pointer s, long t); - - Pointer intersection_span_bigint(Pointer sp, long i); - - Pointer intersection_span_date(Pointer sp, int d); - - Pointer intersection_span_float(Pointer sp, double d); - - Pointer intersection_span_int(Pointer sp, int i); - - Pointer intersection_span_span(Pointer sp1, Pointer sp2); - - Pointer intersection_span_spanset(Pointer sp, Pointer ss); - - Pointer intersection_span_timestamptz(Pointer sp, long t); - - Pointer intersection_spanset_bigint(Pointer ss, long i); - - Pointer intersection_spanset_date(Pointer ss, int d); - - Pointer intersection_spanset_float(Pointer ss, double d); - - Pointer intersection_spanset_int(Pointer ss, int i); - - Pointer intersection_spanset_span(Pointer ss, Pointer sp); - - Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer intersection_spanset_timestamptz(Pointer ss, long t); - - Pointer intersection_text_set(Pointer txt, Pointer s); - - Pointer intersection_timestamptz_set(long t, Pointer s); - - Pointer minus_bigint_set(long i, Pointer s); - - Pointer minus_bigint_span(long i, Pointer sp); - - Pointer minus_bigint_spanset(long i, Pointer ss); - - Pointer minus_date_set(int d, Pointer s); - - Pointer minus_date_span(int d, Pointer sp); - - Pointer minus_date_spanset(int d, Pointer ss); - - Pointer minus_float_set(double d, Pointer s); - - Pointer minus_float_span(double d, Pointer sp); - - Pointer minus_float_spanset(double d, Pointer ss); - - Pointer minus_int_set(int i, Pointer s); - - Pointer minus_int_span(int i, Pointer sp); - - Pointer minus_int_spanset(int i, Pointer ss); - - Pointer minus_set_bigint(Pointer s, long i); - - Pointer minus_set_date(Pointer s, int d); - - Pointer minus_set_float(Pointer s, double d); - - Pointer minus_set_int(Pointer s, int i); - - Pointer minus_set_set(Pointer s1, Pointer s2); - - Pointer minus_set_text(Pointer s, Pointer txt); - - Pointer minus_set_timestamptz(Pointer s, long t); - - Pointer minus_span_bigint(Pointer sp, long i); - - Pointer minus_span_date(Pointer sp, int d); - - Pointer minus_span_float(Pointer sp, double d); - - Pointer minus_span_int(Pointer sp, int i); - - Pointer minus_span_span(Pointer sp1, Pointer sp2); - - Pointer minus_span_spanset(Pointer sp, Pointer ss); - - Pointer minus_span_timestamptz(Pointer sp, long t); - - Pointer minus_spanset_bigint(Pointer ss, long i); - - Pointer minus_spanset_date(Pointer ss, int d); - - Pointer minus_spanset_float(Pointer ss, double d); - - Pointer minus_spanset_int(Pointer ss, int i); - - Pointer minus_spanset_span(Pointer ss, Pointer sp); - - Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer minus_spanset_timestamptz(Pointer ss, long t); - - Pointer minus_text_set(Pointer txt, Pointer s); - - Pointer minus_timestamptz_set(long t, Pointer s); - - Pointer minus_timestamptz_span(long t, Pointer sp); - - Pointer minus_timestamptz_spanset(long t, Pointer ss); - - Pointer union_bigint_set(long i, Pointer s); - - Pointer union_bigint_span(Pointer sp, long i); - - Pointer union_bigint_spanset(long i, Pointer ss); - - Pointer union_date_set(int d, Pointer s); - - Pointer union_date_span(Pointer sp, int d); - - Pointer union_date_spanset(int d, Pointer ss); - - Pointer union_float_set(double d, Pointer s); - - Pointer union_float_span(Pointer sp, double d); - - Pointer union_float_spanset(double d, Pointer ss); - - Pointer union_int_set(int i, Pointer s); - - Pointer union_int_span(int i, Pointer sp); - - Pointer union_int_spanset(int i, Pointer ss); - - Pointer union_set_bigint(Pointer s, long i); - - Pointer union_set_date(Pointer s, int d); - - Pointer union_set_float(Pointer s, double d); - - Pointer union_set_int(Pointer s, int i); - - Pointer union_set_set(Pointer s1, Pointer s2); - - Pointer union_set_text(Pointer s, Pointer txt); - - Pointer union_set_timestamptz(Pointer s, long t); - - Pointer union_span_bigint(Pointer s, long i); - - Pointer union_span_date(Pointer s, int d); - - Pointer union_span_float(Pointer s, double d); - - Pointer union_span_int(Pointer s, int i); - - Pointer union_span_span(Pointer s1, Pointer s2); - - Pointer super_union_span_span(Pointer s1, Pointer s2, boolean strict); - - Pointer union_span_spanset(Pointer s, Pointer ss); - - Pointer union_span_timestamptz(Pointer s, long t); - - Pointer union_spanset_bigint(Pointer ss, long i); - - Pointer union_spanset_date(Pointer ss, int d); - - Pointer union_spanset_float(Pointer ss, double d); - - Pointer union_spanset_int(Pointer ss, int i); - - Pointer union_spanset_span(Pointer ss, Pointer sp); - - Pointer union_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer union_spanset_timestamptz(Pointer ss, long t); - - Pointer union_text_set(Pointer txt, Pointer s); - - Pointer union_timestamptz_set(long t, Pointer s); - - Pointer union_timestamptz_span(long t, Pointer sp); - - Pointer union_timestamptz_spanset(long t, Pointer ss); - - long distance_bigintset_bigintset(Pointer s1, Pointer s2); - - long distance_bigintspan_bigintspan(Pointer sp1, Pointer sp2); - - long distance_bigintspanset_bigintspan(Pointer ss, Pointer sp); - - long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2); - - int distance_dateset_dateset(Pointer s1, Pointer s2); - - int distance_datespan_datespan(Pointer sp1, Pointer sp2); - - int distance_datespanset_datespan(Pointer ss, Pointer sp); - - int distance_datespanset_datespanset(Pointer ss1, Pointer ss2); - - double distance_floatset_floatset(Pointer s1, Pointer s2); - - double distance_floatspan_floatspan(Pointer sp1, Pointer sp2); - - double distance_floatspanset_floatspan(Pointer ss, Pointer sp); - - double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2); - - int distance_intset_intset(Pointer s1, Pointer s2); - - int distance_intspan_intspan(Pointer sp1, Pointer sp2); - - int distance_intspanset_intspan(Pointer ss, Pointer sp); - - int distance_intspanset_intspanset(Pointer ss1, Pointer ss2); - - long distance_set_bigint(Pointer s, long i); - - int distance_set_date(Pointer s, int d); - - double distance_set_float(Pointer s, double d); - - int distance_set_int(Pointer s, int i); - - double distance_set_timestamptz(Pointer s, long t); - - long distance_span_bigint(Pointer sp, long i); - - int distance_span_date(Pointer sp, int d); - - double distance_span_float(Pointer sp, double d); - - int distance_span_int(Pointer sp, int i); - - double distance_span_timestamptz(Pointer sp, long t); - - long distance_spanset_bigint(Pointer ss, long i); - - int distance_spanset_date(Pointer ss, int d); - - double distance_spanset_float(Pointer ss, double d); - - int distance_spanset_int(Pointer ss, int i); - - double distance_spanset_timestamptz(Pointer ss, long t); - - double distance_tstzset_tstzset(Pointer s1, Pointer s2); - - double distance_tstzspan_tstzspan(Pointer sp1, Pointer sp2); - - double distance_tstzspanset_tstzspan(Pointer ss, Pointer sp); - - double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2); - - Pointer bigint_extent_transfn(Pointer state, long i); - - Pointer bigint_union_transfn(Pointer state, long i); - - Pointer date_extent_transfn(Pointer state, int d); - - Pointer date_union_transfn(Pointer state, int d); - - Pointer float_extent_transfn(Pointer state, double d); - - Pointer float_union_transfn(Pointer state, double d); - - Pointer int_extent_transfn(Pointer state, int i); - - Pointer int_union_transfn(Pointer state, int i); - - Pointer set_extent_transfn(Pointer state, Pointer s); - - Pointer set_union_finalfn(Pointer state); - - Pointer set_union_transfn(Pointer state, Pointer s); - - Pointer span_extent_transfn(Pointer state, Pointer sp); - - Pointer span_union_transfn(Pointer state, Pointer sp); - - Pointer spanset_extent_transfn(Pointer state, Pointer ss); - - Pointer spanset_union_finalfn(Pointer state); - - Pointer spanset_union_transfn(Pointer state, Pointer ss); - - Pointer text_union_transfn(Pointer state, Pointer txt); - - Pointer timestamptz_extent_transfn(Pointer state, long t); - - Pointer timestamptz_union_transfn(Pointer state, long t); - - long bigint_get_bin(long value, long vsize, long vorigin); - - Pointer bigintspan_bins(Pointer sp, long vsize, long vorigin, Pointer count); - - Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count); - - int date_get_bin(int d, Pointer duration, int torigin); - - Pointer datespan_bins(Pointer sp, Pointer duration, int torigin, Pointer count); - - Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count); - - double float_get_bin(double value, double vsize, double vorigin); - - Pointer floatspan_bins(Pointer sp, double vsize, double vorigin, Pointer count); - - Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count); - - int int_get_bin(int value, int vsize, int vorigin); - - Pointer intspan_bins(Pointer sp, int vsize, int vorigin, Pointer count); - - Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count); - - long timestamptz_get_bin(long t, Pointer duration, long torigin); - - Pointer tstzspan_bins(Pointer sp, Pointer duration, long origin, Pointer count); - - Pointer tstzspanset_bins(Pointer ss, Pointer duration, long torigin, Pointer count); - - String tbox_as_hexwkb(Pointer box, byte variant, Pointer size); - - Pointer tbox_as_wkb(Pointer box, byte variant, Pointer size_out); - - Pointer tbox_from_hexwkb(String hexwkb); - - Pointer tbox_from_wkb(Pointer wkb, long size); - - Pointer tbox_in(String str); - - String tbox_out(Pointer box, int maxdd); - - Pointer float_timestamptz_to_tbox(double d, long t); - - Pointer float_tstzspan_to_tbox(double d, Pointer sp); - - Pointer int_timestamptz_to_tbox(int i, long t); - - Pointer bigint_timestamptz_to_tbox(long i, long t); - - Pointer int_tstzspan_to_tbox(int i, Pointer s); - - Pointer bigint_tstzspan_to_tbox(long i, Pointer s); - - Pointer numspan_tstzspan_to_tbox(Pointer s, Pointer p); - - Pointer numspan_timestamptz_to_tbox(Pointer span, long t); - - Pointer tbox_copy(Pointer box); - - Pointer tbox_make(Pointer sp1, Pointer sp2); - - Pointer float_to_tbox(double d); - - Pointer int_to_tbox(int i); - - Pointer bigint_to_tbox(long i); - - Pointer set_to_tbox(Pointer s); - - Pointer span_to_tbox(Pointer sp); - - Pointer spanset_to_tbox(Pointer ss); - - Pointer tbox_to_bigintspan(Pointer box); - - Pointer tbox_to_intspan(Pointer box); - - Pointer tbox_to_floatspan(Pointer box); - - Pointer tbox_to_tstzspan(Pointer box); - - Pointer timestamptz_to_tbox(long t); - - int tbox_hash(Pointer box); - - long tbox_hash_extended(Pointer box, long seed); - - boolean tbox_hast(Pointer box); - - boolean tbox_hasx(Pointer box); - - boolean tbox_tmax(Pointer box, Pointer result); - - boolean tbox_tmax_inc(Pointer box, Pointer result); - - boolean tbox_tmin(Pointer box, Pointer result); - - boolean tbox_tmin_inc(Pointer box, Pointer result); - - boolean tbox_xmax(Pointer box, Pointer result); - - boolean tbox_xmax_inc(Pointer box, Pointer result); - - boolean tbox_xmin(Pointer box, Pointer result); - - boolean tbox_xmin_inc(Pointer box, Pointer result); - - boolean tboxfloat_xmax(Pointer box, Pointer result); - - boolean tboxfloat_xmin(Pointer box, Pointer result); - - boolean tboxint_xmax(Pointer box, Pointer result); - - boolean tboxbigint_xmax(Pointer box, Pointer result); - - boolean tboxint_xmin(Pointer box, Pointer result); - - boolean tboxbigint_xmin(Pointer box, Pointer result); - - Pointer tbigintbox_expand(Pointer box, long i); - - Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer tbox_expand_time(Pointer box, Pointer interv); - - Pointer tbox_round(Pointer box, int maxdd); - - Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); - - Pointer tfloatbox_expand(Pointer box, double d); - - Pointer tintbox_expand(Pointer box, int i); - - Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict); - - Pointer intersection_tbox_tbox(Pointer box1, Pointer box2); - - boolean adjacent_tbox_tbox(Pointer box1, Pointer box2); - - boolean contained_tbox_tbox(Pointer box1, Pointer box2); - - boolean contains_tbox_tbox(Pointer box1, Pointer box2); - - boolean overlaps_tbox_tbox(Pointer box1, Pointer box2); - - boolean same_tbox_tbox(Pointer box1, Pointer box2); - - boolean after_tbox_tbox(Pointer box1, Pointer box2); - - boolean before_tbox_tbox(Pointer box1, Pointer box2); - - boolean left_tbox_tbox(Pointer box1, Pointer box2); - - boolean overafter_tbox_tbox(Pointer box1, Pointer box2); - - boolean overbefore_tbox_tbox(Pointer box1, Pointer box2); - - boolean overleft_tbox_tbox(Pointer box1, Pointer box2); - - boolean overright_tbox_tbox(Pointer box1, Pointer box2); - - boolean right_tbox_tbox(Pointer box1, Pointer box2); - - int tbox_cmp(Pointer box1, Pointer box2); - - boolean tbox_eq(Pointer box1, Pointer box2); - - boolean tbox_ge(Pointer box1, Pointer box2); - - boolean tbox_gt(Pointer box1, Pointer box2); - - boolean tbox_le(Pointer box1, Pointer box2); - - boolean tbox_lt(Pointer box1, Pointer box2); - - boolean tbox_ne(Pointer box1, Pointer box2); - - Pointer tbigint_from_mfjson(String str); - - Pointer tbigint_in(String str); - - String tbigint_out(Pointer temp); - - Pointer tbool_from_mfjson(String str); - - Pointer tbool_in(String str); - - String tbool_out(Pointer temp); - - String temporal_as_hexwkb(Pointer temp, byte variant, Pointer size_out); - - String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs); - - Pointer temporal_as_wkb(Pointer temp, byte variant, Pointer size_out); - - Pointer temporal_from_hexwkb(String hexwkb); - - Pointer temporal_from_wkb(Pointer wkb, long size); - - boolean meos_temporal_to_arrow(Pointer temp, Pointer out_schema, Pointer out_array); - - Pointer meos_temporal_from_arrow(Pointer schema, Pointer array); - - Pointer meos_temporal_arrow_roundtrip(Pointer temp); - - boolean meos_set_to_arrow(Pointer s, Pointer out_schema, Pointer out_array); - - Pointer meos_set_from_arrow(Pointer schema, Pointer array); - - Pointer meos_set_arrow_roundtrip(Pointer s); - - boolean meos_span_to_arrow(Pointer s, Pointer out_schema, Pointer out_array); - - Pointer meos_span_from_arrow(Pointer schema, Pointer array); - - Pointer meos_span_arrow_roundtrip(Pointer s); - - boolean meos_spanset_to_arrow(Pointer ss, Pointer out_schema, Pointer out_array); - - Pointer meos_spanset_from_arrow(Pointer schema, Pointer array); - - Pointer meos_spanset_arrow_roundtrip(Pointer ss); - - boolean meos_tbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array); - - Pointer meos_tbox_from_arrow(Pointer schema, Pointer array); - - Pointer meos_tbox_arrow_roundtrip(Pointer box); - - boolean meos_stbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array); - - Pointer meos_stbox_from_arrow(Pointer schema, Pointer array); - - Pointer meos_stbox_arrow_roundtrip(Pointer box); - - Pointer tfloat_from_mfjson(String str); - - Pointer tfloat_in(String str); - - String tfloat_out(Pointer temp, int maxdd); - - Pointer tint_from_mfjson(String str); - - Pointer tint_in(String str); - - String tint_out(Pointer temp); - - Pointer ttext_from_mfjson(String str); - - Pointer ttext_in(String str); - - String ttext_out(Pointer temp); - - Pointer tbigint_from_base_temp(long i, Pointer temp); - - Pointer tbigintinst_make(long i, long t); - - Pointer tbigintseq_from_base_tstzset(long i, Pointer s); - - Pointer tbigintseq_from_base_tstzspan(long i, Pointer s); - - Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss); - - Pointer tbool_from_base_temp(boolean b, Pointer temp); - - Pointer tboolinst_make(boolean b, long t); - - Pointer tboolseq_from_base_tstzset(boolean b, Pointer s); - - Pointer tboolseq_from_base_tstzspan(boolean b, Pointer sp); - - Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss); - - Pointer temporal_copy(Pointer temp); - - Pointer tfloat_from_base_temp(double d, Pointer temp); - - Pointer tfloatinst_make(double d, long t); - - Pointer tfloatseq_from_base_tstzset(double d, Pointer s); - - Pointer tfloatseq_from_base_tstzspan(double d, Pointer sp, int interp); - - Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp); - - Pointer tint_from_base_temp(int i, Pointer temp); - - Pointer tintinst_make(int i, long t); - - Pointer tintseq_from_base_tstzset(int i, Pointer s); - - Pointer tintseq_from_base_tstzspan(int i, Pointer s); - - Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss); - - Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize); - - Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist); - - Pointer ttext_from_base_temp(Pointer txt, Pointer temp); - - Pointer ttextinst_make(Pointer txt, long t); - - Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s); - - Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer sp); - - Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss); - - Pointer tbigint_to_tfloat(Pointer temp); - - Pointer tbigint_to_tint(Pointer temp); - - Pointer tbool_to_tint(Pointer temp); - - Pointer temporal_to_tstzspan(Pointer temp); - - Pointer tfloat_to_tbigint(Pointer temp); - - Pointer tfloat_to_tint(Pointer temp); - - Pointer tint_to_tfloat(Pointer temp); - - Pointer tint_to_tbigint(Pointer temp); - - Pointer tnumber_to_span(Pointer temp); - - Pointer tnumber_to_tbox(Pointer temp); - - long tbigint_end_value(Pointer temp); - - long tbigint_max_value(Pointer temp); - - long tbigint_min_value(Pointer temp); - - long tbigint_start_value(Pointer temp); - - boolean tbigint_value_n(Pointer temp, long n, Pointer result); - - Pointer tbigint_values(Pointer temp, Pointer count); - - boolean tbool_end_value(Pointer temp); - - boolean tbool_start_value(Pointer temp); - - boolean tbool_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tbool_value_n(Pointer temp, int n, Pointer result); - - Pointer tbool_values(Pointer temp, Pointer count); - - Pointer temporal_duration(Pointer temp, boolean boundspan); - - Pointer temporal_end_instant(Pointer temp); - - Pointer temporal_end_sequence(Pointer temp); - - long temporal_end_timestamptz(Pointer temp); - - int temporal_hash(Pointer temp); - - Pointer temporal_instant_n(Pointer temp, int n); - - Pointer temporal_instants(Pointer temp, Pointer count); - - Pointer temporal_instants_p(Pointer temp, Pointer count); - - String temporal_interp(Pointer temp); - - boolean temporal_lower_inc(Pointer temp); - - Pointer temporal_max_instant(Pointer temp); - - Pointer temporal_min_instant(Pointer temp); - - int temporal_num_instants(Pointer temp); - - int temporal_num_sequences(Pointer temp); - - int temporal_num_timestamps(Pointer temp); - - Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict); - - Pointer temporal_segments(Pointer temp, Pointer count); - - Pointer temporal_sequence_n(Pointer temp, int i); - - Pointer temporal_sequences(Pointer temp, Pointer count); - - Pointer temporal_start_instant(Pointer temp); - - Pointer temporal_start_sequence(Pointer temp); - - long temporal_start_timestamptz(Pointer temp); - - Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration); - - String temporal_subtype(Pointer temp); - - String temporal_basetype_name(Pointer temp); - - Pointer temporal_time(Pointer temp); - - Pointer temporal_timestamps(Pointer temp, Pointer count); - - boolean temporal_timestamptz_n(Pointer temp, int n, Pointer result); - - boolean temporal_upper_inc(Pointer temp); - - double tfloat_end_value(Pointer temp); - - double tfloat_min_value(Pointer temp); - - double tfloat_max_value(Pointer temp); - - double tfloat_start_value(Pointer temp); - - boolean tfloat_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tfloat_value_n(Pointer temp, int n, Pointer result); - - Pointer tfloat_values(Pointer temp, Pointer count); - - int tint_end_value(Pointer temp); - - int tint_max_value(Pointer temp); - - int tint_min_value(Pointer temp); - - int tint_start_value(Pointer temp); - - boolean tint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tint_value_n(Pointer temp, int n, Pointer result); - - Pointer tint_values(Pointer temp, Pointer count); - - double tnumber_avg_value(Pointer temp); - - double tnumber_integral(Pointer temp); - - double tnumber_twavg(Pointer temp); - - Pointer tnumber_valuespans(Pointer temp); - - Pointer ttext_end_value(Pointer temp); - - Pointer ttext_max_value(Pointer temp); - - Pointer ttext_min_value(Pointer temp); - - Pointer ttext_start_value(Pointer temp); - - boolean ttext_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean ttext_value_n(Pointer temp, int n, Pointer result); - - Pointer ttext_values(Pointer temp, Pointer count); - - double float_degrees(double value, boolean normalize); - - Pointer tbigint_scale_value(Pointer temp, long width); - - Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width); - - Pointer tbigint_shift_value(Pointer temp, long shift); - - Pointer temparr_round(Pointer temp, int count, int maxdd); - - Pointer temporal_round(Pointer temp, int maxdd); - - Pointer temporal_scale_time(Pointer temp, Pointer duration); - - Pointer temporal_set_interp(Pointer temp, int interp); - - Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration); - - Pointer temporal_shift_time(Pointer temp, Pointer shift); - - Pointer temporal_to_tinstant(Pointer temp); - - Pointer temporal_to_tsequence(Pointer temp, int interp); - - Pointer temporal_to_tsequenceset(Pointer temp, int interp); - - Pointer tfloat_ceil(Pointer temp); - - Pointer tfloat_degrees(Pointer temp, boolean normalize); - - Pointer tfloat_floor(Pointer temp); - - Pointer tfloat_radians(Pointer temp); - - Pointer tfloat_scale_value(Pointer temp, double width); - - Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width); - - Pointer tfloat_shift_value(Pointer temp, double shift); - - Pointer tint_scale_value(Pointer temp, int width); - - Pointer tint_shift_scale_value(Pointer temp, int shift, int width); - - Pointer tint_shift_value(Pointer temp, int shift); - - Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); - - Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand); - - Pointer temporal_delete_timestamptz(Pointer temp, long t, boolean connect); - - Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect); - - Pointer temporal_delete_tstzspan(Pointer temp, Pointer sp, boolean connect); - - Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); - - Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect); - - Pointer temporal_merge(Pointer temp1, Pointer temp2); - - Pointer temporal_merge_array(Pointer temparr, int count); - - Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect); - - Pointer tbool_at_value(Pointer temp, boolean b); - - Pointer tbool_minus_value(Pointer temp, boolean b); - - Pointer temporal_after_timestamptz(Pointer temp, long t, boolean strict); - - Pointer temporal_at_max(Pointer temp); - - Pointer temporal_at_min(Pointer temp); - - Pointer temporal_at_timestamptz(Pointer temp, long t); - - Pointer temporal_at_tstzset(Pointer temp, Pointer s); - - Pointer temporal_at_tstzspan(Pointer temp, Pointer sp); - - Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss); - - Pointer temporal_at_values(Pointer temp, Pointer set); - - Pointer temporal_before_timestamptz(Pointer temp, long t, boolean strict); - - Pointer temporal_minus_max(Pointer temp); - - Pointer temporal_minus_min(Pointer temp); - - Pointer temporal_minus_timestamptz(Pointer temp, long t); - - Pointer temporal_minus_tstzset(Pointer temp, Pointer s); - - Pointer temporal_minus_tstzspan(Pointer temp, Pointer sp); - - Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss); - - Pointer temporal_minus_values(Pointer temp, Pointer set); - - Pointer tfloat_at_value(Pointer temp, double d); - - Pointer tfloat_minus_value(Pointer temp, double d); - - Pointer tint_at_value(Pointer temp, int i); - - Pointer tint_minus_value(Pointer temp, int i); - - Pointer tnumber_at_span(Pointer temp, Pointer sp); - - Pointer tnumber_at_spanset(Pointer temp, Pointer ss); - - Pointer tnumber_at_tbox(Pointer temp, Pointer box); - - Pointer tnumber_minus_span(Pointer temp, Pointer sp); - - Pointer tnumber_minus_spanset(Pointer temp, Pointer ss); - - Pointer tnumber_minus_tbox(Pointer temp, Pointer box); - - Pointer ttext_at_value(Pointer temp, Pointer txt); - - Pointer ttext_minus_value(Pointer temp, Pointer txt); - - int temporal_cmp(Pointer temp1, Pointer temp2); - - boolean temporal_eq(Pointer temp1, Pointer temp2); - - boolean temporal_ge(Pointer temp1, Pointer temp2); - - boolean temporal_gt(Pointer temp1, Pointer temp2); - - boolean temporal_le(Pointer temp1, Pointer temp2); - - boolean temporal_lt(Pointer temp1, Pointer temp2); - - boolean temporal_ne(Pointer temp1, Pointer temp2); - - int always_eq_bigint_tbigint(long i, Pointer temp); - - int always_eq_bool_tbool(boolean b, Pointer temp); - - int always_eq_float_tfloat(double d, Pointer temp); - - int always_eq_int_tint(int i, Pointer temp); - - int always_eq_tbool_bool(Pointer temp, boolean b); - - int always_eq_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_eq_text_ttext(Pointer txt, Pointer temp); - - int always_eq_tbigint_bigint(Pointer temp, long i); - - int always_eq_tfloat_float(Pointer temp, double d); - - int always_eq_tint_int(Pointer temp, int i); - - int always_eq_ttext_text(Pointer temp, Pointer txt); - - int always_ge_bigint_tbigint(long i, Pointer temp); - - int always_ge_float_tfloat(double d, Pointer temp); - - int always_ge_int_tint(int i, Pointer temp); - - int always_ge_tbigint_bigint(Pointer temp, long i); - - int always_ge_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_ge_text_ttext(Pointer txt, Pointer temp); - - int always_ge_tfloat_float(Pointer temp, double d); - - int always_ge_tint_int(Pointer temp, int i); - - int always_ge_ttext_text(Pointer temp, Pointer txt); - - int always_gt_bigint_tbigint(long i, Pointer temp); - - int always_gt_float_tfloat(double d, Pointer temp); - - int always_gt_int_tint(int i, Pointer temp); - - int always_gt_tbigint_bigint(Pointer temp, long i); - - int always_gt_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_gt_text_ttext(Pointer txt, Pointer temp); - - int always_gt_tfloat_float(Pointer temp, double d); - - int always_gt_tint_int(Pointer temp, int i); - - int always_gt_ttext_text(Pointer temp, Pointer txt); - - int always_le_bigint_tbigint(long i, Pointer temp); - - int always_le_float_tfloat(double d, Pointer temp); - - int always_le_int_tint(int i, Pointer temp); - - int always_le_tbigint_bigint(Pointer temp, long i); - - int always_le_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_le_text_ttext(Pointer txt, Pointer temp); - - int always_le_tfloat_float(Pointer temp, double d); - - int always_le_tint_int(Pointer temp, int i); - - int always_le_ttext_text(Pointer temp, Pointer txt); - - int always_lt_bigint_tbigint(long i, Pointer temp); - - int always_lt_float_tfloat(double d, Pointer temp); - - int always_lt_int_tint(int i, Pointer temp); - - int always_lt_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_lt_text_ttext(Pointer txt, Pointer temp); - - int always_lt_tfloat_float(Pointer temp, double d); - - int always_lt_tint_int(Pointer temp, int i); - - int always_lt_tbigint_bigint(Pointer temp, long i); - - int always_lt_ttext_text(Pointer temp, Pointer txt); - - int always_ne_bool_tbool(boolean b, Pointer temp); - - int always_ne_float_tfloat(double d, Pointer temp); - - int always_ne_int_tint(int i, Pointer temp); - - int always_ne_bigint_tbigint(long i, Pointer temp); - - int always_ne_tbool_bool(Pointer temp, boolean b); - - int always_ne_tbigint_bigint(Pointer temp, long i); - - int always_ne_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_ne_text_ttext(Pointer txt, Pointer temp); - - int always_ne_tfloat_float(Pointer temp, double d); - - int always_ne_tint_int(Pointer temp, int i); - - int always_ne_ttext_text(Pointer temp, Pointer txt); - - int ever_eq_bigint_tbigint(long i, Pointer temp); - - int ever_eq_bool_tbool(boolean b, Pointer temp); - - int ever_eq_float_tfloat(double d, Pointer temp); - - int ever_eq_int_tint(int i, Pointer temp); - - int ever_eq_tbigint_bigint(Pointer temp, long i); - - int ever_eq_tbool_bool(Pointer temp, boolean b); - - int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_eq_text_ttext(Pointer txt, Pointer temp); - - int ever_eq_tfloat_float(Pointer temp, double d); - - int ever_eq_tint_int(Pointer temp, int i); - - int ever_eq_ttext_text(Pointer temp, Pointer txt); - - int ever_ge_bigint_tbigint(long i, Pointer temp); - - int ever_ge_float_tfloat(double d, Pointer temp); - - int ever_ge_int_tint(int i, Pointer temp); - - int ever_ge_tbigint_bigint(Pointer temp, long i); - - int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_ge_text_ttext(Pointer txt, Pointer temp); - - int ever_ge_tfloat_float(Pointer temp, double d); - - int ever_ge_tint_int(Pointer temp, int i); - - int ever_ge_ttext_text(Pointer temp, Pointer txt); - - int ever_gt_bigint_tbigint(long i, Pointer temp); - - int ever_gt_float_tfloat(double d, Pointer temp); - - int ever_gt_int_tint(int i, Pointer temp); - - int ever_gt_tbigint_bigint(Pointer temp, long i); - - int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_gt_text_ttext(Pointer txt, Pointer temp); - - int ever_gt_tfloat_float(Pointer temp, double d); - - int ever_gt_tint_int(Pointer temp, int i); - - int ever_gt_ttext_text(Pointer temp, Pointer txt); - - int ever_le_bigint_tbigint(long i, Pointer temp); - - int ever_le_float_tfloat(double d, Pointer temp); - - int ever_le_int_tint(int i, Pointer temp); - - int ever_le_tbigint_bigint(Pointer temp, long i); - - int ever_le_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_le_text_ttext(Pointer txt, Pointer temp); - - int ever_le_tfloat_float(Pointer temp, double d); - - int ever_le_tint_int(Pointer temp, int i); - - int ever_le_ttext_text(Pointer temp, Pointer txt); - - int ever_lt_bigint_tbigint(long i, Pointer temp); - - int ever_lt_float_tfloat(double d, Pointer temp); - - int ever_lt_int_tint(int i, Pointer temp); - - int ever_lt_tbigint_bigint(Pointer temp, long i); - - int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_lt_text_ttext(Pointer txt, Pointer temp); - - int ever_lt_tfloat_float(Pointer temp, double d); - - int ever_lt_tint_int(Pointer temp, int i); - - int ever_lt_ttext_text(Pointer temp, Pointer txt); - - int ever_ne_bigint_tbigint(long i, Pointer temp); - - int ever_ne_bool_tbool(boolean b, Pointer temp); - - int ever_ne_float_tfloat(double d, Pointer temp); - - int ever_ne_int_tint(int i, Pointer temp); - - int ever_ne_tbigint_bigint(Pointer temp, long i); - - int ever_ne_tbool_bool(Pointer temp, boolean b); - - int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_ne_text_ttext(Pointer txt, Pointer temp); - - int ever_ne_tfloat_float(Pointer temp, double d); - - int ever_ne_tint_int(Pointer temp, int i); - - int ever_ne_ttext_text(Pointer temp, Pointer txt); - - Pointer teq_bool_tbool(boolean b, Pointer temp); - - Pointer teq_float_tfloat(double d, Pointer temp); - - Pointer teq_int_tint(int i, Pointer temp); - - Pointer teq_tbool_bool(Pointer temp, boolean b); - - Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer teq_text_ttext(Pointer txt, Pointer temp); - - Pointer teq_tfloat_float(Pointer temp, double d); - - Pointer teq_tint_int(Pointer temp, int i); - - Pointer teq_ttext_text(Pointer temp, Pointer txt); - - Pointer tge_float_tfloat(double d, Pointer temp); - - Pointer tge_int_tint(int i, Pointer temp); - - Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tge_text_ttext(Pointer txt, Pointer temp); - - Pointer tge_tfloat_float(Pointer temp, double d); - - Pointer tge_tint_int(Pointer temp, int i); - - Pointer tge_ttext_text(Pointer temp, Pointer txt); - - Pointer tgt_float_tfloat(double d, Pointer temp); - - Pointer tgt_int_tint(int i, Pointer temp); - - Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tgt_text_ttext(Pointer txt, Pointer temp); - - Pointer tgt_tfloat_float(Pointer temp, double d); - - Pointer tgt_tint_int(Pointer temp, int i); - - Pointer tgt_ttext_text(Pointer temp, Pointer txt); - - Pointer tle_float_tfloat(double d, Pointer temp); - - } - - public interface MeosLibraryPartB { - - Pointer tle_int_tint(int i, Pointer temp); - - Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tle_text_ttext(Pointer txt, Pointer temp); - - Pointer tle_tfloat_float(Pointer temp, double d); - - Pointer tle_tint_int(Pointer temp, int i); - - Pointer tle_ttext_text(Pointer temp, Pointer txt); - - Pointer tlt_float_tfloat(double d, Pointer temp); - - Pointer tlt_int_tint(int i, Pointer temp); - - Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tlt_text_ttext(Pointer txt, Pointer temp); - - Pointer tlt_tfloat_float(Pointer temp, double d); - - Pointer tlt_tint_int(Pointer temp, int i); - - Pointer tlt_ttext_text(Pointer temp, Pointer txt); - - Pointer tne_bool_tbool(boolean b, Pointer temp); - - Pointer tne_float_tfloat(double d, Pointer temp); - - Pointer tne_int_tint(int i, Pointer temp); - - Pointer tne_tbool_bool(Pointer temp, boolean b); - - Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tne_text_ttext(Pointer txt, Pointer temp); - - Pointer tne_tfloat_float(Pointer temp, double d); - - Pointer tne_tint_int(Pointer temp, int i); - - Pointer tne_ttext_text(Pointer temp, Pointer txt); - - Pointer temporal_spans(Pointer temp, Pointer count); - - Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count); - - Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count); - - Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count); - - Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count); - - Pointer tnumber_tboxes(Pointer temp, Pointer count); - - boolean adjacent_numspan_tnumber(Pointer sp, Pointer temp); - - boolean adjacent_tbox_tnumber(Pointer box, Pointer temp); - - boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean adjacent_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean adjacent_tnumber_numspan(Pointer temp, Pointer sp); - - boolean adjacent_tnumber_tbox(Pointer temp, Pointer box); - - boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean adjacent_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean contained_numspan_tnumber(Pointer sp, Pointer temp); - - boolean contained_tbox_tnumber(Pointer box, Pointer temp); - - boolean contained_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean contained_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean contained_tnumber_numspan(Pointer temp, Pointer sp); - - boolean contained_tnumber_tbox(Pointer temp, Pointer box); - - boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean contained_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean contains_numspan_tnumber(Pointer sp, Pointer temp); - - boolean contains_tbox_tnumber(Pointer box, Pointer temp); - - boolean contains_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean contains_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean contains_tnumber_numspan(Pointer temp, Pointer sp); - - boolean contains_tnumber_tbox(Pointer temp, Pointer box); - - boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean contains_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean overlaps_numspan_tnumber(Pointer sp, Pointer temp); - - boolean overlaps_tbox_tnumber(Pointer box, Pointer temp); - - boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overlaps_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean overlaps_tnumber_numspan(Pointer temp, Pointer sp); - - boolean overlaps_tnumber_tbox(Pointer temp, Pointer box); - - boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overlaps_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean same_numspan_tnumber(Pointer sp, Pointer temp); - - boolean same_tbox_tnumber(Pointer box, Pointer temp); - - boolean same_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean same_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean same_tnumber_numspan(Pointer temp, Pointer sp); - - boolean same_tnumber_tbox(Pointer temp, Pointer box); - - boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean same_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean after_tbox_tnumber(Pointer box, Pointer temp); - - boolean after_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean after_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean after_tnumber_tbox(Pointer temp, Pointer box); - - boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean after_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean before_tbox_tnumber(Pointer box, Pointer temp); - - boolean before_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean before_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean before_tnumber_tbox(Pointer temp, Pointer box); - - boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean before_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean left_tbox_tnumber(Pointer box, Pointer temp); - - boolean left_numspan_tnumber(Pointer sp, Pointer temp); - - boolean left_tnumber_numspan(Pointer temp, Pointer sp); - - boolean left_tnumber_tbox(Pointer temp, Pointer box); - - boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overafter_tbox_tnumber(Pointer box, Pointer temp); - - boolean overafter_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overafter_tnumber_tbox(Pointer temp, Pointer box); - - boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overafter_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean overbefore_tbox_tnumber(Pointer box, Pointer temp); - - boolean overbefore_temporal_tstzspan(Pointer temp, Pointer sp); - - boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overbefore_tnumber_tbox(Pointer temp, Pointer box); - - boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overbefore_tstzspan_temporal(Pointer sp, Pointer temp); - - boolean overleft_numspan_tnumber(Pointer sp, Pointer temp); - - boolean overleft_tbox_tnumber(Pointer box, Pointer temp); - - boolean overleft_tnumber_numspan(Pointer temp, Pointer sp); - - boolean overleft_tnumber_tbox(Pointer temp, Pointer box); - - boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overright_numspan_tnumber(Pointer sp, Pointer temp); - - boolean overright_tbox_tnumber(Pointer box, Pointer temp); - - boolean overright_tnumber_numspan(Pointer temp, Pointer sp); - - boolean overright_tnumber_tbox(Pointer temp, Pointer box); - - boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean right_numspan_tnumber(Pointer sp, Pointer temp); - - boolean right_tbox_tnumber(Pointer box, Pointer temp); - - boolean right_tnumber_numspan(Pointer temp, Pointer sp); - - boolean right_tnumber_tbox(Pointer temp, Pointer box); - - boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2); - - Pointer tand_bool_tbool(boolean b, Pointer temp); - - Pointer tand_tbool_bool(Pointer temp, boolean b); - - Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2); - - Pointer tbool_when_true(Pointer temp); - - Pointer tnot_tbool(Pointer temp); - - Pointer tor_bool_tbool(boolean b, Pointer temp); - - Pointer tor_tbool_bool(Pointer temp, boolean b); - - Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2); - - Pointer add_bigint_tbigint(long i, Pointer tnumber); - - Pointer add_float_tfloat(double d, Pointer tnumber); - - Pointer add_int_tint(int i, Pointer tnumber); - - Pointer add_tbigint_bigint(Pointer tnumber, long i); - - Pointer add_tfloat_float(Pointer tnumber, double d); - - Pointer add_tint_int(Pointer tnumber, int i); - - Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer div_bigint_tbigint(long i, Pointer tnumber); - - Pointer div_float_tfloat(double d, Pointer tnumber); - - Pointer div_int_tint(int i, Pointer tnumber); - - Pointer div_tbigint_bigint(Pointer tnumber, long i); - - Pointer div_tfloat_float(Pointer tnumber, double d); - - Pointer div_tint_int(Pointer tnumber, int i); - - Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer mul_bigint_tbigint(long i, Pointer tnumber); - - Pointer mul_float_tfloat(double d, Pointer tnumber); - - Pointer mul_int_tint(int i, Pointer tnumber); - - Pointer mul_tbigint_bigint(Pointer tnumber, long i); - - Pointer mul_tfloat_float(Pointer tnumber, double d); - - Pointer mul_tint_int(Pointer tnumber, int i); - - Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer sub_bigint_tbigint(long i, Pointer tnumber); - - Pointer sub_float_tfloat(double d, Pointer tnumber); - - Pointer sub_int_tint(int i, Pointer tnumber); - - Pointer sub_tbigint_bigint(Pointer tnumber, long i); - - Pointer sub_tfloat_float(Pointer tnumber, double d); - - Pointer sub_tint_int(Pointer tnumber, int i); - - Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer temporal_derivative(Pointer temp); - - Pointer tfloat_exp(Pointer temp); - - Pointer tfloat_ln(Pointer temp); - - Pointer tfloat_log10(Pointer temp); - - Pointer tnumber_abs(Pointer temp); - - Pointer tnumber_trend(Pointer temp); - - double float_angular_difference(double degrees1, double degrees2); - - Pointer tnumber_angular_difference(Pointer temp); - - Pointer tnumber_delta_value(Pointer temp); - - Pointer textcat_text_ttext(Pointer txt, Pointer temp); - - Pointer textcat_ttext_text(Pointer temp, Pointer txt); - - Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2); - - Pointer ttext_initcap(Pointer temp); - - Pointer ttext_upper(Pointer temp); - - Pointer ttext_lower(Pointer temp); - - Pointer tdistance_tfloat_float(Pointer temp, double d); - - Pointer tdistance_tint_int(Pointer temp, int i); - - Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2); - - double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2); - - int nad_tboxint_tboxint(Pointer box1, Pointer box2); - - double nad_tfloat_float(Pointer temp, double d); - - double nad_tfloat_tfloat(Pointer temp1, Pointer temp2); - - double nad_tfloat_tbox(Pointer temp, Pointer box); - - int nad_tint_int(Pointer temp, int i); - - int nad_tint_tbox(Pointer temp, Pointer box); - - int nad_tint_tint(Pointer temp1, Pointer temp2); - - Pointer tbool_tand_transfn(Pointer state, Pointer temp); - - Pointer tbool_tand_combinefn(Pointer state1, Pointer state2); - - Pointer tbool_tor_transfn(Pointer state, Pointer temp); - - Pointer tbool_tor_combinefn(Pointer state1, Pointer state2); - - Pointer temporal_extent_transfn(Pointer s, Pointer temp); - - Pointer temporal_merge_transfn(Pointer state, Pointer temp); - - Pointer temporal_merge_combinefn(Pointer state1, Pointer state2); - - Pointer temporal_tagg_finalfn(Pointer state); - - Pointer temporal_tcount_transfn(Pointer state, Pointer temp); - - Pointer temporal_tcount_combinefn(Pointer state1, Pointer state2); - - Pointer tfloat_tmax_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tmax_combinefn(Pointer state1, Pointer state2); - - Pointer tfloat_tmin_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tmin_combinefn(Pointer state1, Pointer state2); - - Pointer tfloat_tsum_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tsum_combinefn(Pointer state1, Pointer state2); - - Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer timestamptz_tcount_transfn(Pointer state, long t); - - Pointer tint_tmax_transfn(Pointer state, Pointer temp); - - Pointer tint_tmax_combinefn(Pointer state1, Pointer state2); - - Pointer tint_tmin_transfn(Pointer state, Pointer temp); - - Pointer tint_tmin_combinefn(Pointer state1, Pointer state2); - - Pointer tint_tsum_transfn(Pointer state, Pointer temp); - - Pointer tint_tsum_combinefn(Pointer state1, Pointer state2); - - Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tnumber_extent_transfn(Pointer box, Pointer temp); - - Pointer tnumber_tavg_finalfn(Pointer state); - - Pointer tnumber_tavg_transfn(Pointer state, Pointer temp); - - Pointer tnumber_tavg_combinefn(Pointer state1, Pointer state2); - - Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tstzset_tcount_transfn(Pointer state, Pointer s); - - Pointer tstzspan_tcount_transfn(Pointer state, Pointer sp); - - Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss); - - Pointer ttext_tmax_transfn(Pointer state, Pointer temp); - - Pointer ttext_tmax_combinefn(Pointer state1, Pointer state2); - - Pointer ttext_tmin_transfn(Pointer state, Pointer temp); - - Pointer ttext_tmin_combinefn(Pointer state1, Pointer state2); - - Pointer temporal_simplify_dp(Pointer temp, double dist, boolean synchronize); - - Pointer temporal_simplify_max_dist(Pointer temp, double dist, boolean synchronize); - - Pointer temporal_simplify_min_dist(Pointer temp, double dist); - - Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint); - - Pointer temporal_tprecision(Pointer temp, Pointer duration, long origin); - - Pointer temporal_tsample(Pointer temp, Pointer duration, long origin, int interp); - - double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count); - - double temporal_frechet_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count); - - double temporal_hausdorff_distance(Pointer temp1, Pointer temp2); - - double temporal_average_hausdorff_distance(Pointer temp1, Pointer temp2); - - double temporal_lcss_distance(Pointer temp1, Pointer temp2, double epsilon); - - Pointer temporal_ext_kalman_filter(Pointer temp, double gate, double q, double variance, boolean to_drop); - - Pointer temporal_time_bins(Pointer temp, Pointer duration, long origin, Pointer count); - - Pointer temporal_time_split(Pointer _sret, Pointer temp, Pointer duration, long torigin); - - Pointer tfloat_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); - - Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count); - - Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count); - - Pointer tfloat_value_split(Pointer _sret, Pointer temp, double size, double origin); - - Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); - - Pointer tfloat_value_time_split(Pointer _sret, Pointer temp, double vsize, Pointer duration, double vorigin, long torigin); - - Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); - - Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count); - - Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); - - Pointer tint_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); - - Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count); - - Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count); - - Pointer tint_value_split(Pointer _sret, Pointer temp, int vsize, int vorigin); - - Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, long torigin, Pointer count); - - Pointer tint_value_time_split(Pointer _sret, Pointer temp, long size, Pointer duration, int vorigin, long torigin); - - Pointer tintbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); - - Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count); - - Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, long torigin, Pointer count); - - Pointer box3d_from_gbox(Pointer box); - - Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid); - - String box3d_out(Pointer box, int maxdd); - - Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax); - - String gbox_out(Pointer box, int maxdd); - - Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size); - - String geo_as_ewkt(Pointer gs, int precision); - - String geo_as_geojson(Pointer gs, int option, int precision, String srs); - - String geo_as_hexewkb(Pointer gs, String endian); - - String geo_as_text(Pointer gs, int precision); - - Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid); - - Pointer geo_from_geojson(String geojson); - - Pointer geo_from_text(String wkt, int srid); - - String geo_out(Pointer gs); - - Pointer geog_from_hexewkb(String wkt); - - Pointer geog_in(String str, int typmod); - - Pointer geom_from_hexewkb(String wkt); - - Pointer geom_in(String str, int typmod); - - Pointer box3d_in(String str); - - Pointer gbox_in(String str); - - Pointer geo_copy(Pointer gs); - - Pointer geogpoint_make2d(int srid, double x, double y); - - Pointer geogpoint_make3dz(int srid, double x, double y, double z); - - Pointer geompoint_make2d(int srid, double x, double y); - - Pointer geompoint_make3dz(int srid, double x, double y, double z); - - Pointer geom_to_geog(Pointer geom); - - Pointer geog_to_geom(Pointer geog); - - boolean geo_is_empty(Pointer gs); - - boolean geo_is_unitary(Pointer gs); - - String geo_typename(int type); - - double geog_area(Pointer gs, boolean use_spheroid); - - Pointer geog_centroid(Pointer gs, boolean use_spheroid); - - double geog_length(Pointer gs, boolean use_spheroid); - - double geog_perimeter(Pointer gs, boolean use_spheroid); - - boolean geom_azimuth(Pointer gs1, Pointer gs2, Pointer result); - - double geom_length(Pointer gs); - - double geom_perimeter(Pointer gs); - - int line_numpoints(Pointer gs); - - Pointer line_point_n(Pointer geom, int n); - - Pointer geo_reverse(Pointer gs); - - Pointer geo_round(Pointer gs, int maxdd); - - Pointer geo_set_srid(Pointer gs, int srid); - - int geo_srid(Pointer gs); - - Pointer geo_transform(Pointer geom, int srid_to); - - Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward); - - Pointer geo_collect_garray(Pointer gsarr, int count); - - Pointer geo_makeline_garray(Pointer gsarr, int count); - - int geo_num_points(Pointer gs); - - int geo_num_geos(Pointer gs); - - Pointer geo_geo_n(Pointer geom, int n); - - Pointer geo_pointarr(Pointer gs, Pointer count); - - Pointer geo_points(Pointer gs); - - Pointer geom_array_union(Pointer gsarr, int count); - - Pointer geom_boundary(Pointer gs); - - Pointer geom_buffer(Pointer gs, double size, String params); - - Pointer geom_centroid(Pointer gs); - - Pointer geom_convex_hull(Pointer gs); - - Pointer geom_difference2d(Pointer gs1, Pointer gs2); - - Pointer geom_intersection2d(Pointer gs1, Pointer gs2); - - Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2); - - Pointer geom_min_bounding_radius(Pointer geom); - - Pointer geom_shortestline2d(Pointer gs1, Pointer s2); - - Pointer geom_shortestline3d(Pointer gs1, Pointer s2); - - Pointer geom_unary_union(Pointer gs, double prec); - - Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat); - - double line_locate_point(Pointer gs1, Pointer gs2); - - Pointer line_substring(Pointer gs, double from, double to); - - boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid); - - boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid); - - boolean geom_contains(Pointer gs1, Pointer gs2); - - boolean geom_covers(Pointer gs1, Pointer gs2); - - boolean geom_disjoint2d(Pointer gs1, Pointer gs2); - - boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance); - - boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance); - - boolean geom_intersects2d(Pointer gs1, Pointer gs2); - - boolean geom_intersects3d(Pointer gs1, Pointer gs2); - - boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt); - - boolean geom_touches(Pointer gs1, Pointer gs2); - - Pointer geo_stboxes(Pointer gs, Pointer count); - - Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count); - - Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count); - - double geog_distance(Pointer g1, Pointer g2); - - double geom_distance2d(Pointer gs1, Pointer gs2); - - double geom_distance3d(Pointer gs1, Pointer gs2); - - int geo_equals(Pointer gs1, Pointer gs2); - - boolean geo_same(Pointer gs1, Pointer gs2); - - Pointer geogset_in(String str); - - Pointer geomset_in(String str); - - String spatialset_out(Pointer s, int maxdd); - - String spatialset_as_text(Pointer set, int maxdd); - - String spatialset_as_ewkt(Pointer set, int maxdd); - - Pointer geoset_make(Pointer values, int count); - - Pointer geo_to_set(Pointer gs); - - Pointer geoset_end_value(Pointer s); - - Pointer geoset_start_value(Pointer s); - - boolean geoset_value_n(Pointer s, int n, Pointer result); - - Pointer geoset_values(Pointer s, Pointer count); - - boolean contained_geo_set(Pointer gs, Pointer s); - - boolean contains_set_geo(Pointer s, Pointer gs); - - Pointer geo_union_transfn(Pointer state, Pointer gs); - - Pointer intersection_geo_set(Pointer gs, Pointer s); - - Pointer intersection_set_geo(Pointer s, Pointer gs); - - Pointer minus_geo_set(Pointer gs, Pointer s); - - Pointer minus_set_geo(Pointer s, Pointer gs); - - Pointer union_geo_set(Pointer gs, Pointer s); - - Pointer union_set_geo(Pointer s, Pointer gs); - - Pointer spatialset_set_srid(Pointer s, int srid); - - int spatialset_srid(Pointer s); - - Pointer spatialset_transform(Pointer s, int srid); - - Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward); - - String stbox_as_hexwkb(Pointer box, byte variant, Pointer size); - - Pointer stbox_as_wkb(Pointer box, byte variant, Pointer size_out); - - Pointer stbox_from_hexwkb(String hexwkb); - - Pointer stbox_from_wkb(Pointer wkb, long size); - - Pointer stbox_in(String str); - - String stbox_out(Pointer box, int maxdd); - - Pointer geo_timestamptz_to_stbox(Pointer gs, long t); - - Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s); - - Pointer stbox_copy(Pointer box); - - Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s); - - Pointer geo_to_stbox(Pointer gs); - - Pointer spatialset_to_stbox(Pointer s); - - Pointer stbox_to_box3d(Pointer box); - - Pointer stbox_to_gbox(Pointer box); - - Pointer stbox_to_geo(Pointer box); - - Pointer stbox_to_tstzspan(Pointer box); - - Pointer timestamptz_to_stbox(long t); - - Pointer tstzset_to_stbox(Pointer s); - - Pointer tstzspan_to_stbox(Pointer s); - - Pointer tstzspanset_to_stbox(Pointer ss); - - double stbox_area(Pointer box, boolean spheroid); - - int stbox_hash(Pointer box); - - int stbox_hash_extended(Pointer box, int seed); - - boolean stbox_hast(Pointer box); - - boolean stbox_hasx(Pointer box); - - boolean stbox_hasz(Pointer box); - - boolean stbox_isgeodetic(Pointer box); - - double stbox_perimeter(Pointer box, boolean spheroid); - - boolean stbox_tmax(Pointer box, Pointer result); - - boolean stbox_tmax_inc(Pointer box, Pointer result); - - boolean stbox_tmin(Pointer box, Pointer result); - - boolean stbox_tmin_inc(Pointer box, Pointer result); - - double stbox_volume(Pointer box); - - boolean stbox_xmax(Pointer box, Pointer result); - - boolean stbox_xmin(Pointer box, Pointer result); - - boolean stbox_ymax(Pointer box, Pointer result); - - boolean stbox_ymin(Pointer box, Pointer result); - - boolean stbox_zmax(Pointer box, Pointer result); - - boolean stbox_zmin(Pointer box, Pointer result); - - Pointer stbox_expand_space(Pointer box, double d); - - Pointer stbox_expand_time(Pointer box, Pointer interv); - - Pointer stbox_get_space(Pointer box); - - Pointer stbox_quad_split(Pointer box, Pointer count); - - Pointer stbox_round(Pointer box, int maxdd); - - Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); - - Pointer stboxarr_round(Pointer boxarr, int count, int maxdd); - - Pointer stbox_set_srid(Pointer box, int srid); - - int stbox_srid(Pointer box); - - Pointer stbox_transform(Pointer box, int srid); - - Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward); - - boolean adjacent_stbox_stbox(Pointer box1, Pointer box2); - - boolean contained_stbox_stbox(Pointer box1, Pointer box2); - - boolean contains_stbox_stbox(Pointer box1, Pointer box2); - - boolean overlaps_stbox_stbox(Pointer box1, Pointer box2); - - boolean same_stbox_stbox(Pointer box1, Pointer box2); - - boolean above_stbox_stbox(Pointer box1, Pointer box2); - - boolean after_stbox_stbox(Pointer box1, Pointer box2); - - boolean back_stbox_stbox(Pointer box1, Pointer box2); - - boolean before_stbox_stbox(Pointer box1, Pointer box2); - - boolean below_stbox_stbox(Pointer box1, Pointer box2); - - boolean front_stbox_stbox(Pointer box1, Pointer box2); - - boolean left_stbox_stbox(Pointer box1, Pointer box2); - - boolean overabove_stbox_stbox(Pointer box1, Pointer box2); - - boolean overafter_stbox_stbox(Pointer box1, Pointer box2); - - boolean overback_stbox_stbox(Pointer box1, Pointer box2); - - boolean overbefore_stbox_stbox(Pointer box1, Pointer box2); - - boolean overbelow_stbox_stbox(Pointer box1, Pointer box2); - - boolean overfront_stbox_stbox(Pointer box1, Pointer box2); - - boolean overleft_stbox_stbox(Pointer box1, Pointer box2); - - boolean overright_stbox_stbox(Pointer box1, Pointer box2); - - boolean right_stbox_stbox(Pointer box1, Pointer box2); - - Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict); - - Pointer intersection_stbox_stbox(Pointer box1, Pointer box2); - - int stbox_cmp(Pointer box1, Pointer box2); - - boolean stbox_eq(Pointer box1, Pointer box2); - - boolean stbox_ge(Pointer box1, Pointer box2); - - boolean stbox_gt(Pointer box1, Pointer box2); - - boolean stbox_le(Pointer box1, Pointer box2); - - boolean stbox_lt(Pointer box1, Pointer box2); - - boolean stbox_ne(Pointer box1, Pointer box2); - - String tspatial_out(Pointer temp, int maxdd); - - Pointer tgeogpoint_from_mfjson(String str); - - Pointer tgeogpoint_in(String str); - - Pointer tgeography_from_mfjson(String mfjson); - - Pointer tgeography_in(String str); - - Pointer tgeometry_from_mfjson(String str); - - Pointer tgeometry_in(String str); - - Pointer tgeompoint_from_mfjson(String str); - - Pointer tgeompoint_in(String str); - - String tspatial_as_ewkt(Pointer temp, int maxdd); - - String tspatial_as_text(Pointer temp, int maxdd); - - Pointer tgeo_from_base_temp(Pointer gs, Pointer temp); - - Pointer tgeoinst_make(Pointer gs, long t); - - Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s); - - Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); - - Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); - - Pointer tpoint_from_base_temp(Pointer gs, Pointer temp); - - Pointer tpointinst_make(Pointer gs, long t); - - Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s); - - Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); - - Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); - - Pointer box3d_to_stbox(Pointer box); - - Pointer gbox_to_stbox(Pointer box); - - Pointer geomeas_to_tpoint(Pointer gs); - - Pointer tgeogpoint_to_tgeography(Pointer temp); - - Pointer tgeography_to_tgeogpoint(Pointer temp); - - Pointer tgeography_to_tgeometry(Pointer temp); - - Pointer tgeometry_to_tgeography(Pointer temp); - - Pointer tgeometry_to_tgeompoint(Pointer temp); - - Pointer tgeompoint_to_tgeometry(Pointer temp); - - Pointer tpoint_as_mvtgeom(Pointer _sret, Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom); - - boolean tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize, Pointer result); - - Pointer tspatial_to_stbox(Pointer temp); - - boolean bearing_point_point(Pointer gs1, Pointer gs2, Pointer result); - - Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert); - - Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2); - - Pointer tgeo_centroid(Pointer temp); - - Pointer tgeo_convex_hull(Pointer temp); - - Pointer tgeo_end_value(Pointer temp); - - Pointer tgeo_start_value(Pointer temp); - - Pointer tgeo_traversed_area(Pointer temp, boolean unary_union); - - boolean tgeo_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tgeo_value_n(Pointer temp, int n, Pointer result); - - Pointer tgeo_values(Pointer temp, Pointer count); - - Pointer tpoint_angular_difference(Pointer temp); - - Pointer tpoint_azimuth(Pointer temp); - - Pointer tpoint_cumulative_length(Pointer temp); - - boolean tpoint_direction(Pointer temp, Pointer result); - - Pointer tpoint_get_x(Pointer temp); - - Pointer tpoint_get_y(Pointer temp); - - Pointer tpoint_get_z(Pointer temp); - - boolean tpoint_is_simple(Pointer temp); - - double tpoint_length(Pointer temp); - - Pointer tpoint_speed(Pointer temp); - - Pointer tpoint_trajectory(Pointer temp, boolean unary_union); - - Pointer tpoint_twcentroid(Pointer temp); - - Pointer tgeo_affine(Pointer temp, Pointer a); - - Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin); - - Pointer tpoint_make_simple(Pointer temp, Pointer count); - - int tspatial_srid(Pointer temp); - - Pointer tspatial_set_srid(Pointer temp, int srid); - - Pointer tspatial_transform(Pointer temp, int srid); - - Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward); - - Pointer tgeo_at_geom(Pointer temp, Pointer gs); - - Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tgeo_at_value(Pointer temp, Pointer gs); - - Pointer tgeo_minus_geom(Pointer temp, Pointer gs); - - Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tgeo_minus_value(Pointer temp, Pointer gs); - - Pointer tpoint_at_elevation(Pointer temp, Pointer s); - - Pointer tpoint_at_geom(Pointer temp, Pointer gs); - - Pointer tpoint_at_value(Pointer temp, Pointer gs); - - Pointer tpoint_minus_elevation(Pointer temp, Pointer s); - - Pointer tpoint_minus_geom(Pointer temp, Pointer gs); - - Pointer tpoint_minus_value(Pointer temp, Pointer gs); - - int always_eq_geo_tgeo(Pointer gs, Pointer temp); - - int always_eq_tgeo_geo(Pointer temp, Pointer gs); - - int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int always_ne_geo_tgeo(Pointer gs, Pointer temp); - - int always_ne_tgeo_geo(Pointer temp, Pointer gs); - - int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ever_eq_geo_tgeo(Pointer gs, Pointer temp); - - int ever_eq_tgeo_geo(Pointer temp, Pointer gs); - - int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ever_ne_geo_tgeo(Pointer gs, Pointer temp); - - int ever_ne_tgeo_geo(Pointer temp, Pointer gs); - - int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer teq_geo_tgeo(Pointer gs, Pointer temp); - - Pointer teq_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tne_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tne_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tgeo_stboxes(Pointer temp, Pointer count); - - Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count); - - Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count); - - boolean adjacent_stbox_tspatial(Pointer box, Pointer temp); - - boolean adjacent_tspatial_stbox(Pointer temp, Pointer box); - - boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean contained_stbox_tspatial(Pointer box, Pointer temp); - - boolean contained_tspatial_stbox(Pointer temp, Pointer box); - - boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean contains_stbox_tspatial(Pointer box, Pointer temp); - - boolean contains_tspatial_stbox(Pointer temp, Pointer box); - - boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overlaps_stbox_tspatial(Pointer box, Pointer temp); - - boolean overlaps_tspatial_stbox(Pointer temp, Pointer box); - - boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean same_stbox_tspatial(Pointer box, Pointer temp); - - boolean same_tspatial_stbox(Pointer temp, Pointer box); - - boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean above_stbox_tspatial(Pointer box, Pointer temp); - - boolean above_tspatial_stbox(Pointer temp, Pointer box); - - boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean after_stbox_tspatial(Pointer box, Pointer temp); - - boolean after_tspatial_stbox(Pointer temp, Pointer box); - - boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean back_stbox_tspatial(Pointer box, Pointer temp); - - boolean back_tspatial_stbox(Pointer temp, Pointer box); - - boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean before_stbox_tspatial(Pointer box, Pointer temp); - - boolean before_tspatial_stbox(Pointer temp, Pointer box); - - boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean below_stbox_tspatial(Pointer box, Pointer temp); - - boolean below_tspatial_stbox(Pointer temp, Pointer box); - - boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean front_stbox_tspatial(Pointer box, Pointer temp); - - boolean front_tspatial_stbox(Pointer temp, Pointer box); - - boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean left_stbox_tspatial(Pointer box, Pointer temp); - - boolean left_tspatial_stbox(Pointer temp, Pointer box); - - boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overabove_stbox_tspatial(Pointer box, Pointer temp); - - boolean overabove_tspatial_stbox(Pointer temp, Pointer box); - - boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overafter_stbox_tspatial(Pointer box, Pointer temp); - - boolean overafter_tspatial_stbox(Pointer temp, Pointer box); - - boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overback_stbox_tspatial(Pointer box, Pointer temp); - - boolean overback_tspatial_stbox(Pointer temp, Pointer box); - - boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overbefore_stbox_tspatial(Pointer box, Pointer temp); - - boolean overbefore_tspatial_stbox(Pointer temp, Pointer box); - - boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overbelow_stbox_tspatial(Pointer box, Pointer temp); - - boolean overbelow_tspatial_stbox(Pointer temp, Pointer box); - - boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overfront_stbox_tspatial(Pointer box, Pointer temp); - - boolean overfront_tspatial_stbox(Pointer temp, Pointer box); - - boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overleft_stbox_tspatial(Pointer box, Pointer temp); - - boolean overleft_tspatial_stbox(Pointer temp, Pointer box); - - boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overright_stbox_tspatial(Pointer box, Pointer temp); - - boolean overright_tspatial_stbox(Pointer temp, Pointer box); - - boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean right_stbox_tspatial(Pointer box, Pointer temp); - - boolean right_tspatial_stbox(Pointer temp, Pointer box); - - boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2); - - int acontains_geo_tgeo(Pointer gs, Pointer temp); - - int acontains_tgeo_geo(Pointer temp, Pointer gs); - - int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int acovers_geo_tgeo(Pointer gs, Pointer temp); - - int acovers_tgeo_geo(Pointer temp, Pointer gs); - - int acovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int adisjoint_tgeo_geo(Pointer temp, Pointer gs); - - int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - int aintersects_tgeo_geo(Pointer temp, Pointer gs); - - int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int atouches_tgeo_geo(Pointer temp, Pointer gs); - - int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int atouches_tpoint_geo(Pointer temp, Pointer gs); - - int econtains_geo_tgeo(Pointer gs, Pointer temp); - - int econtains_tgeo_geo(Pointer temp, Pointer gs); - - int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ecovers_geo_tgeo(Pointer gs, Pointer temp); - - int ecovers_tgeo_geo(Pointer temp, Pointer gs); - - int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int edisjoint_tgeo_geo(Pointer temp, Pointer gs); - - int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - int eintersects_tgeo_geo(Pointer temp, Pointer gs); - - int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int etouches_tgeo_geo(Pointer temp, Pointer gs); - - int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int etouches_tpoint_geo(Pointer temp, Pointer gs); - - Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist); - - Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp); - - Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs); - - Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2); - - double nad_stbox_geo(Pointer box, Pointer gs); - - double nad_stbox_stbox(Pointer box1, Pointer box2); - - double nad_tgeo_geo(Pointer temp, Pointer gs); - - double nad_tgeo_stbox(Pointer temp, Pointer box); - - double nad_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer nai_tgeo_geo(Pointer temp, Pointer gs); - - Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2); - - double mindistance_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2); - - double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold); - - Pointer edwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count); - - Pointer tdwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count, Pointer periods); - - Pointer adisjoint_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, Pointer count); - - Pointer tpoint_tcentroid_finalfn(Pointer state); - - Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp); - - Pointer tspatial_extent_transfn(Pointer box, Pointer temp); - - Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin); - - Pointer stbox_get_space_time_tile(Pointer point, long t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin); - - Pointer stbox_get_time_tile(long t, Pointer duration, long torigin); - - Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count); - - Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean border_inc, Pointer count); - - Pointer stbox_time_tiles(Pointer bounds, Pointer duration, long torigin, boolean border_inc, Pointer count); - - Pointer tgeo_space_split(Pointer _sret, Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc); - - Pointer tgeo_space_time_split(Pointer _sret, Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc); - - Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k, Pointer count); - - Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count); - - Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count); - - Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count); - - Pointer geo_wlof(Pointer geoms, int ngeoms, int k, double epsilon, Pointer newcount, Pointer clusters); - - String cbuffer_as_ewkt(Pointer cb, int maxdd); - - String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size); - - String cbuffer_as_text(Pointer cb, int maxdd); - - Pointer cbuffer_as_wkb(Pointer cb, byte variant, Pointer size_out); - - Pointer cbuffer_from_hexwkb(String hexwkb); - - Pointer cbuffer_from_wkb(Pointer wkb, long size); - - Pointer cbuffer_in(String str); - - String cbuffer_out(Pointer cb, int maxdd); - - Pointer cbuffer_copy(Pointer cb); - - Pointer cbuffer_make(Pointer point, double radius); - - Pointer cbuffer_to_geom(Pointer cb); - - Pointer cbuffer_to_stbox(Pointer cb); - - Pointer cbufferarr_to_geom(Pointer cbarr, int count); - - Pointer geom_to_cbuffer(Pointer gs); - - int cbuffer_hash(Pointer cb); - - int cbuffer_hash_extended(Pointer cb, int seed); - - Pointer cbuffer_point(Pointer cb); - - double cbuffer_radius(Pointer cb); - - Pointer cbuffer_round(Pointer cb, int maxdd); - - Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd); - - void cbuffer_set_srid(Pointer cb, int srid); - - int cbuffer_srid(Pointer cb); - - Pointer cbuffer_transform(Pointer cb, int srid); - - Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward); - - int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist); - - int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s); - - Pointer cbuffer_timestamptz_to_stbox(Pointer cb, long t); - - double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - double distance_cbuffer_geo(Pointer cb, Pointer gs); - - double distance_cbuffer_stbox(Pointer cb, Pointer box); - - double nad_cbuffer_stbox(Pointer cb, Pointer box); - - int cbuffer_cmp(Pointer cb1, Pointer cb2); - - boolean cbuffer_eq(Pointer cb1, Pointer cb2); - - boolean cbuffer_ge(Pointer cb1, Pointer cb2); - - boolean cbuffer_gt(Pointer cb1, Pointer cb2); - - boolean cbuffer_le(Pointer cb1, Pointer cb2); - - boolean cbuffer_lt(Pointer cb1, Pointer cb2); - - boolean cbuffer_ne(Pointer cb1, Pointer cb2); - - boolean cbuffer_nsame(Pointer cb1, Pointer cb2); - - boolean cbuffer_same(Pointer cb1, Pointer cb2); - - Pointer cbufferset_in(String str); - - String cbufferset_out(Pointer s, int maxdd); - - Pointer cbufferset_make(Pointer values, int count); - - Pointer cbuffer_to_set(Pointer cb); - - Pointer cbufferset_end_value(Pointer s); - - Pointer cbufferset_start_value(Pointer s); - - boolean cbufferset_value_n(Pointer s, int n, Pointer result); - - Pointer cbufferset_values(Pointer s, Pointer count); - - Pointer cbuffer_union_transfn(Pointer state, Pointer cb); - - boolean contained_cbuffer_set(Pointer cb, Pointer s); - - boolean contains_set_cbuffer(Pointer s, Pointer cb); - - Pointer intersection_cbuffer_set(Pointer cb, Pointer s); - - Pointer intersection_set_cbuffer(Pointer s, Pointer cb); - - Pointer minus_cbuffer_set(Pointer cb, Pointer s); - - Pointer minus_set_cbuffer(Pointer s, Pointer cb); - - Pointer union_cbuffer_set(Pointer cb, Pointer s); - - Pointer union_set_cbuffer(Pointer s, Pointer cb); - - Pointer tcbuffer_in(String str); - - Pointer tcbuffer_from_mfjson(String mfjson); - - Pointer tcbufferinst_make(Pointer cb, long t); - - Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat); - - Pointer tcbuffer_from_base_temp(Pointer cb, Pointer temp); - - Pointer tcbufferseq_from_base_tstzset(Pointer cb, Pointer s); - - Pointer tcbufferseq_from_base_tstzspan(Pointer cb, Pointer s, int interp); - - Pointer tcbufferseqset_from_base_tstzspanset(Pointer cb, Pointer ss, int interp); - - Pointer tcbuffer_end_value(Pointer temp); - - Pointer tcbuffer_points(Pointer temp); - - Pointer tcbuffer_radius(Pointer temp); - - Pointer tcbuffer_traversed_area(Pointer temp, boolean unary_union); - - Pointer tcbuffer_convex_hull(Pointer temp); - - Pointer tcbuffer_start_value(Pointer temp); - - boolean tcbuffer_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tcbuffer_value_n(Pointer temp, int n, Pointer result); - - Pointer tcbuffer_values(Pointer temp, Pointer count); - - Pointer tcbuffer_to_tfloat(Pointer temp); - - Pointer tcbuffer_to_tgeompoint(Pointer temp); - - Pointer tgeometry_to_tcbuffer(Pointer temp); - - Pointer tcbuffer_expand(Pointer temp, double dist); - - Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb); - - Pointer tcbuffer_at_geom(Pointer temp, Pointer gs); - - Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb); - - Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs); - - Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - double nad_tcbuffer_geo(Pointer temp, Pointer gs); - - double nad_tcbuffer_stbox(Pointer temp, Pointer box); - - double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - double mindistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double threshold); - - Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int acontains_geo_tcbuffer(Pointer gs, Pointer temp); - - int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int acontains_tcbuffer_geo(Pointer temp, Pointer gs); - - int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int acovers_geo_tcbuffer(Pointer gs, Pointer temp); - - int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int acovers_tcbuffer_geo(Pointer temp, Pointer gs); - - int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs); - - int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); - - int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); - - int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); - - int aintersects_tcbuffer_geo(Pointer temp, Pointer gs); - - int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int atouches_tcbuffer_geo(Pointer temp, Pointer gs); - - int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int econtains_tcbuffer_geo(Pointer temp, Pointer gs); - - int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - int ecovers_geo_tcbuffer(Pointer gs, Pointer temp); - - int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int ecovers_tcbuffer_geo(Pointer temp, Pointer gs); - - int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs); - - int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); - - int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); - - int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); - - int eintersects_tcbuffer_geo(Pointer temp, Pointer gs); - - int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int etouches_tcbuffer_geo(Pointer temp, Pointer gs); - - int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist); - - Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist); - - Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist); - - Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist); - - Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp); - - Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs); - - Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp); - - Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - boolean ensure_valid_cbuffer_cbuffer(Pointer cb1, Pointer cb2); - - boolean ensure_valid_cbuffer_geo(Pointer cb, Pointer gs); - - boolean ensure_valid_cbuffer_stbox(Pointer cb, Pointer box); - - boolean ensure_valid_cbufferset_cbuffer(Pointer s, Pointer cb); - - boolean cbuffer_collinear(Pointer cb1, Pointer cb2, Pointer cbuf3, double ratio); - - Pointer cbuffersegm_interpolate(Pointer start, Pointer end, Pointer ratio); - - Pointer cbuffersegm_locate(Pointer start, Pointer end, Pointer value); - - Pointer cbuffer_parse(Pointer str, boolean end); - - String cbuffer_wkt_out(Pointer value, int maxdd, boolean extended); - - Pointer cbuffer_point_p(Pointer cb); - - Pointer datum_cbuffer_round(Pointer buffer, Pointer size); - - Pointer cbuffer_transf_pj(Pointer cb, int srid_to, Pointer pj); - - double cbuffer_distance(Pointer cb1, Pointer cb2); - - Pointer datum_cbuffer_distance(Pointer cb1, Pointer cb2); - - int cbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); - - int cbuffer_contains(Pointer cb1, Pointer cb2); - - int cbuffer_covers(Pointer cb1, Pointer cb2); - - int cbuffer_disjoint(Pointer cb1, Pointer cb2); - - int cbuffer_intersects(Pointer cb1, Pointer cb2); - - int cbuffer_dwithin(Pointer cb1, Pointer cb2, double dist); - - int cbuffer_touches(Pointer cb1, Pointer cb2); - - Pointer datum_cbuffer_contains(Pointer cb1, Pointer cb2); - - Pointer datum_cbuffer_covers(Pointer cb1, Pointer cb2); - - Pointer datum_cbuffer_disjoint(Pointer cb1, Pointer cb2); - - Pointer datum_cbuffer_intersects(Pointer cb1, Pointer cb2); - - Pointer datum_cbuffer_dwithin(Pointer cb1, Pointer cb2, Pointer dist); - - Pointer datum_cbuffer_touches(Pointer cb1, Pointer cb2); - - boolean temptype_subtype(int subtype); - - boolean temptype_subtype_all(int subtype); - - String tempsubtype_name(int subtype); - - boolean tempsubtype_from_string(String str, Pointer subtype); - - String meosoper_name(int oper); - - int meosoper_from_string(String name); - - String interptype_name(int interp); - - int interptype_from_string(String interp_str); - - int meos_typeof_hexwkb(String hexwkb); - - String meostype_name(int type); - - int temptype_basetype(int type); - - int settype_basetype(int type); - - int spantype_basetype(int type); - - int spantype_spansettype(int type); - - int spansettype_spantype(int type); - - int basetype_spantype(int type); - - int basetype_settype(int type); - - boolean tnumber_basetype(int type); - - boolean geo_basetype(int type); - - boolean meos_basetype(int type); - - boolean alphanum_basetype(int type); - - boolean alphanum_temptype(int type); - - boolean time_type(int type); - - boolean set_basetype(int type); - - boolean set_type(int type); - - boolean numset_type(int type); - - boolean ensure_numset_type(int type); - - boolean timeset_type(int type); - - boolean set_spantype(int type); - - boolean ensure_set_spantype(int type); - - boolean alphanumset_type(int settype); - - boolean geoset_type(int type); - - boolean ensure_geoset_type(int type); - - boolean spatialset_type(int type); - - boolean ensure_spatialset_type(int type); - - boolean span_basetype(int type); - - boolean span_canon_basetype(int type); - - boolean span_type(int type); - - boolean type_span_bbox(int type); - - boolean span_tbox_type(int type); - - boolean ensure_span_tbox_type(int type); - - boolean numspan_basetype(int type); - - boolean numspan_type(int type); - - boolean ensure_numspan_type(int type); - - boolean timespan_basetype(int type); - - boolean timespan_type(int type); - - boolean spanset_type(int type); - - boolean timespanset_type(int type); - - boolean ensure_timespanset_type(int type); - - boolean temporal_type(int type); - - boolean temporal_basetype(int type); - - boolean temptype_supports_linear(int type); - - boolean basetype_byvalue(int type); - - boolean basetype_varlength(int type); - - short meostype_length(int type); - - boolean talphanum_type(int type); - - boolean talpha_type(int type); - - boolean tnumber_type(int type); - - boolean ensure_tnumber_type(int type); - - boolean ensure_tnumber_basetype(int type); - - boolean tnumber_spantype(int type); - - boolean spatial_basetype(int type); - - boolean tspatial_type(int type); - - boolean ensure_tspatial_type(int type); - - boolean tpoint_type(int type); - - boolean ensure_tpoint_type(int type); - - boolean tgeo_type(int type); - - boolean ensure_tgeo_type(int type); - - boolean tgeo_type_all(int type); - - boolean ensure_tgeo_type_all(int type); - - boolean tgeometry_type(int type); - - boolean ensure_tgeometry_type(int type); - - boolean tgeodetic_type(int type); - - boolean ensure_tgeodetic_type(int type); - - boolean ensure_tnumber_tpoint_type(int type); - - Pointer gsl_get_generation_rng(); - - Pointer gsl_get_aggregation_rng(); - - Pointer datum_ceil(Pointer d); - - Pointer datum_degrees(Pointer d, Pointer normalize); - - Pointer datum_float_round(Pointer value, Pointer size); - - Pointer datum_floor(Pointer d); - - int datum_hash(Pointer d, int basetype); - - int datum_hash_extended(Pointer d, int basetype, int seed); - - Pointer datum_radians(Pointer d); - - void floatspan_round_set(Pointer s, int maxdd, Pointer result); - - Pointer set_in(String str, int basetype); - - String set_out(Pointer s, int maxdd); - - Pointer span_in(String str, int spantype); - - String span_out(Pointer s, int maxdd); - - Pointer spanset_in(String str, int spantype); - - String spanset_out(Pointer ss, int maxdd); - - Pointer set_make(Pointer values, int count, int basetype, boolean order); - - Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order); - - Pointer set_make_free(Pointer values, int count, int basetype, boolean order); - - Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype); - - void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer result); - - Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order); - - Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order); - - Pointer set_span(Pointer s); - - Pointer set_spanset(Pointer s); - - void value_set_span(Pointer value, int basetype, Pointer result); - - Pointer value_set(Pointer d, int basetype); - - Pointer value_span(Pointer d, int basetype); - - Pointer value_spanset(Pointer d, int basetype); - - Pointer numspan_width(Pointer s); - - Pointer numspanset_width(Pointer ss, boolean boundspan); - - Pointer set_end_value(Pointer s); - - int set_mem_size(Pointer s); - - void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result); - - void set_set_span(Pointer s, Pointer result); - - Pointer set_start_value(Pointer s); - - boolean set_value_n(Pointer s, int n, Pointer result); - - Pointer set_vals(Pointer s, Pointer count); - - Pointer set_values(Pointer s, Pointer count); - - Pointer spanset_lower(Pointer ss); - - int spanset_mem_size(Pointer ss); - - Pointer spanset_sps(Pointer ss, Pointer count); - - Pointer spanset_upper(Pointer ss); - - void bigintspan_set_floatspan(Pointer s1, Pointer s2); - - void bigintspan_set_intspan(Pointer s1, Pointer s2); - - void datespan_set_tstzspan(Pointer s1, Pointer s2); - - void floatspan_set_bigintspan(Pointer s1, Pointer s2); - - void floatspan_set_intspan(Pointer s1, Pointer s2); - - void intspan_set_bigintspan(Pointer s1, Pointer s2); - - void intspan_set_floatspan(Pointer s1, Pointer s2); - - Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer numspan_expand(Pointer s, Pointer value); - - Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer set_compact(Pointer s); - - void span_expand(Pointer s1, Pointer s2); - - Pointer spanset_compact(Pointer ss); - - Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp); - - Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert); - - void tstzspan_set_datespan(Pointer s1, Pointer s2); - - boolean adjacent_span_value(Pointer s, Pointer value); - - boolean adjacent_spanset_value(Pointer ss, Pointer value); - - boolean adjacent_value_spanset(Pointer value, Pointer ss); - - boolean contained_value_set(Pointer value, Pointer s); - - boolean contained_value_span(Pointer value, Pointer s); - - boolean contained_value_spanset(Pointer value, Pointer ss); - - boolean contains_set_value(Pointer s, Pointer value); - - boolean contains_span_value(Pointer s, Pointer value); - - boolean contains_spanset_value(Pointer ss, Pointer value); - - boolean ovadj_span_span(Pointer s1, Pointer s2); - - boolean left_set_value(Pointer s, Pointer value); - - boolean left_span_value(Pointer s, Pointer value); - - boolean left_spanset_value(Pointer ss, Pointer value); - - boolean left_value_set(Pointer value, Pointer s); - - boolean left_value_span(Pointer value, Pointer s); - - boolean left_value_spanset(Pointer value, Pointer ss); - - boolean lfnadj_span_span(Pointer s1, Pointer s2); - - boolean overleft_set_value(Pointer s, Pointer value); - - boolean overleft_span_value(Pointer s, Pointer value); - - boolean overleft_spanset_value(Pointer ss, Pointer value); - - boolean overleft_value_set(Pointer value, Pointer s); - - boolean overleft_value_span(Pointer value, Pointer s); - - boolean overleft_value_spanset(Pointer value, Pointer ss); - - boolean overright_set_value(Pointer s, Pointer value); - - boolean overright_span_value(Pointer s, Pointer value); - - boolean overright_spanset_value(Pointer ss, Pointer value); - - boolean overright_value_set(Pointer value, Pointer s); - - boolean overright_value_span(Pointer value, Pointer s); - - boolean overright_value_spanset(Pointer value, Pointer ss); - - boolean right_value_set(Pointer value, Pointer s); - - boolean right_set_value(Pointer s, Pointer value); - - boolean right_value_span(Pointer value, Pointer s); - - boolean right_value_spanset(Pointer value, Pointer ss); - - boolean right_span_value(Pointer s, Pointer value); - - boolean right_spanset_value(Pointer ss, Pointer value); - - boolean bbox_type(int bboxtype); - - long bbox_get_size(int bboxtype); - - int bbox_max_dims(int bboxtype); - - boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype); - - int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype); - - void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result); - - boolean inter_span_span(Pointer s1, Pointer s2, Pointer result); - - Pointer intersection_set_value(Pointer s, Pointer value); - - Pointer intersection_span_value(Pointer s, Pointer value); - - Pointer intersection_spanset_value(Pointer ss, Pointer value); - - Pointer intersection_value_set(Pointer value, Pointer s); - - Pointer intersection_value_span(Pointer value, Pointer s); - - Pointer intersection_value_spanset(Pointer value, Pointer ss); - - int mi_span_span(Pointer s1, Pointer s2, Pointer result); - - Pointer minus_set_value(Pointer s, Pointer value); - - Pointer minus_span_value(Pointer s, Pointer value); - - Pointer minus_spanset_value(Pointer ss, Pointer value); - - Pointer minus_value_set(Pointer value, Pointer s); - - Pointer minus_value_span(Pointer value, Pointer s); - - Pointer minus_value_spanset(Pointer value, Pointer ss); - - Pointer union_set_value(Pointer s, Pointer value); - - Pointer union_span_value(Pointer s, Pointer value); - - Pointer union_spanset_value(Pointer ss, Pointer value); - - Pointer union_value_set(Pointer value, Pointer s); - - Pointer union_value_span(Pointer value, Pointer s); - - Pointer union_value_spanset(Pointer value, Pointer ss); - - Pointer distance_set_set(Pointer s1, Pointer s2); - - Pointer distance_set_value(Pointer s, Pointer value); - - Pointer distance_span_span(Pointer s1, Pointer s2); - - Pointer distance_span_value(Pointer s, Pointer value); - - } - - public interface MeosLibraryPartC { - - Pointer distance_spanset_span(Pointer ss, Pointer s); - - Pointer distance_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer distance_spanset_value(Pointer ss, Pointer value); - - Pointer distance_value_value(Pointer l, Pointer r, int basetype); - - Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype); - - Pointer value_union_transfn(Pointer state, Pointer value, int basetype); - - Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s); - - Pointer number_timestamptz_to_tbox(Pointer d, int basetype, long t); - - void tbox_set(Pointer s, Pointer p, Pointer result); - - void float_set_tbox(double d, Pointer result); - - void int_set_tbox(int i, Pointer result); - - void number_set_tbox(Pointer d, int basetype, Pointer result); - - Pointer number_tbox(Pointer value, int basetype); - - void numset_set_tbox(Pointer s, Pointer result); - - void numspan_set_tbox(Pointer span, Pointer result); - - void timestamptz_set_tbox(long t, Pointer result); - - void tstzset_set_tbox(Pointer s, Pointer result); - - void tstzspan_set_tbox(Pointer s, Pointer result); - - Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - void tbox_expand(Pointer box1, Pointer box2); - - boolean inter_tbox_tbox(Pointer box1, Pointer box2, Pointer result); - - Pointer tboolinst_from_mfjson(Pointer mfjson); - - Pointer tboolinst_in(String str); - - Pointer tboolseq_from_mfjson(Pointer mfjson); - - Pointer tboolseq_in(String str, int interp); - - Pointer tboolseqset_from_mfjson(Pointer mfjson); - - Pointer tboolseqset_in(String str); - - Pointer temporal_in(String str, int temptype); - - String temporal_out(Pointer temp, int maxdd); - - Pointer temparr_out(Pointer temparr, int count, int maxdd); - - Pointer tfloatinst_from_mfjson(Pointer mfjson); - - Pointer tfloatinst_in(String str); - - Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp); - - Pointer tfloatseq_in(String str, int interp); - - Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp); - - Pointer tfloatseqset_in(String str); - - Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype); - - Pointer tinstant_in(String str, int temptype); - - String tinstant_out(Pointer inst, int maxdd); - - Pointer tbigintinst_from_mfjson(Pointer mfjson); - - Pointer tbigintinst_in(String str); - - Pointer tbigintseq_from_mfjson(Pointer mfjson); - - Pointer tbigintseqset_from_mfjson(Pointer mfjson); - - Pointer tbigintseqset_in(String str); - - Pointer tintinst_from_mfjson(Pointer mfjson); - - Pointer tintinst_in(String str); - - Pointer tintseq_from_mfjson(Pointer mfjson); - - Pointer tintseq_in(String str, int interp); - - Pointer tintseqset_from_mfjson(Pointer mfjson); - - Pointer tintseqset_in(String str); - - Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); - - Pointer tsequence_in(String str, int temptype, int interp); - - String tsequence_out(Pointer seq, int maxdd); - - Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp); - - Pointer tsequenceset_in(String str, int temptype, int interp); - - String tsequenceset_out(Pointer ss, int maxdd); - - Pointer ttextinst_from_mfjson(Pointer mfjson); - - Pointer ttextinst_in(String str); - - Pointer ttextseq_from_mfjson(Pointer mfjson); - - Pointer ttextseq_in(String str, int interp); - - Pointer ttextseqset_from_mfjson(Pointer mfjson); - - Pointer ttextseqset_in(String str); - - Pointer temporal_from_mfjson(String mfjson, int temptype); - - Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp); - - Pointer tinstant_copy(Pointer inst); - - Pointer tinstant_make(Pointer value, int temptype, long t); - - Pointer tinstant_make_free(Pointer value, int temptype, long t); - - Pointer tsequence_copy(Pointer seq); - - Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq); - - Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s); - - Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp); - - Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequenceset_copy(Pointer ss); - - Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs); - - Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss); - - Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp); - - Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize); - - Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize); - - void temporal_set_tstzspan(Pointer temp, Pointer result); - - void tinstant_set_tstzspan(Pointer inst, Pointer result); - - void tnumber_set_tbox(Pointer temp, Pointer result); - - void tnumberinst_set_tbox(Pointer inst, Pointer result); - - void tnumberseq_set_tbox(Pointer seq, Pointer result); - - void tnumberseqset_set_tbox(Pointer ss, Pointer result); - - void tsequence_set_tstzspan(Pointer seq, Pointer result); - - void tsequenceset_set_tstzspan(Pointer ss, Pointer result); - - Pointer temporal_end_inst(Pointer temp); - - Pointer temporal_end_value(Pointer temp); - - Pointer temporal_inst_n(Pointer temp, int n); - - Pointer temporal_insts_p(Pointer temp, Pointer count); - - Pointer temporal_max_inst_p(Pointer temp); - - Pointer temporal_max_value(Pointer temp); - - long temporal_mem_size(Pointer temp); - - Pointer temporal_min_inst_p(Pointer temp); - - Pointer temporal_min_value(Pointer temp); - - Pointer temporal_sequences_p(Pointer temp, Pointer count); - - void temporal_set_bbox(Pointer temp, Pointer result); - - Pointer temporal_start_inst(Pointer temp); - - Pointer temporal_start_value(Pointer temp); - - Pointer temporal_values_p(Pointer temp, Pointer count); - - boolean temporal_value_n(Pointer temp, int n, Pointer result); - - Pointer temporal_values(Pointer temp, Pointer count); - - int tinstant_hash(Pointer inst); - - Pointer tinstant_insts(Pointer inst, Pointer count); - - void tinstant_set_bbox(Pointer inst, Pointer result); - - Pointer tinstant_time(Pointer inst); - - Pointer tinstant_timestamps(Pointer inst, Pointer count); - - Pointer tinstant_value_p(Pointer inst); - - Pointer tinstant_value(Pointer inst); - - boolean tinstant_value_at_timestamptz(Pointer inst, long t, Pointer result); - - Pointer tinstant_values_p(Pointer inst, Pointer count); - - void tnumber_set_span(Pointer temp, Pointer result); - - Pointer tnumberinst_valuespans(Pointer inst); - - double tnumberseq_avg_val(Pointer seq); - - Pointer tnumberseq_valuespans(Pointer seq); - - double tnumberseqset_avg_val(Pointer ss); - - Pointer tnumberseqset_valuespans(Pointer ss); - - Pointer tsequence_duration(Pointer seq); - - long tsequence_end_timestamptz(Pointer seq); - - int tsequence_hash(Pointer seq); - - Pointer tsequence_insts_p(Pointer seq, Pointer count); - - Pointer tsequence_max_inst_p(Pointer seq); - - Pointer tsequence_max_val(Pointer seq); - - Pointer tsequence_min_inst_p(Pointer seq); - - Pointer tsequence_min_val(Pointer seq); - - Pointer tsequence_segments(Pointer seq, Pointer count); - - Pointer tsequence_seqs(Pointer seq, Pointer count); - - long tsequence_start_timestamptz(Pointer seq); - - Pointer tsequence_time(Pointer seq); - - Pointer tsequence_timestamps(Pointer seq, Pointer count); - - boolean tsequence_value_at_timestamptz(Pointer seq, long t, boolean strict, Pointer result); - - Pointer tsequence_values_p(Pointer seq, Pointer count); - - Pointer tsequenceset_duration(Pointer ss, boolean boundspan); - - long tsequenceset_end_timestamptz(Pointer ss); - - int tsequenceset_hash(Pointer ss); - - Pointer tsequenceset_inst_n(Pointer ss, int n); - - Pointer tsequenceset_insts_p(Pointer ss, Pointer count); - - Pointer tsequenceset_max_inst_p(Pointer ss); - - Pointer tsequenceset_max_val(Pointer ss); - - Pointer tsequenceset_min_inst_p(Pointer ss); - - Pointer tsequenceset_min_val(Pointer ss); - - int tsequenceset_num_instants(Pointer ss); - - int tsequenceset_num_timestamps(Pointer ss); - - Pointer tsequenceset_segments(Pointer ss, Pointer count); - - Pointer tsequenceset_sequences_p(Pointer ss, Pointer count); - - long tsequenceset_start_timestamptz(Pointer ss); - - Pointer tsequenceset_time(Pointer ss); - - boolean tsequenceset_timestamptz_n(Pointer ss, int n, Pointer result); - - Pointer tsequenceset_timestamps(Pointer ss, Pointer count); - - boolean tsequenceset_value_at_timestamptz(Pointer ss, long t, boolean strict, Pointer result); - - boolean tsequenceset_value_n(Pointer ss, int n, Pointer result); - - Pointer tsequenceset_values_p(Pointer ss, Pointer count); - - void temporal_restart(Pointer temp, int count); - - Pointer temporal_tsequence(Pointer temp, int interp); - - Pointer temporal_tsequenceset(Pointer temp, int interp); - - Pointer tinstant_shift_time(Pointer inst, Pointer interv); - - Pointer tinstant_to_tsequence(Pointer inst, int interp); - - Pointer tinstant_to_tsequence_free(Pointer inst, int interp); - - Pointer tinstant_to_tsequenceset(Pointer inst, int interp); - - Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer tnumberinst_shift_value(Pointer inst, Pointer shift); - - Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth); - - Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth); - - void tsequence_restart(Pointer seq, int count); - - Pointer tsequence_set_interp(Pointer seq, int interp); - - Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration); - - Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc); - - Pointer tsequence_to_tinstant(Pointer seq); - - Pointer tsequence_to_tsequenceset(Pointer seq); - - Pointer tsequence_to_tsequenceset_free(Pointer seq); - - Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp); - - void tsequenceset_restart(Pointer ss, int count); - - Pointer tsequenceset_set_interp(Pointer ss, int interp); - - Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration); - - Pointer tsequenceset_to_discrete(Pointer ss); - - Pointer tsequenceset_to_linear(Pointer ss); - - Pointer tsequenceset_to_step(Pointer ss); - - Pointer tsequenceset_to_tinstant(Pointer ss); - - Pointer tsequenceset_to_tsequence(Pointer ss); - - Pointer tinstant_merge(Pointer inst1, Pointer inst2); - - Pointer tinstant_merge_array(Pointer instants, int count); - - Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand); - - Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand); - - Pointer tsequence_delete_timestamptz(Pointer seq, long t, boolean connect); - - Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect); - - Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect); - - Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect); - - Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect); - - Pointer tsequence_merge(Pointer seq1, Pointer seq2); - - Pointer tsequence_merge_array(Pointer sequences, int count); - - Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand); - - Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand); - - Pointer tsequenceset_delete_timestamptz(Pointer ss, long t); - - Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s); - - Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s); - - Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps); - - Pointer tsequenceset_insert(Pointer ss1, Pointer ss2); - - Pointer tsequenceset_merge(Pointer ss1, Pointer ss2); - - Pointer tsequenceset_merge_array(Pointer seqsets, int count); - - void tsequence_expand_bbox(Pointer seq, Pointer inst); - - void tsequence_set_bbox(Pointer seq, Pointer result); - - void tsequenceset_expand_bbox(Pointer ss, Pointer seq); - - void tsequenceset_set_bbox(Pointer ss, Pointer result); - - Pointer tcontseq_after_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tcontseq_before_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); - - Pointer tdiscseq_after_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tdiscseq_before_timestamptz(Pointer seq, long t, boolean strict); - - Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc); - - boolean temporal_bbox_restrict_set(Pointer temp, Pointer set); - - Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc); - - Pointer temporal_restrict_timestamptz(Pointer temp, long t, boolean atfunc); - - Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); - - Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); - - Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); - - Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc); - - Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc); - - boolean temporal_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - Pointer tinstant_after_timestamptz(Pointer inst, long t, boolean strict); - - Pointer tinstant_before_timestamptz(Pointer inst, long t, boolean strict); - - Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc); - - Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc); - - Pointer tinstant_restrict_timestamptz(Pointer inst, long t, boolean atfunc); - - Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc); - - Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc); - - Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc); - - Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc); - - Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc); - - Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc); - - Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc); - - Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc); - - Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc); - - Pointer tsequence_at_timestamptz(Pointer seq, long t); - - Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc); - - Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); - - Pointer tsequenceset_after_timestamptz(Pointer ss, long t, boolean strict); - - Pointer tsequenceset_before_timestamptz(Pointer ss, long t, boolean strict); - - Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc); - - Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc); - - Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc); - - Pointer tsequenceset_restrict_timestamptz(Pointer ss, long t, boolean atfunc); - - Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc); - - Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc); - - Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc); - - int tinstant_cmp(Pointer inst1, Pointer inst2); - - boolean tinstant_eq(Pointer inst1, Pointer inst2); - - int tsequence_cmp(Pointer seq1, Pointer seq2); - - boolean tsequence_eq(Pointer seq1, Pointer seq2); - - int tsequenceset_cmp(Pointer ss1, Pointer ss2); - - boolean tsequenceset_eq(Pointer ss1, Pointer ss2); - - int always_eq_base_temporal(Pointer value, Pointer temp); - - int always_eq_temporal_base(Pointer temp, Pointer value); - - int always_ne_base_temporal(Pointer value, Pointer temp); - - int always_ne_temporal_base(Pointer temp, Pointer value); - - int always_ge_base_temporal(Pointer value, Pointer temp); - - int always_ge_temporal_base(Pointer temp, Pointer value); - - int always_gt_base_temporal(Pointer value, Pointer temp); - - int always_gt_temporal_base(Pointer temp, Pointer value); - - int always_le_base_temporal(Pointer value, Pointer temp); - - int always_le_temporal_base(Pointer temp, Pointer value); - - int always_lt_base_temporal(Pointer value, Pointer temp); - - int always_lt_temporal_base(Pointer temp, Pointer value); - - int ever_eq_base_temporal(Pointer value, Pointer temp); - - int ever_eq_temporal_base(Pointer temp, Pointer value); - - int ever_ne_base_temporal(Pointer value, Pointer temp); - - int ever_ne_temporal_base(Pointer temp, Pointer value); - - int ever_ge_base_temporal(Pointer value, Pointer temp); - - int ever_ge_temporal_base(Pointer temp, Pointer value); - - int ever_gt_base_temporal(Pointer value, Pointer temp); - - int ever_gt_temporal_base(Pointer temp, Pointer value); - - int ever_le_base_temporal(Pointer value, Pointer temp); - - int ever_le_temporal_base(Pointer temp, Pointer value); - - int ever_lt_base_temporal(Pointer value, Pointer temp); - - int ever_lt_temporal_base(Pointer temp, Pointer value); - - Pointer tnumberinst_abs(Pointer inst); - - double tnumberinst_distance(Pointer inst1, Pointer inst2); - - Pointer tnumberseq_abs(Pointer seq); - - Pointer tnumberseq_angular_difference(Pointer seq); - - Pointer tnumberseq_delta_value(Pointer seq); - - Pointer tnumberseqset_abs(Pointer ss); - - Pointer tnumberseqset_angular_difference(Pointer ss); - - Pointer tnumberseqset_delta_value(Pointer ss); - - double distance_span_span_double(Pointer s1, Pointer s2); - - double nad_tbox_tbox(Pointer box1, Pointer box2); - - double nad_tnumber_number(Pointer temp, Pointer value); - - double nad_tnumber_tbox(Pointer temp, Pointer box); - - double nad_tnumber_tnumber(Pointer temp1, Pointer temp2); - - Pointer tdistance_tnumber_number(Pointer temp, Pointer value); - - double tnumberseq_integral(Pointer seq); - - double tnumberseq_twavg(Pointer seq); - - double tnumberseqset_integral(Pointer ss); - - double tnumberseqset_twavg(Pointer ss); - - Pointer temporal_compact(Pointer temp); - - Pointer tsequence_compact(Pointer seq); - - Pointer tsequenceset_compact(Pointer ss); - - Pointer temporal_skiplist_make(); - - Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn); - - int skiplist_search(Pointer list, Pointer key, Pointer value); - - void skiplist_free(Pointer list); - - void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype); - - void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings); - - Pointer skiplist_values(Pointer list); - - Pointer skiplist_keys_values(Pointer list, Pointer values); - - Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt); - - Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq); - - Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count); - - Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count); - - Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count); - - Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, Pointer count); - - Pointer tnumber_value_split(Pointer _sret, Pointer temp, Pointer vsize, Pointer vorigin); - - Pointer tbox_get_value_time_tile(Pointer value, long t, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, int basetype, int spantype); - - Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - - String double2_out(Pointer d, int maxdd); - - void double2_set(double a, double b, Pointer result); - - Pointer double2_add(Pointer d1, Pointer d2); - - boolean double2_eq(Pointer d1, Pointer d2); - - String double3_out(Pointer d, int maxdd); - - void double3_set(double a, double b, double c, Pointer result); - - Pointer double3_add(Pointer d1, Pointer d2); - - boolean double3_eq(Pointer d1, Pointer d2); - - String double4_out(Pointer d, int maxdd); - - void double4_set(double a, double b, double c, double d, Pointer result); - - Pointer double4_add(Pointer d1, Pointer d2); - - boolean double4_eq(Pointer d1, Pointer d2); - - boolean double2_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio); - - boolean double3_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio); - - boolean double4_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio); - - Pointer double2segm_interpolate(Pointer start, Pointer end, Pointer ratio); - - Pointer double3segm_interpolate(Pointer start, Pointer end, Pointer ratio); - - Pointer double4segm_interpolate(Pointer start, Pointer end, Pointer ratio); - - int pg_atoi(String s, long size, int c); - - boolean ensure_has_X(int type, short flags); - - boolean ensure_has_Z(int type, short flags); - - boolean ensure_has_T(int type, short flags); - - boolean ensure_has_not_Z(int type, short flags); - - boolean ensure_not_null(Pointer ptr); - - boolean ensure_one_not_null(Pointer ptr1, Pointer ptr2); - - boolean ensure_one_true(boolean hasshift, boolean haswidth); - - boolean ensure_valid_interp(int temptype, int interp); - - boolean ensure_continuous(Pointer temp); - - boolean ensure_same_interp(Pointer temp1, Pointer temp2); - - boolean ensure_same_continuous_interp(short flags1, short flags2); - - boolean ensure_linear_interp(short flags); - - boolean ensure_nonlinear_interp(short flags); - - boolean ensure_common_dimension(short flags1, short flags2); - - boolean ensure_temporal_isof_type(Pointer temp, int type); - - boolean ensure_temporal_isof_basetype(Pointer temp, int basetype); - - boolean ensure_temporal_isof_subtype(Pointer temp, int type); - - boolean ensure_same_temporal_type(Pointer temp1, Pointer temp2); - - boolean ensure_valid_tnumber_numspan(Pointer temp, Pointer s); - - boolean ensure_valid_tnumber_numspanset(Pointer temp, Pointer ss); - - boolean ensure_valid_tnumber_tbox(Pointer temp, Pointer box); - - boolean ensure_valid_temporal_set(Pointer temp, Pointer s); - - boolean ensure_valid_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean ensure_valid_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean ensure_not_negative(int i); - - boolean ensure_positive(int i); - - boolean not_negative_datum(Pointer size, int basetype); - - boolean ensure_not_negative_datum(Pointer size, int basetype); - - boolean positive_datum(Pointer size, int basetype); - - boolean ensure_positive_datum(Pointer size, int basetype); - - boolean ensure_valid_day_duration(Pointer duration); - - boolean positive_duration(Pointer duration); - - boolean ensure_positive_duration(Pointer duration); - - Pointer temporal_bbox_ptr(Pointer temp); - - boolean intersection_temporal_temporal(Pointer temp1, Pointer temp2, int mode, Pointer inter1, Pointer inter2); - - String mobilitydb_version(); - - String mobilitydb_full_version(); - - Pointer round_fn(int basetype); - - boolean temporal_bbox_restrict_value(Pointer temp, Pointer value); - - boolean ensure_valid_tcbuffer_cbuffer(Pointer temp, Pointer cb); - - boolean ensure_valid_tcbuffer_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_tcbuffer_stbox(Pointer temp, Pointer box); - - boolean ensure_valid_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2); - - int tcbuffersegm_intersection_value(Pointer start, Pointer end, Pointer value, long lower, long upper, Pointer t1, Pointer t2); - - int tcbuffersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); - - int tcbuffersegm_dwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, long lower, long upper, Pointer t1, Pointer t2); - - int tcbuffersegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, long lower, long upper, Pointer t1, Pointer t2); - - int tcbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist); - - boolean cbuffer_set_stbox(Pointer cb, Pointer box); - - void cbufferarr_set_stbox(Pointer values, int count, Pointer box); - - void cbuffer_timestamptz_set_stbox(Pointer cb, long t, Pointer box); - - void cbuffer_tstzspan_set_stbox(Pointer cb, Pointer s, Pointer box); - - void tcbufferinst_set_stbox(Pointer inst, Pointer box); - - void tcbufferinstarr_set_stbox(Pointer instants, int count, Pointer box); - - void tcbufferseq_expand_stbox(Pointer seq, Pointer inst); - - Pointer tcbufferinst_traversed_area(Pointer inst); - - Pointer tcbufferseq_traversed_area(Pointer seq, boolean unary_union); - - Pointer tcbufferseqset_traversed_area(Pointer ss, boolean unary_union); - - Pointer tcbuffersegm_traversed_area(Pointer inst1, Pointer inst2); - - Pointer tcbuffer_restrict_cbuffer(Pointer temp, Pointer cb, boolean atfunc); - - Pointer tcbuffer_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tcbuffer_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); - - int ea_contains_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); - - int ea_contains_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_contains_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); - - int ea_contains_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); - - int ea_covers_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); - - int ea_covers_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_covers_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); - - int ea_covers_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); - - int ea_covers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); - - int ea_disjoint_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_disjoint_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); - - int ea_disjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); - - int ea_disjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); - - int ea_disjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); - - int ea_intersects_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_intersects_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); - - int ea_intersects_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); - - int ea_intersects_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); - - int ea_intersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); - - int ea_touches_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_touches_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever); - - int ea_touches_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever); - - int ea_touches_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever); - - int ea_touches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever); - - Pointer tinterrel_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean tinter); - - Pointer tinterrel_tcbuffer_geo(Pointer temp, Pointer gs, boolean tinter); - - Pointer clipper2_clip_poly_poly(Pointer subj, Pointer clip, int op); - - Pointer clipper2_traj_poly_periods(Pointer seq, Pointer gs, Pointer out_count); - - Pointer clip_poly_poly(Pointer subj, Pointer clip, int operation); - - int lwproj_lookup(int srid_from, int srid_to, Pointer pj); - - int spheroid_init_from_srid(int srid, Pointer s); - - void srid_check_latlong(int srid); - - int srid_is_latlong(int srid); - - Pointer geom_serialize(Pointer lwgeom); - - Pointer geog_serialize(Pointer lwgeom); - - Pointer meos_postgis_valid_typmod(Pointer gs, int typmod); - - String geo_as_wkt(Pointer gs, int precision, boolean extended); - - Pointer box2d_to_lwgeom(Pointer box, int srid); - - Pointer box3d_to_lwgeom(Pointer box); - - Pointer MEOS_POSTGIS2GEOS(Pointer pglwgeom); - - Pointer MEOS_GEOS2POSTGIS(Pointer geom, String want3d); - - boolean geom_spatialrel(Pointer gs1, Pointer gs2, int rel); - - Pointer lwgeom_line_interpolate_point(Pointer geom, double fraction, int srid, String repeat); - - void point_get_coords(Pointer point, boolean hasz, Pointer x, Pointer y, Pointer z); - - void tstzset_stbox_slice(Pointer tsdatum, Pointer box); - - void tstzspanset_stbox_slice(Pointer psdatum, Pointer box); - - boolean stbox_index_leaf_consistent(Pointer key, Pointer query, int strategy); - - boolean stbox_gist_inner_consistent(Pointer key, Pointer query, int strategy); - - boolean stbox_index_recheck(int strategy); - - Pointer stboxnode_copy(Pointer box); - - int getQuadrant8D(Pointer centroid, Pointer inBox); - - void stboxnode_init(Pointer centroid, Pointer nodebox); - - void stboxnode_quadtree_next(Pointer nodebox, Pointer centroid, int quadrant, Pointer next_nodebox); - - void stboxnode_kdtree_next(Pointer nodebox, Pointer centroid, int node, int level, Pointer next_nodebox); - - boolean overlap8D(Pointer nodebox, Pointer query); - - boolean overlapKD(Pointer nodebox, Pointer query, int level); - - boolean contain8D(Pointer nodebox, Pointer query); - - boolean containKD(Pointer nodebox, Pointer query, int level); - - boolean left8D(Pointer nodebox, Pointer query); - - boolean overLeft8D(Pointer nodebox, Pointer query); - - boolean right8D(Pointer nodebox, Pointer query); - - boolean overRight8D(Pointer nodebox, Pointer query); - - boolean below8D(Pointer nodebox, Pointer query); - - boolean overBelow8D(Pointer nodebox, Pointer query); - - boolean above8D(Pointer nodebox, Pointer query); - - boolean overAbove8D(Pointer nodebox, Pointer query); - - boolean front8D(Pointer nodebox, Pointer query); - - boolean overFront8D(Pointer nodebox, Pointer query); - - boolean back8D(Pointer nodebox, Pointer query); - - boolean overBack8D(Pointer nodebox, Pointer query); - - boolean before8D(Pointer nodebox, Pointer query); - - boolean overBefore8D(Pointer nodebox, Pointer query); - - boolean after8D(Pointer nodebox, Pointer query); - - boolean overAfter8D(Pointer nodebox, Pointer query); - - double distance_stbox_nodebox(Pointer query, Pointer nodebox); - - void tspatial_spgist_get_stbox(Pointer value, int type, Pointer result); - - void mobilitydb_init(); - - Pointer geo_stbox(Pointer gs); - - Pointer stbox_geo(Pointer box); - - Pointer tcomp_geo_tgeo(Pointer gs, Pointer temp, Pointer func); - - Pointer tcomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func); - - boolean ensure_geoaggstate(Pointer state, int srid, boolean hasz); - - boolean ensure_geoaggstate_state(Pointer state1, Pointer state2); - - Pointer tpoint_transform_tcentroid(Pointer temp, Pointer count); - - Pointer tpointinst_tcentroid_finalfn(Pointer instants, int count, int srid); - - Pointer tpointseq_tcentroid_finalfn(Pointer sequences, int count, int srid); - - boolean point3d_min_dist(Pointer p1, Pointer p2, Pointer p3, Pointer p4, Pointer fraction); - - double stbox_spatial_distance(Pointer box1, Pointer box2); - - int tgeompointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param); - - int tgeogpointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param); - - double tinstant_distance(Pointer inst1, Pointer inst2, Pointer func); - - Pointer tpointseq_at_geom(Pointer seq, Pointer gs, Pointer count); - - Pointer tpointseq_interperiods(Pointer seq, Pointer gs, Pointer count); - - void datum_point4d(Pointer value, Pointer p); - - int geopoint_cmp(Pointer gs1, Pointer gs2); - - boolean geopoint_eq(Pointer gs1, Pointer gs2); - - boolean geopoint_same(Pointer gs1, Pointer gs2); - - boolean datum_point_eq(Pointer point1, Pointer point2); - - boolean datum_point_same(Pointer point1, Pointer point2); - - Pointer datum2_point_eq(Pointer point1, Pointer point2); - - Pointer datum2_point_ne(Pointer point1, Pointer point2); - - Pointer datum2_point_same(Pointer point1, Pointer point2); - - Pointer datum2_point_nsame(Pointer point1, Pointer point2); - - Pointer datum2_geom_centroid(Pointer geo); - - Pointer datum2_geog_centroid(Pointer geo); - - Pointer geo_extract_elements(Pointer gs, Pointer count); - - Pointer geo_serialize(Pointer geom); - - Pointer geo_distance_fn(short flags); - - Pointer point_distance_fn(short flags); - - Pointer datum_geom_distance2d(Pointer geom1, Pointer geom2); - - Pointer datum_geom_distance3d(Pointer geom1, Pointer geom2); - - Pointer datum_geog_distance(Pointer geog1, Pointer geog2); - - Pointer datum_pt_distance2d(Pointer geom1, Pointer geom2); - - Pointer datum_pt_distance3d(Pointer geom1, Pointer geom2); - - short spatial_flags(Pointer d, int basetype); - - boolean ensure_srid_is_latlong(int srid); - - boolean ensure_spatial_validity(Pointer temp1, Pointer temp2); - - boolean ensure_not_geodetic(short flags); - - boolean ensure_same_geodetic(short flags1, short flags2); - - boolean ensure_same_geodetic_geo(Pointer gs1, Pointer gs2); - - boolean ensure_same_geodetic_tspatial_geo(Pointer temp, Pointer gs); - - boolean ensure_same_geodetic_tspatial_base(Pointer temp, Pointer base); - - boolean ensure_srid_known(int srid); - - boolean ensure_same_srid(int srid1, int srid2); - - boolean ensure_same_dimensionality(short flags1, short flags2); - - boolean same_spatial_dimensionality(short flags1, short flags2); - - boolean ensure_same_spatial_dimensionality(short flags1, short flags2); - - boolean ensure_same_dimensionality_geo(Pointer gs1, Pointer gs2); - - boolean same_dimensionality_tspatial_geo(Pointer temp, Pointer gs); - - boolean ensure_same_dimensionality_tspatial_geo(Pointer temp, Pointer gs); - - boolean ensure_same_spatial_dimensionality_stbox_geo(Pointer box, Pointer gs); - - boolean ensure_same_geodetic_stbox_geo(Pointer box, Pointer gs); - - boolean ensure_has_Z_geo(Pointer gs); - - boolean ensure_has_not_Z_geo(Pointer gs); - - boolean ensure_has_M_geo(Pointer gs); - - boolean ensure_has_not_M_geo(Pointer gs); - - boolean ensure_not_geodetic_geo(Pointer gs); - - boolean ensure_point_type(Pointer gs); - - boolean ensure_mline_type(Pointer gs); - - boolean circle_type(Pointer gs); - - boolean ensure_circle_type(Pointer gs); - - boolean ensure_not_empty(Pointer gs); - - boolean ensure_valid_stbox_geo(Pointer box, Pointer gs); - - boolean ensure_valid_tspatial_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_tspatial_base(Pointer temp, Pointer base); - - boolean ensure_valid_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean ensure_valid_spatial_stbox_stbox(Pointer box1, Pointer box2); - - boolean ensure_valid_tgeo_stbox(Pointer temp, Pointer box); - - boolean ensure_valid_geo_geo(Pointer gs1, Pointer gs2); - - boolean ensure_valid_tgeo_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_tgeo_tgeo(Pointer temp1, Pointer temp2); - - boolean ensure_valid_tpoint_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_tpoint_tpoint(Pointer temp1, Pointer temp2); - - boolean mline_type(Pointer gs); - - Pointer tpoint_get_coord(Pointer temp, int coord); - - int eacomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func, boolean ever); - - Pointer closest_point2d_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest); - - Pointer closest_point3dz_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest); - - Pointer closest_point_on_segment_sphere(Pointer p, Pointer A, Pointer B, Pointer closest, Pointer dist); - - void interpolate_point4d_spheroid(Pointer p1, Pointer p2, Pointer p, Pointer s, double f); - - Pointer geopoint_make(double x, double y, double z, boolean hasz, boolean geodetic, int srid); - - Pointer lwcircle_make(double x, double y, double radius, int srid); - - Pointer geocircle_make(double x, double y, double radius, int srid); - - Pointer pointsegm_interpolate(Pointer start, Pointer end, Pointer ratio); - - Pointer pointsegm_locate(Pointer start, Pointer end, Pointer point, Pointer dist); - - int tgeompointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); - - int tgeogpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); - - boolean geopoint_collinear(Pointer value1, Pointer value2, Pointer value3, double ratio, boolean hasz, boolean geodetic); - - Pointer lwpointarr_remove_duplicates(Pointer points, int count, Pointer newcount); - - Pointer lwpointarr_make_trajectory(Pointer points, int count, int interp); - - Pointer lwline_make(Pointer value1, Pointer value2); - - Pointer lwcoll_from_points_lines(Pointer points, Pointer lines, int npoints, int nlines); - - int tpointseq_stops_iter(Pointer seq, double maxdist, int mintunits, Pointer result); - - Pointer datum_geom_contains(Pointer geom1, Pointer geom2); - - Pointer datum_geom_covers(Pointer geom1, Pointer geom2); - - Pointer datum_geom_disjoint2d(Pointer geom1, Pointer geom2); - - Pointer datum_geom_disjoint3d(Pointer geom1, Pointer geom2); - - Pointer datum_geog_disjoint(Pointer geog1, Pointer geog2); - - Pointer datum_geom_intersects2d(Pointer geom1, Pointer geom2); - - Pointer datum_geom_intersects3d(Pointer geom1, Pointer geom2); - - Pointer datum_geog_intersects(Pointer geog1, Pointer geog2); - - Pointer datum_geom_touches(Pointer geom1, Pointer geom2); - - Pointer datum_geom_dwithin2d(Pointer geom1, Pointer geom2, Pointer dist); - - Pointer datum_geom_dwithin3d(Pointer geom1, Pointer geom2, Pointer dist); - - Pointer datum_geog_dwithin(Pointer geog1, Pointer geog2, Pointer dist); - - Pointer datum_geom_relate_pattern(Pointer geog1, Pointer geog2, Pointer p); - - Pointer geo_disjoint_fn(short flags1, short flags2); - - Pointer geo_disjoint_fn_geo(short flags1, byte flags2); - - Pointer geo_intersects_fn(short flags1, short flags2); - - Pointer geo_intersects_fn_geo(short flags1, byte flags2); - - Pointer geo_dwithin_fn(short flags1, short flags2); - - Pointer geo_dwithin_fn_geo(short flags1, byte flags2); - - int tpointsegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer value, long lower, long upper, Pointer t1, Pointer t2); - - int spatialrel_geo_geo(Pointer gs1, Pointer gs2, Pointer param, Pointer func, int numparam, boolean invert); - - int spatialrel_tgeo_tgeo(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam); - - int ea_contains_geo_tgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_contains_tgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_contains_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); - - int ea_covers_geo_tgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_covers_tgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_covers_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); - - int ea_disjoint_geo_tgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_disjoint_tgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_disjoint_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); - - int ea_intersects_geo_tgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_intersects_tgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_intersects_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); - - int ea_touches_tpoint_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_touches_tgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_touches_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever); - - int ea_dwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever); - - int ea_dwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean ever); - - int ea_spatialrel_tspatial_geo(Pointer temp, Pointer gs, Pointer func, boolean ever, boolean invert); - - int ea_spatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer func, boolean ever); - - Pointer tspatialrel_tspatial_base(Pointer temp, Pointer base, Pointer param, Pointer func, int numparam, boolean invert); - - Pointer tspatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam, boolean invert); - - Pointer tinterrel_tgeo_geo(Pointer temp, Pointer gs, boolean tinter); - - Pointer tinterrel_tspatial_base(Pointer temp, Pointer base, boolean tinter, Pointer func); - - Pointer tinterrel_tspatial_tspatial(Pointer temp1, Pointer temp2, boolean tinter); - - Pointer tdwithin_tspatial_tspatial(Pointer sync1, Pointer sync2, Pointer dist, Pointer func, Pointer tpfn); - - int tdwithin_add_solutions(int solutions, long lower, long upper, boolean lower_inc, boolean upper_inc, boolean upper_inc1, long t1, long t2, Pointer instants, Pointer result); - - Pointer tdwithin_tspatial_spatial(Pointer temp, Pointer base, Pointer dist, Pointer func, Pointer tpfn); - - Pointer bitmatrix_make(Pointer count, int ndims); - - int tpoint_set_tiles(Pointer temp, Pointer state, Pointer bm); - - Pointer tpoint_at_tile(Pointer temp, Pointer box); - - void stbox_tile_state_set(double x, double y, double z, long t, double xsize, double ysize, double zsize, long tunits, boolean hasx, boolean hasz, boolean hast, int srid, Pointer result); - - Pointer stbox_tile_state_make(Pointer temp, Pointer box, double xsize, double ysize, double zsize, Pointer duration, int sorigin, long torigin, boolean border_inc); - - void stbox_tile_state_next(Pointer state); - - boolean stbox_tile_state_get(Pointer state, Pointer box); - - Pointer tgeo_space_time_tile_init(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer ntiles); - - Pointer stbox_space_time_tile(Pointer point, long t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean hasx, boolean hast); - - Pointer create_trip(Pointer lines, Pointer maxSpeeds, Pointer categories, int noEdges, long startTime, boolean disturbData, int verbosity); - - Pointer spatialarr_wkt_out(Pointer spatialarr, int basetype, int count, int maxdd, boolean extended); - - String spatialbase_as_text(Pointer value, int type, int maxdd); - - String spatialbase_as_ewkt(Pointer value, int type, int maxdd); - - boolean point_transf_pj(Pointer gs, int srid_to, Pointer pj); - - void tgeoinst_set_stbox(Pointer inst, Pointer box); - - void tgeoinstarr_set_stbox(Pointer instants, int count, Pointer box); - - void tgeoseq_expand_stbox(Pointer seq, Pointer inst); - - void tspatialinst_set_stbox(Pointer inst, Pointer box); - - void tspatialinstarr_set_stbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box); - - void tspatialseqarr_set_stbox(Pointer sequences, int count, Pointer box); - - void tspatialseq_expand_stbox(Pointer seq, Pointer inst); - - void spatialarr_set_bbox(Pointer values, int basetype, int count, Pointer box); - - boolean boxop_tspatial_stbox(Pointer temp, Pointer box, Pointer bool, boolean invert); - - boolean boxop_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer bool); - - boolean srid_parse(Pointer str, Pointer srid); - - boolean spatial_parse_elem(Pointer str, int temptype, String delim, Pointer temp_srid, Pointer result); - - boolean geo_parse(Pointer str, int basetype, String delim, Pointer srid, Pointer result); - - Pointer stbox_parse(Pointer str); - - Pointer tpoint_parse(Pointer str, int temptype); - - Pointer tspatialinst_parse(Pointer str, int temptype, boolean end, Pointer temp_srid); - - Pointer tspatialseq_disc_parse(Pointer str, int temptype, Pointer temp_srid); - - Pointer tspatialseq_cont_parse(Pointer str, int temptype, int interp, boolean end, Pointer temp_srid); - - Pointer tspatialseqset_parse(Pointer str, int temptype, int interp, Pointer temp_srid); - - Pointer tspatial_parse(Pointer str, int temptype); - - boolean h3_are_neighbor_cells_meos(long origin, long destination); - - long h3_cells_to_directed_edge_meos(long origin, long destination); - - boolean h3_is_valid_directed_edge_meos(long edge); - - long h3_get_directed_edge_origin_meos(long edge); - - long h3_get_directed_edge_destination_meos(long edge); - - long h3_cell_to_parent_meos(long origin, int resolution); - - long h3_cell_to_center_child_meos(long origin, int resolution); - - long h3_cell_to_child_pos_meos(long child, int parentRes); - - long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes); - - int h3_get_resolution_meos(long hex); - - int h3_get_base_cell_number_meos(long hex); - - boolean h3_is_valid_cell_meos(long hex); - - boolean h3_is_res_class_iii_meos(long hex); - - boolean h3_is_pentagon_meos(long hex); - - long h3_get_num_cells_meos(int resolution); - - long h3_grid_distance_meos(long originIndex, long h3Index); - - long h3_cell_to_vertex_meos(long cell, int vertexNum); - - boolean h3_is_valid_vertex_meos(long vertex); - - long h3index_parse(String str); - - String h3index_to_string(long cell); - - boolean h3index_eq(long a, long b); - - boolean h3index_ne(long a, long b); - - boolean h3index_lt(long a, long b); - - boolean h3index_le(long a, long b); - - boolean h3index_gt(long a, long b); - - boolean h3index_ge(long a, long b); - - int h3index_cmp(long a, long b); - - int h3index_hash(long cell); - - Pointer h3_grid_disk(long origin, int k); - - Pointer h3_grid_ring(long origin, int k); - - Pointer h3_grid_path_cells(long start, long end); - - Pointer h3_cell_to_children(long origin, int childRes); - - Pointer h3_compact_cells(Pointer cells); - - Pointer h3_uncompact_cells(Pointer cells, int res); - - Pointer h3_origin_to_directed_edges(long origin); - - Pointer h3_cell_to_vertexes(long cell); - - Pointer h3_get_icosahedron_faces(long cell); - - boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2); - - boolean ensure_valid_th3index_h3index(Pointer temp, long cell); - - boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2); - - Pointer datum2_h3index_eq(Pointer d1, Pointer d2, int type); - - Pointer datum2_h3index_ne(Pointer d1, Pointer d2, int type); - - void th3indexinst_set_stbox(Pointer inst, Pointer box); - - void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box); - - void th3indexseq_expand_stbox(Pointer seq, Pointer inst); - - long h3_gs_point_to_cell(Pointer point, int resolution); - - Pointer h3_cell_to_gs_point(long cell); - - Pointer h3_cell_to_gs_boundary(long cell); - - Pointer cell_boundary_to_gs(Pointer bnd); - - double h3_sample_step_deg(int resolution); - - long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution); - - long h3_cell_to_parent_next_meos(long cell); - - long h3_cell_to_center_child_next_meos(long cell); - - Pointer h3_directed_edge_to_gs_boundary(long edge); - - Pointer h3_vertex_to_gs_point(long vertex); - - Pointer h3_cell_to_local_ij_meos(long origin, long cell); - - long h3_local_ij_to_cell_meos(long origin, Pointer coord); - - int h3_unit_from_cstring(String unit); - - double h3_cell_area_meos(long cell, int unit); - - double h3_edge_length_meos(long edge, int unit); - - double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit); - - Pointer datum_h3_get_resolution(Pointer d); - - Pointer datum_h3_get_base_cell_number(Pointer d); - - Pointer datum_h3_is_valid_cell(Pointer d); - - Pointer datum_h3_is_res_class_iii(Pointer d); - - Pointer datum_h3_is_pentagon(Pointer d); - - Pointer datum_h3_cell_to_parent(Pointer cell_d, Pointer res_d); - - Pointer datum_h3_cell_to_parent_next(Pointer cell_d); - - Pointer datum_h3_cell_to_center_child(Pointer cell_d, Pointer res_d); - - Pointer datum_h3_cell_to_center_child_next(Pointer cell_d); - - Pointer datum_h3_cell_to_child_pos(Pointer cell_d, Pointer parent_res_d); - - Pointer datum_h3_child_pos_to_cell(Pointer pos_d, Pointer parent_d, Pointer child_res_d); - - Pointer datum_h3_are_neighbor_cells(Pointer origin_d, Pointer dest_d); - - Pointer datum_h3_cells_to_directed_edge(Pointer origin_d, Pointer dest_d); - - Pointer datum_h3_is_valid_directed_edge(Pointer d); - - Pointer datum_h3_get_directed_edge_origin(Pointer d); - - Pointer datum_h3_get_directed_edge_destination(Pointer d); - - Pointer datum_h3_directed_edge_to_boundary(Pointer d); - - Pointer datum_h3_cell_to_vertex(Pointer cell_d, Pointer vnum_d); - - Pointer datum_h3_vertex_to_latlng(Pointer d); - - Pointer datum_h3_is_valid_vertex(Pointer d); - - Pointer datum_h3_grid_distance(Pointer origin_d, Pointer dest_d); - - Pointer datum_h3_cell_to_local_ij(Pointer origin_d, Pointer cell_d); - - Pointer datum_h3_local_ij_to_cell(Pointer origin_d, Pointer coord_d); - - Pointer datum_h3_latlng_to_cell(Pointer point_d, Pointer res_d); - - Pointer datum_h3_cell_to_latlng(Pointer d); - - Pointer datum_h3_cell_to_boundary(Pointer d); - - Pointer datum_h3_cell_area(Pointer cell_d, Pointer unit_d); - - Pointer datum_h3_edge_length(Pointer edge_d, Pointer unit_d); - - Pointer datum_h3_great_circle_distance(Pointer a_d, Pointer b_d, Pointer unit_d); - - Pointer json_in(String str); - - String json_out(Pointer js); - - Pointer jsonb_from_text(Pointer txt, boolean unique_keys); - - Pointer jsonb_in(String str); - - String jsonb_out(Pointer jb); - - Pointer json_make(Pointer keys_vals, int count); - - Pointer json_make_two_arg(Pointer keys, Pointer values, int count); - - Pointer jsonb_copy(Pointer jb); - - Pointer jsonb_make(Pointer keys_vals, int count); - - Pointer jsonb_make_two_arg(Pointer keys, Pointer values, int count); - - boolean jsonb_to_bool(Pointer jb); - - String jsonb_to_cstring(Pointer jb); - - int jsonb_to_float4(Pointer jb); - - int jsonb_to_float8(Pointer jb); - - short jsonb_to_int16(Pointer jb); - - int jsonb_to_int32(Pointer jb); - - long jsonb_to_int64(Pointer jb); - - int jsonb_to_numeric(Pointer jb); - - Pointer jsonb_to_text(Pointer jb); - - Pointer json_array_element(Pointer js, int element); - - Pointer json_array_element_text(Pointer js, int element); - - Pointer json_array_elements(Pointer js, Pointer count); - - Pointer json_array_elements_text(Pointer js, Pointer count); - - int json_array_length(Pointer js); - - Pointer json_each(Pointer js, Pointer values, Pointer count); - - Pointer json_each_text(Pointer js, Pointer values, Pointer count); - - Pointer json_extract_path(Pointer js, Pointer path_elems, int path_len); - - Pointer json_extract_path_text(Pointer js, Pointer path_elems, int path_len); - - Pointer json_object_field(Pointer js, Pointer key); - - Pointer json_object_field_text(Pointer js, Pointer key); - - Pointer json_object_keys(Pointer js, Pointer count); - - Pointer json_typeof(Pointer js); - - Pointer jsonb_array_element(Pointer jb, int element); - - Pointer jsonb_array_element_text(Pointer jb, int element); - - Pointer jsonb_array_elements(Pointer jb, Pointer count); - - Pointer jsonb_array_elements_text(Pointer jb, Pointer count); - - int jsonb_array_length(Pointer jb); - - boolean jsonb_contained(Pointer jb1, Pointer jb2); - - boolean jsonb_contains(Pointer jb1, Pointer jb2); - - Pointer jsonb_each(Pointer jb, Pointer values, Pointer count); - - Pointer jsonb_each_text(Pointer jb, Pointer values, Pointer count); - - boolean jsonb_exists(Pointer jb, Pointer key); - - boolean jsonb_exists_array(Pointer jb, Pointer keys_elems, int keys_len, boolean any); - - Pointer jsonb_extract_path(Pointer jb, Pointer path_elems, int path_len); - - Pointer jsonb_extract_path_text(Pointer jb, Pointer path_elems, int path_len); - - int jsonb_hash(Pointer jb); - - int jsonb_hash_extended(Pointer jb, int seed); - - Pointer jsonb_object_field(Pointer jb, Pointer key); - - Pointer jsonb_object_field_text(Pointer jb, Pointer key); - - Pointer jsonb_object_keys(Pointer jb, Pointer count); - - Pointer json_strip_nulls(Pointer js, boolean strip_in_arrays); - - Pointer jsonb_concat(Pointer jb1, Pointer jb2); - - Pointer jsonb_delete(Pointer jb, Pointer key); - - Pointer jsonb_delete_array(Pointer jb, Pointer keys_elems, int keys_len); - - Pointer jsonb_delete_index(Pointer jb, int idx); - - Pointer jsonb_delete_path(Pointer jb, Pointer path_elems, int path_len); - - Pointer jsonb_insert(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean after); - - Pointer jsonb_pretty(Pointer jb); - - Pointer jsonb_set(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create); - - Pointer jsonb_set_lax(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create, Pointer handle_null); - - Pointer jsonb_strip_nulls(Pointer jb, boolean strip_in_arrays); - - int jsonb_cmp(Pointer jb1, Pointer jb2); - - boolean jsonb_eq(Pointer jb1, Pointer jb2); - - boolean jsonb_ge(Pointer jb1, Pointer jb2); - - boolean jsonb_gt(Pointer jb1, Pointer jb2); - - boolean jsonb_le(Pointer jb1, Pointer jb2); - - boolean jsonb_lt(Pointer jb1, Pointer jb2); - - boolean jsonb_ne(Pointer jb1, Pointer jb2); - - int jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); - - boolean jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonb_path_query_all(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonpath_in(String str); - - Pointer jsonpath_copy(Pointer jp); - - String jsonpath_out(Pointer jp); - - Pointer jsonbset_in(String str); - - String jsonbset_out(Pointer s, int maxdd); - - Pointer jsonbset_make(Pointer values, int count); - - Pointer jsonb_to_set(Pointer jb); - - Pointer jsonbset_end_value(Pointer s); - - Pointer jsonbset_start_value(Pointer s); - - boolean jsonbset_value_n(Pointer s, int n, Pointer result); - - Pointer jsonbset_values(Pointer s); - - Pointer concat_jsonbset_jsonb(Pointer s, Pointer jb, boolean invert); - - Pointer jsonbset_array_length(Pointer set); - - Pointer jsonbset_object_field(Pointer set, Pointer key, boolean astext, int null_handle); - - Pointer jsonbset_array_element(Pointer set, int idx, boolean astext, int null_handle); - - Pointer jsonbset_delete_index(Pointer set, int idx); - - Pointer jsonbset_delete(Pointer set, Pointer key); - - Pointer jsonbset_delete_array(Pointer set, Pointer keys, int count); - - Pointer jsonbset_exists(Pointer set, Pointer key); - - Pointer jsonbset_exists_array(Pointer set, Pointer keys, int count, boolean any); - - Pointer jsonbset_set(Pointer set, Pointer keys, int count, Pointer newjb, boolean create, Pointer null_handle, boolean lax); - - Pointer jsonbset_to_alphanumset(Pointer set, String key, int settype, int null_handle); - - Pointer jsonbset_to_intset(Pointer set, String key, int null_handle); - - Pointer jsonbset_to_floatset(Pointer set, String key, int null_handle); - - Pointer jsonbset_to_textset_key(Pointer set, String key, int null_handle); - - Pointer jsonbset_strip_nulls(Pointer set, boolean strip_in_arrays); - - Pointer jsonbset_pretty(Pointer set); - - Pointer jsonbset_delete_path(Pointer set, Pointer path_elems, int path_len); - - Pointer jsonbset_extract_path(Pointer set, Pointer path_elems, int path_len, boolean astext, int null_handle); - - Pointer jsonbset_insert(Pointer set, Pointer path_elems, int path_len, Pointer newjb, boolean after); - - Pointer jsonbset_path_exists(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonbset_path_match(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonbset_path_query_array(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer jsonbset_path_query_first(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz); - - boolean contained_jsonb_set(Pointer jb, Pointer s); - - boolean contains_set_jsonb(Pointer s, Pointer jb); - - Pointer intersection_jsonb_set(Pointer jb, Pointer s); - - Pointer intersection_set_jsonb(Pointer s, Pointer jb); - - Pointer jsonb_union_transfn(Pointer state, Pointer jb); - - Pointer minus_jsonb_set(Pointer jb, Pointer s); - - Pointer minus_set_jsonb(Pointer s, Pointer jb); - - Pointer union_jsonb_set(Pointer jb, Pointer s); - - Pointer union_set_jsonb(Pointer s, Pointer jb); - - Pointer tjsonb_from_mfjson(String str); - - Pointer tjsonb_in(String str); - - String tjsonb_out(Pointer temp); - - Pointer tjsonbinst_from_mfjson(Pointer mfjson); - - Pointer tjsonbinst_in(String str); - - Pointer tjsonbseq_from_mfjson(Pointer mfjson); - - Pointer tjsonbseq_in(String str, int interp); - - Pointer tjsonbseqset_from_mfjson(Pointer mfjson); - - Pointer tjsonbseqset_in(String str); - - Pointer tjsonb_from_base_temp(Pointer jsonb, Pointer temp); - - Pointer tjsonbinst_make(Pointer jsonb, long t); - - Pointer tjsonbseq_from_base_tstzset(Pointer jsonb, Pointer s); - - Pointer tjsonbseq_from_base_tstzspan(Pointer jsonb, Pointer sp); - - Pointer tjsonbseqset_from_base_tstzspanset(Pointer jsonb, Pointer ss); - - Pointer tjsonb_to_ttext(Pointer temp); - - Pointer ttext_to_tjsonb(Pointer temp); - - Pointer tjsonb_end_value(Pointer temp); - - Pointer tjsonb_start_value(Pointer temp); - - boolean tjsonb_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tjsonb_value_n(Pointer temp, int n, Pointer result); - - Pointer tjsonb_values(Pointer temp, Pointer count); - - Pointer concat_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert); - - Pointer concat_tjsonb_tjsonb(Pointer temp1, Pointer temp2); - - Pointer contains_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert); - - Pointer contains_tjsonb_tjsonb(Pointer temp1, Pointer temp2); - - int null_handle_type_from_string(String str); - - Pointer tjson_array_element(Pointer temp, int idx, int null_handle); - - Pointer tjson_array_length(Pointer temp); - - Pointer tjson_extract_path(Pointer temp, Pointer path_elems, int path_len, int null_handle); - - Pointer tjson_object_field(Pointer temp, Pointer key, boolean astext, int null_handle); - - Pointer tjson_strip_nulls(Pointer temp, boolean strip_in_arrays); - - Pointer tjsonb_array_element(Pointer temp, int idx, boolean astext, int null_handle); - - Pointer tjsonb_array_length(Pointer temp); - - Pointer tjsonb_delete(Pointer temp, Pointer key); - - Pointer tjsonb_delete_array(Pointer temp, Pointer keys, int count); - - Pointer tjsonb_delete_index(Pointer temp, int idx); - - Pointer tjsonb_delete_path(Pointer temp, Pointer path_elems, int path_len); - - Pointer tjsonb_exists(Pointer temp, Pointer key); - - Pointer tjsonb_exists_array(Pointer temp, Pointer keys, int count, boolean any); - - Pointer tjsonb_extract_path(Pointer temp, Pointer path_elems, int path_len, boolean astext, int null_handle); - - Pointer tjsonb_insert(Pointer temp, Pointer keys, int count, Pointer newjb, boolean after); - - Pointer tjsonb_object_field(Pointer temp, Pointer key, boolean astext, int null_handle); - - Pointer tjsonb_path_exists(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer tjsonb_path_match(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer tjsonb_path_query_array(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer tjsonb_path_query_first(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz); - - Pointer tjsonb_pretty(Pointer temp); - - Pointer tjsonb_set(Pointer temp, Pointer keys, int count, Pointer newjb, boolean create, Pointer handle_null, boolean lax); - - Pointer tjsonb_strip_nulls(Pointer temp, boolean strip_in_arrays); - - Pointer tjsonb_to_tbool(Pointer temp, String key, int null_handle); - - Pointer tjsonb_to_tfloat(Pointer temp, String key, int interp, int null_handle); - - Pointer tjsonb_to_tint(Pointer temp, String key, int null_handle); - - Pointer tjsonb_to_ttext_key(Pointer temp, String key, int null_handle); - - Pointer tjsonb_at_value(Pointer temp, Pointer jsb); - - Pointer tjsonb_minus_value(Pointer temp, Pointer jsb); - - int always_eq_jsonb_tjsonb(Pointer jb, Pointer temp); - - int always_eq_tjsonb_jsonb(Pointer temp, Pointer jb); - - int always_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2); - - int always_ne_jsonb_tjsonb(Pointer jb, Pointer temp); - - int always_ne_tjsonb_jsonb(Pointer temp, Pointer jb); - - int always_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2); - - int ever_eq_jsonb_tjsonb(Pointer jb, Pointer temp); - - int ever_eq_tjsonb_jsonb(Pointer temp, Pointer jb); - - int ever_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2); - - int ever_ne_jsonb_tjsonb(Pointer jb, Pointer temp); - - int ever_ne_tjsonb_jsonb(Pointer temp, Pointer jb); - - int ever_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2); - - Pointer teq_jsonb_tjsonb(Pointer jb, Pointer temp); - - Pointer teq_tjsonb_jsonb(Pointer temp, Pointer jb); - - Pointer tne_jsonb_tjsonb(Pointer jb, Pointer temp); - - Pointer tne_tjsonb_jsonb(Pointer temp, Pointer jb); - - Pointer setPath(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int op_type); - - void setPathObject(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int npairs, int op_type); - - void setPathArray(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int nelems, int op_type); - - Pointer datum_jsonb_concat(Pointer l, Pointer r); - - Pointer datum_jsonb_contained(Pointer l, Pointer r); - - Pointer datum_jsonb_contains(Pointer l, Pointer r); - - Pointer datum_jsonb_delete(Pointer jb, Pointer key); - - Pointer datum_jsonb_delete_array(Pointer jb, Pointer array, Pointer count); - - Pointer datum_jsonb_delete_index(Pointer jb, Pointer idx); - - Pointer datum_json_array_element(Pointer txt, Pointer element); - - Pointer datum_jsonb_array_element(Pointer jb, Pointer element); - - Pointer datum_json_array_element_text(Pointer txt, Pointer element); - - Pointer datum_jsonb_array_element_text(Pointer jb, Pointer element); - - Pointer datum_jsonb_exists(Pointer l, Pointer r); - - Pointer datum_jsonb_exists_array(Pointer value, Pointer array, Pointer count, Pointer any); - - Pointer datum_json_array_length(Pointer txt); - - Pointer datum_jsonb_array_length(Pointer txt); - - Pointer datum_json_object_field(Pointer txt, Pointer key); - - Pointer datum_jsonb_object_field(Pointer jb, Pointer key); - - Pointer datum_json_object_field_text(Pointer txt, Pointer key); - - Pointer datum_jsonb_object_field_text(Pointer jb, Pointer key); - - Pointer datum_json_strip_nulls(Pointer txt, Pointer strip_in_arrays); - - Pointer datum_jsonb_strip_nulls(Pointer jb, Pointer strip_in_arrays); - - Pointer datum_jsonb_pretty(Pointer jb); - - Pointer datum_json_extract_path(Pointer txt, Pointer path_elems, Pointer path_len); - - Pointer datum_jsonb_extract_path(Pointer jb, Pointer path_elems, Pointer path_len); - - Pointer datum_json_extract_path_text(Pointer txt, Pointer path_elems, Pointer path_len); - - Pointer datum_jsonb_extract_path_text(Pointer jb, Pointer path_elems, Pointer path_len); - - Pointer datum_jsonb_set(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create); - - Pointer datum_jsonb_set_lax(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create, Pointer null_handle); - - Pointer datum_jsonb_delete_path(Pointer jb, Pointer keys, Pointer count); - - Pointer datum_jsonb_insert(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer after); - - Pointer datum_jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); - - Pointer datum_jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); - - Pointer datum_jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); - - Pointer datum_jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz); - - Pointer datum_jsonb_to_text(Pointer jb); - - Pointer datum_text_to_jsonb(Pointer txt); - - Pointer datum_jsonb_to_alphanum(Pointer jb, Pointer key, Pointer temptype, Pointer null_handle); - - Pointer tjsonb_to_talphanum(Pointer temp, String key, int resbasetype, int interp, int null_handle); - - Pointer jsonbfunc_jsonbset(Pointer s, int func, int intype, int restype); - - Pointer jsonbfunc_jsonbset_jsonb(Pointer s, Pointer jb, Pointer func, boolean invert); - - Pointer jsonbfunc_jsonbset_text(Pointer s, Pointer txt, Pointer func); - - Pointer th3index_in(String str); - - Pointer th3indexinst_in(String str); - - Pointer th3indexseq_in(String str, int interp); - - Pointer th3indexseqset_in(String str); - - Pointer th3index_make(long value, long t); - - Pointer th3indexinst_make(long value, long t); - - Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc); - - Pointer th3indexseqset_make(Pointer sequences, int count); - - long th3index_start_value(Pointer temp); - - long th3index_end_value(Pointer temp); - - boolean th3index_value_n(Pointer temp, int n, Pointer result); - - Pointer th3index_values(Pointer temp, Pointer count); - - boolean th3index_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - Pointer tbigint_to_th3index(Pointer temp); - - Pointer th3index_to_tbigint(Pointer temp); - - int ever_eq_h3index_th3index(long cell, Pointer temp); - - int ever_eq_th3index_h3index(Pointer temp, long cell); - - int ever_ne_h3index_th3index(long cell, Pointer temp); - - int ever_ne_th3index_h3index(Pointer temp, long cell); - - int always_eq_h3index_th3index(long cell, Pointer temp); - - int always_eq_th3index_h3index(Pointer temp, long cell); - - int always_ne_h3index_th3index(long cell, Pointer temp); - - int always_ne_th3index_h3index(Pointer temp, long cell); - - int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2); - - int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2); - - int always_eq_th3index_th3index(Pointer temp1, Pointer temp2); - - int always_ne_th3index_th3index(Pointer temp1, Pointer temp2); - - Pointer teq_h3index_th3index(long cell, Pointer temp); - - Pointer teq_th3index_h3index(Pointer temp, long cell); - - Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2); - - Pointer tne_h3index_th3index(long cell, Pointer temp); - - Pointer tne_th3index_h3index(Pointer temp, long cell); - - Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2); - - Pointer th3index_get_resolution(Pointer temp); - - Pointer th3index_get_base_cell_number(Pointer temp); - - Pointer th3index_is_valid_cell(Pointer temp); - - Pointer th3index_is_res_class_iii(Pointer temp); - - Pointer th3index_is_pentagon(Pointer temp); - - Pointer th3index_cell_to_parent(Pointer temp, int resolution); - - Pointer th3index_cell_to_parent_next(Pointer temp); - - Pointer th3index_cell_to_center_child(Pointer temp, int resolution); - - Pointer th3index_cell_to_center_child_next(Pointer temp); - - Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res); - - Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res); - - Pointer tgeogpoint_to_th3index(Pointer temp, int resolution); - - Pointer tgeompoint_to_th3index(Pointer temp, int resolution); - - Pointer th3index_to_tgeogpoint(Pointer temp); - - Pointer th3index_to_tgeompoint(Pointer temp); - - Pointer th3index_cell_to_boundary(Pointer temp); - - Pointer geo_to_h3index_set(Pointer gs, int resolution); - - int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx); - - Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest); - - Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest); - - Pointer th3index_is_valid_directed_edge(Pointer edge); - - Pointer th3index_get_directed_edge_origin(Pointer edge); - - Pointer th3index_get_directed_edge_destination(Pointer edge); - - Pointer th3index_directed_edge_to_boundary(Pointer edge); - - Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num); - - Pointer th3index_vertex_to_latlng(Pointer temp); - - Pointer th3index_is_valid_vertex(Pointer temp); - - Pointer th3index_grid_distance(Pointer origin, Pointer dest); - - Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell); - - Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord); - - Pointer th3index_cell_area(Pointer temp, String unit); - - Pointer th3index_edge_length(Pointer temp, String unit); - - Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit); - - Pointer proj_get_context(); - - Pointer geos_get_context(); - - Pointer datum_geo_round(Pointer value, Pointer size); - - Pointer point_round(Pointer gs, int maxdd); - - void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer result); - - void gbox_set_stbox(Pointer box, int srid, Pointer result); - - boolean geo_set_stbox(Pointer gs, Pointer result); - - void geoarr_set_stbox(Pointer values, int count, Pointer result); - - boolean spatial_set_stbox(Pointer d, int basetype, Pointer result); - - void spatialset_set_stbox(Pointer set, Pointer result); - - void stbox_set_box3d(Pointer box, Pointer result); - - void stbox_set_gbox(Pointer box, Pointer result); - - void tstzset_set_stbox(Pointer s, Pointer result); - - void tstzspan_set_stbox(Pointer s, Pointer result); - - void tstzspanset_set_stbox(Pointer s, Pointer result); - - void stbox_expand(Pointer box1, Pointer box2); - - boolean inter_stbox_stbox(Pointer box1, Pointer box2, Pointer result); - - Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeogpointinst_in(String str); - - Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeogpointseq_in(String str, int interp); - - Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeogpointseqset_in(String str); - - Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeompointinst_in(String str); - - Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeompointseq_in(String str, int interp); - - Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeompointseqset_in(String str); - - Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeographyinst_in(String str); - - Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeographyseq_in(String str, int interp); - - Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeographyseqset_in(String str); - - Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid); - - Pointer tgeometryinst_in(String str); - - Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeometryseq_in(String str, int interp); - - Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp); - - Pointer tgeometryseqset_in(String str); - - void tspatial_set_stbox(Pointer temp, Pointer result); - - void tspatialseq_set_stbox(Pointer seq, Pointer box); - - void tspatialseqset_set_stbox(Pointer ss, Pointer box); - - Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc); - - Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); - - Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc); - - Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc); - - Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc); - - Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc); - - int spatial_srid(Pointer d, int basetype); - - boolean spatial_set_srid(Pointer d, int basetype, int srid); - - int tspatialinst_srid(Pointer inst); - - Pointer tpointseq_azimuth(Pointer seq); - - Pointer tpointseq_cumulative_length(Pointer seq, double prevlength); - - } - - public interface MeosLibraryPartD { - - boolean tpointseq_is_simple(Pointer seq); - - double tpointseq_length(Pointer seq); - - Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union); - - Pointer tgeoseq_stboxes(Pointer seq, Pointer count); - - Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count); - - Pointer tpointseqset_azimuth(Pointer ss); - - Pointer tpointseqset_cumulative_length(Pointer ss); - - boolean tpointseqset_is_simple(Pointer ss); - - double tpointseqset_length(Pointer ss); - - Pointer tgeoseqset_stboxes(Pointer ss, Pointer count); - - Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count); - - Pointer tgeominst_tgeoginst(Pointer inst, boolean oper); - - Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper); - - Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper); - - Pointer tgeom_tgeog(Pointer temp, boolean oper); - - Pointer tgeo_tpoint(Pointer temp, boolean oper); - - void tspatialinst_set_srid(Pointer inst, int srid); - - Pointer tpointseq_make_simple(Pointer seq, Pointer count); - - void tspatialseq_set_srid(Pointer seq, int srid); - - Pointer tpointseqset_make_simple(Pointer ss, Pointer count); - - void tspatialseqset_set_srid(Pointer ss, int srid); - - Pointer tpointseq_twcentroid(Pointer seq); - - Pointer tpointseqset_twcentroid(Pointer ss); - - String npoint_as_ewkt(Pointer np, int maxdd); - - String npoint_as_hexwkb(Pointer np, byte variant, Pointer size_out); - - String npoint_as_text(Pointer np, int maxdd); - - Pointer npoint_as_wkb(Pointer np, byte variant, Pointer size_out); - - Pointer npoint_from_hexwkb(String hexwkb); - - Pointer npoint_from_wkb(Pointer wkb, long size); - - Pointer npoint_in(String str); - - String npoint_out(Pointer np, int maxdd); - - Pointer nsegment_in(String str); - - String nsegment_out(Pointer ns, int maxdd); - - Pointer npoint_make(long rid, double pos); - - Pointer nsegment_make(long rid, double pos1, double pos2); - - Pointer geompoint_to_npoint(Pointer gs); - - Pointer geom_to_nsegment(Pointer gs); - - Pointer npoint_to_geompoint(Pointer np); - - Pointer npoint_to_nsegment(Pointer np); - - Pointer npoint_to_stbox(Pointer np); - - Pointer nsegment_to_geom(Pointer ns); - - Pointer nsegment_to_stbox(Pointer ns); - - int npoint_hash(Pointer np); - - int npoint_hash_extended(Pointer np, int seed); - - double npoint_position(Pointer np); - - long npoint_route(Pointer np); - - double nsegment_end_position(Pointer ns); - - long nsegment_route(Pointer ns); - - double nsegment_start_position(Pointer ns); - - boolean route_exists(long rid); - - Pointer route_geom(long rid); - - double route_length(long rid); - - Pointer npoint_round(Pointer np, int maxdd); - - Pointer nsegment_round(Pointer ns, int maxdd); - - int get_srid_ways(); - - int npoint_srid(Pointer np); - - int nsegment_srid(Pointer ns); - - Pointer npoint_timestamptz_to_stbox(Pointer np, long t); - - Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s); - - int npoint_cmp(Pointer np1, Pointer np2); - - boolean npoint_eq(Pointer np1, Pointer np2); - - boolean npoint_ge(Pointer np1, Pointer np2); - - boolean npoint_gt(Pointer np1, Pointer np2); - - boolean npoint_le(Pointer np1, Pointer np2); - - boolean npoint_lt(Pointer np1, Pointer np2); - - boolean npoint_ne(Pointer np1, Pointer np2); - - boolean npoint_same(Pointer np1, Pointer np2); - - int nsegment_cmp(Pointer ns1, Pointer ns2); - - boolean nsegment_eq(Pointer ns1, Pointer ns2); - - boolean nsegment_ge(Pointer ns1, Pointer ns2); - - boolean nsegment_gt(Pointer ns1, Pointer ns2); - - boolean nsegment_le(Pointer ns1, Pointer ns2); - - boolean nsegment_lt(Pointer ns1, Pointer ns2); - - boolean nsegment_ne(Pointer ns1, Pointer ns2); - - Pointer npointset_in(String str); - - String npointset_out(Pointer s, int maxdd); - - Pointer npointset_make(Pointer values, int count); - - Pointer npoint_to_set(Pointer np); - - Pointer npointset_end_value(Pointer s); - - Pointer npointset_routes(Pointer s); - - Pointer npointset_start_value(Pointer s); - - boolean npointset_value_n(Pointer s, int n, Pointer result); - - Pointer npointset_values(Pointer s, Pointer count); - - boolean contained_npoint_set(Pointer np, Pointer s); - - boolean contains_set_npoint(Pointer s, Pointer np); - - Pointer intersection_npoint_set(Pointer np, Pointer s); - - Pointer intersection_set_npoint(Pointer s, Pointer np); - - Pointer minus_npoint_set(Pointer np, Pointer s); - - Pointer minus_set_npoint(Pointer s, Pointer np); - - Pointer npoint_union_transfn(Pointer state, Pointer np); - - Pointer union_npoint_set(Pointer np, Pointer s); - - Pointer union_set_npoint(Pointer s, Pointer np); - - Pointer tnpoint_in(String str); - - Pointer tnpoint_from_mfjson(String mfjson); - - String tnpoint_out(Pointer temp, int maxdd); - - Pointer tnpointinst_make(Pointer np, long t); - - Pointer tnpoint_from_base_temp(Pointer np, Pointer temp); - - Pointer tnpointseq_from_base_tstzset(Pointer np, Pointer s); - - Pointer tnpointseq_from_base_tstzspan(Pointer np, Pointer s, int interp); - - Pointer tnpointseqset_from_base_tstzspanset(Pointer np, Pointer ss, int interp); - - Pointer tgeompoint_to_tnpoint(Pointer temp); - - Pointer tnpoint_to_tgeompoint(Pointer temp); - - Pointer tnpoint_cumulative_length(Pointer temp); - - Pointer tnpoint_end_value(Pointer temp); - - double tnpoint_length(Pointer temp); - - Pointer tnpoint_positions(Pointer temp, Pointer count); - - long tnpoint_route(Pointer temp); - - Pointer tnpoint_routes(Pointer temp); - - Pointer tnpoint_speed(Pointer temp); - - Pointer tnpoint_start_value(Pointer temp); - - Pointer tnpoint_trajectory(Pointer temp); - - boolean tnpoint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tnpoint_value_n(Pointer temp, int n, Pointer result); - - Pointer tnpoint_values(Pointer temp, Pointer count); - - Pointer tnpoint_twcentroid(Pointer temp); - - Pointer tnpoint_at_geom(Pointer temp, Pointer gs); - - Pointer tnpoint_at_npoint(Pointer temp, Pointer np); - - Pointer tnpoint_at_npointset(Pointer temp, Pointer s); - - Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tnpoint_minus_geom(Pointer temp, Pointer gs); - - Pointer tnpoint_minus_npoint(Pointer temp, Pointer np); - - Pointer tnpoint_minus_npointset(Pointer temp, Pointer s); - - Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer tdistance_tnpoint_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - double nad_tnpoint_geo(Pointer temp, Pointer gs); - - double nad_tnpoint_npoint(Pointer temp, Pointer np); - - double nad_tnpoint_stbox(Pointer temp, Pointer box); - - double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer nai_tnpoint_geo(Pointer temp, Pointer gs); - - Pointer nai_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp); - - int always_eq_npoint_tnpoint(Pointer np, Pointer temp); - - int always_eq_tnpoint_npoint(Pointer temp, Pointer np); - - int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int always_ne_npoint_tnpoint(Pointer np, Pointer temp); - - int always_ne_tnpoint_npoint(Pointer temp, Pointer np); - - int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int ever_eq_npoint_tnpoint(Pointer np, Pointer temp); - - int ever_eq_tnpoint_npoint(Pointer temp, Pointer np); - - int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int ever_ne_npoint_tnpoint(Pointer np, Pointer temp); - - int ever_ne_tnpoint_npoint(Pointer temp, Pointer np); - - int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - Pointer teq_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer tne_tnpoint_npoint(Pointer temp, Pointer np); - - Pointer pcpoint_hex_in(String str); - - String pcpoint_hex_out(Pointer pt, int maxdd); - - Pointer pcpoint_from_hexwkb(String hexwkb); - - String pcpoint_as_hexwkb(Pointer pt); - - Pointer pcpoint_copy(Pointer pt); - - int pcpoint_get_pcid(Pointer pt); - - int pcpoint_hash(Pointer pt); - - int pcpoint_hash_extended(Pointer pt, int seed); - - boolean pcpoint_get_x(Pointer pt, Pointer schema, Pointer out); - - boolean pcpoint_get_y(Pointer pt, Pointer schema, Pointer out); - - boolean pcpoint_get_z(Pointer pt, Pointer schema, Pointer out); - - boolean pcpoint_get_dim(Pointer pt, Pointer schema, String name, Pointer out); - - Pointer pcpoint_to_tpcbox(Pointer pt, Pointer schema); - - Pointer meos_pc_schema(int pcid); - - void meos_pc_schema_register(int pcid, Pointer schema); - - void meos_pc_schema_register_xml(int pcid, Pointer schema, String xml_text); - - String meos_pc_schema_xml(int pcid); - - void meos_pc_schema_clear(); - - int pcpoint_cmp(Pointer pt1, Pointer pt2); - - boolean pcpoint_eq(Pointer pt1, Pointer pt2); - - boolean pcpoint_ne(Pointer pt1, Pointer pt2); - - boolean pcpoint_lt(Pointer pt1, Pointer pt2); - - boolean pcpoint_le(Pointer pt1, Pointer pt2); - - boolean pcpoint_gt(Pointer pt1, Pointer pt2); - - boolean pcpoint_ge(Pointer pt1, Pointer pt2); - - Pointer pcpatch_hex_in(String str); - - String pcpatch_hex_out(Pointer pa, int maxdd); - - Pointer pcpatch_from_hexwkb(String hexwkb); - - String pcpatch_as_hexwkb(Pointer pa); - - Pointer pcpatch_copy(Pointer pa); - - int pcpatch_get_pcid(Pointer pa); - - int pcpatch_npoints(Pointer pa); - - int pcpatch_hash(Pointer pa); - - int pcpatch_hash_extended(Pointer pa, int seed); - - int pcpatch_cmp(Pointer pa1, Pointer pa2); - - boolean pcpatch_eq(Pointer pa1, Pointer pa2); - - boolean pcpatch_ne(Pointer pa1, Pointer pa2); - - boolean pcpatch_lt(Pointer pa1, Pointer pa2); - - boolean pcpatch_le(Pointer pa1, Pointer pa2); - - boolean pcpatch_gt(Pointer pa1, Pointer pa2); - - boolean pcpatch_ge(Pointer pa1, Pointer pa2); - - Pointer pcpointset_in(String str); - - String pcpointset_out(Pointer s, int maxdd); - - Pointer pcpointset_make(Pointer values, int count); - - Pointer pcpoint_to_set(Pointer pt); - - Pointer pcpointset_start_value(Pointer s); - - Pointer pcpointset_end_value(Pointer s); - - boolean pcpointset_value_n(Pointer s, int n, Pointer result); - - Pointer pcpointset_values(Pointer s); - - boolean contains_set_pcpoint(Pointer s, Pointer pt); - - boolean contained_pcpoint_set(Pointer pt, Pointer s); - - Pointer intersection_pcpoint_set(Pointer pt, Pointer s); - - Pointer intersection_set_pcpoint(Pointer s, Pointer pt); - - Pointer minus_pcpoint_set(Pointer pt, Pointer s); - - Pointer minus_set_pcpoint(Pointer s, Pointer pt); - - Pointer union_pcpoint_set(Pointer pt, Pointer s); - - Pointer union_set_pcpoint(Pointer s, Pointer pt); - - Pointer pcpoint_union_transfn(Pointer state, Pointer pt); - - Pointer pcpatchset_in(String str); - - String pcpatchset_out(Pointer s, int maxdd); - - Pointer pcpatchset_make(Pointer values, int count); - - Pointer pcpatch_to_set(Pointer pa); - - Pointer pcpatchset_start_value(Pointer s); - - Pointer pcpatchset_end_value(Pointer s); - - boolean pcpatchset_value_n(Pointer s, int n, Pointer result); - - Pointer pcpatchset_values(Pointer s); - - boolean contains_set_pcpatch(Pointer s, Pointer pa); - - boolean contained_pcpatch_set(Pointer pa, Pointer s); - - Pointer intersection_pcpatch_set(Pointer pa, Pointer s); - - Pointer intersection_set_pcpatch(Pointer s, Pointer pa); - - Pointer minus_pcpatch_set(Pointer pa, Pointer s); - - Pointer minus_set_pcpatch(Pointer s, Pointer pa); - - Pointer union_pcpatch_set(Pointer pa, Pointer s); - - Pointer union_set_pcpatch(Pointer s, Pointer pa); - - Pointer pcpatch_union_transfn(Pointer state, Pointer pa); - - Pointer tpcbox_in(String str); - - String tpcbox_out(Pointer box, int maxdd); - - Pointer tpcbox_make(boolean hasx, boolean hasz, boolean hast, boolean geodetic, int srid, int pcid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer period); - - Pointer tpcbox_copy(Pointer box); - - Pointer pcpatch_to_tpcbox(Pointer pa, int srid); - - boolean tpcbox_hasx(Pointer box); - - boolean tpcbox_hasz(Pointer box); - - boolean tpcbox_hast(Pointer box); - - boolean tpcbox_geodetic(Pointer box); - - boolean tpcbox_xmin(Pointer box, Pointer result); - - boolean tpcbox_xmax(Pointer box, Pointer result); - - boolean tpcbox_ymin(Pointer box, Pointer result); - - boolean tpcbox_ymax(Pointer box, Pointer result); - - boolean tpcbox_zmin(Pointer box, Pointer result); - - boolean tpcbox_zmax(Pointer box, Pointer result); - - boolean tpcbox_tmin(Pointer box, Pointer result); - - boolean tpcbox_tmax(Pointer box, Pointer result); - - int tpcbox_srid(Pointer box); - - int tpcbox_pcid(Pointer box); - - Pointer tpcbox_to_stbox(Pointer box); - - void tpcbox_expand(Pointer box1, Pointer box2); - - Pointer tpcbox_round(Pointer box, int maxdd); - - Pointer tpcbox_set_srid(Pointer box, int srid); - - Pointer union_tpcbox_tpcbox(Pointer box1, Pointer box2, boolean strict); - - boolean inter_tpcbox_tpcbox(Pointer box1, Pointer box2, Pointer result); - - Pointer intersection_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean contains_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean contained_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overlaps_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean same_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean adjacent_tpcbox_tpcbox(Pointer box1, Pointer box2); - - int tpcbox_cmp(Pointer box1, Pointer box2); - - boolean tpcbox_eq(Pointer box1, Pointer box2); - - boolean tpcbox_ne(Pointer box1, Pointer box2); - - boolean tpcbox_lt(Pointer box1, Pointer box2); - - boolean tpcbox_le(Pointer box1, Pointer box2); - - boolean tpcbox_gt(Pointer box1, Pointer box2); - - boolean tpcbox_ge(Pointer box1, Pointer box2); - - boolean left_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overleft_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean right_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overright_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean below_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overbelow_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean above_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overabove_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean front_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overfront_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean back_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overback_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean before_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overbefore_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean after_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean overafter_tpcbox_tpcbox(Pointer box1, Pointer box2); - - boolean ensure_same_pcid_tpcbox(Pointer box1, Pointer box2); - - String pose_as_ewkt(Pointer pose, int maxdd); - - String pose_as_hexwkb(Pointer pose, byte variant, Pointer size); - - String pose_as_text(Pointer pose, int maxdd); - - Pointer pose_as_wkb(Pointer pose, byte variant, Pointer size_out); - - Pointer pose_from_wkb(Pointer wkb, long size); - - Pointer pose_from_hexwkb(String hexwkb); - - Pointer pose_in(String str); - - String pose_out(Pointer pose, int maxdd); - - Pointer pose_from_geopose(String json); - - String pose_as_geopose(Pointer pose, int conformance, int precision); - - Pointer tpose_from_geopose(String json); - - String tpose_as_geopose(Pointer temp, int conformance, int precision); - - Pointer pose_apply_geo(Pointer pose, Pointer body); - - Pointer tpose_apply_geo(Pointer temp, Pointer body); - - Pointer pose_copy(Pointer pose); - - Pointer pose_make_2d(double x, double y, double theta, int srid); - - Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid); - - Pointer pose_make_point2d(Pointer gs, double theta); - - Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z); - - Pointer pose_to_point(Pointer pose); - - Pointer pose_to_stbox(Pointer pose); - - int pose_hash(Pointer pose); - - int pose_hash_extended(Pointer pose, int seed); - - Pointer pose_orientation(Pointer pose, Pointer count); - - double pose_rotation(Pointer pose); - - double pose_yaw(Pointer pose); - - double pose_pitch(Pointer pose); - - double pose_roll(Pointer pose); - - double pose_angular_distance(Pointer pose1, Pointer pose2); - - Pointer pose_normalise(Pointer pose); - - Pointer pose_round(Pointer pose, int maxdd); - - Pointer posearr_round(Pointer posearr, int count, int maxdd); - - void pose_set_srid(Pointer pose, int srid); - - int pose_srid(Pointer pose); - - Pointer pose_transform(Pointer pose, int srid); - - Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward); - - Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s); - - Pointer pose_timestamptz_to_stbox(Pointer pose, long t); - - double distance_pose_geo(Pointer pose, Pointer gs); - - double distance_pose_pose(Pointer pose1, Pointer pose2); - - double distance_pose_stbox(Pointer pose, Pointer box); - - int pose_cmp(Pointer pose1, Pointer pose2); - - boolean pose_eq(Pointer pose1, Pointer pose2); - - boolean pose_ge(Pointer pose1, Pointer pose2); - - boolean pose_gt(Pointer pose1, Pointer pose2); - - boolean pose_le(Pointer pose1, Pointer pose2); - - boolean pose_lt(Pointer pose1, Pointer pose2); - - boolean pose_ne(Pointer pose1, Pointer pose2); - - boolean pose_nsame(Pointer pose1, Pointer pose2); - - boolean pose_same(Pointer pose1, Pointer pose2); - - Pointer poseset_in(String str); - - String poseset_out(Pointer s, int maxdd); - - Pointer poseset_make(Pointer values, int count); - - Pointer pose_to_set(Pointer pose); - - Pointer poseset_end_value(Pointer s); - - Pointer poseset_start_value(Pointer s); - - boolean poseset_value_n(Pointer s, int n, Pointer result); - - Pointer poseset_values(Pointer s, Pointer count); - - boolean contained_pose_set(Pointer pose, Pointer s); - - boolean contains_set_pose(Pointer s, Pointer pose); - - Pointer intersection_pose_set(Pointer pose, Pointer s); - - Pointer intersection_set_pose(Pointer s, Pointer pose); - - Pointer minus_pose_set(Pointer pose, Pointer s); - - Pointer minus_set_pose(Pointer s, Pointer pose); - - Pointer pose_union_transfn(Pointer state, Pointer pose); - - Pointer union_pose_set(Pointer pose, Pointer s); - - Pointer union_set_pose(Pointer s, Pointer pose); - - Pointer tpose_from_mfjson(String str); - - Pointer tpose_in(String str); - - Pointer tposeinst_make(Pointer pose, long t); - - Pointer tpose_from_base_temp(Pointer pose, Pointer temp); - - Pointer tposeseq_from_base_tstzset(Pointer pose, Pointer s); - - Pointer tposeseq_from_base_tstzspan(Pointer pose, Pointer s, int interp); - - Pointer tposeseqset_from_base_tstzspanset(Pointer pose, Pointer ss, int interp); - - Pointer tpose_make(Pointer tpoint, Pointer tradius); - - Pointer tpose_to_tpoint(Pointer temp); - - Pointer tpose_end_value(Pointer temp); - - Pointer tpose_points(Pointer temp); - - Pointer tpose_rotation(Pointer temp); - - Pointer tpose_yaw(Pointer temp); - - Pointer tpose_pitch(Pointer temp); - - Pointer tpose_roll(Pointer temp); - - Pointer tpose_speed(Pointer temp); - - Pointer tpose_angular_speed(Pointer temp); - - Pointer tpose_start_value(Pointer temp); - - Pointer tpose_trajectory(Pointer temp); - - boolean tpose_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - boolean tpose_value_n(Pointer temp, int n, Pointer result); - - Pointer tpose_values(Pointer temp, Pointer count); - - Pointer tpose_at_geom(Pointer temp, Pointer gs); - - Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tpose_at_pose(Pointer temp, Pointer pose); - - Pointer tpose_minus_geom(Pointer temp, Pointer gs); - - Pointer tpose_minus_pose(Pointer temp, Pointer pose); - - Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_tpose_pose(Pointer temp, Pointer pose); - - Pointer tdistance_tpose_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2); - - double nad_tpose_geo(Pointer temp, Pointer gs); - - double nad_tpose_pose(Pointer temp, Pointer pose); - - double nad_tpose_stbox(Pointer temp, Pointer box); - - double nad_tpose_tpose(Pointer temp1, Pointer temp2); - - Pointer nai_tpose_geo(Pointer temp, Pointer gs); - - Pointer nai_tpose_pose(Pointer temp, Pointer pose); - - Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2); - - Pointer shortestline_tpose_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tpose_pose(Pointer temp, Pointer pose); - - Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2); - - int always_eq_pose_tpose(Pointer pose, Pointer temp); - - int always_eq_tpose_pose(Pointer temp, Pointer pose); - - int always_eq_tpose_tpose(Pointer temp1, Pointer temp2); - - int always_ne_pose_tpose(Pointer pose, Pointer temp); - - int always_ne_tpose_pose(Pointer temp, Pointer pose); - - int always_ne_tpose_tpose(Pointer temp1, Pointer temp2); - - int ever_eq_pose_tpose(Pointer pose, Pointer temp); - - int ever_eq_tpose_pose(Pointer temp, Pointer pose); - - int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2); - - int ever_ne_pose_tpose(Pointer pose, Pointer temp); - - int ever_ne_tpose_pose(Pointer temp, Pointer pose); - - int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2); - - Pointer teq_pose_tpose(Pointer pose, Pointer temp); - - Pointer teq_tpose_pose(Pointer temp, Pointer pose); - - Pointer tne_pose_tpose(Pointer pose, Pointer temp); - - Pointer tne_tpose_pose(Pointer temp, Pointer pose); - - String trgeometry_out(Pointer temp); - - Pointer trgeoinst_make(Pointer geom, Pointer pose, long t); - - Pointer geo_tpose_to_trgeometry(Pointer gs, Pointer temp); - - Pointer trgeometry_to_tpose(Pointer temp); - - Pointer trgeometry_to_tpoint(Pointer temp); - - Pointer trgeometry_to_tgeometry(Pointer temp); - - Pointer trgeometry_end_instant(Pointer temp); - - Pointer trgeometry_end_sequence(Pointer temp); - - Pointer trgeometry_end_value(Pointer temp); - - Pointer trgeometry_geom(Pointer temp); - - Pointer trgeometry_instant_n(Pointer temp, int n); - - Pointer trgeometry_instants(Pointer temp, Pointer count); - - Pointer trgeometry_points(Pointer temp); - - Pointer trgeometry_rotation(Pointer temp); - - Pointer trgeometry_segments(Pointer temp, Pointer count); - - Pointer trgeometry_sequence_n(Pointer temp, int i); - - Pointer trgeometry_sequences(Pointer temp, Pointer count); - - Pointer trgeometry_start_instant(Pointer temp); - - Pointer trgeometry_start_sequence(Pointer temp); - - Pointer trgeometry_start_value(Pointer temp); - - boolean trgeometry_value_n(Pointer temp, int n, Pointer result); - - Pointer trgeometry_traversed_area(Pointer temp, boolean unary_union); - - Pointer trgeometry_centroid(Pointer temp); - - Pointer trgeometry_convex_hull(Pointer temp); - - Pointer trgeometry_body_point_trajectory(Pointer temp, Pointer gs); - - Pointer trgeometry_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer trgeometry_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer trgeometry_stboxes(Pointer temp, Pointer count); - - Pointer trgeometry_split_n_stboxes(Pointer temp, int box_count, Pointer count); - - Pointer trgeometry_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count); - - double trgeometry_hausdorff_distance(Pointer temp1, Pointer temp2); - - double trgeometry_frechet_distance(Pointer temp1, Pointer temp2); - - double trgeometry_dyntimewarp_distance(Pointer temp1, Pointer temp2); - - Pointer trgeometry_frechet_path(Pointer temp1, Pointer temp2, Pointer count); - - Pointer trgeometry_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count); - - double trgeometry_length(Pointer temp); - - Pointer trgeometry_cumulative_length(Pointer temp); - - Pointer trgeometry_speed(Pointer temp); - - Pointer trgeometry_twcentroid(Pointer temp); - - Pointer trgeometry_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); - - Pointer trgeometry_append_tsequence(Pointer temp, Pointer seq, boolean expand); - - Pointer trgeometry_delete_timestamptz(Pointer temp, long t, boolean connect); - - Pointer trgeometry_delete_tstzset(Pointer temp, Pointer s, boolean connect); - - Pointer trgeometry_delete_tstzspan(Pointer temp, Pointer s, boolean connect); - - Pointer trgeometry_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); - - Pointer trgeometry_round(Pointer temp, int maxdd); - - Pointer trgeometry_set_interp(Pointer temp, int interp); - - Pointer trgeometry_to_tinstant(Pointer temp); - - Pointer trgeometry_after_timestamptz(Pointer temp, long t, boolean strict); - - Pointer trgeometry_before_timestamptz(Pointer temp, long t, boolean strict); - - Pointer trgeometry_restrict_values(Pointer temp, Pointer s, boolean atfunc); - - Pointer trgeometry_restrict_timestamptz(Pointer temp, long t, boolean atfunc); - - Pointer trgeometry_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc); - - Pointer trgeometry_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc); - - Pointer trgeometry_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc); - - Pointer trgeometry_at_geom(Pointer temp, Pointer gs); - - Pointer trgeometry_minus_geom(Pointer temp, Pointer gs); - - Pointer trgeometry_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer trgeometry_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tdistance_trgeometry_geo(Pointer temp, Pointer gs); - - Pointer tdistance_trgeometry_tpoint(Pointer temp1, Pointer temp2); - - Pointer tdistance_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - double nad_stbox_trgeometry(Pointer box, Pointer temp); - - double nad_trgeometry_geo(Pointer temp, Pointer gs); - - double nad_trgeometry_stbox(Pointer temp, Pointer box); - - double nad_trgeometry_tpoint(Pointer temp1, Pointer temp2); - - double nad_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - Pointer nai_trgeometry_geo(Pointer temp, Pointer gs); - - Pointer nai_trgeometry_tpoint(Pointer temp1, Pointer temp2); - - Pointer nai_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - Pointer shortestline_trgeometry_geo(Pointer temp, Pointer gs); - - Pointer shortestline_trgeometry_tpoint(Pointer temp1, Pointer temp2); - - Pointer shortestline_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - int always_eq_geo_trgeometry(Pointer gs, Pointer temp); - - int always_eq_trgeometry_geo(Pointer temp, Pointer gs); - - int always_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - int always_ne_geo_trgeometry(Pointer gs, Pointer temp); - - int always_ne_trgeometry_geo(Pointer temp, Pointer gs); - - int always_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - int ever_eq_geo_trgeometry(Pointer gs, Pointer temp); - - int ever_eq_trgeometry_geo(Pointer temp, Pointer gs); - - int ever_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - int ever_ne_geo_trgeometry(Pointer gs, Pointer temp); - - int ever_ne_trgeometry_geo(Pointer temp, Pointer gs); - - int ever_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2); - - Pointer teq_geo_trgeometry(Pointer gs, Pointer temp); - - Pointer teq_trgeometry_geo(Pointer temp, Pointer gs); - - Pointer tne_geo_trgeometry(Pointer gs, Pointer temp); - - Pointer tne_trgeometry_geo(Pointer temp, Pointer gs); - - int econtains_geo_trgeo(Pointer gs, Pointer temp); - - int acontains_geo_trgeo(Pointer gs, Pointer temp); - - int ecovers_geo_trgeo(Pointer gs, Pointer temp); - - int acovers_geo_trgeo(Pointer gs, Pointer temp); - - int ecovers_trgeo_geo(Pointer temp, Pointer gs); - - int acovers_trgeo_geo(Pointer temp, Pointer gs); - - int edisjoint_trgeo_geo(Pointer temp, Pointer gs); - - int adisjoint_trgeo_geo(Pointer temp, Pointer gs); - - int eintersects_trgeo_geo(Pointer temp, Pointer gs); - - int aintersects_trgeo_geo(Pointer temp, Pointer gs); - - int etouches_trgeo_geo(Pointer temp, Pointer gs); - - int atouches_trgeo_geo(Pointer temp, Pointer gs); - - int edwithin_trgeo_geo(Pointer temp, Pointer gs, double dist); - - int adwithin_trgeo_geo(Pointer temp, Pointer gs, double dist); - - int edisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int adisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int eintersects_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int aintersects_trgeo_trgeo(Pointer temp1, Pointer temp2); - - int edwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist); - - int adwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist); - - boolean ensure_valid_tnpoint_npoint(Pointer temp, Pointer np); - - boolean ensure_valid_tnpoint_npointset(Pointer temp, Pointer s); - - boolean ensure_valid_tnpoint_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_tnpoint_stbox(Pointer temp, Pointer box); - - boolean ensure_valid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - int tnpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); - - boolean common_rid_tnpoint_npoint(Pointer temp, Pointer np); - - boolean common_rid_tnpoint_npointset(Pointer temp, Pointer s); - - boolean common_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - boolean npoint_collinear(Pointer np1, Pointer np2, Pointer np3, double ratio); - - Pointer npointsegm_interpolate(Pointer start, Pointer end, Pointer ratio); - - Pointer npointsegm_locate(Pointer start, Pointer end, Pointer value); - - Pointer npointarr_geom(Pointer points, int count); - - Pointer nsegmentarr_geom(Pointer segments, int count); - - Pointer nsegmentarr_normalize(Pointer segments, Pointer count); - - String npoint_wkt_out(Pointer value, int maxdd); - - void npoint_set(long rid, double pos, Pointer np); - - void nsegment_set(long rid, double pos1, double pos2, Pointer ns); - - Pointer datum_npoint_round(Pointer npoint, Pointer size); - - Pointer tnpointinst_tgeompointinst(Pointer inst); - - Pointer tnpointseq_tgeompointseq_disc(Pointer is); - - Pointer tnpointseq_tgeompointseq_cont(Pointer seq); - - Pointer tnpointseqset_tgeompointseqset(Pointer ss); - - Pointer tgeompointinst_tnpointinst(Pointer inst); - - Pointer tgeompointseq_tnpointseq(Pointer seq); - - Pointer tgeompointseqset_tnpointseqset(Pointer ss); - - Pointer tnpointinst_positions(Pointer inst); - - Pointer tnpointseq_positions(Pointer seq, Pointer count); - - Pointer tnpointseqset_positions(Pointer ss, Pointer count); - - long tnpointinst_route(Pointer inst); - - Pointer tnpointinst_routes(Pointer inst); - - Pointer tnpointseq_disc_routes(Pointer is); - - Pointer tnpointseq_cont_routes(Pointer seq); - - Pointer tnpointseqset_routes(Pointer ss); - - Pointer tnpointseq_linear_positions(Pointer seq); - - Pointer tnpoint_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tnpoint_restrict_npoint(Pointer temp, Pointer np, boolean atfunc); - - Pointer tnpoint_restrict_npointset(Pointer temp, Pointer s, boolean atfunc); - - boolean npoint_set_stbox(Pointer np, Pointer box); - - void npointarr_set_stbox(Pointer values, int count, Pointer box); - - boolean nsegment_set_stbox(Pointer ns, Pointer box); - - boolean npoint_timestamptz_set_stbox(Pointer np, long t, Pointer box); - - boolean npoint_tstzspan_set_stbox(Pointer np, Pointer s, Pointer box); - - void tnpointinst_set_stbox(Pointer inst, Pointer box); - - void tnpointinstarr_set_stbox(Pointer inst, int count, int interp, Pointer box); - - void tnpointseq_expand_stbox(Pointer seq, Pointer inst); - - Pointer datum_npoint_distance(Pointer np1, Pointer np2); - - Pointer npoint_parse(Pointer str, boolean end); - - Pointer nsegment_parse(Pointer str); - - boolean contains_rid_tnpoint_bigint(Pointer temp, long rid, int invert); - - boolean contained_rid_tnpoint_bigint(Pointer temp, long rid, boolean invert); - - boolean same_rid_tnpoint_bigint(Pointer temp, long rid, int invert); - - boolean overlaps_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert); - - boolean contains_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert); - - boolean contained_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert); - - boolean same_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert); - - boolean contains_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert); - - boolean contained_rid_npoint_tnpoint(Pointer temp, Pointer np, boolean invert); - - boolean same_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert); - - boolean overlaps_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - boolean contains_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - boolean contained_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - boolean same_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2); - - boolean ensure_same_rid_tnpointinst(Pointer inst1, Pointer inst2); - - Pointer tnpoint_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); - - int meos_pc_schema_get_srid(int pcid); - - boolean ensure_same_pcid_pcpatch(Pointer pa1, Pointer pa2); - - boolean ensure_valid_pcpatchset_pcpatch(Pointer s, Pointer pa); - - Pointer pcpatch_parse(Pointer str, boolean end); - - Pointer pcpatch_filter_per_point(Pointer pa, int pred, Pointer extra, boolean keep_when_true); - - boolean pcpatch_any_point_matches(Pointer pa, int pred, Pointer extra); - - boolean pcpoint_in_tpcbox(Pointer pt, Pointer extra); - - boolean pcpoint_intersects_geometry(Pointer pt, Pointer extra); - - boolean ensure_same_pcid_pcpoint(Pointer pt1, Pointer pt2); - - boolean ensure_valid_pcpointset_pcpoint(Pointer s, Pointer pt); - - Pointer pcpoint_parse(Pointer str, boolean end); - - Pointer meos_pc_point_serialize(Pointer pcpt); - - Pointer meos_pc_point_deserialize(Pointer serpt, Pointer schema); - - long meos_pc_patch_serialized_size(Pointer patch); - - Pointer meos_pc_patch_serialize(Pointer patch_in, Pointer userdata); - - Pointer meos_pc_patch_serialize_to_uncompressed(Pointer patch_in); - - Pointer meos_pc_patch_deserialize(Pointer serpatch, Pointer schema); - - void tpointcloudinst_set_tpcbox(Pointer inst, Pointer box); - - void tpointcloudinstarr_set_tpcbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box); - - void tpointcloudseq_expand_tpcbox(Pointer seq, Pointer inst); - - void tpointcloudseqarr_set_tpcbox(Pointer sequences, int count, Pointer box); - - Pointer tpcbox_extent_transfn(Pointer state, Pointer temp); - - boolean boxop_tpointcloud_tpcbox(Pointer temp, Pointer box, Pointer func, boolean inverted); - - boolean boxop_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2, Pointer func); - - void tpcbox_set_stbox(Pointer src, Pointer dst); - - double nad_tpcbox_tpcbox(Pointer box1, Pointer box2); - - double nad_tpointcloud_tpcbox(Pointer temp, Pointer box); - - double nad_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2); - - boolean tpcbox_index_leaf_consistent(Pointer key, Pointer query, int strategy); - - boolean tpcbox_gist_inner_consistent(Pointer key, Pointer query, int strategy); - - boolean tpcbox_index_recheck(int strategy); - - boolean ensure_valid_pose_geo(Pointer pose, Pointer gs); - - boolean ensure_valid_pose_stbox(Pointer pose, Pointer box); - - boolean ensure_valid_pose_pose(Pointer pose1, Pointer pose2); - - boolean ensure_valid_poseset_pose(Pointer s, Pointer pose); - - boolean pose_collinear(Pointer pose1, Pointer pose2, Pointer pose3, double ratio); - - Pointer posesegm_interpolate(Pointer start, Pointer end, double ratio); - - Pointer posesegm_locate(Pointer start, Pointer end, Pointer value); - - String pose_wkt_out(Pointer pose, boolean extended, int maxdd); - - Pointer pose_parse(Pointer str, boolean end); - - Pointer datum_pose_point(Pointer pose); - - Pointer datum_pose_rotation(Pointer pose); - - Pointer datum_pose_yaw(Pointer pose); - - Pointer datum_pose_pitch(Pointer pose); - - Pointer datum_pose_roll(Pointer pose); - - Pointer datum_pose_apply_geo(Pointer pose, Pointer body); - - Pointer datum_pose_round(Pointer pose, Pointer size); - - Pointer pose_distance(Pointer pose1, Pointer pose2); - - boolean pose_set_stbox(Pointer pose, Pointer box); - - void posearr_set_stbox(Pointer values, int count, Pointer box); - - boolean pose_timestamptz_set_stbox(Pointer pose, long t, Pointer box); - - boolean pose_tstzspan_set_stbox(Pointer pose, Pointer p, Pointer box); - - boolean ensure_valid_tpose_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_tpose_pose(Pointer temp, Pointer pose); - - boolean ensure_valid_tpose_stbox(Pointer temp, Pointer box); - - boolean ensure_valid_tpose_tpose(Pointer temp1, Pointer temp2); - - int tposesegm_intersection_value(Pointer start, Pointer end, Pointer value, long lower, long upper, Pointer t1, Pointer t2); - - int tposesegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, long lower, long upper, Pointer t1, Pointer t2); - - void tposeinst_set_stbox(Pointer inst, Pointer box); - - void tposeinstarr_set_stbox(Pointer instants, int count, Pointer box); - - void tposeseq_expand_stbox(Pointer seq, Pointer inst); - - Pointer tpose_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); - - Pointer tpose_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); - - Pointer tpose_restrict_elevation(Pointer temp, Pointer s, boolean atfunc); - - int geo_get_srid(Pointer g); - - Pointer cstring_to_text(String str); - - String text_to_cstring(Pointer txt); - - int date_in(String str); - - String date_out(int date); - - int interval_cmp(Pointer interv1, Pointer interv2); - - Pointer interval_in(String str, int typmod); - - Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs); - - String interval_out(Pointer interv); - - Pointer time_in(String str, int typmod); - - String time_out(Pointer time); - - long timestamp_in(String str, int typmod); - - String timestamp_out(long ts); - - long timestamptz_in(String str, int typmod); - - String timestamptz_out(long tstz); - - boolean ensure_has_geom(short flags); - - boolean ensure_valid_trgeo_geo(Pointer temp, Pointer gs); - - boolean ensure_valid_trgeo_stbox(Pointer temp, Pointer box); - - boolean ensure_valid_trgeo_trgeo(Pointer temp1, Pointer temp2); - - boolean ensure_valid_trgeo_tpoint(Pointer temp1, Pointer temp2); - - Pointer trgeo_geom_p(Pointer temp); - - String trgeo_wkt_out(Pointer temp, int maxdd, boolean extended); - - Pointer geo_tposeinst_to_trgeo(Pointer gs, Pointer inst); - - Pointer geo_tposeseq_to_trgeo(Pointer gs, Pointer seq); - - Pointer geo_tposeseqset_to_trgeo(Pointer gs, Pointer ss); - - boolean trgeo_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer result); - - Pointer trgeometry_restrict_value(Pointer temp, Pointer value, boolean atfunc); - - Pointer trgeoinst_geom_p(Pointer inst); - - long trgeoinst_pose_varsize(Pointer inst); - - void trgeoinst_set_pose(Pointer inst); - - Pointer trgeoinst_tposeinst(Pointer inst); - - Pointer trgeoinst_make1(Pointer geom, Pointer pose, long t); - - Pointer trgeoseq_to_tinstant(Pointer seq); - - Pointer trgeoseqset_to_tinstant(Pointer ts); - - Pointer trgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc); - - Pointer trgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc); - - int spatialrel_trgeo_trav_geo(Pointer temp, Pointer gs, Pointer param, Pointer func, int numparam, boolean invert); - - int ea_contains_geo_trgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_contains_trgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_contains_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); - - int ea_covers_geo_trgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_covers_trgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_covers_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); - - int ea_disjoint_geo_trgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_disjoint_trgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_disjoint_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); - - int ea_intersects_geo_trgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_intersects_trgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_intersects_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); - - int ea_touches_geo_trgeo(Pointer gs, Pointer temp, boolean ever); - - int ea_touches_trgeo_geo(Pointer temp, Pointer gs, boolean ever); - - int ea_touches_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever); - - int ea_dwithin_trgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever); - - int ea_dwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist, boolean ever); - - Pointer trgeoseq_geom_p(Pointer seq); - - long trgeoseq_pose_varsize(Pointer seq); - - void trgeoseq_set_pose(Pointer seq); - - Pointer trgeoseq_tposeseq(Pointer seq); - - boolean trgeoseq_make_valid(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, boolean linear); - - Pointer trgeoseq_make1_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer trgeoseq_make1(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer trgeoseq_make_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer trgeoseq_make(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer trgeoseq_make_free_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer trgeoseq_make_free(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer trgeoinst_to_tsequence(Pointer inst, int interp); - - Pointer trgeoseqset_geom_p(Pointer ts); - - Pointer trgeoseqset_tposeseqset(Pointer ss); - - Pointer trgeoseqset_make1_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize); - - Pointer trgeoseqset_make_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize); - - Pointer trgeoseqset_make(Pointer geom, Pointer sequences, int count, boolean normalize); - - Pointer trgeoseqset_make_free(Pointer geom, Pointer sequences, int count, boolean normalize); - - Pointer trgeoseqset_make_gaps(Pointer geom, Pointer instants, int count, int interp, Pointer maxt, double maxdist); - - Pointer trgeoseqset_to_tsequence(Pointer ss); - - Pointer trgeo_to_tsequence(Pointer temp, String interp_str); - - Pointer trgeo_to_tsequenceset(Pointer temp, String interp_str); - - void trgeoinst_set_stbox(Pointer geom, Pointer inst, Pointer box); - - void trgeoinstarr_static_stbox(Pointer geom, Pointer instants, int count, Pointer box); - - void trgeoinstarr_rotating_stbox(Pointer geom, Pointer instants, int count, Pointer box); - - void trgeoinstarr_compute_bbox(Pointer geom, Pointer instants, int count, int interp, Pointer box); - - boolean ensure_span_isof_type(Pointer s, int spantype); - - boolean ensure_span_isof_basetype(Pointer s, int basetype); - - boolean ensure_same_span_type(Pointer s1, Pointer s2); - - boolean ensure_valid_span_span(Pointer s1, Pointer s2); - - void span_deserialize(Pointer s, Pointer lower, Pointer upper); - - int span_bound_cmp(Pointer b1, Pointer b2); - - int span_bound_qsort_cmp(Pointer s1, Pointer s2); - - int span_lower_cmp(Pointer s1, Pointer s2); - - int span_upper_cmp(Pointer s1, Pointer s2); - - Pointer span_decr_bound(Pointer upper, int basetype); - - Pointer span_incr_bound(Pointer upper, int basetype); - - Pointer spanarr_normalize(Pointer spans, int count, boolean sort, Pointer newcount); - - void span_bounds_shift_scale_value(Pointer shift, Pointer width, int type, boolean hasshift, boolean haswidth, Pointer lower, Pointer upper); - - void span_bounds_shift_scale_time(Pointer shift, Pointer duration, Pointer lower, Pointer upper); - - void floatspan_floor_ceil_iter(Pointer s, int func); - - void numspan_delta_scale_iter(Pointer s, Pointer origin, Pointer delta, boolean hasdelta, double scale); - - void tstzspan_delta_scale_iter(Pointer s, long origin, long delta, double scale); - - void numspan_shift_scale_iter(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth, Pointer delta, Pointer scale); - - void tstzspan_shift_scale1(Pointer s, Pointer shift, Pointer duration, Pointer delta, Pointer scale); - - int mi_span_value(Pointer s, Pointer value, Pointer result); - - double dist_double_value_value(Pointer l, Pointer r, int type); - - int trgeo_geom_clip_polygon(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer pa, Pointer intervals_out); - - int trgeo_geom_clip_lwpoly(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer poly, Pointer intervals_out); - - int trgeo_geom_clip_box(Pointer a1, Pointer b1, Pointer a2, Pointer b2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out); - - int trgeo_geom_clip_polygon_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer pa, Pointer intervals_out); - - int trgeo_geom_clip_lwpoly_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer poly, Pointer intervals_out); - - int trgeo_geom_clip_box_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out); - - int trgeo_geom_clip_lwgeom(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer geom, Pointer intervals_out); - - int trgeo_geom_clip_lwgeom_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer geom, Pointer intervals_out); - - Pointer trgeo_parse(Pointer str, int temptype); - - boolean ensure_same_geom(Pointer gs1, Pointer gs2); - - void lwgeom_apply_pose(Pointer pose, Pointer geom); - - Pointer geom_apply_pose(Pointer gs, Pointer pose); - - double geom_radius(Pointer gs); - - int v_clip_tpoly_point(Pointer poly, Pointer point, Pointer pose, Pointer poly_feature, Pointer dist); - - int v_clip_tpoly_tpoly(Pointer poly1, Pointer poly2, Pointer pose1, Pointer pose2, Pointer poly1_feature, Pointer poly2_feature, Pointer dist); - - void apply_pose_point4d(Pointer p, Pointer pose); - - Pointer tfunc_tinstant(Pointer inst, Pointer lfinfo); - - Pointer tfunc_tsequence(Pointer seq, Pointer lfinfo); - - Pointer tfunc_tsequenceset(Pointer ss, Pointer lfinfo); - - Pointer tfunc_temporal(Pointer temp, Pointer lfinfo); - - Pointer tfunc_tinstant_base(Pointer inst, Pointer value, Pointer lfinfo); - - Pointer tfunc_tsequence_base(Pointer seq, Pointer value, Pointer lfinfo); - - Pointer tfunc_tsequenceset_base(Pointer ss, Pointer value, Pointer lfinfo); - - Pointer tfunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo); - - Pointer tfunc_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer lfinfo); - - Pointer tfunc_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer lfinfo); - - Pointer tfunc_tcontseq_tcontseq(Pointer seq1, Pointer seq2, Pointer lfinfo); - - Pointer tfunc_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, Pointer lfinfo); - - Pointer tfunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo); - - int eafunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo); - - int eafunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo); - - Pointer lfunc_set(Pointer set, Pointer lfinfo); - - String set_out_fn(Pointer s, int maxdd, Pointer value_out); - - boolean ensure_set_isof_type(Pointer s, int settype); - - boolean ensure_valid_set_set(Pointer s1, Pointer s2); - - boolean set_find_value(Pointer s, Pointer arg1, Pointer loc); - - Pointer set_unnest_state_make(Pointer set); - - void set_unnest_state_next(Pointer state); - - boolean ensure_same_skiplist_subtype(Pointer state, byte subtype); - - void skiplist_set_extra(Pointer state, Pointer data, long size); - - Pointer skiplist_headval(Pointer list); - - int common_entry_cmp(Pointer i1, Pointer i2); - - boolean span_index_leaf_consistent(Pointer key, Pointer query, int strategy); - - boolean span_gist_inner_consistent(Pointer key, Pointer query, int strategy); - - boolean span_index_recheck(int strategy); - - int span_lower_qsort_cmp(Pointer a, Pointer b); - - int span_upper_qsort_cmp(Pointer a, Pointer b); - - byte getQuadrant2D(Pointer centroid, Pointer query); - - boolean overlap2D(Pointer nodebox, Pointer query); - - boolean contain2D(Pointer nodebox, Pointer query); - - boolean left2D(Pointer nodebox, Pointer query); - - boolean overLeft2D(Pointer nodebox, Pointer query); - - boolean right2D(Pointer nodebox, Pointer query); - - boolean overRight2D(Pointer nodebox, Pointer query); - - boolean adjacent2D(Pointer nodebox, Pointer query); - - double distance_span_nodespan(Pointer query, Pointer nodebox); - - boolean span_spgist_get_span(Pointer value, int type, Pointer result); - - void spannode_init(Pointer nodebox, int spantype, int basetype); - - Pointer spannode_copy(Pointer orig); - - void spannode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodespan); - - void spannode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodespan); - - boolean ensure_spanset_isof_type(Pointer ss, int spansettype); - - boolean ensure_same_spanset_type(Pointer ss1, Pointer ss2); - - boolean ensure_same_spanset_span_type(Pointer ss, Pointer s); - - boolean ensure_valid_spanset_span(Pointer ss, Pointer s); - - boolean ensure_valid_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean spanset_find_value(Pointer ss, Pointer v, Pointer loc); - - Pointer datum_and(Pointer l, Pointer r); - - Pointer datum_or(Pointer l, Pointer r); - - Pointer boolop_tbool_bool(Pointer temp, Pointer b, Pointer func, boolean invert); - - Pointer boolop_tbool_tbool(Pointer temp1, Pointer temp2, Pointer func); - - boolean ensure_same_dimensionality_tbox(Pointer box1, Pointer box2); - - Pointer set_tbox(Pointer s); - - Pointer span_tbox(Pointer s); - - Pointer tbox_tstzspan(Pointer box); - - Pointer tbox_intspan(Pointer box); - - Pointer tbox_floatspan(Pointer box); - - boolean tbox_index_leaf_consistent(Pointer key, Pointer query, int strategy); - - boolean tbox_gist_inner_consistent(Pointer key, Pointer query, int strategy); - - boolean tbox_index_recheck(int strategy); - - void tboxnode_init(Pointer centroid, Pointer nodebox); - - Pointer tboxnode_copy(Pointer box); - - byte getQuadrant4D(Pointer centroid, Pointer inBox); - - void tboxnode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodebox); - - void tboxnode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodebox); - - boolean overlap4D(Pointer nodebox, Pointer query); - - boolean contain4D(Pointer nodebox, Pointer query); - - boolean left4D(Pointer nodebox, Pointer query); - - boolean overLeft4D(Pointer nodebox, Pointer query); - - boolean right4D(Pointer nodebox, Pointer query); - - boolean overRight4D(Pointer nodebox, Pointer query); - - boolean before4D(Pointer nodebox, Pointer query); - - boolean overBefore4D(Pointer nodebox, Pointer query); - - boolean after4D(Pointer nodebox, Pointer query); - - boolean overAfter4D(Pointer nodebox, Pointer query); - - double distance_tbox_nodebox(Pointer query, Pointer nodebox); - - void tnumber_spgist_get_tbox(Pointer value, int type, Pointer result); - - int tbox_xmin_cmp(Pointer box1, Pointer box2); - - int tbox_xmax_cmp(Pointer box1, Pointer box2); - - int tbox_tmin_cmp(Pointer box1, Pointer box2); - - int tbox_tmax_cmp(Pointer box1, Pointer box2); - - int tbox_level_cmp(Pointer centroid, Pointer query, int level); - - Pointer datum_min_int32(Pointer l, Pointer r); - - Pointer datum_max_int32(Pointer l, Pointer r); - - Pointer datum_min_int64(Pointer l, Pointer r); - - Pointer datum_max_int64(Pointer l, Pointer r); - - Pointer datum_min_float8(Pointer l, Pointer r); - - Pointer datum_max_float8(Pointer l, Pointer r); - - Pointer datum_sum_int32(Pointer l, Pointer r); - - Pointer datum_sum_int64(Pointer l, Pointer r); - - Pointer datum_sum_float8(Pointer l, Pointer r); - - Pointer datum_min_text(Pointer l, Pointer r); - - Pointer datum_max_text(Pointer l, Pointer r); - - Pointer datum_sum_double2(Pointer l, Pointer r); - - Pointer datum_sum_double3(Pointer l, Pointer r); - - Pointer datum_sum_double4(Pointer l, Pointer r); - - int temporal_skiplist_common(Pointer list, Pointer values, int count, Pointer lower, Pointer upper, Pointer update); - - Pointer temporal_skiplist_merge(Pointer spliced, int spliced_count, Pointer values, int count, Pointer func, boolean crossings, Pointer newcount, Pointer tofree, Pointer nfree); - - Pointer tinstant_tagg(Pointer instants1, int count1, Pointer instants2, int count2, Pointer func, Pointer newcount, Pointer tofree, Pointer nfree); - - Pointer tsequence_tagg(Pointer sequences1, int count1, Pointer sequences2, int count2, Pointer func, boolean crossings, Pointer newcount); - - Pointer tcontseq_tagg_transfn(Pointer state, Pointer seq, Pointer func, boolean interpoint); - - Pointer temporal_tagg_combinefn(Pointer state1, Pointer state2, Pointer func, boolean crossings); - - Pointer tinstant_tagg_transfn(Pointer state, Pointer inst, Pointer func); - - Pointer tinstant_tavg_finalfn(Pointer instants, int count); - - Pointer tsequence_tavg_finalfn(Pointer sequences, int count); - - Pointer tnumberinst_transform_tavg(Pointer inst); - - Pointer temporal_transform_tcount(Pointer temp, Pointer count); - - Pointer temporal_transform_tagg(Pointer temp, Pointer count, Pointer func); - - Pointer tsequenceset_tagg_transfn(Pointer state, Pointer ss, Pointer func, boolean crossings); - - Pointer tdiscseq_tagg_transfn(Pointer state, Pointer seq, Pointer func); - - Pointer temporal_tagg_transfn(Pointer state, Pointer temp, Pointer arg2, boolean crossings); - - Pointer temporal_tagg_transform_transfn(Pointer state, Pointer temp, Pointer func, boolean crossings, Pointer transform); - - double temporal_similarity(Pointer temp1, Pointer temp2, int simfunc); - - Pointer temporal_similarity_path(Pointer temp1, Pointer temp2, Pointer count, int simfunc); - - long temporal_bbox_size(int tempype); - - void tinstarr_set_bbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer bbox); - - void tsequence_compute_bbox(Pointer seq); - - void tseqarr_compute_bbox(Pointer sequences, int count, Pointer bbox); - - void tsequenceset_compute_bbox(Pointer ss); - - boolean boxop_temporal_tstzspan(Pointer temp, Pointer s, Pointer func, boolean invert); - - boolean boxop_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func); - - boolean boxop_tnumber_numspan(Pointer temp, Pointer span, Pointer func, boolean invert); - - boolean boxop_tnumber_tbox(Pointer temp, Pointer box, Pointer func, boolean invert); - - boolean boxop_tnumber_tnumber(Pointer temp1, Pointer temp2, Pointer func); - - int eacomp_base_temporal(Pointer value, Pointer temp, Pointer func, boolean ever); - - int eacomp_temporal_base(Pointer temp, Pointer value, Pointer func, boolean ever); - - int eacomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func, boolean ever); - - Pointer tcomp_base_temporal(Pointer value, Pointer temp, Pointer func); - - Pointer tcomp_temporal_base(Pointer temp, Pointer value, Pointer func); - - Pointer tcomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func); - - Pointer tdiscseq_at_timestamptz(Pointer seq, long t); - - Pointer tdiscseq_restrict_value(Pointer seq, Pointer value, boolean atfunc); - - Pointer tdiscseq_restrict_values(Pointer seq, Pointer s, boolean atfunc); - - Pointer tdiscseq_minus_timestamptz(Pointer seq, long t); - - Pointer tdiscseq_restrict_tstzset(Pointer seq, Pointer s, boolean atfunc); - - Pointer tdiscseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); - - int tcontseq_restrict_value_iter(Pointer seq, Pointer value, boolean atfunc, Pointer result); - - Pointer tcontseq_delete_timestamptz(Pointer seq, long t); - - Pointer tcontseq_delete_tstzset(Pointer seq, Pointer s); - - Pointer tcontseq_delete_tstzspanset(Pointer seq, Pointer ss); - - Pointer tcontseq_at_tstzset(Pointer seq, Pointer s); - - Pointer tcontseq_minus_timestamptz(Pointer seq, long t); - - Pointer tcontseq_minus_tstzset(Pointer seq, Pointer s); - - Pointer tcontseq_minus_tstzspan(Pointer seq, Pointer s); - - Pointer tcontseq_restrict_value(Pointer seq, Pointer value, boolean atfunc); - - Pointer tcontseq_restrict_values(Pointer seq, Pointer s, boolean atfunc); - - int tsequence_at_values_iter(Pointer seq, Pointer set, Pointer result); - - int tnumberseq_cont_restrict_span_iter(Pointer seq, Pointer span, boolean atfunc, Pointer result); - - int tnumberseq_cont_restrict_spanset_iter(Pointer seq, Pointer ss, boolean atfunc, Pointer result); - - Pointer tsegment_at_timestamptz(Pointer inst1, Pointer inst2, int interp, long t); - - int tcontseq_minus_timestamp_iter(Pointer seq, long t, Pointer result); - - int tcontseq_minus_tstzset_iter(Pointer seq, Pointer s, Pointer result); - - int tcontseq_at_tstzspanset1(Pointer seq, Pointer ss, Pointer result); - - int tcontseq_minus_tstzspanset_iter(Pointer seq, Pointer ss, Pointer result); - - Pointer tcontseq_at_tstzspan(Pointer seq, Pointer s); - - Pointer tcontseq_at_timestamptz(Pointer seq, long t); - - Pointer tcontseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc); - - boolean tdiscseq_value_at_timestamptz(Pointer seq, long t, Pointer result); - - Pointer tnumberseq_disc_restrict_span(Pointer seq, Pointer span, boolean atfunc); - - Pointer tnumberseq_disc_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc); - - Pointer tnumberseq_cont_restrict_span(Pointer seq, Pointer span, boolean atfunc); - - Pointer tnumberseq_cont_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc); - - double tnumberseq_cont_twavg(Pointer seq); - - int span_num_bins(Pointer s, Pointer size, Pointer origin, Pointer start_bin, Pointer end_bin); - - Pointer temporal_time_bin_init(Pointer temp, Pointer duration, long torigin, Pointer nbins); - - Pointer tbox_tile_state_make(Pointer temp, Pointer box, Pointer vsize, Pointer duration, Pointer xorigin, long torigin); - - void tbox_tile_state_next(Pointer state); - - void tbox_tile_state_set(Pointer value, long t, Pointer vsize, long tunits, int basetype, int spantype, Pointer box); - - long interval_units(Pointer interval); - - long timestamptz_bin_start(long timestamp, long tunits, long torigin); - - Pointer datum_bin(Pointer value, Pointer size, Pointer offset, int basetype); - - Pointer tnumber_value_time_tile_init(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, long torigin, Pointer ntiles); - - boolean tbox_tile_state_get(Pointer state, Pointer box); - - Pointer temporal_transform_wcount(Pointer temp, Pointer interval, Pointer count); - - Pointer tnumber_transform_wavg(Pointer temp, Pointer interval, Pointer count); - - Pointer temporal_wagg_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, boolean min, boolean crossings); - - Pointer temporal_wagg_transform_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, Pointer transform); - - void tinstant_set(Pointer inst, Pointer value, long t); - - double tnumberinst_double(Pointer inst); - - String tinstant_to_string(Pointer inst, int maxdd, Pointer value_out); - - boolean tinstant_restrict_values_test(Pointer inst, Pointer s, boolean atfunc); - - boolean tnumberinst_restrict_span_test(Pointer inst, Pointer s, boolean atfunc); - - boolean tnumberinst_restrict_spanset_test(Pointer inst, Pointer ss, boolean atfunc); - - boolean tinstant_restrict_tstzset_test(Pointer inst, Pointer s, boolean atfunc); - - boolean tinstant_restrict_tstzspanset_test(Pointer inst, Pointer ss, boolean atfunc); - - boolean intersection_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer inter1, Pointer inter2); - - void _mulmat(Pointer a, Pointer b, Pointer c, int arows, int acols, int bcols); - - void _mulvec(Pointer a, Pointer x, Pointer y, int m, int n); - - void _transpose(Pointer a, Pointer at, int m, int n); - - void _addmat(Pointer a, Pointer b, Pointer c, int m, int n); - - void _negate(Pointer a, int m, int n); - - void _addeye(Pointer a, int n); - - int _choldc1(Pointer a, Pointer p, int n); - - int _choldcsl(Pointer A, Pointer a, Pointer p, int n); - - int _cholsl(Pointer A, Pointer a, Pointer p, int n); - - void _addvec(Pointer a, Pointer b, Pointer c, int n); - - void _sub(Pointer a, Pointer b, Pointer c, int n); - - int invert(Pointer a, Pointer ainv); - - void ekf_initialize(Pointer ekf, float pdiag); - - void ekf_predict(Pointer ekf, float fx, float F, float Q); - - void ekf_update_step3(Pointer ekf, float GH); - - int ekf_update(Pointer ekf, float z, float hx, float H, float R); - - int tfloat_arithop_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param); - - Pointer arithop_tnumber_number(Pointer temp, Pointer value, int oper, Pointer func, boolean invert); - - Pointer arithop_tnumber_tnumber(Pointer temp1, Pointer temp2, int oper, Pointer func, Pointer tpfunc); - - boolean float_collinear(double x1, double x2, double x3, double ratio); - - double floatsegm_interpolate(double value1, double value2, Pointer value); - - Pointer floatsegm_locate(double value1, double value2, double value); - - int tnumbersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int basetype, long lower, long upper, Pointer t1, Pointer t2); - - boolean tsequence_norm_test(Pointer value1, Pointer value2, Pointer value3, int basetype, int interp, long t1, long t2, long t3); - - boolean tsequence_join_test(Pointer seq1, Pointer seq2, Pointer removelast, Pointer removefirst); - - Pointer tsequence_join(Pointer seq1, Pointer seq2, boolean removelast, boolean removefirst); - - Pointer tinstarr_normalize(Pointer instants, int interp, int count, Pointer newcount); - - int tcontseq_find_timestamptz(Pointer seq, long t); - - int tdiscseq_find_timestamptz(Pointer seq, long t); - - Pointer tseqarr2_to_tseqarr(Pointer sequences, Pointer countseqs, int count, int totalseqs); - - boolean ensure_valid_tinstarr_common(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp); - - Pointer tsequence_make_exp1(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize, Pointer bbox); - - boolean synchronize_tsequence_tsequence(Pointer seq1, Pointer seq2, Pointer sync1, Pointer sync2, boolean interpoint); - - int tfloatsegm_intersection_value(Pointer start, Pointer end, Pointer value, long lower, long upper, Pointer t); - - int tsegment_intersection_value(Pointer start, Pointer end, Pointer value, int temptype, long lower, long upper, Pointer t1, Pointer t2); - - int tsegment_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int temptype, long lower, long upper, Pointer t1, Pointer t2); - - Pointer tsegment_value_at_timestamptz(Pointer start, Pointer end, int temptype, long lower, long upper, long t); - - boolean intersection_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2); - - boolean intersection_tcontseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2); - - boolean intersection_tdiscseq_tcontseq(Pointer is, Pointer seq2, Pointer inter1, Pointer inter2); - - boolean intersection_tsequence_tinstant(Pointer seq, Pointer inst, Pointer inter1, Pointer inter2); - - boolean intersection_tinstant_tsequence(Pointer inst, Pointer seq, Pointer inter1, Pointer inter2); - - String tsequence_to_string(Pointer seq, int maxdd, boolean component, Pointer value_out); - - boolean ensure_increasing_timestamps(Pointer inst1, Pointer inst2, boolean strict); - - void bbox_expand(Pointer box1, Pointer box2, int temptype); - - boolean ensure_valid_tinstarr(Pointer instants, int count, boolean merge, int interp); - - boolean tsequence_make_valid(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp); - - void tnumberseq_shift_scale_value_iter(Pointer seq, Pointer origin, Pointer delta, boolean hasdelta, double scale); - - void tsequence_shift_scale_time_iter(Pointer seq, long delta, double scale); - - int tstepseq_to_linear_iter(Pointer seq, Pointer result); - - Pointer tstepseq_to_linear(Pointer seq); - - int tsequence_segments_iter(Pointer seq, Pointer result); - - int tsequence_timestamps_iter(Pointer seq, Pointer result); - - boolean tsequenceset_find_timestamptz(Pointer ss, long t, Pointer loc); - - Pointer tseqarr_normalize(Pointer sequences, int count, Pointer newcount); - - double datum_distance(Pointer value1, Pointer value2, int basetype, short flags); - - Pointer ensure_valid_tinstarr_gaps(Pointer instants, int count, boolean merge, double maxdist, Pointer maxt, Pointer nsplits); - - boolean ensure_valid_tseqarr(Pointer sequences, int count); - - boolean synchronize_tsequenceset_tsequence(Pointer ss, Pointer seq, int mode, Pointer inter1, Pointer inter2); - - boolean synchronize_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, int mode, Pointer inter1, Pointer inter2); - - boolean intersection_tsequenceset_tinstant(Pointer ss, Pointer inst, Pointer inter1, Pointer inter2); - - boolean intersection_tinstant_tsequenceset(Pointer inst, Pointer ss, Pointer inter1, Pointer inter2); - - boolean intersection_tsequenceset_tdiscseq(Pointer ss, Pointer is, Pointer inter1, Pointer inter2); - - boolean intersection_tdiscseq_tsequenceset(Pointer is, Pointer ss, Pointer inter1, Pointer inter2); - - boolean intersection_tsequence_tsequenceset(Pointer seq, Pointer ss, int mode, Pointer inter1, Pointer inter2); - - String tsequenceset_to_string(Pointer ss, int maxdd, Pointer value_out); - - Pointer datum_textcat(Pointer l, Pointer r); - - Pointer datum_lower(Pointer value); - - Pointer datum_upper(Pointer value); - - Pointer datum_initcap(Pointer value); - - Pointer textfunc_ttext(Pointer temp, int func); - - Pointer textfunc_ttext_text(Pointer temp, Pointer value, Pointer func, boolean invert); - - Pointer textfunc_ttext_ttext(Pointer temp1, Pointer temp2, Pointer func); - - Pointer datum_as_wkb(Pointer value, int type, byte variant, Pointer size_out); - - String datum_as_hexwkb(Pointer value, int type, byte variant, Pointer size); - - Pointer type_from_wkb(Pointer wkb, long size, int type); - - Pointer type_from_hexwkb(String hexwkb, long size, int type); - - boolean ensure_end_input(Pointer str, String type); - - void p_whitespace(Pointer str); - - boolean p_delimchar(Pointer str, String delim); - - boolean p_obrace(Pointer str); - - boolean ensure_obrace(Pointer str, String type); - - boolean p_cbrace(Pointer str); - - boolean ensure_cbrace(Pointer str, String type); - - boolean p_obracket(Pointer str); - - boolean p_cbracket(Pointer str); - - boolean p_oparen(Pointer str); - - boolean ensure_oparen(Pointer str, String type); - - boolean p_cparen(Pointer str); - - boolean ensure_cparen(Pointer str, String type); - - boolean p_comma(Pointer str); - - boolean basetype_parse(Pointer str, int basetypid, String delim, Pointer result); - - boolean double_parse(Pointer str, Pointer result); - - boolean elem_parse(Pointer str, int basetype, Pointer result); - - Pointer set_parse(Pointer str, int basetype); - - boolean span_parse(Pointer str, int spantype, boolean end, Pointer span); - - Pointer spanset_parse(Pointer str, int spantype); - - Pointer tbox_parse(Pointer str); - - long timestamp_parse(Pointer str); - - Pointer tinstant_parse(Pointer str, int temptype, boolean end); - - Pointer tdiscseq_parse(Pointer str, int temptype); - - Pointer tcontseq_parse(Pointer str, int temptype, int interp, boolean end); - - Pointer tsequenceset_parse(Pointer str, int temptype, int interp); - - Pointer temporal_parse(Pointer str, int temptype); - - Pointer datum_copy(Pointer value, int typid); - - double datum_double(Pointer d, int type); - - Pointer double_datum(double d, int type); - - Pointer bstring2bytea(Pointer wkb, long size); - - double meos_strtod(String str, Pointer endptr); - - boolean basetype_in(String str, int type, boolean end, Pointer result); - - String basetype_out(Pointer value, int type, int maxdd); - - void pfree_array(Pointer array, int count); - - boolean string_escape(String str, int quotes, Pointer result); - - long string_unescape(String str, Pointer result); - - String stringarr_to_string(Pointer strings, int count, String prefix, String open, String close, int quotes, boolean spaces); - - void datumarr_sort(Pointer values, int count, int basetype); - - void tstzarr_sort(Pointer times, int count); - - void spanarr_sort(Pointer spans, int count); - - void tinstarr_sort(Pointer instants, int count); - - void tseqarr_sort(Pointer sequences, int count); - - int datumarr_remove_duplicates(Pointer values, int count, int basetype); - - int tstzarr_remove_duplicates(Pointer values, int count); - - int tinstarr_remove_duplicates(Pointer instants, int count); - - Pointer datum_add(Pointer l, Pointer r, int type); - - Pointer datum_sub(Pointer l, Pointer r, int type); - - Pointer datum_mul(Pointer l, Pointer r, int type); - - Pointer datum_div(Pointer l, Pointer r, int type); - - int datum_cmp(Pointer l, Pointer r, int type); - - boolean datum_eq(Pointer l, Pointer r, int type); - - boolean datum_ne(Pointer l, Pointer r, int type); - - boolean datum_lt(Pointer l, Pointer r, int type); - - boolean datum_le(Pointer l, Pointer r, int type); - - boolean datum_gt(Pointer l, Pointer r, int type); - - boolean datum_ge(Pointer l, Pointer r, int type); - - Pointer datum2_eq(Pointer l, Pointer r, int type); - - Pointer datum2_ne(Pointer l, Pointer r, int type); - - Pointer datum2_lt(Pointer l, Pointer r, int type); - - Pointer datum2_le(Pointer l, Pointer r, int type); - - Pointer datum2_gt(Pointer l, Pointer r, int type); - - Pointer datum2_ge(Pointer l, Pointer r, int type); - - double hypot3d(double x, double y, double z); - - } - - private static final String _LIB = "libmeos.so"; - - static final MeosLibraryPartA _meos_a = - JarLibraryLoader.create(MeosLibraryPartA.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartB _meos_b = - JarLibraryLoader.create(MeosLibraryPartB.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartC _meos_c = - JarLibraryLoader.create(MeosLibraryPartC.class, _LIB).getLibraryInstance(); - static final MeosLibraryPartD _meos_d = - JarLibraryLoader.create(MeosLibraryPartD.class, _LIB).getLibraryInstance(); - - private static final java.util.Map _dispatch; - static { - _dispatch = new java.util.HashMap<>(4096); - for (java.lang.reflect.Method _m : MeosLibraryPartA.class.getMethods()) - _dispatch.put(_m.getName(), _meos_a); - for (java.lang.reflect.Method _m : MeosLibraryPartB.class.getMethods()) - _dispatch.put(_m.getName(), _meos_b); - for (java.lang.reflect.Method _m : MeosLibraryPartC.class.getMethods()) - _dispatch.put(_m.getName(), _meos_c); - for (java.lang.reflect.Method _m : MeosLibraryPartD.class.getMethods()) - _dispatch.put(_m.getName(), _meos_d); - } - - - - @SuppressWarnings("unused") - public static void meos_error(int errlevel, int errcode, String format) { - _meos_a.meos_error(errlevel, errcode, format); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int meos_errno() { - var _result = _meos_a.meos_errno(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_set(int err) { - var _result = _meos_a.meos_errno_set(err); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_restore(int err) { - var _result = _meos_a.meos_errno_restore(err); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_reset() { - var _result = _meos_a.meos_errno_reset(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_array_create(int elem_size) { - var _result = _meos_a.meos_array_create(elem_size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_array_add(Pointer array, Pointer value) { - _meos_a.meos_array_add(array, value); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer meos_array_get(Pointer array, int n) { - var _result = _meos_a.meos_array_get(array, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_array_count(Pointer array) { - var _result = _meos_a.meos_array_count(array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_array_reset(Pointer array) { - _meos_a.meos_array_reset(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_array_reset_free(Pointer array) { - _meos_a.meos_array_reset_free(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_array_destroy(Pointer array) { - _meos_a.meos_array_destroy(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_array_destroy_free(Pointer array) { - _meos_a.meos_array_destroy_free(array); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_intspan() { - var _result = _meos_a.rtree_create_intspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_bigintspan() { - var _result = _meos_a.rtree_create_bigintspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_floatspan() { - var _result = _meos_a.rtree_create_floatspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_datespan() { - var _result = _meos_a.rtree_create_datespan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_tstzspan() { - var _result = _meos_a.rtree_create_tstzspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_tbox() { - var _result = _meos_a.rtree_create_tbox(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_stbox() { - var _result = _meos_a.rtree_create_stbox(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void rtree_free(Pointer rtree) { - _meos_a.rtree_free(rtree); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert(Pointer rtree, Pointer box, int id) { - _meos_a.rtree_insert(rtree, box, id); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert_temporal(Pointer rtree, Pointer temp, int id) { - _meos_a.rtree_insert_temporal(rtree, temp, id); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert_temporal_split(Pointer rtree, Pointer temp, int id, int maxboxes) { - _meos_a.rtree_insert_temporal_split(rtree, temp, id, maxboxes); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int rtree_search(Pointer rtree, int op, Pointer query, Pointer result) { - var _result = _meos_a.rtree_search(rtree, op, query, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer result) { - var _result = _meos_a.rtree_search_temporal(rtree, op, temp, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int rtree_search_temporal_dedup(Pointer rtree, int op, Pointer temp, int maxboxes, Pointer result) { - var _result = _meos_a.rtree_search_temporal_dedup(rtree, op, temp, maxboxes, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_initialize_error_handler(error_handler_fn err_handler) { - _meos_a.meos_initialize_error_handler(err_handler); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize_noexit_error_handler() { - _meos_a.meos_initialize_noexit_error_handler(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize_timezone(String name) { - _meos_a.meos_initialize_timezone(name); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize_collation() { - _meos_a.meos_initialize_collation(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_timezone() { - _meos_a.meos_finalize_timezone(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_collation() { - _meos_a.meos_finalize_collation(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_projsrs() { - _meos_a.meos_finalize_projsrs(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_ways() { - _meos_a.meos_finalize_ways(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean meos_set_datestyle(String newval, Pointer extra) { - var _result = _meos_a.meos_set_datestyle(newval, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_set_intervalstyle(String newval, int extra) { - var _result = _meos_a.meos_set_intervalstyle(newval, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meos_get_datestyle() { - var _result = _meos_a.meos_get_datestyle(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meos_get_intervalstyle() { - var _result = _meos_a.meos_get_intervalstyle(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_set_spatial_ref_sys_csv(String path) { - _meos_a.meos_set_spatial_ref_sys_csv(path); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_set_ways_csv(String path) { - _meos_a.meos_set_ways_csv(path); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize() { - _meos_a.meos_initialize(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize() { - _meos_a.meos_finalize(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer bigintset_in(String str) { - var _result = _meos_a.bigintset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintset_out(Pointer set) { - var _result = _meos_a.bigintset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_expand(Pointer sp, long value) { - var _result = _meos_a.bigintspan_expand(sp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_in(String str) { - var _result = _meos_a.bigintspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintspan_out(Pointer sp) { - var _result = _meos_a.bigintspan_out(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_in(String str) { - var _result = _meos_a.bigintspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintspanset_out(Pointer ss) { - var _result = _meos_a.bigintspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_in(String str) { - var _result = _meos_a.dateset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String dateset_out(Pointer s) { - var _result = _meos_a.dateset_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_in(String str) { - var _result = _meos_a.datespan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datespan_out(Pointer sp) { - var _result = _meos_a.datespan_out(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_in(String str) { - var _result = _meos_a.datespanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datespanset_out(Pointer ss) { - var _result = _meos_a.datespanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_in(String str) { - var _result = _meos_a.floatset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatset_out(Pointer set, int maxdd) { - var _result = _meos_a.floatset_out(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_expand(Pointer sp, double value) { - var _result = _meos_a.floatspan_expand(sp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_in(String str) { - var _result = _meos_a.floatspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatspan_out(Pointer sp, int maxdd) { - var _result = _meos_a.floatspan_out(sp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_in(String str) { - var _result = _meos_a.floatspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatspanset_out(Pointer ss, int maxdd) { - var _result = _meos_a.floatspanset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_in(String str) { - var _result = _meos_a.intset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intset_out(Pointer set) { - var _result = _meos_a.intset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_expand(Pointer sp, int value) { - var _result = _meos_a.intspan_expand(sp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_in(String str) { - var _result = _meos_a.intspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intspan_out(Pointer sp) { - var _result = _meos_a.intspan_out(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_in(String str) { - var _result = _meos_a.intspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intspanset_out(Pointer ss) { - var _result = _meos_a.intspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String set_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.set_as_hexwkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.set_as_wkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_from_hexwkb(String hexwkb) { - var _result = _meos_a.set_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.set_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String span_as_hexwkb(Pointer sp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.span_as_hexwkb(sp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_as_wkb(Pointer sp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.span_as_wkb(sp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_from_hexwkb(String hexwkb) { - var _result = _meos_a.span_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.span_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spanset_as_hexwkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.spanset_as_hexwkb(ss, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_as_wkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.spanset_as_wkb(ss, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_from_hexwkb(String hexwkb) { - var _result = _meos_a.spanset_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.spanset_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_in(String str) { - var _result = _meos_a.textset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String textset_out(Pointer set) { - var _result = _meos_a.textset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_in(String str) { - var _result = _meos_a.tstzset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzset_out(Pointer set) { - var _result = _meos_a.tstzset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_in(String str) { - var _result = _meos_a.tstzspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzspan_out(Pointer sp) { - var _result = _meos_a.tstzspan_out(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_in(String str) { - var _result = _meos_a.tstzspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzspanset_out(Pointer ss) { - var _result = _meos_a.tstzspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_make(Pointer values, int count) { - var _result = _meos_a.bigintset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.bigintspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_make(Pointer values, int count) { - var _result = _meos_a.dateset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.datespan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_make(Pointer values, int count) { - var _result = _meos_a.floatset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.floatspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_make(Pointer values, int count) { - var _result = _meos_a.intset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = _meos_a.intspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_copy(Pointer s) { - var _result = _meos_a.set_copy(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_copy(Pointer sp) { - var _result = _meos_a.span_copy(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_copy(Pointer ss) { - var _result = _meos_a.spanset_copy(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_make(Pointer spans, int count) { - var _result = _meos_a.spanset_make(spans, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_make(Pointer values, int count) { - var _result = _meos_a.textset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_make(Pointer values, int count) { - var _result = _meos_a.tstzset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_make(OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_a.tstzspan_make(lower_new, upper_new, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_set(long i) { - var _result = _meos_a.bigint_to_set(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_span(long i) { - var _result = _meos_a.bigint_to_span(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_spanset(long i) { - var _result = _meos_a.bigint_to_spanset(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_to_intspan(Pointer s) { - var _result = _meos_a.bigintspan_to_intspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_to_floatspan(Pointer s) { - var _result = _meos_a.bigintspan_to_floatspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_set(int d) { - var _result = _meos_a.date_to_set(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_span(int d) { - var _result = _meos_a.date_to_span(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_spanset(int d) { - var _result = _meos_a.date_to_spanset(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_to_tstzset(Pointer s) { - var _result = _meos_a.dateset_to_tstzset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_to_tstzspan(Pointer sp) { - var _result = _meos_a.datespan_to_tstzspan(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_to_tstzspanset(Pointer ss) { - var _result = _meos_a.datespanset_to_tstzspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_set(double d) { - var _result = _meos_a.float_to_set(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_span(double d) { - var _result = _meos_a.float_to_span(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_spanset(double d) { - var _result = _meos_a.float_to_spanset(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_to_intset(Pointer s) { - var _result = _meos_a.floatset_to_intset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_to_bigintspan(Pointer s) { - var _result = _meos_a.floatspan_to_bigintspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_to_intspan(Pointer s) { - var _result = _meos_a.floatspan_to_intspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_to_intspanset(Pointer ss) { - var _result = _meos_a.floatspanset_to_intspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_set(int i) { - var _result = _meos_a.int_to_set(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_span(int i) { - var _result = _meos_a.int_to_span(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_spanset(int i) { - var _result = _meos_a.int_to_spanset(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_to_floatset(Pointer s) { - var _result = _meos_a.intset_to_floatset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_to_bigintspan(Pointer s) { - var _result = _meos_a.intspan_to_bigintspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_to_floatspan(Pointer s) { - var _result = _meos_a.intspan_to_floatspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_to_floatspanset(Pointer ss) { - var _result = _meos_a.intspanset_to_floatspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_span(Pointer s) { - var _result = _meos_a.set_to_span(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_spanset(Pointer s) { - var _result = _meos_a.set_to_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_to_spanset(Pointer sp) { - var _result = _meos_a.span_to_spanset(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_to_set(Pointer txt) { - var _result = _meos_a.text_to_set(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_set(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_set(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_span(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_span(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_spanset(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_spanset(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_to_dateset(Pointer s) { - var _result = _meos_a.tstzset_to_dateset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_to_datespan(Pointer sp) { - var _result = _meos_a.tstzspan_to_datespan(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_to_datespanset(Pointer ss) { - var _result = _meos_a.tstzspanset_to_datespanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintset_end_value(Pointer s) { - var _result = _meos_a.bigintset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintset_start_value(Pointer s) { - var _result = _meos_a.bigintset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.bigintset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_values(Pointer s, Pointer count) { - var _result = _meos_a.bigintset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_lower(Pointer s) { - var _result = _meos_a.bigintspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_upper(Pointer s) { - var _result = _meos_a.bigintspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_width(Pointer s) { - var _result = _meos_a.bigintspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_lower(Pointer ss) { - var _result = _meos_a.bigintspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_upper(Pointer ss) { - var _result = _meos_a.bigintspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.bigintspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dateset_end_value(Pointer s) { - var _result = _meos_a.dateset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dateset_start_value(Pointer s) { - var _result = _meos_a.dateset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.dateset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer dateset_values(Pointer s, Pointer count) { - var _result = _meos_a.dateset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_duration(Pointer s) { - var _result = _meos_a.datespan_duration(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespan_lower(Pointer s) { - var _result = _meos_a.datespan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespan_upper(Pointer s) { - var _result = _meos_a.datespan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_date_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.datespanset_date_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_dates(Pointer ss) { - var _result = _meos_a.datespanset_dates(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_a.datespanset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_end_date(Pointer ss) { - var _result = _meos_a.datespanset_end_date(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_num_dates(Pointer ss) { - var _result = _meos_a.datespanset_num_dates(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_start_date(Pointer ss) { - var _result = _meos_a.datespanset_start_date(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatset_end_value(Pointer s) { - var _result = _meos_a.floatset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatset_start_value(Pointer s) { - var _result = _meos_a.floatset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.floatset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer floatset_values(Pointer s, Pointer count) { - var _result = _meos_a.floatset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_lower(Pointer s) { - var _result = _meos_a.floatspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_upper(Pointer s) { - var _result = _meos_a.floatspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_width(Pointer s) { - var _result = _meos_a.floatspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_lower(Pointer ss) { - var _result = _meos_a.floatspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_upper(Pointer ss) { - var _result = _meos_a.floatspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.floatspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intset_end_value(Pointer s) { - var _result = _meos_a.intset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intset_start_value(Pointer s) { - var _result = _meos_a.intset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.intset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer intset_values(Pointer s, Pointer count) { - var _result = _meos_a.intset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_lower(Pointer s) { - var _result = _meos_a.intspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_upper(Pointer s) { - var _result = _meos_a.intspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_width(Pointer s) { - var _result = _meos_a.intspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_lower(Pointer ss) { - var _result = _meos_a.intspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_upper(Pointer ss) { - var _result = _meos_a.intspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_a.intspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_hash(Pointer s) { - var _result = _meos_a.set_hash(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long set_hash_extended(Pointer s, long seed) { - var _result = _meos_a.set_hash_extended(s, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_num_values(Pointer s) { - var _result = _meos_a.set_num_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_hash(Pointer sp) { - var _result = _meos_a.span_hash(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long span_hash_extended(Pointer sp, long seed) { - var _result = _meos_a.span_hash_extended(sp, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_lower_inc(Pointer sp) { - var _result = _meos_a.span_lower_inc(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_upper_inc(Pointer sp) { - var _result = _meos_a.span_upper_inc(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_end_span(Pointer ss) { - var _result = _meos_a.spanset_end_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_hash(Pointer ss) { - var _result = _meos_a.spanset_hash(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long spanset_hash_extended(Pointer ss, long seed) { - var _result = _meos_a.spanset_hash_extended(ss, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_lower_inc(Pointer ss) { - var _result = _meos_a.spanset_lower_inc(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_num_spans(Pointer ss) { - var _result = _meos_a.spanset_num_spans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_span(Pointer ss) { - var _result = _meos_a.spanset_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_span_n(Pointer ss, int i) { - var _result = _meos_a.spanset_span_n(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_spanarr(Pointer ss, Pointer count) { - var _result = _meos_a.spanset_spanarr(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_start_span(Pointer ss) { - var _result = _meos_a.spanset_start_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_upper_inc(Pointer ss) { - var _result = _meos_a.spanset_upper_inc(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_end_value(Pointer s) { - var _result = _meos_a.textset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_start_value(Pointer s) { - var _result = _meos_a.textset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.textset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer textset_values(Pointer s, Pointer count) { - var _result = _meos_a.textset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzset_end_value(Pointer s) { - var _result = _meos_a.tstzset_end_value(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzset_start_value(Pointer s) { - var _result = _meos_a.tstzset_start_value(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tstzset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_values(Pointer s, Pointer count) { - var _result = _meos_a.tstzset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_duration(Pointer s) { - var _result = _meos_a.tstzspan_duration(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_lower(Pointer s) { - var _result = _meos_a.tstzspan_lower(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_upper(Pointer s) { - var _result = _meos_a.tstzspan_upper(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_a.tstzspanset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_end_timestamptz(Pointer ss) { - var _result = _meos_a.tstzspanset_end_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_lower(Pointer ss) { - var _result = _meos_a.tstzspanset_lower(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tstzspanset_num_timestamps(Pointer ss) { - var _result = _meos_a.tstzspanset_num_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_start_timestamptz(Pointer ss) { - var _result = _meos_a.tstzspanset_start_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamps(Pointer ss) { - var _result = _meos_a.tstzspanset_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamptz_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tstzspanset_timestamptz_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_upper(Pointer ss) { - var _result = _meos_a.tstzspanset_upper(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_shift_scale(Pointer sp, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintspan_shift_scale(sp, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.dateset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.datespan_shift_scale(sp, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.datespanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_ceil(Pointer s) { - var _result = _meos_a.floatset_ceil(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_degrees(Pointer s, boolean normalize) { - var _result = _meos_a.floatset_degrees(s, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_floor(Pointer s) { - var _result = _meos_a.floatset_floor(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_radians(Pointer s) { - var _result = _meos_a.floatset_radians(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_ceil(Pointer sp) { - var _result = _meos_a.floatspan_ceil(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_degrees(Pointer sp, boolean normalize) { - var _result = _meos_a.floatspan_degrees(sp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_floor(Pointer sp) { - var _result = _meos_a.floatspan_floor(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_radians(Pointer sp) { - var _result = _meos_a.floatspan_radians(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_round(Pointer sp, int maxdd) { - var _result = _meos_a.floatspan_round(sp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_shift_scale(Pointer sp, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatspan_shift_scale(sp, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_ceil(Pointer ss) { - var _result = _meos_a.floatspanset_ceil(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_floor(Pointer ss) { - var _result = _meos_a.floatspanset_floor(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_degrees(Pointer ss, boolean normalize) { - var _result = _meos_a.floatspanset_degrees(ss, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_radians(Pointer ss) { - var _result = _meos_a.floatspanset_radians(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_round(Pointer ss, int maxdd) { - var _result = _meos_a.floatspanset_round(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.floatspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_shift_scale(Pointer sp, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intspan_shift_scale(sp, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.intspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_expand(Pointer sp, Pointer interv) { - var _result = _meos_a.tstzspan_expand(sp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_round(Pointer s, int maxdd) { - var _result = _meos_a.set_round(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_textset(Pointer txt, Pointer s) { - var _result = _meos_a.textcat_text_textset(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_textset_text(Pointer s, Pointer txt) { - var _result = _meos_a.textcat_textset_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_initcap(Pointer s) { - var _result = _meos_a.textset_initcap(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_lower(Pointer s) { - var _result = _meos_a.textset_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_upper(Pointer s) { - var _result = _meos_a.textset_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_tprecision(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.timestamptz_tprecision(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzset_shift_scale(s, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzset_tprecision(s, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_shift_scale(Pointer sp, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzspan_shift_scale(sp, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_tprecision(Pointer sp, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspan_tprecision(sp, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration) { - var _result = _meos_a.tstzspanset_shift_scale(ss, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspanset_tprecision(ss, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_cmp(Pointer s1, Pointer s2) { - var _result = _meos_a.set_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_eq(Pointer s1, Pointer s2) { - var _result = _meos_a.set_eq(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_ge(Pointer s1, Pointer s2) { - var _result = _meos_a.set_ge(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_gt(Pointer s1, Pointer s2) { - var _result = _meos_a.set_gt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_le(Pointer s1, Pointer s2) { - var _result = _meos_a.set_le(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_lt(Pointer s1, Pointer s2) { - var _result = _meos_a.set_lt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_ne(Pointer s1, Pointer s2) { - var _result = _meos_a.set_ne(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_cmp(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_cmp(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_eq(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_eq(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_ge(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_ge(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_gt(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_gt(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_le(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_le(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_lt(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_lt(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_ne(Pointer sp1, Pointer sp2) { - var _result = _meos_a.span_ne(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_cmp(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_cmp(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_eq(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_eq(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_ge(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_ge(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_gt(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_gt(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_le(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_le(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_lt(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_lt(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_ne(Pointer ss1, Pointer ss2) { - var _result = _meos_a.spanset_ne(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_spans(Pointer s, Pointer count) { - var _result = _meos_a.set_spans(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count) { - var _result = _meos_a.set_split_each_n_spans(s, elems_per_span, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_split_n_spans(Pointer s, int span_count, Pointer count) { - var _result = _meos_a.set_split_n_spans(s, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_spans(Pointer ss, Pointer count) { - var _result = _meos_a.spanset_spans(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count) { - var _result = _meos_a.spanset_split_each_n_spans(ss, elems_per_span, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count) { - var _result = _meos_a.spanset_split_n_spans(ss, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_bigint(Pointer sp, long i) { - var _result = _meos_a.adjacent_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_date(Pointer sp, int d) { - var _result = _meos_a.adjacent_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_float(Pointer sp, double d) { - var _result = _meos_a.adjacent_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_int(Pointer sp, int i) { - var _result = _meos_a.adjacent_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.adjacent_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.adjacent_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.adjacent_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.adjacent_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_date(Pointer ss, int d) { - var _result = _meos_a.adjacent_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_float(Pointer ss, double d) { - var _result = _meos_a.adjacent_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_int(Pointer ss, int i) { - var _result = _meos_a.adjacent_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.adjacent_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.adjacent_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.adjacent_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_set(long i, Pointer s) { - var _result = _meos_a.contained_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_span(long i, Pointer sp) { - var _result = _meos_a.contained_bigint_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.contained_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_set(int d, Pointer s) { - var _result = _meos_a.contained_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_span(int d, Pointer sp) { - var _result = _meos_a.contained_date_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_spanset(int d, Pointer ss) { - var _result = _meos_a.contained_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_set(double d, Pointer s) { - var _result = _meos_a.contained_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_span(double d, Pointer sp) { - var _result = _meos_a.contained_float_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_spanset(double d, Pointer ss) { - var _result = _meos_a.contained_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_set(int i, Pointer s) { - var _result = _meos_a.contained_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_span(int i, Pointer sp) { - var _result = _meos_a.contained_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_spanset(int i, Pointer ss) { - var _result = _meos_a.contained_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.contained_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.contained_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.contained_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.contained_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.contained_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.contained_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contained_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_bigint(Pointer s, long i) { - var _result = _meos_a.contains_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_date(Pointer s, int d) { - var _result = _meos_a.contains_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_float(Pointer s, double d) { - var _result = _meos_a.contains_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_int(Pointer s, int i) { - var _result = _meos_a.contains_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.contains_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_text(Pointer s, Pointer t) { - var _result = _meos_a.contains_set_text(s, t); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_bigint(Pointer sp, long i) { - var _result = _meos_a.contains_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_date(Pointer sp, int d) { - var _result = _meos_a.contains_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_float(Pointer sp, double d) { - var _result = _meos_a.contains_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_int(Pointer sp, int i) { - var _result = _meos_a.contains_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.contains_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.contains_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.contains_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_date(Pointer ss, int d) { - var _result = _meos_a.contains_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_float(Pointer ss, double d) { - var _result = _meos_a.contains_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_int(Pointer ss, int i) { - var _result = _meos_a.contains_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.contains_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.contains_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.contains_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overlaps_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.overlaps_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.overlaps_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.overlaps_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overlaps_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_set(int d, Pointer s) { - var _result = _meos_a.after_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_span(int d, Pointer sp) { - var _result = _meos_a.after_date_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_spanset(int d, Pointer ss) { - var _result = _meos_a.after_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_set_date(Pointer s, int d) { - var _result = _meos_a.after_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_span_date(Pointer sp, int d) { - var _result = _meos_a.after_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_spanset_date(Pointer ss, int d) { - var _result = _meos_a.after_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.after_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_set(int d, Pointer s) { - var _result = _meos_a.before_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_span(int d, Pointer sp) { - var _result = _meos_a.before_date_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_spanset(int d, Pointer ss) { - var _result = _meos_a.before_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_set_date(Pointer s, int d) { - var _result = _meos_a.before_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_span_date(Pointer sp, int d) { - var _result = _meos_a.before_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_spanset_date(Pointer ss, int d) { - var _result = _meos_a.before_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.before_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_set(long i, Pointer s) { - var _result = _meos_a.left_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_span(long i, Pointer sp) { - var _result = _meos_a.left_bigint_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.left_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_set(double d, Pointer s) { - var _result = _meos_a.left_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_span(double d, Pointer sp) { - var _result = _meos_a.left_float_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_spanset(double d, Pointer ss) { - var _result = _meos_a.left_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_set(int i, Pointer s) { - var _result = _meos_a.left_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_span(int i, Pointer sp) { - var _result = _meos_a.left_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_spanset(int i, Pointer ss) { - var _result = _meos_a.left_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_bigint(Pointer s, long i) { - var _result = _meos_a.left_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_float(Pointer s, double d) { - var _result = _meos_a.left_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_int(Pointer s, int i) { - var _result = _meos_a.left_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.left_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.left_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_bigint(Pointer sp, long i) { - var _result = _meos_a.left_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_float(Pointer sp, double d) { - var _result = _meos_a.left_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_int(Pointer sp, int i) { - var _result = _meos_a.left_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.left_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.left_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.left_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_float(Pointer ss, double d) { - var _result = _meos_a.left_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_int(Pointer ss, int i) { - var _result = _meos_a.left_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.left_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.left_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.left_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_set(int d, Pointer s) { - var _result = _meos_a.overafter_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_span(int d, Pointer sp) { - var _result = _meos_a.overafter_date_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_spanset(int d, Pointer ss) { - var _result = _meos_a.overafter_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_set_date(Pointer s, int d) { - var _result = _meos_a.overafter_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_span_date(Pointer sp, int d) { - var _result = _meos_a.overafter_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_spanset_date(Pointer ss, int d) { - var _result = _meos_a.overafter_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overafter_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_set(int d, Pointer s) { - var _result = _meos_a.overbefore_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_span(int d, Pointer sp) { - var _result = _meos_a.overbefore_date_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_spanset(int d, Pointer ss) { - var _result = _meos_a.overbefore_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_set_date(Pointer s, int d) { - var _result = _meos_a.overbefore_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_span_date(Pointer sp, int d) { - var _result = _meos_a.overbefore_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_spanset_date(Pointer ss, int d) { - var _result = _meos_a.overbefore_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.overbefore_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_set(long i, Pointer s) { - var _result = _meos_a.overleft_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_span(long i, Pointer sp) { - var _result = _meos_a.overleft_bigint_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.overleft_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_set(double d, Pointer s) { - var _result = _meos_a.overleft_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_span(double d, Pointer sp) { - var _result = _meos_a.overleft_float_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_spanset(double d, Pointer ss) { - var _result = _meos_a.overleft_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_set(int i, Pointer s) { - var _result = _meos_a.overleft_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_span(int i, Pointer sp) { - var _result = _meos_a.overleft_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_spanset(int i, Pointer ss) { - var _result = _meos_a.overleft_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_bigint(Pointer s, long i) { - var _result = _meos_a.overleft_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_float(Pointer s, double d) { - var _result = _meos_a.overleft_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_int(Pointer s, int i) { - var _result = _meos_a.overleft_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overleft_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.overleft_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_bigint(Pointer sp, long i) { - var _result = _meos_a.overleft_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_float(Pointer sp, double d) { - var _result = _meos_a.overleft_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_int(Pointer sp, int i) { - var _result = _meos_a.overleft_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.overleft_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.overleft_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.overleft_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_float(Pointer ss, double d) { - var _result = _meos_a.overleft_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_int(Pointer ss, int i) { - var _result = _meos_a.overleft_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.overleft_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overleft_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.overleft_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_set(long i, Pointer s) { - var _result = _meos_a.overright_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_span(long i, Pointer sp) { - var _result = _meos_a.overright_bigint_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.overright_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_set(double d, Pointer s) { - var _result = _meos_a.overright_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_span(double d, Pointer sp) { - var _result = _meos_a.overright_float_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_spanset(double d, Pointer ss) { - var _result = _meos_a.overright_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_set(int i, Pointer s) { - var _result = _meos_a.overright_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_span(int i, Pointer sp) { - var _result = _meos_a.overright_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_spanset(int i, Pointer ss) { - var _result = _meos_a.overright_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_bigint(Pointer s, long i) { - var _result = _meos_a.overright_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_float(Pointer s, double d) { - var _result = _meos_a.overright_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_int(Pointer s, int i) { - var _result = _meos_a.overright_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.overright_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.overright_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_bigint(Pointer sp, long i) { - var _result = _meos_a.overright_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_float(Pointer sp, double d) { - var _result = _meos_a.overright_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_int(Pointer sp, int i) { - var _result = _meos_a.overright_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.overright_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.overright_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.overright_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_float(Pointer ss, double d) { - var _result = _meos_a.overright_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_int(Pointer ss, int i) { - var _result = _meos_a.overright_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.overright_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.overright_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.overright_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_set(long i, Pointer s) { - var _result = _meos_a.right_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_span(long i, Pointer sp) { - var _result = _meos_a.right_bigint_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.right_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_set(double d, Pointer s) { - var _result = _meos_a.right_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_span(double d, Pointer sp) { - var _result = _meos_a.right_float_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_spanset(double d, Pointer ss) { - var _result = _meos_a.right_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_set(int i, Pointer s) { - var _result = _meos_a.right_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_span(int i, Pointer sp) { - var _result = _meos_a.right_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_spanset(int i, Pointer ss) { - var _result = _meos_a.right_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_bigint(Pointer s, long i) { - var _result = _meos_a.right_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_float(Pointer s, double d) { - var _result = _meos_a.right_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_int(Pointer s, int i) { - var _result = _meos_a.right_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.right_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.right_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_bigint(Pointer sp, long i) { - var _result = _meos_a.right_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_float(Pointer sp, double d) { - var _result = _meos_a.right_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_int(Pointer sp, int i) { - var _result = _meos_a.right_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.right_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.right_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.right_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_float(Pointer ss, double d) { - var _result = _meos_a.right_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_int(Pointer ss, int i) { - var _result = _meos_a.right_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.right_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.right_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.right_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_bigint_set(long i, Pointer s) { - var _result = _meos_a.intersection_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_date_set(int d, Pointer s) { - var _result = _meos_a.intersection_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_float_set(double d, Pointer s) { - var _result = _meos_a.intersection_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_int_set(int i, Pointer s) { - var _result = _meos_a.intersection_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_bigint(Pointer s, long i) { - var _result = _meos_a.intersection_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_date(Pointer s, int d) { - var _result = _meos_a.intersection_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_float(Pointer s, double d) { - var _result = _meos_a.intersection_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_int(Pointer s, int i) { - var _result = _meos_a.intersection_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.intersection_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.intersection_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_bigint(Pointer sp, long i) { - var _result = _meos_a.intersection_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_date(Pointer sp, int d) { - var _result = _meos_a.intersection_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_float(Pointer sp, double d) { - var _result = _meos_a.intersection_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_int(Pointer sp, int i) { - var _result = _meos_a.intersection_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.intersection_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.intersection_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.intersection_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_date(Pointer ss, int d) { - var _result = _meos_a.intersection_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_float(Pointer ss, double d) { - var _result = _meos_a.intersection_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_int(Pointer ss, int i) { - var _result = _meos_a.intersection_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.intersection_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.intersection_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.intersection_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.intersection_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_set(long i, Pointer s) { - var _result = _meos_a.minus_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_span(long i, Pointer sp) { - var _result = _meos_a.minus_bigint_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.minus_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_set(int d, Pointer s) { - var _result = _meos_a.minus_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_span(int d, Pointer sp) { - var _result = _meos_a.minus_date_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_spanset(int d, Pointer ss) { - var _result = _meos_a.minus_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_set(double d, Pointer s) { - var _result = _meos_a.minus_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_span(double d, Pointer sp) { - var _result = _meos_a.minus_float_span(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_spanset(double d, Pointer ss) { - var _result = _meos_a.minus_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_set(int i, Pointer s) { - var _result = _meos_a.minus_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_span(int i, Pointer sp) { - var _result = _meos_a.minus_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_spanset(int i, Pointer ss) { - var _result = _meos_a.minus_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_bigint(Pointer s, long i) { - var _result = _meos_a.minus_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_date(Pointer s, int d) { - var _result = _meos_a.minus_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_float(Pointer s, double d) { - var _result = _meos_a.minus_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_int(Pointer s, int i) { - var _result = _meos_a.minus_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.minus_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.minus_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_bigint(Pointer sp, long i) { - var _result = _meos_a.minus_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_date(Pointer sp, int d) { - var _result = _meos_a.minus_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_float(Pointer sp, double d) { - var _result = _meos_a.minus_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_int(Pointer sp, int i) { - var _result = _meos_a.minus_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_span(Pointer sp1, Pointer sp2) { - var _result = _meos_a.minus_span_span(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_spanset(Pointer sp, Pointer ss) { - var _result = _meos_a.minus_span_spanset(sp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.minus_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_date(Pointer ss, int d) { - var _result = _meos_a.minus_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_float(Pointer ss, double d) { - var _result = _meos_a.minus_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_int(Pointer ss, int i) { - var _result = _meos_a.minus_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.minus_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.minus_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.minus_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.minus_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_set(long i, Pointer s) { - var _result = _meos_a.union_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_span(Pointer sp, long i) { - var _result = _meos_a.union_bigint_span(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_spanset(long i, Pointer ss) { - var _result = _meos_a.union_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_set(int d, Pointer s) { - var _result = _meos_a.union_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_span(Pointer sp, int d) { - var _result = _meos_a.union_date_span(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_spanset(int d, Pointer ss) { - var _result = _meos_a.union_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_set(double d, Pointer s) { - var _result = _meos_a.union_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_span(Pointer sp, double d) { - var _result = _meos_a.union_float_span(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_spanset(double d, Pointer ss) { - var _result = _meos_a.union_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_set(int i, Pointer s) { - var _result = _meos_a.union_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_span(int i, Pointer sp) { - var _result = _meos_a.union_int_span(i, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_spanset(int i, Pointer ss) { - var _result = _meos_a.union_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_bigint(Pointer s, long i) { - var _result = _meos_a.union_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_date(Pointer s, int d) { - var _result = _meos_a.union_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_float(Pointer s, double d) { - var _result = _meos_a.union_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_int(Pointer s, int i) { - var _result = _meos_a.union_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_set(Pointer s1, Pointer s2) { - var _result = _meos_a.union_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_text(Pointer s, Pointer txt) { - var _result = _meos_a.union_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_bigint(Pointer s, long i) { - var _result = _meos_a.union_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_date(Pointer s, int d) { - var _result = _meos_a.union_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_float(Pointer s, double d) { - var _result = _meos_a.union_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_int(Pointer s, int i) { - var _result = _meos_a.union_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_span(Pointer s1, Pointer s2) { - var _result = _meos_a.union_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer super_union_span_span(Pointer s1, Pointer s2, boolean strict) { - var _result = _meos_a.super_union_span_span(s1, s2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_spanset(Pointer s, Pointer ss) { - var _result = _meos_a.union_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.union_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_date(Pointer ss, int d) { - var _result = _meos_a.union_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_float(Pointer ss, double d) { - var _result = _meos_a.union_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_int(Pointer ss, int i) { - var _result = _meos_a.union_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_span(Pointer ss, Pointer sp) { - var _result = _meos_a.union_spanset_span(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.union_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_text_set(Pointer txt, Pointer s) { - var _result = _meos_a.union_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_span(OffsetDateTime t, Pointer sp) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_timestamptz_span(t_new, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.union_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintset_bigintset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_bigintset_bigintset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspan_bigintspan(Pointer sp1, Pointer sp2) { - var _result = _meos_a.distance_bigintspan_bigintspan(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspan(Pointer ss, Pointer sp) { - var _result = _meos_a.distance_bigintspanset_bigintspan(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_bigintspanset_bigintspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_dateset_dateset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_dateset_dateset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespan_datespan(Pointer sp1, Pointer sp2) { - var _result = _meos_a.distance_datespan_datespan(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespanset_datespan(Pointer ss, Pointer sp) { - var _result = _meos_a.distance_datespanset_datespan(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespanset_datespanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_datespanset_datespanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatset_floatset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_floatset_floatset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspan_floatspan(Pointer sp1, Pointer sp2) { - var _result = _meos_a.distance_floatspan_floatspan(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspanset_floatspan(Pointer ss, Pointer sp) { - var _result = _meos_a.distance_floatspanset_floatspan(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_floatspanset_floatspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intset_intset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_intset_intset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspan_intspan(Pointer sp1, Pointer sp2) { - var _result = _meos_a.distance_intspan_intspan(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspanset_intspan(Pointer ss, Pointer sp) { - var _result = _meos_a.distance_intspanset_intspan(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspanset_intspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_intspanset_intspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_set_bigint(Pointer s, long i) { - var _result = _meos_a.distance_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_date(Pointer s, int d) { - var _result = _meos_a.distance_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_set_float(Pointer s, double d) { - var _result = _meos_a.distance_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_int(Pointer s, int i) { - var _result = _meos_a.distance_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.distance_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_span_bigint(Pointer sp, long i) { - var _result = _meos_a.distance_span_bigint(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_date(Pointer sp, int d) { - var _result = _meos_a.distance_span_date(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_float(Pointer sp, double d) { - var _result = _meos_a.distance_span_float(sp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_int(Pointer sp, int i) { - var _result = _meos_a.distance_span_int(sp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_timestamptz(Pointer sp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.distance_span_timestamptz(sp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_spanset_bigint(Pointer ss, long i) { - var _result = _meos_a.distance_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_date(Pointer ss, int d) { - var _result = _meos_a.distance_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_spanset_float(Pointer ss, double d) { - var _result = _meos_a.distance_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_int(Pointer ss, int i) { - var _result = _meos_a.distance_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.distance_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzset_tstzset(Pointer s1, Pointer s2) { - var _result = _meos_a.distance_tstzset_tstzset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspan_tstzspan(Pointer sp1, Pointer sp2) { - var _result = _meos_a.distance_tstzspan_tstzspan(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspan(Pointer ss, Pointer sp) { - var _result = _meos_a.distance_tstzspanset_tstzspan(ss, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2) { - var _result = _meos_a.distance_tstzspanset_tstzspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_extent_transfn(Pointer state, long i) { - var _result = _meos_a.bigint_extent_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_union_transfn(Pointer state, long i) { - var _result = _meos_a.bigint_union_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_extent_transfn(Pointer state, int d) { - var _result = _meos_a.date_extent_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_union_transfn(Pointer state, int d) { - var _result = _meos_a.date_union_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_extent_transfn(Pointer state, double d) { - var _result = _meos_a.float_extent_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_union_transfn(Pointer state, double d) { - var _result = _meos_a.float_union_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_extent_transfn(Pointer state, int i) { - var _result = _meos_a.int_extent_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_union_transfn(Pointer state, int i) { - var _result = _meos_a.int_union_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_extent_transfn(Pointer state, Pointer s) { - var _result = _meos_a.set_extent_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_union_finalfn(Pointer state) { - var _result = _meos_a.set_union_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_union_transfn(Pointer state, Pointer s) { - var _result = _meos_a.set_union_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_extent_transfn(Pointer state, Pointer sp) { - var _result = _meos_a.span_extent_transfn(state, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_union_transfn(Pointer state, Pointer sp) { - var _result = _meos_a.span_union_transfn(state, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_extent_transfn(Pointer state, Pointer ss) { - var _result = _meos_a.spanset_extent_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_union_finalfn(Pointer state) { - var _result = _meos_a.spanset_union_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_union_transfn(Pointer state, Pointer ss) { - var _result = _meos_a.spanset_union_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_union_transfn(Pointer state, Pointer txt) { - var _result = _meos_a.text_union_transfn(state, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_extent_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_extent_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_union_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_union_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigint_get_bin(long value, long vsize, long vorigin) { - var _result = _meos_a.bigint_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_bins(Pointer sp, long vsize, long vorigin, Pointer count) { - var _result = _meos_a.bigintspan_bins(sp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count) { - var _result = _meos_a.bigintspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int date_get_bin(int d, Pointer duration, int torigin) { - var _result = _meos_a.date_get_bin(d, duration, torigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_bins(Pointer sp, Pointer duration, int torigin, Pointer count) { - var _result = _meos_a.datespan_bins(sp, duration, torigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count) { - var _result = _meos_a.datespanset_bins(ss, duration, torigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_get_bin(double value, double vsize, double vorigin) { - var _result = _meos_a.float_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_bins(Pointer sp, double vsize, double vorigin, Pointer count) { - var _result = _meos_a.floatspan_bins(sp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count) { - var _result = _meos_a.floatspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int_get_bin(int value, int vsize, int vorigin) { - var _result = _meos_a.int_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_bins(Pointer sp, int vsize, int vorigin, Pointer count) { - var _result = _meos_a.intspan_bins(sp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count) { - var _result = _meos_a.intspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_get_bin(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.timestamptz_get_bin(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_bins(Pointer sp, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_a.tstzspan_bins(sp, duration, origin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_bins(Pointer ss, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_a.tstzspanset_bins(ss, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = _meos_a.tbox_as_hexwkb(box, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.tbox_as_wkb(box, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_from_hexwkb(String hexwkb) { - var _result = _meos_a.tbox_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.tbox_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_in(String str) { - var _result = _meos_a.tbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbox_out(Pointer box, int maxdd) { - var _result = _meos_a.tbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_timestamptz_to_tbox(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.float_timestamptz_to_tbox(d, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_tstzspan_to_tbox(double d, Pointer sp) { - var _result = _meos_a.float_tstzspan_to_tbox(d, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_timestamptz_to_tbox(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.int_timestamptz_to_tbox(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_timestamptz_to_tbox(long i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.bigint_timestamptz_to_tbox(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_tstzspan_to_tbox(int i, Pointer s) { - var _result = _meos_a.int_tstzspan_to_tbox(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_tstzspan_to_tbox(long i, Pointer s) { - var _result = _meos_a.bigint_tstzspan_to_tbox(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_tstzspan_to_tbox(Pointer s, Pointer p) { - var _result = _meos_a.numspan_tstzspan_to_tbox(s, p); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_timestamptz_to_tbox(Pointer span, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.numspan_timestamptz_to_tbox(span, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_copy(Pointer box) { - var _result = _meos_a.tbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_make(Pointer sp1, Pointer sp2) { - var _result = _meos_a.tbox_make(sp1, sp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_tbox(double d) { - var _result = _meos_a.float_to_tbox(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_tbox(int i) { - var _result = _meos_a.int_to_tbox(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_tbox(long i) { - var _result = _meos_a.bigint_to_tbox(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_tbox(Pointer s) { - var _result = _meos_a.set_to_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_to_tbox(Pointer sp) { - var _result = _meos_a.span_to_tbox(sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_to_tbox(Pointer ss) { - var _result = _meos_a.spanset_to_tbox(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_bigintspan(Pointer box) { - var _result = _meos_a.tbox_to_bigintspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_intspan(Pointer box) { - var _result = _meos_a.tbox_to_intspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_floatspan(Pointer box) { - var _result = _meos_a.tbox_to_floatspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_tstzspan(Pointer box) { - var _result = _meos_a.tbox_to_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_tbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.timestamptz_to_tbox(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_hash(Pointer box) { - var _result = _meos_a.tbox_hash(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbox_hash_extended(Pointer box, long seed) { - var _result = _meos_a.tbox_hash_extended(box, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_hast(Pointer box) { - var _result = _meos_a.tbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_hasx(Pointer box) { - var _result = _meos_a.tbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_a.tbox_tmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_a.tbox_tmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.tbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_a.tbox_xmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.tbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_a.tbox_xmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxfloat_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.tboxfloat_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxfloat_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.tboxfloat_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxint_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.tboxint_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxbigint_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tboxbigint_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxint_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.tboxint_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxbigint_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tboxbigint_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbigintbox_expand(Pointer box, long i) { - var _result = _meos_a.tbigintbox_expand(box, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintbox_shift_scale(Pointer box, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.tbigintbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_expand_time(Pointer box, Pointer interv) { - var _result = _meos_a.tbox_expand_time(box, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_round(Pointer box, int maxdd) { - var _result = _meos_a.tbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = _meos_a.tintbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = _meos_a.tbox_shift_scale_time(box, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_expand(Pointer box, double d) { - var _result = _meos_a.tfloatbox_expand(box, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_expand(Pointer box, int i) { - var _result = _meos_a.tintbox_expand(box, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_a.union_tbox_tbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.intersection_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.adjacent_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.contained_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.contains_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.overlaps_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.same_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.after_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.before_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.left_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.overafter_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.overbefore_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.overleft_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.overright_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_a.right_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_le(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_a.tbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_from_mfjson(String str) { - var _result = _meos_a.tbigint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_in(String str) { - var _result = _meos_a.tbigint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbigint_out(Pointer temp) { - var _result = _meos_a.tbigint_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_from_mfjson(String str) { - var _result = _meos_a.tbool_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_in(String str) { - var _result = _meos_a.tbool_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbool_out(Pointer temp) { - var _result = _meos_a.tbool_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_as_hexwkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.temporal_as_hexwkb(temp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs) { - var _result = _meos_a.temporal_as_mfjson(temp, with_bbox, flags, precision, srs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_as_wkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_a.temporal_as_wkb(temp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_hexwkb(String hexwkb) { - var _result = _meos_a.temporal_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_wkb(Pointer wkb, long size) { - var _result = _meos_a.temporal_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_temporal_to_arrow(Pointer temp, Pointer out_schema, Pointer out_array) { - var _result = _meos_a.meos_temporal_to_arrow(temp, out_schema, out_array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_temporal_from_arrow(Pointer schema, Pointer array) { - var _result = _meos_a.meos_temporal_from_arrow(schema, array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_temporal_arrow_roundtrip(Pointer temp) { - var _result = _meos_a.meos_temporal_arrow_roundtrip(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_set_to_arrow(Pointer s, Pointer out_schema, Pointer out_array) { - var _result = _meos_a.meos_set_to_arrow(s, out_schema, out_array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_set_from_arrow(Pointer schema, Pointer array) { - var _result = _meos_a.meos_set_from_arrow(schema, array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_set_arrow_roundtrip(Pointer s) { - var _result = _meos_a.meos_set_arrow_roundtrip(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_span_to_arrow(Pointer s, Pointer out_schema, Pointer out_array) { - var _result = _meos_a.meos_span_to_arrow(s, out_schema, out_array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_span_from_arrow(Pointer schema, Pointer array) { - var _result = _meos_a.meos_span_from_arrow(schema, array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_span_arrow_roundtrip(Pointer s) { - var _result = _meos_a.meos_span_arrow_roundtrip(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_spanset_to_arrow(Pointer ss, Pointer out_schema, Pointer out_array) { - var _result = _meos_a.meos_spanset_to_arrow(ss, out_schema, out_array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_spanset_from_arrow(Pointer schema, Pointer array) { - var _result = _meos_a.meos_spanset_from_arrow(schema, array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_spanset_arrow_roundtrip(Pointer ss) { - var _result = _meos_a.meos_spanset_arrow_roundtrip(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_tbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array) { - var _result = _meos_a.meos_tbox_to_arrow(box, out_schema, out_array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_tbox_from_arrow(Pointer schema, Pointer array) { - var _result = _meos_a.meos_tbox_from_arrow(schema, array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_tbox_arrow_roundtrip(Pointer box) { - var _result = _meos_a.meos_tbox_arrow_roundtrip(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_stbox_to_arrow(Pointer box, Pointer out_schema, Pointer out_array) { - var _result = _meos_a.meos_stbox_to_arrow(box, out_schema, out_array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_stbox_from_arrow(Pointer schema, Pointer array) { - var _result = _meos_a.meos_stbox_from_arrow(schema, array); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_stbox_arrow_roundtrip(Pointer box) { - var _result = _meos_a.meos_stbox_arrow_roundtrip(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_from_mfjson(String str) { - var _result = _meos_a.tfloat_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_in(String str) { - var _result = _meos_a.tfloat_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tfloat_out(Pointer temp, int maxdd) { - var _result = _meos_a.tfloat_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_from_mfjson(String str) { - var _result = _meos_a.tint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_in(String str) { - var _result = _meos_a.tint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tint_out(Pointer temp) { - var _result = _meos_a.tint_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_from_mfjson(String str) { - var _result = _meos_a.ttext_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_in(String str) { - var _result = _meos_a.ttext_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String ttext_out(Pointer temp) { - var _result = _meos_a.ttext_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_from_base_temp(long i, Pointer temp) { - var _result = _meos_a.tbigint_from_base_temp(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintinst_make(long i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.tbigintinst_make(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseq_from_base_tstzset(long i, Pointer s) { - var _result = _meos_a.tbigintseq_from_base_tstzset(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseq_from_base_tstzspan(long i, Pointer s) { - var _result = _meos_a.tbigintseq_from_base_tstzspan(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseqset_from_base_tstzspanset(long i, Pointer ss) { - var _result = _meos_a.tbigintseqset_from_base_tstzspanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_from_base_temp(boolean b, Pointer temp) { - var _result = _meos_a.tbool_from_base_temp(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_make(boolean b, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.tboolinst_make(b, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzset(boolean b, Pointer s) { - var _result = _meos_a.tboolseq_from_base_tstzset(b, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzspan(boolean b, Pointer sp) { - var _result = _meos_a.tboolseq_from_base_tstzspan(b, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss) { - var _result = _meos_a.tboolseqset_from_base_tstzspanset(b, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_copy(Pointer temp) { - var _result = _meos_a.temporal_copy(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_from_base_temp(double d, Pointer temp) { - var _result = _meos_a.tfloat_from_base_temp(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_make(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.tfloatinst_make(d, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzset(double d, Pointer s) { - var _result = _meos_a.tfloatseq_from_base_tstzset(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzspan(double d, Pointer sp, int interp) { - var _result = _meos_a.tfloatseq_from_base_tstzspan(d, sp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp) { - var _result = _meos_a.tfloatseqset_from_base_tstzspanset(d, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_from_base_temp(int i, Pointer temp) { - var _result = _meos_a.tint_from_base_temp(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_make(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.tintinst_make(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzset(int i, Pointer s) { - var _result = _meos_a.tintseq_from_base_tstzset(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzspan(int i, Pointer s) { - var _result = _meos_a.tintseq_from_base_tstzspan(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss) { - var _result = _meos_a.tintseqset_from_base_tstzspanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_a.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize) { - var _result = _meos_a.tsequenceset_make(sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist) { - var _result = _meos_a.tsequenceset_make_gaps(instants, count, interp, maxt, maxdist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_from_base_temp(Pointer txt, Pointer temp) { - var _result = _meos_a.ttext_from_base_temp(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_make(Pointer txt, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.ttextinst_make(txt, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s) { - var _result = _meos_a.ttextseq_from_base_tstzset(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer sp) { - var _result = _meos_a.ttextseq_from_base_tstzspan(txt, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss) { - var _result = _meos_a.ttextseqset_from_base_tstzspanset(txt, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_to_tfloat(Pointer temp) { - var _result = _meos_a.tbigint_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_to_tint(Pointer temp) { - var _result = _meos_a.tbigint_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_to_tint(Pointer temp) { - var _result = _meos_a.tbool_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tstzspan(Pointer temp) { - var _result = _meos_a.temporal_to_tstzspan(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_to_tbigint(Pointer temp) { - var _result = _meos_a.tfloat_to_tbigint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_to_tint(Pointer temp) { - var _result = _meos_a.tfloat_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_to_tfloat(Pointer temp) { - var _result = _meos_a.tint_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_to_tbigint(Pointer temp) { - var _result = _meos_a.tint_to_tbigint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_to_span(Pointer temp) { - var _result = _meos_a.tnumber_to_span(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_to_tbox(Pointer temp) { - var _result = _meos_a.tnumber_to_tbox(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_end_value(Pointer temp) { - var _result = _meos_a.tbigint_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_max_value(Pointer temp) { - var _result = _meos_a.tbigint_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_min_value(Pointer temp) { - var _result = _meos_a.tbigint_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbigint_start_value(Pointer temp) { - var _result = _meos_a.tbigint_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_value_n(Pointer temp, long n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.tbigint_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_values(Pointer temp, Pointer count) { - var _result = _meos_a.tbigint_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_end_value(Pointer temp) { - var _result = _meos_a.tbool_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_start_value(Pointer temp) { - var _result = _meos_a.tbool_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_a.tbool_value_at_timestamptz(temp, t_new, strict, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbool_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_a.tbool_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbool_values(Pointer temp, Pointer count) { - var _result = _meos_a.tbool_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_duration(Pointer temp, boolean boundspan) { - var _result = _meos_a.temporal_duration(temp, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_instant(Pointer temp) { - var _result = _meos_a.temporal_end_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_sequence(Pointer temp) { - var _result = _meos_a.temporal_end_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime temporal_end_timestamptz(Pointer temp) { - var _result = _meos_a.temporal_end_timestamptz(temp); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int temporal_hash(Pointer temp) { - var _result = _meos_a.temporal_hash(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instant_n(Pointer temp, int n) { - var _result = _meos_a.temporal_instant_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instants(Pointer temp, Pointer count) { - var _result = _meos_a.temporal_instants(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instants_p(Pointer temp, Pointer count) { - var _result = _meos_a.temporal_instants_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_interp(Pointer temp) { - var _result = _meos_a.temporal_interp(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_lower_inc(Pointer temp) { - var _result = _meos_a.temporal_lower_inc(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_max_instant(Pointer temp) { - var _result = _meos_a.temporal_max_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_min_instant(Pointer temp) { - var _result = _meos_a.temporal_min_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_instants(Pointer temp) { - var _result = _meos_a.temporal_num_instants(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_sequences(Pointer temp) { - var _result = _meos_a.temporal_num_sequences(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_timestamps(Pointer temp) { - var _result = _meos_a.temporal_num_timestamps(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict) { - var _result = _meos_a.temporal_segm_duration(temp, duration, atleast, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_segments(Pointer temp, Pointer count) { - var _result = _meos_a.temporal_segments(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequence_n(Pointer temp, int i) { - var _result = _meos_a.temporal_sequence_n(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequences(Pointer temp, Pointer count) { - var _result = _meos_a.temporal_sequences(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_instant(Pointer temp) { - var _result = _meos_a.temporal_start_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_sequence(Pointer temp) { - var _result = _meos_a.temporal_start_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime temporal_start_timestamptz(Pointer temp) { - var _result = _meos_a.temporal_start_timestamptz(temp); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration) { - var _result = _meos_a.temporal_stops(temp, maxdist, minduration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_subtype(Pointer temp) { - var _result = _meos_a.temporal_subtype(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_basetype_name(Pointer temp) { - var _result = _meos_a.temporal_basetype_name(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time(Pointer temp) { - var _result = _meos_a.temporal_time(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_timestamps(Pointer temp, Pointer count) { - var _result = _meos_a.temporal_timestamps(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_timestamptz_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.temporal_timestamptz_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static boolean temporal_upper_inc(Pointer temp) { - var _result = _meos_a.temporal_upper_inc(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_end_value(Pointer temp) { - var _result = _meos_a.tfloat_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_min_value(Pointer temp) { - var _result = _meos_a.tfloat_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_max_value(Pointer temp) { - var _result = _meos_a.tfloat_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_start_value(Pointer temp) { - var _result = _meos_a.tfloat_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_a.tfloat_value_at_timestamptz(temp, t_new, strict, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_a.tfloat_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_values(Pointer temp, Pointer count) { - var _result = _meos_a.tfloat_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_end_value(Pointer temp) { - var _result = _meos_a.tint_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_max_value(Pointer temp) { - var _result = _meos_a.tint_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_min_value(Pointer temp) { - var _result = _meos_a.tint_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_start_value(Pointer temp) { - var _result = _meos_a.tint_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_a.tint_value_at_timestamptz(temp, t_new, strict, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = _meos_a.tint_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tint_values(Pointer temp, Pointer count) { - var _result = _meos_a.tint_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_avg_value(Pointer temp) { - var _result = _meos_a.tnumber_avg_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_integral(Pointer temp) { - var _result = _meos_a.tnumber_integral(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_twavg(Pointer temp) { - var _result = _meos_a.tnumber_twavg(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_valuespans(Pointer temp) { - var _result = _meos_a.tnumber_valuespans(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_end_value(Pointer temp) { - var _result = _meos_a.ttext_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_max_value(Pointer temp) { - var _result = _meos_a.ttext_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_min_value(Pointer temp) { - var _result = _meos_a.ttext_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_start_value(Pointer temp) { - var _result = _meos_a.ttext_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_a.ttext_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer ttext_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_a.ttext_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer ttext_values(Pointer temp, Pointer count) { - var _result = _meos_a.ttext_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_degrees(double value, boolean normalize) { - var _result = _meos_a.float_degrees(value, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_scale_value(Pointer temp, long width) { - var _result = _meos_a.tbigint_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_shift_scale_value(Pointer temp, long shift, long width) { - var _result = _meos_a.tbigint_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_shift_value(Pointer temp, long shift) { - var _result = _meos_a.tbigint_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temparr_round(Pointer temp, int count, int maxdd) { - var _result = _meos_a.temparr_round(temp, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_round(Pointer temp, int maxdd) { - var _result = _meos_a.temporal_round(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_scale_time(Pointer temp, Pointer duration) { - var _result = _meos_a.temporal_scale_time(temp, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_set_interp(Pointer temp, int interp) { - var _result = _meos_a.temporal_set_interp(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration) { - var _result = _meos_a.temporal_shift_scale_time(temp, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_shift_time(Pointer temp, Pointer shift) { - var _result = _meos_a.temporal_shift_time(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tinstant(Pointer temp) { - var _result = _meos_a.temporal_to_tinstant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tsequence(Pointer temp, int interp) { - var _result = _meos_a.temporal_to_tsequence(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tsequenceset(Pointer temp, int interp) { - var _result = _meos_a.temporal_to_tsequenceset(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_ceil(Pointer temp) { - var _result = _meos_a.tfloat_ceil(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_degrees(Pointer temp, boolean normalize) { - var _result = _meos_a.tfloat_degrees(temp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_floor(Pointer temp) { - var _result = _meos_a.tfloat_floor(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_radians(Pointer temp) { - var _result = _meos_a.tfloat_radians(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_scale_value(Pointer temp, double width) { - var _result = _meos_a.tfloat_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width) { - var _result = _meos_a.tfloat_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_shift_value(Pointer temp, double shift) { - var _result = _meos_a.tfloat_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_scale_value(Pointer temp, int width) { - var _result = _meos_a.tint_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_shift_scale_value(Pointer temp, int shift, int width) { - var _result = _meos_a.tint_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_shift_value(Pointer temp, int shift) { - var _result = _meos_a.tint_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_a.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand) { - var _result = _meos_a.temporal_append_tsequence(temp, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.temporal_delete_timestamptz(temp, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_a.temporal_delete_tstzset(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspan(Pointer temp, Pointer sp, boolean connect) { - var _result = _meos_a.temporal_delete_tstzspan(temp, sp, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { - var _result = _meos_a.temporal_delete_tstzspanset(temp, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect) { - var _result = _meos_a.temporal_insert(temp1, temp2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_merge(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_array(Pointer temparr, int count) { - var _result = _meos_a.temporal_merge_array(temparr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect) { - var _result = _meos_a.temporal_update(temp1, temp2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_at_value(Pointer temp, boolean b) { - var _result = _meos_a.tbool_at_value(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_minus_value(Pointer temp, boolean b) { - var _result = _meos_a.tbool_minus_value(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.temporal_after_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_max(Pointer temp) { - var _result = _meos_a.temporal_at_max(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_min(Pointer temp) { - var _result = _meos_a.temporal_at_min(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.temporal_at_timestamptz(temp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzset(Pointer temp, Pointer s) { - var _result = _meos_a.temporal_at_tstzset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_a.temporal_at_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss) { - var _result = _meos_a.temporal_at_tstzspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_values(Pointer temp, Pointer set) { - var _result = _meos_a.temporal_at_values(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.temporal_before_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_max(Pointer temp) { - var _result = _meos_a.temporal_minus_max(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_min(Pointer temp) { - var _result = _meos_a.temporal_minus_min(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_a.temporal_minus_timestamptz(temp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzset(Pointer temp, Pointer s) { - var _result = _meos_a.temporal_minus_tstzset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_a.temporal_minus_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss) { - var _result = _meos_a.temporal_minus_tstzspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_values(Pointer temp, Pointer set) { - var _result = _meos_a.temporal_minus_values(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_at_value(Pointer temp, double d) { - var _result = _meos_a.tfloat_at_value(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_minus_value(Pointer temp, double d) { - var _result = _meos_a.tfloat_minus_value(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_at_value(Pointer temp, int i) { - var _result = _meos_a.tint_at_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_minus_value(Pointer temp, int i) { - var _result = _meos_a.tint_minus_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_span(Pointer temp, Pointer sp) { - var _result = _meos_a.tnumber_at_span(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_spanset(Pointer temp, Pointer ss) { - var _result = _meos_a.tnumber_at_spanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_tbox(Pointer temp, Pointer box) { - var _result = _meos_a.tnumber_at_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_span(Pointer temp, Pointer sp) { - var _result = _meos_a.tnumber_minus_span(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_spanset(Pointer temp, Pointer ss) { - var _result = _meos_a.tnumber_minus_spanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_tbox(Pointer temp, Pointer box) { - var _result = _meos_a.tnumber_minus_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_at_value(Pointer temp, Pointer txt) { - var _result = _meos_a.ttext_at_value(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_minus_value(Pointer temp, Pointer txt) { - var _result = _meos_a.ttext_minus_value(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_cmp(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_cmp(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_eq(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_eq(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_ge(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_ge(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_gt(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_gt(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_le(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_le(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_lt(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_lt(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_ne(Pointer temp1, Pointer temp2) { - var _result = _meos_a.temporal_ne(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.always_eq_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_a.always_eq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.always_eq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_int_tint(int i, Pointer temp) { - var _result = _meos_a.always_eq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_a.always_eq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.always_eq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.always_eq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.always_eq_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.always_eq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tint_int(Pointer temp, int i) { - var _result = _meos_a.always_eq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.always_eq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.always_ge_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.always_ge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_int_tint(int i, Pointer temp) { - var _result = _meos_a.always_ge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.always_ge_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.always_ge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.always_ge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.always_ge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tint_int(Pointer temp, int i) { - var _result = _meos_a.always_ge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.always_ge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.always_gt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.always_gt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_int_tint(int i, Pointer temp) { - var _result = _meos_a.always_gt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.always_gt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.always_gt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.always_gt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.always_gt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tint_int(Pointer temp, int i) { - var _result = _meos_a.always_gt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.always_gt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.always_le_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.always_le_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_int_tint(int i, Pointer temp) { - var _result = _meos_a.always_le_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.always_le_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.always_le_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.always_le_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.always_le_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tint_int(Pointer temp, int i) { - var _result = _meos_a.always_le_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.always_le_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.always_lt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.always_lt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_int_tint(int i, Pointer temp) { - var _result = _meos_a.always_lt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.always_lt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.always_lt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.always_lt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tint_int(Pointer temp, int i) { - var _result = _meos_a.always_lt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.always_lt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.always_lt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_a.always_ne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.always_ne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_int_tint(int i, Pointer temp) { - var _result = _meos_a.always_ne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.always_ne_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_a.always_ne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.always_ne_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.always_ne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.always_ne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.always_ne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tint_int(Pointer temp, int i) { - var _result = _meos_a.always_ne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.always_ne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.ever_eq_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_a.ever_eq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.ever_eq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_int_tint(int i, Pointer temp) { - var _result = _meos_a.ever_eq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.ever_eq_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_a.ever_eq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.ever_eq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.ever_eq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.ever_eq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tint_int(Pointer temp, int i) { - var _result = _meos_a.ever_eq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.ever_eq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.ever_ge_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.ever_ge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_int_tint(int i, Pointer temp) { - var _result = _meos_a.ever_ge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.ever_ge_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.ever_ge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.ever_ge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.ever_ge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tint_int(Pointer temp, int i) { - var _result = _meos_a.ever_ge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.ever_ge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.ever_gt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.ever_gt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_int_tint(int i, Pointer temp) { - var _result = _meos_a.ever_gt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.ever_gt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.ever_gt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.ever_gt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.ever_gt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tint_int(Pointer temp, int i) { - var _result = _meos_a.ever_gt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.ever_gt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.ever_le_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.ever_le_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_int_tint(int i, Pointer temp) { - var _result = _meos_a.ever_le_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.ever_le_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.ever_le_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.ever_le_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.ever_le_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tint_int(Pointer temp, int i) { - var _result = _meos_a.ever_le_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.ever_le_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.ever_lt_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.ever_lt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_int_tint(int i, Pointer temp) { - var _result = _meos_a.ever_lt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.ever_lt_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.ever_lt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.ever_lt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.ever_lt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tint_int(Pointer temp, int i) { - var _result = _meos_a.ever_lt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.ever_lt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_bigint_tbigint(long i, Pointer temp) { - var _result = _meos_a.ever_ne_bigint_tbigint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_a.ever_ne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.ever_ne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_int_tint(int i, Pointer temp) { - var _result = _meos_a.ever_ne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tbigint_bigint(Pointer temp, long i) { - var _result = _meos_a.ever_ne_tbigint_bigint(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_a.ever_ne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.ever_ne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.ever_ne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.ever_ne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tint_int(Pointer temp, int i) { - var _result = _meos_a.ever_ne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.ever_ne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_a.teq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.teq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_int_tint(int i, Pointer temp) { - var _result = _meos_a.teq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_a.teq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.teq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.teq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.teq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tint_int(Pointer temp, int i) { - var _result = _meos_a.teq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.teq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.tge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_int_tint(int i, Pointer temp) { - var _result = _meos_a.tge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.tge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.tge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.tge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_tint_int(Pointer temp, int i) { - var _result = _meos_a.tge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.tge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.tgt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_int_tint(int i, Pointer temp) { - var _result = _meos_a.tgt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_a.tgt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_a.tgt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_tfloat_float(Pointer temp, double d) { - var _result = _meos_a.tgt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_tint_int(Pointer temp, int i) { - var _result = _meos_a.tgt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_a.tgt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_float_tfloat(double d, Pointer temp) { - var _result = _meos_a.tle_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_int_tint(int i, Pointer temp) { - var _result = _meos_b.tle_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tle_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tle_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tle_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_tint_int(Pointer temp, int i) { - var _result = _meos_b.tle_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tle_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tlt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_int_tint(int i, Pointer temp) { - var _result = _meos_b.tlt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tlt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tlt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tlt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_tint_int(Pointer temp, int i) { - var _result = _meos_b.tlt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tlt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.tne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_float_tfloat(double d, Pointer temp) { - var _result = _meos_b.tne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_int_tint(int i, Pointer temp) { - var _result = _meos_b.tne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.tne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.tne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tint_int(Pointer temp, int i) { - var _result = _meos_b.tne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.tne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_spans(Pointer temp, Pointer count) { - var _result = _meos_b.temporal_spans(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_b.temporal_split_each_n_spans(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count) { - var _result = _meos_b.temporal_split_n_spans(temp, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_b.tnumber_split_each_n_tboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_b.tnumber_split_n_tboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tboxes(Pointer temp, Pointer count) { - var _result = _meos_b.tnumber_tboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.adjacent_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.adjacent_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adjacent_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.adjacent_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.adjacent_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.adjacent_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adjacent_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.adjacent_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.contained_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.contained_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contained_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.contained_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.contained_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.contained_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contained_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.contained_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.contains_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.contains_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.contains_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contains_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.contains_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.contains_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contains_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.contains_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.overlaps_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overlaps_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overlaps_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.overlaps_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.overlaps_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overlaps_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overlaps_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.overlaps_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.same_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.same_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.same_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.same_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.same_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.same_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.same_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.same_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.after_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.after_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.after_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.after_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.after_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.after_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.before_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.before_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.before_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.before_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.before_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.before_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.left_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.left_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.left_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.left_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.left_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overafter_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.overafter_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overafter_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overafter_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overafter_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.overafter_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overbefore_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_temporal_tstzspan(Pointer temp, Pointer sp) { - var _result = _meos_b.overbefore_temporal_tstzspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overbefore_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overbefore_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overbefore_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tstzspan_temporal(Pointer sp, Pointer temp) { - var _result = _meos_b.overbefore_tstzspan_temporal(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.overleft_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overleft_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.overleft_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overleft_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overleft_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.overright_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.overright_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.overright_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.overright_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overright_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_numspan_tnumber(Pointer sp, Pointer temp) { - var _result = _meos_b.right_numspan_tnumber(sp, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tbox_tnumber(Pointer box, Pointer temp) { - var _result = _meos_b.right_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_numspan(Pointer temp, Pointer sp) { - var _result = _meos_b.right_tnumber_numspan(temp, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.right_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.right_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.tand_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.tand_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tand_tbool_tbool(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_when_true(Pointer temp) { - var _result = _meos_b.tbool_when_true(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnot_tbool(Pointer temp) { - var _result = _meos_b.tnot_tbool(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_bool_tbool(boolean b, Pointer temp) { - var _result = _meos_b.tor_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_tbool_bool(Pointer temp, boolean b) { - var _result = _meos_b.tor_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tor_tbool_tbool(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.add_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.add_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.add_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.add_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.add_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.add_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.add_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.div_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.div_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.div_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.div_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.div_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.div_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.div_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.mul_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.mul_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.mul_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.mul_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.mul_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.mul_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.mul_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_bigint_tbigint(long i, Pointer tnumber) { - var _result = _meos_b.sub_bigint_tbigint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_float_tfloat(double d, Pointer tnumber) { - var _result = _meos_b.sub_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_int_tint(int i, Pointer tnumber) { - var _result = _meos_b.sub_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tbigint_bigint(Pointer tnumber, long i) { - var _result = _meos_b.sub_tbigint_bigint(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tfloat_float(Pointer tnumber, double d) { - var _result = _meos_b.sub_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tint_int(Pointer tnumber, int i) { - var _result = _meos_b.sub_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = _meos_b.sub_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_derivative(Pointer temp) { - var _result = _meos_b.temporal_derivative(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_exp(Pointer temp) { - var _result = _meos_b.tfloat_exp(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_ln(Pointer temp) { - var _result = _meos_b.tfloat_ln(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_log10(Pointer temp) { - var _result = _meos_b.tfloat_log10(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_abs(Pointer temp) { - var _result = _meos_b.tnumber_abs(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_trend(Pointer temp) { - var _result = _meos_b.tnumber_trend(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_angular_difference(double degrees1, double degrees2) { - var _result = _meos_b.float_angular_difference(degrees1, degrees2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_angular_difference(Pointer temp) { - var _result = _meos_b.tnumber_angular_difference(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_delta_value(Pointer temp) { - var _result = _meos_b.tnumber_delta_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_ttext(Pointer txt, Pointer temp) { - var _result = _meos_b.textcat_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_ttext_text(Pointer temp, Pointer txt) { - var _result = _meos_b.textcat_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2) { - var _result = _meos_b.textcat_ttext_ttext(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_initcap(Pointer temp) { - var _result = _meos_b.ttext_initcap(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_upper(Pointer temp) { - var _result = _meos_b.ttext_upper(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_lower(Pointer temp) { - var _result = _meos_b.ttext_lower(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.tdistance_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tint_int(Pointer temp, int i) { - var _result = _meos_b.tdistance_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tdistance_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2) { - var _result = _meos_b.nad_tboxfloat_tboxfloat(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tboxint_tboxint(Pointer box1, Pointer box2) { - var _result = _meos_b.nad_tboxint_tboxint(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_float(Pointer temp, double d) { - var _result = _meos_b.nad_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_tfloat(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nad_tfloat_tfloat(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.nad_tfloat_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_int(Pointer temp, int i) { - var _result = _meos_b.nad_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_tbox(Pointer temp, Pointer box) { - var _result = _meos_b.nad_tint_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_tint(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nad_tint_tint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tand_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tbool_tand_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tand_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tbool_tand_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tor_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tbool_tor_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tor_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tbool_tor_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_extent_transfn(Pointer s, Pointer temp) { - var _result = _meos_b.temporal_extent_transfn(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.temporal_merge_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.temporal_merge_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tagg_finalfn(Pointer state) { - var _result = _meos_b.temporal_tagg_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tcount_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.temporal_tcount_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tcount_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.temporal_tcount_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tfloat_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmax_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tfloat_tmax_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tfloat_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmin_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tfloat_tmin_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tsum_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tfloat_tsum_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tsum_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tfloat_tsum_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tfloat_wmax_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tfloat_wmin_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tfloat_wsum_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_tcount_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.timestamptz_tcount_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tint_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmax_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tint_tmax_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tint_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmin_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tint_tmin_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tsum_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tint_tsum_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tsum_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tint_tsum_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tint_wmax_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tint_wmin_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tint_wsum_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_extent_transfn(Pointer box, Pointer temp) { - var _result = _meos_b.tnumber_extent_transfn(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_finalfn(Pointer state) { - var _result = _meos_b.tnumber_tavg_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tnumber_tavg_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.tnumber_tavg_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = _meos_b.tnumber_wavg_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_tcount_transfn(Pointer state, Pointer s) { - var _result = _meos_b.tstzset_tcount_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_tcount_transfn(Pointer state, Pointer sp) { - var _result = _meos_b.tstzspan_tcount_transfn(state, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss) { - var _result = _meos_b.tstzspanset_tcount_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmax_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.ttext_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmax_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.ttext_tmax_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmin_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.ttext_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmin_combinefn(Pointer state1, Pointer state2) { - var _result = _meos_b.ttext_tmin_combinefn(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_dp(Pointer temp, double dist, boolean synchronize) { - var _result = _meos_b.temporal_simplify_dp(temp, dist, synchronize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_max_dist(Pointer temp, double dist, boolean synchronize) { - var _result = _meos_b.temporal_simplify_max_dist(temp, dist, synchronize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_dist(Pointer temp, double dist) { - var _result = _meos_b.temporal_simplify_min_dist(temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint) { - var _result = _meos_b.temporal_simplify_min_tdelta(temp, mint); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tprecision(Pointer temp, Pointer duration, OffsetDateTime origin) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.temporal_tprecision(temp, duration, origin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsample(Pointer temp, Pointer duration, OffsetDateTime origin, int interp) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.temporal_tsample(temp, duration, origin_new, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_dyntimewarp_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_b.temporal_dyntimewarp_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_frechet_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_frechet_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_b.temporal_frechet_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_hausdorff_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_hausdorff_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_average_hausdorff_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_b.temporal_average_hausdorff_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_lcss_distance(Pointer temp1, Pointer temp2, double epsilon) { - var _result = _meos_b.temporal_lcss_distance(temp1, temp2, epsilon); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_ext_kalman_filter(Pointer temp, double gate, double q, double variance, boolean to_drop) { - var _result = _meos_b.temporal_ext_kalman_filter(temp, gate, q, variance, to_drop); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_bins(Pointer temp, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = _meos_b.temporal_time_bins(temp, duration, origin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_split(Pointer temp, Pointer duration, OffsetDateTime torigin) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 24); - var torigin_new = torigin.toEpochSecond(); - _meos_b.temporal_time_split(_sret, temp, duration, torigin_new); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloat_time_boxes(temp, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.tfloat_value_bins(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.tfloat_value_boxes(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_split(Pointer temp, double size, double origin) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 24); - _meos_b.tfloat_value_split(_sret, temp, size, origin); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 32); - var torigin_new = torigin.toEpochSecond(); - _meos_b.tfloat_value_time_split(_sret, temp, vsize, duration, vorigin, torigin_new); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloatbox_time_tiles(box, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count) { - var _result = _meos_b.tfloatbox_value_tiles(box, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tint_time_boxes(temp, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = _meos_b.tint_value_bins(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = _meos_b.tint_value_boxes(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_split(Pointer temp, int vsize, int vorigin) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 24); - _meos_b.tint_value_split(_sret, temp, vsize, vorigin); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, OffsetDateTime torigin) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 32); - var torigin_new = torigin.toEpochSecond(); - _meos_b.tint_value_time_split(_sret, temp, size, duration, vorigin, torigin_new); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tintbox_time_tiles(box, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count) { - var _result = _meos_b.tintbox_value_tiles(box, xsize, xorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_from_gbox(Pointer box) { - var _result = _meos_b.box3d_from_gbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) { - var _result = _meos_b.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String box3d_out(Pointer box, int maxdd) { - var _result = _meos_b.box3d_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) { - var _result = _meos_b.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String gbox_out(Pointer box, int maxdd) { - var _result = _meos_b.gbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size) { - var _result = _meos_b.geo_as_ewkb(gs, endian, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_ewkt(Pointer gs, int precision) { - var _result = _meos_b.geo_as_ewkt(gs, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_geojson(Pointer gs, int option, int precision, String srs) { - var _result = _meos_b.geo_as_geojson(gs, option, precision, srs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_hexewkb(Pointer gs, String endian) { - var _result = _meos_b.geo_as_hexewkb(gs, endian); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_text(Pointer gs, int precision) { - var _result = _meos_b.geo_as_text(gs, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid) { - var _result = _meos_b.geo_from_ewkb(wkb, wkb_size, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_geojson(String geojson) { - var _result = _meos_b.geo_from_geojson(geojson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_text(String wkt, int srid) { - var _result = _meos_b.geo_from_text(wkt, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_out(Pointer gs) { - var _result = _meos_b.geo_out(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_from_hexewkb(String wkt) { - var _result = _meos_b.geog_from_hexewkb(wkt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_in(String str, int typmod) { - var _result = _meos_b.geog_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_from_hexewkb(String wkt) { - var _result = _meos_b.geom_from_hexewkb(wkt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_in(String str, int typmod) { - var _result = _meos_b.geom_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_in(String str) { - var _result = _meos_b.box3d_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_in(String str) { - var _result = _meos_b.gbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_copy(Pointer gs) { - var _result = _meos_b.geo_copy(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogpoint_make2d(int srid, double x, double y) { - var _result = _meos_b.geogpoint_make2d(srid, x, y); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogpoint_make3dz(int srid, double x, double y, double z) { - var _result = _meos_b.geogpoint_make3dz(srid, x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_make2d(int srid, double x, double y) { - var _result = _meos_b.geompoint_make2d(srid, x, y); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_make3dz(int srid, double x, double y, double z) { - var _result = _meos_b.geompoint_make3dz(srid, x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_geog(Pointer geom) { - var _result = _meos_b.geom_to_geog(geom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_to_geom(Pointer geog) { - var _result = _meos_b.geog_to_geom(geog); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_is_empty(Pointer gs) { - var _result = _meos_b.geo_is_empty(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_is_unitary(Pointer gs) { - var _result = _meos_b.geo_is_unitary(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_typename(int type) { - var _result = _meos_b.geo_typename(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_area(Pointer gs, boolean use_spheroid) { - var _result = _meos_b.geog_area(gs, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_centroid(Pointer gs, boolean use_spheroid) { - var _result = _meos_b.geog_centroid(gs, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_length(Pointer gs, boolean use_spheroid) { - var _result = _meos_b.geog_length(gs, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_perimeter(Pointer gs, boolean use_spheroid) { - var _result = _meos_b.geog_perimeter(gs, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_azimuth(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.geom_azimuth(gs1, gs2, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static double geom_length(Pointer gs) { - var _result = _meos_b.geom_length(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_perimeter(Pointer gs) { - var _result = _meos_b.geom_perimeter(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int line_numpoints(Pointer gs) { - var _result = _meos_b.line_numpoints(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_point_n(Pointer geom, int n) { - var _result = _meos_b.line_point_n(geom, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_reverse(Pointer gs) { - var _result = _meos_b.geo_reverse(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_round(Pointer gs, int maxdd) { - var _result = _meos_b.geo_round(gs, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_set_srid(Pointer gs, int srid) { - var _result = _meos_b.geo_set_srid(gs, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_srid(Pointer gs) { - var _result = _meos_b.geo_srid(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_transform(Pointer geom, int srid_to) { - var _result = _meos_b.geo_transform(geom, srid_to); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward) { - var _result = _meos_b.geo_transform_pipeline(gs, pipeline, srid_to, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_collect_garray(Pointer gsarr, int count) { - var _result = _meos_b.geo_collect_garray(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_makeline_garray(Pointer gsarr, int count) { - var _result = _meos_b.geo_makeline_garray(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_num_points(Pointer gs) { - var _result = _meos_b.geo_num_points(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_num_geos(Pointer gs) { - var _result = _meos_b.geo_num_geos(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_geo_n(Pointer geom, int n) { - var _result = _meos_b.geo_geo_n(geom, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_pointarr(Pointer gs, Pointer count) { - var _result = _meos_b.geo_pointarr(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_points(Pointer gs) { - var _result = _meos_b.geo_points(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_array_union(Pointer gsarr, int count) { - var _result = _meos_b.geom_array_union(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_boundary(Pointer gs) { - var _result = _meos_b.geom_boundary(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_buffer(Pointer gs, double size, String params) { - var _result = _meos_b.geom_buffer(gs, size, params); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_centroid(Pointer gs) { - var _result = _meos_b.geom_centroid(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_convex_hull(Pointer gs) { - var _result = _meos_b.geom_convex_hull(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_difference2d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_difference2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_intersection2d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_intersection2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_intersection2d_coll(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_min_bounding_radius(Pointer geom) { - var _result = _meos_b.geom_min_bounding_radius(geom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_shortestline2d(Pointer gs1, Pointer s2) { - var _result = _meos_b.geom_shortestline2d(gs1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_shortestline3d(Pointer gs1, Pointer s2) { - var _result = _meos_b.geom_shortestline3d(gs1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_unary_union(Pointer gs, double prec) { - var _result = _meos_b.geom_unary_union(gs, prec); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat) { - var _result = _meos_b.line_interpolate_point(gs, distance_fraction, repeat); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double line_locate_point(Pointer gs1, Pointer gs2) { - var _result = _meos_b.line_locate_point(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_substring(Pointer gs, double from, double to) { - var _result = _meos_b.line_substring(gs, from, to); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid) { - var _result = _meos_b.geog_dwithin(g1, g2, tolerance, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid) { - var _result = _meos_b.geog_intersects(gs1, gs2, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_contains(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_contains(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_covers(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_covers(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_disjoint2d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_disjoint2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = _meos_b.geom_dwithin2d(gs1, gs2, tolerance); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = _meos_b.geom_dwithin3d(gs1, gs2, tolerance); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_intersects2d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_intersects2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_intersects3d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_intersects3d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt) { - var _result = _meos_b.geom_relate_pattern(gs1, gs2, patt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_touches(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_touches(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_stboxes(Pointer gs, Pointer count) { - var _result = _meos_b.geo_stboxes(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count) { - var _result = _meos_b.geo_split_each_n_stboxes(gs, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count) { - var _result = _meos_b.geo_split_n_stboxes(gs, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_distance(Pointer g1, Pointer g2) { - var _result = _meos_b.geog_distance(g1, g2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_distance2d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_distance2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_distance3d(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geom_distance3d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_equals(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geo_equals(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_same(Pointer gs1, Pointer gs2) { - var _result = _meos_b.geo_same(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogset_in(String str) { - var _result = _meos_b.geogset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geomset_in(String str) { - var _result = _meos_b.geomset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_out(Pointer s, int maxdd) { - var _result = _meos_b.spatialset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_as_text(Pointer set, int maxdd) { - var _result = _meos_b.spatialset_as_text(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_as_ewkt(Pointer set, int maxdd) { - var _result = _meos_b.spatialset_as_ewkt(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_make(Pointer values, int count) { - var _result = _meos_b.geoset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_set(Pointer gs) { - var _result = _meos_b.geo_to_set(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_end_value(Pointer s) { - var _result = _meos_b.geoset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_start_value(Pointer s) { - var _result = _meos_b.geoset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.geoset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer geoset_values(Pointer s, Pointer count) { - var _result = _meos_b.geoset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_geo_set(Pointer gs, Pointer s) { - var _result = _meos_b.contained_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_geo(Pointer s, Pointer gs) { - var _result = _meos_b.contains_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_union_transfn(Pointer state, Pointer gs) { - var _result = _meos_b.geo_union_transfn(state, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_geo_set(Pointer gs, Pointer s) { - var _result = _meos_b.intersection_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_geo(Pointer s, Pointer gs) { - var _result = _meos_b.intersection_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_geo_set(Pointer gs, Pointer s) { - var _result = _meos_b.minus_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_geo(Pointer s, Pointer gs) { - var _result = _meos_b.minus_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_geo_set(Pointer gs, Pointer s) { - var _result = _meos_b.union_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_geo(Pointer s, Pointer gs) { - var _result = _meos_b.union_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_set_srid(Pointer s, int srid) { - var _result = _meos_b.spatialset_set_srid(s, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatialset_srid(Pointer s) { - var _result = _meos_b.spatialset_srid(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_transform(Pointer s, int srid) { - var _result = _meos_b.spatialset_transform(s, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_b.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = _meos_b.stbox_as_hexwkb(box, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.stbox_as_wkb(box, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_from_hexwkb(String hexwkb) { - var _result = _meos_b.stbox_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_from_wkb(Pointer wkb, long size) { - var _result = _meos_b.stbox_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_in(String str) { - var _result = _meos_b.stbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stbox_out(Pointer box, int maxdd) { - var _result = _meos_b.stbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_timestamptz_to_stbox(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.geo_timestamptz_to_stbox(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s) { - var _result = _meos_b.geo_tstzspan_to_stbox(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_copy(Pointer box) { - var _result = _meos_b.stbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s) { - var _result = _meos_b.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_stbox(Pointer gs) { - var _result = _meos_b.geo_to_stbox(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_to_stbox(Pointer s) { - var _result = _meos_b.spatialset_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_box3d(Pointer box) { - var _result = _meos_b.stbox_to_box3d(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_gbox(Pointer box) { - var _result = _meos_b.stbox_to_gbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_geo(Pointer box) { - var _result = _meos_b.stbox_to_geo(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_tstzspan(Pointer box) { - var _result = _meos_b.stbox_to_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_stbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.timestamptz_to_stbox(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_to_stbox(Pointer s) { - var _result = _meos_b.tstzset_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_to_stbox(Pointer s) { - var _result = _meos_b.tstzspan_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_to_stbox(Pointer ss) { - var _result = _meos_b.tstzspanset_to_stbox(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_area(Pointer box, boolean spheroid) { - var _result = _meos_b.stbox_area(box, spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_hash(Pointer box) { - var _result = _meos_b.stbox_hash(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_hash_extended(Pointer box, int seed) { - var _result = _meos_b.stbox_hash_extended(box, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hast(Pointer box) { - var _result = _meos_b.stbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hasx(Pointer box) { - var _result = _meos_b.stbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hasz(Pointer box) { - var _result = _meos_b.stbox_hasz(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_isgeodetic(Pointer box) { - var _result = _meos_b.stbox_isgeodetic(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_perimeter(Pointer box, boolean spheroid) { - var _result = _meos_b.stbox_perimeter(box, spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.stbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.stbox_tmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.stbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = _meos_b.stbox_tmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static double stbox_volume(Pointer box) { - var _result = _meos_b.stbox_volume(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.stbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.stbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_ymax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.stbox_ymax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_ymin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.stbox_ymin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_zmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.stbox_zmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_zmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.stbox_zmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_expand_space(Pointer box, double d) { - var _result = _meos_b.stbox_expand_space(box, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_expand_time(Pointer box, Pointer interv) { - var _result = _meos_b.stbox_expand_time(box, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space(Pointer box) { - var _result = _meos_b.stbox_get_space(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_quad_split(Pointer box, Pointer count) { - var _result = _meos_b.stbox_quad_split(box, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_round(Pointer box, int maxdd) { - var _result = _meos_b.stbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = _meos_b.stbox_shift_scale_time(box, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stboxarr_round(Pointer boxarr, int count, int maxdd) { - var _result = _meos_b.stboxarr_round(boxarr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_set_srid(Pointer box, int srid) { - var _result = _meos_b.stbox_set_srid(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_srid(Pointer box) { - var _result = _meos_b.stbox_srid(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_transform(Pointer box, int srid) { - var _result = _meos_b.stbox_transform(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_b.stbox_transform_pipeline(box, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.adjacent_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.contained_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.contains_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overlaps_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.same_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.above_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.after_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.back_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.before_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.below_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.front_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.left_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overabove_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overafter_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overback_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overbefore_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overbelow_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overfront_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overleft_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.overright_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.right_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_b.union_stbox_stbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.intersection_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_le(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_b.stbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_out(Pointer temp, int maxdd) { - var _result = _meos_b.tspatial_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_from_mfjson(String str) { - var _result = _meos_b.tgeogpoint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_in(String str) { - var _result = _meos_b.tgeogpoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_from_mfjson(String mfjson) { - var _result = _meos_b.tgeography_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_in(String str) { - var _result = _meos_b.tgeography_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_from_mfjson(String str) { - var _result = _meos_b.tgeometry_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_in(String str) { - var _result = _meos_b.tgeometry_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_from_mfjson(String str) { - var _result = _meos_b.tgeompoint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_in(String str) { - var _result = _meos_b.tgeompoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_as_ewkt(Pointer temp, int maxdd) { - var _result = _meos_b.tspatial_as_ewkt(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_as_text(Pointer temp, int maxdd) { - var _result = _meos_b.tspatial_as_text(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_from_base_temp(Pointer gs, Pointer temp) { - var _result = _meos_b.tgeo_from_base_temp(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tgeoinst_make(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = _meos_b.tgeoseq_from_base_tstzset(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = _meos_b.tgeoseq_from_base_tstzspan(gs, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = _meos_b.tgeoseqset_from_base_tstzspanset(gs, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_from_base_temp(Pointer gs, Pointer temp) { - var _result = _meos_b.tpoint_from_base_temp(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tpointinst_make(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = _meos_b.tpointseq_from_base_tstzset(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = _meos_b.tpointseq_from_base_tstzspan(gs, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_b.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = _meos_b.tpointseqset_from_base_tstzspanset(gs, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_to_stbox(Pointer box) { - var _result = _meos_b.box3d_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_to_stbox(Pointer box) { - var _result = _meos_b.gbox_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geomeas_to_tpoint(Pointer gs) { - var _result = _meos_b.geomeas_to_tpoint(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_to_tgeography(Pointer temp) { - var _result = _meos_b.tgeogpoint_to_tgeography(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeogpoint(Pointer temp) { - var _result = _meos_b.tgeography_to_tgeogpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeometry(Pointer temp) { - var _result = _meos_b.tgeography_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeography(Pointer temp) { - var _result = _meos_b.tgeometry_to_tgeography(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeompoint(Pointer temp) { - var _result = _meos_b.tgeometry_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_tgeometry(Pointer temp) { - var _result = _meos_b.tgeompoint_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 24); - _meos_b.tpoint_as_mvtgeom(_sret, temp, bounds, extent, buffer, clip_geom); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_to_stbox(Pointer temp) { - var _result = _meos_b.tspatial_to_stbox(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bearing_point_point(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.bearing_point_point(gs1, gs2, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert) { - var _result = _meos_b.bearing_tpoint_point(temp, gs, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_b.bearing_tpoint_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_centroid(Pointer temp) { - var _result = _meos_b.tgeo_centroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_convex_hull(Pointer temp) { - var _result = _meos_b.tgeo_convex_hull(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_end_value(Pointer temp) { - var _result = _meos_b.tgeo_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_start_value(Pointer temp) { - var _result = _meos_b.tgeo_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_traversed_area(Pointer temp, boolean unary_union) { - var _result = _meos_b.tgeo_traversed_area(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_b.tgeo_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tgeo_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_values(Pointer temp, Pointer count) { - var _result = _meos_b.tgeo_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_angular_difference(Pointer temp) { - var _result = _meos_b.tpoint_angular_difference(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_azimuth(Pointer temp) { - var _result = _meos_b.tpoint_azimuth(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_cumulative_length(Pointer temp) { - var _result = _meos_b.tpoint_cumulative_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_direction(Pointer temp) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_b.tpoint_direction(temp, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_x(Pointer temp) { - var _result = _meos_b.tpoint_get_x(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_y(Pointer temp) { - var _result = _meos_b.tpoint_get_y(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_z(Pointer temp) { - var _result = _meos_b.tpoint_get_z(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpoint_is_simple(Pointer temp) { - var _result = _meos_b.tpoint_is_simple(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpoint_length(Pointer temp) { - var _result = _meos_b.tpoint_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_speed(Pointer temp) { - var _result = _meos_b.tpoint_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_trajectory(Pointer temp, boolean unary_union) { - var _result = _meos_b.tpoint_trajectory(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_twcentroid(Pointer temp) { - var _result = _meos_b.tpoint_twcentroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_affine(Pointer temp, Pointer a) { - var _result = _meos_b.tgeo_affine(temp, a); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin) { - var _result = _meos_b.tgeo_scale(temp, scale, sorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_make_simple(Pointer temp, Pointer count) { - var _result = _meos_b.tpoint_make_simple(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tspatial_srid(Pointer temp) { - var _result = _meos_b.tspatial_srid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_set_srid(Pointer temp, int srid) { - var _result = _meos_b.tspatial_set_srid(temp, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_transform(Pointer temp, int srid) { - var _result = _meos_b.tspatial_transform(temp, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_b.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_b.tgeo_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_b.tgeo_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_value(Pointer temp, Pointer gs) { - var _result = _meos_b.tgeo_at_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_b.tgeo_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_b.tgeo_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_value(Pointer temp, Pointer gs) { - var _result = _meos_b.tgeo_minus_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_elevation(Pointer temp, Pointer s) { - var _result = _meos_b.tpoint_at_elevation(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_b.tpoint_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_value(Pointer temp, Pointer gs) { - var _result = _meos_b.tpoint_at_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_elevation(Pointer temp, Pointer s) { - var _result = _meos_b.tpoint_minus_elevation(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_b.tpoint_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_value(Pointer temp, Pointer gs) { - var _result = _meos_b.tpoint_minus_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.always_eq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.always_eq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_eq_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.always_ne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.always_ne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_ne_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.ever_eq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.ever_eq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_eq_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.ever_ne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.ever_ne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_ne_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.teq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.teq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.tne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_stboxes(Pointer temp, Pointer count) { - var _result = _meos_b.tgeo_stboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var _result = _meos_b.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_b.tgeo_split_each_n_stboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_b.tgeo_split_n_stboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.adjacent_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.adjacent_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adjacent_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.contained_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.contained_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contained_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.contains_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.contains_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.contains_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overlaps_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overlaps_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overlaps_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.same_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.same_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.same_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.above_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.above_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.above_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.after_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.after_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.after_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.back_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.back_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.back_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.before_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.before_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.before_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.below_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.below_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.below_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.front_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.front_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.front_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.left_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.left_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.left_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overabove_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overabove_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overabove_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overafter_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overafter_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overafter_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overback_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overback_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overback_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overbefore_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overbefore_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overbefore_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overbelow_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overbelow_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overbelow_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overfront_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overfront_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overfront_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overleft_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overleft_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overleft_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.overright_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.overright_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.overright_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_stbox_tspatial(Pointer box, Pointer temp) { - var _result = _meos_b.right_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tspatial_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.right_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_b.right_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.acontains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.acontains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.acontains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.acovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.acovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.acovers_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.adisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_b.adwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_b.adwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.aintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.aintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.atouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.atouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.atouches_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.econtains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.econtains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.econtains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.ecovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.ecovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ecovers_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.edisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.edisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_b.edwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_b.edwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.eintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.eintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.etouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.etouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.etouches_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.tcontains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tcontains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tcontains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.tcovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tcovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tcovers_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.tdisjoint_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tdisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tdisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist) { - var _result = _meos_b.tdwithin_geo_tgeo(gs, temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_b.tdwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_b.tdwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.tintersects_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp) { - var _result = _meos_b.ttouches_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.ttouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ttouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tdistance_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tdistance_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_geo(Pointer box, Pointer gs) { - var _result = _meos_b.nad_stbox_geo(box, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_b.nad_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.nad_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.nad_tgeo_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nad_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.nai_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nai_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.shortestline_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_b.shortestline_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double mindistance_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2) { - var _result = _meos_b.mindistance_tgeoarr_tgeoarr(arr1, count1, arr2, count2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double mindistance_tgeo_tgeo(Pointer temp1, Pointer temp2, double threshold) { - var _result = _meos_b.mindistance_tgeo_tgeo(temp1, temp2, threshold); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer edwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count) { - var _result = _meos_b.edwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, double dist, Pointer count, Pointer periods) { - var _result = _meos_b.tdwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, count, periods); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer adisjoint_tgeoarr_tgeoarr(Pointer arr1, int count1, Pointer arr2, int count2, Pointer count) { - var _result = _meos_b.adisjoint_tgeoarr_tgeoarr(arr1, count1, arr2, count2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_finalfn(Pointer state) { - var _result = _meos_b.tpoint_tcentroid_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp) { - var _result = _meos_b.tpoint_tcentroid_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_extent_transfn(Pointer box, Pointer temp) { - var _result = _meos_b.tspatial_extent_transfn(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin) { - var _result = _meos_b.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.stbox_get_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_time_tile(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.stbox_get_time_tile(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count) { - var _result = _meos_b.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_time_tiles(Pointer bounds, Pointer duration, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_b.stbox_time_tiles(bounds, duration, torigin_new, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 24); - _meos_b.tgeo_space_split(_sret, temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 32); - var torigin_new = torigin.toEpochSecond(); - _meos_b.tgeo_space_time_split(_sret, temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k, Pointer count) { - var _result = _meos_b.geo_cluster_kmeans(geoms, ngeoms, k, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count) { - var _result = _meos_b.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count) { - var _result = _meos_b.geo_cluster_intersecting(geoms, ngeoms, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count) { - var _result = _meos_b.geo_cluster_within(geoms, ngeoms, tolerance, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_wlof(Pointer geoms, int ngeoms, int k, double epsilon, Pointer newcount, Pointer clusters) { - var _result = _meos_b.geo_wlof(geoms, ngeoms, k, epsilon, newcount, clusters); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_as_ewkt(Pointer cb, int maxdd) { - var _result = _meos_b.cbuffer_as_ewkt(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_as_hexwkb(Pointer cb, byte variant, Pointer size) { - var _result = _meos_b.cbuffer_as_hexwkb(cb, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_as_text(Pointer cb, int maxdd) { - var _result = _meos_b.cbuffer_as_text(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_as_wkb(Pointer cb, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_b.cbuffer_as_wkb(cb, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_from_hexwkb(String hexwkb) { - var _result = _meos_b.cbuffer_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_from_wkb(Pointer wkb, long size) { - var _result = _meos_b.cbuffer_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_in(String str) { - var _result = _meos_b.cbuffer_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_out(Pointer cb, int maxdd) { - var _result = _meos_b.cbuffer_out(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_copy(Pointer cb) { - var _result = _meos_b.cbuffer_copy(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_make(Pointer point, double radius) { - var _result = _meos_b.cbuffer_make(point, radius); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_to_geom(Pointer cb) { - var _result = _meos_b.cbuffer_to_geom(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_to_stbox(Pointer cb) { - var _result = _meos_b.cbuffer_to_stbox(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferarr_to_geom(Pointer cbarr, int count) { - var _result = _meos_b.cbufferarr_to_geom(cbarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_cbuffer(Pointer gs) { - var _result = _meos_b.geom_to_cbuffer(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_hash(Pointer cb) { - var _result = _meos_b.cbuffer_hash(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_hash_extended(Pointer cb, int seed) { - var _result = _meos_b.cbuffer_hash_extended(cb, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_point(Pointer cb) { - var _result = _meos_b.cbuffer_point(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double cbuffer_radius(Pointer cb) { - var _result = _meos_b.cbuffer_radius(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_round(Pointer cb, int maxdd) { - var _result = _meos_b.cbuffer_round(cb, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferarr_round(Pointer cbarr, int count, int maxdd) { - var _result = _meos_b.cbufferarr_round(cbarr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void cbuffer_set_srid(Pointer cb, int srid) { - _meos_b.cbuffer_set_srid(cb, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int cbuffer_srid(Pointer cb) { - var _result = _meos_b.cbuffer_srid(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_transform(Pointer cb, int srid) { - var _result = _meos_b.cbuffer_transform(cb, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_transform_pipeline(Pointer cb, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_b.cbuffer_transform_pipeline(cb, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int contains_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.contains_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int covers_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.covers_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int disjoint_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.disjoint_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dwithin_cbuffer_cbuffer(Pointer cb1, Pointer cb2, double dist) { - var _result = _meos_b.dwithin_cbuffer_cbuffer(cb1, cb2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intersects_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.intersects_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int touches_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.touches_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_tstzspan_to_stbox(Pointer cb, Pointer s) { - var _result = _meos_b.cbuffer_tstzspan_to_stbox(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_timestamptz_to_stbox(Pointer cb, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.cbuffer_timestamptz_to_stbox(cb, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.distance_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_cbuffer_geo(Pointer cb, Pointer gs) { - var _result = _meos_b.distance_cbuffer_geo(cb, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_cbuffer_stbox(Pointer cb, Pointer box) { - var _result = _meos_b.distance_cbuffer_stbox(cb, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_cbuffer_stbox(Pointer cb, Pointer box) { - var _result = _meos_b.nad_cbuffer_stbox(cb, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_cmp(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_cmp(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_eq(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_eq(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_ge(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_ge(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_gt(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_gt(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_le(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_le(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_lt(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_lt(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_ne(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_ne(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_nsame(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_nsame(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_same(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_same(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_in(String str) { - var _result = _meos_b.cbufferset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbufferset_out(Pointer s, int maxdd) { - var _result = _meos_b.cbufferset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_make(Pointer values, int count) { - var _result = _meos_b.cbufferset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_to_set(Pointer cb) { - var _result = _meos_b.cbuffer_to_set(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_end_value(Pointer s) { - var _result = _meos_b.cbufferset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_start_value(Pointer s) { - var _result = _meos_b.cbufferset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.cbufferset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer cbufferset_values(Pointer s, Pointer count) { - var _result = _meos_b.cbufferset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_union_transfn(Pointer state, Pointer cb) { - var _result = _meos_b.cbuffer_union_transfn(state, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_b.contained_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_b.contains_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_b.intersection_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_b.intersection_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_b.minus_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_b.minus_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_cbuffer_set(Pointer cb, Pointer s) { - var _result = _meos_b.union_cbuffer_set(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_b.union_set_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_in(String str) { - var _result = _meos_b.tcbuffer_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_from_mfjson(String mfjson) { - var _result = _meos_b.tcbuffer_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbufferinst_make(Pointer cb, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_b.tcbufferinst_make(cb, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_make(Pointer tpoint, Pointer tfloat) { - var _result = _meos_b.tcbuffer_make(tpoint, tfloat); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_from_base_temp(Pointer cb, Pointer temp) { - var _result = _meos_b.tcbuffer_from_base_temp(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbufferseq_from_base_tstzset(Pointer cb, Pointer s) { - var _result = _meos_b.tcbufferseq_from_base_tstzset(cb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbufferseq_from_base_tstzspan(Pointer cb, Pointer s, int interp) { - var _result = _meos_b.tcbufferseq_from_base_tstzspan(cb, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbufferseqset_from_base_tstzspanset(Pointer cb, Pointer ss, int interp) { - var _result = _meos_b.tcbufferseqset_from_base_tstzspanset(cb, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_end_value(Pointer temp) { - var _result = _meos_b.tcbuffer_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_points(Pointer temp) { - var _result = _meos_b.tcbuffer_points(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_radius(Pointer temp) { - var _result = _meos_b.tcbuffer_radius(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_traversed_area(Pointer temp, boolean unary_union) { - var _result = _meos_b.tcbuffer_traversed_area(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_convex_hull(Pointer temp) { - var _result = _meos_b.tcbuffer_convex_hull(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_start_value(Pointer temp) { - var _result = _meos_b.tcbuffer_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_b.tcbuffer_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.tcbuffer_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_values(Pointer temp, Pointer count) { - var _result = _meos_b.tcbuffer_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_to_tfloat(Pointer temp) { - var _result = _meos_b.tcbuffer_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_to_tgeompoint(Pointer temp) { - var _result = _meos_b.tcbuffer_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tcbuffer(Pointer temp) { - var _result = _meos_b.tgeometry_to_tcbuffer(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_expand(Pointer temp, double dist) { - var _result = _meos_b.tcbuffer_expand(temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_at_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tcbuffer_at_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_b.tcbuffer_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_b.tcbuffer_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_minus_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tcbuffer_minus_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_b.tcbuffer_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_b.tcbuffer_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tdistance_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tdistance_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tdistance_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.nad_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.nad_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_stbox(Pointer temp, Pointer box) { - var _result = _meos_b.nad_tcbuffer_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nad_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double mindistance_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double threshold) { - var _result = _meos_b.mindistance_tcbuffer_tcbuffer(temp1, temp2, threshold); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.nai_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.nai_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.nai_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.shortestline_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.shortestline_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.shortestline_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.always_eq_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.always_eq_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_eq_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.always_ne_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.always_ne_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.always_ne_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.ever_eq_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.ever_eq_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_eq_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.ever_ne_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.ever_ne_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ever_ne_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.teq_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.teq_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.tne_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tne_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.acontains_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.acontains_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.acontains_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.acontains_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.acovers_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.acovers_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.acovers_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.acovers_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.acovers_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.adisjoint_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.adisjoint_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.adisjoint_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_b.adwithin_tcbuffer_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { - var _result = _meos_b.adwithin_tcbuffer_cbuffer(temp, cb, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_b.adwithin_tcbuffer_tcbuffer(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.aintersects_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.aintersects_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.aintersects_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.atouches_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.atouches_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.atouches_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.econtains_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.econtains_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.econtains_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.ecovers_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.ecovers_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.ecovers_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.ecovers_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ecovers_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.edisjoint_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.edisjoint_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_b.edwithin_tcbuffer_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { - var _result = _meos_b.edwithin_tcbuffer_cbuffer(temp, cb, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_b.edwithin_tcbuffer_tcbuffer(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.eintersects_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.eintersects_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.eintersects_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.etouches_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.etouches_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.etouches_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.tcontains_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.tcontains_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tcontains_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tcontains_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tcontains_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.tcovers_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.tcovers_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tcovers_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tcovers_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tcovers_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_geo_tcbuffer(Pointer gs, Pointer temp, double dist) { - var _result = _meos_b.tdwithin_geo_tcbuffer(gs, temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tcbuffer_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_b.tdwithin_tcbuffer_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tcbuffer_cbuffer(Pointer temp, Pointer cb, double dist) { - var _result = _meos_b.tdwithin_tcbuffer_cbuffer(temp, cb, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_b.tdwithin_tcbuffer_tcbuffer(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.tdisjoint_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.tdisjoint_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tdisjoint_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tdisjoint_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tdisjoint_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.tintersects_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.tintersects_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.tintersects_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.tintersects_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.tintersects_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_geo_tcbuffer(Pointer gs, Pointer temp) { - var _result = _meos_b.ttouches_geo_tcbuffer(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_b.ttouches_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_cbuffer_tcbuffer(Pointer cb, Pointer temp) { - var _result = _meos_b.ttouches_cbuffer_tcbuffer(cb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_b.ttouches_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_b.ttouches_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_cbuffer_cbuffer(Pointer cb1, Pointer cb2) { - var _result = _meos_b.ensure_valid_cbuffer_cbuffer(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_cbuffer_geo(Pointer cb, Pointer gs) { - var _result = _meos_b.ensure_valid_cbuffer_geo(cb, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_cbuffer_stbox(Pointer cb, Pointer box) { - var _result = _meos_b.ensure_valid_cbuffer_stbox(cb, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_cbufferset_cbuffer(Pointer s, Pointer cb) { - var _result = _meos_b.ensure_valid_cbufferset_cbuffer(s, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_collinear(Pointer cb1, Pointer cb2, Pointer cbuf3, double ratio) { - var _result = _meos_b.cbuffer_collinear(cb1, cb2, cbuf3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffersegm_interpolate(Pointer start, Pointer end, Pointer ratio) { - var _result = _meos_b.cbuffersegm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffersegm_locate(Pointer start, Pointer end, Pointer value) { - var _result = _meos_b.cbuffersegm_locate(start, end, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_parse(Pointer str, boolean end) { - var _result = _meos_b.cbuffer_parse(str, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String cbuffer_wkt_out(Pointer value, int maxdd, boolean extended) { - var _result = _meos_b.cbuffer_wkt_out(value, maxdd, extended); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_point_p(Pointer cb) { - var _result = _meos_b.cbuffer_point_p(cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_round(Pointer buffer, Pointer size) { - var _result = _meos_b.datum_cbuffer_round(buffer, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cbuffer_transf_pj(Pointer cb, int srid_to, Pointer pj) { - var _result = _meos_b.cbuffer_transf_pj(cb, srid_to, pj); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double cbuffer_distance(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_distance(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_distance(Pointer cb1, Pointer cb2) { - var _result = _meos_b.datum_cbuffer_distance(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_b.cbuffersegm_distance_turnpt(start1, end1, start2, end2, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_contains(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_contains(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_covers(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_covers(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_disjoint(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_disjoint(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_intersects(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_intersects(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_dwithin(Pointer cb1, Pointer cb2, double dist) { - var _result = _meos_b.cbuffer_dwithin(cb1, cb2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int cbuffer_touches(Pointer cb1, Pointer cb2) { - var _result = _meos_b.cbuffer_touches(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_contains(Pointer cb1, Pointer cb2) { - var _result = _meos_b.datum_cbuffer_contains(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_covers(Pointer cb1, Pointer cb2) { - var _result = _meos_b.datum_cbuffer_covers(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_disjoint(Pointer cb1, Pointer cb2) { - var _result = _meos_b.datum_cbuffer_disjoint(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_intersects(Pointer cb1, Pointer cb2) { - var _result = _meos_b.datum_cbuffer_intersects(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_dwithin(Pointer cb1, Pointer cb2, Pointer dist) { - var _result = _meos_b.datum_cbuffer_dwithin(cb1, cb2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_cbuffer_touches(Pointer cb1, Pointer cb2) { - var _result = _meos_b.datum_cbuffer_touches(cb1, cb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temptype_subtype(int subtype) { - var _result = _meos_b.temptype_subtype(subtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temptype_subtype_all(int subtype) { - var _result = _meos_b.temptype_subtype_all(subtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tempsubtype_name(int subtype) { - var _result = _meos_b.tempsubtype_name(subtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tempsubtype_from_string(String str, Pointer subtype) { - var _result = _meos_b.tempsubtype_from_string(str, subtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meosoper_name(int oper) { - var _result = _meos_b.meosoper_name(oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meosoper_from_string(String name) { - var _result = _meos_b.meosoper_from_string(name); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String interptype_name(int interp) { - var _result = _meos_b.interptype_name(interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int interptype_from_string(String interp_str) { - var _result = _meos_b.interptype_from_string(interp_str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_typeof_hexwkb(String hexwkb) { - var _result = _meos_b.meos_typeof_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meostype_name(int type) { - var _result = _meos_b.meostype_name(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temptype_basetype(int type) { - var _result = _meos_b.temptype_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int settype_basetype(int type) { - var _result = _meos_b.settype_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spantype_basetype(int type) { - var _result = _meos_b.spantype_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spantype_spansettype(int type) { - var _result = _meos_b.spantype_spansettype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spansettype_spantype(int type) { - var _result = _meos_b.spansettype_spantype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int basetype_spantype(int type) { - var _result = _meos_b.basetype_spantype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int basetype_settype(int type) { - var _result = _meos_b.basetype_settype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tnumber_basetype(int type) { - var _result = _meos_b.tnumber_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_basetype(int type) { - var _result = _meos_b.geo_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_basetype(int type) { - var _result = _meos_b.meos_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean alphanum_basetype(int type) { - var _result = _meos_b.alphanum_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean alphanum_temptype(int type) { - var _result = _meos_b.alphanum_temptype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean time_type(int type) { - var _result = _meos_b.time_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_basetype(int type) { - var _result = _meos_b.set_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_type(int type) { - var _result = _meos_b.set_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean numset_type(int type) { - var _result = _meos_b.numset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_numset_type(int type) { - var _result = _meos_b.ensure_numset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean timeset_type(int type) { - var _result = _meos_b.timeset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_spantype(int type) { - var _result = _meos_b.set_spantype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_set_spantype(int type) { - var _result = _meos_b.ensure_set_spantype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean alphanumset_type(int settype) { - var _result = _meos_b.alphanumset_type(settype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geoset_type(int type) { - var _result = _meos_b.geoset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_geoset_type(int type) { - var _result = _meos_b.ensure_geoset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spatialset_type(int type) { - var _result = _meos_b.spatialset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_spatialset_type(int type) { - var _result = _meos_b.ensure_spatialset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_basetype(int type) { - var _result = _meos_b.span_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_canon_basetype(int type) { - var _result = _meos_b.span_canon_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_type(int type) { - var _result = _meos_b.span_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean type_span_bbox(int type) { - var _result = _meos_b.type_span_bbox(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_tbox_type(int type) { - var _result = _meos_b.span_tbox_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_span_tbox_type(int type) { - var _result = _meos_b.ensure_span_tbox_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean numspan_basetype(int type) { - var _result = _meos_b.numspan_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean numspan_type(int type) { - var _result = _meos_b.numspan_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_numspan_type(int type) { - var _result = _meos_b.ensure_numspan_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean timespan_basetype(int type) { - var _result = _meos_b.timespan_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean timespan_type(int type) { - var _result = _meos_b.timespan_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_type(int type) { - var _result = _meos_b.spanset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean timespanset_type(int type) { - var _result = _meos_b.timespanset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_timespanset_type(int type) { - var _result = _meos_b.ensure_timespanset_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_type(int type) { - var _result = _meos_b.temporal_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_basetype(int type) { - var _result = _meos_b.temporal_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temptype_supports_linear(int type) { - var _result = _meos_b.temptype_supports_linear(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean basetype_byvalue(int type) { - var _result = _meos_b.basetype_byvalue(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean basetype_varlength(int type) { - var _result = _meos_b.basetype_varlength(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static short meostype_length(int type) { - var _result = _meos_b.meostype_length(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean talphanum_type(int type) { - var _result = _meos_b.talphanum_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean talpha_type(int type) { - var _result = _meos_b.talpha_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tnumber_type(int type) { - var _result = _meos_b.tnumber_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tnumber_type(int type) { - var _result = _meos_b.ensure_tnumber_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tnumber_basetype(int type) { - var _result = _meos_b.ensure_tnumber_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tnumber_spantype(int type) { - var _result = _meos_b.tnumber_spantype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spatial_basetype(int type) { - var _result = _meos_b.spatial_basetype(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tspatial_type(int type) { - var _result = _meos_b.tspatial_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tspatial_type(int type) { - var _result = _meos_b.ensure_tspatial_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpoint_type(int type) { - var _result = _meos_b.tpoint_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tpoint_type(int type) { - var _result = _meos_b.ensure_tpoint_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tgeo_type(int type) { - var _result = _meos_b.tgeo_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tgeo_type(int type) { - var _result = _meos_b.ensure_tgeo_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tgeo_type_all(int type) { - var _result = _meos_b.tgeo_type_all(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tgeo_type_all(int type) { - var _result = _meos_b.ensure_tgeo_type_all(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tgeometry_type(int type) { - var _result = _meos_b.tgeometry_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tgeometry_type(int type) { - var _result = _meos_b.ensure_tgeometry_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tgeodetic_type(int type) { - var _result = _meos_b.tgeodetic_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tgeodetic_type(int type) { - var _result = _meos_b.ensure_tgeodetic_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_tnumber_tpoint_type(int type) { - var _result = _meos_b.ensure_tnumber_tpoint_type(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gsl_get_generation_rng() { - var _result = _meos_b.gsl_get_generation_rng(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gsl_get_aggregation_rng() { - var _result = _meos_b.gsl_get_aggregation_rng(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_ceil(Pointer d) { - var _result = _meos_b.datum_ceil(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_degrees(Pointer d, Pointer normalize) { - var _result = _meos_b.datum_degrees(d, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_float_round(Pointer value, Pointer size) { - var _result = _meos_b.datum_float_round(value, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_floor(Pointer d) { - var _result = _meos_b.datum_floor(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_hash(Pointer d, int basetype) { - var _result = _meos_b.datum_hash(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_hash_extended(Pointer d, int basetype, int seed) { - var _result = _meos_b.datum_hash_extended(d, basetype, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_radians(Pointer d) { - var _result = _meos_b.datum_radians(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void floatspan_round_set(Pointer s, int maxdd, Pointer result) { - _meos_b.floatspan_round_set(s, maxdd, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer set_in(String str, int basetype) { - var _result = _meos_b.set_in(str, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String set_out(Pointer s, int maxdd) { - var _result = _meos_b.set_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_in(String str, int spantype) { - var _result = _meos_b.span_in(str, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String span_out(Pointer s, int maxdd) { - var _result = _meos_b.span_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_in(String str, int spantype) { - var _result = _meos_b.spanset_in(str, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spanset_out(Pointer ss, int maxdd) { - var _result = _meos_b.spanset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_make(Pointer values, int count, int basetype, boolean order) { - var _result = _meos_b.set_make(values, count, basetype, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_make_exp(Pointer values, int count, int maxcount, int basetype, boolean order) { - var _result = _meos_b.set_make_exp(values, count, maxcount, basetype, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_make_free(Pointer values, int count, int basetype, boolean order) { - var _result = _meos_b.set_make_free(values, count, basetype, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_make(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype) { - var _result = _meos_b.span_make(lower, upper, lower_inc, upper_inc, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void span_set(Pointer lower, Pointer upper, boolean lower_inc, boolean upper_inc, int basetype, int spantype, Pointer result) { - _meos_b.span_set(lower, upper, lower_inc, upper_inc, basetype, spantype, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer spanset_make_exp(Pointer spans, int count, int maxcount, boolean normalize, boolean order) { - var _result = _meos_b.spanset_make_exp(spans, count, maxcount, normalize, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_make_free(Pointer spans, int count, boolean normalize, boolean order) { - var _result = _meos_b.spanset_make_free(spans, count, normalize, order); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_span(Pointer s) { - var _result = _meos_b.set_span(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_spanset(Pointer s) { - var _result = _meos_b.set_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void value_set_span(Pointer value, int basetype, Pointer result) { - _meos_b.value_set_span(value, basetype, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer value_set(Pointer d, int basetype) { - var _result = _meos_b.value_set(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer value_span(Pointer d, int basetype) { - var _result = _meos_b.value_span(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer value_spanset(Pointer d, int basetype) { - var _result = _meos_b.value_spanset(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_width(Pointer s) { - var _result = _meos_b.numspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspanset_width(Pointer ss, boolean boundspan) { - var _result = _meos_b.numspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_end_value(Pointer s) { - var _result = _meos_b.set_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_mem_size(Pointer s) { - var _result = _meos_b.set_mem_size(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void set_set_subspan(Pointer s, int minidx, int maxidx, Pointer result) { - _meos_b.set_set_subspan(s, minidx, maxidx, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void set_set_span(Pointer s, Pointer result) { - _meos_b.set_set_span(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer set_start_value(Pointer s) { - var _result = _meos_b.set_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.set_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer set_vals(Pointer s, Pointer count) { - var _result = _meos_b.set_vals(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_values(Pointer s, Pointer count) { - var _result = _meos_b.set_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_lower(Pointer ss) { - var _result = _meos_b.spanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_mem_size(Pointer ss) { - var _result = _meos_b.spanset_mem_size(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_sps(Pointer ss, Pointer count) { - var _result = _meos_b.spanset_sps(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_upper(Pointer ss) { - var _result = _meos_b.spanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void bigintspan_set_floatspan(Pointer s1, Pointer s2) { - _meos_b.bigintspan_set_floatspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void bigintspan_set_intspan(Pointer s1, Pointer s2) { - _meos_b.bigintspan_set_intspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void datespan_set_tstzspan(Pointer s1, Pointer s2) { - _meos_b.datespan_set_tstzspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void floatspan_set_bigintspan(Pointer s1, Pointer s2) { - _meos_b.floatspan_set_bigintspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void floatspan_set_intspan(Pointer s1, Pointer s2) { - _meos_b.floatspan_set_intspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void intspan_set_bigintspan(Pointer s1, Pointer s2) { - _meos_b.intspan_set_bigintspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void intspan_set_floatspan(Pointer s1, Pointer s2) { - _meos_b.intspan_set_floatspan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer numset_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.numset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_expand(Pointer s, Pointer value) { - var _result = _meos_b.numspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_shift_scale(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.numspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspanset_shift_scale(Pointer ss, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_b.numspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_compact(Pointer s) { - var _result = _meos_b.set_compact(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void span_expand(Pointer s1, Pointer s2) { - _meos_b.span_expand(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer spanset_compact(Pointer ss) { - var _result = _meos_b.spanset_compact(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_expand_value(Pointer box, Pointer value, int basetyp) { - var _result = _meos_b.tbox_expand_value(box, value, basetyp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_textset_text_common(Pointer s, Pointer txt, boolean invert) { - var _result = _meos_b.textcat_textset_text_common(s, txt, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tstzspan_set_datespan(Pointer s1, Pointer s2) { - _meos_b.tstzspan_set_datespan(s1, s2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_value(Pointer s, Pointer value) { - var _result = _meos_b.adjacent_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.adjacent_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.adjacent_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_value_set(Pointer value, Pointer s) { - var _result = _meos_b.contained_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_value_span(Pointer value, Pointer s) { - var _result = _meos_b.contained_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.contained_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_value(Pointer s, Pointer value) { - var _result = _meos_b.contains_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_value(Pointer s, Pointer value) { - var _result = _meos_b.contains_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.contains_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ovadj_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.ovadj_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_value(Pointer s, Pointer value) { - var _result = _meos_b.left_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_value(Pointer s, Pointer value) { - var _result = _meos_b.left_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.left_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_value_set(Pointer value, Pointer s) { - var _result = _meos_b.left_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_value_span(Pointer value, Pointer s) { - var _result = _meos_b.left_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.left_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean lfnadj_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.lfnadj_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_value(Pointer s, Pointer value) { - var _result = _meos_b.overleft_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_value(Pointer s, Pointer value) { - var _result = _meos_b.overleft_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.overleft_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_value_set(Pointer value, Pointer s) { - var _result = _meos_b.overleft_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_value_span(Pointer value, Pointer s) { - var _result = _meos_b.overleft_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.overleft_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_value(Pointer s, Pointer value) { - var _result = _meos_b.overright_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_value(Pointer s, Pointer value) { - var _result = _meos_b.overright_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.overright_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_value_set(Pointer value, Pointer s) { - var _result = _meos_b.overright_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_value_span(Pointer value, Pointer s) { - var _result = _meos_b.overright_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.overright_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_value_set(Pointer value, Pointer s) { - var _result = _meos_b.right_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_value(Pointer s, Pointer value) { - var _result = _meos_b.right_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_value_span(Pointer value, Pointer s) { - var _result = _meos_b.right_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.right_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_value(Pointer s, Pointer value) { - var _result = _meos_b.right_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.right_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean bbox_type(int bboxtype) { - var _result = _meos_b.bbox_type(bboxtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bbox_get_size(int bboxtype) { - var _result = _meos_b.bbox_get_size(bboxtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int bbox_max_dims(int bboxtype) { - var _result = _meos_b.bbox_max_dims(bboxtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_bbox_eq(Pointer box1, Pointer box2, int temptype) { - var _result = _meos_b.temporal_bbox_eq(box1, box2, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_bbox_cmp(Pointer box1, Pointer box2, int temptype) { - var _result = _meos_b.temporal_bbox_cmp(box1, box2, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void bbox_union_span_span(Pointer s1, Pointer s2, Pointer result) { - _meos_b.bbox_union_span_span(s1, s2, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer inter_span_span(Pointer s1, Pointer s2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_b.inter_span_span(s1, s2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_value(Pointer s, Pointer value) { - var _result = _meos_b.intersection_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_value(Pointer s, Pointer value) { - var _result = _meos_b.intersection_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.intersection_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_value_set(Pointer value, Pointer s) { - var _result = _meos_b.intersection_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_value_span(Pointer value, Pointer s) { - var _result = _meos_b.intersection_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.intersection_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int mi_span_span(Pointer s1, Pointer s2, Pointer result) { - var _result = _meos_b.mi_span_span(s1, s2, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_value(Pointer s, Pointer value) { - var _result = _meos_b.minus_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_value(Pointer s, Pointer value) { - var _result = _meos_b.minus_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.minus_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_value_set(Pointer value, Pointer s) { - var _result = _meos_b.minus_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_value_span(Pointer value, Pointer s) { - var _result = _meos_b.minus_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.minus_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_value(Pointer s, Pointer value) { - var _result = _meos_b.union_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_value(Pointer s, Pointer value) { - var _result = _meos_b.union_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_b.union_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_value_set(Pointer value, Pointer s) { - var _result = _meos_b.union_value_set(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_value_span(Pointer value, Pointer s) { - var _result = _meos_b.union_value_span(value, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_value_spanset(Pointer value, Pointer ss) { - var _result = _meos_b.union_value_spanset(value, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_set_set(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_set_value(Pointer s, Pointer value) { - var _result = _meos_b.distance_set_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_span_span(Pointer s1, Pointer s2) { - var _result = _meos_b.distance_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_span_value(Pointer s, Pointer value) { - var _result = _meos_b.distance_span_value(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_c.distance_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_c.distance_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_spanset_value(Pointer ss, Pointer value) { - var _result = _meos_c.distance_spanset_value(ss, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer distance_value_value(Pointer l, Pointer r, int basetype) { - var _result = _meos_c.distance_value_value(l, r, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanbase_extent_transfn(Pointer state, Pointer value, int basetype) { - var _result = _meos_c.spanbase_extent_transfn(state, value, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer value_union_transfn(Pointer state, Pointer value, int basetype) { - var _result = _meos_c.value_union_transfn(state, value, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer number_tstzspan_to_tbox(Pointer d, int basetype, Pointer s) { - var _result = _meos_c.number_tstzspan_to_tbox(d, basetype, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer number_timestamptz_to_tbox(Pointer d, int basetype, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.number_timestamptz_to_tbox(d, basetype, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tbox_set(Pointer s, Pointer p, Pointer result) { - _meos_c.tbox_set(s, p, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void float_set_tbox(double d, Pointer result) { - _meos_c.float_set_tbox(d, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void int_set_tbox(int i, Pointer result) { - _meos_c.int_set_tbox(i, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void number_set_tbox(Pointer d, int basetype, Pointer result) { - _meos_c.number_set_tbox(d, basetype, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer number_tbox(Pointer value, int basetype) { - var _result = _meos_c.number_tbox(value, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void numset_set_tbox(Pointer s, Pointer result) { - _meos_c.numset_set_tbox(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void numspan_set_tbox(Pointer span, Pointer result) { - _meos_c.numspan_set_tbox(span, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void timestamptz_set_tbox(OffsetDateTime t, Pointer result) { - var t_new = t.toEpochSecond(); - _meos_c.timestamptz_set_tbox(t_new, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzset_set_tbox(Pointer s, Pointer result) { - _meos_c.tstzset_set_tbox(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspan_set_tbox(Pointer s, Pointer result) { - _meos_c.tstzspan_set_tbox(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tbox_shift_scale_value(Pointer box, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.tbox_shift_scale_value(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tbox_expand(Pointer box1, Pointer box2) { - _meos_c.tbox_expand(box1, box2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer inter_tbox_tbox(Pointer box1, Pointer box2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.inter_tbox_tbox(box1, box2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tboolinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_in(String str) { - var _result = _meos_c.tboolinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tboolseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_in(String str, int interp) { - var _result = _meos_c.tboolseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tboolseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_in(String str) { - var _result = _meos_c.tboolseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_in(String str, int temptype) { - var _result = _meos_c.temporal_in(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_out(Pointer temp, int maxdd) { - var _result = _meos_c.temporal_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temparr_out(Pointer temparr, int count, int maxdd) { - var _result = _meos_c.temparr_out(temparr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tfloatinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_in(String str) { - var _result = _meos_c.tfloatinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_mfjson(Pointer mfjson, int interp) { - var _result = _meos_c.tfloatseq_from_mfjson(mfjson, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_in(String str, int interp) { - var _result = _meos_c.tfloatseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_from_mfjson(Pointer mfjson, int interp) { - var _result = _meos_c.tfloatseqset_from_mfjson(mfjson, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_in(String str) { - var _result = _meos_c.tfloatseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype) { - var _result = _meos_c.tinstant_from_mfjson(mfjson, spatial, srid, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_in(String str, int temptype) { - var _result = _meos_c.tinstant_in(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tinstant_out(Pointer inst, int maxdd) { - var _result = _meos_c.tinstant_out(inst, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintinst_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tbigintinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintinst_in(String str) { - var _result = _meos_c.tbigintinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseq_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tbigintseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tbigintseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbigintseqset_in(String str) { - var _result = _meos_c.tbigintseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tintinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_in(String str) { - var _result = _meos_c.tintinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tintseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_in(String str, int interp) { - var _result = _meos_c.tintseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tintseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_in(String str) { - var _result = _meos_c.tintseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { - var _result = _meos_c.tsequence_from_mfjson(mfjson, spatial, srid, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_in(String str, int temptype, int interp) { - var _result = _meos_c.tsequence_in(str, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tsequence_out(Pointer seq, int maxdd) { - var _result = _meos_c.tsequence_out(seq, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_from_mfjson(Pointer mfjson, boolean spatial, int srid, int temptype, int interp) { - var _result = _meos_c.tsequenceset_from_mfjson(mfjson, spatial, srid, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_in(String str, int temptype, int interp) { - var _result = _meos_c.tsequenceset_in(str, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tsequenceset_out(Pointer ss, int maxdd) { - var _result = _meos_c.tsequenceset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_from_mfjson(Pointer mfjson) { - var _result = _meos_c.ttextinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_in(String str) { - var _result = _meos_c.ttextinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_mfjson(Pointer mfjson) { - var _result = _meos_c.ttextseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_in(String str, int interp) { - var _result = _meos_c.ttextseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_c.ttextseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_in(String str) { - var _result = _meos_c.ttextseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_mfjson(String mfjson, int temptype) { - var _result = _meos_c.temporal_from_mfjson(mfjson, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_base_temp(Pointer value, int temptype, Pointer temp) { - var _result = _meos_c.temporal_from_base_temp(value, temptype, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_copy(Pointer inst) { - var _result = _meos_c.tinstant_copy(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_make(Pointer value, int temptype, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tinstant_make(value, temptype, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_make_free(Pointer value, int temptype, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tinstant_make_free(value, temptype, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_copy(Pointer seq) { - var _result = _meos_c.tsequence_copy(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_base_temp(Pointer value, int temptype, Pointer seq) { - var _result = _meos_c.tsequence_from_base_temp(value, temptype, seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_base_tstzset(Pointer value, int temptype, Pointer s) { - var _result = _meos_c.tsequence_from_base_tstzset(value, temptype, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_from_base_tstzspan(Pointer value, int temptype, Pointer s, int interp) { - var _result = _meos_c.tsequence_from_base_tstzspan(value, temptype, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make_exp(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_c.tsequence_make_exp(instants, count, maxcount, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make_free(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_c.tsequence_make_free(instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_copy(Pointer ss) { - var _result = _meos_c.tsequenceset_copy(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tseqsetarr_to_tseqset(Pointer seqsets, int count, int totalseqs) { - var _result = _meos_c.tseqsetarr_to_tseqset(seqsets, count, totalseqs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_from_base_temp(Pointer value, int temptype, Pointer ss) { - var _result = _meos_c.tsequenceset_from_base_temp(value, temptype, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_from_base_tstzspanset(Pointer value, int temptype, Pointer ss, int interp) { - var _result = _meos_c.tsequenceset_from_base_tstzspanset(value, temptype, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_exp(Pointer sequences, int count, int maxcount, boolean normalize) { - var _result = _meos_c.tsequenceset_make_exp(sequences, count, maxcount, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_free(Pointer sequences, int count, boolean normalize) { - var _result = _meos_c.tsequenceset_make_free(sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void temporal_set_tstzspan(Pointer temp, Pointer result) { - _meos_c.temporal_set_tstzspan(temp, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tinstant_set_tstzspan(Pointer inst, Pointer result) { - _meos_c.tinstant_set_tstzspan(inst, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumber_set_tbox(Pointer temp, Pointer result) { - _meos_c.tnumber_set_tbox(temp, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumberinst_set_tbox(Pointer inst, Pointer result) { - _meos_c.tnumberinst_set_tbox(inst, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumberseq_set_tbox(Pointer seq, Pointer result) { - _meos_c.tnumberseq_set_tbox(seq, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnumberseqset_set_tbox(Pointer ss, Pointer result) { - _meos_c.tnumberseqset_set_tbox(ss, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequence_set_tstzspan(Pointer seq, Pointer result) { - _meos_c.tsequence_set_tstzspan(seq, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_set_tstzspan(Pointer ss, Pointer result) { - _meos_c.tsequenceset_set_tstzspan(ss, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_inst(Pointer temp) { - var _result = _meos_c.temporal_end_inst(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_value(Pointer temp) { - var _result = _meos_c.temporal_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_inst_n(Pointer temp, int n) { - var _result = _meos_c.temporal_inst_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_insts_p(Pointer temp, Pointer count) { - var _result = _meos_c.temporal_insts_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_max_inst_p(Pointer temp) { - var _result = _meos_c.temporal_max_inst_p(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_max_value(Pointer temp) { - var _result = _meos_c.temporal_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long temporal_mem_size(Pointer temp) { - var _result = _meos_c.temporal_mem_size(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_min_inst_p(Pointer temp) { - var _result = _meos_c.temporal_min_inst_p(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_min_value(Pointer temp) { - var _result = _meos_c.temporal_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequences_p(Pointer temp, Pointer count) { - var _result = _meos_c.temporal_sequences_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void temporal_set_bbox(Pointer temp, Pointer result) { - _meos_c.temporal_set_bbox(temp, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_inst(Pointer temp) { - var _result = _meos_c.temporal_start_inst(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_value(Pointer temp) { - var _result = _meos_c.temporal_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_values_p(Pointer temp, Pointer count) { - var _result = _meos_c.temporal_values_p(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.temporal_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer temporal_values(Pointer temp, Pointer count) { - var _result = _meos_c.temporal_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstant_hash(Pointer inst) { - var _result = _meos_c.tinstant_hash(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_insts(Pointer inst, Pointer count) { - var _result = _meos_c.tinstant_insts(inst, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tinstant_set_bbox(Pointer inst, Pointer result) { - _meos_c.tinstant_set_bbox(inst, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tinstant_time(Pointer inst) { - var _result = _meos_c.tinstant_time(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_timestamps(Pointer inst, Pointer count) { - var _result = _meos_c.tinstant_timestamps(inst, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_value_p(Pointer inst) { - var _result = _meos_c.tinstant_value_p(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_value(Pointer inst) { - var _result = _meos_c.tinstant_value(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_value_at_timestamptz(Pointer inst, OffsetDateTime t) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_c.tinstant_value_at_timestamptz(inst, t_new, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_values_p(Pointer inst, Pointer count) { - var _result = _meos_c.tinstant_values_p(inst, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tnumber_set_span(Pointer temp, Pointer result) { - _meos_c.tnumber_set_span(temp, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_valuespans(Pointer inst) { - var _result = _meos_c.tnumberinst_valuespans(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_avg_val(Pointer seq) { - var _result = _meos_c.tnumberseq_avg_val(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_valuespans(Pointer seq) { - var _result = _meos_c.tnumberseq_valuespans(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseqset_avg_val(Pointer ss) { - var _result = _meos_c.tnumberseqset_avg_val(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_valuespans(Pointer ss) { - var _result = _meos_c.tnumberseqset_valuespans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_duration(Pointer seq) { - var _result = _meos_c.tsequence_duration(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequence_end_timestamptz(Pointer seq) { - var _result = _meos_c.tsequence_end_timestamptz(seq); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tsequence_hash(Pointer seq) { - var _result = _meos_c.tsequence_hash(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_insts_p(Pointer seq, Pointer count) { - var _result = _meos_c.tsequence_insts_p(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_max_inst_p(Pointer seq) { - var _result = _meos_c.tsequence_max_inst_p(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_max_val(Pointer seq) { - var _result = _meos_c.tsequence_max_val(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_min_inst_p(Pointer seq) { - var _result = _meos_c.tsequence_min_inst_p(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_min_val(Pointer seq) { - var _result = _meos_c.tsequence_min_val(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_segments(Pointer seq, Pointer count) { - var _result = _meos_c.tsequence_segments(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_seqs(Pointer seq, Pointer count) { - var _result = _meos_c.tsequence_seqs(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequence_start_timestamptz(Pointer seq) { - var _result = _meos_c.tsequence_start_timestamptz(seq); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tsequence_time(Pointer seq) { - var _result = _meos_c.tsequence_time(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_timestamps(Pointer seq, Pointer count) { - var _result = _meos_c.tsequence_timestamps(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_value_at_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_c.tsequence_value_at_timestamptz(seq, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_values_p(Pointer seq, Pointer count) { - var _result = _meos_c.tsequence_values_p(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_duration(Pointer ss, boolean boundspan) { - var _result = _meos_c.tsequenceset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequenceset_end_timestamptz(Pointer ss) { - var _result = _meos_c.tsequenceset_end_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tsequenceset_hash(Pointer ss) { - var _result = _meos_c.tsequenceset_hash(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_inst_n(Pointer ss, int n) { - var _result = _meos_c.tsequenceset_inst_n(ss, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_insts_p(Pointer ss, Pointer count) { - var _result = _meos_c.tsequenceset_insts_p(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_max_inst_p(Pointer ss) { - var _result = _meos_c.tsequenceset_max_inst_p(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_max_val(Pointer ss) { - var _result = _meos_c.tsequenceset_max_val(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_min_inst_p(Pointer ss) { - var _result = _meos_c.tsequenceset_min_inst_p(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_min_val(Pointer ss) { - var _result = _meos_c.tsequenceset_min_val(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_num_instants(Pointer ss) { - var _result = _meos_c.tsequenceset_num_instants(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_num_timestamps(Pointer ss) { - var _result = _meos_c.tsequenceset_num_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_segments(Pointer ss, Pointer count) { - var _result = _meos_c.tsequenceset_segments(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_sequences_p(Pointer ss, Pointer count) { - var _result = _meos_c.tsequenceset_sequences_p(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tsequenceset_start_timestamptz(Pointer ss) { - var _result = _meos_c.tsequenceset_start_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_time(Pointer ss) { - var _result = _meos_c.tsequenceset_time(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_timestamptz_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.tsequenceset_timestamptz_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_timestamps(Pointer ss, Pointer count) { - var _result = _meos_c.tsequenceset_timestamps(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_value_at_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_c.tsequenceset_value_at_timestamptz(ss, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_value_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.tsequenceset_value_n(ss, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_values_p(Pointer ss, Pointer count) { - var _result = _meos_c.tsequenceset_values_p(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void temporal_restart(Pointer temp, int count) { - _meos_c.temporal_restart(temp, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsequence(Pointer temp, int interp) { - var _result = _meos_c.temporal_tsequence(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsequenceset(Pointer temp, int interp) { - var _result = _meos_c.temporal_tsequenceset(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_shift_time(Pointer inst, Pointer interv) { - var _result = _meos_c.tinstant_shift_time(inst, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_to_tsequence(Pointer inst, int interp) { - var _result = _meos_c.tinstant_to_tsequence(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_to_tsequence_free(Pointer inst, int interp) { - var _result = _meos_c.tinstant_to_tsequence_free(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_to_tsequenceset(Pointer inst, int interp) { - var _result = _meos_c.tinstant_to_tsequenceset(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_shift_scale_value(Pointer temp, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.tnumber_shift_scale_value(temp, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_shift_value(Pointer inst, Pointer shift) { - var _result = _meos_c.tnumberinst_shift_value(inst, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_shift_scale_value(Pointer seq, Pointer shift, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.tnumberseq_shift_scale_value(seq, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_shift_scale_value(Pointer ss, Pointer start, Pointer width, boolean hasshift, boolean haswidth) { - var _result = _meos_c.tnumberseqset_shift_scale_value(ss, start, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tsequence_restart(Pointer seq, int count) { - _meos_c.tsequence_restart(seq, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tsequence_set_interp(Pointer seq, int interp) { - var _result = _meos_c.tsequence_set_interp(seq, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_shift_scale_time(Pointer seq, Pointer shift, Pointer duration) { - var _result = _meos_c.tsequence_shift_scale_time(seq, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_subseq(Pointer seq, int from, int to, boolean lower_inc, boolean upper_inc) { - var _result = _meos_c.tsequence_subseq(seq, from, to, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tinstant(Pointer seq) { - var _result = _meos_c.tsequence_to_tinstant(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tsequenceset(Pointer seq) { - var _result = _meos_c.tsequence_to_tsequenceset(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tsequenceset_free(Pointer seq) { - var _result = _meos_c.tsequence_to_tsequenceset_free(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_to_tsequenceset_interp(Pointer seq, int interp) { - var _result = _meos_c.tsequence_to_tsequenceset_interp(seq, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tsequenceset_restart(Pointer ss, int count) { - _meos_c.tsequenceset_restart(ss, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_set_interp(Pointer ss, int interp) { - var _result = _meos_c.tsequenceset_set_interp(ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_shift_scale_time(Pointer ss, Pointer start, Pointer duration) { - var _result = _meos_c.tsequenceset_shift_scale_time(ss, start, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_discrete(Pointer ss) { - var _result = _meos_c.tsequenceset_to_discrete(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_linear(Pointer ss) { - var _result = _meos_c.tsequenceset_to_linear(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_step(Pointer ss) { - var _result = _meos_c.tsequenceset_to_step(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_tinstant(Pointer ss) { - var _result = _meos_c.tsequenceset_to_tinstant(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_to_tsequence(Pointer ss) { - var _result = _meos_c.tsequenceset_to_tsequence(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_merge(Pointer inst1, Pointer inst2) { - var _result = _meos_c.tinstant_merge(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_merge_array(Pointer instants, int count) { - var _result = _meos_c.tinstant_merge_array(instants, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_append_tinstant(Pointer seq, Pointer inst, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_c.tsequence_append_tinstant(seq, inst, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_append_tsequence(Pointer seq1, Pointer seq2, boolean expand) { - var _result = _meos_c.tsequence_append_tsequence(seq1, seq2, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_timestamptz(Pointer seq, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tsequence_delete_timestamptz(seq, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_tstzset(Pointer seq, Pointer s, boolean connect) { - var _result = _meos_c.tsequence_delete_tstzset(seq, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_tstzspan(Pointer seq, Pointer s, boolean connect) { - var _result = _meos_c.tsequence_delete_tstzspan(seq, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_delete_tstzspanset(Pointer seq, Pointer ss, boolean connect) { - var _result = _meos_c.tsequence_delete_tstzspanset(seq, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_insert(Pointer seq1, Pointer seq2, boolean connect) { - var _result = _meos_c.tsequence_insert(seq1, seq2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_merge(Pointer seq1, Pointer seq2) { - var _result = _meos_c.tsequence_merge(seq1, seq2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_merge_array(Pointer sequences, int count) { - var _result = _meos_c.tsequence_merge_array(sequences, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_append_tinstant(Pointer ss, Pointer inst, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_c.tsequenceset_append_tinstant(ss, inst, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_append_tsequence(Pointer ss, Pointer seq, boolean expand) { - var _result = _meos_c.tsequenceset_append_tsequence(ss, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tsequenceset_delete_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_tstzset(Pointer ss, Pointer s) { - var _result = _meos_c.tsequenceset_delete_tstzset(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_tstzspan(Pointer ss, Pointer s) { - var _result = _meos_c.tsequenceset_delete_tstzspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_delete_tstzspanset(Pointer ss, Pointer ps) { - var _result = _meos_c.tsequenceset_delete_tstzspanset(ss, ps); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_insert(Pointer ss1, Pointer ss2) { - var _result = _meos_c.tsequenceset_insert(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_merge(Pointer ss1, Pointer ss2) { - var _result = _meos_c.tsequenceset_merge(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_merge_array(Pointer seqsets, int count) { - var _result = _meos_c.tsequenceset_merge_array(seqsets, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tsequence_expand_bbox(Pointer seq, Pointer inst) { - _meos_c.tsequence_expand_bbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequence_set_bbox(Pointer seq, Pointer result) { - _meos_c.tsequence_set_bbox(seq, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_expand_bbox(Pointer ss, Pointer seq) { - _meos_c.tsequenceset_expand_bbox(ss, seq); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_set_bbox(Pointer ss, Pointer result) { - _meos_c.tsequenceset_set_bbox(ss, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tcontseq_after_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tcontseq_before_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { - var _result = _meos_c.tcontseq_restrict_minmax(seq, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_after_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tdiscseq_after_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_before_timestamptz(Pointer seq, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tdiscseq_before_timestamptz(seq, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_restrict_minmax(Pointer seq, boolean min, boolean atfunc) { - var _result = _meos_c.tdiscseq_restrict_minmax(seq, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_bbox_restrict_set(Pointer temp, Pointer set) { - var _result = _meos_c.temporal_bbox_restrict_set(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_minmax(Pointer temp, boolean min, boolean atfunc) { - var _result = _meos_c.temporal_restrict_minmax(temp, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.temporal_restrict_timestamptz(temp, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_c.temporal_restrict_tstzset(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_c.temporal_restrict_tstzspan(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { - var _result = _meos_c.temporal_restrict_tstzspanset(temp, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_value(Pointer temp, Pointer value, boolean atfunc) { - var _result = _meos_c.temporal_restrict_value(temp, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_restrict_values(Pointer temp, Pointer set, boolean atfunc) { - var _result = _meos_c.temporal_restrict_values(temp, set, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_c.temporal_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_after_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tinstant_after_timestamptz(inst, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_before_timestamptz(Pointer inst, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tinstant_before_timestamptz(inst, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_tstzspan(Pointer inst, Pointer period, boolean atfunc) { - var _result = _meos_c.tinstant_restrict_tstzspan(inst, period, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_tstzspanset(Pointer inst, Pointer ss, boolean atfunc) { - var _result = _meos_c.tinstant_restrict_tstzspanset(inst, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_timestamptz(Pointer inst, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tinstant_restrict_timestamptz(inst, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_tstzset(Pointer inst, Pointer s, boolean atfunc) { - var _result = _meos_c.tinstant_restrict_tstzset(inst, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_value(Pointer inst, Pointer value, boolean atfunc) { - var _result = _meos_c.tinstant_restrict_value(inst, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_restrict_values(Pointer inst, Pointer set, boolean atfunc) { - var _result = _meos_c.tinstant_restrict_values(inst, set, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_restrict_span(Pointer temp, Pointer span, boolean atfunc) { - var _result = _meos_c.tnumber_restrict_span(temp, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_restrict_spanset(Pointer temp, Pointer ss, boolean atfunc) { - var _result = _meos_c.tnumber_restrict_spanset(temp, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_restrict_span(Pointer inst, Pointer span, boolean atfunc) { - var _result = _meos_c.tnumberinst_restrict_span(inst, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_restrict_spanset(Pointer inst, Pointer ss, boolean atfunc) { - var _result = _meos_c.tnumberinst_restrict_spanset(inst, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_restrict_span(Pointer ss, Pointer span, boolean atfunc) { - var _result = _meos_c.tnumberseqset_restrict_span(ss, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_restrict_spanset(Pointer ss, Pointer spanset, boolean atfunc) { - var _result = _meos_c.tnumberseqset_restrict_spanset(ss, spanset, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_at_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tsequence_at_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_restrict_tstzspan(Pointer seq, Pointer s, boolean atfunc) { - var _result = _meos_c.tsequence_restrict_tstzspan(seq, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { - var _result = _meos_c.tsequence_restrict_tstzspanset(seq, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_after_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tsequenceset_after_timestamptz(ss, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_before_timestamptz(Pointer ss, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tsequenceset_before_timestamptz(ss, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_minmax(Pointer ss, boolean min, boolean atfunc) { - var _result = _meos_c.tsequenceset_restrict_minmax(ss, min, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_tstzspan(Pointer ss, Pointer s, boolean atfunc) { - var _result = _meos_c.tsequenceset_restrict_tstzspan(ss, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_tstzspanset(Pointer ss, Pointer ps, boolean atfunc) { - var _result = _meos_c.tsequenceset_restrict_tstzspanset(ss, ps, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_timestamptz(Pointer ss, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tsequenceset_restrict_timestamptz(ss, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_tstzset(Pointer ss, Pointer s, boolean atfunc) { - var _result = _meos_c.tsequenceset_restrict_tstzset(ss, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_value(Pointer ss, Pointer value, boolean atfunc) { - var _result = _meos_c.tsequenceset_restrict_value(ss, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_restrict_values(Pointer ss, Pointer s, boolean atfunc) { - var _result = _meos_c.tsequenceset_restrict_values(ss, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstant_cmp(Pointer inst1, Pointer inst2) { - var _result = _meos_c.tinstant_cmp(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tinstant_eq(Pointer inst1, Pointer inst2) { - var _result = _meos_c.tinstant_eq(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_cmp(Pointer seq1, Pointer seq2) { - var _result = _meos_c.tsequence_cmp(seq1, seq2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequence_eq(Pointer seq1, Pointer seq2) { - var _result = _meos_c.tsequence_eq(seq1, seq2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequenceset_cmp(Pointer ss1, Pointer ss2) { - var _result = _meos_c.tsequenceset_cmp(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequenceset_eq(Pointer ss1, Pointer ss2) { - var _result = _meos_c.tsequenceset_eq(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.always_eq_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.always_eq_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.always_ne_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.always_ne_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.always_ge_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.always_ge_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.always_gt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.always_gt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.always_le_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.always_le_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.always_lt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.always_lt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.ever_eq_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.ever_eq_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.ever_ne_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.ever_ne_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.ever_ge_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.ever_ge_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.ever_gt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.ever_gt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.ever_le_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.ever_le_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_base_temporal(Pointer value, Pointer temp) { - var _result = _meos_c.ever_lt_base_temporal(value, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_temporal_base(Pointer temp, Pointer value) { - var _result = _meos_c.ever_lt_temporal_base(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_abs(Pointer inst) { - var _result = _meos_c.tnumberinst_abs(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberinst_distance(Pointer inst1, Pointer inst2) { - var _result = _meos_c.tnumberinst_distance(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_abs(Pointer seq) { - var _result = _meos_c.tnumberseq_abs(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_angular_difference(Pointer seq) { - var _result = _meos_c.tnumberseq_angular_difference(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_delta_value(Pointer seq) { - var _result = _meos_c.tnumberseq_delta_value(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_abs(Pointer ss) { - var _result = _meos_c.tnumberseqset_abs(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_angular_difference(Pointer ss) { - var _result = _meos_c.tnumberseqset_angular_difference(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseqset_delta_value(Pointer ss) { - var _result = _meos_c.tnumberseqset_delta_value(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_span_double(Pointer s1, Pointer s2) { - var _result = _meos_c.distance_span_span_double(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tbox_tbox(Pointer box1, Pointer box2) { - var _result = _meos_c.nad_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnumber_number(Pointer temp, Pointer value) { - var _result = _meos_c.nad_tnumber_number(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.nad_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.nad_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnumber_number(Pointer temp, Pointer value) { - var _result = _meos_c.tdistance_tnumber_number(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_integral(Pointer seq) { - var _result = _meos_c.tnumberseq_integral(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_twavg(Pointer seq) { - var _result = _meos_c.tnumberseq_twavg(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseqset_integral(Pointer ss) { - var _result = _meos_c.tnumberseqset_integral(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseqset_twavg(Pointer ss) { - var _result = _meos_c.tnumberseqset_twavg(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_compact(Pointer temp) { - var _result = _meos_c.temporal_compact(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_compact(Pointer seq) { - var _result = _meos_c.tsequence_compact(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_compact(Pointer ss) { - var _result = _meos_c.tsequenceset_compact(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_skiplist_make() { - var _result = _meos_c.temporal_skiplist_make(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer skiplist_make(long key_size, long value_size, Pointer comp_fn, Pointer merge_fn) { - var _result = _meos_c.skiplist_make(key_size, value_size, comp_fn, merge_fn); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int skiplist_search(Pointer list, Pointer key, Pointer value) { - var _result = _meos_c.skiplist_search(list, key, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void skiplist_free(Pointer list) { - _meos_c.skiplist_free(list); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void skiplist_splice(Pointer list, Pointer keys, Pointer values, int count, Pointer func, boolean crossings, int sktype) { - _meos_c.skiplist_splice(list, keys, values, count, func, crossings, sktype); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void temporal_skiplist_splice(Pointer list, Pointer values, int count, Pointer func, boolean crossings) { - _meos_c.temporal_skiplist_splice(list, values, count, func, crossings); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer skiplist_values(Pointer list) { - var _result = _meos_c.skiplist_values(list); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer skiplist_keys_values(Pointer list, Pointer values) { - var _result = _meos_c.skiplist_keys_values(list, values); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_app_tinst_transfn(Pointer state, Pointer inst, int interp, double maxdist, Pointer maxt) { - var _result = _meos_c.temporal_app_tinst_transfn(state, inst, interp, maxdist, maxt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_app_tseq_transfn(Pointer state, Pointer seq) { - var _result = _meos_c.temporal_app_tseq_transfn(state, seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_bins(Pointer s, Pointer size, Pointer origin, Pointer count) { - var _result = _meos_c.span_bins(s, size, origin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_bins(Pointer ss, Pointer size, Pointer origin, Pointer count) { - var _result = _meos_c.spanset_bins(ss, size, origin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_bins(Pointer temp, Pointer size, Pointer origin, Pointer count) { - var _result = _meos_c.tnumber_value_bins(temp, size, origin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_time_boxes(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tnumber_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_split(Pointer temp, Pointer vsize, Pointer vorigin) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer _sret = Memory.allocateDirect(runtime, 24); - _meos_c.tnumber_value_split(_sret, temp, vsize, vorigin); - MeosErrorHandler.checkError(); - return _sret; - } - - @SuppressWarnings("unused") - public static Pointer tbox_get_value_time_tile(Pointer value, OffsetDateTime t, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, int basetype, int spantype) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tbox_get_value_time_tile(value, t_new, vsize, duration, vorigin, torigin_new, basetype, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_time_split(Pointer temp, Pointer size, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tnumber_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String double2_out(Pointer d, int maxdd) { - var _result = _meos_c.double2_out(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void double2_set(double a, double b, Pointer result) { - _meos_c.double2_set(a, b, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer double2_add(Pointer d1, Pointer d2) { - var _result = _meos_c.double2_add(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean double2_eq(Pointer d1, Pointer d2) { - var _result = _meos_c.double2_eq(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String double3_out(Pointer d, int maxdd) { - var _result = _meos_c.double3_out(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void double3_set(double a, double b, double c, Pointer result) { - _meos_c.double3_set(a, b, c, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer double3_add(Pointer d1, Pointer d2) { - var _result = _meos_c.double3_add(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean double3_eq(Pointer d1, Pointer d2) { - var _result = _meos_c.double3_eq(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String double4_out(Pointer d, int maxdd) { - var _result = _meos_c.double4_out(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void double4_set(double a, double b, double c, double d, Pointer result) { - _meos_c.double4_set(a, b, c, d, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer double4_add(Pointer d1, Pointer d2) { - var _result = _meos_c.double4_add(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean double4_eq(Pointer d1, Pointer d2) { - var _result = _meos_c.double4_eq(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean double2_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio) { - var _result = _meos_c.double2_collinear(x1, x2, x3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean double3_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio) { - var _result = _meos_c.double3_collinear(x1, x2, x3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean double4_collinear(Pointer x1, Pointer x2, Pointer x3, double ratio) { - var _result = _meos_c.double4_collinear(x1, x2, x3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer double2segm_interpolate(Pointer start, Pointer end, Pointer ratio) { - var _result = _meos_c.double2segm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer double3segm_interpolate(Pointer start, Pointer end, Pointer ratio) { - var _result = _meos_c.double3segm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer double4segm_interpolate(Pointer start, Pointer end, Pointer ratio) { - var _result = _meos_c.double4segm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pg_atoi(String s, long size, int c) { - var _result = _meos_c.pg_atoi(s, size, c); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_X(int type, short flags) { - var _result = _meos_c.ensure_has_X(type, flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_Z(int type, short flags) { - var _result = _meos_c.ensure_has_Z(type, flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_T(int type, short flags) { - var _result = _meos_c.ensure_has_T(type, flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_not_Z(int type, short flags) { - var _result = _meos_c.ensure_has_not_Z(type, flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_not_null(Pointer ptr) { - var _result = _meos_c.ensure_not_null(ptr); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_one_not_null(Pointer ptr1, Pointer ptr2) { - var _result = _meos_c.ensure_one_not_null(ptr1, ptr2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_one_true(boolean hasshift, boolean haswidth) { - var _result = _meos_c.ensure_one_true(hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_interp(int temptype, int interp) { - var _result = _meos_c.ensure_valid_interp(temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_continuous(Pointer temp) { - var _result = _meos_c.ensure_continuous(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_interp(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_same_interp(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_continuous_interp(short flags1, short flags2) { - var _result = _meos_c.ensure_same_continuous_interp(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_linear_interp(short flags) { - var _result = _meos_c.ensure_linear_interp(flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_nonlinear_interp(short flags) { - var _result = _meos_c.ensure_nonlinear_interp(flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_common_dimension(short flags1, short flags2) { - var _result = _meos_c.ensure_common_dimension(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_temporal_isof_type(Pointer temp, int type) { - var _result = _meos_c.ensure_temporal_isof_type(temp, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_temporal_isof_basetype(Pointer temp, int basetype) { - var _result = _meos_c.ensure_temporal_isof_basetype(temp, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_temporal_isof_subtype(Pointer temp, int type) { - var _result = _meos_c.ensure_temporal_isof_subtype(temp, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_temporal_type(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_same_temporal_type(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnumber_numspan(Pointer temp, Pointer s) { - var _result = _meos_c.ensure_valid_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnumber_numspanset(Pointer temp, Pointer ss) { - var _result = _meos_c.ensure_valid_tnumber_numspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnumber_tbox(Pointer temp, Pointer box) { - var _result = _meos_c.ensure_valid_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_temporal_set(Pointer temp, Pointer s) { - var _result = _meos_c.ensure_valid_temporal_set(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_not_negative(int i) { - var _result = _meos_c.ensure_not_negative(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_positive(int i) { - var _result = _meos_c.ensure_positive(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean not_negative_datum(Pointer size, int basetype) { - var _result = _meos_c.not_negative_datum(size, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_not_negative_datum(Pointer size, int basetype) { - var _result = _meos_c.ensure_not_negative_datum(size, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean positive_datum(Pointer size, int basetype) { - var _result = _meos_c.positive_datum(size, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_positive_datum(Pointer size, int basetype) { - var _result = _meos_c.ensure_positive_datum(size, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_day_duration(Pointer duration) { - var _result = _meos_c.ensure_valid_day_duration(duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean positive_duration(Pointer duration) { - var _result = _meos_c.positive_duration(duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_positive_duration(Pointer duration) { - var _result = _meos_c.ensure_positive_duration(duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_bbox_ptr(Pointer temp) { - var _result = _meos_c.temporal_bbox_ptr(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_temporal_temporal(Pointer temp1, Pointer temp2, int mode, Pointer inter1, Pointer inter2) { - var _result = _meos_c.intersection_temporal_temporal(temp1, temp2, mode, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String mobilitydb_version() { - var _result = _meos_c.mobilitydb_version(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String mobilitydb_full_version() { - var _result = _meos_c.mobilitydb_full_version(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer round_fn(int basetype) { - var _result = _meos_c.round_fn(basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_bbox_restrict_value(Pointer temp, Pointer value) { - var _result = _meos_c.temporal_bbox_restrict_value(temp, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tcbuffer_cbuffer(Pointer temp, Pointer cb) { - var _result = _meos_c.ensure_valid_tcbuffer_cbuffer(temp, cb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tcbuffer_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ensure_valid_tcbuffer_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tcbuffer_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.ensure_valid_tcbuffer_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_tcbuffer_tcbuffer(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcbuffersegm_intersection_value(Pointer start, Pointer end, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tcbuffersegm_intersection_value(start, end, value, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcbuffersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tcbuffersegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcbuffersegm_dwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tcbuffersegm_dwithin_turnpt(start1, end1, start2, end2, dist, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcbuffersegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tcbuffersegm_tdwithin_turnpt(start1, end1, start2, end2, dist, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcbuffersegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer dist) { - var _result = _meos_c.tcbuffersegm_distance_turnpt(start1, end1, start2, end2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean cbuffer_set_stbox(Pointer cb, Pointer box) { - var _result = _meos_c.cbuffer_set_stbox(cb, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void cbufferarr_set_stbox(Pointer values, int count, Pointer box) { - _meos_c.cbufferarr_set_stbox(values, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void cbuffer_timestamptz_set_stbox(Pointer cb, OffsetDateTime t, Pointer box) { - var t_new = t.toEpochSecond(); - _meos_c.cbuffer_timestamptz_set_stbox(cb, t_new, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void cbuffer_tstzspan_set_stbox(Pointer cb, Pointer s, Pointer box) { - _meos_c.cbuffer_tstzspan_set_stbox(cb, s, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tcbufferinst_set_stbox(Pointer inst, Pointer box) { - _meos_c.tcbufferinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tcbufferinstarr_set_stbox(Pointer instants, int count, Pointer box) { - _meos_c.tcbufferinstarr_set_stbox(instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tcbufferseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_c.tcbufferseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tcbufferinst_traversed_area(Pointer inst) { - var _result = _meos_c.tcbufferinst_traversed_area(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbufferseq_traversed_area(Pointer seq, boolean unary_union) { - var _result = _meos_c.tcbufferseq_traversed_area(seq, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbufferseqset_traversed_area(Pointer ss, boolean unary_union) { - var _result = _meos_c.tcbufferseqset_traversed_area(ss, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffersegm_traversed_area(Pointer inst1, Pointer inst2) { - var _result = _meos_c.tcbuffersegm_traversed_area(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_restrict_cbuffer(Pointer temp, Pointer cb, boolean atfunc) { - var _result = _meos_c.tcbuffer_restrict_cbuffer(temp, cb, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_c.tcbuffer_restrict_stbox(temp, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcbuffer_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { - var _result = _meos_c.tcbuffer_restrict_geom(temp, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_contains_geo_tcbuffer(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_contains_tcbuffer_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { - var _result = _meos_c.ea_contains_tcbuffer_cbuffer(temp, cb, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { - var _result = _meos_c.ea_contains_cbuffer_tcbuffer(cb, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_covers_geo_tcbuffer(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_covers_tcbuffer_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { - var _result = _meos_c.ea_covers_tcbuffer_cbuffer(temp, cb, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { - var _result = _meos_c.ea_covers_cbuffer_tcbuffer(cb, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_covers_tcbuffer_tcbuffer(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_disjoint_tcbuffer_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_disjoint_geo_tcbuffer(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { - var _result = _meos_c.ea_disjoint_tcbuffer_cbuffer(temp, cb, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { - var _result = _meos_c.ea_disjoint_cbuffer_tcbuffer(cb, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_disjoint_tcbuffer_tcbuffer(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_intersects_tcbuffer_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_intersects_geo_tcbuffer(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { - var _result = _meos_c.ea_intersects_tcbuffer_cbuffer(temp, cb, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { - var _result = _meos_c.ea_intersects_cbuffer_tcbuffer(cb, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_intersects_tcbuffer_tcbuffer(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_tcbuffer_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_touches_tcbuffer_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_geo_tcbuffer(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_touches_geo_tcbuffer(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean ever) { - var _result = _meos_c.ea_touches_tcbuffer_cbuffer(temp, cb, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_cbuffer_tcbuffer(Pointer cb, Pointer temp, boolean ever) { - var _result = _meos_c.ea_touches_cbuffer_tcbuffer(cb, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_tcbuffer_tcbuffer(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_touches_tcbuffer_tcbuffer(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinterrel_tcbuffer_cbuffer(Pointer temp, Pointer cb, boolean tinter) { - var _result = _meos_c.tinterrel_tcbuffer_cbuffer(temp, cb, tinter); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinterrel_tcbuffer_geo(Pointer temp, Pointer gs, boolean tinter) { - var _result = _meos_c.tinterrel_tcbuffer_geo(temp, gs, tinter); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer clipper2_clip_poly_poly(Pointer subj, Pointer clip, int op) { - var _result = _meos_c.clipper2_clip_poly_poly(subj, clip, op); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer clipper2_traj_poly_periods(Pointer seq, Pointer gs, Pointer out_count) { - var _result = _meos_c.clipper2_traj_poly_periods(seq, gs, out_count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer clip_poly_poly(Pointer subj, Pointer clip, int operation) { - var _result = _meos_c.clip_poly_poly(subj, clip, operation); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int lwproj_lookup(int srid_from, int srid_to, Pointer pj) { - var _result = _meos_c.lwproj_lookup(srid_from, srid_to, pj); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spheroid_init_from_srid(int srid, Pointer s) { - var _result = _meos_c.spheroid_init_from_srid(srid, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void srid_check_latlong(int srid) { - _meos_c.srid_check_latlong(srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int srid_is_latlong(int srid) { - var _result = _meos_c.srid_is_latlong(srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_serialize(Pointer lwgeom) { - var _result = _meos_c.geom_serialize(lwgeom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_serialize(Pointer lwgeom) { - var _result = _meos_c.geog_serialize(lwgeom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_postgis_valid_typmod(Pointer gs, int typmod) { - var _result = _meos_c.meos_postgis_valid_typmod(gs, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_wkt(Pointer gs, int precision, boolean extended) { - var _result = _meos_c.geo_as_wkt(gs, precision, extended); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box2d_to_lwgeom(Pointer box, int srid) { - var _result = _meos_c.box2d_to_lwgeom(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_to_lwgeom(Pointer box) { - var _result = _meos_c.box3d_to_lwgeom(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer MEOS_POSTGIS2GEOS(Pointer pglwgeom) { - var _result = _meos_c.MEOS_POSTGIS2GEOS(pglwgeom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer MEOS_GEOS2POSTGIS(Pointer geom, String want3d) { - var _result = _meos_c.MEOS_GEOS2POSTGIS(geom, want3d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_spatialrel(Pointer gs1, Pointer gs2, int rel) { - var _result = _meos_c.geom_spatialrel(gs1, gs2, rel); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lwgeom_line_interpolate_point(Pointer geom, double fraction, int srid, String repeat) { - var _result = _meos_c.lwgeom_line_interpolate_point(geom, fraction, srid, repeat); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void point_get_coords(Pointer point, boolean hasz, Pointer x, Pointer y, Pointer z) { - _meos_c.point_get_coords(point, hasz, x, y, z); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzset_stbox_slice(Pointer tsdatum, Pointer box) { - _meos_c.tstzset_stbox_slice(tsdatum, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspanset_stbox_slice(Pointer psdatum, Pointer box) { - _meos_c.tstzspanset_stbox_slice(psdatum, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean stbox_index_leaf_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_c.stbox_index_leaf_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_gist_inner_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_c.stbox_gist_inner_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_index_recheck(int strategy) { - var _result = _meos_c.stbox_index_recheck(strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stboxnode_copy(Pointer box) { - var _result = _meos_c.stboxnode_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int getQuadrant8D(Pointer centroid, Pointer inBox) { - var _result = _meos_c.getQuadrant8D(centroid, inBox); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void stboxnode_init(Pointer centroid, Pointer nodebox) { - _meos_c.stboxnode_init(centroid, nodebox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stboxnode_quadtree_next(Pointer nodebox, Pointer centroid, int quadrant, Pointer next_nodebox) { - _meos_c.stboxnode_quadtree_next(nodebox, centroid, quadrant, next_nodebox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stboxnode_kdtree_next(Pointer nodebox, Pointer centroid, int node, int level, Pointer next_nodebox) { - _meos_c.stboxnode_kdtree_next(nodebox, centroid, node, level, next_nodebox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean overlap8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overlap8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlapKD(Pointer nodebox, Pointer query, int level) { - var _result = _meos_c.overlapKD(nodebox, query, level); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contain8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.contain8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean containKD(Pointer nodebox, Pointer query, int level) { - var _result = _meos_c.containKD(nodebox, query, level); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.left8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overLeft8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overLeft8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.right8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overRight8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overRight8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.below8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overBelow8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overBelow8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.above8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overAbove8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overAbove8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.front8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overFront8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overFront8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.back8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overBack8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overBack8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.before8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overBefore8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overBefore8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.after8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overAfter8D(Pointer nodebox, Pointer query) { - var _result = _meos_c.overAfter8D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_stbox_nodebox(Pointer query, Pointer nodebox) { - var _result = _meos_c.distance_stbox_nodebox(query, nodebox); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatial_spgist_get_stbox(Pointer value, int type, Pointer result) { - _meos_c.tspatial_spgist_get_stbox(value, type, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void mobilitydb_init() { - _meos_c.mobilitydb_init(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer geo_stbox(Pointer gs) { - var _result = _meos_c.geo_stbox(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_geo(Pointer box) { - var _result = _meos_c.stbox_geo(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcomp_geo_tgeo(Pointer gs, Pointer temp, Pointer func) { - var _result = _meos_c.tcomp_geo_tgeo(gs, temp, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func) { - var _result = _meos_c.tcomp_tgeo_geo(temp, gs, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_geoaggstate(Pointer state, int srid, boolean hasz) { - var _result = _meos_c.ensure_geoaggstate(state, srid, hasz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_geoaggstate_state(Pointer state1, Pointer state2) { - var _result = _meos_c.ensure_geoaggstate_state(state1, state2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_transform_tcentroid(Pointer temp, Pointer count) { - var _result = _meos_c.tpoint_transform_tcentroid(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointinst_tcentroid_finalfn(Pointer instants, int count, int srid) { - var _result = _meos_c.tpointinst_tcentroid_finalfn(instants, count, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_tcentroid_finalfn(Pointer sequences, int count, int srid) { - var _result = _meos_c.tpointseq_tcentroid_finalfn(sequences, count, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean point3d_min_dist(Pointer p1, Pointer p2, Pointer p3, Pointer p4, Pointer fraction) { - var _result = _meos_c.point3d_min_dist(p1, p2, p3, p4, fraction); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_spatial_distance(Pointer box1, Pointer box2) { - var _result = _meos_c.stbox_spatial_distance(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tgeompointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param) { - var _result = _meos_c.tgeompointsegm_distance_turnpt(start1, end1, start2, end2, param); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tgeogpointsegm_distance_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param) { - var _result = _meos_c.tgeogpointsegm_distance_turnpt(start1, end1, start2, end2, param); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tinstant_distance(Pointer inst1, Pointer inst2, Pointer func) { - var _result = _meos_c.tinstant_distance(inst1, inst2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_at_geom(Pointer seq, Pointer gs, Pointer count) { - var _result = _meos_c.tpointseq_at_geom(seq, gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_interperiods(Pointer seq, Pointer gs, Pointer count) { - var _result = _meos_c.tpointseq_interperiods(seq, gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void datum_point4d(Pointer value, Pointer p) { - _meos_c.datum_point4d(value, p); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int geopoint_cmp(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geopoint_cmp(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geopoint_eq(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geopoint_eq(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geopoint_same(Pointer gs1, Pointer gs2) { - var _result = _meos_c.geopoint_same(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_point_eq(Pointer point1, Pointer point2) { - var _result = _meos_c.datum_point_eq(point1, point2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_point_same(Pointer point1, Pointer point2) { - var _result = _meos_c.datum_point_same(point1, point2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_point_eq(Pointer point1, Pointer point2) { - var _result = _meos_c.datum2_point_eq(point1, point2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_point_ne(Pointer point1, Pointer point2) { - var _result = _meos_c.datum2_point_ne(point1, point2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_point_same(Pointer point1, Pointer point2) { - var _result = _meos_c.datum2_point_same(point1, point2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_point_nsame(Pointer point1, Pointer point2) { - var _result = _meos_c.datum2_point_nsame(point1, point2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_geom_centroid(Pointer geo) { - var _result = _meos_c.datum2_geom_centroid(geo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_geog_centroid(Pointer geo) { - var _result = _meos_c.datum2_geog_centroid(geo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_extract_elements(Pointer gs, Pointer count) { - var _result = _meos_c.geo_extract_elements(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_serialize(Pointer geom) { - var _result = _meos_c.geo_serialize(geom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_distance_fn(short flags) { - var _result = _meos_c.geo_distance_fn(flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer point_distance_fn(short flags) { - var _result = _meos_c.point_distance_fn(flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_distance2d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_distance2d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_distance3d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_distance3d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geog_distance(Pointer geog1, Pointer geog2) { - var _result = _meos_c.datum_geog_distance(geog1, geog2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pt_distance2d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_pt_distance2d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pt_distance3d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_pt_distance3d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static short spatial_flags(Pointer d, int basetype) { - var _result = _meos_c.spatial_flags(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_srid_is_latlong(int srid) { - var _result = _meos_c.ensure_srid_is_latlong(srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_spatial_validity(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_spatial_validity(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_not_geodetic(short flags) { - var _result = _meos_c.ensure_not_geodetic(flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_geodetic(short flags1, short flags2) { - var _result = _meos_c.ensure_same_geodetic(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_geodetic_geo(Pointer gs1, Pointer gs2) { - var _result = _meos_c.ensure_same_geodetic_geo(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_geodetic_tspatial_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ensure_same_geodetic_tspatial_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_geodetic_tspatial_base(Pointer temp, Pointer base) { - var _result = _meos_c.ensure_same_geodetic_tspatial_base(temp, base); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_srid_known(int srid) { - var _result = _meos_c.ensure_srid_known(srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_srid(int srid1, int srid2) { - var _result = _meos_c.ensure_same_srid(srid1, srid2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_dimensionality(short flags1, short flags2) { - var _result = _meos_c.ensure_same_dimensionality(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_spatial_dimensionality(short flags1, short flags2) { - var _result = _meos_c.same_spatial_dimensionality(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_spatial_dimensionality(short flags1, short flags2) { - var _result = _meos_c.ensure_same_spatial_dimensionality(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_dimensionality_geo(Pointer gs1, Pointer gs2) { - var _result = _meos_c.ensure_same_dimensionality_geo(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_dimensionality_tspatial_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.same_dimensionality_tspatial_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_dimensionality_tspatial_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ensure_same_dimensionality_tspatial_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_spatial_dimensionality_stbox_geo(Pointer box, Pointer gs) { - var _result = _meos_c.ensure_same_spatial_dimensionality_stbox_geo(box, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_geodetic_stbox_geo(Pointer box, Pointer gs) { - var _result = _meos_c.ensure_same_geodetic_stbox_geo(box, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_Z_geo(Pointer gs) { - var _result = _meos_c.ensure_has_Z_geo(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_not_Z_geo(Pointer gs) { - var _result = _meos_c.ensure_has_not_Z_geo(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_M_geo(Pointer gs) { - var _result = _meos_c.ensure_has_M_geo(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_not_M_geo(Pointer gs) { - var _result = _meos_c.ensure_has_not_M_geo(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_not_geodetic_geo(Pointer gs) { - var _result = _meos_c.ensure_not_geodetic_geo(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_point_type(Pointer gs) { - var _result = _meos_c.ensure_point_type(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_mline_type(Pointer gs) { - var _result = _meos_c.ensure_mline_type(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean circle_type(Pointer gs) { - var _result = _meos_c.circle_type(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_circle_type(Pointer gs) { - var _result = _meos_c.ensure_circle_type(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_not_empty(Pointer gs) { - var _result = _meos_c.ensure_not_empty(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_stbox_geo(Pointer box, Pointer gs) { - var _result = _meos_c.ensure_valid_stbox_geo(box, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tspatial_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ensure_valid_tspatial_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tspatial_base(Pointer temp, Pointer base) { - var _result = _meos_c.ensure_valid_tspatial_base(temp, base); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_spatial_stbox_stbox(Pointer box1, Pointer box2) { - var _result = _meos_c.ensure_valid_spatial_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tgeo_stbox(Pointer temp, Pointer box) { - var _result = _meos_c.ensure_valid_tgeo_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_geo_geo(Pointer gs1, Pointer gs2) { - var _result = _meos_c.ensure_valid_geo_geo(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ensure_valid_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_c.ensure_valid_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tpoint_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_tpoint_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean mline_type(Pointer gs) { - var _result = _meos_c.mline_type(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_coord(Pointer temp, int coord) { - var _result = _meos_c.tpoint_get_coord(temp, coord); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eacomp_tgeo_geo(Pointer temp, Pointer gs, Pointer func, boolean ever) { - var _result = _meos_c.eacomp_tgeo_geo(temp, gs, func, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer closest_point2d_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest) { - var _result = _meos_c.closest_point2d_on_segment_ratio(p, A, B, closest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer closest_point3dz_on_segment_ratio(Pointer p, Pointer A, Pointer B, Pointer closest) { - var _result = _meos_c.closest_point3dz_on_segment_ratio(p, A, B, closest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer closest_point_on_segment_sphere(Pointer p, Pointer A, Pointer B, Pointer closest, Pointer dist) { - var _result = _meos_c.closest_point_on_segment_sphere(p, A, B, closest, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void interpolate_point4d_spheroid(Pointer p1, Pointer p2, Pointer p, Pointer s, double f) { - _meos_c.interpolate_point4d_spheroid(p1, p2, p, s, f); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer geopoint_make(double x, double y, double z, boolean hasz, boolean geodetic, int srid) { - var _result = _meos_c.geopoint_make(x, y, z, hasz, geodetic, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lwcircle_make(double x, double y, double radius, int srid) { - var _result = _meos_c.lwcircle_make(x, y, radius, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geocircle_make(double x, double y, double radius, int srid) { - var _result = _meos_c.geocircle_make(x, y, radius, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pointsegm_interpolate(Pointer start, Pointer end, Pointer ratio) { - var _result = _meos_c.pointsegm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pointsegm_locate(Pointer start, Pointer end, Pointer point, Pointer dist) { - var _result = _meos_c.pointsegm_locate(start, end, point, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tgeompointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tgeompointsegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tgeogpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tgeogpointsegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geopoint_collinear(Pointer value1, Pointer value2, Pointer value3, double ratio, boolean hasz, boolean geodetic) { - var _result = _meos_c.geopoint_collinear(value1, value2, value3, ratio, hasz, geodetic); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lwpointarr_remove_duplicates(Pointer points, int count, Pointer newcount) { - var _result = _meos_c.lwpointarr_remove_duplicates(points, count, newcount); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lwpointarr_make_trajectory(Pointer points, int count, int interp) { - var _result = _meos_c.lwpointarr_make_trajectory(points, count, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lwline_make(Pointer value1, Pointer value2) { - var _result = _meos_c.lwline_make(value1, value2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lwcoll_from_points_lines(Pointer points, Pointer lines, int npoints, int nlines) { - var _result = _meos_c.lwcoll_from_points_lines(points, lines, npoints, nlines); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tpointseq_stops_iter(Pointer seq, double maxdist, int mintunits, Pointer result) { - var _result = _meos_c.tpointseq_stops_iter(seq, maxdist, mintunits, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_contains(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_contains(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_covers(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_covers(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_disjoint2d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_disjoint2d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_disjoint3d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_disjoint3d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geog_disjoint(Pointer geog1, Pointer geog2) { - var _result = _meos_c.datum_geog_disjoint(geog1, geog2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_intersects2d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_intersects2d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_intersects3d(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_intersects3d(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geog_intersects(Pointer geog1, Pointer geog2) { - var _result = _meos_c.datum_geog_intersects(geog1, geog2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_touches(Pointer geom1, Pointer geom2) { - var _result = _meos_c.datum_geom_touches(geom1, geom2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_dwithin2d(Pointer geom1, Pointer geom2, Pointer dist) { - var _result = _meos_c.datum_geom_dwithin2d(geom1, geom2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_dwithin3d(Pointer geom1, Pointer geom2, Pointer dist) { - var _result = _meos_c.datum_geom_dwithin3d(geom1, geom2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geog_dwithin(Pointer geog1, Pointer geog2, Pointer dist) { - var _result = _meos_c.datum_geog_dwithin(geog1, geog2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geom_relate_pattern(Pointer geog1, Pointer geog2, Pointer p) { - var _result = _meos_c.datum_geom_relate_pattern(geog1, geog2, p); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_disjoint_fn(short flags1, short flags2) { - var _result = _meos_c.geo_disjoint_fn(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_disjoint_fn_geo(short flags1, byte flags2) { - var _result = _meos_c.geo_disjoint_fn_geo(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_intersects_fn(short flags1, short flags2) { - var _result = _meos_c.geo_intersects_fn(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_intersects_fn_geo(short flags1, byte flags2) { - var _result = _meos_c.geo_intersects_fn_geo(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_dwithin_fn(short flags1, short flags2) { - var _result = _meos_c.geo_dwithin_fn(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_dwithin_fn_geo(short flags1, byte flags2) { - var _result = _meos_c.geo_dwithin_fn_geo(flags1, flags2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tpointsegm_tdwithin_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_c.tpointsegm_tdwithin_turnpt(start1, end1, start2, end2, value, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatialrel_geo_geo(Pointer gs1, Pointer gs2, Pointer param, Pointer func, int numparam, boolean invert) { - var _result = _meos_c.spatialrel_geo_geo(gs1, gs2, param, func, numparam, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatialrel_tgeo_tgeo(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam) { - var _result = _meos_c.spatialrel_tgeo_tgeo(temp1, temp2, param, func, numparam); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_contains_geo_tgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_contains_tgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_contains_tgeo_tgeo(temp, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_covers_geo_tgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_covers_tgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_covers_tgeo_tgeo(temp, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_disjoint_geo_tgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_disjoint_tgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_disjoint_tgeo_tgeo(temp, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_geo_tgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_c.ea_intersects_geo_tgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_intersects_tgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_intersects_tgeo_tgeo(temp, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_tpoint_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_touches_tpoint_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_tgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_c.ea_touches_tgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_tgeo_tgeo(Pointer temp, Pointer temp2, boolean ever) { - var _result = _meos_c.ea_touches_tgeo_tgeo(temp, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_dwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever) { - var _result = _meos_c.ea_dwithin_tgeo_geo(temp, gs, dist, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_dwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean ever) { - var _result = _meos_c.ea_dwithin_tgeo_tgeo(temp1, temp2, dist, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_spatialrel_tspatial_geo(Pointer temp, Pointer gs, Pointer func, boolean ever, boolean invert) { - var _result = _meos_c.ea_spatialrel_tspatial_geo(temp, gs, func, ever, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_spatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer func, boolean ever) { - var _result = _meos_c.ea_spatialrel_tspatial_tspatial(temp1, temp2, func, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatialrel_tspatial_base(Pointer temp, Pointer base, Pointer param, Pointer func, int numparam, boolean invert) { - var _result = _meos_c.tspatialrel_tspatial_base(temp, base, param, func, numparam, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatialrel_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer param, Pointer func, int numparam, boolean invert) { - var _result = _meos_c.tspatialrel_tspatial_tspatial(temp1, temp2, param, func, numparam, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinterrel_tgeo_geo(Pointer temp, Pointer gs, boolean tinter) { - var _result = _meos_c.tinterrel_tgeo_geo(temp, gs, tinter); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinterrel_tspatial_base(Pointer temp, Pointer base, boolean tinter, Pointer func) { - var _result = _meos_c.tinterrel_tspatial_base(temp, base, tinter, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinterrel_tspatial_tspatial(Pointer temp1, Pointer temp2, boolean tinter) { - var _result = _meos_c.tinterrel_tspatial_tspatial(temp1, temp2, tinter); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tspatial_tspatial(Pointer sync1, Pointer sync2, Pointer dist, Pointer func, Pointer tpfn) { - var _result = _meos_c.tdwithin_tspatial_tspatial(sync1, sync2, dist, func, tpfn); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tdwithin_add_solutions(int solutions, OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc, boolean upper_inc1, OffsetDateTime t1, OffsetDateTime t2, Pointer instants, Pointer result) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var t1_new = t1.toEpochSecond(); - var t2_new = t2.toEpochSecond(); - var _result = _meos_c.tdwithin_add_solutions(solutions, lower_new, upper_new, lower_inc, upper_inc, upper_inc1, t1_new, t2_new, instants, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tspatial_spatial(Pointer temp, Pointer base, Pointer dist, Pointer func, Pointer tpfn) { - var _result = _meos_c.tdwithin_tspatial_spatial(temp, base, dist, func, tpfn); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bitmatrix_make(Pointer count, int ndims) { - var _result = _meos_c.bitmatrix_make(count, ndims); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tpoint_set_tiles(Pointer temp, Pointer state, Pointer bm) { - var _result = _meos_c.tpoint_set_tiles(temp, state, bm); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_tile(Pointer temp, Pointer box) { - var _result = _meos_c.tpoint_at_tile(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void stbox_tile_state_set(double x, double y, double z, OffsetDateTime t, double xsize, double ysize, double zsize, long tunits, boolean hasx, boolean hasz, boolean hast, int srid, Pointer result) { - var t_new = t.toEpochSecond(); - _meos_c.stbox_tile_state_set(x, y, z, t_new, xsize, ysize, zsize, tunits, hasx, hasz, hast, srid, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer stbox_tile_state_make(Pointer temp, Pointer box, double xsize, double ysize, double zsize, Pointer duration, int sorigin, OffsetDateTime torigin, boolean border_inc) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.stbox_tile_state_make(temp, box, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void stbox_tile_state_next(Pointer state) { - _meos_c.stbox_tile_state_next(state); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean stbox_tile_state_get(Pointer state, Pointer box) { - var _result = _meos_c.stbox_tile_state_get(state, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_tile_init(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer ntiles) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.tgeo_space_time_tile_init(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, ntiles); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean hasx, boolean hast) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_c.stbox_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new, hasx, hast); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer create_trip(Pointer lines, Pointer maxSpeeds, Pointer categories, int noEdges, OffsetDateTime startTime, boolean disturbData, int verbosity) { - var startTime_new = startTime.toEpochSecond(); - var _result = _meos_c.create_trip(lines, maxSpeeds, categories, noEdges, startTime_new, disturbData, verbosity); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialarr_wkt_out(Pointer spatialarr, int basetype, int count, int maxdd, boolean extended) { - var _result = _meos_c.spatialarr_wkt_out(spatialarr, basetype, count, maxdd, extended); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialbase_as_text(Pointer value, int type, int maxdd) { - var _result = _meos_c.spatialbase_as_text(value, type, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialbase_as_ewkt(Pointer value, int type, int maxdd) { - var _result = _meos_c.spatialbase_as_ewkt(value, type, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean point_transf_pj(Pointer gs, int srid_to, Pointer pj) { - var _result = _meos_c.point_transf_pj(gs, srid_to, pj); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tgeoinst_set_stbox(Pointer inst, Pointer box) { - _meos_c.tgeoinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tgeoinstarr_set_stbox(Pointer instants, int count, Pointer box) { - _meos_c.tgeoinstarr_set_stbox(instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tgeoseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_c.tgeoseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialinst_set_stbox(Pointer inst, Pointer box) { - _meos_c.tspatialinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialinstarr_set_stbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box) { - _meos_c.tspatialinstarr_set_stbox(instants, count, lower_inc, upper_inc, interp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialseqarr_set_stbox(Pointer sequences, int count, Pointer box) { - _meos_c.tspatialseqarr_set_stbox(sequences, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_c.tspatialseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void spatialarr_set_bbox(Pointer values, int basetype, int count, Pointer box) { - _meos_c.spatialarr_set_bbox(values, basetype, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean boxop_tspatial_stbox(Pointer temp, Pointer box, Pointer bool, boolean invert) { - var _result = _meos_c.boxop_tspatial_stbox(temp, box, bool, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_tspatial_tspatial(Pointer temp1, Pointer temp2, Pointer bool) { - var _result = _meos_c.boxop_tspatial_tspatial(temp1, temp2, bool); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean srid_parse(Pointer str, Pointer srid) { - var _result = _meos_c.srid_parse(str, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatial_parse_elem(Pointer str, int temptype, String delim, Pointer temp_srid) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.spatial_parse_elem(str, temptype, delim, temp_srid, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer geo_parse(Pointer str, int basetype, String delim, Pointer srid) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.geo_parse(str, basetype, delim, srid, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_parse(Pointer str) { - var _result = _meos_c.stbox_parse(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_parse(Pointer str, int temptype) { - var _result = _meos_c.tpoint_parse(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatialinst_parse(Pointer str, int temptype, boolean end, Pointer temp_srid) { - var _result = _meos_c.tspatialinst_parse(str, temptype, end, temp_srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatialseq_disc_parse(Pointer str, int temptype, Pointer temp_srid) { - var _result = _meos_c.tspatialseq_disc_parse(str, temptype, temp_srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatialseq_cont_parse(Pointer str, int temptype, int interp, boolean end, Pointer temp_srid) { - var _result = _meos_c.tspatialseq_cont_parse(str, temptype, interp, end, temp_srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatialseqset_parse(Pointer str, int temptype, int interp, Pointer temp_srid) { - var _result = _meos_c.tspatialseqset_parse(str, temptype, interp, temp_srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_parse(Pointer str, int temptype) { - var _result = _meos_c.tspatial_parse(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_are_neighbor_cells_meos(long origin, long destination) { - var _result = _meos_c.h3_are_neighbor_cells_meos(origin, destination); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cells_to_directed_edge_meos(long origin, long destination) { - var _result = _meos_c.h3_cells_to_directed_edge_meos(origin, destination); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_valid_directed_edge_meos(long edge) { - var _result = _meos_c.h3_is_valid_directed_edge_meos(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_get_directed_edge_origin_meos(long edge) { - var _result = _meos_c.h3_get_directed_edge_origin_meos(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_get_directed_edge_destination_meos(long edge) { - var _result = _meos_c.h3_get_directed_edge_destination_meos(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_parent_meos(long origin, int resolution) { - var _result = _meos_c.h3_cell_to_parent_meos(origin, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_center_child_meos(long origin, int resolution) { - var _result = _meos_c.h3_cell_to_center_child_meos(origin, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_child_pos_meos(long child, int parentRes) { - var _result = _meos_c.h3_cell_to_child_pos_meos(child, parentRes); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_child_pos_to_cell_meos(long childPos, long parent, int childRes) { - var _result = _meos_c.h3_child_pos_to_cell_meos(childPos, parent, childRes); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3_get_resolution_meos(long hex) { - var _result = _meos_c.h3_get_resolution_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3_get_base_cell_number_meos(long hex) { - var _result = _meos_c.h3_get_base_cell_number_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_valid_cell_meos(long hex) { - var _result = _meos_c.h3_is_valid_cell_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_res_class_iii_meos(long hex) { - var _result = _meos_c.h3_is_res_class_iii_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_pentagon_meos(long hex) { - var _result = _meos_c.h3_is_pentagon_meos(hex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_get_num_cells_meos(int resolution) { - var _result = _meos_c.h3_get_num_cells_meos(resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_grid_distance_meos(long originIndex, long h3Index) { - var _result = _meos_c.h3_grid_distance_meos(originIndex, h3Index); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_vertex_meos(long cell, int vertexNum) { - var _result = _meos_c.h3_cell_to_vertex_meos(cell, vertexNum); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3_is_valid_vertex_meos(long vertex) { - var _result = _meos_c.h3_is_valid_vertex_meos(vertex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3index_parse(String str) { - var _result = _meos_c.h3index_parse(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String h3index_to_string(long cell) { - var _result = _meos_c.h3index_to_string(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_eq(long a, long b) { - var _result = _meos_c.h3index_eq(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_ne(long a, long b) { - var _result = _meos_c.h3index_ne(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_lt(long a, long b) { - var _result = _meos_c.h3index_lt(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_le(long a, long b) { - var _result = _meos_c.h3index_le(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_gt(long a, long b) { - var _result = _meos_c.h3index_gt(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean h3index_ge(long a, long b) { - var _result = _meos_c.h3index_ge(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3index_cmp(long a, long b) { - var _result = _meos_c.h3index_cmp(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3index_hash(long cell) { - var _result = _meos_c.h3index_hash(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_grid_disk(long origin, int k) { - var _result = _meos_c.h3_grid_disk(origin, k); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_grid_ring(long origin, int k) { - var _result = _meos_c.h3_grid_ring(origin, k); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_grid_path_cells(long start, long end) { - var _result = _meos_c.h3_grid_path_cells(start, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_children(long origin, int childRes) { - var _result = _meos_c.h3_cell_to_children(origin, childRes); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_compact_cells(Pointer cells) { - var _result = _meos_c.h3_compact_cells(cells); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_uncompact_cells(Pointer cells, int res) { - var _result = _meos_c.h3_uncompact_cells(cells, res); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_origin_to_directed_edges(long origin) { - var _result = _meos_c.h3_origin_to_directed_edges(origin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_vertexes(long cell) { - var _result = _meos_c.h3_cell_to_vertexes(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_get_icosahedron_faces(long cell) { - var _result = _meos_c.h3_get_icosahedron_faces(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.ensure_valid_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_th3index_tgeogpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ensure_valid_th3index_tgeogpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_h3index_eq(Pointer d1, Pointer d2, int type) { - var _result = _meos_c.datum2_h3index_eq(d1, d2, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_h3index_ne(Pointer d1, Pointer d2, int type) { - var _result = _meos_c.datum2_h3index_ne(d1, d2, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void th3indexinst_set_stbox(Pointer inst, Pointer box) { - _meos_c.th3indexinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void th3indexinstarr_set_stbox(Pointer instants, int count, Pointer box) { - _meos_c.th3indexinstarr_set_stbox(instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void th3indexseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_c.th3indexseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static long h3_gs_point_to_cell(Pointer point, int resolution) { - var _result = _meos_c.h3_gs_point_to_cell(point, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_gs_point(long cell) { - var _result = _meos_c.h3_cell_to_gs_point(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_gs_boundary(long cell) { - var _result = _meos_c.h3_cell_to_gs_boundary(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cell_boundary_to_gs(Pointer bnd) { - var _result = _meos_c.cell_boundary_to_gs(bnd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_sample_step_deg(int resolution) { - var _result = _meos_c.h3_sample_step_deg(resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution) { - var _result = _meos_c.h3_latlng_deg_to_cell(lat_deg, lng_deg, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_parent_next_meos(long cell) { - var _result = _meos_c.h3_cell_to_parent_next_meos(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_cell_to_center_child_next_meos(long cell) { - var _result = _meos_c.h3_cell_to_center_child_next_meos(cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_directed_edge_to_gs_boundary(long edge) { - var _result = _meos_c.h3_directed_edge_to_gs_boundary(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_vertex_to_gs_point(long vertex) { - var _result = _meos_c.h3_vertex_to_gs_point(vertex); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer h3_cell_to_local_ij_meos(long origin, long cell) { - var _result = _meos_c.h3_cell_to_local_ij_meos(origin, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long h3_local_ij_to_cell_meos(long origin, Pointer coord) { - var _result = _meos_c.h3_local_ij_to_cell_meos(origin, coord); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int h3_unit_from_cstring(String unit) { - var _result = _meos_c.h3_unit_from_cstring(unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_cell_area_meos(long cell, int unit) { - var _result = _meos_c.h3_cell_area_meos(cell, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_edge_length_meos(long edge, int unit) { - var _result = _meos_c.h3_edge_length_meos(edge, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double h3_gs_great_circle_distance_meos(Pointer a, Pointer b, int unit) { - var _result = _meos_c.h3_gs_great_circle_distance_meos(a, b, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_get_resolution(Pointer d) { - var _result = _meos_c.datum_h3_get_resolution(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_get_base_cell_number(Pointer d) { - var _result = _meos_c.datum_h3_get_base_cell_number(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_is_valid_cell(Pointer d) { - var _result = _meos_c.datum_h3_is_valid_cell(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_is_res_class_iii(Pointer d) { - var _result = _meos_c.datum_h3_is_res_class_iii(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_is_pentagon(Pointer d) { - var _result = _meos_c.datum_h3_is_pentagon(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_parent(Pointer cell_d, Pointer res_d) { - var _result = _meos_c.datum_h3_cell_to_parent(cell_d, res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_parent_next(Pointer cell_d) { - var _result = _meos_c.datum_h3_cell_to_parent_next(cell_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_center_child(Pointer cell_d, Pointer res_d) { - var _result = _meos_c.datum_h3_cell_to_center_child(cell_d, res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_center_child_next(Pointer cell_d) { - var _result = _meos_c.datum_h3_cell_to_center_child_next(cell_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_child_pos(Pointer cell_d, Pointer parent_res_d) { - var _result = _meos_c.datum_h3_cell_to_child_pos(cell_d, parent_res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_child_pos_to_cell(Pointer pos_d, Pointer parent_d, Pointer child_res_d) { - var _result = _meos_c.datum_h3_child_pos_to_cell(pos_d, parent_d, child_res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_are_neighbor_cells(Pointer origin_d, Pointer dest_d) { - var _result = _meos_c.datum_h3_are_neighbor_cells(origin_d, dest_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cells_to_directed_edge(Pointer origin_d, Pointer dest_d) { - var _result = _meos_c.datum_h3_cells_to_directed_edge(origin_d, dest_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_is_valid_directed_edge(Pointer d) { - var _result = _meos_c.datum_h3_is_valid_directed_edge(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_get_directed_edge_origin(Pointer d) { - var _result = _meos_c.datum_h3_get_directed_edge_origin(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_get_directed_edge_destination(Pointer d) { - var _result = _meos_c.datum_h3_get_directed_edge_destination(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_directed_edge_to_boundary(Pointer d) { - var _result = _meos_c.datum_h3_directed_edge_to_boundary(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_vertex(Pointer cell_d, Pointer vnum_d) { - var _result = _meos_c.datum_h3_cell_to_vertex(cell_d, vnum_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_vertex_to_latlng(Pointer d) { - var _result = _meos_c.datum_h3_vertex_to_latlng(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_is_valid_vertex(Pointer d) { - var _result = _meos_c.datum_h3_is_valid_vertex(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_grid_distance(Pointer origin_d, Pointer dest_d) { - var _result = _meos_c.datum_h3_grid_distance(origin_d, dest_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_local_ij(Pointer origin_d, Pointer cell_d) { - var _result = _meos_c.datum_h3_cell_to_local_ij(origin_d, cell_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_local_ij_to_cell(Pointer origin_d, Pointer coord_d) { - var _result = _meos_c.datum_h3_local_ij_to_cell(origin_d, coord_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_latlng_to_cell(Pointer point_d, Pointer res_d) { - var _result = _meos_c.datum_h3_latlng_to_cell(point_d, res_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_latlng(Pointer d) { - var _result = _meos_c.datum_h3_cell_to_latlng(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_to_boundary(Pointer d) { - var _result = _meos_c.datum_h3_cell_to_boundary(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_cell_area(Pointer cell_d, Pointer unit_d) { - var _result = _meos_c.datum_h3_cell_area(cell_d, unit_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_edge_length(Pointer edge_d, Pointer unit_d) { - var _result = _meos_c.datum_h3_edge_length(edge_d, unit_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_h3_great_circle_distance(Pointer a_d, Pointer b_d, Pointer unit_d) { - var _result = _meos_c.datum_h3_great_circle_distance(a_d, b_d, unit_d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_in(String str) { - var _result = _meos_c.json_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String json_out(Pointer js) { - var _result = _meos_c.json_out(js); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_from_text(Pointer txt, boolean unique_keys) { - var _result = _meos_c.jsonb_from_text(txt, unique_keys); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_in(String str) { - var _result = _meos_c.jsonb_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String jsonb_out(Pointer jb) { - var _result = _meos_c.jsonb_out(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_make(Pointer keys_vals, int count) { - var _result = _meos_c.json_make(keys_vals, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_make_two_arg(Pointer keys, Pointer values, int count) { - var _result = _meos_c.json_make_two_arg(keys, values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_copy(Pointer jb) { - var _result = _meos_c.jsonb_copy(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_make(Pointer keys_vals, int count) { - var _result = _meos_c.jsonb_make(keys_vals, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_make_two_arg(Pointer keys, Pointer values, int count) { - var _result = _meos_c.jsonb_make_two_arg(keys, values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_to_bool(Pointer jb) { - var _result = _meos_c.jsonb_to_bool(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String jsonb_to_cstring(Pointer jb) { - var _result = _meos_c.jsonb_to_cstring(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_to_float4(Pointer jb) { - var _result = _meos_c.jsonb_to_float4(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_to_float8(Pointer jb) { - var _result = _meos_c.jsonb_to_float8(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static short jsonb_to_int16(Pointer jb) { - var _result = _meos_c.jsonb_to_int16(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_to_int32(Pointer jb) { - var _result = _meos_c.jsonb_to_int32(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long jsonb_to_int64(Pointer jb) { - var _result = _meos_c.jsonb_to_int64(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_to_numeric(Pointer jb) { - var _result = _meos_c.jsonb_to_numeric(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_to_text(Pointer jb) { - var _result = _meos_c.jsonb_to_text(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_array_element(Pointer js, int element) { - var _result = _meos_c.json_array_element(js, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_array_element_text(Pointer js, int element) { - var _result = _meos_c.json_array_element_text(js, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_array_elements(Pointer js, Pointer count) { - var _result = _meos_c.json_array_elements(js, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_array_elements_text(Pointer js, Pointer count) { - var _result = _meos_c.json_array_elements_text(js, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int json_array_length(Pointer js) { - var _result = _meos_c.json_array_length(js); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_each(Pointer js, Pointer values, Pointer count) { - var _result = _meos_c.json_each(js, values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_each_text(Pointer js, Pointer values, Pointer count) { - var _result = _meos_c.json_each_text(js, values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_extract_path(Pointer js, Pointer path_elems, int path_len) { - var _result = _meos_c.json_extract_path(js, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_extract_path_text(Pointer js, Pointer path_elems, int path_len) { - var _result = _meos_c.json_extract_path_text(js, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_object_field(Pointer js, Pointer key) { - var _result = _meos_c.json_object_field(js, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_object_field_text(Pointer js, Pointer key) { - var _result = _meos_c.json_object_field_text(js, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_object_keys(Pointer js, Pointer count) { - var _result = _meos_c.json_object_keys(js, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_typeof(Pointer js) { - var _result = _meos_c.json_typeof(js); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_array_element(Pointer jb, int element) { - var _result = _meos_c.jsonb_array_element(jb, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_array_element_text(Pointer jb, int element) { - var _result = _meos_c.jsonb_array_element_text(jb, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_array_elements(Pointer jb, Pointer count) { - var _result = _meos_c.jsonb_array_elements(jb, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_array_elements_text(Pointer jb, Pointer count) { - var _result = _meos_c.jsonb_array_elements_text(jb, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_array_length(Pointer jb) { - var _result = _meos_c.jsonb_array_length(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_contained(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_contained(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_contains(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_contains(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_each(Pointer jb, Pointer values, Pointer count) { - var _result = _meos_c.jsonb_each(jb, values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_each_text(Pointer jb, Pointer values, Pointer count) { - var _result = _meos_c.jsonb_each_text(jb, values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_exists(Pointer jb, Pointer key) { - var _result = _meos_c.jsonb_exists(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_exists_array(Pointer jb, Pointer keys_elems, int keys_len, boolean any) { - var _result = _meos_c.jsonb_exists_array(jb, keys_elems, keys_len, any); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_extract_path(Pointer jb, Pointer path_elems, int path_len) { - var _result = _meos_c.jsonb_extract_path(jb, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_extract_path_text(Pointer jb, Pointer path_elems, int path_len) { - var _result = _meos_c.jsonb_extract_path_text(jb, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_hash(Pointer jb) { - var _result = _meos_c.jsonb_hash(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_hash_extended(Pointer jb, int seed) { - var _result = _meos_c.jsonb_hash_extended(jb, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_object_field(Pointer jb, Pointer key) { - var _result = _meos_c.jsonb_object_field(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_object_field_text(Pointer jb, Pointer key) { - var _result = _meos_c.jsonb_object_field_text(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_object_keys(Pointer jb, Pointer count) { - var _result = _meos_c.jsonb_object_keys(jb, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer json_strip_nulls(Pointer js, boolean strip_in_arrays) { - var _result = _meos_c.json_strip_nulls(js, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_concat(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_concat(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_delete(Pointer jb, Pointer key) { - var _result = _meos_c.jsonb_delete(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_delete_array(Pointer jb, Pointer keys_elems, int keys_len) { - var _result = _meos_c.jsonb_delete_array(jb, keys_elems, keys_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_delete_index(Pointer jb, int idx) { - var _result = _meos_c.jsonb_delete_index(jb, idx); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_delete_path(Pointer jb, Pointer path_elems, int path_len) { - var _result = _meos_c.jsonb_delete_path(jb, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_insert(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean after) { - var _result = _meos_c.jsonb_insert(jb, path_elems, path_len, newjb, after); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_pretty(Pointer jb) { - var _result = _meos_c.jsonb_pretty(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_set(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create) { - var _result = _meos_c.jsonb_set(jb, path_elems, path_len, newjb, create); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_set_lax(Pointer jb, Pointer path_elems, int path_len, Pointer newjb, boolean create, Pointer handle_null) { - var _result = _meos_c.jsonb_set_lax(jb, path_elems, path_len, newjb, create, handle_null); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_strip_nulls(Pointer jb, boolean strip_in_arrays) { - var _result = _meos_c.jsonb_strip_nulls(jb, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_cmp(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_cmp(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_eq(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_eq(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_ge(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_ge(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_gt(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_gt(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_le(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_le(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_lt(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_lt(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_ne(Pointer jb1, Pointer jb2) { - var _result = _meos_c.jsonb_ne(jb1, jb2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonb_path_exists(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonb_path_match(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_path_query_all(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonb_path_query_all(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonb_path_query_array(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonb_path_query_first(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonpath_in(String str) { - var _result = _meos_c.jsonpath_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonpath_copy(Pointer jp) { - var _result = _meos_c.jsonpath_copy(jp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String jsonpath_out(Pointer jp) { - var _result = _meos_c.jsonpath_out(jp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_in(String str) { - var _result = _meos_c.jsonbset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String jsonbset_out(Pointer s, int maxdd) { - var _result = _meos_c.jsonbset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_make(Pointer values, int count) { - var _result = _meos_c.jsonbset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_to_set(Pointer jb) { - var _result = _meos_c.jsonb_to_set(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_end_value(Pointer s) { - var _result = _meos_c.jsonbset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_start_value(Pointer s) { - var _result = _meos_c.jsonbset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.jsonbset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_values(Pointer s) { - var _result = _meos_c.jsonbset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer concat_jsonbset_jsonb(Pointer s, Pointer jb, boolean invert) { - var _result = _meos_c.concat_jsonbset_jsonb(s, jb, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_array_length(Pointer set) { - var _result = _meos_c.jsonbset_array_length(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_object_field(Pointer set, Pointer key, boolean astext, int null_handle) { - var _result = _meos_c.jsonbset_object_field(set, key, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_array_element(Pointer set, int idx, boolean astext, int null_handle) { - var _result = _meos_c.jsonbset_array_element(set, idx, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_delete_index(Pointer set, int idx) { - var _result = _meos_c.jsonbset_delete_index(set, idx); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_delete(Pointer set, Pointer key) { - var _result = _meos_c.jsonbset_delete(set, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_delete_array(Pointer set, Pointer keys, int count) { - var _result = _meos_c.jsonbset_delete_array(set, keys, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_exists(Pointer set, Pointer key) { - var _result = _meos_c.jsonbset_exists(set, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_exists_array(Pointer set, Pointer keys, int count, boolean any) { - var _result = _meos_c.jsonbset_exists_array(set, keys, count, any); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_set(Pointer set, Pointer keys, int count, Pointer newjb, boolean create, Pointer null_handle, boolean lax) { - var _result = _meos_c.jsonbset_set(set, keys, count, newjb, create, null_handle, lax); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_to_alphanumset(Pointer set, String key, int settype, int null_handle) { - var _result = _meos_c.jsonbset_to_alphanumset(set, key, settype, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_to_intset(Pointer set, String key, int null_handle) { - var _result = _meos_c.jsonbset_to_intset(set, key, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_to_floatset(Pointer set, String key, int null_handle) { - var _result = _meos_c.jsonbset_to_floatset(set, key, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_to_textset_key(Pointer set, String key, int null_handle) { - var _result = _meos_c.jsonbset_to_textset_key(set, key, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_strip_nulls(Pointer set, boolean strip_in_arrays) { - var _result = _meos_c.jsonbset_strip_nulls(set, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_pretty(Pointer set) { - var _result = _meos_c.jsonbset_pretty(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_delete_path(Pointer set, Pointer path_elems, int path_len) { - var _result = _meos_c.jsonbset_delete_path(set, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_extract_path(Pointer set, Pointer path_elems, int path_len, boolean astext, int null_handle) { - var _result = _meos_c.jsonbset_extract_path(set, path_elems, path_len, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_insert(Pointer set, Pointer path_elems, int path_len, Pointer newjb, boolean after) { - var _result = _meos_c.jsonbset_insert(set, path_elems, path_len, newjb, after); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_path_exists(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonbset_path_exists(set, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_path_match(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonbset_path_match(set, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_path_query_array(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonbset_path_query_array(set, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbset_path_query_first(Pointer set, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.jsonbset_path_query_first(set, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_jsonb_set(Pointer jb, Pointer s) { - var _result = _meos_c.contained_jsonb_set(jb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_jsonb(Pointer s, Pointer jb) { - var _result = _meos_c.contains_set_jsonb(s, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_jsonb_set(Pointer jb, Pointer s) { - var _result = _meos_c.intersection_jsonb_set(jb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_jsonb(Pointer s, Pointer jb) { - var _result = _meos_c.intersection_set_jsonb(s, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonb_union_transfn(Pointer state, Pointer jb) { - var _result = _meos_c.jsonb_union_transfn(state, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_jsonb_set(Pointer jb, Pointer s) { - var _result = _meos_c.minus_jsonb_set(jb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_jsonb(Pointer s, Pointer jb) { - var _result = _meos_c.minus_set_jsonb(s, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_jsonb_set(Pointer jb, Pointer s) { - var _result = _meos_c.union_jsonb_set(jb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_jsonb(Pointer s, Pointer jb) { - var _result = _meos_c.union_set_jsonb(s, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_from_mfjson(String str) { - var _result = _meos_c.tjsonb_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_in(String str) { - var _result = _meos_c.tjsonb_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tjsonb_out(Pointer temp) { - var _result = _meos_c.tjsonb_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbinst_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tjsonbinst_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbinst_in(String str) { - var _result = _meos_c.tjsonbinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseq_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tjsonbseq_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseq_in(String str, int interp) { - var _result = _meos_c.tjsonbseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseqset_from_mfjson(Pointer mfjson) { - var _result = _meos_c.tjsonbseqset_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseqset_in(String str) { - var _result = _meos_c.tjsonbseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_from_base_temp(Pointer jsonb, Pointer temp) { - var _result = _meos_c.tjsonb_from_base_temp(jsonb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbinst_make(Pointer jsonb, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tjsonbinst_make(jsonb, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseq_from_base_tstzset(Pointer jsonb, Pointer s) { - var _result = _meos_c.tjsonbseq_from_base_tstzset(jsonb, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseq_from_base_tstzspan(Pointer jsonb, Pointer sp) { - var _result = _meos_c.tjsonbseq_from_base_tstzspan(jsonb, sp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonbseqset_from_base_tstzspanset(Pointer jsonb, Pointer ss) { - var _result = _meos_c.tjsonbseqset_from_base_tstzspanset(jsonb, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_to_ttext(Pointer temp) { - var _result = _meos_c.tjsonb_to_ttext(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_to_tjsonb(Pointer temp) { - var _result = _meos_c.ttext_to_tjsonb(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_end_value(Pointer temp) { - var _result = _meos_c.tjsonb_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_start_value(Pointer temp) { - var _result = _meos_c.tjsonb_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tjsonb_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.tjsonb_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.tjsonb_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_values(Pointer temp, Pointer count) { - var _result = _meos_c.tjsonb_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer concat_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert) { - var _result = _meos_c.concat_tjsonb_jsonb(temp, jb, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer concat_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { - var _result = _meos_c.concat_tjsonb_tjsonb(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer contains_tjsonb_jsonb(Pointer temp, Pointer jb, boolean invert) { - var _result = _meos_c.contains_tjsonb_jsonb(temp, jb, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer contains_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { - var _result = _meos_c.contains_tjsonb_tjsonb(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int null_handle_type_from_string(String str) { - var _result = _meos_c.null_handle_type_from_string(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjson_array_element(Pointer temp, int idx, int null_handle) { - var _result = _meos_c.tjson_array_element(temp, idx, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjson_array_length(Pointer temp) { - var _result = _meos_c.tjson_array_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjson_extract_path(Pointer temp, Pointer path_elems, int path_len, int null_handle) { - var _result = _meos_c.tjson_extract_path(temp, path_elems, path_len, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjson_object_field(Pointer temp, Pointer key, boolean astext, int null_handle) { - var _result = _meos_c.tjson_object_field(temp, key, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjson_strip_nulls(Pointer temp, boolean strip_in_arrays) { - var _result = _meos_c.tjson_strip_nulls(temp, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_array_element(Pointer temp, int idx, boolean astext, int null_handle) { - var _result = _meos_c.tjsonb_array_element(temp, idx, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_array_length(Pointer temp) { - var _result = _meos_c.tjsonb_array_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_delete(Pointer temp, Pointer key) { - var _result = _meos_c.tjsonb_delete(temp, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_delete_array(Pointer temp, Pointer keys, int count) { - var _result = _meos_c.tjsonb_delete_array(temp, keys, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_delete_index(Pointer temp, int idx) { - var _result = _meos_c.tjsonb_delete_index(temp, idx); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_delete_path(Pointer temp, Pointer path_elems, int path_len) { - var _result = _meos_c.tjsonb_delete_path(temp, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_exists(Pointer temp, Pointer key) { - var _result = _meos_c.tjsonb_exists(temp, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_exists_array(Pointer temp, Pointer keys, int count, boolean any) { - var _result = _meos_c.tjsonb_exists_array(temp, keys, count, any); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_extract_path(Pointer temp, Pointer path_elems, int path_len, boolean astext, int null_handle) { - var _result = _meos_c.tjsonb_extract_path(temp, path_elems, path_len, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_insert(Pointer temp, Pointer keys, int count, Pointer newjb, boolean after) { - var _result = _meos_c.tjsonb_insert(temp, keys, count, newjb, after); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_object_field(Pointer temp, Pointer key, boolean astext, int null_handle) { - var _result = _meos_c.tjsonb_object_field(temp, key, astext, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_path_exists(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.tjsonb_path_exists(temp, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_path_match(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.tjsonb_path_match(temp, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_path_query_array(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.tjsonb_path_query_array(temp, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_path_query_first(Pointer temp, Pointer jp, Pointer vars, boolean silent, boolean tz) { - var _result = _meos_c.tjsonb_path_query_first(temp, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_pretty(Pointer temp) { - var _result = _meos_c.tjsonb_pretty(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_set(Pointer temp, Pointer keys, int count, Pointer newjb, boolean create, Pointer handle_null, boolean lax) { - var _result = _meos_c.tjsonb_set(temp, keys, count, newjb, create, handle_null, lax); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_strip_nulls(Pointer temp, boolean strip_in_arrays) { - var _result = _meos_c.tjsonb_strip_nulls(temp, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_to_tbool(Pointer temp, String key, int null_handle) { - var _result = _meos_c.tjsonb_to_tbool(temp, key, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_to_tfloat(Pointer temp, String key, int interp, int null_handle) { - var _result = _meos_c.tjsonb_to_tfloat(temp, key, interp, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_to_tint(Pointer temp, String key, int null_handle) { - var _result = _meos_c.tjsonb_to_tint(temp, key, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_to_ttext_key(Pointer temp, String key, int null_handle) { - var _result = _meos_c.tjsonb_to_ttext_key(temp, key, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_at_value(Pointer temp, Pointer jsb) { - var _result = _meos_c.tjsonb_at_value(temp, jsb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_minus_value(Pointer temp, Pointer jsb) { - var _result = _meos_c.tjsonb_minus_value(temp, jsb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_jsonb_tjsonb(Pointer jb, Pointer temp) { - var _result = _meos_c.always_eq_jsonb_tjsonb(jb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tjsonb_jsonb(Pointer temp, Pointer jb) { - var _result = _meos_c.always_eq_tjsonb_jsonb(temp, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_eq_tjsonb_tjsonb(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_jsonb_tjsonb(Pointer jb, Pointer temp) { - var _result = _meos_c.always_ne_jsonb_tjsonb(jb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tjsonb_jsonb(Pointer temp, Pointer jb) { - var _result = _meos_c.always_ne_tjsonb_jsonb(temp, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ne_tjsonb_tjsonb(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_jsonb_tjsonb(Pointer jb, Pointer temp) { - var _result = _meos_c.ever_eq_jsonb_tjsonb(jb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tjsonb_jsonb(Pointer temp, Pointer jb) { - var _result = _meos_c.ever_eq_tjsonb_jsonb(temp, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_eq_tjsonb_tjsonb(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_jsonb_tjsonb(Pointer jb, Pointer temp) { - var _result = _meos_c.ever_ne_jsonb_tjsonb(jb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tjsonb_jsonb(Pointer temp, Pointer jb) { - var _result = _meos_c.ever_ne_tjsonb_jsonb(temp, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tjsonb_tjsonb(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ne_tjsonb_tjsonb(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_jsonb_tjsonb(Pointer jb, Pointer temp) { - var _result = _meos_c.teq_jsonb_tjsonb(jb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tjsonb_jsonb(Pointer temp, Pointer jb) { - var _result = _meos_c.teq_tjsonb_jsonb(temp, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_jsonb_tjsonb(Pointer jb, Pointer temp) { - var _result = _meos_c.tne_jsonb_tjsonb(jb, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tjsonb_jsonb(Pointer temp, Pointer jb) { - var _result = _meos_c.tne_tjsonb_jsonb(temp, jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer setPath(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int op_type) { - var _result = _meos_c.setPath(it, path_elems, path_nulls, path_len, st, level, newval, op_type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void setPathObject(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int npairs, int op_type) { - _meos_c.setPathObject(it, path_elems, path_nulls, path_len, st, level, newval, npairs, op_type); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void setPathArray(Pointer it, Pointer path_elems, Pointer path_nulls, int path_len, Pointer st, int level, Pointer newval, int nelems, int op_type) { - _meos_c.setPathArray(it, path_elems, path_nulls, path_len, st, level, newval, nelems, op_type); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_concat(Pointer l, Pointer r) { - var _result = _meos_c.datum_jsonb_concat(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_contained(Pointer l, Pointer r) { - var _result = _meos_c.datum_jsonb_contained(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_contains(Pointer l, Pointer r) { - var _result = _meos_c.datum_jsonb_contains(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_delete(Pointer jb, Pointer key) { - var _result = _meos_c.datum_jsonb_delete(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_delete_array(Pointer jb, Pointer array, Pointer count) { - var _result = _meos_c.datum_jsonb_delete_array(jb, array, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_delete_index(Pointer jb, Pointer idx) { - var _result = _meos_c.datum_jsonb_delete_index(jb, idx); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_array_element(Pointer txt, Pointer element) { - var _result = _meos_c.datum_json_array_element(txt, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_array_element(Pointer jb, Pointer element) { - var _result = _meos_c.datum_jsonb_array_element(jb, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_array_element_text(Pointer txt, Pointer element) { - var _result = _meos_c.datum_json_array_element_text(txt, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_array_element_text(Pointer jb, Pointer element) { - var _result = _meos_c.datum_jsonb_array_element_text(jb, element); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_exists(Pointer l, Pointer r) { - var _result = _meos_c.datum_jsonb_exists(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_exists_array(Pointer value, Pointer array, Pointer count, Pointer any) { - var _result = _meos_c.datum_jsonb_exists_array(value, array, count, any); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_array_length(Pointer txt) { - var _result = _meos_c.datum_json_array_length(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_array_length(Pointer txt) { - var _result = _meos_c.datum_jsonb_array_length(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_object_field(Pointer txt, Pointer key) { - var _result = _meos_c.datum_json_object_field(txt, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_object_field(Pointer jb, Pointer key) { - var _result = _meos_c.datum_jsonb_object_field(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_object_field_text(Pointer txt, Pointer key) { - var _result = _meos_c.datum_json_object_field_text(txt, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_object_field_text(Pointer jb, Pointer key) { - var _result = _meos_c.datum_jsonb_object_field_text(jb, key); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_strip_nulls(Pointer txt, Pointer strip_in_arrays) { - var _result = _meos_c.datum_json_strip_nulls(txt, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_strip_nulls(Pointer jb, Pointer strip_in_arrays) { - var _result = _meos_c.datum_jsonb_strip_nulls(jb, strip_in_arrays); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_pretty(Pointer jb) { - var _result = _meos_c.datum_jsonb_pretty(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_extract_path(Pointer txt, Pointer path_elems, Pointer path_len) { - var _result = _meos_c.datum_json_extract_path(txt, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_extract_path(Pointer jb, Pointer path_elems, Pointer path_len) { - var _result = _meos_c.datum_jsonb_extract_path(jb, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_json_extract_path_text(Pointer txt, Pointer path_elems, Pointer path_len) { - var _result = _meos_c.datum_json_extract_path_text(txt, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_extract_path_text(Pointer jb, Pointer path_elems, Pointer path_len) { - var _result = _meos_c.datum_jsonb_extract_path_text(jb, path_elems, path_len); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_set(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create) { - var _result = _meos_c.datum_jsonb_set(jb, keys, count, newjb, create); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_set_lax(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer create, Pointer null_handle) { - var _result = _meos_c.datum_jsonb_set_lax(jb, keys, count, newjb, create, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_delete_path(Pointer jb, Pointer keys, Pointer count) { - var _result = _meos_c.datum_jsonb_delete_path(jb, keys, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_insert(Pointer jb, Pointer keys, Pointer count, Pointer newjb, Pointer after) { - var _result = _meos_c.datum_jsonb_insert(jb, keys, count, newjb, after); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_path_exists(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { - var _result = _meos_c.datum_jsonb_path_exists(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_path_match(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { - var _result = _meos_c.datum_jsonb_path_match(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_path_query_array(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { - var _result = _meos_c.datum_jsonb_path_query_array(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_path_query_first(Pointer jb, Pointer jp, Pointer vars, Pointer silent, Pointer tz) { - var _result = _meos_c.datum_jsonb_path_query_first(jb, jp, vars, silent, tz); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_to_text(Pointer jb) { - var _result = _meos_c.datum_jsonb_to_text(jb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_text_to_jsonb(Pointer txt) { - var _result = _meos_c.datum_text_to_jsonb(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_jsonb_to_alphanum(Pointer jb, Pointer key, Pointer temptype, Pointer null_handle) { - var _result = _meos_c.datum_jsonb_to_alphanum(jb, key, temptype, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tjsonb_to_talphanum(Pointer temp, String key, int resbasetype, int interp, int null_handle) { - var _result = _meos_c.tjsonb_to_talphanum(temp, key, resbasetype, interp, null_handle); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbfunc_jsonbset(Pointer s, int func, int intype, int restype) { - var _result = _meos_c.jsonbfunc_jsonbset(s, func, intype, restype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbfunc_jsonbset_jsonb(Pointer s, Pointer jb, Pointer func, boolean invert) { - var _result = _meos_c.jsonbfunc_jsonbset_jsonb(s, jb, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer jsonbfunc_jsonbset_text(Pointer s, Pointer txt, Pointer func) { - var _result = _meos_c.jsonbfunc_jsonbset_text(s, txt, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_in(String str) { - var _result = _meos_c.th3index_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexinst_in(String str) { - var _result = _meos_c.th3indexinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseq_in(String str, int interp) { - var _result = _meos_c.th3indexseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseqset_in(String str) { - var _result = _meos_c.th3indexseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_make(long value, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.th3index_make(value, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexinst_make(long value, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_c.th3indexinst_make(value, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseq_make(Pointer values, Pointer times, int count, boolean lower_inc, boolean upper_inc) { - var _result = _meos_c.th3indexseq_make(values, times, count, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3indexseqset_make(Pointer sequences, int count) { - var _result = _meos_c.th3indexseqset_make(sequences, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long th3index_start_value(Pointer temp) { - var _result = _meos_c.th3index_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long th3index_end_value(Pointer temp) { - var _result = _meos_c.th3index_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.th3index_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer th3index_values(Pointer temp, Pointer count) { - var _result = _meos_c.th3index_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_c.th3index_value_at_timestamptz(temp, t_new, strict, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbigint_to_th3index(Pointer temp) { - var _result = _meos_c.tbigint_to_th3index(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_to_tbigint(Pointer temp) { - var _result = _meos_c.th3index_to_tbigint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.ever_eq_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.ever_eq_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.ever_ne_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.ever_ne_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.always_eq_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.always_eq_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.always_ne_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.always_ne_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_eq_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.ever_ne_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_eq_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.always_ne_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.teq_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.teq_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.teq_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_h3index_th3index(long cell, Pointer temp) { - var _result = _meos_c.tne_h3index_th3index(cell, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_th3index_h3index(Pointer temp, long cell) { - var _result = _meos_c.tne_th3index_h3index(temp, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_th3index_th3index(Pointer temp1, Pointer temp2) { - var _result = _meos_c.tne_th3index_th3index(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_resolution(Pointer temp) { - var _result = _meos_c.th3index_get_resolution(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_base_cell_number(Pointer temp) { - var _result = _meos_c.th3index_get_base_cell_number(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_valid_cell(Pointer temp) { - var _result = _meos_c.th3index_is_valid_cell(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_res_class_iii(Pointer temp) { - var _result = _meos_c.th3index_is_res_class_iii(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_pentagon(Pointer temp) { - var _result = _meos_c.th3index_is_pentagon(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_parent(Pointer temp, int resolution) { - var _result = _meos_c.th3index_cell_to_parent(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_parent_next(Pointer temp) { - var _result = _meos_c.th3index_cell_to_parent_next(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_center_child(Pointer temp, int resolution) { - var _result = _meos_c.th3index_cell_to_center_child(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_center_child_next(Pointer temp) { - var _result = _meos_c.th3index_cell_to_center_child_next(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_child_pos(Pointer temp, int parent_res) { - var _result = _meos_c.th3index_cell_to_child_pos(temp, parent_res); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_child_pos_to_cell(Pointer child_pos, Pointer parent, int child_res) { - var _result = _meos_c.th3index_child_pos_to_cell(child_pos, parent, child_res); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_to_th3index(Pointer temp, int resolution) { - var _result = _meos_c.tgeogpoint_to_th3index(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_th3index(Pointer temp, int resolution) { - var _result = _meos_c.tgeompoint_to_th3index(temp, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_to_tgeogpoint(Pointer temp) { - var _result = _meos_c.th3index_to_tgeogpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_to_tgeompoint(Pointer temp) { - var _result = _meos_c.th3index_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_boundary(Pointer temp) { - var _result = _meos_c.th3index_cell_to_boundary(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_h3index_set(Pointer gs, int resolution) { - var _result = _meos_c.geo_to_h3index_set(gs, resolution); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_h3indexset_th3index(Pointer cells, Pointer th3idx) { - var _result = _meos_c.ever_eq_h3indexset_th3index(cells, th3idx); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_are_neighbor_cells(Pointer origin, Pointer dest) { - var _result = _meos_c.th3index_are_neighbor_cells(origin, dest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cells_to_directed_edge(Pointer origin, Pointer dest) { - var _result = _meos_c.th3index_cells_to_directed_edge(origin, dest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_valid_directed_edge(Pointer edge) { - var _result = _meos_c.th3index_is_valid_directed_edge(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_directed_edge_origin(Pointer edge) { - var _result = _meos_c.th3index_get_directed_edge_origin(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_get_directed_edge_destination(Pointer edge) { - var _result = _meos_c.th3index_get_directed_edge_destination(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_directed_edge_to_boundary(Pointer edge) { - var _result = _meos_c.th3index_directed_edge_to_boundary(edge); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_vertex(Pointer temp, int vertex_num) { - var _result = _meos_c.th3index_cell_to_vertex(temp, vertex_num); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_vertex_to_latlng(Pointer temp) { - var _result = _meos_c.th3index_vertex_to_latlng(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_is_valid_vertex(Pointer temp) { - var _result = _meos_c.th3index_is_valid_vertex(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_grid_distance(Pointer origin, Pointer dest) { - var _result = _meos_c.th3index_grid_distance(origin, dest); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_to_local_ij(Pointer origin, Pointer cell) { - var _result = _meos_c.th3index_cell_to_local_ij(origin, cell); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_local_ij_to_cell(Pointer origin, Pointer coord) { - var _result = _meos_c.th3index_local_ij_to_cell(origin, coord); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_cell_area(Pointer temp, String unit) { - var _result = _meos_c.th3index_cell_area(temp, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer th3index_edge_length(Pointer temp, String unit) { - var _result = _meos_c.th3index_edge_length(temp, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_great_circle_distance(Pointer a, Pointer b, String unit) { - var _result = _meos_c.tgeogpoint_great_circle_distance(a, b, unit); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer proj_get_context() { - var _result = _meos_c.proj_get_context(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geos_get_context() { - var _result = _meos_c.geos_get_context(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_geo_round(Pointer value, Pointer size) { - var _result = _meos_c.datum_geo_round(value, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer point_round(Pointer gs, int maxdd) { - var _result = _meos_c.point_round(gs, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void stbox_set(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s, Pointer result) { - _meos_c.stbox_set(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void gbox_set_stbox(Pointer box, int srid, Pointer result) { - _meos_c.gbox_set_stbox(box, srid, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer geo_set_stbox(Pointer gs) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.geo_set_stbox(gs, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static void geoarr_set_stbox(Pointer values, int count, Pointer result) { - _meos_c.geoarr_set_stbox(values, count, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer spatial_set_stbox(Pointer d, int basetype) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.spatial_set_stbox(d, basetype, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static void spatialset_set_stbox(Pointer set, Pointer result) { - _meos_c.spatialset_set_stbox(set, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stbox_set_box3d(Pointer box, Pointer result) { - _meos_c.stbox_set_box3d(box, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stbox_set_gbox(Pointer box, Pointer result) { - _meos_c.stbox_set_gbox(box, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzset_set_stbox(Pointer s, Pointer result) { - _meos_c.tstzset_set_stbox(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspan_set_stbox(Pointer s, Pointer result) { - _meos_c.tstzspan_set_stbox(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspanset_set_stbox(Pointer s, Pointer result) { - _meos_c.tstzspanset_set_stbox(s, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void stbox_expand(Pointer box1, Pointer box2) { - _meos_c.stbox_expand(box1, box2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer inter_stbox_stbox(Pointer box1, Pointer box2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_c.inter_stbox_stbox(box1, box2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_c.tgeogpointinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointinst_in(String str) { - var _result = _meos_c.tgeogpointinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeogpointseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseq_in(String str, int interp) { - var _result = _meos_c.tgeogpointseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeogpointseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpointseqset_in(String str) { - var _result = _meos_c.tgeogpointseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_c.tgeompointinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointinst_in(String str) { - var _result = _meos_c.tgeompointinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeompointseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseq_in(String str, int interp) { - var _result = _meos_c.tgeompointseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeompointseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseqset_in(String str) { - var _result = _meos_c.tgeompointseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_c.tgeographyinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyinst_in(String str) { - var _result = _meos_c.tgeographyinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeographyseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseq_in(String str, int interp) { - var _result = _meos_c.tgeographyseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeographyseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeographyseqset_in(String str) { - var _result = _meos_c.tgeographyseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryinst_from_mfjson(Pointer mfjson, int srid) { - var _result = _meos_c.tgeometryinst_from_mfjson(mfjson, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryinst_in(String str) { - var _result = _meos_c.tgeometryinst_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseq_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeometryseq_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseq_in(String str, int interp) { - var _result = _meos_c.tgeometryseq_in(str, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseqset_from_mfjson(Pointer mfjson, int srid, int interp) { - var _result = _meos_c.tgeometryseqset_from_mfjson(mfjson, srid, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometryseqset_in(String str) { - var _result = _meos_c.tgeometryseqset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatial_set_stbox(Pointer temp, Pointer result) { - _meos_c.tspatial_set_stbox(temp, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialseq_set_stbox(Pointer seq, Pointer box) { - _meos_c.tspatialseq_set_stbox(seq, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tspatialseqset_set_stbox(Pointer ss, Pointer box) { - _meos_c.tspatialseqset_set_stbox(ss, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tgeo_restrict_elevation(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_c.tgeo_restrict_elevation(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { - var _result = _meos_c.tgeo_restrict_geom(temp, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_c.tgeo_restrict_stbox(temp, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_restrict_geom(Pointer inst, Pointer gs, boolean atfunc) { - var _result = _meos_c.tgeoinst_restrict_geom(inst, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_restrict_stbox(Pointer inst, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_c.tgeoinst_restrict_stbox(inst, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_restrict_geom(Pointer seq, Pointer gs, boolean atfunc) { - var _result = _meos_c.tgeoseq_restrict_geom(seq, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_restrict_stbox(Pointer seq, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_c.tgeoseq_restrict_stbox(seq, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_restrict_geom(Pointer ss, Pointer gs, boolean atfunc) { - var _result = _meos_c.tgeoseqset_restrict_geom(ss, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_restrict_stbox(Pointer ss, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_c.tgeoseqset_restrict_stbox(ss, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatial_srid(Pointer d, int basetype) { - var _result = _meos_c.spatial_srid(d, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spatial_set_srid(Pointer d, int basetype, int srid) { - var _result = _meos_c.spatial_set_srid(d, basetype, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tspatialinst_srid(Pointer inst) { - var _result = _meos_c.tspatialinst_srid(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_azimuth(Pointer seq) { - var _result = _meos_c.tpointseq_azimuth(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_cumulative_length(Pointer seq, double prevlength) { - var _result = _meos_c.tpointseq_cumulative_length(seq, prevlength); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpointseq_is_simple(Pointer seq) { - var _result = _meos_d.tpointseq_is_simple(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpointseq_length(Pointer seq) { - var _result = _meos_d.tpointseq_length(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_linear_trajectory(Pointer seq, boolean unary_union) { - var _result = _meos_d.tpointseq_linear_trajectory(seq, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_stboxes(Pointer seq, Pointer count) { - var _result = _meos_d.tgeoseq_stboxes(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_split_n_stboxes(Pointer seq, int max_count, Pointer count) { - var _result = _meos_d.tgeoseq_split_n_stboxes(seq, max_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_azimuth(Pointer ss) { - var _result = _meos_d.tpointseqset_azimuth(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_cumulative_length(Pointer ss) { - var _result = _meos_d.tpointseqset_cumulative_length(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpointseqset_is_simple(Pointer ss) { - var _result = _meos_d.tpointseqset_is_simple(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpointseqset_length(Pointer ss) { - var _result = _meos_d.tpointseqset_length(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_stboxes(Pointer ss, Pointer count) { - var _result = _meos_d.tgeoseqset_stboxes(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_split_n_stboxes(Pointer ss, int max_count, Pointer count) { - var _result = _meos_d.tgeoseqset_split_n_stboxes(ss, max_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeominst_tgeoginst(Pointer inst, boolean oper) { - var _result = _meos_d.tgeominst_tgeoginst(inst, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeomseq_tgeogseq(Pointer seq, boolean oper) { - var _result = _meos_d.tgeomseq_tgeogseq(seq, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeomseqset_tgeogseqset(Pointer ss, boolean oper) { - var _result = _meos_d.tgeomseqset_tgeogseqset(ss, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeom_tgeog(Pointer temp, boolean oper) { - var _result = _meos_d.tgeom_tgeog(temp, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_tpoint(Pointer temp, boolean oper) { - var _result = _meos_d.tgeo_tpoint(temp, oper); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatialinst_set_srid(Pointer inst, int srid) { - _meos_d.tspatialinst_set_srid(inst, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_make_simple(Pointer seq, Pointer count) { - var _result = _meos_d.tpointseq_make_simple(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatialseq_set_srid(Pointer seq, int srid) { - _meos_d.tspatialseq_set_srid(seq, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_make_simple(Pointer ss, Pointer count) { - var _result = _meos_d.tpointseqset_make_simple(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tspatialseqset_set_srid(Pointer ss, int srid) { - _meos_d.tspatialseqset_set_srid(ss, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_twcentroid(Pointer seq) { - var _result = _meos_d.tpointseq_twcentroid(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_twcentroid(Pointer ss) { - var _result = _meos_d.tpointseqset_twcentroid(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_as_ewkt(Pointer np, int maxdd) { - var _result = _meos_d.npoint_as_ewkt(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_as_hexwkb(Pointer np, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.npoint_as_hexwkb(np, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_as_text(Pointer np, int maxdd) { - var _result = _meos_d.npoint_as_text(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_as_wkb(Pointer np, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.npoint_as_wkb(np, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_from_hexwkb(String hexwkb) { - var _result = _meos_d.npoint_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_from_wkb(Pointer wkb, long size) { - var _result = _meos_d.npoint_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_in(String str) { - var _result = _meos_d.npoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_out(Pointer np, int maxdd) { - var _result = _meos_d.npoint_out(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_in(String str) { - var _result = _meos_d.nsegment_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String nsegment_out(Pointer ns, int maxdd) { - var _result = _meos_d.nsegment_out(ns, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_make(long rid, double pos) { - var _result = _meos_d.npoint_make(rid, pos); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_make(long rid, double pos1, double pos2) { - var _result = _meos_d.nsegment_make(rid, pos1, pos2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_to_npoint(Pointer gs) { - var _result = _meos_d.geompoint_to_npoint(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_nsegment(Pointer gs) { - var _result = _meos_d.geom_to_nsegment(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_geompoint(Pointer np) { - var _result = _meos_d.npoint_to_geompoint(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_nsegment(Pointer np) { - var _result = _meos_d.npoint_to_nsegment(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_stbox(Pointer np) { - var _result = _meos_d.npoint_to_stbox(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_to_geom(Pointer ns) { - var _result = _meos_d.nsegment_to_geom(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_to_stbox(Pointer ns) { - var _result = _meos_d.nsegment_to_stbox(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_hash(Pointer np) { - var _result = _meos_d.npoint_hash(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_hash_extended(Pointer np, int seed) { - var _result = _meos_d.npoint_hash_extended(np, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double npoint_position(Pointer np) { - var _result = _meos_d.npoint_position(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long npoint_route(Pointer np) { - var _result = _meos_d.npoint_route(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nsegment_end_position(Pointer ns) { - var _result = _meos_d.nsegment_end_position(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long nsegment_route(Pointer ns) { - var _result = _meos_d.nsegment_route(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nsegment_start_position(Pointer ns) { - var _result = _meos_d.nsegment_start_position(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean route_exists(long rid) { - var _result = _meos_d.route_exists(rid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer route_geom(long rid) { - var _result = _meos_d.route_geom(rid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double route_length(long rid) { - var _result = _meos_d.route_length(rid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_round(Pointer np, int maxdd) { - var _result = _meos_d.npoint_round(np, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_round(Pointer ns, int maxdd) { - var _result = _meos_d.nsegment_round(ns, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int get_srid_ways() { - var _result = _meos_d.get_srid_ways(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_srid(Pointer np) { - var _result = _meos_d.npoint_srid(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nsegment_srid(Pointer ns) { - var _result = _meos_d.nsegment_srid(ns); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_timestamptz_to_stbox(Pointer np, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.npoint_timestamptz_to_stbox(np, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_tstzspan_to_stbox(Pointer np, Pointer s) { - var _result = _meos_d.npoint_tstzspan_to_stbox(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int npoint_cmp(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_cmp(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_eq(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_eq(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_ge(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_ge(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_gt(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_gt(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_le(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_le(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_lt(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_lt(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_ne(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_ne(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_same(Pointer np1, Pointer np2) { - var _result = _meos_d.npoint_same(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nsegment_cmp(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_cmp(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_eq(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_eq(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_ge(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_ge(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_gt(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_gt(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_le(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_le(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_lt(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_lt(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean nsegment_ne(Pointer ns1, Pointer ns2) { - var _result = _meos_d.nsegment_ne(ns1, ns2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_in(String str) { - var _result = _meos_d.npointset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npointset_out(Pointer s, int maxdd) { - var _result = _meos_d.npointset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_make(Pointer values, int count) { - var _result = _meos_d.npointset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_to_set(Pointer np) { - var _result = _meos_d.npoint_to_set(np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_end_value(Pointer s) { - var _result = _meos_d.npointset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_routes(Pointer s) { - var _result = _meos_d.npointset_routes(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_start_value(Pointer s) { - var _result = _meos_d.npointset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.npointset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer npointset_values(Pointer s, Pointer count) { - var _result = _meos_d.npointset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.contained_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.contains_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.intersection_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.intersection_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.minus_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.minus_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_union_transfn(Pointer state, Pointer np) { - var _result = _meos_d.npoint_union_transfn(state, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_npoint_set(Pointer np, Pointer s) { - var _result = _meos_d.union_npoint_set(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_npoint(Pointer s, Pointer np) { - var _result = _meos_d.union_set_npoint(s, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_in(String str) { - var _result = _meos_d.tnpoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_from_mfjson(String mfjson) { - var _result = _meos_d.tnpoint_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tnpoint_out(Pointer temp, int maxdd) { - var _result = _meos_d.tnpoint_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointinst_make(Pointer np, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tnpointinst_make(np, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_from_base_temp(Pointer np, Pointer temp) { - var _result = _meos_d.tnpoint_from_base_temp(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_from_base_tstzset(Pointer np, Pointer s) { - var _result = _meos_d.tnpointseq_from_base_tstzset(np, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_from_base_tstzspan(Pointer np, Pointer s, int interp) { - var _result = _meos_d.tnpointseq_from_base_tstzspan(np, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseqset_from_base_tstzspanset(Pointer np, Pointer ss, int interp) { - var _result = _meos_d.tnpointseqset_from_base_tstzspanset(np, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_tnpoint(Pointer temp) { - var _result = _meos_d.tgeompoint_to_tnpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_to_tgeompoint(Pointer temp) { - var _result = _meos_d.tnpoint_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_cumulative_length(Pointer temp) { - var _result = _meos_d.tnpoint_cumulative_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_end_value(Pointer temp) { - var _result = _meos_d.tnpoint_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnpoint_length(Pointer temp) { - var _result = _meos_d.tnpoint_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_positions(Pointer temp, Pointer count) { - var _result = _meos_d.tnpoint_positions(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tnpoint_route(Pointer temp) { - var _result = _meos_d.tnpoint_route(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_routes(Pointer temp) { - var _result = _meos_d.tnpoint_routes(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_speed(Pointer temp) { - var _result = _meos_d.tnpoint_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_start_value(Pointer temp) { - var _result = _meos_d.tnpoint_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_trajectory(Pointer temp) { - var _result = _meos_d.tnpoint_trajectory(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.tnpoint_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tnpoint_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_values(Pointer temp, Pointer count) { - var _result = _meos_d.tnpoint_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_twcentroid(Pointer temp) { - var _result = _meos_d.tnpoint_twcentroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tnpoint_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tnpoint_at_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_npointset(Pointer temp, Pointer s) { - var _result = _meos_d.tnpoint_at_npointset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tnpoint_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tnpoint_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tnpoint_minus_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_npointset(Pointer temp, Pointer s) { - var _result = _meos_d.tnpoint_minus_npointset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tnpoint_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tdistance_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.nad_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tnpoint_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.nai_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.shortestline_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_tcentroid_transfn(Pointer state, Pointer temp) { - var _result = _meos_d.tnpoint_tcentroid_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.always_eq_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.always_eq_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.always_ne_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.always_ne_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.ever_eq_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.ever_eq_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_npoint_tnpoint(Pointer np, Pointer temp) { - var _result = _meos_d.ever_ne_npoint_tnpoint(np, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.ever_ne_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.teq_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.tne_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_hex_in(String str) { - var _result = _meos_d.pcpoint_hex_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pcpoint_hex_out(Pointer pt, int maxdd) { - var _result = _meos_d.pcpoint_hex_out(pt, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_from_hexwkb(String hexwkb) { - var _result = _meos_d.pcpoint_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pcpoint_as_hexwkb(Pointer pt) { - var _result = _meos_d.pcpoint_as_hexwkb(pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_copy(Pointer pt) { - var _result = _meos_d.pcpoint_copy(pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpoint_get_pcid(Pointer pt) { - var _result = _meos_d.pcpoint_get_pcid(pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpoint_hash(Pointer pt) { - var _result = _meos_d.pcpoint_hash(pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpoint_hash_extended(Pointer pt, int seed) { - var _result = _meos_d.pcpoint_hash_extended(pt, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_get_x(Pointer pt, Pointer schema, Pointer out) { - var _result = _meos_d.pcpoint_get_x(pt, schema, out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_get_y(Pointer pt, Pointer schema, Pointer out) { - var _result = _meos_d.pcpoint_get_y(pt, schema, out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_get_z(Pointer pt, Pointer schema, Pointer out) { - var _result = _meos_d.pcpoint_get_z(pt, schema, out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_get_dim(Pointer pt, Pointer schema, String name, Pointer out) { - var _result = _meos_d.pcpoint_get_dim(pt, schema, name, out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_to_tpcbox(Pointer pt, Pointer schema) { - var _result = _meos_d.pcpoint_to_tpcbox(pt, schema); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_pc_schema(int pcid) { - var _result = _meos_d.meos_pc_schema(pcid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_pc_schema_register(int pcid, Pointer schema) { - _meos_d.meos_pc_schema_register(pcid, schema); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_pc_schema_register_xml(int pcid, Pointer schema, String xml_text) { - _meos_d.meos_pc_schema_register_xml(pcid, schema, xml_text); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static String meos_pc_schema_xml(int pcid) { - var _result = _meos_d.meos_pc_schema_xml(pcid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_pc_schema_clear() { - _meos_d.meos_pc_schema_clear(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int pcpoint_cmp(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_cmp(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_eq(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_eq(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_ne(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_ne(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_lt(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_lt(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_le(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_le(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_gt(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_gt(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_ge(Pointer pt1, Pointer pt2) { - var _result = _meos_d.pcpoint_ge(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_hex_in(String str) { - var _result = _meos_d.pcpatch_hex_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pcpatch_hex_out(Pointer pa, int maxdd) { - var _result = _meos_d.pcpatch_hex_out(pa, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_from_hexwkb(String hexwkb) { - var _result = _meos_d.pcpatch_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pcpatch_as_hexwkb(Pointer pa) { - var _result = _meos_d.pcpatch_as_hexwkb(pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_copy(Pointer pa) { - var _result = _meos_d.pcpatch_copy(pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpatch_get_pcid(Pointer pa) { - var _result = _meos_d.pcpatch_get_pcid(pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpatch_npoints(Pointer pa) { - var _result = _meos_d.pcpatch_npoints(pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpatch_hash(Pointer pa) { - var _result = _meos_d.pcpatch_hash(pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpatch_hash_extended(Pointer pa, int seed) { - var _result = _meos_d.pcpatch_hash_extended(pa, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pcpatch_cmp(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_cmp(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_eq(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_eq(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_ne(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_ne(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_lt(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_lt(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_le(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_le(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_gt(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_gt(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_ge(Pointer pa1, Pointer pa2) { - var _result = _meos_d.pcpatch_ge(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpointset_in(String str) { - var _result = _meos_d.pcpointset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pcpointset_out(Pointer s, int maxdd) { - var _result = _meos_d.pcpointset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpointset_make(Pointer values, int count) { - var _result = _meos_d.pcpointset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_to_set(Pointer pt) { - var _result = _meos_d.pcpoint_to_set(pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpointset_start_value(Pointer s) { - var _result = _meos_d.pcpointset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpointset_end_value(Pointer s) { - var _result = _meos_d.pcpointset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpointset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.pcpointset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer pcpointset_values(Pointer s) { - var _result = _meos_d.pcpointset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_pcpoint(Pointer s, Pointer pt) { - var _result = _meos_d.contains_set_pcpoint(s, pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_pcpoint_set(Pointer pt, Pointer s) { - var _result = _meos_d.contained_pcpoint_set(pt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_pcpoint_set(Pointer pt, Pointer s) { - var _result = _meos_d.intersection_pcpoint_set(pt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_pcpoint(Pointer s, Pointer pt) { - var _result = _meos_d.intersection_set_pcpoint(s, pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_pcpoint_set(Pointer pt, Pointer s) { - var _result = _meos_d.minus_pcpoint_set(pt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_pcpoint(Pointer s, Pointer pt) { - var _result = _meos_d.minus_set_pcpoint(s, pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_pcpoint_set(Pointer pt, Pointer s) { - var _result = _meos_d.union_pcpoint_set(pt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_pcpoint(Pointer s, Pointer pt) { - var _result = _meos_d.union_set_pcpoint(s, pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_union_transfn(Pointer state, Pointer pt) { - var _result = _meos_d.pcpoint_union_transfn(state, pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatchset_in(String str) { - var _result = _meos_d.pcpatchset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pcpatchset_out(Pointer s, int maxdd) { - var _result = _meos_d.pcpatchset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatchset_make(Pointer values, int count) { - var _result = _meos_d.pcpatchset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_to_set(Pointer pa) { - var _result = _meos_d.pcpatch_to_set(pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatchset_start_value(Pointer s) { - var _result = _meos_d.pcpatchset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatchset_end_value(Pointer s) { - var _result = _meos_d.pcpatchset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatchset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.pcpatchset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer pcpatchset_values(Pointer s) { - var _result = _meos_d.pcpatchset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_pcpatch(Pointer s, Pointer pa) { - var _result = _meos_d.contains_set_pcpatch(s, pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_pcpatch_set(Pointer pa, Pointer s) { - var _result = _meos_d.contained_pcpatch_set(pa, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_pcpatch_set(Pointer pa, Pointer s) { - var _result = _meos_d.intersection_pcpatch_set(pa, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_pcpatch(Pointer s, Pointer pa) { - var _result = _meos_d.intersection_set_pcpatch(s, pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_pcpatch_set(Pointer pa, Pointer s) { - var _result = _meos_d.minus_pcpatch_set(pa, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_pcpatch(Pointer s, Pointer pa) { - var _result = _meos_d.minus_set_pcpatch(s, pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_pcpatch_set(Pointer pa, Pointer s) { - var _result = _meos_d.union_pcpatch_set(pa, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_pcpatch(Pointer s, Pointer pa) { - var _result = _meos_d.union_set_pcpatch(s, pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_union_transfn(Pointer state, Pointer pa) { - var _result = _meos_d.pcpatch_union_transfn(state, pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_in(String str) { - var _result = _meos_d.tpcbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tpcbox_out(Pointer box, int maxdd) { - var _result = _meos_d.tpcbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_make(boolean hasx, boolean hasz, boolean hast, boolean geodetic, int srid, int pcid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer period) { - var _result = _meos_d.tpcbox_make(hasx, hasz, hast, geodetic, srid, pcid, xmin, xmax, ymin, ymax, zmin, zmax, period); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_copy(Pointer box) { - var _result = _meos_d.tpcbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_to_tpcbox(Pointer pa, int srid) { - var _result = _meos_d.pcpatch_to_tpcbox(pa, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_hasx(Pointer box) { - var _result = _meos_d.tpcbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_hasz(Pointer box) { - var _result = _meos_d.tpcbox_hasz(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_hast(Pointer box) { - var _result = _meos_d.tpcbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_geodetic(Pointer box) { - var _result = _meos_d.tpcbox_geodetic(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpcbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpcbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_ymin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpcbox_ymin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_ymax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpcbox_ymax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_zmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpcbox_zmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_zmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.tpcbox_zmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tpcbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tpcbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static int tpcbox_srid(Pointer box) { - var _result = _meos_d.tpcbox_srid(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tpcbox_pcid(Pointer box) { - var _result = _meos_d.tpcbox_pcid(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_to_stbox(Pointer box) { - var _result = _meos_d.tpcbox_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tpcbox_expand(Pointer box1, Pointer box2) { - _meos_d.tpcbox_expand(box1, box2); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_round(Pointer box, int maxdd) { - var _result = _meos_d.tpcbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_set_srid(Pointer box, int srid) { - var _result = _meos_d.tpcbox_set_srid(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_tpcbox_tpcbox(Pointer box1, Pointer box2, boolean strict) { - var _result = _meos_d.union_tpcbox_tpcbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer inter_tpcbox_tpcbox(Pointer box1, Pointer box2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.inter_tpcbox_tpcbox(box1, box2, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer intersection_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.intersection_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.contains_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.contained_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overlaps_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.same_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.adjacent_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tpcbox_cmp(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_eq(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_ne(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_lt(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_le(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_gt(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_ge(Pointer box1, Pointer box2) { - var _result = _meos_d.tpcbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.left_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overleft_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.right_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overright_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.below_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overbelow_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.above_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overabove_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.front_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overfront_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.back_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overback_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.before_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overbefore_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.after_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.overafter_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_pcid_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.ensure_same_pcid_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_ewkt(Pointer pose, int maxdd) { - var _result = _meos_d.pose_as_ewkt(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_hexwkb(Pointer pose, byte variant, Pointer size) { - var _result = _meos_d.pose_as_hexwkb(pose, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_text(Pointer pose, int maxdd) { - var _result = _meos_d.pose_as_text(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_as_wkb(Pointer pose, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.pose_as_wkb(pose, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_from_wkb(Pointer wkb, long size) { - var _result = _meos_d.pose_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_from_hexwkb(String hexwkb) { - var _result = _meos_d.pose_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_in(String str) { - var _result = _meos_d.pose_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_out(Pointer pose, int maxdd) { - var _result = _meos_d.pose_out(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_from_geopose(String json) { - var _result = _meos_d.pose_from_geopose(json); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_as_geopose(Pointer pose, int conformance, int precision) { - var _result = _meos_d.pose_as_geopose(pose, conformance, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_from_geopose(String json) { - var _result = _meos_d.tpose_from_geopose(json); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tpose_as_geopose(Pointer temp, int conformance, int precision) { - var _result = _meos_d.tpose_as_geopose(temp, conformance, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_apply_geo(Pointer pose, Pointer body) { - var _result = _meos_d.pose_apply_geo(pose, body); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_apply_geo(Pointer temp, Pointer body) { - var _result = _meos_d.tpose_apply_geo(temp, body); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_copy(Pointer pose) { - var _result = _meos_d.pose_copy(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_2d(double x, double y, double theta, int srid) { - var _result = _meos_d.pose_make_2d(x, y, theta, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, int srid) { - var _result = _meos_d.pose_make_3d(x, y, z, W, X, Y, Z, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_point2d(Pointer gs, double theta) { - var _result = _meos_d.pose_make_point2d(gs, theta); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_make_point3d(Pointer gs, double W, double X, double Y, double Z) { - var _result = _meos_d.pose_make_point3d(gs, W, X, Y, Z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_to_point(Pointer pose) { - var _result = _meos_d.pose_to_point(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_to_stbox(Pointer pose) { - var _result = _meos_d.pose_to_stbox(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pose_hash(Pointer pose) { - var _result = _meos_d.pose_hash(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pose_hash_extended(Pointer pose, int seed) { - var _result = _meos_d.pose_hash_extended(pose, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_orientation(Pointer pose, Pointer count) { - var _result = _meos_d.pose_orientation(pose, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double pose_rotation(Pointer pose) { - var _result = _meos_d.pose_rotation(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double pose_yaw(Pointer pose) { - var _result = _meos_d.pose_yaw(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double pose_pitch(Pointer pose) { - var _result = _meos_d.pose_pitch(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double pose_roll(Pointer pose) { - var _result = _meos_d.pose_roll(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double pose_angular_distance(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_angular_distance(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_normalise(Pointer pose) { - var _result = _meos_d.pose_normalise(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_round(Pointer pose, int maxdd) { - var _result = _meos_d.pose_round(pose, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer posearr_round(Pointer posearr, int count, int maxdd) { - var _result = _meos_d.posearr_round(posearr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void pose_set_srid(Pointer pose, int srid) { - _meos_d.pose_set_srid(pose, srid); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int pose_srid(Pointer pose) { - var _result = _meos_d.pose_srid(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_transform(Pointer pose, int srid) { - var _result = _meos_d.pose_transform(pose, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_transform_pipeline(Pointer pose, String pipelinestr, int srid, boolean is_forward) { - var _result = _meos_d.pose_transform_pipeline(pose, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_tstzspan_to_stbox(Pointer pose, Pointer s) { - var _result = _meos_d.pose_tstzspan_to_stbox(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_timestamptz_to_stbox(Pointer pose, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.pose_timestamptz_to_stbox(pose, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_pose_geo(Pointer pose, Pointer gs) { - var _result = _meos_d.distance_pose_geo(pose, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_pose_pose(Pointer pose1, Pointer pose2) { - var _result = _meos_d.distance_pose_pose(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_pose_stbox(Pointer pose, Pointer box) { - var _result = _meos_d.distance_pose_stbox(pose, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pose_cmp(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_cmp(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_eq(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_eq(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_ge(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_ge(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_gt(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_gt(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_le(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_le(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_lt(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_lt(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_ne(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_ne(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_nsame(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_nsame(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_same(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_same(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_in(String str) { - var _result = _meos_d.poseset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String poseset_out(Pointer s, int maxdd) { - var _result = _meos_d.poseset_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_make(Pointer values, int count) { - var _result = _meos_d.poseset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_to_set(Pointer pose) { - var _result = _meos_d.pose_to_set(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_end_value(Pointer s) { - var _result = _meos_d.poseset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_start_value(Pointer s) { - var _result = _meos_d.poseset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer poseset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.poseset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer poseset_values(Pointer s, Pointer count) { - var _result = _meos_d.poseset_values(s, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.contained_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.contains_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.intersection_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.intersection_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.minus_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.minus_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_union_transfn(Pointer state, Pointer pose) { - var _result = _meos_d.pose_union_transfn(state, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_pose_set(Pointer pose, Pointer s) { - var _result = _meos_d.union_pose_set(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_pose(Pointer s, Pointer pose) { - var _result = _meos_d.union_set_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_from_mfjson(String str) { - var _result = _meos_d.tpose_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_in(String str) { - var _result = _meos_d.tpose_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tposeinst_make(Pointer pose, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tposeinst_make(pose, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_from_base_temp(Pointer pose, Pointer temp) { - var _result = _meos_d.tpose_from_base_temp(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tposeseq_from_base_tstzset(Pointer pose, Pointer s) { - var _result = _meos_d.tposeseq_from_base_tstzset(pose, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tposeseq_from_base_tstzspan(Pointer pose, Pointer s, int interp) { - var _result = _meos_d.tposeseq_from_base_tstzspan(pose, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tposeseqset_from_base_tstzspanset(Pointer pose, Pointer ss, int interp) { - var _result = _meos_d.tposeseqset_from_base_tstzspanset(pose, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_make(Pointer tpoint, Pointer tradius) { - var _result = _meos_d.tpose_make(tpoint, tradius); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_to_tpoint(Pointer temp) { - var _result = _meos_d.tpose_to_tpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_end_value(Pointer temp) { - var _result = _meos_d.tpose_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_points(Pointer temp) { - var _result = _meos_d.tpose_points(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_rotation(Pointer temp) { - var _result = _meos_d.tpose_rotation(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_yaw(Pointer temp) { - var _result = _meos_d.tpose_yaw(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_pitch(Pointer temp) { - var _result = _meos_d.tpose_pitch(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_roll(Pointer temp) { - var _result = _meos_d.tpose_roll(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_speed(Pointer temp) { - var _result = _meos_d.tpose_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_angular_speed(Pointer temp) { - var _result = _meos_d.tpose_angular_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_start_value(Pointer temp) { - var _result = _meos_d.tpose_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_trajectory(Pointer temp) { - var _result = _meos_d.tpose_trajectory(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.tpose_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpose_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.tpose_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpose_values(Pointer temp, Pointer count) { - var _result = _meos_d.tpose_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tpose_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tpose_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_at_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tpose_at_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.tpose_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_minus_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tpose_minus_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.tpose_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tdistance_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.nad_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tpose_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.nai_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.shortestline_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.always_eq_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.always_eq_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.always_ne_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.always_ne_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.ever_eq_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.ever_eq_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.ever_ne_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.ever_ne_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.teq_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.teq_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_pose_tpose(Pointer pose, Pointer temp) { - var _result = _meos_d.tne_pose_tpose(pose, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.tne_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String trgeometry_out(Pointer temp) { - var _result = _meos_d.trgeometry_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoinst_make(Pointer geom, Pointer pose, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeoinst_make(geom, pose, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tpose_to_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.geo_tpose_to_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_to_tpose(Pointer temp) { - var _result = _meos_d.trgeometry_to_tpose(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_to_tpoint(Pointer temp) { - var _result = _meos_d.trgeometry_to_tpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_to_tgeometry(Pointer temp) { - var _result = _meos_d.trgeometry_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_end_instant(Pointer temp) { - var _result = _meos_d.trgeometry_end_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_end_sequence(Pointer temp) { - var _result = _meos_d.trgeometry_end_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_end_value(Pointer temp) { - var _result = _meos_d.trgeometry_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_geom(Pointer temp) { - var _result = _meos_d.trgeometry_geom(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_instant_n(Pointer temp, int n) { - var _result = _meos_d.trgeometry_instant_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_instants(Pointer temp, Pointer count) { - var _result = _meos_d.trgeometry_instants(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_points(Pointer temp) { - var _result = _meos_d.trgeometry_points(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_rotation(Pointer temp) { - var _result = _meos_d.trgeometry_rotation(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_segments(Pointer temp, Pointer count) { - var _result = _meos_d.trgeometry_segments(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_sequence_n(Pointer temp, int i) { - var _result = _meos_d.trgeometry_sequence_n(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_sequences(Pointer temp, Pointer count) { - var _result = _meos_d.trgeometry_sequences(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_start_instant(Pointer temp) { - var _result = _meos_d.trgeometry_start_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_start_sequence(Pointer temp) { - var _result = _meos_d.trgeometry_start_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_start_value(Pointer temp) { - var _result = _meos_d.trgeometry_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.trgeometry_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_traversed_area(Pointer temp, boolean unary_union) { - var _result = _meos_d.trgeometry_traversed_area(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_centroid(Pointer temp) { - var _result = _meos_d.trgeometry_centroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_convex_hull(Pointer temp) { - var _result = _meos_d.trgeometry_convex_hull(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_body_point_trajectory(Pointer temp, Pointer gs) { - var _result = _meos_d.trgeometry_body_point_trajectory(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var _result = _meos_d.trgeometry_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.trgeometry_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_stboxes(Pointer temp, Pointer count) { - var _result = _meos_d.trgeometry_stboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_split_n_stboxes(Pointer temp, int box_count, Pointer count) { - var _result = _meos_d.trgeometry_split_n_stboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { - var _result = _meos_d.trgeometry_split_each_n_stboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double trgeometry_hausdorff_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_d.trgeometry_hausdorff_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double trgeometry_frechet_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_d.trgeometry_frechet_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double trgeometry_dyntimewarp_distance(Pointer temp1, Pointer temp2) { - var _result = _meos_d.trgeometry_dyntimewarp_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_d.trgeometry_frechet_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = _meos_d.trgeometry_dyntimewarp_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double trgeometry_length(Pointer temp) { - var _result = _meos_d.trgeometry_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_cumulative_length(Pointer temp) { - var _result = _meos_d.trgeometry_cumulative_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_speed(Pointer temp) { - var _result = _meos_d.trgeometry_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_twcentroid(Pointer temp) { - var _result = _meos_d.trgeometry_twcentroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { - var _result = _meos_d.trgeometry_append_tinstant(temp, inst, interp, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_append_tsequence(Pointer temp, Pointer seq, boolean expand) { - var _result = _meos_d.trgeometry_append_tsequence(temp, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeometry_delete_timestamptz(temp, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_delete_tstzset(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_d.trgeometry_delete_tstzset(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { - var _result = _meos_d.trgeometry_delete_tstzspan(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { - var _result = _meos_d.trgeometry_delete_tstzspanset(temp, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_round(Pointer temp, int maxdd) { - var _result = _meos_d.trgeometry_round(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_set_interp(Pointer temp, int interp) { - var _result = _meos_d.trgeometry_set_interp(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_to_tinstant(Pointer temp) { - var _result = _meos_d.trgeometry_to_tinstant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeometry_after_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeometry_before_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_restrict_values(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.trgeometry_restrict_values(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_restrict_timestamptz(Pointer temp, OffsetDateTime t, boolean atfunc) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeometry_restrict_timestamptz(temp, t_new, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_restrict_tstzset(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.trgeometry_restrict_tstzset(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_restrict_tstzspan(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.trgeometry_restrict_tstzspan(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_restrict_tstzspanset(Pointer temp, Pointer ss, boolean atfunc) { - var _result = _meos_d.trgeometry_restrict_tstzspanset(temp, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_at_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.trgeometry_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_minus_geom(Pointer temp, Pointer gs) { - var _result = _meos_d.trgeometry_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.trgeometry_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = _meos_d.trgeometry_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tdistance_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_trgeometry_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_trgeometry_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.tdistance_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_trgeometry(Pointer box, Pointer temp) { - var _result = _meos_d.nad_stbox_trgeometry(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nad_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeometry_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_trgeometry_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeometry_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_trgeometry_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.nai_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_trgeometry_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_trgeometry_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nai_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.shortestline_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_trgeometry_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_trgeometry_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.shortestline_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_geo_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.always_eq_geo_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.always_eq_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_eq_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_geo_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.always_ne_geo_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.always_ne_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.always_ne_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_geo_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.ever_eq_geo_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ever_eq_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_eq_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_geo_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.ever_ne_geo_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ever_ne_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_trgeometry_trgeometry(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ever_ne_trgeometry_trgeometry(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_geo_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.teq_geo_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.teq_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_geo_trgeometry(Pointer gs, Pointer temp) { - var _result = _meos_d.tne_geo_trgeometry(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_trgeometry_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.tne_trgeometry_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.econtains_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.acontains_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.ecovers_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_geo_trgeo(Pointer gs, Pointer temp) { - var _result = _meos_d.acovers_geo_trgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ecovers_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acovers_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.acovers_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.edisjoint_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.adisjoint_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.eintersects_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.aintersects_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.etouches_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.atouches_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_trgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_d.edwithin_trgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_trgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = _meos_d.adwithin_trgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.edisjoint_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.adisjoint_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.eintersects_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.aintersects_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_d.edwithin_trgeo_trgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = _meos_d.adwithin_trgeo_trgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.ensure_valid_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnpoint_npointset(Pointer temp, Pointer s) { - var _result = _meos_d.ensure_valid_tnpoint_npointset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnpoint_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ensure_valid_tnpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnpoint_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.ensure_valid_tnpoint_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ensure_valid_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tnpointsegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tnpointsegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean common_rid_tnpoint_npoint(Pointer temp, Pointer np) { - var _result = _meos_d.common_rid_tnpoint_npoint(temp, np); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean common_rid_tnpoint_npointset(Pointer temp, Pointer s) { - var _result = _meos_d.common_rid_tnpoint_npointset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean common_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.common_rid_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_collinear(Pointer np1, Pointer np2, Pointer np3, double ratio) { - var _result = _meos_d.npoint_collinear(np1, np2, np3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointsegm_interpolate(Pointer start, Pointer end, Pointer ratio) { - var _result = _meos_d.npointsegm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointsegm_locate(Pointer start, Pointer end, Pointer value) { - var _result = _meos_d.npointsegm_locate(start, end, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npointarr_geom(Pointer points, int count) { - var _result = _meos_d.npointarr_geom(points, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegmentarr_geom(Pointer segments, int count) { - var _result = _meos_d.nsegmentarr_geom(segments, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegmentarr_normalize(Pointer segments, Pointer count) { - var _result = _meos_d.nsegmentarr_normalize(segments, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String npoint_wkt_out(Pointer value, int maxdd) { - var _result = _meos_d.npoint_wkt_out(value, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void npoint_set(long rid, double pos, Pointer np) { - _meos_d.npoint_set(rid, pos, np); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void nsegment_set(long rid, double pos1, double pos2, Pointer ns) { - _meos_d.nsegment_set(rid, pos1, pos2, ns); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer datum_npoint_round(Pointer npoint, Pointer size) { - var _result = _meos_d.datum_npoint_round(npoint, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointinst_tgeompointinst(Pointer inst) { - var _result = _meos_d.tnpointinst_tgeompointinst(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_tgeompointseq_disc(Pointer is) { - var _result = _meos_d.tnpointseq_tgeompointseq_disc(is); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_tgeompointseq_cont(Pointer seq) { - var _result = _meos_d.tnpointseq_tgeompointseq_cont(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseqset_tgeompointseqset(Pointer ss) { - var _result = _meos_d.tnpointseqset_tgeompointseqset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointinst_tnpointinst(Pointer inst) { - var _result = _meos_d.tgeompointinst_tnpointinst(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseq_tnpointseq(Pointer seq) { - var _result = _meos_d.tgeompointseq_tnpointseq(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompointseqset_tnpointseqset(Pointer ss) { - var _result = _meos_d.tgeompointseqset_tnpointseqset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointinst_positions(Pointer inst) { - var _result = _meos_d.tnpointinst_positions(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_positions(Pointer seq, Pointer count) { - var _result = _meos_d.tnpointseq_positions(seq, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseqset_positions(Pointer ss, Pointer count) { - var _result = _meos_d.tnpointseqset_positions(ss, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tnpointinst_route(Pointer inst) { - var _result = _meos_d.tnpointinst_route(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointinst_routes(Pointer inst) { - var _result = _meos_d.tnpointinst_routes(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_disc_routes(Pointer is) { - var _result = _meos_d.tnpointseq_disc_routes(is); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_cont_routes(Pointer seq) { - var _result = _meos_d.tnpointseq_cont_routes(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseqset_routes(Pointer ss) { - var _result = _meos_d.tnpointseqset_routes(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpointseq_linear_positions(Pointer seq) { - var _result = _meos_d.tnpointseq_linear_positions(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.tnpoint_restrict_stbox(temp, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_restrict_npoint(Pointer temp, Pointer np, boolean atfunc) { - var _result = _meos_d.tnpoint_restrict_npoint(temp, np, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_restrict_npointset(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.tnpoint_restrict_npointset(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_set_stbox(Pointer np, Pointer box) { - var _result = _meos_d.npoint_set_stbox(np, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void npointarr_set_stbox(Pointer values, int count, Pointer box) { - _meos_d.npointarr_set_stbox(values, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean nsegment_set_stbox(Pointer ns, Pointer box) { - var _result = _meos_d.nsegment_set_stbox(ns, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_timestamptz_set_stbox(Pointer np, OffsetDateTime t, Pointer box) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.npoint_timestamptz_set_stbox(np, t_new, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean npoint_tstzspan_set_stbox(Pointer np, Pointer s, Pointer box) { - var _result = _meos_d.npoint_tstzspan_set_stbox(np, s, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tnpointinst_set_stbox(Pointer inst, Pointer box) { - _meos_d.tnpointinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnpointinstarr_set_stbox(Pointer inst, int count, int interp, Pointer box) { - _meos_d.tnpointinstarr_set_stbox(inst, count, interp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tnpointseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_d.tnpointseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer datum_npoint_distance(Pointer np1, Pointer np2) { - var _result = _meos_d.datum_npoint_distance(np1, np2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer npoint_parse(Pointer str, boolean end) { - var _result = _meos_d.npoint_parse(str, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nsegment_parse(Pointer str) { - var _result = _meos_d.nsegment_parse(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_rid_tnpoint_bigint(Pointer temp, long rid, int invert) { - var _result = _meos_d.contains_rid_tnpoint_bigint(temp, rid, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_rid_tnpoint_bigint(Pointer temp, long rid, boolean invert) { - var _result = _meos_d.contained_rid_tnpoint_bigint(temp, rid, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_rid_tnpoint_bigint(Pointer temp, long rid, int invert) { - var _result = _meos_d.same_rid_tnpoint_bigint(temp, rid, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert) { - var _result = _meos_d.overlaps_rid_tnpoint_bigintset(temp, s, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert) { - var _result = _meos_d.contains_rid_tnpoint_bigintset(temp, s, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_rid_tnpoint_bigintset(Pointer temp, Pointer s, boolean invert) { - var _result = _meos_d.contained_rid_tnpoint_bigintset(temp, s, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_rid_tnpoint_bigintset(Pointer temp, Pointer s, int invert) { - var _result = _meos_d.same_rid_tnpoint_bigintset(temp, s, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert) { - var _result = _meos_d.contains_rid_tnpoint_npoint(temp, np, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_rid_npoint_tnpoint(Pointer temp, Pointer np, boolean invert) { - var _result = _meos_d.contained_rid_npoint_tnpoint(temp, np, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_rid_tnpoint_npoint(Pointer temp, Pointer np, int invert) { - var _result = _meos_d.same_rid_tnpoint_npoint(temp, np, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.overlaps_rid_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.contains_rid_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.contained_rid_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_rid_tnpoint_tnpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.same_rid_tnpoint_tnpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_rid_tnpointinst(Pointer inst1, Pointer inst2) { - var _result = _meos_d.ensure_same_rid_tnpointinst(inst1, inst2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnpoint_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { - var _result = _meos_d.tnpoint_restrict_geom(temp, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_pc_schema_get_srid(int pcid) { - var _result = _meos_d.meos_pc_schema_get_srid(pcid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_pcid_pcpatch(Pointer pa1, Pointer pa2) { - var _result = _meos_d.ensure_same_pcid_pcpatch(pa1, pa2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_pcpatchset_pcpatch(Pointer s, Pointer pa) { - var _result = _meos_d.ensure_valid_pcpatchset_pcpatch(s, pa); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_parse(Pointer str, boolean end) { - var _result = _meos_d.pcpatch_parse(str, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpatch_filter_per_point(Pointer pa, int pred, Pointer extra, boolean keep_when_true) { - var _result = _meos_d.pcpatch_filter_per_point(pa, pred, extra, keep_when_true); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpatch_any_point_matches(Pointer pa, int pred, Pointer extra) { - var _result = _meos_d.pcpatch_any_point_matches(pa, pred, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_in_tpcbox(Pointer pt, Pointer extra) { - var _result = _meos_d.pcpoint_in_tpcbox(pt, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pcpoint_intersects_geometry(Pointer pt, Pointer extra) { - var _result = _meos_d.pcpoint_intersects_geometry(pt, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_pcid_pcpoint(Pointer pt1, Pointer pt2) { - var _result = _meos_d.ensure_same_pcid_pcpoint(pt1, pt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_pcpointset_pcpoint(Pointer s, Pointer pt) { - var _result = _meos_d.ensure_valid_pcpointset_pcpoint(s, pt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pcpoint_parse(Pointer str, boolean end) { - var _result = _meos_d.pcpoint_parse(str, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_pc_point_serialize(Pointer pcpt) { - var _result = _meos_d.meos_pc_point_serialize(pcpt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_pc_point_deserialize(Pointer serpt, Pointer schema) { - var _result = _meos_d.meos_pc_point_deserialize(serpt, schema); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long meos_pc_patch_serialized_size(Pointer patch) { - var _result = _meos_d.meos_pc_patch_serialized_size(patch); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_pc_patch_serialize(Pointer patch_in, Pointer userdata) { - var _result = _meos_d.meos_pc_patch_serialize(patch_in, userdata); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_pc_patch_serialize_to_uncompressed(Pointer patch_in) { - var _result = _meos_d.meos_pc_patch_serialize_to_uncompressed(patch_in); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer meos_pc_patch_deserialize(Pointer serpatch, Pointer schema) { - var _result = _meos_d.meos_pc_patch_deserialize(serpatch, schema); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tpointcloudinst_set_tpcbox(Pointer inst, Pointer box) { - _meos_d.tpointcloudinst_set_tpcbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tpointcloudinstarr_set_tpcbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer box) { - _meos_d.tpointcloudinstarr_set_tpcbox(instants, count, lower_inc, upper_inc, interp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tpointcloudseq_expand_tpcbox(Pointer seq, Pointer inst) { - _meos_d.tpointcloudseq_expand_tpcbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tpointcloudseqarr_set_tpcbox(Pointer sequences, int count, Pointer box) { - _meos_d.tpointcloudseqarr_set_tpcbox(sequences, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpcbox_extent_transfn(Pointer state, Pointer temp) { - var _result = _meos_d.tpcbox_extent_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_tpointcloud_tpcbox(Pointer temp, Pointer box, Pointer func, boolean inverted) { - var _result = _meos_d.boxop_tpointcloud_tpcbox(temp, box, func, inverted); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2, Pointer func) { - var _result = _meos_d.boxop_tpointcloud_tpointcloud(temp1, temp2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tpcbox_set_stbox(Pointer src, Pointer dst) { - _meos_d.tpcbox_set_stbox(src, dst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static double nad_tpcbox_tpcbox(Pointer box1, Pointer box2) { - var _result = _meos_d.nad_tpcbox_tpcbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpointcloud_tpcbox(Pointer temp, Pointer box) { - var _result = _meos_d.nad_tpointcloud_tpcbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tpointcloud_tpointcloud(Pointer temp1, Pointer temp2) { - var _result = _meos_d.nad_tpointcloud_tpointcloud(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_index_leaf_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_d.tpcbox_index_leaf_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_gist_inner_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_d.tpcbox_gist_inner_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpcbox_index_recheck(int strategy) { - var _result = _meos_d.tpcbox_index_recheck(strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_pose_geo(Pointer pose, Pointer gs) { - var _result = _meos_d.ensure_valid_pose_geo(pose, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_pose_stbox(Pointer pose, Pointer box) { - var _result = _meos_d.ensure_valid_pose_stbox(pose, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_pose_pose(Pointer pose1, Pointer pose2) { - var _result = _meos_d.ensure_valid_pose_pose(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_poseset_pose(Pointer s, Pointer pose) { - var _result = _meos_d.ensure_valid_poseset_pose(s, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_collinear(Pointer pose1, Pointer pose2, Pointer pose3, double ratio) { - var _result = _meos_d.pose_collinear(pose1, pose2, pose3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer posesegm_interpolate(Pointer start, Pointer end, double ratio) { - var _result = _meos_d.posesegm_interpolate(start, end, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer posesegm_locate(Pointer start, Pointer end, Pointer value) { - var _result = _meos_d.posesegm_locate(start, end, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pose_wkt_out(Pointer pose, boolean extended, int maxdd) { - var _result = _meos_d.pose_wkt_out(pose, extended, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_parse(Pointer str, boolean end) { - var _result = _meos_d.pose_parse(str, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_point(Pointer pose) { - var _result = _meos_d.datum_pose_point(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_rotation(Pointer pose) { - var _result = _meos_d.datum_pose_rotation(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_yaw(Pointer pose) { - var _result = _meos_d.datum_pose_yaw(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_pitch(Pointer pose) { - var _result = _meos_d.datum_pose_pitch(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_roll(Pointer pose) { - var _result = _meos_d.datum_pose_roll(pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_apply_geo(Pointer pose, Pointer body) { - var _result = _meos_d.datum_pose_apply_geo(pose, body); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_pose_round(Pointer pose, Pointer size) { - var _result = _meos_d.datum_pose_round(pose, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pose_distance(Pointer pose1, Pointer pose2) { - var _result = _meos_d.pose_distance(pose1, pose2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_set_stbox(Pointer pose, Pointer box) { - var _result = _meos_d.pose_set_stbox(pose, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void posearr_set_stbox(Pointer values, int count, Pointer box) { - _meos_d.posearr_set_stbox(values, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean pose_timestamptz_set_stbox(Pointer pose, OffsetDateTime t, Pointer box) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.pose_timestamptz_set_stbox(pose, t_new, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean pose_tstzspan_set_stbox(Pointer pose, Pointer p, Pointer box) { - var _result = _meos_d.pose_tstzspan_set_stbox(pose, p, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tpose_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ensure_valid_tpose_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tpose_pose(Pointer temp, Pointer pose) { - var _result = _meos_d.ensure_valid_tpose_pose(temp, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tpose_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.ensure_valid_tpose_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tpose_tpose(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ensure_valid_tpose_tpose(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tposesegm_intersection_value(Pointer start, Pointer end, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tposesegm_intersection_value(start, end, value, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tposesegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tposesegm_intersection(start1, end1, start2, end2, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tposeinst_set_stbox(Pointer inst, Pointer box) { - _meos_d.tposeinst_set_stbox(inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tposeinstarr_set_stbox(Pointer instants, int count, Pointer box) { - _meos_d.tposeinstarr_set_stbox(instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tposeseq_expand_stbox(Pointer seq, Pointer inst) { - _meos_d.tposeseq_expand_stbox(seq, inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tpose_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { - var _result = _meos_d.tpose_restrict_geom(temp, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.tpose_restrict_stbox(temp, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpose_restrict_elevation(Pointer temp, Pointer s, boolean atfunc) { - var _result = _meos_d.tpose_restrict_elevation(temp, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_get_srid(Pointer g) { - var _result = _meos_d.geo_get_srid(g); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cstring_to_text(String str) { - var _result = _meos_d.cstring_to_text(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String text_to_cstring(Pointer txt) { - var _result = _meos_d.text_to_cstring(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int date_in(String str) { - var _result = _meos_d.date_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String date_out(int date) { - var _result = _meos_d.date_out(date); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int interval_cmp(Pointer interv1, Pointer interv2) { - var _result = _meos_d.interval_cmp(interv1, interv2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer interval_in(String str, int typmod) { - var _result = _meos_d.interval_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) { - var _result = _meos_d.interval_make(years, months, weeks, days, hours, mins, secs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String interval_out(Pointer interv) { - var _result = _meos_d.interval_out(interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer time_in(String str, int typmod) { - var _result = _meos_d.time_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String time_out(Pointer time) { - var _result = _meos_d.time_out(time); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static LocalDateTime timestamp_in(String str, int typmod) { - var _result = _meos_d.timestamp_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String timestamp_out(LocalDateTime ts) { - var ts_new = ts.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = _meos_d.timestamp_out(ts_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_in(String str, int typmod) { - var _result = _meos_d.timestamptz_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String timestamptz_out(OffsetDateTime tstz) { - var tstz_new = tstz.toEpochSecond(); - var _result = _meos_d.timestamptz_out(tstz_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_has_geom(short flags) { - var _result = _meos_d.ensure_has_geom(flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_trgeo_geo(Pointer temp, Pointer gs) { - var _result = _meos_d.ensure_valid_trgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_trgeo_stbox(Pointer temp, Pointer box) { - var _result = _meos_d.ensure_valid_trgeo_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_trgeo_trgeo(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ensure_valid_trgeo_trgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_trgeo_tpoint(Pointer temp1, Pointer temp2) { - var _result = _meos_d.ensure_valid_trgeo_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_geom_p(Pointer temp) { - var _result = _meos_d.trgeo_geom_p(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String trgeo_wkt_out(Pointer temp, int maxdd, boolean extended) { - var _result = _meos_d.trgeo_wkt_out(temp, maxdd, extended); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tposeinst_to_trgeo(Pointer gs, Pointer inst) { - var _result = _meos_d.geo_tposeinst_to_trgeo(gs, inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tposeseq_to_trgeo(Pointer gs, Pointer seq) { - var _result = _meos_d.geo_tposeseq_to_trgeo(gs, seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tposeseqset_to_trgeo(Pointer gs, Pointer ss) { - var _result = _meos_d.geo_tposeseqset_to_trgeo(gs, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.trgeo_value_at_timestamptz(temp, t_new, strict, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer trgeometry_restrict_value(Pointer temp, Pointer value, boolean atfunc) { - var _result = _meos_d.trgeometry_restrict_value(temp, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoinst_geom_p(Pointer inst) { - var _result = _meos_d.trgeoinst_geom_p(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long trgeoinst_pose_varsize(Pointer inst) { - var _result = _meos_d.trgeoinst_pose_varsize(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void trgeoinst_set_pose(Pointer inst) { - _meos_d.trgeoinst_set_pose(inst); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer trgeoinst_tposeinst(Pointer inst) { - var _result = _meos_d.trgeoinst_tposeinst(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoinst_make1(Pointer geom, Pointer pose, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.trgeoinst_make1(geom, pose, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_to_tinstant(Pointer seq) { - var _result = _meos_d.trgeoseq_to_tinstant(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_to_tinstant(Pointer ts) { - var _result = _meos_d.trgeoseqset_to_tinstant(ts); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_geom(Pointer temp, Pointer gs, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_geom(temp, gs, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_restrict_stbox(Pointer temp, Pointer box, boolean border_inc, boolean atfunc) { - var _result = _meos_d.trgeo_restrict_stbox(temp, box, border_inc, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatialrel_trgeo_trav_geo(Pointer temp, Pointer gs, Pointer param, Pointer func, int numparam, boolean invert) { - var _result = _meos_d.spatialrel_trgeo_trav_geo(temp, gs, param, func, numparam, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_d.ea_contains_geo_trgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_d.ea_contains_trgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_contains_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_d.ea_contains_trgeo_trgeo(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_d.ea_covers_geo_trgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_d.ea_covers_trgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_covers_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_d.ea_covers_trgeo_trgeo(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_d.ea_disjoint_geo_trgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_d.ea_disjoint_trgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_disjoint_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_d.ea_disjoint_trgeo_trgeo(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_d.ea_intersects_geo_trgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_d.ea_intersects_trgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_intersects_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_d.ea_intersects_trgeo_trgeo(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_geo_trgeo(Pointer gs, Pointer temp, boolean ever) { - var _result = _meos_d.ea_touches_geo_trgeo(gs, temp, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_trgeo_geo(Pointer temp, Pointer gs, boolean ever) { - var _result = _meos_d.ea_touches_trgeo_geo(temp, gs, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_touches_trgeo_trgeo(Pointer temp1, Pointer temp2, boolean ever) { - var _result = _meos_d.ea_touches_trgeo_trgeo(temp1, temp2, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_dwithin_trgeo_geo(Pointer temp, Pointer gs, double dist, boolean ever) { - var _result = _meos_d.ea_dwithin_trgeo_geo(temp, gs, dist, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ea_dwithin_trgeo_trgeo(Pointer temp1, Pointer temp2, double dist, boolean ever) { - var _result = _meos_d.ea_dwithin_trgeo_trgeo(temp1, temp2, dist, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_geom_p(Pointer seq) { - var _result = _meos_d.trgeoseq_geom_p(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long trgeoseq_pose_varsize(Pointer seq) { - var _result = _meos_d.trgeoseq_pose_varsize(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void trgeoseq_set_pose(Pointer seq) { - _meos_d.trgeoseq_set_pose(seq); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_tposeseq(Pointer seq) { - var _result = _meos_d.trgeoseq_tposeseq(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean trgeoseq_make_valid(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, boolean linear) { - var _result = _meos_d.trgeoseq_make_valid(geom, instants, count, lower_inc, upper_inc, linear); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_make1_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.trgeoseq_make1_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_make1(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.trgeoseq_make1(geom, instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_make_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.trgeoseq_make_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_make(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.trgeoseq_make(geom, instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_make_free_exp(Pointer geom, Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.trgeoseq_make_free_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseq_make_free(Pointer geom, Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = _meos_d.trgeoseq_make_free(geom, instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoinst_to_tsequence(Pointer inst, int interp) { - var _result = _meos_d.trgeoinst_to_tsequence(inst, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_geom_p(Pointer ts) { - var _result = _meos_d.trgeoseqset_geom_p(ts); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_tposeseqset(Pointer ss) { - var _result = _meos_d.trgeoseqset_tposeseqset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_make1_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize) { - var _result = _meos_d.trgeoseqset_make1_exp(geom, sequences, count, maxcount, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_make_exp(Pointer geom, Pointer sequences, int count, int maxcount, boolean normalize) { - var _result = _meos_d.trgeoseqset_make_exp(geom, sequences, count, maxcount, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_make(Pointer geom, Pointer sequences, int count, boolean normalize) { - var _result = _meos_d.trgeoseqset_make(geom, sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_make_free(Pointer geom, Pointer sequences, int count, boolean normalize) { - var _result = _meos_d.trgeoseqset_make_free(geom, sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_make_gaps(Pointer geom, Pointer instants, int count, int interp, Pointer maxt, double maxdist) { - var _result = _meos_d.trgeoseqset_make_gaps(geom, instants, count, interp, maxt, maxdist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeoseqset_to_tsequence(Pointer ss) { - var _result = _meos_d.trgeoseqset_to_tsequence(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_to_tsequence(Pointer temp, String interp_str) { - var _result = _meos_d.trgeo_to_tsequence(temp, interp_str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_to_tsequenceset(Pointer temp, String interp_str) { - var _result = _meos_d.trgeo_to_tsequenceset(temp, interp_str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void trgeoinst_set_stbox(Pointer geom, Pointer inst, Pointer box) { - _meos_d.trgeoinst_set_stbox(geom, inst, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void trgeoinstarr_static_stbox(Pointer geom, Pointer instants, int count, Pointer box) { - _meos_d.trgeoinstarr_static_stbox(geom, instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void trgeoinstarr_rotating_stbox(Pointer geom, Pointer instants, int count, Pointer box) { - _meos_d.trgeoinstarr_rotating_stbox(geom, instants, count, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void trgeoinstarr_compute_bbox(Pointer geom, Pointer instants, int count, int interp, Pointer box) { - _meos_d.trgeoinstarr_compute_bbox(geom, instants, count, interp, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean ensure_span_isof_type(Pointer s, int spantype) { - var _result = _meos_d.ensure_span_isof_type(s, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_span_isof_basetype(Pointer s, int basetype) { - var _result = _meos_d.ensure_span_isof_basetype(s, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_span_type(Pointer s1, Pointer s2) { - var _result = _meos_d.ensure_same_span_type(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_span_span(Pointer s1, Pointer s2) { - var _result = _meos_d.ensure_valid_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void span_deserialize(Pointer s, Pointer lower, Pointer upper) { - _meos_d.span_deserialize(s, lower, upper); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int span_bound_cmp(Pointer b1, Pointer b2) { - var _result = _meos_d.span_bound_cmp(b1, b2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_bound_qsort_cmp(Pointer s1, Pointer s2) { - var _result = _meos_d.span_bound_qsort_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_lower_cmp(Pointer s1, Pointer s2) { - var _result = _meos_d.span_lower_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_upper_cmp(Pointer s1, Pointer s2) { - var _result = _meos_d.span_upper_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_decr_bound(Pointer upper, int basetype) { - var _result = _meos_d.span_decr_bound(upper, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_incr_bound(Pointer upper, int basetype) { - var _result = _meos_d.span_incr_bound(upper, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanarr_normalize(Pointer spans, int count, boolean sort, Pointer newcount) { - var _result = _meos_d.spanarr_normalize(spans, count, sort, newcount); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void span_bounds_shift_scale_value(Pointer shift, Pointer width, int type, boolean hasshift, boolean haswidth, Pointer lower, Pointer upper) { - _meos_d.span_bounds_shift_scale_value(shift, width, type, hasshift, haswidth, lower, upper); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void span_bounds_shift_scale_time(Pointer shift, Pointer duration, Pointer lower, Pointer upper) { - _meos_d.span_bounds_shift_scale_time(shift, duration, lower, upper); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void floatspan_floor_ceil_iter(Pointer s, int func) { - _meos_d.floatspan_floor_ceil_iter(s, func); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void numspan_delta_scale_iter(Pointer s, Pointer origin, Pointer delta, boolean hasdelta, double scale) { - _meos_d.numspan_delta_scale_iter(s, origin, delta, hasdelta, scale); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspan_delta_scale_iter(Pointer s, OffsetDateTime origin, OffsetDateTime delta, double scale) { - var origin_new = origin.toEpochSecond(); - var delta_new = delta.toEpochSecond(); - _meos_d.tstzspan_delta_scale_iter(s, origin_new, delta_new, scale); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void numspan_shift_scale_iter(Pointer s, Pointer shift, Pointer width, boolean hasshift, boolean haswidth, Pointer delta, Pointer scale) { - _meos_d.numspan_shift_scale_iter(s, shift, width, hasshift, haswidth, delta, scale); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzspan_shift_scale1(Pointer s, Pointer shift, Pointer duration, Pointer delta, Pointer scale) { - _meos_d.tstzspan_shift_scale1(s, shift, duration, delta, scale); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int mi_span_value(Pointer s, Pointer value, Pointer result) { - var _result = _meos_d.mi_span_value(s, value, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double dist_double_value_value(Pointer l, Pointer r, int type) { - var _result = _meos_d.dist_double_value_value(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_polygon(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer pa, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_polygon(a1, b1, a2, b2, pa, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_lwpoly(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer poly, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_lwpoly(a1, b1, a2, b2, poly, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_box(Pointer a1, Pointer b1, Pointer a2, Pointer b2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_box(a1, b1, a2, b2, xmin, ymin, xmax, ymax, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_polygon_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer pa, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_polygon_posed(p_a_local, p_b_local, pose1, pose2, pa, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_lwpoly_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer poly, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_lwpoly_posed(p_a_local, p_b_local, pose1, pose2, poly, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_box_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, double xmin, double ymin, double xmax, double ymax, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_box_posed(p_a_local, p_b_local, pose1, pose2, xmin, ymin, xmax, ymax, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_lwgeom(Pointer a1, Pointer b1, Pointer a2, Pointer b2, Pointer geom, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_lwgeom(a1, b1, a2, b2, geom, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int trgeo_geom_clip_lwgeom_posed(Pointer p_a_local, Pointer p_b_local, Pointer pose1, Pointer pose2, Pointer geom, Pointer intervals_out) { - var _result = _meos_d.trgeo_geom_clip_lwgeom_posed(p_a_local, p_b_local, pose1, pose2, geom, intervals_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer trgeo_parse(Pointer str, int temptype) { - var _result = _meos_d.trgeo_parse(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_geom(Pointer gs1, Pointer gs2) { - var _result = _meos_d.ensure_same_geom(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void lwgeom_apply_pose(Pointer pose, Pointer geom) { - _meos_d.lwgeom_apply_pose(pose, geom); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer geom_apply_pose(Pointer gs, Pointer pose) { - var _result = _meos_d.geom_apply_pose(gs, pose); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_radius(Pointer gs) { - var _result = _meos_d.geom_radius(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int v_clip_tpoly_point(Pointer poly, Pointer point, Pointer pose, Pointer poly_feature, Pointer dist) { - var _result = _meos_d.v_clip_tpoly_point(poly, point, pose, poly_feature, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int v_clip_tpoly_tpoly(Pointer poly1, Pointer poly2, Pointer pose1, Pointer pose2, Pointer poly1_feature, Pointer poly2_feature, Pointer dist) { - var _result = _meos_d.v_clip_tpoly_tpoly(poly1, poly2, pose1, pose2, poly1_feature, poly2_feature, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void apply_pose_point4d(Pointer p, Pointer pose) { - _meos_d.apply_pose_point4d(p, pose); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tinstant(Pointer inst, Pointer lfinfo) { - var _result = _meos_d.tfunc_tinstant(inst, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tsequence(Pointer seq, Pointer lfinfo) { - var _result = _meos_d.tfunc_tsequence(seq, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tsequenceset(Pointer ss, Pointer lfinfo) { - var _result = _meos_d.tfunc_tsequenceset(ss, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_temporal(Pointer temp, Pointer lfinfo) { - var _result = _meos_d.tfunc_temporal(temp, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tinstant_base(Pointer inst, Pointer value, Pointer lfinfo) { - var _result = _meos_d.tfunc_tinstant_base(inst, value, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tsequence_base(Pointer seq, Pointer value, Pointer lfinfo) { - var _result = _meos_d.tfunc_tsequence_base(seq, value, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tsequenceset_base(Pointer ss, Pointer value, Pointer lfinfo) { - var _result = _meos_d.tfunc_tsequenceset_base(ss, value, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo) { - var _result = _meos_d.tfunc_temporal_base(temp, value, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer lfinfo) { - var _result = _meos_d.tfunc_tinstant_tinstant(inst1, inst2, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer lfinfo) { - var _result = _meos_d.tfunc_tdiscseq_tdiscseq(seq1, seq2, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tcontseq_tcontseq(Pointer seq1, Pointer seq2, Pointer lfinfo) { - var _result = _meos_d.tfunc_tcontseq_tcontseq(seq1, seq2, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, Pointer lfinfo) { - var _result = _meos_d.tfunc_tsequenceset_tsequenceset(ss1, ss2, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo) { - var _result = _meos_d.tfunc_temporal_temporal(temp1, temp2, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eafunc_temporal_base(Pointer temp, Pointer value, Pointer lfinfo) { - var _result = _meos_d.eafunc_temporal_base(temp, value, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eafunc_temporal_temporal(Pointer temp1, Pointer temp2, Pointer lfinfo) { - var _result = _meos_d.eafunc_temporal_temporal(temp1, temp2, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer lfunc_set(Pointer set, Pointer lfinfo) { - var _result = _meos_d.lfunc_set(set, lfinfo); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String set_out_fn(Pointer s, int maxdd, Pointer value_out) { - var _result = _meos_d.set_out_fn(s, maxdd, value_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_set_isof_type(Pointer s, int settype) { - var _result = _meos_d.ensure_set_isof_type(s, settype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_set_set(Pointer s1, Pointer s2) { - var _result = _meos_d.ensure_valid_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_find_value(Pointer s, Pointer arg1, Pointer loc) { - var _result = _meos_d.set_find_value(s, arg1, loc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_unnest_state_make(Pointer set) { - var _result = _meos_d.set_unnest_state_make(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void set_unnest_state_next(Pointer state) { - _meos_d.set_unnest_state_next(state); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean ensure_same_skiplist_subtype(Pointer state, byte subtype) { - var _result = _meos_d.ensure_same_skiplist_subtype(state, subtype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void skiplist_set_extra(Pointer state, Pointer data, long size) { - _meos_d.skiplist_set_extra(state, data, size); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer skiplist_headval(Pointer list) { - var _result = _meos_d.skiplist_headval(list); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int common_entry_cmp(Pointer i1, Pointer i2) { - var _result = _meos_d.common_entry_cmp(i1, i2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_index_leaf_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_d.span_index_leaf_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_gist_inner_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_d.span_gist_inner_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_index_recheck(int strategy) { - var _result = _meos_d.span_index_recheck(strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_lower_qsort_cmp(Pointer a, Pointer b) { - var _result = _meos_d.span_lower_qsort_cmp(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_upper_qsort_cmp(Pointer a, Pointer b) { - var _result = _meos_d.span_upper_qsort_cmp(a, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static byte getQuadrant2D(Pointer centroid, Pointer query) { - var _result = _meos_d.getQuadrant2D(centroid, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlap2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overlap2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contain2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.contain2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.left2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overLeft2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overLeft2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.right2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overRight2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overRight2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent2D(Pointer nodebox, Pointer query) { - var _result = _meos_d.adjacent2D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_nodespan(Pointer query, Pointer nodebox) { - var _result = _meos_d.distance_span_nodespan(query, nodebox); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_spgist_get_span(Pointer value, int type) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.span_spgist_get_span(value, type, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static void spannode_init(Pointer nodebox, int spantype, int basetype) { - _meos_d.spannode_init(nodebox, spantype, basetype); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer spannode_copy(Pointer orig) { - var _result = _meos_d.spannode_copy(orig); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void spannode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodespan) { - _meos_d.spannode_quadtree_next(nodebox, centroid, quadrant, next_nodespan); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void spannode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodespan) { - _meos_d.spannode_kdtree_next(nodebox, centroid, node, level, next_nodespan); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean ensure_spanset_isof_type(Pointer ss, int spansettype) { - var _result = _meos_d.ensure_spanset_isof_type(ss, spansettype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_spanset_type(Pointer ss1, Pointer ss2) { - var _result = _meos_d.ensure_same_spanset_type(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_spanset_span_type(Pointer ss, Pointer s) { - var _result = _meos_d.ensure_same_spanset_span_type(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_spanset_span(Pointer ss, Pointer s) { - var _result = _meos_d.ensure_valid_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = _meos_d.ensure_valid_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_find_value(Pointer ss, Pointer v, Pointer loc) { - var _result = _meos_d.spanset_find_value(ss, v, loc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_and(Pointer l, Pointer r) { - var _result = _meos_d.datum_and(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_or(Pointer l, Pointer r) { - var _result = _meos_d.datum_or(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer boolop_tbool_bool(Pointer temp, Pointer b, Pointer func, boolean invert) { - var _result = _meos_d.boolop_tbool_bool(temp, b, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer boolop_tbool_tbool(Pointer temp1, Pointer temp2, Pointer func) { - var _result = _meos_d.boolop_tbool_tbool(temp1, temp2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_same_dimensionality_tbox(Pointer box1, Pointer box2) { - var _result = _meos_d.ensure_same_dimensionality_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_tbox(Pointer s) { - var _result = _meos_d.set_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_tbox(Pointer s) { - var _result = _meos_d.span_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tstzspan(Pointer box) { - var _result = _meos_d.tbox_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_intspan(Pointer box) { - var _result = _meos_d.tbox_intspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_floatspan(Pointer box) { - var _result = _meos_d.tbox_floatspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_index_leaf_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_d.tbox_index_leaf_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_gist_inner_consistent(Pointer key, Pointer query, int strategy) { - var _result = _meos_d.tbox_gist_inner_consistent(key, query, strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_index_recheck(int strategy) { - var _result = _meos_d.tbox_index_recheck(strategy); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tboxnode_init(Pointer centroid, Pointer nodebox) { - _meos_d.tboxnode_init(centroid, nodebox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer tboxnode_copy(Pointer box) { - var _result = _meos_d.tboxnode_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static byte getQuadrant4D(Pointer centroid, Pointer inBox) { - var _result = _meos_d.getQuadrant4D(centroid, inBox); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tboxnode_quadtree_next(Pointer nodebox, Pointer centroid, byte quadrant, Pointer next_nodebox) { - _meos_d.tboxnode_quadtree_next(nodebox, centroid, quadrant, next_nodebox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tboxnode_kdtree_next(Pointer nodebox, Pointer centroid, byte node, int level, Pointer next_nodebox) { - _meos_d.tboxnode_kdtree_next(nodebox, centroid, node, level, next_nodebox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean overlap4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overlap4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contain4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.contain4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.left4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overLeft4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overLeft4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.right4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overRight4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overRight4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.before4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overBefore4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overBefore4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.after4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overAfter4D(Pointer nodebox, Pointer query) { - var _result = _meos_d.overAfter4D(nodebox, query); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tbox_nodebox(Pointer query, Pointer nodebox) { - var _result = _meos_d.distance_tbox_nodebox(query, nodebox); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tnumber_spgist_get_tbox(Pointer value, int type, Pointer result) { - _meos_d.tnumber_spgist_get_tbox(value, type, result); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int tbox_xmin_cmp(Pointer box1, Pointer box2) { - var _result = _meos_d.tbox_xmin_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_xmax_cmp(Pointer box1, Pointer box2) { - var _result = _meos_d.tbox_xmax_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_tmin_cmp(Pointer box1, Pointer box2) { - var _result = _meos_d.tbox_tmin_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_tmax_cmp(Pointer box1, Pointer box2) { - var _result = _meos_d.tbox_tmax_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_level_cmp(Pointer centroid, Pointer query, int level) { - var _result = _meos_d.tbox_level_cmp(centroid, query, level); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_min_int32(Pointer l, Pointer r) { - var _result = _meos_d.datum_min_int32(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_max_int32(Pointer l, Pointer r) { - var _result = _meos_d.datum_max_int32(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_min_int64(Pointer l, Pointer r) { - var _result = _meos_d.datum_min_int64(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_max_int64(Pointer l, Pointer r) { - var _result = _meos_d.datum_max_int64(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_min_float8(Pointer l, Pointer r) { - var _result = _meos_d.datum_min_float8(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_max_float8(Pointer l, Pointer r) { - var _result = _meos_d.datum_max_float8(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sum_int32(Pointer l, Pointer r) { - var _result = _meos_d.datum_sum_int32(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sum_int64(Pointer l, Pointer r) { - var _result = _meos_d.datum_sum_int64(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sum_float8(Pointer l, Pointer r) { - var _result = _meos_d.datum_sum_float8(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_min_text(Pointer l, Pointer r) { - var _result = _meos_d.datum_min_text(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_max_text(Pointer l, Pointer r) { - var _result = _meos_d.datum_max_text(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sum_double2(Pointer l, Pointer r) { - var _result = _meos_d.datum_sum_double2(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sum_double3(Pointer l, Pointer r) { - var _result = _meos_d.datum_sum_double3(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sum_double4(Pointer l, Pointer r) { - var _result = _meos_d.datum_sum_double4(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_skiplist_common(Pointer list, Pointer values, int count, Pointer lower, Pointer upper, Pointer update) { - var _result = _meos_d.temporal_skiplist_common(list, values, count, lower, upper, update); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_skiplist_merge(Pointer spliced, int spliced_count, Pointer values, int count, Pointer func, boolean crossings, Pointer newcount, Pointer tofree, Pointer nfree) { - var _result = _meos_d.temporal_skiplist_merge(spliced, spliced_count, values, count, func, crossings, newcount, tofree, nfree); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_tagg(Pointer instants1, int count1, Pointer instants2, int count2, Pointer func, Pointer newcount, Pointer tofree, Pointer nfree) { - var _result = _meos_d.tinstant_tagg(instants1, count1, instants2, count2, func, newcount, tofree, nfree); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_tagg(Pointer sequences1, int count1, Pointer sequences2, int count2, Pointer func, boolean crossings, Pointer newcount) { - var _result = _meos_d.tsequence_tagg(sequences1, count1, sequences2, count2, func, crossings, newcount); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_tagg_transfn(Pointer state, Pointer seq, Pointer func, boolean interpoint) { - var _result = _meos_d.tcontseq_tagg_transfn(state, seq, func, interpoint); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tagg_combinefn(Pointer state1, Pointer state2, Pointer func, boolean crossings) { - var _result = _meos_d.temporal_tagg_combinefn(state1, state2, func, crossings); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_tagg_transfn(Pointer state, Pointer inst, Pointer func) { - var _result = _meos_d.tinstant_tagg_transfn(state, inst, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstant_tavg_finalfn(Pointer instants, int count) { - var _result = _meos_d.tinstant_tavg_finalfn(instants, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_tavg_finalfn(Pointer sequences, int count) { - var _result = _meos_d.tsequence_tavg_finalfn(sequences, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberinst_transform_tavg(Pointer inst) { - var _result = _meos_d.tnumberinst_transform_tavg(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_transform_tcount(Pointer temp, Pointer count) { - var _result = _meos_d.temporal_transform_tcount(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_transform_tagg(Pointer temp, Pointer count, Pointer func) { - var _result = _meos_d.temporal_transform_tagg(temp, count, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_tagg_transfn(Pointer state, Pointer ss, Pointer func, boolean crossings) { - var _result = _meos_d.tsequenceset_tagg_transfn(state, ss, func, crossings); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_tagg_transfn(Pointer state, Pointer seq, Pointer func) { - var _result = _meos_d.tdiscseq_tagg_transfn(state, seq, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tagg_transfn(Pointer state, Pointer temp, Pointer arg2, boolean crossings) { - var _result = _meos_d.temporal_tagg_transfn(state, temp, arg2, crossings); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tagg_transform_transfn(Pointer state, Pointer temp, Pointer func, boolean crossings, Pointer transform) { - var _result = _meos_d.temporal_tagg_transform_transfn(state, temp, func, crossings, transform); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_similarity(Pointer temp1, Pointer temp2, int simfunc) { - var _result = _meos_d.temporal_similarity(temp1, temp2, simfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_similarity_path(Pointer temp1, Pointer temp2, Pointer count, int simfunc) { - var _result = _meos_d.temporal_similarity_path(temp1, temp2, count, simfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long temporal_bbox_size(int tempype) { - var _result = _meos_d.temporal_bbox_size(tempype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tinstarr_set_bbox(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, Pointer bbox) { - _meos_d.tinstarr_set_bbox(instants, count, lower_inc, upper_inc, interp, bbox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequence_compute_bbox(Pointer seq) { - _meos_d.tsequence_compute_bbox(seq); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tseqarr_compute_bbox(Pointer sequences, int count, Pointer bbox) { - _meos_d.tseqarr_compute_bbox(sequences, count, bbox); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequenceset_compute_bbox(Pointer ss) { - _meos_d.tsequenceset_compute_bbox(ss); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean boxop_temporal_tstzspan(Pointer temp, Pointer s, Pointer func, boolean invert) { - var _result = _meos_d.boxop_temporal_tstzspan(temp, s, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func) { - var _result = _meos_d.boxop_temporal_temporal(temp1, temp2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_tnumber_numspan(Pointer temp, Pointer span, Pointer func, boolean invert) { - var _result = _meos_d.boxop_tnumber_numspan(temp, span, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_tnumber_tbox(Pointer temp, Pointer box, Pointer func, boolean invert) { - var _result = _meos_d.boxop_tnumber_tbox(temp, box, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean boxop_tnumber_tnumber(Pointer temp1, Pointer temp2, Pointer func) { - var _result = _meos_d.boxop_tnumber_tnumber(temp1, temp2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eacomp_base_temporal(Pointer value, Pointer temp, Pointer func, boolean ever) { - var _result = _meos_d.eacomp_base_temporal(value, temp, func, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eacomp_temporal_base(Pointer temp, Pointer value, Pointer func, boolean ever) { - var _result = _meos_d.eacomp_temporal_base(temp, value, func, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eacomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func, boolean ever) { - var _result = _meos_d.eacomp_temporal_temporal(temp1, temp2, func, ever); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcomp_base_temporal(Pointer value, Pointer temp, Pointer func) { - var _result = _meos_d.tcomp_base_temporal(value, temp, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcomp_temporal_base(Pointer temp, Pointer value, Pointer func) { - var _result = _meos_d.tcomp_temporal_base(temp, value, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcomp_temporal_temporal(Pointer temp1, Pointer temp2, Pointer func) { - var _result = _meos_d.tcomp_temporal_temporal(temp1, temp2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_at_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tdiscseq_at_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_restrict_value(Pointer seq, Pointer value, boolean atfunc) { - var _result = _meos_d.tdiscseq_restrict_value(seq, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_restrict_values(Pointer seq, Pointer s, boolean atfunc) { - var _result = _meos_d.tdiscseq_restrict_values(seq, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_minus_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tdiscseq_minus_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_restrict_tstzset(Pointer seq, Pointer s, boolean atfunc) { - var _result = _meos_d.tdiscseq_restrict_tstzset(seq, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { - var _result = _meos_d.tdiscseq_restrict_tstzspanset(seq, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcontseq_restrict_value_iter(Pointer seq, Pointer value, boolean atfunc, Pointer result) { - var _result = _meos_d.tcontseq_restrict_value_iter(seq, value, atfunc, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_delete_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_delete_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_delete_tstzset(Pointer seq, Pointer s) { - var _result = _meos_d.tcontseq_delete_tstzset(seq, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_delete_tstzspanset(Pointer seq, Pointer ss) { - var _result = _meos_d.tcontseq_delete_tstzspanset(seq, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_at_tstzset(Pointer seq, Pointer s) { - var _result = _meos_d.tcontseq_at_tstzset(seq, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_minus_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_minus_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_minus_tstzset(Pointer seq, Pointer s) { - var _result = _meos_d.tcontseq_minus_tstzset(seq, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_minus_tstzspan(Pointer seq, Pointer s) { - var _result = _meos_d.tcontseq_minus_tstzspan(seq, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_restrict_value(Pointer seq, Pointer value, boolean atfunc) { - var _result = _meos_d.tcontseq_restrict_value(seq, value, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_restrict_values(Pointer seq, Pointer s, boolean atfunc) { - var _result = _meos_d.tcontseq_restrict_values(seq, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_at_values_iter(Pointer seq, Pointer set, Pointer result) { - var _result = _meos_d.tsequence_at_values_iter(seq, set, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tnumberseq_cont_restrict_span_iter(Pointer seq, Pointer span, boolean atfunc, Pointer result) { - var _result = _meos_d.tnumberseq_cont_restrict_span_iter(seq, span, atfunc, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tnumberseq_cont_restrict_spanset_iter(Pointer seq, Pointer ss, boolean atfunc, Pointer result) { - var _result = _meos_d.tnumberseq_cont_restrict_spanset_iter(seq, ss, atfunc, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsegment_at_timestamptz(Pointer inst1, Pointer inst2, int interp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsegment_at_timestamptz(inst1, inst2, interp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcontseq_minus_timestamp_iter(Pointer seq, OffsetDateTime t, Pointer result) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_minus_timestamp_iter(seq, t_new, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcontseq_minus_tstzset_iter(Pointer seq, Pointer s, Pointer result) { - var _result = _meos_d.tcontseq_minus_tstzset_iter(seq, s, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcontseq_at_tstzspanset1(Pointer seq, Pointer ss, Pointer result) { - var _result = _meos_d.tcontseq_at_tstzspanset1(seq, ss, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcontseq_minus_tstzspanset_iter(Pointer seq, Pointer ss, Pointer result) { - var _result = _meos_d.tcontseq_minus_tstzspanset_iter(seq, ss, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_at_tstzspan(Pointer seq, Pointer s) { - var _result = _meos_d.tcontseq_at_tstzspan(seq, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_at_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_at_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_restrict_tstzspanset(Pointer seq, Pointer ss, boolean atfunc) { - var _result = _meos_d.tcontseq_restrict_tstzspanset(seq, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_value_at_timestamptz(Pointer seq, OffsetDateTime t) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - var t_new = t.toEpochSecond(); - out = _meos_d.tdiscseq_value_at_timestamptz(seq, t_new, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_disc_restrict_span(Pointer seq, Pointer span, boolean atfunc) { - var _result = _meos_d.tnumberseq_disc_restrict_span(seq, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_disc_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc) { - var _result = _meos_d.tnumberseq_disc_restrict_spanset(seq, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_cont_restrict_span(Pointer seq, Pointer span, boolean atfunc) { - var _result = _meos_d.tnumberseq_cont_restrict_span(seq, span, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumberseq_cont_restrict_spanset(Pointer seq, Pointer ss, boolean atfunc) { - var _result = _meos_d.tnumberseq_cont_restrict_spanset(seq, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumberseq_cont_twavg(Pointer seq) { - var _result = _meos_d.tnumberseq_cont_twavg(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_num_bins(Pointer s, Pointer size, Pointer origin, Pointer start_bin, Pointer end_bin) { - var _result = _meos_d.span_num_bins(s, size, origin, start_bin, end_bin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_bin_init(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer nbins) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.temporal_time_bin_init(temp, duration, torigin_new, nbins); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tile_state_make(Pointer temp, Pointer box, Pointer vsize, Pointer duration, Pointer xorigin, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tbox_tile_state_make(temp, box, vsize, duration, xorigin, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tbox_tile_state_next(Pointer state) { - _meos_d.tbox_tile_state_next(state); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tbox_tile_state_set(Pointer value, OffsetDateTime t, Pointer vsize, long tunits, int basetype, int spantype, Pointer box) { - var t_new = t.toEpochSecond(); - _meos_d.tbox_tile_state_set(value, t_new, vsize, tunits, basetype, spantype, box); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static long interval_units(Pointer interval) { - var _result = _meos_d.interval_units(interval); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_bin_start(OffsetDateTime timestamp, long tunits, OffsetDateTime torigin) { - var timestamp_new = timestamp.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.timestamptz_bin_start(timestamp_new, tunits, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer datum_bin(Pointer value, Pointer size, Pointer offset, int basetype) { - var _result = _meos_d.datum_bin(value, size, offset, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_value_time_tile_init(Pointer temp, Pointer vsize, Pointer duration, Pointer vorigin, OffsetDateTime torigin, Pointer ntiles) { - var torigin_new = torigin.toEpochSecond(); - var _result = _meos_d.tnumber_value_time_tile_init(temp, vsize, duration, vorigin, torigin_new, ntiles); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_tile_state_get(Pointer state, Pointer box) { - var _result = _meos_d.tbox_tile_state_get(state, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_transform_wcount(Pointer temp, Pointer interval, Pointer count) { - var _result = _meos_d.temporal_transform_wcount(temp, interval, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_transform_wavg(Pointer temp, Pointer interval, Pointer count) { - var _result = _meos_d.tnumber_transform_wavg(temp, interval, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_wagg_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, boolean min, boolean crossings) { - var _result = _meos_d.temporal_wagg_transfn(state, temp, interval, func, min, crossings); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_wagg_transform_transfn(Pointer state, Pointer temp, Pointer interval, Pointer func, Pointer transform) { - var _result = _meos_d.temporal_wagg_transform_transfn(state, temp, interval, func, transform); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tinstant_set(Pointer inst, Pointer value, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - _meos_d.tinstant_set(inst, value, t_new); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static double tnumberinst_double(Pointer inst) { - var _result = _meos_d.tnumberinst_double(inst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tinstant_to_string(Pointer inst, int maxdd, Pointer value_out) { - var _result = _meos_d.tinstant_to_string(inst, maxdd, value_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tinstant_restrict_values_test(Pointer inst, Pointer s, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_values_test(inst, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tnumberinst_restrict_span_test(Pointer inst, Pointer s, boolean atfunc) { - var _result = _meos_d.tnumberinst_restrict_span_test(inst, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tnumberinst_restrict_spanset_test(Pointer inst, Pointer ss, boolean atfunc) { - var _result = _meos_d.tnumberinst_restrict_spanset_test(inst, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tinstant_restrict_tstzset_test(Pointer inst, Pointer s, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_tstzset_test(inst, s, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tinstant_restrict_tstzspanset_test(Pointer inst, Pointer ss, boolean atfunc) { - var _result = _meos_d.tinstant_restrict_tstzspanset_test(inst, ss, atfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tinstant_tinstant(Pointer inst1, Pointer inst2, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tinstant_tinstant(inst1, inst2, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void _mulmat(Pointer a, Pointer b, Pointer c, int arows, int acols, int bcols) { - _meos_d._mulmat(a, b, c, arows, acols, bcols); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void _mulvec(Pointer a, Pointer x, Pointer y, int m, int n) { - _meos_d._mulvec(a, x, y, m, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void _transpose(Pointer a, Pointer at, int m, int n) { - _meos_d._transpose(a, at, m, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void _addmat(Pointer a, Pointer b, Pointer c, int m, int n) { - _meos_d._addmat(a, b, c, m, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void _negate(Pointer a, int m, int n) { - _meos_d._negate(a, m, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void _addeye(Pointer a, int n) { - _meos_d._addeye(a, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int _choldc1(Pointer a, Pointer p, int n) { - var _result = _meos_d._choldc1(a, p, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int _choldcsl(Pointer A, Pointer a, Pointer p, int n) { - var _result = _meos_d._choldcsl(A, a, p, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int _cholsl(Pointer A, Pointer a, Pointer p, int n) { - var _result = _meos_d._cholsl(A, a, p, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void _addvec(Pointer a, Pointer b, Pointer c, int n) { - _meos_d._addvec(a, b, c, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void _sub(Pointer a, Pointer b, Pointer c, int n) { - _meos_d._sub(a, b, c, n); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int invert(Pointer a, Pointer ainv) { - var _result = _meos_d.invert(a, ainv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void ekf_initialize(Pointer ekf, float pdiag) { - _meos_d.ekf_initialize(ekf, pdiag); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void ekf_predict(Pointer ekf, float fx, float F, float Q) { - _meos_d.ekf_predict(ekf, fx, F, Q); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void ekf_update_step3(Pointer ekf, float GH) { - _meos_d.ekf_update_step3(ekf, GH); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int ekf_update(Pointer ekf, float z, float hx, float H, float R) { - var _result = _meos_d.ekf_update(ekf, z, hx, H, R); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tfloat_arithop_turnpt(Pointer start1, Pointer end1, Pointer start2, Pointer end2, Pointer param) { - var _result = _meos_d.tfloat_arithop_turnpt(start1, end1, start2, end2, param); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer arithop_tnumber_number(Pointer temp, Pointer value, int oper, Pointer func, boolean invert) { - var _result = _meos_d.arithop_tnumber_number(temp, value, oper, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer arithop_tnumber_tnumber(Pointer temp1, Pointer temp2, int oper, Pointer func, Pointer tpfunc) { - var _result = _meos_d.arithop_tnumber_tnumber(temp1, temp2, oper, func, tpfunc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean float_collinear(double x1, double x2, double x3, double ratio) { - var _result = _meos_d.float_collinear(x1, x2, x3, ratio); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatsegm_interpolate(double value1, double value2, Pointer value) { - var _result = _meos_d.floatsegm_interpolate(value1, value2, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatsegm_locate(double value1, double value2, double value) { - var _result = _meos_d.floatsegm_locate(value1, value2, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tnumbersegm_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int basetype, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tnumbersegm_intersection(start1, end1, start2, end2, basetype, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequence_norm_test(Pointer value1, Pointer value2, Pointer value3, int basetype, int interp, OffsetDateTime t1, OffsetDateTime t2, OffsetDateTime t3) { - var t1_new = t1.toEpochSecond(); - var t2_new = t2.toEpochSecond(); - var t3_new = t3.toEpochSecond(); - var _result = _meos_d.tsequence_norm_test(value1, value2, value3, basetype, interp, t1_new, t2_new, t3_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequence_join_test(Pointer seq1, Pointer seq2, Pointer removelast, Pointer removefirst) { - var _result = _meos_d.tsequence_join_test(seq1, seq2, removelast, removefirst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_join(Pointer seq1, Pointer seq2, boolean removelast, boolean removefirst) { - var _result = _meos_d.tsequence_join(seq1, seq2, removelast, removefirst); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tinstarr_normalize(Pointer instants, int interp, int count, Pointer newcount) { - var _result = _meos_d.tinstarr_normalize(instants, interp, count, newcount); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tcontseq_find_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tcontseq_find_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tdiscseq_find_timestamptz(Pointer seq, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tdiscseq_find_timestamptz(seq, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tseqarr2_to_tseqarr(Pointer sequences, Pointer countseqs, int count, int totalseqs) { - var _result = _meos_d.tseqarr2_to_tseqarr(sequences, countseqs, count, totalseqs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tinstarr_common(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp) { - var _result = _meos_d.ensure_valid_tinstarr_common(instants, count, lower_inc, upper_inc, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make_exp1(Pointer instants, int count, int maxcount, boolean lower_inc, boolean upper_inc, int interp, boolean normalize, Pointer bbox) { - var _result = _meos_d.tsequence_make_exp1(instants, count, maxcount, lower_inc, upper_inc, interp, normalize, bbox); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean synchronize_tsequence_tsequence(Pointer seq1, Pointer seq2, Pointer sync1, Pointer sync2, boolean interpoint) { - var _result = _meos_d.synchronize_tsequence_tsequence(seq1, seq2, sync1, sync2, interpoint); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tfloatsegm_intersection_value(Pointer start, Pointer end, Pointer value, OffsetDateTime lower, OffsetDateTime upper, Pointer t) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tfloatsegm_intersection_value(start, end, value, lower_new, upper_new, t); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsegment_intersection_value(Pointer start, Pointer end, Pointer value, int temptype, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tsegment_intersection_value(start, end, value, temptype, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsegment_intersection(Pointer start1, Pointer end1, Pointer start2, Pointer end2, int temptype, OffsetDateTime lower, OffsetDateTime upper, Pointer t1, Pointer t2) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = _meos_d.tsegment_intersection(start1, end1, start2, end2, temptype, lower_new, upper_new, t1, t2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsegment_value_at_timestamptz(Pointer start, Pointer end, int temptype, OffsetDateTime lower, OffsetDateTime upper, OffsetDateTime t) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsegment_value_at_timestamptz(start, end, temptype, lower_new, upper_new, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tdiscseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tdiscseq_tdiscseq(seq1, seq2, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tcontseq_tdiscseq(Pointer seq1, Pointer seq2, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tcontseq_tdiscseq(seq1, seq2, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tdiscseq_tcontseq(Pointer is, Pointer seq2, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tdiscseq_tcontseq(is, seq2, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tsequence_tinstant(Pointer seq, Pointer inst, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tsequence_tinstant(seq, inst, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tinstant_tsequence(Pointer inst, Pointer seq, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tinstant_tsequence(inst, seq, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tsequence_to_string(Pointer seq, int maxdd, boolean component, Pointer value_out) { - var _result = _meos_d.tsequence_to_string(seq, maxdd, component, value_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_increasing_timestamps(Pointer inst1, Pointer inst2, boolean strict) { - var _result = _meos_d.ensure_increasing_timestamps(inst1, inst2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void bbox_expand(Pointer box1, Pointer box2, int temptype) { - _meos_d.bbox_expand(box1, box2, temptype); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tinstarr(Pointer instants, int count, boolean merge, int interp) { - var _result = _meos_d.ensure_valid_tinstarr(instants, count, merge, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequence_make_valid(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp) { - var _result = _meos_d.tsequence_make_valid(instants, count, lower_inc, upper_inc, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void tnumberseq_shift_scale_value_iter(Pointer seq, Pointer origin, Pointer delta, boolean hasdelta, double scale) { - _meos_d.tnumberseq_shift_scale_value_iter(seq, origin, delta, hasdelta, scale); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tsequence_shift_scale_time_iter(Pointer seq, OffsetDateTime delta, double scale) { - var delta_new = delta.toEpochSecond(); - _meos_d.tsequence_shift_scale_time_iter(seq, delta_new, scale); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int tstepseq_to_linear_iter(Pointer seq, Pointer result) { - var _result = _meos_d.tstepseq_to_linear_iter(seq, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstepseq_to_linear(Pointer seq) { - var _result = _meos_d.tstepseq_to_linear(seq); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_segments_iter(Pointer seq, Pointer result) { - var _result = _meos_d.tsequence_segments_iter(seq, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tsequence_timestamps_iter(Pointer seq, Pointer result) { - var _result = _meos_d.tsequence_timestamps_iter(seq, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tsequenceset_find_timestamptz(Pointer ss, OffsetDateTime t, Pointer loc) { - var t_new = t.toEpochSecond(); - var _result = _meos_d.tsequenceset_find_timestamptz(ss, t_new, loc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tseqarr_normalize(Pointer sequences, int count, Pointer newcount) { - var _result = _meos_d.tseqarr_normalize(sequences, count, newcount); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double datum_distance(Pointer value1, Pointer value2, int basetype, short flags) { - var _result = _meos_d.datum_distance(value1, value2, basetype, flags); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ensure_valid_tinstarr_gaps(Pointer instants, int count, boolean merge, double maxdist, Pointer maxt, Pointer nsplits) { - var _result = _meos_d.ensure_valid_tinstarr_gaps(instants, count, merge, maxdist, maxt, nsplits); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_valid_tseqarr(Pointer sequences, int count) { - var _result = _meos_d.ensure_valid_tseqarr(sequences, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean synchronize_tsequenceset_tsequence(Pointer ss, Pointer seq, int mode, Pointer inter1, Pointer inter2) { - var _result = _meos_d.synchronize_tsequenceset_tsequence(ss, seq, mode, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean synchronize_tsequenceset_tsequenceset(Pointer ss1, Pointer ss2, int mode, Pointer inter1, Pointer inter2) { - var _result = _meos_d.synchronize_tsequenceset_tsequenceset(ss1, ss2, mode, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tsequenceset_tinstant(Pointer ss, Pointer inst, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tsequenceset_tinstant(ss, inst, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tinstant_tsequenceset(Pointer inst, Pointer ss, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tinstant_tsequenceset(inst, ss, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tsequenceset_tdiscseq(Pointer ss, Pointer is, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tsequenceset_tdiscseq(ss, is, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tdiscseq_tsequenceset(Pointer is, Pointer ss, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tdiscseq_tsequenceset(is, ss, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean intersection_tsequence_tsequenceset(Pointer seq, Pointer ss, int mode, Pointer inter1, Pointer inter2) { - var _result = _meos_d.intersection_tsequence_tsequenceset(seq, ss, mode, inter1, inter2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tsequenceset_to_string(Pointer ss, int maxdd, Pointer value_out) { - var _result = _meos_d.tsequenceset_to_string(ss, maxdd, value_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_textcat(Pointer l, Pointer r) { - var _result = _meos_d.datum_textcat(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_lower(Pointer value) { - var _result = _meos_d.datum_lower(value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_upper(Pointer value) { - var _result = _meos_d.datum_upper(value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_initcap(Pointer value) { - var _result = _meos_d.datum_initcap(value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textfunc_ttext(Pointer temp, int func) { - var _result = _meos_d.textfunc_ttext(temp, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textfunc_ttext_text(Pointer temp, Pointer value, Pointer func, boolean invert) { - var _result = _meos_d.textfunc_ttext_text(temp, value, func, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textfunc_ttext_ttext(Pointer temp1, Pointer temp2, Pointer func) { - var _result = _meos_d.textfunc_ttext_ttext(temp1, temp2, func); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_as_wkb(Pointer value, int type, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = _meos_d.datum_as_wkb(value, type, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datum_as_hexwkb(Pointer value, int type, byte variant, Pointer size) { - var _result = _meos_d.datum_as_hexwkb(value, type, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer type_from_wkb(Pointer wkb, long size, int type) { - var _result = _meos_d.type_from_wkb(wkb, size, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer type_from_hexwkb(String hexwkb, long size, int type) { - var _result = _meos_d.type_from_hexwkb(hexwkb, size, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_end_input(Pointer str, String type) { - var _result = _meos_d.ensure_end_input(str, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void p_whitespace(Pointer str) { - _meos_d.p_whitespace(str); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean p_delimchar(Pointer str, String delim) { - var _result = _meos_d.p_delimchar(str, delim); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_obrace(Pointer str) { - var _result = _meos_d.p_obrace(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_obrace(Pointer str, String type) { - var _result = _meos_d.ensure_obrace(str, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_cbrace(Pointer str) { - var _result = _meos_d.p_cbrace(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_cbrace(Pointer str, String type) { - var _result = _meos_d.ensure_cbrace(str, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_obracket(Pointer str) { - var _result = _meos_d.p_obracket(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_cbracket(Pointer str) { - var _result = _meos_d.p_cbracket(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_oparen(Pointer str) { - var _result = _meos_d.p_oparen(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_oparen(Pointer str, String type) { - var _result = _meos_d.ensure_oparen(str, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_cparen(Pointer str) { - var _result = _meos_d.p_cparen(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ensure_cparen(Pointer str, String type) { - var _result = _meos_d.ensure_cparen(str, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean p_comma(Pointer str) { - var _result = _meos_d.p_comma(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer basetype_parse(Pointer str, int basetypid, String delim) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.basetype_parse(str, basetypid, delim, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer double_parse(Pointer str) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = _meos_d.double_parse(str, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer elem_parse(Pointer str, int basetype) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.elem_parse(str, basetype, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer set_parse(Pointer str, int basetype) { - var _result = _meos_d.set_parse(str, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_parse(Pointer str, int spantype, boolean end, Pointer span) { - var _result = _meos_d.span_parse(str, spantype, end, span); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_parse(Pointer str, int spantype) { - var _result = _meos_d.spanset_parse(str, spantype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_parse(Pointer str) { - var _result = _meos_d.tbox_parse(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamp_parse(Pointer str) { - var _result = _meos_d.timestamp_parse(str); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tinstant_parse(Pointer str, int temptype, boolean end) { - var _result = _meos_d.tinstant_parse(str, temptype, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdiscseq_parse(Pointer str, int temptype) { - var _result = _meos_d.tdiscseq_parse(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontseq_parse(Pointer str, int temptype, int interp, boolean end) { - var _result = _meos_d.tcontseq_parse(str, temptype, interp, end); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_parse(Pointer str, int temptype, int interp) { - var _result = _meos_d.tsequenceset_parse(str, temptype, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_parse(Pointer str, int temptype) { - var _result = _meos_d.temporal_parse(str, temptype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_copy(Pointer value, int typid) { - var _result = _meos_d.datum_copy(value, typid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double datum_double(Pointer d, int type) { - var _result = _meos_d.datum_double(d, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer double_datum(double d, int type) { - var _result = _meos_d.double_datum(d, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bstring2bytea(Pointer wkb, long size) { - var _result = _meos_d.bstring2bytea(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double meos_strtod(String str, Pointer endptr) { - var _result = _meos_d.meos_strtod(str, endptr); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer basetype_in(String str, int type, boolean end) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.basetype_in(str, type, end, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static String basetype_out(Pointer value, int type, int maxdd) { - var _result = _meos_d.basetype_out(value, type, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void pfree_array(Pointer array, int count) { - _meos_d.pfree_array(array, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer string_escape(String str, int quotes) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = _meos_d.string_escape(str, quotes, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static long string_unescape(String str, Pointer result) { - var _result = _meos_d.string_unescape(str, result); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stringarr_to_string(Pointer strings, int count, String prefix, String open, String close, int quotes, boolean spaces) { - var _result = _meos_d.stringarr_to_string(strings, count, prefix, open, close, quotes, spaces); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void datumarr_sort(Pointer values, int count, int basetype) { - _meos_d.datumarr_sort(values, count, basetype); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tstzarr_sort(Pointer times, int count) { - _meos_d.tstzarr_sort(times, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void spanarr_sort(Pointer spans, int count) { - _meos_d.spanarr_sort(spans, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tinstarr_sort(Pointer instants, int count) { - _meos_d.tinstarr_sort(instants, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void tseqarr_sort(Pointer sequences, int count) { - _meos_d.tseqarr_sort(sequences, count); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int datumarr_remove_duplicates(Pointer values, int count, int basetype) { - var _result = _meos_d.datumarr_remove_duplicates(values, count, basetype); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tstzarr_remove_duplicates(Pointer values, int count) { - var _result = _meos_d.tstzarr_remove_duplicates(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tinstarr_remove_duplicates(Pointer instants, int count) { - var _result = _meos_d.tinstarr_remove_duplicates(instants, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_add(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_add(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_sub(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_sub(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_mul(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_mul(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum_div(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_div(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datum_cmp(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_cmp(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_eq(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_eq(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_ne(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_ne(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_lt(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_lt(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_le(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_le(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_gt(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_gt(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean datum_ge(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum_ge(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_eq(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum2_eq(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_ne(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum2_ne(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_lt(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum2_lt(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_le(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum2_le(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_gt(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum2_gt(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datum2_ge(Pointer l, Pointer r, int type) { - var _result = _meos_d.datum2_ge(l, r, type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double hypot3d(double x, double y, double z) { - var _result = _meos_d.hypot3d(x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - -} diff --git a/jmeos-core/src/main/java/functions/functions.java b/jmeos-core/src/main/java/functions/functions.java deleted file mode 100644 index 2f60ea797..000000000 --- a/jmeos-core/src/main/java/functions/functions.java +++ /dev/null @@ -1,15460 +0,0 @@ -package functions; - -import jnr.ffi.Pointer; -import jnr.ffi.Memory; -import jnr.ffi.Runtime; -import jnr.ffi.byref.PointerByReference; -import jnr.ffi.Struct; -import utils.JarLibraryLoader; -import utils.meosCatalog.MeosEnums.meosType; -import utils.meosCatalog.MeosEnums.meosOper; -import functions.MeosErrorHandler; - -import java.time.*; - -public class functions { - - static { - // Fully initialize MEOS before any binding call. MEOS splits startup into - // granular steps (allocator, error handler, timezone, collation, PROJ/GEOS/ - // GSL); meos_initialize() runs them in the required order. Installing the - // allocator and collation is load-bearing: without collation, text - // comparisons route into varstr_cmp with an uninitialized collation and - // crash. Callers may still override individual steps afterwards (e.g. - // meos_initialize_timezone("UTC")). - MeosLibrary.meos.meos_initialize(); - } - - public interface MeosLibrary { - - String libraryPath = "libmeos.so"; - - MeosLibrary INSTANCE = JarLibraryLoader.create(MeosLibrary.class, libraryPath).getLibraryInstance(); - - MeosLibrary meos = MeosLibrary.INSTANCE; - - Pointer rtree_create_intspan(); - - Pointer rtree_create_bigintspan(); - - Pointer rtree_create_floatspan(); - - Pointer rtree_create_datespan(); - - Pointer rtree_create_tstzspan(); - - Pointer rtree_create_tbox(); - - Pointer rtree_create_stbox(); - - void rtree_free(Pointer rtree); - - void rtree_insert(Pointer rtree, Pointer box, int id); - - void rtree_insert_temporal(Pointer rtree, Pointer temp, int id); - - Pointer rtree_search(Pointer rtree, int op, Pointer query, Pointer count); - - Pointer rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer count); - - void meos_error(int errlevel, int errcode, String format); - - int meos_errno(); - - int meos_errno_set(int err); - - int meos_errno_restore(int err); - - int meos_errno_reset(); - - void meos_initialize_timezone(String name); - - void meos_initialize_error_handler(error_handler_fn err_handler); - - void meos_finalize_timezone(); - - void meos_finalize_projsrs(); - - void meos_finalize_ways(); - - boolean meos_set_datestyle(String newval, Pointer extra); - - boolean meos_set_intervalstyle(String newval, int extra); - - String meos_get_datestyle(); - - String meos_get_intervalstyle(); - - void meos_set_spatial_ref_sys_csv(String path); - - void meos_initialize(); - - void meos_finalize(); - - int add_date_int(int d, int days); - - Pointer add_interval_interval(Pointer interv1, Pointer interv2); - - long add_timestamptz_interval(long t, Pointer interv); - - boolean bool_in(String str); - - String bool_out(boolean b); - - Pointer cstring2text(String str); - - long date_to_timestamp(int dateVal); - - long date_to_timestamptz(int d); - - double float_exp(double d); - - double float_ln(double d); - - double float_log10(double d); - - String float8_out(double d, int maxdd); - - double float_round(double d, int maxdd); - - int int32_cmp(int l, int r); - - int int64_cmp(long l, long r); - - Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs); - - int minus_date_date(int d1, int d2); - - int minus_date_int(int d, int days); - - long minus_timestamptz_interval(long t, Pointer interv); - - Pointer minus_timestamptz_timestamptz(long t1, long t2); - - Pointer mul_interval_double(Pointer interv, double factor); - - int pg_date_in(String str); - - String pg_date_out(int d); - - int pg_interval_cmp(Pointer interv1, Pointer interv2); - - Pointer pg_interval_in(String str, int typmod); - - String pg_interval_out(Pointer interv); - - long pg_timestamp_in(String str, int typmod); - - String pg_timestamp_out(long t); - - long pg_timestamptz_in(String str, int typmod); - - String pg_timestamptz_out(long t); - - String text2cstring(Pointer txt); - - int text_cmp(Pointer txt1, Pointer txt2); - - Pointer text_copy(Pointer txt); - - Pointer text_in(String str); - - Pointer text_initcap(Pointer txt); - - Pointer text_lower(Pointer txt); - - String text_out(Pointer txt); - - Pointer text_upper(Pointer txt); - - Pointer textcat_text_text(Pointer txt1, Pointer txt2); - - long timestamptz_shift(long t, Pointer interv); - - int timestamp_to_date(long t); - - int timestamptz_to_date(long t); - - Pointer bigintset_in(String str); - - String bigintset_out(Pointer set); - - Pointer bigintspan_expand(Pointer s, long value); - - Pointer bigintspan_in(String str); - - String bigintspan_out(Pointer s); - - Pointer bigintspanset_in(String str); - - String bigintspanset_out(Pointer ss); - - Pointer dateset_in(String str); - - String dateset_out(Pointer s); - - Pointer datespan_in(String str); - - String datespan_out(Pointer s); - - Pointer datespanset_in(String str); - - String datespanset_out(Pointer ss); - - Pointer floatset_in(String str); - - String floatset_out(Pointer set, int maxdd); - - Pointer floatspan_expand(Pointer s, double value); - - Pointer floatspan_in(String str); - - String floatspan_out(Pointer s, int maxdd); - - Pointer floatspanset_in(String str); - - String floatspanset_out(Pointer ss, int maxdd); - - Pointer intset_in(String str); - - String intset_out(Pointer set); - - Pointer intspan_expand(Pointer s, int value); - - Pointer intspan_in(String str); - - String intspan_out(Pointer s); - - Pointer intspanset_in(String str); - - String intspanset_out(Pointer ss); - - String set_as_hexwkb(Pointer s, byte variant, Pointer size_out); - - Pointer set_as_wkb(Pointer s, byte variant, Pointer size_out); - - Pointer set_from_hexwkb(String hexwkb); - - Pointer set_from_wkb(Pointer wkb, long size); - - String span_as_hexwkb(Pointer s, byte variant, Pointer size_out); - - Pointer span_as_wkb(Pointer s, byte variant, Pointer size_out); - - Pointer span_from_hexwkb(String hexwkb); - - Pointer span_from_wkb(Pointer wkb, long size); - - String spanset_as_hexwkb(Pointer ss, byte variant, Pointer size_out); - - Pointer spanset_as_wkb(Pointer ss, byte variant, Pointer size_out); - - Pointer spanset_from_hexwkb(String hexwkb); - - Pointer spanset_from_wkb(Pointer wkb, long size); - - Pointer textset_in(String str); - - String textset_out(Pointer set); - - Pointer tstzset_in(String str); - - String tstzset_out(Pointer set); - - Pointer tstzspan_in(String str); - - String tstzspan_out(Pointer s); - - Pointer tstzspanset_in(String str); - - String tstzspanset_out(Pointer ss); - - Pointer bigintset_make(Pointer values, int count); - - Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); - - Pointer dateset_make(Pointer values, int count); - - Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); - - Pointer floatset_make(Pointer values, int count); - - Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc); - - Pointer intset_make(Pointer values, int count); - - Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc); - - Pointer set_copy(Pointer s); - - Pointer span_copy(Pointer s); - - Pointer spanset_copy(Pointer ss); - - Pointer spanset_make(Pointer spans, int count); - - Pointer textset_make(Pointer values, int count); - - Pointer tstzset_make(Pointer values, int count); - - Pointer tstzspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc); - - Pointer bigint_to_set(long i); - - Pointer bigint_to_span(int i); - - Pointer bigint_to_spanset(int i); - - Pointer date_to_set(int d); - - Pointer date_to_span(int d); - - Pointer date_to_spanset(int d); - - Pointer dateset_to_tstzset(Pointer s); - - Pointer datespan_to_tstzspan(Pointer s); - - Pointer datespanset_to_tstzspanset(Pointer ss); - - Pointer float_to_set(double d); - - Pointer float_to_span(double d); - - Pointer float_to_spanset(double d); - - Pointer floatset_to_intset(Pointer s); - - Pointer floatspan_to_intspan(Pointer s); - - Pointer floatspanset_to_intspanset(Pointer ss); - - Pointer int_to_set(int i); - - Pointer int_to_span(int i); - - Pointer int_to_spanset(int i); - - Pointer intset_to_floatset(Pointer s); - - Pointer intspan_to_floatspan(Pointer s); - - Pointer intspanset_to_floatspanset(Pointer ss); - - Pointer set_to_span(Pointer s); - - Pointer set_to_spanset(Pointer s); - - Pointer span_to_spanset(Pointer s); - - Pointer text_to_set(Pointer txt); - - Pointer timestamptz_to_set(long t); - - Pointer timestamptz_to_span(long t); - - Pointer timestamptz_to_spanset(long t); - - Pointer tstzset_to_dateset(Pointer s); - - Pointer tstzspan_to_datespan(Pointer s); - - Pointer tstzspanset_to_datespanset(Pointer ss); - - long bigintset_end_value(Pointer s); - - long bigintset_start_value(Pointer s); - - boolean bigintset_value_n(Pointer s, int n, Pointer result); - - Pointer bigintset_values(Pointer s); - - long bigintspan_lower(Pointer s); - - long bigintspan_upper(Pointer s); - - long bigintspan_width(Pointer s); - - long bigintspanset_lower(Pointer ss); - - long bigintspanset_upper(Pointer ss); - - long bigintspanset_width(Pointer ss, boolean boundspan); - - int dateset_end_value(Pointer s); - - int dateset_start_value(Pointer s); - - boolean dateset_value_n(Pointer s, int n, Pointer result); - - Pointer dateset_values(Pointer s); - - Pointer datespan_duration(Pointer s); - - int datespan_lower(Pointer s); - - int datespan_upper(Pointer s); - - boolean datespanset_date_n(Pointer ss, int n, Pointer result); - - Pointer datespanset_dates(Pointer ss); - - Pointer datespanset_duration(Pointer ss, boolean boundspan); - - int datespanset_end_date(Pointer ss); - - int datespanset_num_dates(Pointer ss); - - int datespanset_start_date(Pointer ss); - - double floatset_end_value(Pointer s); - - double floatset_start_value(Pointer s); - - boolean floatset_value_n(Pointer s, int n, Pointer result); - - Pointer floatset_values(Pointer s); - - double floatspan_lower(Pointer s); - - double floatspan_upper(Pointer s); - - double floatspan_width(Pointer s); - - double floatspanset_lower(Pointer ss); - - double floatspanset_upper(Pointer ss); - - double floatspanset_width(Pointer ss, boolean boundspan); - - int intset_end_value(Pointer s); - - int intset_start_value(Pointer s); - - boolean intset_value_n(Pointer s, int n, Pointer result); - - Pointer intset_values(Pointer s); - - int intspan_lower(Pointer s); - - int intspan_upper(Pointer s); - - int intspan_width(Pointer s); - - int intspanset_lower(Pointer ss); - - int intspanset_upper(Pointer ss); - - int intspanset_width(Pointer ss, boolean boundspan); - - int set_hash(Pointer s); - - long set_hash_extended(Pointer s, long seed); - - int set_num_values(Pointer s); - - int span_hash(Pointer s); - - long span_hash_extended(Pointer s, long seed); - - boolean span_lower_inc(Pointer s); - - boolean span_upper_inc(Pointer s); - - Pointer spanset_end_span(Pointer ss); - - int spanset_hash(Pointer ss); - - long spanset_hash_extended(Pointer ss, long seed); - - boolean spanset_lower_inc(Pointer ss); - - int spanset_num_spans(Pointer ss); - - Pointer spanset_span(Pointer ss); - - Pointer spanset_span_n(Pointer ss, int i); - - Pointer spanset_spanarr(Pointer ss); - - Pointer spanset_start_span(Pointer ss); - - boolean spanset_upper_inc(Pointer ss); - - Pointer textset_end_value(Pointer s); - - Pointer textset_start_value(Pointer s); - - boolean textset_value_n(Pointer s, int n, Pointer result); - - Pointer textset_values(Pointer s); - - long tstzset_end_value(Pointer s); - - long tstzset_start_value(Pointer s); - - boolean tstzset_value_n(Pointer s, int n, Pointer result); - - Pointer tstzset_values(Pointer s); - - Pointer tstzspan_duration(Pointer s); - - long tstzspan_lower(Pointer s); - - long tstzspan_upper(Pointer s); - - Pointer tstzspanset_duration(Pointer ss, boolean boundspan); - - long tstzspanset_end_timestamptz(Pointer ss); - - long tstzspanset_lower(Pointer ss); - - int tstzspanset_num_timestamps(Pointer ss); - - long tstzspanset_start_timestamptz(Pointer ss); - - Pointer tstzspanset_timestamps(Pointer ss); - - boolean tstzspanset_timestamptz_n(Pointer ss, int n, Pointer result); - - long tstzspanset_upper(Pointer ss); - - Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer bigintspan_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth); - - Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer datespan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer floatset_ceil(Pointer s); - - Pointer floatset_degrees(Pointer s, boolean normalize); - - Pointer floatset_floor(Pointer s); - - Pointer floatset_radians(Pointer s); - - Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer floatspan_ceil(Pointer s); - - Pointer floatspan_degrees(Pointer s, boolean normalize); - - Pointer floatspan_floor(Pointer s); - - Pointer floatspan_radians(Pointer s); - - Pointer floatspan_round(Pointer s, int maxdd); - - Pointer floatspan_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer floatspanset_ceil(Pointer ss); - - Pointer floatspanset_floor(Pointer ss); - - Pointer floatspanset_degrees(Pointer ss, boolean normalize); - - Pointer floatspanset_radians(Pointer ss); - - Pointer floatspanset_round(Pointer ss, int maxdd); - - Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer intspan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer tstzspan_expand(Pointer s, Pointer interv); - - Pointer set_round(Pointer s, int maxdd); - - Pointer textcat_text_textset(Pointer txt, Pointer s); - - Pointer textcat_textset_text(Pointer s, Pointer txt); - - Pointer textset_initcap(Pointer s); - - Pointer textset_lower(Pointer s); - - Pointer textset_upper(Pointer s); - - long timestamptz_tprecision(long t, Pointer duration, long torigin); - - Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration); - - Pointer tstzset_tprecision(Pointer s, Pointer duration, long torigin); - - Pointer tstzspan_shift_scale(Pointer s, Pointer shift, Pointer duration); - - Pointer tstzspan_tprecision(Pointer s, Pointer duration, long torigin); - - Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration); - - Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, long torigin); - - int set_cmp(Pointer s1, Pointer s2); - - boolean set_eq(Pointer s1, Pointer s2); - - boolean set_ge(Pointer s1, Pointer s2); - - boolean set_gt(Pointer s1, Pointer s2); - - boolean set_le(Pointer s1, Pointer s2); - - boolean set_lt(Pointer s1, Pointer s2); - - boolean set_ne(Pointer s1, Pointer s2); - - int span_cmp(Pointer s1, Pointer s2); - - boolean span_eq(Pointer s1, Pointer s2); - - boolean span_ge(Pointer s1, Pointer s2); - - boolean span_gt(Pointer s1, Pointer s2); - - boolean span_le(Pointer s1, Pointer s2); - - boolean span_lt(Pointer s1, Pointer s2); - - boolean span_ne(Pointer s1, Pointer s2); - - int spanset_cmp(Pointer ss1, Pointer ss2); - - boolean spanset_eq(Pointer ss1, Pointer ss2); - - boolean spanset_ge(Pointer ss1, Pointer ss2); - - boolean spanset_gt(Pointer ss1, Pointer ss2); - - boolean spanset_le(Pointer ss1, Pointer ss2); - - boolean spanset_lt(Pointer ss1, Pointer ss2); - - boolean spanset_ne(Pointer ss1, Pointer ss2); - - Pointer set_spans(Pointer s); - - Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count); - - Pointer set_split_n_spans(Pointer s, int span_count, Pointer count); - - Pointer spanset_spans(Pointer ss); - - Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count); - - Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count); - - boolean adjacent_span_bigint(Pointer s, long i); - - boolean adjacent_span_date(Pointer s, int d); - - boolean adjacent_span_float(Pointer s, double d); - - boolean adjacent_span_int(Pointer s, int i); - - boolean adjacent_span_span(Pointer s1, Pointer s2); - - boolean adjacent_span_spanset(Pointer s, Pointer ss); - - boolean adjacent_span_timestamptz(Pointer s, long t); - - boolean adjacent_spanset_bigint(Pointer ss, long i); - - boolean adjacent_spanset_date(Pointer ss, int d); - - boolean adjacent_spanset_float(Pointer ss, double d); - - boolean adjacent_spanset_int(Pointer ss, int i); - - boolean adjacent_spanset_timestamptz(Pointer ss, long t); - - boolean adjacent_spanset_span(Pointer ss, Pointer s); - - boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contained_bigint_set(long i, Pointer s); - - boolean contained_bigint_span(long i, Pointer s); - - boolean contained_bigint_spanset(long i, Pointer ss); - - boolean contained_date_set(int d, Pointer s); - - boolean contained_date_span(int d, Pointer s); - - boolean contained_date_spanset(int d, Pointer ss); - - boolean contained_float_set(double d, Pointer s); - - boolean contained_float_span(double d, Pointer s); - - boolean contained_float_spanset(double d, Pointer ss); - - boolean contained_int_set(int i, Pointer s); - - boolean contained_int_span(int i, Pointer s); - - boolean contained_int_spanset(int i, Pointer ss); - - boolean contained_set_set(Pointer s1, Pointer s2); - - boolean contained_span_span(Pointer s1, Pointer s2); - - boolean contained_span_spanset(Pointer s, Pointer ss); - - boolean contained_spanset_span(Pointer ss, Pointer s); - - boolean contained_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contained_text_set(Pointer txt, Pointer s); - - boolean contained_timestamptz_set(long t, Pointer s); - - boolean contained_timestamptz_span(long t, Pointer s); - - boolean contained_timestamptz_spanset(long t, Pointer ss); - - boolean contains_set_bigint(Pointer s, long i); - - boolean contains_set_date(Pointer s, int d); - - boolean contains_set_float(Pointer s, double d); - - boolean contains_set_int(Pointer s, int i); - - boolean contains_set_set(Pointer s1, Pointer s2); - - boolean contains_set_text(Pointer s, Pointer t); - - boolean contains_set_timestamptz(Pointer s, long t); - - boolean contains_span_bigint(Pointer s, long i); - - boolean contains_span_date(Pointer s, int d); - - boolean contains_span_float(Pointer s, double d); - - boolean contains_span_int(Pointer s, int i); - - boolean contains_span_span(Pointer s1, Pointer s2); - - boolean contains_span_spanset(Pointer s, Pointer ss); - - boolean contains_span_timestamptz(Pointer s, long t); - - boolean contains_spanset_bigint(Pointer ss, long i); - - boolean contains_spanset_date(Pointer ss, int d); - - boolean contains_spanset_float(Pointer ss, double d); - - boolean contains_spanset_int(Pointer ss, int i); - - boolean contains_spanset_span(Pointer ss, Pointer s); - - boolean contains_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean contains_spanset_timestamptz(Pointer ss, long t); - - boolean overlaps_set_set(Pointer s1, Pointer s2); - - boolean overlaps_span_span(Pointer s1, Pointer s2); - - boolean overlaps_span_spanset(Pointer s, Pointer ss); - - boolean overlaps_spanset_span(Pointer ss, Pointer s); - - boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean after_date_set(int d, Pointer s); - - boolean after_date_span(int d, Pointer s); - - boolean after_date_spanset(int d, Pointer ss); - - boolean after_set_date(Pointer s, int d); - - boolean after_set_timestamptz(Pointer s, long t); - - boolean after_span_date(Pointer s, int d); - - boolean after_span_timestamptz(Pointer s, long t); - - boolean after_spanset_date(Pointer ss, int d); - - boolean after_spanset_timestamptz(Pointer ss, long t); - - boolean after_timestamptz_set(long t, Pointer s); - - boolean after_timestamptz_span(long t, Pointer s); - - boolean after_timestamptz_spanset(long t, Pointer ss); - - boolean before_date_set(int d, Pointer s); - - boolean before_date_span(int d, Pointer s); - - boolean before_date_spanset(int d, Pointer ss); - - boolean before_set_date(Pointer s, int d); - - boolean before_set_timestamptz(Pointer s, long t); - - boolean before_span_date(Pointer s, int d); - - boolean before_span_timestamptz(Pointer s, long t); - - boolean before_spanset_date(Pointer ss, int d); - - boolean before_spanset_timestamptz(Pointer ss, long t); - - boolean before_timestamptz_set(long t, Pointer s); - - boolean before_timestamptz_span(long t, Pointer s); - - boolean before_timestamptz_spanset(long t, Pointer ss); - - boolean left_bigint_set(long i, Pointer s); - - boolean left_bigint_span(long i, Pointer s); - - boolean left_bigint_spanset(long i, Pointer ss); - - boolean left_float_set(double d, Pointer s); - - boolean left_float_span(double d, Pointer s); - - boolean left_float_spanset(double d, Pointer ss); - - boolean left_int_set(int i, Pointer s); - - boolean left_int_span(int i, Pointer s); - - boolean left_int_spanset(int i, Pointer ss); - - boolean left_set_bigint(Pointer s, long i); - - boolean left_set_float(Pointer s, double d); - - boolean left_set_int(Pointer s, int i); - - boolean left_set_set(Pointer s1, Pointer s2); - - boolean left_set_text(Pointer s, Pointer txt); - - boolean left_span_bigint(Pointer s, long i); - - boolean left_span_float(Pointer s, double d); - - boolean left_span_int(Pointer s, int i); - - boolean left_span_span(Pointer s1, Pointer s2); - - boolean left_span_spanset(Pointer s, Pointer ss); - - boolean left_spanset_bigint(Pointer ss, long i); - - boolean left_spanset_float(Pointer ss, double d); - - boolean left_spanset_int(Pointer ss, int i); - - boolean left_spanset_span(Pointer ss, Pointer s); - - boolean left_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean left_text_set(Pointer txt, Pointer s); - - boolean overafter_date_set(int d, Pointer s); - - boolean overafter_date_span(int d, Pointer s); - - boolean overafter_date_spanset(int d, Pointer ss); - - boolean overafter_set_date(Pointer s, int d); - - boolean overafter_set_timestamptz(Pointer s, long t); - - boolean overafter_span_date(Pointer s, int d); - - boolean overafter_span_timestamptz(Pointer s, long t); - - boolean overafter_spanset_date(Pointer ss, int d); - - boolean overafter_spanset_timestamptz(Pointer ss, long t); - - boolean overafter_timestamptz_set(long t, Pointer s); - - boolean overafter_timestamptz_span(long t, Pointer s); - - boolean overafter_timestamptz_spanset(long t, Pointer ss); - - boolean overbefore_date_set(int d, Pointer s); - - boolean overbefore_date_span(int d, Pointer s); - - boolean overbefore_date_spanset(int d, Pointer ss); - - boolean overbefore_set_date(Pointer s, int d); - - boolean overbefore_set_timestamptz(Pointer s, long t); - - boolean overbefore_span_date(Pointer s, int d); - - boolean overbefore_span_timestamptz(Pointer s, long t); - - boolean overbefore_spanset_date(Pointer ss, int d); - - boolean overbefore_spanset_timestamptz(Pointer ss, long t); - - boolean overbefore_timestamptz_set(long t, Pointer s); - - boolean overbefore_timestamptz_span(long t, Pointer s); - - boolean overbefore_timestamptz_spanset(long t, Pointer ss); - - boolean overleft_bigint_set(long i, Pointer s); - - boolean overleft_bigint_span(long i, Pointer s); - - boolean overleft_bigint_spanset(long i, Pointer ss); - - boolean overleft_float_set(double d, Pointer s); - - boolean overleft_float_span(double d, Pointer s); - - boolean overleft_float_spanset(double d, Pointer ss); - - boolean overleft_int_set(int i, Pointer s); - - boolean overleft_int_span(int i, Pointer s); - - boolean overleft_int_spanset(int i, Pointer ss); - - boolean overleft_set_bigint(Pointer s, long i); - - boolean overleft_set_float(Pointer s, double d); - - boolean overleft_set_int(Pointer s, int i); - - boolean overleft_set_set(Pointer s1, Pointer s2); - - boolean overleft_set_text(Pointer s, Pointer txt); - - boolean overleft_span_bigint(Pointer s, long i); - - boolean overleft_span_float(Pointer s, double d); - - boolean overleft_span_int(Pointer s, int i); - - boolean overleft_span_span(Pointer s1, Pointer s2); - - boolean overleft_span_spanset(Pointer s, Pointer ss); - - boolean overleft_spanset_bigint(Pointer ss, long i); - - boolean overleft_spanset_float(Pointer ss, double d); - - boolean overleft_spanset_int(Pointer ss, int i); - - boolean overleft_spanset_span(Pointer ss, Pointer s); - - boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean overleft_text_set(Pointer txt, Pointer s); - - boolean overright_bigint_set(long i, Pointer s); - - boolean overright_bigint_span(long i, Pointer s); - - boolean overright_bigint_spanset(long i, Pointer ss); - - boolean overright_float_set(double d, Pointer s); - - boolean overright_float_span(double d, Pointer s); - - boolean overright_float_spanset(double d, Pointer ss); - - boolean overright_int_set(int i, Pointer s); - - boolean overright_int_span(int i, Pointer s); - - boolean overright_int_spanset(int i, Pointer ss); - - boolean overright_set_bigint(Pointer s, long i); - - boolean overright_set_float(Pointer s, double d); - - boolean overright_set_int(Pointer s, int i); - - boolean overright_set_set(Pointer s1, Pointer s2); - - boolean overright_set_text(Pointer s, Pointer txt); - - boolean overright_span_bigint(Pointer s, long i); - - boolean overright_span_float(Pointer s, double d); - - boolean overright_span_int(Pointer s, int i); - - boolean overright_span_span(Pointer s1, Pointer s2); - - boolean overright_span_spanset(Pointer s, Pointer ss); - - boolean overright_spanset_bigint(Pointer ss, long i); - - boolean overright_spanset_float(Pointer ss, double d); - - boolean overright_spanset_int(Pointer ss, int i); - - boolean overright_spanset_span(Pointer ss, Pointer s); - - boolean overright_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean overright_text_set(Pointer txt, Pointer s); - - boolean right_bigint_set(long i, Pointer s); - - boolean right_bigint_span(long i, Pointer s); - - boolean right_bigint_spanset(long i, Pointer ss); - - boolean right_float_set(double d, Pointer s); - - boolean right_float_span(double d, Pointer s); - - boolean right_float_spanset(double d, Pointer ss); - - boolean right_int_set(int i, Pointer s); - - boolean right_int_span(int i, Pointer s); - - boolean right_int_spanset(int i, Pointer ss); - - boolean right_set_bigint(Pointer s, long i); - - boolean right_set_float(Pointer s, double d); - - boolean right_set_int(Pointer s, int i); - - boolean right_set_set(Pointer s1, Pointer s2); - - boolean right_set_text(Pointer s, Pointer txt); - - boolean right_span_bigint(Pointer s, long i); - - boolean right_span_float(Pointer s, double d); - - boolean right_span_int(Pointer s, int i); - - boolean right_span_span(Pointer s1, Pointer s2); - - boolean right_span_spanset(Pointer s, Pointer ss); - - boolean right_spanset_bigint(Pointer ss, long i); - - boolean right_spanset_float(Pointer ss, double d); - - boolean right_spanset_int(Pointer ss, int i); - - boolean right_spanset_span(Pointer ss, Pointer s); - - boolean right_spanset_spanset(Pointer ss1, Pointer ss2); - - boolean right_text_set(Pointer txt, Pointer s); - - Pointer intersection_bigint_set(long i, Pointer s); - - Pointer intersection_date_set(int d, Pointer s); - - Pointer intersection_float_set(double d, Pointer s); - - Pointer intersection_int_set(int i, Pointer s); - - Pointer intersection_set_bigint(Pointer s, long i); - - Pointer intersection_set_date(Pointer s, int d); - - Pointer intersection_set_float(Pointer s, double d); - - Pointer intersection_set_int(Pointer s, int i); - - Pointer intersection_set_set(Pointer s1, Pointer s2); - - Pointer intersection_set_text(Pointer s, Pointer txt); - - Pointer intersection_set_timestamptz(Pointer s, long t); - - Pointer intersection_span_bigint(Pointer s, long i); - - Pointer intersection_span_date(Pointer s, int d); - - Pointer intersection_span_float(Pointer s, double d); - - Pointer intersection_span_int(Pointer s, int i); - - Pointer intersection_span_span(Pointer s1, Pointer s2); - - Pointer intersection_span_spanset(Pointer s, Pointer ss); - - Pointer intersection_span_timestamptz(Pointer s, long t); - - Pointer intersection_spanset_bigint(Pointer ss, long i); - - Pointer intersection_spanset_date(Pointer ss, int d); - - Pointer intersection_spanset_float(Pointer ss, double d); - - Pointer intersection_spanset_int(Pointer ss, int i); - - Pointer intersection_spanset_span(Pointer ss, Pointer s); - - Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer intersection_spanset_timestamptz(Pointer ss, long t); - - Pointer intersection_text_set(Pointer txt, Pointer s); - - Pointer intersection_timestamptz_set(long t, Pointer s); - - Pointer minus_bigint_set(long i, Pointer s); - - Pointer minus_bigint_span(long i, Pointer s); - - Pointer minus_bigint_spanset(long i, Pointer ss); - - Pointer minus_date_set(int d, Pointer s); - - Pointer minus_date_span(int d, Pointer s); - - Pointer minus_date_spanset(int d, Pointer ss); - - Pointer minus_float_set(double d, Pointer s); - - Pointer minus_float_span(double d, Pointer s); - - Pointer minus_float_spanset(double d, Pointer ss); - - Pointer minus_int_set(int i, Pointer s); - - Pointer minus_int_span(int i, Pointer s); - - Pointer minus_int_spanset(int i, Pointer ss); - - Pointer minus_set_bigint(Pointer s, long i); - - Pointer minus_set_date(Pointer s, int d); - - Pointer minus_set_float(Pointer s, double d); - - Pointer minus_set_int(Pointer s, int i); - - Pointer minus_set_set(Pointer s1, Pointer s2); - - Pointer minus_set_text(Pointer s, Pointer txt); - - Pointer minus_set_timestamptz(Pointer s, long t); - - Pointer minus_span_bigint(Pointer s, long i); - - Pointer minus_span_date(Pointer s, int d); - - Pointer minus_span_float(Pointer s, double d); - - Pointer minus_span_int(Pointer s, int i); - - Pointer minus_span_span(Pointer s1, Pointer s2); - - Pointer minus_span_spanset(Pointer s, Pointer ss); - - Pointer minus_span_timestamptz(Pointer s, long t); - - Pointer minus_spanset_bigint(Pointer ss, long i); - - Pointer minus_spanset_date(Pointer ss, int d); - - Pointer minus_spanset_float(Pointer ss, double d); - - Pointer minus_spanset_int(Pointer ss, int i); - - Pointer minus_spanset_span(Pointer ss, Pointer s); - - Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer minus_spanset_timestamptz(Pointer ss, long t); - - Pointer minus_text_set(Pointer txt, Pointer s); - - Pointer minus_timestamptz_set(long t, Pointer s); - - Pointer minus_timestamptz_span(long t, Pointer s); - - Pointer minus_timestamptz_spanset(long t, Pointer ss); - - Pointer union_bigint_set(long i, Pointer s); - - Pointer union_bigint_span(Pointer s, long i); - - Pointer union_bigint_spanset(long i, Pointer ss); - - Pointer union_date_set(int d, Pointer s); - - Pointer union_date_span(Pointer s, int d); - - Pointer union_date_spanset(int d, Pointer ss); - - Pointer union_float_set(double d, Pointer s); - - Pointer union_float_span(Pointer s, double d); - - Pointer union_float_spanset(double d, Pointer ss); - - Pointer union_int_set(int i, Pointer s); - - Pointer union_int_span(int i, Pointer s); - - Pointer union_int_spanset(int i, Pointer ss); - - Pointer union_set_bigint(Pointer s, long i); - - Pointer union_set_date(Pointer s, int d); - - Pointer union_set_float(Pointer s, double d); - - Pointer union_set_int(Pointer s, int i); - - Pointer union_set_set(Pointer s1, Pointer s2); - - Pointer union_set_text(Pointer s, Pointer txt); - - Pointer union_set_timestamptz(Pointer s, long t); - - Pointer union_span_bigint(Pointer s, long i); - - Pointer union_span_date(Pointer s, int d); - - Pointer union_span_float(Pointer s, double d); - - Pointer union_span_int(Pointer s, int i); - - Pointer union_span_span(Pointer s1, Pointer s2); - - Pointer union_span_spanset(Pointer s, Pointer ss); - - Pointer union_span_timestamptz(Pointer s, long t); - - Pointer union_spanset_bigint(Pointer ss, long i); - - Pointer union_spanset_date(Pointer ss, int d); - - Pointer union_spanset_float(Pointer ss, double d); - - Pointer union_spanset_int(Pointer ss, int i); - - Pointer union_spanset_span(Pointer ss, Pointer s); - - Pointer union_spanset_spanset(Pointer ss1, Pointer ss2); - - Pointer union_spanset_timestamptz(Pointer ss, long t); - - Pointer union_text_set(Pointer txt, Pointer s); - - Pointer union_timestamptz_set(long t, Pointer s); - - Pointer union_timestamptz_span(long t, Pointer s); - - Pointer union_timestamptz_spanset(long t, Pointer ss); - - long distance_bigintset_bigintset(Pointer s1, Pointer s2); - - long distance_bigintspan_bigintspan(Pointer s1, Pointer s2); - - long distance_bigintspanset_bigintspan(Pointer ss, Pointer s); - - long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2); - - int distance_dateset_dateset(Pointer s1, Pointer s2); - - int distance_datespan_datespan(Pointer s1, Pointer s2); - - int distance_datespanset_datespan(Pointer ss, Pointer s); - - int distance_datespanset_datespanset(Pointer ss1, Pointer ss2); - - double distance_floatset_floatset(Pointer s1, Pointer s2); - - double distance_floatspan_floatspan(Pointer s1, Pointer s2); - - double distance_floatspanset_floatspan(Pointer ss, Pointer s); - - double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2); - - int distance_intset_intset(Pointer s1, Pointer s2); - - int distance_intspan_intspan(Pointer s1, Pointer s2); - - int distance_intspanset_intspan(Pointer ss, Pointer s); - - int distance_intspanset_intspanset(Pointer ss1, Pointer ss2); - - long distance_set_bigint(Pointer s, long i); - - int distance_set_date(Pointer s, int d); - - double distance_set_float(Pointer s, double d); - - int distance_set_int(Pointer s, int i); - - double distance_set_timestamptz(Pointer s, long t); - - long distance_span_bigint(Pointer s, long i); - - int distance_span_date(Pointer s, int d); - - double distance_span_float(Pointer s, double d); - - int distance_span_int(Pointer s, int i); - - double distance_span_timestamptz(Pointer s, long t); - - long distance_spanset_bigint(Pointer ss, long i); - - int distance_spanset_date(Pointer ss, int d); - - double distance_spanset_float(Pointer ss, double d); - - int distance_spanset_int(Pointer ss, int i); - - double distance_spanset_timestamptz(Pointer ss, long t); - - double distance_tstzset_tstzset(Pointer s1, Pointer s2); - - double distance_tstzspan_tstzspan(Pointer s1, Pointer s2); - - double distance_tstzspanset_tstzspan(Pointer ss, Pointer s); - - double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2); - - Pointer bigint_extent_transfn(Pointer state, long i); - - Pointer bigint_union_transfn(Pointer state, long i); - - Pointer date_extent_transfn(Pointer state, int d); - - Pointer date_union_transfn(Pointer state, int d); - - Pointer float_extent_transfn(Pointer state, double d); - - Pointer float_union_transfn(Pointer state, double d); - - Pointer int_extent_transfn(Pointer state, int i); - - Pointer int_union_transfn(Pointer state, int i); - - Pointer set_extent_transfn(Pointer state, Pointer s); - - Pointer set_union_finalfn(Pointer state); - - Pointer set_union_transfn(Pointer state, Pointer s); - - Pointer span_extent_transfn(Pointer state, Pointer s); - - Pointer span_union_transfn(Pointer state, Pointer s); - - Pointer spanset_extent_transfn(Pointer state, Pointer ss); - - Pointer spanset_union_finalfn(Pointer state); - - Pointer spanset_union_transfn(Pointer state, Pointer ss); - - Pointer text_union_transfn(Pointer state, Pointer txt); - - Pointer timestamptz_extent_transfn(Pointer state, long t); - - Pointer timestamptz_union_transfn(Pointer state, long t); - - long bigint_get_bin(long value, long vsize, long vorigin); - - Pointer bigintspan_bins(Pointer s, long vsize, long vorigin, Pointer count); - - Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count); - - int date_get_bin(int d, Pointer duration, int torigin); - - Pointer datespan_bins(Pointer s, Pointer duration, int torigin, Pointer count); - - Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count); - - double float_get_bin(double value, double vsize, double vorigin); - - Pointer floatspan_bins(Pointer s, double vsize, double vorigin, Pointer count); - - Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count); - - int int_get_bin(int value, int vsize, int vorigin); - - Pointer intspan_bins(Pointer s, int vsize, int vorigin, Pointer count); - - Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count); - - long timestamptz_get_bin(long t, Pointer duration, long torigin); - - Pointer tstzspan_bins(Pointer s, Pointer duration, long origin, Pointer count); - - Pointer tstzspanset_bins(Pointer ss, Pointer duration, long torigin, Pointer count); - - String tbox_as_hexwkb(Pointer box, byte variant, Pointer size); - - Pointer tbox_as_wkb(Pointer box, byte variant, Pointer size_out); - - Pointer tbox_from_hexwkb(String hexwkb); - - Pointer tbox_from_wkb(Pointer wkb, long size); - - Pointer tbox_in(String str); - - String tbox_out(Pointer box, int maxdd); - - Pointer float_timestamptz_to_tbox(double d, long t); - - Pointer float_tstzspan_to_tbox(double d, Pointer s); - - Pointer int_timestamptz_to_tbox(int i, long t); - - Pointer int_tstzspan_to_tbox(int i, Pointer s); - - Pointer numspan_tstzspan_to_tbox(Pointer span, Pointer s); - - Pointer numspan_timestamptz_to_tbox(Pointer span, long t); - - Pointer tbox_copy(Pointer box); - - Pointer tbox_make(Pointer s, Pointer p); - - Pointer float_to_tbox(double d); - - Pointer int_to_tbox(int i); - - Pointer set_to_tbox(Pointer s); - - Pointer span_to_tbox(Pointer s); - - Pointer spanset_to_tbox(Pointer ss); - - Pointer tbox_to_intspan(Pointer box); - - Pointer tbox_to_floatspan(Pointer box); - - Pointer tbox_to_tstzspan(Pointer box); - - Pointer timestamptz_to_tbox(long t); - - int tbox_hash(Pointer box); - - long tbox_hash_extended(Pointer box, long seed); - - boolean tbox_hast(Pointer box); - - boolean tbox_hasx(Pointer box); - - boolean tbox_tmax(Pointer box, Pointer result); - - boolean tbox_tmax_inc(Pointer box, Pointer result); - - boolean tbox_tmin(Pointer box, Pointer result); - - boolean tbox_tmin_inc(Pointer box, Pointer result); - - boolean tbox_xmax(Pointer box, Pointer result); - - boolean tbox_xmax_inc(Pointer box, Pointer result); - - boolean tbox_xmin(Pointer box, Pointer result); - - boolean tbox_xmin_inc(Pointer box, Pointer result); - - boolean tboxfloat_xmax(Pointer box, Pointer result); - - boolean tboxfloat_xmin(Pointer box, Pointer result); - - boolean tboxint_xmax(Pointer box, Pointer result); - - boolean tboxint_xmin(Pointer box, Pointer result); - - Pointer tbox_expand_time(Pointer box, Pointer interv); - - Pointer tbox_round(Pointer box, int maxdd); - - Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); - - Pointer tfloatbox_expand(Pointer box, double d); - - Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth); - - Pointer tintbox_expand(Pointer box, int i); - - Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth); - - Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict); - - Pointer intersection_tbox_tbox(Pointer box1, Pointer box2); - - boolean adjacent_tbox_tbox(Pointer box1, Pointer box2); - - boolean contained_tbox_tbox(Pointer box1, Pointer box2); - - boolean contains_tbox_tbox(Pointer box1, Pointer box2); - - boolean overlaps_tbox_tbox(Pointer box1, Pointer box2); - - boolean same_tbox_tbox(Pointer box1, Pointer box2); - - boolean after_tbox_tbox(Pointer box1, Pointer box2); - - boolean before_tbox_tbox(Pointer box1, Pointer box2); - - boolean left_tbox_tbox(Pointer box1, Pointer box2); - - boolean overafter_tbox_tbox(Pointer box1, Pointer box2); - - boolean overbefore_tbox_tbox(Pointer box1, Pointer box2); - - boolean overleft_tbox_tbox(Pointer box1, Pointer box2); - - boolean overright_tbox_tbox(Pointer box1, Pointer box2); - - boolean right_tbox_tbox(Pointer box1, Pointer box2); - - int tbox_cmp(Pointer box1, Pointer box2); - - boolean tbox_eq(Pointer box1, Pointer box2); - - boolean tbox_ge(Pointer box1, Pointer box2); - - boolean tbox_gt(Pointer box1, Pointer box2); - - boolean tbox_le(Pointer box1, Pointer box2); - - boolean tbox_lt(Pointer box1, Pointer box2); - - boolean tbox_ne(Pointer box1, Pointer box2); - - Pointer tbool_from_mfjson(String str); - - Pointer tbool_in(String str); - - String tbool_out(Pointer temp); - - String temporal_as_hexwkb(Pointer temp, byte variant, Pointer size_out); - - String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs); - - Pointer temporal_as_wkb(Pointer temp, byte variant, Pointer size_out); - - Pointer temporal_from_hexwkb(String hexwkb); - - Pointer temporal_from_wkb(Pointer wkb, long size); - - Pointer tfloat_from_mfjson(String str); - - Pointer tfloat_in(String str); - - String tfloat_out(Pointer temp, int maxdd); - - Pointer tint_from_mfjson(String str); - - Pointer tint_in(String str); - - String tint_out(Pointer temp); - - Pointer ttext_from_mfjson(String str); - - Pointer ttext_in(String str); - - String ttext_out(Pointer temp); - - Pointer tbool_from_base_temp(boolean b, Pointer temp); - - Pointer tboolinst_make(boolean b, long t); - - Pointer tboolseq_from_base_tstzset(boolean b, Pointer s); - - Pointer tboolseq_from_base_tstzspan(boolean b, Pointer s); - - Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss); - - Pointer temporal_copy(Pointer temp); - - Pointer tfloat_from_base_temp(double d, Pointer temp); - - Pointer tfloatinst_make(double d, long t); - - Pointer tfloatseq_from_base_tstzset(double d, Pointer s); - - Pointer tfloatseq_from_base_tstzspan(double d, Pointer s, int interp); - - Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp); - - Pointer tint_from_base_temp(int i, Pointer temp); - - Pointer tintinst_make(int i, long t); - - Pointer tintseq_from_base_tstzset(int i, Pointer s); - - Pointer tintseq_from_base_tstzspan(int i, Pointer s); - - Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss); - - Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize); - - Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist); - - Pointer ttext_from_base_temp(Pointer txt, Pointer temp); - - Pointer ttextinst_make(Pointer txt, long t); - - Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s); - - Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer s); - - Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss); - - Pointer tbool_to_tint(Pointer temp); - - Pointer temporal_to_tstzspan(Pointer temp); - - Pointer tfloat_to_tint(Pointer temp); - - Pointer tint_to_tfloat(Pointer temp); - - Pointer tnumber_to_span(Pointer temp); - - Pointer tnumber_to_tbox(Pointer temp); - - boolean tbool_end_value(Pointer temp); - - boolean tbool_start_value(Pointer temp); - - boolean tbool_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tbool_value_n(Pointer temp, int n, Pointer result); - - Pointer tbool_values(Pointer temp, Pointer count); - - Pointer temporal_duration(Pointer temp, boolean boundspan); - - Pointer temporal_end_instant(Pointer temp); - - Pointer temporal_end_sequence(Pointer temp); - - long temporal_end_timestamptz(Pointer temp); - - int temporal_hash(Pointer temp); - - Pointer temporal_instant_n(Pointer temp, int n); - - Pointer temporal_instants(Pointer temp, Pointer count); - - String temporal_interp(Pointer temp); - - boolean temporal_lower_inc(Pointer temp); - - Pointer temporal_max_instant(Pointer temp); - - Pointer temporal_min_instant(Pointer temp); - - int temporal_num_instants(Pointer temp); - - int temporal_num_sequences(Pointer temp); - - int temporal_num_timestamps(Pointer temp); - - Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict); - - Pointer temporal_segments(Pointer temp, Pointer count); - - Pointer temporal_sequence_n(Pointer temp, int i); - - Pointer temporal_sequences(Pointer temp, Pointer count); - - Pointer temporal_start_instant(Pointer temp); - - Pointer temporal_start_sequence(Pointer temp); - - long temporal_start_timestamptz(Pointer temp); - - Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration); - - String temporal_subtype(Pointer temp); - - Pointer temporal_time(Pointer temp); - - Pointer temporal_timestamps(Pointer temp, Pointer count); - - boolean temporal_timestamptz_n(Pointer temp, int n, Pointer result); - - boolean temporal_upper_inc(Pointer temp); - - double tfloat_avg_value(Pointer temp); - - double tfloat_end_value(Pointer temp); - - double tfloat_min_value(Pointer temp); - - double tfloat_max_value(Pointer temp); - - double tfloat_start_value(Pointer temp); - - boolean tfloat_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tfloat_value_n(Pointer temp, int n, Pointer result); - - Pointer tfloat_values(Pointer temp, Pointer count); - - int tint_end_value(Pointer temp); - - int tint_max_value(Pointer temp); - - int tint_min_value(Pointer temp); - - int tint_start_value(Pointer temp); - - boolean tint_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tint_value_n(Pointer temp, int n, Pointer result); - - Pointer tint_values(Pointer temp, Pointer count); - - double tnumber_avg_value(Pointer temp); - - double tnumber_integral(Pointer temp); - - double tnumber_twavg(Pointer temp); - - Pointer tnumber_valuespans(Pointer temp); - - Pointer ttext_end_value(Pointer temp); - - Pointer ttext_max_value(Pointer temp); - - Pointer ttext_min_value(Pointer temp); - - Pointer ttext_start_value(Pointer temp); - - boolean ttext_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean ttext_value_n(Pointer temp, int n, Pointer result); - - Pointer ttext_values(Pointer temp, Pointer count); - - double float_degrees(double value, boolean normalize); - - Pointer temparr_round(Pointer temp, int count, int maxdd); - - Pointer temporal_round(Pointer temp, int maxdd); - - Pointer temporal_scale_time(Pointer temp, Pointer duration); - - Pointer temporal_set_interp(Pointer temp, int interp); - - Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration); - - Pointer temporal_shift_time(Pointer temp, Pointer shift); - - Pointer temporal_to_tinstant(Pointer temp); - - Pointer temporal_to_tsequence(Pointer temp, int interp); - - Pointer temporal_to_tsequenceset(Pointer temp, int interp); - - Pointer tfloat_ceil(Pointer temp); - - Pointer tfloat_degrees(Pointer temp, boolean normalize); - - Pointer tfloat_floor(Pointer temp); - - Pointer tfloat_radians(Pointer temp); - - Pointer tfloat_scale_value(Pointer temp, double width); - - Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width); - - Pointer tfloat_shift_value(Pointer temp, double shift); - - Pointer tint_scale_value(Pointer temp, int width); - - Pointer tint_shift_scale_value(Pointer temp, int shift, int width); - - Pointer tint_shift_value(Pointer temp, int shift); - - Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand); - - Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand); - - Pointer temporal_delete_timestamptz(Pointer temp, long t, boolean connect); - - Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect); - - Pointer temporal_delete_tstzspan(Pointer temp, Pointer s, boolean connect); - - Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect); - - Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect); - - Pointer temporal_merge(Pointer temp1, Pointer temp2); - - Pointer temporal_merge_array(Pointer temparr, int count); - - Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect); - - Pointer tbool_at_value(Pointer temp, boolean b); - - Pointer tbool_minus_value(Pointer temp, boolean b); - - Pointer temporal_after_timestamptz(Pointer temp, long t, boolean strict); - - Pointer temporal_at_max(Pointer temp); - - Pointer temporal_at_min(Pointer temp); - - Pointer temporal_at_timestamptz(Pointer temp, long t); - - Pointer temporal_at_tstzset(Pointer temp, Pointer s); - - Pointer temporal_at_tstzspan(Pointer temp, Pointer s); - - Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss); - - Pointer temporal_at_values(Pointer temp, Pointer set); - - Pointer temporal_before_timestamptz(Pointer temp, long t, boolean strict); - - Pointer temporal_minus_max(Pointer temp); - - Pointer temporal_minus_min(Pointer temp); - - Pointer temporal_minus_timestamptz(Pointer temp, long t); - - Pointer temporal_minus_tstzset(Pointer temp, Pointer s); - - Pointer temporal_minus_tstzspan(Pointer temp, Pointer s); - - Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss); - - Pointer temporal_minus_values(Pointer temp, Pointer set); - - Pointer tfloat_at_value(Pointer temp, double d); - - Pointer tfloat_minus_value(Pointer temp, double d); - - Pointer tint_at_value(Pointer temp, int i); - - Pointer tint_minus_value(Pointer temp, int i); - - Pointer tnumber_at_span(Pointer temp, Pointer span); - - Pointer tnumber_at_spanset(Pointer temp, Pointer ss); - - Pointer tnumber_at_tbox(Pointer temp, Pointer box); - - Pointer tnumber_minus_span(Pointer temp, Pointer span); - - Pointer tnumber_minus_spanset(Pointer temp, Pointer ss); - - Pointer tnumber_minus_tbox(Pointer temp, Pointer box); - - Pointer ttext_at_value(Pointer temp, Pointer txt); - - Pointer ttext_minus_value(Pointer temp, Pointer txt); - - int temporal_cmp(Pointer temp1, Pointer temp2); - - boolean temporal_eq(Pointer temp1, Pointer temp2); - - boolean temporal_ge(Pointer temp1, Pointer temp2); - - boolean temporal_gt(Pointer temp1, Pointer temp2); - - boolean temporal_le(Pointer temp1, Pointer temp2); - - boolean temporal_lt(Pointer temp1, Pointer temp2); - - boolean temporal_ne(Pointer temp1, Pointer temp2); - - int always_eq_bool_tbool(boolean b, Pointer temp); - - int always_eq_float_tfloat(double d, Pointer temp); - - int always_eq_int_tint(int i, Pointer temp); - - int always_eq_tbool_bool(Pointer temp, boolean b); - - int always_eq_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_eq_text_ttext(Pointer txt, Pointer temp); - - int always_eq_tfloat_float(Pointer temp, double d); - - int always_eq_tint_int(Pointer temp, int i); - - int always_eq_ttext_text(Pointer temp, Pointer txt); - - int always_ge_float_tfloat(double d, Pointer temp); - - int always_ge_int_tint(int i, Pointer temp); - - int always_ge_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_ge_text_ttext(Pointer txt, Pointer temp); - - int always_ge_tfloat_float(Pointer temp, double d); - - int always_ge_tint_int(Pointer temp, int i); - - int always_ge_ttext_text(Pointer temp, Pointer txt); - - int always_gt_float_tfloat(double d, Pointer temp); - - int always_gt_int_tint(int i, Pointer temp); - - int always_gt_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_gt_text_ttext(Pointer txt, Pointer temp); - - int always_gt_tfloat_float(Pointer temp, double d); - - int always_gt_tint_int(Pointer temp, int i); - - int always_gt_ttext_text(Pointer temp, Pointer txt); - - int always_le_float_tfloat(double d, Pointer temp); - - int always_le_int_tint(int i, Pointer temp); - - int always_le_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_le_text_ttext(Pointer txt, Pointer temp); - - int always_le_tfloat_float(Pointer temp, double d); - - int always_le_tint_int(Pointer temp, int i); - - int always_le_ttext_text(Pointer temp, Pointer txt); - - int always_lt_float_tfloat(double d, Pointer temp); - - int always_lt_int_tint(int i, Pointer temp); - - int always_lt_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_lt_text_ttext(Pointer txt, Pointer temp); - - int always_lt_tfloat_float(Pointer temp, double d); - - int always_lt_tint_int(Pointer temp, int i); - - int always_lt_ttext_text(Pointer temp, Pointer txt); - - int always_ne_bool_tbool(boolean b, Pointer temp); - - int always_ne_float_tfloat(double d, Pointer temp); - - int always_ne_int_tint(int i, Pointer temp); - - int always_ne_tbool_bool(Pointer temp, boolean b); - - int always_ne_temporal_temporal(Pointer temp1, Pointer temp2); - - int always_ne_text_ttext(Pointer txt, Pointer temp); - - int always_ne_tfloat_float(Pointer temp, double d); - - int always_ne_tint_int(Pointer temp, int i); - - int always_ne_ttext_text(Pointer temp, Pointer txt); - - int ever_eq_bool_tbool(boolean b, Pointer temp); - - int ever_eq_float_tfloat(double d, Pointer temp); - - int ever_eq_int_tint(int i, Pointer temp); - - int ever_eq_tbool_bool(Pointer temp, boolean b); - - int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_eq_text_ttext(Pointer txt, Pointer temp); - - int ever_eq_tfloat_float(Pointer temp, double d); - - int ever_eq_tint_int(Pointer temp, int i); - - int ever_eq_ttext_text(Pointer temp, Pointer txt); - - int ever_ge_float_tfloat(double d, Pointer temp); - - int ever_ge_int_tint(int i, Pointer temp); - - int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_ge_text_ttext(Pointer txt, Pointer temp); - - int ever_ge_tfloat_float(Pointer temp, double d); - - int ever_ge_tint_int(Pointer temp, int i); - - int ever_ge_ttext_text(Pointer temp, Pointer txt); - - int ever_gt_float_tfloat(double d, Pointer temp); - - int ever_gt_int_tint(int i, Pointer temp); - - int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_gt_text_ttext(Pointer txt, Pointer temp); - - int ever_gt_tfloat_float(Pointer temp, double d); - - int ever_gt_tint_int(Pointer temp, int i); - - int ever_gt_ttext_text(Pointer temp, Pointer txt); - - int ever_le_float_tfloat(double d, Pointer temp); - - int ever_le_int_tint(int i, Pointer temp); - - int ever_le_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_le_text_ttext(Pointer txt, Pointer temp); - - int ever_le_tfloat_float(Pointer temp, double d); - - int ever_le_tint_int(Pointer temp, int i); - - int ever_le_ttext_text(Pointer temp, Pointer txt); - - int ever_lt_float_tfloat(double d, Pointer temp); - - int ever_lt_int_tint(int i, Pointer temp); - - int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_lt_text_ttext(Pointer txt, Pointer temp); - - int ever_lt_tfloat_float(Pointer temp, double d); - - int ever_lt_tint_int(Pointer temp, int i); - - int ever_lt_ttext_text(Pointer temp, Pointer txt); - - int ever_ne_bool_tbool(boolean b, Pointer temp); - - int ever_ne_float_tfloat(double d, Pointer temp); - - int ever_ne_int_tint(int i, Pointer temp); - - int ever_ne_tbool_bool(Pointer temp, boolean b); - - int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2); - - int ever_ne_text_ttext(Pointer txt, Pointer temp); - - int ever_ne_tfloat_float(Pointer temp, double d); - - int ever_ne_tint_int(Pointer temp, int i); - - int ever_ne_ttext_text(Pointer temp, Pointer txt); - - Pointer teq_bool_tbool(boolean b, Pointer temp); - - Pointer teq_float_tfloat(double d, Pointer temp); - - Pointer teq_int_tint(int i, Pointer temp); - - Pointer teq_tbool_bool(Pointer temp, boolean b); - - Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer teq_text_ttext(Pointer txt, Pointer temp); - - Pointer teq_tfloat_float(Pointer temp, double d); - - Pointer teq_tint_int(Pointer temp, int i); - - Pointer teq_ttext_text(Pointer temp, Pointer txt); - - Pointer tge_float_tfloat(double d, Pointer temp); - - Pointer tge_int_tint(int i, Pointer temp); - - Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tge_text_ttext(Pointer txt, Pointer temp); - - Pointer tge_tfloat_float(Pointer temp, double d); - - Pointer tge_tint_int(Pointer temp, int i); - - Pointer tge_ttext_text(Pointer temp, Pointer txt); - - Pointer tgt_float_tfloat(double d, Pointer temp); - - Pointer tgt_int_tint(int i, Pointer temp); - - Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tgt_text_ttext(Pointer txt, Pointer temp); - - Pointer tgt_tfloat_float(Pointer temp, double d); - - Pointer tgt_tint_int(Pointer temp, int i); - - Pointer tgt_ttext_text(Pointer temp, Pointer txt); - - Pointer tle_float_tfloat(double d, Pointer temp); - - Pointer tle_int_tint(int i, Pointer temp); - - Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tle_text_ttext(Pointer txt, Pointer temp); - - Pointer tle_tfloat_float(Pointer temp, double d); - - Pointer tle_tint_int(Pointer temp, int i); - - Pointer tle_ttext_text(Pointer temp, Pointer txt); - - Pointer tlt_float_tfloat(double d, Pointer temp); - - Pointer tlt_int_tint(int i, Pointer temp); - - Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tlt_text_ttext(Pointer txt, Pointer temp); - - Pointer tlt_tfloat_float(Pointer temp, double d); - - Pointer tlt_tint_int(Pointer temp, int i); - - Pointer tlt_ttext_text(Pointer temp, Pointer txt); - - Pointer tne_bool_tbool(boolean b, Pointer temp); - - Pointer tne_float_tfloat(double d, Pointer temp); - - Pointer tne_int_tint(int i, Pointer temp); - - Pointer tne_tbool_bool(Pointer temp, boolean b); - - Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2); - - Pointer tne_text_ttext(Pointer txt, Pointer temp); - - Pointer tne_tfloat_float(Pointer temp, double d); - - Pointer tne_tint_int(Pointer temp, int i); - - Pointer tne_ttext_text(Pointer temp, Pointer txt); - - Pointer temporal_spans(Pointer temp, Pointer count); - - Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count); - - Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count); - - Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count); - - Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count); - - Pointer tnumber_tboxes(Pointer temp, Pointer count); - - boolean adjacent_numspan_tnumber(Pointer s, Pointer temp); - - boolean adjacent_tbox_tnumber(Pointer box, Pointer temp); - - boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean adjacent_temporal_tstzspan(Pointer temp, Pointer s); - - boolean adjacent_tnumber_numspan(Pointer temp, Pointer s); - - boolean adjacent_tnumber_tbox(Pointer temp, Pointer box); - - boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean adjacent_tstzspan_temporal(Pointer s, Pointer temp); - - boolean contained_numspan_tnumber(Pointer s, Pointer temp); - - boolean contained_tbox_tnumber(Pointer box, Pointer temp); - - boolean contained_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean contained_temporal_tstzspan(Pointer temp, Pointer s); - - boolean contained_tnumber_numspan(Pointer temp, Pointer s); - - boolean contained_tnumber_tbox(Pointer temp, Pointer box); - - boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean contained_tstzspan_temporal(Pointer s, Pointer temp); - - boolean contains_numspan_tnumber(Pointer s, Pointer temp); - - boolean contains_tbox_tnumber(Pointer box, Pointer temp); - - boolean contains_temporal_tstzspan(Pointer temp, Pointer s); - - boolean contains_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean contains_tnumber_numspan(Pointer temp, Pointer s); - - boolean contains_tnumber_tbox(Pointer temp, Pointer box); - - boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean contains_tstzspan_temporal(Pointer s, Pointer temp); - - boolean overlaps_numspan_tnumber(Pointer s, Pointer temp); - - boolean overlaps_tbox_tnumber(Pointer box, Pointer temp); - - boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overlaps_temporal_tstzspan(Pointer temp, Pointer s); - - boolean overlaps_tnumber_numspan(Pointer temp, Pointer s); - - boolean overlaps_tnumber_tbox(Pointer temp, Pointer box); - - boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overlaps_tstzspan_temporal(Pointer s, Pointer temp); - - boolean same_numspan_tnumber(Pointer s, Pointer temp); - - boolean same_tbox_tnumber(Pointer box, Pointer temp); - - boolean same_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean same_temporal_tstzspan(Pointer temp, Pointer s); - - boolean same_tnumber_numspan(Pointer temp, Pointer s); - - boolean same_tnumber_tbox(Pointer temp, Pointer box); - - boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean same_tstzspan_temporal(Pointer s, Pointer temp); - - boolean after_tbox_tnumber(Pointer box, Pointer temp); - - boolean after_temporal_tstzspan(Pointer temp, Pointer s); - - boolean after_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean after_tnumber_tbox(Pointer temp, Pointer box); - - boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean after_tstzspan_temporal(Pointer s, Pointer temp); - - boolean before_tbox_tnumber(Pointer box, Pointer temp); - - boolean before_temporal_tstzspan(Pointer temp, Pointer s); - - boolean before_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean before_tnumber_tbox(Pointer temp, Pointer box); - - boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean before_tstzspan_temporal(Pointer s, Pointer temp); - - boolean left_tbox_tnumber(Pointer box, Pointer temp); - - boolean left_numspan_tnumber(Pointer s, Pointer temp); - - boolean left_tnumber_numspan(Pointer temp, Pointer s); - - boolean left_tnumber_tbox(Pointer temp, Pointer box); - - boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overafter_tbox_tnumber(Pointer box, Pointer temp); - - boolean overafter_temporal_tstzspan(Pointer temp, Pointer s); - - boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overafter_tnumber_tbox(Pointer temp, Pointer box); - - boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overafter_tstzspan_temporal(Pointer s, Pointer temp); - - boolean overbefore_tbox_tnumber(Pointer box, Pointer temp); - - boolean overbefore_temporal_tstzspan(Pointer temp, Pointer s); - - boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2); - - boolean overbefore_tnumber_tbox(Pointer temp, Pointer box); - - boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overbefore_tstzspan_temporal(Pointer s, Pointer temp); - - boolean overleft_numspan_tnumber(Pointer s, Pointer temp); - - boolean overleft_tbox_tnumber(Pointer box, Pointer temp); - - boolean overleft_tnumber_numspan(Pointer temp, Pointer s); - - boolean overleft_tnumber_tbox(Pointer temp, Pointer box); - - boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean overright_numspan_tnumber(Pointer s, Pointer temp); - - boolean overright_tbox_tnumber(Pointer box, Pointer temp); - - boolean overright_tnumber_numspan(Pointer temp, Pointer s); - - boolean overright_tnumber_tbox(Pointer temp, Pointer box); - - boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2); - - boolean right_numspan_tnumber(Pointer s, Pointer temp); - - boolean right_tbox_tnumber(Pointer box, Pointer temp); - - boolean right_tnumber_numspan(Pointer temp, Pointer s); - - boolean right_tnumber_tbox(Pointer temp, Pointer box); - - boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2); - - Pointer tand_bool_tbool(boolean b, Pointer temp); - - Pointer tand_tbool_bool(Pointer temp, boolean b); - - Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2); - - Pointer tbool_when_true(Pointer temp); - - Pointer tnot_tbool(Pointer temp); - - Pointer tor_bool_tbool(boolean b, Pointer temp); - - Pointer tor_tbool_bool(Pointer temp, boolean b); - - Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2); - - Pointer add_float_tfloat(double d, Pointer tnumber); - - Pointer add_int_tint(int i, Pointer tnumber); - - Pointer add_tfloat_float(Pointer tnumber, double d); - - Pointer add_tint_int(Pointer tnumber, int i); - - Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer div_float_tfloat(double d, Pointer tnumber); - - Pointer div_int_tint(int i, Pointer tnumber); - - Pointer div_tfloat_float(Pointer tnumber, double d); - - Pointer div_tint_int(Pointer tnumber, int i); - - Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer mult_float_tfloat(double d, Pointer tnumber); - - Pointer mult_int_tint(int i, Pointer tnumber); - - Pointer mult_tfloat_float(Pointer tnumber, double d); - - Pointer mult_tint_int(Pointer tnumber, int i); - - Pointer mult_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer sub_float_tfloat(double d, Pointer tnumber); - - Pointer sub_int_tint(int i, Pointer tnumber); - - Pointer sub_tfloat_float(Pointer tnumber, double d); - - Pointer sub_tint_int(Pointer tnumber, int i); - - Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2); - - Pointer temporal_derivative(Pointer temp); - - Pointer tfloat_exp(Pointer temp); - - Pointer tfloat_ln(Pointer temp); - - Pointer tfloat_log10(Pointer temp); - - Pointer tnumber_abs(Pointer temp); - - Pointer tnumber_trend(Pointer temp); - - double float_angular_difference(double degrees1, double degrees2); - - Pointer tnumber_angular_difference(Pointer temp); - - Pointer tnumber_delta_value(Pointer temp); - - Pointer textcat_text_ttext(Pointer txt, Pointer temp); - - Pointer textcat_ttext_text(Pointer temp, Pointer txt); - - Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2); - - Pointer ttext_initcap(Pointer temp); - - Pointer ttext_upper(Pointer temp); - - Pointer ttext_lower(Pointer temp); - - Pointer tdistance_tfloat_float(Pointer temp, double d); - - Pointer tdistance_tint_int(Pointer temp, int i); - - Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2); - - double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2); - - int nad_tboxint_tboxint(Pointer box1, Pointer box2); - - double nad_tfloat_float(Pointer temp, double d); - - double nad_tfloat_tfloat(Pointer temp1, Pointer temp2); - - double nad_tfloat_tbox(Pointer temp, Pointer box); - - int nad_tint_int(Pointer temp, int i); - - int nad_tint_tbox(Pointer temp, Pointer box); - - int nad_tint_tint(Pointer temp1, Pointer temp2); - - Pointer tbool_tand_transfn(Pointer state, Pointer temp); - - Pointer tbool_tor_transfn(Pointer state, Pointer temp); - - Pointer temporal_extent_transfn(Pointer s, Pointer temp); - - Pointer temporal_tagg_finalfn(Pointer state); - - Pointer temporal_tcount_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tmax_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tmin_transfn(Pointer state, Pointer temp); - - Pointer tfloat_tsum_transfn(Pointer state, Pointer temp); - - Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer timestamptz_tcount_transfn(Pointer state, long t); - - Pointer tint_tmax_transfn(Pointer state, Pointer temp); - - Pointer tint_tmin_transfn(Pointer state, Pointer temp); - - Pointer tint_tsum_transfn(Pointer state, Pointer temp); - - Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tnumber_extent_transfn(Pointer box, Pointer temp); - - Pointer tnumber_tavg_finalfn(Pointer state); - - Pointer tnumber_tavg_transfn(Pointer state, Pointer temp); - - Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv); - - Pointer tstzset_tcount_transfn(Pointer state, Pointer s); - - Pointer tstzspan_tcount_transfn(Pointer state, Pointer s); - - Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss); - - Pointer ttext_tmax_transfn(Pointer state, Pointer temp); - - Pointer ttext_tmin_transfn(Pointer state, Pointer temp); - - Pointer temporal_simplify_dp(Pointer temp, double eps_dist, boolean synchronize); - - Pointer temporal_simplify_max_dist(Pointer temp, double eps_dist, boolean synchronize); - - Pointer temporal_simplify_min_dist(Pointer temp, double dist); - - Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint); - - Pointer temporal_tprecision(Pointer temp, Pointer duration, long origin); - - Pointer temporal_tsample(Pointer temp, Pointer duration, long origin, int interp); - - double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count); - - double temporal_frechet_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count); - - double temporal_hausdorff_distance(Pointer temp1, Pointer temp2); - - Pointer temporal_time_bins(Pointer temp, Pointer duration, long origin, Pointer count); - - Pointer temporal_time_split(Pointer temp, Pointer duration, long torigin, Pointer time_bins, Pointer count); - - Pointer tfloat_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); - - Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count); - - Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count); - - Pointer tfloat_value_split(Pointer temp, double size, double origin, Pointer bins, Pointer count); - - Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); - - Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - - Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); - - Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count); - - Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, long torigin, Pointer count); - - Pointer tint_time_boxes(Pointer temp, Pointer duration, long torigin, Pointer count); - - Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count); - - Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count); - - Pointer tint_value_split(Pointer temp, int vsize, int vorigin, Pointer bins, Pointer count); - - Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, long torigin, Pointer count); - - Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, long torigin, Pointer value_bins, Pointer time_bins, Pointer count); - - Pointer tintbox_time_tiles(Pointer box, Pointer duration, long torigin, Pointer count); - - Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count); - - Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, long torigin, Pointer count); - - Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size); - - String geo_as_ewkt(Pointer gs, int precision); - - String geo_as_geojson(Pointer gs, int option, int precision, String srs); - - String geo_as_hexewkb(Pointer gs, String endian); - - String geo_as_text(Pointer gs, int precision); - - Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid); - - Pointer geo_from_geojson(String geojson); - - Pointer geo_from_text(String wkt, int srid); - - String geo_out(Pointer gs); - - Pointer geog_from_binary(String wkb_bytea); - - Pointer geog_from_hexewkb(String wkt); - - Pointer geog_in(String str, int typmod); - - Pointer geom_from_hexewkb(String wkt); - - Pointer geom_in(String str, int typmod); - - Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid); - - String box3d_out(Pointer box, int maxdd); - - Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax); - - String gbox_out(Pointer box, int maxdd); - - Pointer geo_copy(Pointer g); - - Pointer geogpoint_make2d(int srid, double x, double y); - - Pointer geogpoint_make3dz(int srid, double x, double y, double z); - - Pointer geompoint_make2d(int srid, double x, double y); - - Pointer geompoint_make3dz(int srid, double x, double y, double z); - - Pointer geom_to_geog(Pointer geom); - - Pointer geog_to_geom(Pointer geog); - - boolean geo_is_empty(Pointer g); - - boolean geo_is_unitary(Pointer gs); - - String geo_typename(int type); - - double geog_area(Pointer g, boolean use_spheroid); - - Pointer geog_centroid(Pointer g, boolean use_spheroid); - - double geog_length(Pointer g, boolean use_spheroid); - - double geog_perimeter(Pointer g, boolean use_spheroid); - - boolean geom_azimuth(Pointer gs1, Pointer gs2, Pointer result); - - double geom_length(Pointer gs); - - double geom_perimeter(Pointer gs); - - int line_numpoints(Pointer gs); - - Pointer line_point_n(Pointer geom, int n); - - Pointer geo_reverse(Pointer gs); - - Pointer geo_round(Pointer gs, int maxdd); - - Pointer geo_set_srid(Pointer gs, int srid); - - int geo_srid(Pointer gs); - - Pointer geo_transform(Pointer geom, int srid_to); - - Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward); - - Pointer geo_collect_garray(Pointer gsarr, int count); - - Pointer geo_makeline_garray(Pointer gsarr, int count); - - int geo_num_points(Pointer gs); - - int geo_num_geos(Pointer gs); - - Pointer geo_geo_n(Pointer geom, int n); - - Pointer geo_pointarr(Pointer gs, Pointer count); - - Pointer geo_points(Pointer gs); - - Pointer geom_array_union(Pointer gsarr, int count); - - Pointer geom_boundary(Pointer gs); - - Pointer geom_buffer(Pointer gs, double size, String params); - - Pointer geom_centroid(Pointer gs); - - Pointer geom_convex_hull(Pointer gs); - - Pointer geom_difference2d(Pointer gs1, Pointer gs2); - - Pointer geom_intersection2d(Pointer gs1, Pointer gs2); - - Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2); - - Pointer geom_min_bounding_radius(Pointer geom, Pointer radius); - - Pointer geom_shortestline2d(Pointer gs1, Pointer s2); - - Pointer geom_shortestline3d(Pointer gs1, Pointer s2); - - Pointer geom_unary_union(Pointer gs, double prec); - - Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat); - - double line_locate_point(Pointer gs1, Pointer gs2); - - Pointer line_substring(Pointer gs, double from, double to); - - boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid); - - boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid); - - boolean geom_contains(Pointer gs1, Pointer gs2); - - boolean geom_covers(Pointer gs1, Pointer gs2); - - boolean geom_disjoint2d(Pointer gs1, Pointer gs2); - - boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance); - - boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance); - - boolean geom_intersects2d(Pointer gs1, Pointer gs2); - - boolean geom_intersects3d(Pointer gs1, Pointer gs2); - - boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt); - - boolean geom_touches(Pointer gs1, Pointer gs2); - - Pointer geo_stboxes(Pointer gs, Pointer count); - - Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count); - - Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count); - - double geog_distance(Pointer g1, Pointer g2); - - double geom_distance2d(Pointer gs1, Pointer gs2); - - double geom_distance3d(Pointer gs1, Pointer gs2); - - int geo_equals(Pointer gs1, Pointer gs2); - - boolean geo_same(Pointer gs1, Pointer gs2); - - Pointer geogset_in(String str); - - Pointer geomset_in(String str); - - String spatialset_as_text(Pointer set, int maxdd); - - String spatialset_as_ewkt(Pointer set, int maxdd); - - Pointer geoset_make(Pointer values, int count); - - Pointer geo_to_set(Pointer gs); - - Pointer geoset_end_value(Pointer s); - - Pointer geoset_start_value(Pointer s); - - boolean geoset_value_n(Pointer s, int n, Pointer result); - - Pointer geoset_values(Pointer s); - - boolean contained_geo_set(Pointer gs, Pointer s); - - boolean contains_set_geo(Pointer s, Pointer gs); - - Pointer geo_union_transfn(Pointer state, Pointer gs); - - Pointer intersection_geo_set(Pointer gs, Pointer s); - - Pointer intersection_set_geo(Pointer s, Pointer gs); - - Pointer minus_geo_set(Pointer gs, Pointer s); - - Pointer minus_set_geo(Pointer s, Pointer gs); - - Pointer union_geo_set(Pointer gs, Pointer s); - - Pointer union_set_geo(Pointer s, Pointer gs); - - Pointer spatialset_set_srid(Pointer s, int srid); - - int spatialset_srid(Pointer s); - - Pointer spatialset_transform(Pointer s, int srid); - - Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward); - - String stbox_as_hexwkb(Pointer box, byte variant, Pointer size); - - Pointer stbox_as_wkb(Pointer box, byte variant, Pointer size_out); - - Pointer stbox_from_hexwkb(String hexwkb); - - Pointer stbox_from_wkb(Pointer wkb, long size); - - Pointer stbox_in(String str); - - String stbox_out(Pointer box, int maxdd); - - Pointer geo_timestamptz_to_stbox(Pointer gs, long t); - - Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s); - - Pointer stbox_copy(Pointer box); - - Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s); - - Pointer geo_to_stbox(Pointer gs); - - Pointer spatialset_to_stbox(Pointer s); - - Pointer stbox_to_box3d(Pointer box); - - Pointer stbox_to_gbox(Pointer box); - - Pointer stbox_to_geo(Pointer box); - - Pointer stbox_to_tstzspan(Pointer box); - - Pointer timestamptz_to_stbox(long t); - - Pointer tstzset_to_stbox(Pointer s); - - Pointer tstzspan_to_stbox(Pointer s); - - Pointer tstzspanset_to_stbox(Pointer ss); - - double stbox_area(Pointer box, boolean spheroid); - - int stbox_hash(Pointer box); - - long stbox_hash_extended(Pointer box, long seed); - - boolean stbox_hast(Pointer box); - - boolean stbox_hasx(Pointer box); - - boolean stbox_hasz(Pointer box); - - boolean stbox_isgeodetic(Pointer box); - - double stbox_perimeter(Pointer box, boolean spheroid); - - boolean stbox_tmax(Pointer box, Pointer result); - - boolean stbox_tmax_inc(Pointer box, Pointer result); - - boolean stbox_tmin(Pointer box, Pointer result); - - boolean stbox_tmin_inc(Pointer box, Pointer result); - - double stbox_volume(Pointer box); - - boolean stbox_xmax(Pointer box, Pointer result); - - boolean stbox_xmin(Pointer box, Pointer result); - - boolean stbox_ymax(Pointer box, Pointer result); - - boolean stbox_ymin(Pointer box, Pointer result); - - boolean stbox_zmax(Pointer box, Pointer result); - - boolean stbox_zmin(Pointer box, Pointer result); - - Pointer stbox_expand_space(Pointer box, double d); - - Pointer stbox_expand_time(Pointer box, Pointer interv); - - Pointer stbox_get_space(Pointer box); - - Pointer stbox_quad_split(Pointer box, Pointer count); - - Pointer stbox_round(Pointer box, int maxdd); - - Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration); - - Pointer stboxarr_round(Pointer boxarr, int count, int maxdd); - - Pointer stbox_set_srid(Pointer box, int srid); - - int stbox_srid(Pointer box); - - Pointer stbox_transform(Pointer box, int srid); - - Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward); - - boolean adjacent_stbox_stbox(Pointer box1, Pointer box2); - - boolean contained_stbox_stbox(Pointer box1, Pointer box2); - - boolean contains_stbox_stbox(Pointer box1, Pointer box2); - - boolean overlaps_stbox_stbox(Pointer box1, Pointer box2); - - boolean same_stbox_stbox(Pointer box1, Pointer box2); - - boolean above_stbox_stbox(Pointer box1, Pointer box2); - - boolean after_stbox_stbox(Pointer box1, Pointer box2); - - boolean back_stbox_stbox(Pointer box1, Pointer box2); - - boolean before_stbox_stbox(Pointer box1, Pointer box2); - - boolean below_stbox_stbox(Pointer box1, Pointer box2); - - boolean front_stbox_stbox(Pointer box1, Pointer box2); - - boolean left_stbox_stbox(Pointer box1, Pointer box2); - - boolean overabove_stbox_stbox(Pointer box1, Pointer box2); - - boolean overafter_stbox_stbox(Pointer box1, Pointer box2); - - boolean overback_stbox_stbox(Pointer box1, Pointer box2); - - boolean overbefore_stbox_stbox(Pointer box1, Pointer box2); - - boolean overbelow_stbox_stbox(Pointer box1, Pointer box2); - - boolean overfront_stbox_stbox(Pointer box1, Pointer box2); - - boolean overleft_stbox_stbox(Pointer box1, Pointer box2); - - boolean overright_stbox_stbox(Pointer box1, Pointer box2); - - boolean right_stbox_stbox(Pointer box1, Pointer box2); - - Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict); - - Pointer intersection_stbox_stbox(Pointer box1, Pointer box2); - - int stbox_cmp(Pointer box1, Pointer box2); - - boolean stbox_eq(Pointer box1, Pointer box2); - - boolean stbox_ge(Pointer box1, Pointer box2); - - boolean stbox_gt(Pointer box1, Pointer box2); - - boolean stbox_le(Pointer box1, Pointer box2); - - boolean stbox_lt(Pointer box1, Pointer box2); - - boolean stbox_ne(Pointer box1, Pointer box2); - - Pointer tgeogpoint_from_mfjson(String str); - - Pointer tgeogpoint_in(String str); - - Pointer tgeography_from_mfjson(String mfjson); - - Pointer tgeography_in(String str); - - Pointer tgeometry_from_mfjson(String str); - - Pointer tgeometry_in(String str); - - Pointer tgeompoint_from_mfjson(String str); - - Pointer tgeompoint_in(String str); - - String tspatial_as_ewkt(Pointer temp, int maxdd); - - String tspatial_as_text(Pointer temp, int maxdd); - - String tspatial_out(Pointer temp, int maxdd); - - Pointer tgeo_from_base_temp(Pointer gs, Pointer temp); - - Pointer tgeoinst_make(Pointer gs, long t); - - Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s); - - Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); - - Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); - - Pointer tpoint_from_base_temp(Pointer gs, Pointer temp); - - Pointer tpointinst_make(Pointer gs, long t); - - Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s); - - Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp); - - Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize); - - Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp); - - Pointer box3d_to_stbox(Pointer box); - - Pointer gbox_to_stbox(Pointer box); - - Pointer geomeas_to_tpoint(Pointer gs); - - Pointer tgeogpoint_to_tgeography(Pointer temp); - - Pointer tgeography_to_tgeogpoint(Pointer temp); - - Pointer tgeography_to_tgeometry(Pointer temp); - - Pointer tgeometry_to_tgeography(Pointer temp); - - Pointer tgeometry_to_tgeompoint(Pointer temp); - - Pointer tgeompoint_to_tgeometry(Pointer temp); - - boolean tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom, Pointer gsarr, Pointer timesarr, Pointer count); - - boolean tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize, Pointer result); - - Pointer tspatial_to_stbox(Pointer temp); - - boolean bearing_point_point(Pointer gs1, Pointer gs2, Pointer result); - - Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert); - - Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2); - - Pointer tgeo_centroid(Pointer temp); - - Pointer tgeo_convex_hull(Pointer temp); - - Pointer tgeo_end_value(Pointer temp); - - Pointer tgeo_start_value(Pointer temp); - - Pointer tgeo_traversed_area(Pointer temp, boolean unary_union); - - boolean tgeo_value_at_timestamptz(Pointer temp, long t, boolean strict, Pointer value); - - boolean tgeo_value_n(Pointer temp, int n, Pointer result); - - Pointer tgeo_values(Pointer temp, Pointer count); - - Pointer tpoint_angular_difference(Pointer temp); - - Pointer tpoint_azimuth(Pointer temp); - - Pointer tpoint_cumulative_length(Pointer temp); - - boolean tpoint_direction(Pointer temp, Pointer result); - - Pointer tpoint_get_x(Pointer temp); - - Pointer tpoint_get_y(Pointer temp); - - Pointer tpoint_get_z(Pointer temp); - - boolean tpoint_is_simple(Pointer temp); - - double tpoint_length(Pointer temp); - - Pointer tpoint_speed(Pointer temp); - - Pointer tpoint_trajectory(Pointer temp, boolean unary_union); - - Pointer tpoint_twcentroid(Pointer temp); - - Pointer tgeo_affine(Pointer temp, Pointer a); - - Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin); - - Pointer tpoint_make_simple(Pointer temp, Pointer count); - - int tspatial_srid(Pointer temp); - - Pointer tspatial_set_srid(Pointer temp, int srid); - - Pointer tspatial_transform(Pointer temp, int srid); - - Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward); - - Pointer tgeo_at_geom(Pointer temp, Pointer gs); - - Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tgeo_at_value(Pointer temp, Pointer gs); - - Pointer tgeo_minus_geom(Pointer temp, Pointer gs); - - Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc); - - Pointer tgeo_minus_value(Pointer temp, Pointer gs); - - Pointer tpoint_at_geom(Pointer temp, Pointer gs, Pointer zspan); - - Pointer tpoint_at_value(Pointer temp, Pointer gs); - - Pointer tpoint_minus_geom(Pointer temp, Pointer gs, Pointer zspan); - - Pointer tpoint_minus_value(Pointer temp, Pointer gs); - - int always_eq_geo_tgeo(Pointer gs, Pointer temp); - - int always_eq_tgeo_geo(Pointer temp, Pointer gs); - - int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int always_ne_geo_tgeo(Pointer gs, Pointer temp); - - int always_ne_tgeo_geo(Pointer temp, Pointer gs); - - int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ever_eq_geo_tgeo(Pointer gs, Pointer temp); - - int ever_eq_tgeo_geo(Pointer temp, Pointer gs); - - int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ever_ne_geo_tgeo(Pointer gs, Pointer temp); - - int ever_ne_tgeo_geo(Pointer temp, Pointer gs); - - int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer teq_geo_tgeo(Pointer gs, Pointer temp); - - Pointer teq_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tne_geo_tgeo(Pointer gs, Pointer temp); - - Pointer tne_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tgeo_stboxes(Pointer temp, Pointer count); - - Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer count); - - Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count); - - Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count); - - boolean adjacent_stbox_tspatial(Pointer box, Pointer temp); - - boolean adjacent_tspatial_stbox(Pointer temp, Pointer box); - - boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean contained_stbox_tspatial(Pointer box, Pointer temp); - - boolean contained_tspatial_stbox(Pointer temp, Pointer box); - - boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean contains_stbox_tspatial(Pointer box, Pointer temp); - - boolean contains_tspatial_stbox(Pointer temp, Pointer box); - - boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overlaps_stbox_tspatial(Pointer box, Pointer temp); - - boolean overlaps_tspatial_stbox(Pointer temp, Pointer box); - - boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean same_stbox_tspatial(Pointer box, Pointer temp); - - boolean same_tspatial_stbox(Pointer temp, Pointer box); - - boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean above_stbox_tspatial(Pointer box, Pointer temp); - - boolean above_tspatial_stbox(Pointer temp, Pointer box); - - boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean after_stbox_tspatial(Pointer box, Pointer temp); - - boolean after_tspatial_stbox(Pointer temp, Pointer box); - - boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean back_stbox_tspatial(Pointer box, Pointer temp); - - boolean back_tspatial_stbox(Pointer temp, Pointer box); - - boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean before_stbox_tspatial(Pointer box, Pointer temp); - - boolean before_tspatial_stbox(Pointer temp, Pointer box); - - boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean below_stbox_tspatial(Pointer box, Pointer temp); - - boolean below_tspatial_stbox(Pointer temp, Pointer box); - - boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean front_stbox_tspatial(Pointer box, Pointer temp); - - boolean front_tspatial_stbox(Pointer temp, Pointer box); - - boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean left_stbox_tspatial(Pointer box, Pointer temp); - - boolean left_tspatial_stbox(Pointer temp, Pointer box); - - boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overabove_stbox_tspatial(Pointer box, Pointer temp); - - boolean overabove_tspatial_stbox(Pointer temp, Pointer box); - - boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overafter_stbox_tspatial(Pointer box, Pointer temp); - - boolean overafter_tspatial_stbox(Pointer temp, Pointer box); - - boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overback_stbox_tspatial(Pointer box, Pointer temp); - - boolean overback_tspatial_stbox(Pointer temp, Pointer box); - - boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overbefore_stbox_tspatial(Pointer box, Pointer temp); - - boolean overbefore_tspatial_stbox(Pointer temp, Pointer box); - - boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overbelow_stbox_tspatial(Pointer box, Pointer temp); - - boolean overbelow_tspatial_stbox(Pointer temp, Pointer box); - - boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overfront_stbox_tspatial(Pointer box, Pointer temp); - - boolean overfront_tspatial_stbox(Pointer temp, Pointer box); - - boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overleft_stbox_tspatial(Pointer box, Pointer temp); - - boolean overleft_tspatial_stbox(Pointer temp, Pointer box); - - boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean overright_stbox_tspatial(Pointer box, Pointer temp); - - boolean overright_tspatial_stbox(Pointer temp, Pointer box); - - boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2); - - boolean right_stbox_tspatial(Pointer box, Pointer temp); - - boolean right_tspatial_stbox(Pointer temp, Pointer box); - - boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2); - - int acontains_geo_tgeo(Pointer gs, Pointer temp); - - int acontains_tgeo_geo(Pointer temp, Pointer gs); - - int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int adisjoint_tgeo_geo(Pointer temp, Pointer gs); - - int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - int aintersects_tgeo_geo(Pointer temp, Pointer gs); - - int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int atouches_tgeo_geo(Pointer temp, Pointer gs); - - int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int atouches_tpoint_geo(Pointer temp, Pointer gs); - - int econtains_geo_tgeo(Pointer gs, Pointer temp); - - int econtains_tgeo_geo(Pointer temp, Pointer gs); - - int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int ecovers_geo_tgeo(Pointer gs, Pointer temp); - - int ecovers_tgeo_geo(Pointer temp, Pointer gs); - - int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int edisjoint_tgeo_geo(Pointer temp, Pointer gs); - - int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist); - - int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist); - - int eintersects_tgeo_geo(Pointer temp, Pointer gs); - - int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int etouches_tgeo_geo(Pointer temp, Pointer gs); - - int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2); - - int etouches_tpoint_geo(Pointer temp, Pointer gs); - - Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); - - Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); - - Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); - - Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); - - Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); - - Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); - - Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); - - Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); - - Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); - - Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist, boolean restr, boolean atvalue); - - Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean restr, boolean atvalue); - - Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean restr, boolean atvalue); - - Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); - - Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); - - Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); - - Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue); - - Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue); - - Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue); - - Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs); - - Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2); - - double nad_stbox_geo(Pointer box, Pointer gs); - - double nad_stbox_stbox(Pointer box1, Pointer box2); - - double nad_tgeo_geo(Pointer temp, Pointer gs); - - double nad_tgeo_stbox(Pointer temp, Pointer box); - - double nad_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer nai_tgeo_geo(Pointer temp, Pointer gs); - - Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs); - - Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2); - - Pointer tpoint_tcentroid_finalfn(Pointer state); - - Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp); - - Pointer tspatial_extent_transfn(Pointer box, Pointer temp); - - Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin); - - Pointer stbox_get_space_time_tile(Pointer point, long t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin); - - Pointer stbox_get_time_tile(long t, Pointer duration, long torigin); - - Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count); - - Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean border_inc, Pointer count); - - Pointer stbox_time_tiles(Pointer bounds, Pointer duration, long torigin, boolean border_inc, Pointer count); - - Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer count); - - Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, long torigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer time_bins, Pointer count); - - Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k); - - Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count); - - Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count); - - Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count); - - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_intspan() { - var _result = MeosLibrary.meos.rtree_create_intspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_bigintspan() { - var _result = MeosLibrary.meos.rtree_create_bigintspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_floatspan() { - var _result = MeosLibrary.meos.rtree_create_floatspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_datespan() { - var _result = MeosLibrary.meos.rtree_create_datespan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_tstzspan() { - var _result = MeosLibrary.meos.rtree_create_tstzspan(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_tbox() { - var _result = MeosLibrary.meos.rtree_create_tbox(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_create_stbox() { - var _result = MeosLibrary.meos.rtree_create_stbox(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void rtree_free(Pointer rtree) { - MeosLibrary.meos.rtree_free(rtree); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert(Pointer rtree, Pointer box, int id) { - MeosLibrary.meos.rtree_insert(rtree, box, id); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void rtree_insert_temporal(Pointer rtree, Pointer temp, int id) { - MeosLibrary.meos.rtree_insert_temporal(rtree, temp, id); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static Pointer rtree_search(Pointer rtree, int op, Pointer query, Pointer count) { - var _result = MeosLibrary.meos.rtree_search(rtree, op, query, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer rtree_search_temporal(Pointer rtree, int op, Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.rtree_search_temporal(rtree, op, temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_error(int errlevel, int errcode, String format) { - MeosLibrary.meos.meos_error(errlevel, errcode, format); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int meos_errno() { - var _result = MeosLibrary.meos.meos_errno(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_set(int err) { - var _result = MeosLibrary.meos.meos_errno_set(err); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_restore(int err) { - var _result = MeosLibrary.meos.meos_errno_restore(err); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int meos_errno_reset() { - var _result = MeosLibrary.meos.meos_errno_reset(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_initialize_timezone(String name) { - MeosLibrary.meos.meos_initialize_timezone(name); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize_error_handler(error_handler_fn err_handler) { - MeosLibrary.meos.meos_initialize_error_handler(err_handler); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_timezone() { - MeosLibrary.meos.meos_finalize_timezone(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_projsrs() { - MeosLibrary.meos.meos_finalize_projsrs(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize_ways() { - MeosLibrary.meos.meos_finalize_ways(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static boolean meos_set_datestyle(String newval, Pointer extra) { - var _result = MeosLibrary.meos.meos_set_datestyle(newval, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean meos_set_intervalstyle(String newval, int extra) { - var _result = MeosLibrary.meos.meos_set_intervalstyle(newval, extra); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meos_get_datestyle() { - var _result = MeosLibrary.meos.meos_get_datestyle(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String meos_get_intervalstyle() { - var _result = MeosLibrary.meos.meos_get_intervalstyle(); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static void meos_set_spatial_ref_sys_csv(String path) { - MeosLibrary.meos.meos_set_spatial_ref_sys_csv(path); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_initialize() { - MeosLibrary.meos.meos_initialize(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static void meos_finalize() { - MeosLibrary.meos.meos_finalize(); - MeosErrorHandler.checkError(); - } - - @SuppressWarnings("unused") - public static int add_date_int(int d, int days) { - var _result = MeosLibrary.meos.add_date_int(d, days); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_interval_interval(Pointer interv1, Pointer interv2) { - var _result = MeosLibrary.meos.add_interval_interval(interv1, interv2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime add_timestamptz_interval(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.add_timestamptz_interval(t_new, interv); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static boolean bool_in(String str) { - var _result = MeosLibrary.meos.bool_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bool_out(boolean b) { - var _result = MeosLibrary.meos.bool_out(b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer cstring2text(String str) { - var _result = MeosLibrary.meos.cstring2text(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static LocalDateTime date_to_timestamp(int dateVal) { - var _result = MeosLibrary.meos.date_to_timestamp(dateVal); - MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime date_to_timestamptz(int d) { - var _result = MeosLibrary.meos.date_to_timestamptz(d); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static double float_exp(double d) { - var _result = MeosLibrary.meos.float_exp(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_ln(double d) { - var _result = MeosLibrary.meos.float_ln(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_log10(double d) { - var _result = MeosLibrary.meos.float_log10(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String float8_out(double d, int maxdd) { - var _result = MeosLibrary.meos.float8_out(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_round(double d, int maxdd) { - var _result = MeosLibrary.meos.float_round(d, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int32_cmp(int l, int r) { - var _result = MeosLibrary.meos.int32_cmp(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int64_cmp(long l, long r) { - var _result = MeosLibrary.meos.int64_cmp(l, r); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) { - var _result = MeosLibrary.meos.interval_make(years, months, weeks, days, hours, mins, secs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int minus_date_date(int d1, int d2) { - var _result = MeosLibrary.meos.minus_date_date(d1, d2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int minus_date_int(int d, int days) { - var _result = MeosLibrary.meos.minus_date_int(d, days); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime minus_timestamptz_interval(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_timestamptz_interval(t_new, interv); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_timestamptz(OffsetDateTime t1, OffsetDateTime t2) { - var t1_new = t1.toEpochSecond(); - var t2_new = t2.toEpochSecond(); - var _result = MeosLibrary.meos.minus_timestamptz_timestamptz(t1_new, t2_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mul_interval_double(Pointer interv, double factor) { - var _result = MeosLibrary.meos.mul_interval_double(interv, factor); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pg_date_in(String str) { - var _result = MeosLibrary.meos.pg_date_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pg_date_out(int d) { - var _result = MeosLibrary.meos.pg_date_out(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int pg_interval_cmp(Pointer interv1, Pointer interv2) { - var _result = MeosLibrary.meos.pg_interval_cmp(interv1, interv2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer pg_interval_in(String str, int typmod) { - var _result = MeosLibrary.meos.pg_interval_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String pg_interval_out(Pointer interv) { - var _result = MeosLibrary.meos.pg_interval_out(interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static LocalDateTime pg_timestamp_in(String str, int typmod) { - var _result = MeosLibrary.meos.pg_timestamp_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.LocalDateTime.ofInstant(java.time.Instant.ofEpochSecond(_result), java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String pg_timestamp_out(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = MeosLibrary.meos.pg_timestamp_out(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime pg_timestamptz_in(String str, int typmod) { - var _result = MeosLibrary.meos.pg_timestamptz_in(str, typmod); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static String pg_timestamptz_out(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.pg_timestamptz_out(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String text2cstring(Pointer txt) { - var _result = MeosLibrary.meos.text2cstring(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int text_cmp(Pointer txt1, Pointer txt2) { - var _result = MeosLibrary.meos.text_cmp(txt1, txt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_copy(Pointer txt) { - var _result = MeosLibrary.meos.text_copy(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_in(String str) { - var _result = MeosLibrary.meos.text_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_initcap(Pointer txt) { - var _result = MeosLibrary.meos.text_initcap(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_lower(Pointer txt) { - var _result = MeosLibrary.meos.text_lower(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String text_out(Pointer txt) { - var _result = MeosLibrary.meos.text_out(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_upper(Pointer txt) { - var _result = MeosLibrary.meos.text_upper(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_text(Pointer txt1, Pointer txt2) { - var _result = MeosLibrary.meos.textcat_text_text(txt1, txt2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_shift(OffsetDateTime t, Pointer interv) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_shift(t_new, interv); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int timestamp_to_date(LocalDateTime t) { - var t_new = t.toInstant(java.time.ZoneOffset.UTC).getEpochSecond(); - var _result = MeosLibrary.meos.timestamp_to_date(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int timestamptz_to_date(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_to_date(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_in(String str) { - var _result = MeosLibrary.meos.bigintset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintset_out(Pointer set) { - var _result = MeosLibrary.meos.bigintset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_expand(Pointer s, long value) { - var _result = MeosLibrary.meos.bigintspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_in(String str) { - var _result = MeosLibrary.meos.bigintspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintspan_out(Pointer s) { - var _result = MeosLibrary.meos.bigintspan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_in(String str) { - var _result = MeosLibrary.meos.bigintspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String bigintspanset_out(Pointer ss) { - var _result = MeosLibrary.meos.bigintspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_in(String str) { - var _result = MeosLibrary.meos.dateset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String dateset_out(Pointer s) { - var _result = MeosLibrary.meos.dateset_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_in(String str) { - var _result = MeosLibrary.meos.datespan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datespan_out(Pointer s) { - var _result = MeosLibrary.meos.datespan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_in(String str) { - var _result = MeosLibrary.meos.datespanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String datespanset_out(Pointer ss) { - var _result = MeosLibrary.meos.datespanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_in(String str) { - var _result = MeosLibrary.meos.floatset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatset_out(Pointer set, int maxdd) { - var _result = MeosLibrary.meos.floatset_out(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_expand(Pointer s, double value) { - var _result = MeosLibrary.meos.floatspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_in(String str) { - var _result = MeosLibrary.meos.floatspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatspan_out(Pointer s, int maxdd) { - var _result = MeosLibrary.meos.floatspan_out(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_in(String str) { - var _result = MeosLibrary.meos.floatspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String floatspanset_out(Pointer ss, int maxdd) { - var _result = MeosLibrary.meos.floatspanset_out(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_in(String str) { - var _result = MeosLibrary.meos.intset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intset_out(Pointer set) { - var _result = MeosLibrary.meos.intset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_expand(Pointer s, int value) { - var _result = MeosLibrary.meos.intspan_expand(s, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_in(String str) { - var _result = MeosLibrary.meos.intspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intspan_out(Pointer s) { - var _result = MeosLibrary.meos.intspan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_in(String str) { - var _result = MeosLibrary.meos.intspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String intspanset_out(Pointer ss) { - var _result = MeosLibrary.meos.intspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String set_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.set_as_hexwkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.set_as_wkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_from_hexwkb(String hexwkb) { - var _result = MeosLibrary.meos.set_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_from_wkb(Pointer wkb, long size) { - var _result = MeosLibrary.meos.set_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String span_as_hexwkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.span_as_hexwkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_as_wkb(Pointer s, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.span_as_wkb(s, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_from_hexwkb(String hexwkb) { - var _result = MeosLibrary.meos.span_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_from_wkb(Pointer wkb, long size) { - var _result = MeosLibrary.meos.span_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spanset_as_hexwkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.spanset_as_hexwkb(ss, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_as_wkb(Pointer ss, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.spanset_as_wkb(ss, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_from_hexwkb(String hexwkb) { - var _result = MeosLibrary.meos.spanset_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_from_wkb(Pointer wkb, long size) { - var _result = MeosLibrary.meos.spanset_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_in(String str) { - var _result = MeosLibrary.meos.textset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String textset_out(Pointer set) { - var _result = MeosLibrary.meos.textset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_in(String str) { - var _result = MeosLibrary.meos.tstzset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzset_out(Pointer set) { - var _result = MeosLibrary.meos.tstzset_out(set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_in(String str) { - var _result = MeosLibrary.meos.tstzspan_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzspan_out(Pointer s) { - var _result = MeosLibrary.meos.tstzspan_out(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_in(String str) { - var _result = MeosLibrary.meos.tstzspanset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tstzspanset_out(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_out(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.bigintset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_make(long lower, long upper, boolean lower_inc, boolean upper_inc) { - var _result = MeosLibrary.meos.bigintspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.dateset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = MeosLibrary.meos.datespan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.floatset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_make(double lower, double upper, boolean lower_inc, boolean upper_inc) { - var _result = MeosLibrary.meos.floatspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.intset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_make(int lower, int upper, boolean lower_inc, boolean upper_inc) { - var _result = MeosLibrary.meos.intspan_make(lower, upper, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_copy(Pointer s) { - var _result = MeosLibrary.meos.set_copy(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_copy(Pointer s) { - var _result = MeosLibrary.meos.span_copy(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_copy(Pointer ss) { - var _result = MeosLibrary.meos.spanset_copy(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_make(Pointer spans, int count) { - var _result = MeosLibrary.meos.spanset_make(spans, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.textset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.tstzset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_make(OffsetDateTime lower, OffsetDateTime upper, boolean lower_inc, boolean upper_inc) { - var lower_new = lower.toEpochSecond(); - var upper_new = upper.toEpochSecond(); - var _result = MeosLibrary.meos.tstzspan_make(lower_new, upper_new, lower_inc, upper_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_set(long i) { - var _result = MeosLibrary.meos.bigint_to_set(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_span(int i) { - var _result = MeosLibrary.meos.bigint_to_span(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_to_spanset(int i) { - var _result = MeosLibrary.meos.bigint_to_spanset(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_set(int d) { - var _result = MeosLibrary.meos.date_to_set(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_span(int d) { - var _result = MeosLibrary.meos.date_to_span(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_to_spanset(int d) { - var _result = MeosLibrary.meos.date_to_spanset(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_to_tstzset(Pointer s) { - var _result = MeosLibrary.meos.dateset_to_tstzset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_to_tstzspan(Pointer s) { - var _result = MeosLibrary.meos.datespan_to_tstzspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_to_tstzspanset(Pointer ss) { - var _result = MeosLibrary.meos.datespanset_to_tstzspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_set(double d) { - var _result = MeosLibrary.meos.float_to_set(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_span(double d) { - var _result = MeosLibrary.meos.float_to_span(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_spanset(double d) { - var _result = MeosLibrary.meos.float_to_spanset(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_to_intset(Pointer s) { - var _result = MeosLibrary.meos.floatset_to_intset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_to_intspan(Pointer s) { - var _result = MeosLibrary.meos.floatspan_to_intspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_to_intspanset(Pointer ss) { - var _result = MeosLibrary.meos.floatspanset_to_intspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_set(int i) { - var _result = MeosLibrary.meos.int_to_set(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_span(int i) { - var _result = MeosLibrary.meos.int_to_span(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_spanset(int i) { - var _result = MeosLibrary.meos.int_to_spanset(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_to_floatset(Pointer s) { - var _result = MeosLibrary.meos.intset_to_floatset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_to_floatspan(Pointer s) { - var _result = MeosLibrary.meos.intspan_to_floatspan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_to_floatspanset(Pointer ss) { - var _result = MeosLibrary.meos.intspanset_to_floatspanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_span(Pointer s) { - var _result = MeosLibrary.meos.set_to_span(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_spanset(Pointer s) { - var _result = MeosLibrary.meos.set_to_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_to_spanset(Pointer s) { - var _result = MeosLibrary.meos.span_to_spanset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_to_set(Pointer txt) { - var _result = MeosLibrary.meos.text_to_set(txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_set(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_to_set(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_span(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_to_span(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_spanset(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_to_spanset(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_to_dateset(Pointer s) { - var _result = MeosLibrary.meos.tstzset_to_dateset(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_to_datespan(Pointer s) { - var _result = MeosLibrary.meos.tstzspan_to_datespan(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_to_datespanset(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_to_datespanset(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintset_end_value(Pointer s) { - var _result = MeosLibrary.meos.bigintset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintset_start_value(Pointer s) { - var _result = MeosLibrary.meos.bigintset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.bigintset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer bigintset_values(Pointer s) { - var _result = MeosLibrary.meos.bigintset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_lower(Pointer s) { - var _result = MeosLibrary.meos.bigintspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_upper(Pointer s) { - var _result = MeosLibrary.meos.bigintspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspan_width(Pointer s) { - var _result = MeosLibrary.meos.bigintspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_lower(Pointer ss) { - var _result = MeosLibrary.meos.bigintspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_upper(Pointer ss) { - var _result = MeosLibrary.meos.bigintspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigintspanset_width(Pointer ss, boolean boundspan) { - var _result = MeosLibrary.meos.bigintspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dateset_end_value(Pointer s) { - var _result = MeosLibrary.meos.dateset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int dateset_start_value(Pointer s) { - var _result = MeosLibrary.meos.dateset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = MeosLibrary.meos.dateset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer dateset_values(Pointer s) { - var _result = MeosLibrary.meos.dateset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_duration(Pointer s) { - var _result = MeosLibrary.meos.datespan_duration(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespan_lower(Pointer s) { - var _result = MeosLibrary.meos.datespan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespan_upper(Pointer s) { - var _result = MeosLibrary.meos.datespan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_date_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = MeosLibrary.meos.datespanset_date_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_dates(Pointer ss) { - var _result = MeosLibrary.meos.datespanset_dates(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_duration(Pointer ss, boolean boundspan) { - var _result = MeosLibrary.meos.datespanset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_end_date(Pointer ss) { - var _result = MeosLibrary.meos.datespanset_end_date(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_num_dates(Pointer ss) { - var _result = MeosLibrary.meos.datespanset_num_dates(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int datespanset_start_date(Pointer ss) { - var _result = MeosLibrary.meos.datespanset_start_date(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatset_end_value(Pointer s) { - var _result = MeosLibrary.meos.floatset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatset_start_value(Pointer s) { - var _result = MeosLibrary.meos.floatset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.floatset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer floatset_values(Pointer s) { - var _result = MeosLibrary.meos.floatset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_lower(Pointer s) { - var _result = MeosLibrary.meos.floatspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_upper(Pointer s) { - var _result = MeosLibrary.meos.floatspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspan_width(Pointer s) { - var _result = MeosLibrary.meos.floatspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_lower(Pointer ss) { - var _result = MeosLibrary.meos.floatspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_upper(Pointer ss) { - var _result = MeosLibrary.meos.floatspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double floatspanset_width(Pointer ss, boolean boundspan) { - var _result = MeosLibrary.meos.floatspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intset_end_value(Pointer s) { - var _result = MeosLibrary.meos.intset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intset_start_value(Pointer s) { - var _result = MeosLibrary.meos.intset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = MeosLibrary.meos.intset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer intset_values(Pointer s) { - var _result = MeosLibrary.meos.intset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_lower(Pointer s) { - var _result = MeosLibrary.meos.intspan_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_upper(Pointer s) { - var _result = MeosLibrary.meos.intspan_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspan_width(Pointer s) { - var _result = MeosLibrary.meos.intspan_width(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_lower(Pointer ss) { - var _result = MeosLibrary.meos.intspanset_lower(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_upper(Pointer ss) { - var _result = MeosLibrary.meos.intspanset_upper(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int intspanset_width(Pointer ss, boolean boundspan) { - var _result = MeosLibrary.meos.intspanset_width(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_hash(Pointer s) { - var _result = MeosLibrary.meos.set_hash(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long set_hash_extended(Pointer s, long seed) { - var _result = MeosLibrary.meos.set_hash_extended(s, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_num_values(Pointer s) { - var _result = MeosLibrary.meos.set_num_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_hash(Pointer s) { - var _result = MeosLibrary.meos.span_hash(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long span_hash_extended(Pointer s, long seed) { - var _result = MeosLibrary.meos.span_hash_extended(s, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_lower_inc(Pointer s) { - var _result = MeosLibrary.meos.span_lower_inc(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_upper_inc(Pointer s) { - var _result = MeosLibrary.meos.span_upper_inc(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_end_span(Pointer ss) { - var _result = MeosLibrary.meos.spanset_end_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_hash(Pointer ss) { - var _result = MeosLibrary.meos.spanset_hash(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long spanset_hash_extended(Pointer ss, long seed) { - var _result = MeosLibrary.meos.spanset_hash_extended(ss, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_lower_inc(Pointer ss) { - var _result = MeosLibrary.meos.spanset_lower_inc(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_num_spans(Pointer ss) { - var _result = MeosLibrary.meos.spanset_num_spans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_span(Pointer ss) { - var _result = MeosLibrary.meos.spanset_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_span_n(Pointer ss, int i) { - var _result = MeosLibrary.meos.spanset_span_n(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_spanarr(Pointer ss) { - var _result = MeosLibrary.meos.spanset_spanarr(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_start_span(Pointer ss) { - var _result = MeosLibrary.meos.spanset_start_span(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_upper_inc(Pointer ss) { - var _result = MeosLibrary.meos.spanset_upper_inc(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_end_value(Pointer s) { - var _result = MeosLibrary.meos.textset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_start_value(Pointer s) { - var _result = MeosLibrary.meos.textset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.textset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer textset_values(Pointer s) { - var _result = MeosLibrary.meos.textset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzset_end_value(Pointer s) { - var _result = MeosLibrary.meos.tstzset_end_value(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzset_start_value(Pointer s) { - var _result = MeosLibrary.meos.tstzset_start_value(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.tstzset_value_n(s, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_values(Pointer s) { - var _result = MeosLibrary.meos.tstzset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_duration(Pointer s) { - var _result = MeosLibrary.meos.tstzspan_duration(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_lower(Pointer s) { - var _result = MeosLibrary.meos.tstzspan_lower(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspan_upper(Pointer s) { - var _result = MeosLibrary.meos.tstzspan_upper(s); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_duration(Pointer ss, boolean boundspan) { - var _result = MeosLibrary.meos.tstzspanset_duration(ss, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_end_timestamptz(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_end_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_lower(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_lower(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int tstzspanset_num_timestamps(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_num_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_start_timestamptz(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_start_timestamptz(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamps(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_timestamps(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_timestamptz_n(Pointer ss, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.tstzspanset_timestamptz_n(ss, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static OffsetDateTime tstzspanset_upper(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_upper(ss); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer bigintset_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.bigintset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_shift_scale(Pointer s, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.bigintspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_shift_scale(Pointer ss, long shift, long width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer dateset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.dateset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.datespan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.datespanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_ceil(Pointer s) { - var _result = MeosLibrary.meos.floatset_ceil(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_degrees(Pointer s, boolean normalize) { - var _result = MeosLibrary.meos.floatset_degrees(s, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_floor(Pointer s) { - var _result = MeosLibrary.meos.floatset_floor(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_radians(Pointer s) { - var _result = MeosLibrary.meos.floatset_radians(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatset_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.floatset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_ceil(Pointer s) { - var _result = MeosLibrary.meos.floatspan_ceil(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_degrees(Pointer s, boolean normalize) { - var _result = MeosLibrary.meos.floatspan_degrees(s, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_floor(Pointer s) { - var _result = MeosLibrary.meos.floatspan_floor(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_radians(Pointer s) { - var _result = MeosLibrary.meos.floatspan_radians(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_round(Pointer s, int maxdd) { - var _result = MeosLibrary.meos.floatspan_round(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_shift_scale(Pointer s, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.floatspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_ceil(Pointer ss) { - var _result = MeosLibrary.meos.floatspanset_ceil(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_floor(Pointer ss) { - var _result = MeosLibrary.meos.floatspanset_floor(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_degrees(Pointer ss, boolean normalize) { - var _result = MeosLibrary.meos.floatspanset_degrees(ss, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_radians(Pointer ss) { - var _result = MeosLibrary.meos.floatspanset_radians(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_round(Pointer ss, int maxdd) { - var _result = MeosLibrary.meos.floatspanset_round(ss, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_shift_scale(Pointer ss, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.floatspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intset_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.intset_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_shift_scale(Pointer s, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.intspan_shift_scale(s, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_shift_scale(Pointer ss, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.intspanset_shift_scale(ss, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_expand(Pointer s, Pointer interv) { - var _result = MeosLibrary.meos.tstzspan_expand(s, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_round(Pointer s, int maxdd) { - var _result = MeosLibrary.meos.set_round(s, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_textset(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.textcat_text_textset(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_textset_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.textcat_textset_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_initcap(Pointer s) { - var _result = MeosLibrary.meos.textset_initcap(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_lower(Pointer s) { - var _result = MeosLibrary.meos.textset_lower(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textset_upper(Pointer s) { - var _result = MeosLibrary.meos.textset_upper(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_tprecision(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_tprecision(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzset_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = MeosLibrary.meos.tstzset_shift_scale(s, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tstzset_tprecision(s, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_shift_scale(Pointer s, Pointer shift, Pointer duration) { - var _result = MeosLibrary.meos.tstzspan_shift_scale(s, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_tprecision(Pointer s, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tstzspan_tprecision(s, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_shift_scale(Pointer ss, Pointer shift, Pointer duration) { - var _result = MeosLibrary.meos.tstzspanset_shift_scale(ss, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_tprecision(Pointer ss, Pointer duration, OffsetDateTime torigin) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tstzspanset_tprecision(ss, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int set_cmp(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_eq(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_eq(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_ge(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_ge(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_gt(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_gt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_le(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_le(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_lt(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_lt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean set_ne(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.set_ne(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int span_cmp(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_cmp(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_eq(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_eq(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_ge(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_ge(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_gt(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_gt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_le(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_le(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_lt(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_lt(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean span_ne(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.span_ne(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spanset_cmp(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_cmp(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_eq(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_eq(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_ge(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_ge(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_gt(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_gt(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_le(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_le(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_lt(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_lt(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean spanset_ne(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.spanset_ne(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_spans(Pointer s) { - var _result = MeosLibrary.meos.set_spans(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_split_each_n_spans(Pointer s, int elems_per_span, Pointer count) { - var _result = MeosLibrary.meos.set_split_each_n_spans(s, elems_per_span, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_split_n_spans(Pointer s, int span_count, Pointer count) { - var _result = MeosLibrary.meos.set_split_n_spans(s, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_spans(Pointer ss) { - var _result = MeosLibrary.meos.spanset_spans(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_split_each_n_spans(Pointer ss, int elems_per_span, Pointer count) { - var _result = MeosLibrary.meos.spanset_split_each_n_spans(ss, elems_per_span, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_split_n_spans(Pointer ss, int span_count, Pointer count) { - var _result = MeosLibrary.meos.spanset_split_n_spans(ss, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.adjacent_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.adjacent_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.adjacent_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.adjacent_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.adjacent_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.adjacent_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.adjacent_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.adjacent_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.adjacent_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.adjacent_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.adjacent_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.adjacent_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.adjacent_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.adjacent_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.contained_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_span(long i, Pointer s) { - var _result = MeosLibrary.meos.contained_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.contained_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.contained_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_span(int d, Pointer s) { - var _result = MeosLibrary.meos.contained_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.contained_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.contained_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_span(double d, Pointer s) { - var _result = MeosLibrary.meos.contained_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.contained_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.contained_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.contained_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.contained_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.contained_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.contained_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.contained_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.contained_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.contained_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.contained_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.contained_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.contained_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.contained_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.contains_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.contains_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.contains_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.contains_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.contains_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_text(Pointer s, Pointer t) { - var _result = MeosLibrary.meos.contains_set_text(s, t); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.contains_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.contains_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.contains_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.contains_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.contains_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.contains_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.contains_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.contains_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.contains_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.contains_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.contains_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.contains_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.contains_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.contains_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.contains_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.overlaps_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.overlaps_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.overlaps_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.overlaps_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.overlaps_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.after_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_span(int d, Pointer s) { - var _result = MeosLibrary.meos.after_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.after_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.after_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.after_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.after_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.after_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.after_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.after_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.after_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.after_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.after_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.before_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_span(int d, Pointer s) { - var _result = MeosLibrary.meos.before_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.before_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.before_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.before_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.before_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.before_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.before_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.before_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.before_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.before_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.before_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.left_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_span(long i, Pointer s) { - var _result = MeosLibrary.meos.left_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.left_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.left_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_span(double d, Pointer s) { - var _result = MeosLibrary.meos.left_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.left_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.left_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.left_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.left_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.left_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.left_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.left_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.left_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.left_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.left_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.left_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.left_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.left_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.left_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.left_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.left_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.left_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.left_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.left_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.left_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.overafter_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_span(int d, Pointer s) { - var _result = MeosLibrary.meos.overafter_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.overafter_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.overafter_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overafter_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.overafter_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overafter_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.overafter_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overafter_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overafter_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overafter_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overafter_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.overbefore_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_span(int d, Pointer s) { - var _result = MeosLibrary.meos.overbefore_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.overbefore_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.overbefore_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overbefore_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.overbefore_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overbefore_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.overbefore_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overbefore_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overbefore_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overbefore_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.overbefore_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.overleft_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_span(long i, Pointer s) { - var _result = MeosLibrary.meos.overleft_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.overleft_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.overleft_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_span(double d, Pointer s) { - var _result = MeosLibrary.meos.overleft_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.overleft_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.overleft_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.overleft_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.overleft_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.overleft_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.overleft_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.overleft_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.overleft_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.overleft_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.overleft_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.overleft_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.overleft_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.overleft_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.overleft_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.overleft_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.overleft_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.overleft_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.overleft_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.overleft_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.overleft_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.overright_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_span(long i, Pointer s) { - var _result = MeosLibrary.meos.overright_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.overright_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.overright_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_span(double d, Pointer s) { - var _result = MeosLibrary.meos.overright_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.overright_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.overright_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.overright_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.overright_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.overright_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.overright_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.overright_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.overright_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.overright_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.overright_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.overright_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.overright_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.overright_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.overright_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.overright_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.overright_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.overright_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.overright_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.overright_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.overright_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.right_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_span(long i, Pointer s) { - var _result = MeosLibrary.meos.right_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.right_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.right_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_span(double d, Pointer s) { - var _result = MeosLibrary.meos.right_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.right_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.right_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.right_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.right_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.right_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.right_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.right_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.right_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.right_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.right_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.right_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.right_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.right_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.right_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.right_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.right_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.right_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.right_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.right_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.right_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.intersection_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.intersection_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.intersection_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.intersection_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.intersection_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.intersection_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.intersection_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.intersection_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.intersection_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.intersection_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.intersection_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.intersection_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.intersection_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.intersection_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.intersection_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.intersection_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.intersection_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.intersection_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.intersection_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.intersection_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.intersection_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.intersection_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.intersection_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.intersection_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.intersection_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.intersection_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.intersection_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.minus_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_span(long i, Pointer s) { - var _result = MeosLibrary.meos.minus_bigint_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.minus_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.minus_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_span(int d, Pointer s) { - var _result = MeosLibrary.meos.minus_date_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.minus_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.minus_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_span(double d, Pointer s) { - var _result = MeosLibrary.meos.minus_float_span(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.minus_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.minus_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.minus_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.minus_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.minus_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.minus_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.minus_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.minus_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.minus_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.minus_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.minus_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.minus_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.minus_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.minus_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.minus_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.minus_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.minus_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.minus_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.minus_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.minus_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.minus_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.minus_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.minus_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.minus_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_set(long i, Pointer s) { - var _result = MeosLibrary.meos.union_bigint_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_span(Pointer s, long i) { - var _result = MeosLibrary.meos.union_bigint_span(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_bigint_spanset(long i, Pointer ss) { - var _result = MeosLibrary.meos.union_bigint_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_set(int d, Pointer s) { - var _result = MeosLibrary.meos.union_date_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_span(Pointer s, int d) { - var _result = MeosLibrary.meos.union_date_span(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_date_spanset(int d, Pointer ss) { - var _result = MeosLibrary.meos.union_date_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_set(double d, Pointer s) { - var _result = MeosLibrary.meos.union_float_set(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_span(Pointer s, double d) { - var _result = MeosLibrary.meos.union_float_span(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_float_spanset(double d, Pointer ss) { - var _result = MeosLibrary.meos.union_float_spanset(d, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_set(int i, Pointer s) { - var _result = MeosLibrary.meos.union_int_set(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_span(int i, Pointer s) { - var _result = MeosLibrary.meos.union_int_span(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_int_spanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.union_int_spanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.union_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.union_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.union_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.union_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_set(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.union_set_set(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_text(Pointer s, Pointer txt) { - var _result = MeosLibrary.meos.union_set_text(s, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.union_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.union_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.union_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.union_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.union_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_span(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.union_span_span(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_spanset(Pointer s, Pointer ss) { - var _result = MeosLibrary.meos.union_span_spanset(s, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.union_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.union_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.union_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.union_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.union_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_span(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.union_spanset_span(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_spanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.union_spanset_spanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.union_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_text_set(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.union_text_set(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_set(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.union_timestamptz_set(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_span(OffsetDateTime t, Pointer s) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.union_timestamptz_span(t_new, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_timestamptz_spanset(OffsetDateTime t, Pointer ss) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.union_timestamptz_spanset(t_new, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintset_bigintset(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_bigintset_bigintset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspan_bigintspan(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_bigintspan_bigintspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspan(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.distance_bigintspanset_bigintspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_bigintspanset_bigintspanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.distance_bigintspanset_bigintspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_dateset_dateset(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_dateset_dateset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespan_datespan(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_datespan_datespan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespanset_datespan(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.distance_datespanset_datespan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_datespanset_datespanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.distance_datespanset_datespanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatset_floatset(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_floatset_floatset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspan_floatspan(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_floatspan_floatspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspanset_floatspan(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.distance_floatspanset_floatspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_floatspanset_floatspanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.distance_floatspanset_floatspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intset_intset(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_intset_intset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspan_intspan(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_intspan_intspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspanset_intspan(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.distance_intspanset_intspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_intspanset_intspanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.distance_intspanset_intspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_set_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.distance_set_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_date(Pointer s, int d) { - var _result = MeosLibrary.meos.distance_set_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_set_float(Pointer s, double d) { - var _result = MeosLibrary.meos.distance_set_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_set_int(Pointer s, int i) { - var _result = MeosLibrary.meos.distance_set_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_set_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.distance_set_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_span_bigint(Pointer s, long i) { - var _result = MeosLibrary.meos.distance_span_bigint(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_date(Pointer s, int d) { - var _result = MeosLibrary.meos.distance_span_date(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_float(Pointer s, double d) { - var _result = MeosLibrary.meos.distance_span_float(s, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_span_int(Pointer s, int i) { - var _result = MeosLibrary.meos.distance_span_int(s, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_span_timestamptz(Pointer s, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.distance_span_timestamptz(s, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long distance_spanset_bigint(Pointer ss, long i) { - var _result = MeosLibrary.meos.distance_spanset_bigint(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_date(Pointer ss, int d) { - var _result = MeosLibrary.meos.distance_spanset_date(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_spanset_float(Pointer ss, double d) { - var _result = MeosLibrary.meos.distance_spanset_float(ss, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int distance_spanset_int(Pointer ss, int i) { - var _result = MeosLibrary.meos.distance_spanset_int(ss, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_spanset_timestamptz(Pointer ss, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.distance_spanset_timestamptz(ss, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzset_tstzset(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_tstzset_tstzset(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspan_tstzspan(Pointer s1, Pointer s2) { - var _result = MeosLibrary.meos.distance_tstzspan_tstzspan(s1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspan(Pointer ss, Pointer s) { - var _result = MeosLibrary.meos.distance_tstzspanset_tstzspan(ss, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double distance_tstzspanset_tstzspanset(Pointer ss1, Pointer ss2) { - var _result = MeosLibrary.meos.distance_tstzspanset_tstzspanset(ss1, ss2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_extent_transfn(Pointer state, long i) { - var _result = MeosLibrary.meos.bigint_extent_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigint_union_transfn(Pointer state, long i) { - var _result = MeosLibrary.meos.bigint_union_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_extent_transfn(Pointer state, int d) { - var _result = MeosLibrary.meos.date_extent_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer date_union_transfn(Pointer state, int d) { - var _result = MeosLibrary.meos.date_union_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_extent_transfn(Pointer state, double d) { - var _result = MeosLibrary.meos.float_extent_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_union_transfn(Pointer state, double d) { - var _result = MeosLibrary.meos.float_union_transfn(state, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_extent_transfn(Pointer state, int i) { - var _result = MeosLibrary.meos.int_extent_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_union_transfn(Pointer state, int i) { - var _result = MeosLibrary.meos.int_union_transfn(state, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_extent_transfn(Pointer state, Pointer s) { - var _result = MeosLibrary.meos.set_extent_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_union_finalfn(Pointer state) { - var _result = MeosLibrary.meos.set_union_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_union_transfn(Pointer state, Pointer s) { - var _result = MeosLibrary.meos.set_union_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_extent_transfn(Pointer state, Pointer s) { - var _result = MeosLibrary.meos.span_extent_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_union_transfn(Pointer state, Pointer s) { - var _result = MeosLibrary.meos.span_union_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_extent_transfn(Pointer state, Pointer ss) { - var _result = MeosLibrary.meos.spanset_extent_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_union_finalfn(Pointer state) { - var _result = MeosLibrary.meos.spanset_union_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_union_transfn(Pointer state, Pointer ss) { - var _result = MeosLibrary.meos.spanset_union_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer text_union_transfn(Pointer state, Pointer txt) { - var _result = MeosLibrary.meos.text_union_transfn(state, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_extent_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_extent_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_union_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_union_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long bigint_get_bin(long value, long vsize, long vorigin) { - var _result = MeosLibrary.meos.bigint_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspan_bins(Pointer s, long vsize, long vorigin, Pointer count) { - var _result = MeosLibrary.meos.bigintspan_bins(s, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bigintspanset_bins(Pointer ss, long vsize, long vorigin, Pointer count) { - var _result = MeosLibrary.meos.bigintspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int date_get_bin(int d, Pointer duration, int torigin) { - var _result = MeosLibrary.meos.date_get_bin(d, duration, torigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespan_bins(Pointer s, Pointer duration, int torigin, Pointer count) { - var _result = MeosLibrary.meos.datespan_bins(s, duration, torigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer datespanset_bins(Pointer ss, Pointer duration, int torigin, Pointer count) { - var _result = MeosLibrary.meos.datespanset_bins(ss, duration, torigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_get_bin(double value, double vsize, double vorigin) { - var _result = MeosLibrary.meos.float_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspan_bins(Pointer s, double vsize, double vorigin, Pointer count) { - var _result = MeosLibrary.meos.floatspan_bins(s, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer floatspanset_bins(Pointer ss, double vsize, double vorigin, Pointer count) { - var _result = MeosLibrary.meos.floatspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int int_get_bin(int value, int vsize, int vorigin) { - var _result = MeosLibrary.meos.int_get_bin(value, vsize, vorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspan_bins(Pointer s, int vsize, int vorigin, Pointer count) { - var _result = MeosLibrary.meos.intspan_bins(s, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intspanset_bins(Pointer ss, int vsize, int vorigin, Pointer count) { - var _result = MeosLibrary.meos.intspanset_bins(ss, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime timestamptz_get_bin(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_get_bin(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_bins(Pointer s, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = MeosLibrary.meos.tstzspan_bins(s, duration, origin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_bins(Pointer ss, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tstzspanset_bins(ss, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = MeosLibrary.meos.tbox_as_hexwkb(box, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.tbox_as_wkb(box, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_from_hexwkb(String hexwkb) { - var _result = MeosLibrary.meos.tbox_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_from_wkb(Pointer wkb, long size) { - var _result = MeosLibrary.meos.tbox_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_in(String str) { - var _result = MeosLibrary.meos.tbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbox_out(Pointer box, int maxdd) { - var _result = MeosLibrary.meos.tbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_timestamptz_to_tbox(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.float_timestamptz_to_tbox(d, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_tstzspan_to_tbox(double d, Pointer s) { - var _result = MeosLibrary.meos.float_tstzspan_to_tbox(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_timestamptz_to_tbox(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.int_timestamptz_to_tbox(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_tstzspan_to_tbox(int i, Pointer s) { - var _result = MeosLibrary.meos.int_tstzspan_to_tbox(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_tstzspan_to_tbox(Pointer span, Pointer s) { - var _result = MeosLibrary.meos.numspan_tstzspan_to_tbox(span, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer numspan_timestamptz_to_tbox(Pointer span, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.numspan_timestamptz_to_tbox(span, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_copy(Pointer box) { - var _result = MeosLibrary.meos.tbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_make(Pointer s, Pointer p) { - var _result = MeosLibrary.meos.tbox_make(s, p); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer float_to_tbox(double d) { - var _result = MeosLibrary.meos.float_to_tbox(d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer int_to_tbox(int i) { - var _result = MeosLibrary.meos.int_to_tbox(i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer set_to_tbox(Pointer s) { - var _result = MeosLibrary.meos.set_to_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer span_to_tbox(Pointer s) { - var _result = MeosLibrary.meos.span_to_tbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spanset_to_tbox(Pointer ss) { - var _result = MeosLibrary.meos.spanset_to_tbox(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_intspan(Pointer box) { - var _result = MeosLibrary.meos.tbox_to_intspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_floatspan(Pointer box) { - var _result = MeosLibrary.meos.tbox_to_floatspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_to_tstzspan(Pointer box) { - var _result = MeosLibrary.meos.tbox_to_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_tbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_to_tbox(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_hash(Pointer box) { - var _result = MeosLibrary.meos.tbox_hash(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long tbox_hash_extended(Pointer box, long seed) { - var _result = MeosLibrary.meos.tbox_hash_extended(box, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_hast(Pointer box) { - var _result = MeosLibrary.meos.tbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_hasx(Pointer box) { - var _result = MeosLibrary.meos.tbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.tbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.tbox_tmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.tbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.tbox_tmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.tbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.tbox_xmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.tbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_xmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.tbox_xmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxfloat_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.tboxfloat_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxfloat_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.tboxfloat_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxint_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = MeosLibrary.meos.tboxint_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tboxint_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = MeosLibrary.meos.tboxint_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbox_expand_time(Pointer box, Pointer interv) { - var _result = MeosLibrary.meos.tbox_expand_time(box, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_round(Pointer box, int maxdd) { - var _result = MeosLibrary.meos.tbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = MeosLibrary.meos.tbox_shift_scale_time(box, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_expand(Pointer box, double d) { - var _result = MeosLibrary.meos.tfloatbox_expand(box, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_shift_scale(Pointer box, double shift, double width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_expand(Pointer box, int i) { - var _result = MeosLibrary.meos.tintbox_expand(box, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_shift_scale(Pointer box, int shift, int width, boolean hasshift, boolean haswidth) { - var _result = MeosLibrary.meos.tintbox_shift_scale(box, shift, width, hasshift, haswidth); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_tbox_tbox(Pointer box1, Pointer box2, boolean strict) { - var _result = MeosLibrary.meos.union_tbox_tbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.intersection_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.adjacent_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.contained_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.contains_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overlaps_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.same_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.after_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.before_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.left_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overafter_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overbefore_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overleft_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overright_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tbox_tbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.right_tbox_tbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tbox_cmp(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_eq(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_ge(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_gt(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_le(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_lt(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbox_ne(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.tbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_from_mfjson(String str) { - var _result = MeosLibrary.meos.tbool_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_in(String str) { - var _result = MeosLibrary.meos.tbool_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tbool_out(Pointer temp) { - var _result = MeosLibrary.meos.tbool_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_as_hexwkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.temporal_as_hexwkb(temp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_as_mfjson(Pointer temp, boolean with_bbox, int flags, int precision, String srs) { - var _result = MeosLibrary.meos.temporal_as_mfjson(temp, with_bbox, flags, precision, srs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_as_wkb(Pointer temp, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.temporal_as_wkb(temp, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_hexwkb(String hexwkb) { - var _result = MeosLibrary.meos.temporal_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_from_wkb(Pointer wkb, long size) { - var _result = MeosLibrary.meos.temporal_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_from_mfjson(String str) { - var _result = MeosLibrary.meos.tfloat_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_in(String str) { - var _result = MeosLibrary.meos.tfloat_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tfloat_out(Pointer temp, int maxdd) { - var _result = MeosLibrary.meos.tfloat_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_from_mfjson(String str) { - var _result = MeosLibrary.meos.tint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_in(String str) { - var _result = MeosLibrary.meos.tint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tint_out(Pointer temp) { - var _result = MeosLibrary.meos.tint_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_from_mfjson(String str) { - var _result = MeosLibrary.meos.ttext_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_in(String str) { - var _result = MeosLibrary.meos.ttext_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String ttext_out(Pointer temp) { - var _result = MeosLibrary.meos.ttext_out(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_from_base_temp(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.tbool_from_base_temp(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolinst_make(boolean b, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tboolinst_make(b, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzset(boolean b, Pointer s) { - var _result = MeosLibrary.meos.tboolseq_from_base_tstzset(b, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseq_from_base_tstzspan(boolean b, Pointer s) { - var _result = MeosLibrary.meos.tboolseq_from_base_tstzspan(b, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tboolseqset_from_base_tstzspanset(boolean b, Pointer ss) { - var _result = MeosLibrary.meos.tboolseqset_from_base_tstzspanset(b, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_copy(Pointer temp) { - var _result = MeosLibrary.meos.temporal_copy(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_from_base_temp(double d, Pointer temp) { - var _result = MeosLibrary.meos.tfloat_from_base_temp(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatinst_make(double d, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tfloatinst_make(d, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzset(double d, Pointer s) { - var _result = MeosLibrary.meos.tfloatseq_from_base_tstzset(d, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseq_from_base_tstzspan(double d, Pointer s, int interp) { - var _result = MeosLibrary.meos.tfloatseq_from_base_tstzspan(d, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatseqset_from_base_tstzspanset(double d, Pointer ss, int interp) { - var _result = MeosLibrary.meos.tfloatseqset_from_base_tstzspanset(d, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_from_base_temp(int i, Pointer temp) { - var _result = MeosLibrary.meos.tint_from_base_temp(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintinst_make(int i, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tintinst_make(i, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzset(int i, Pointer s) { - var _result = MeosLibrary.meos.tintseq_from_base_tstzset(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseq_from_base_tstzspan(int i, Pointer s) { - var _result = MeosLibrary.meos.tintseq_from_base_tstzspan(i, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintseqset_from_base_tstzspanset(int i, Pointer ss) { - var _result = MeosLibrary.meos.tintseqset_from_base_tstzspanset(i, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequence_make(Pointer instants, int count, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = MeosLibrary.meos.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make(Pointer sequences, int count, boolean normalize) { - var _result = MeosLibrary.meos.tsequenceset_make(sequences, count, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tsequenceset_make_gaps(Pointer instants, int count, int interp, Pointer maxt, double maxdist) { - var _result = MeosLibrary.meos.tsequenceset_make_gaps(instants, count, interp, maxt, maxdist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_from_base_temp(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ttext_from_base_temp(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextinst_make(Pointer txt, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.ttextinst_make(txt, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzset(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.ttextseq_from_base_tstzset(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseq_from_base_tstzspan(Pointer txt, Pointer s) { - var _result = MeosLibrary.meos.ttextseq_from_base_tstzspan(txt, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttextseqset_from_base_tstzspanset(Pointer txt, Pointer ss) { - var _result = MeosLibrary.meos.ttextseqset_from_base_tstzspanset(txt, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_to_tint(Pointer temp) { - var _result = MeosLibrary.meos.tbool_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tstzspan(Pointer temp) { - var _result = MeosLibrary.meos.temporal_to_tstzspan(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_to_tint(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_to_tint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_to_tfloat(Pointer temp) { - var _result = MeosLibrary.meos.tint_to_tfloat(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_to_span(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_to_span(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_to_tbox(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_to_tbox(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_end_value(Pointer temp) { - var _result = MeosLibrary.meos.tbool_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_start_value(Pointer temp) { - var _result = MeosLibrary.meos.tbool_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tbool_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tbool_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.tbool_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tbool_values(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tbool_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_duration(Pointer temp, boolean boundspan) { - var _result = MeosLibrary.meos.temporal_duration(temp, boundspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_instant(Pointer temp) { - var _result = MeosLibrary.meos.temporal_end_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_end_sequence(Pointer temp) { - var _result = MeosLibrary.meos.temporal_end_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime temporal_end_timestamptz(Pointer temp) { - var _result = MeosLibrary.meos.temporal_end_timestamptz(temp); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static int temporal_hash(Pointer temp) { - var _result = MeosLibrary.meos.temporal_hash(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instant_n(Pointer temp, int n) { - var _result = MeosLibrary.meos.temporal_instant_n(temp, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_instants(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.temporal_instants(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_interp(Pointer temp) { - var _result = MeosLibrary.meos.temporal_interp(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_lower_inc(Pointer temp) { - var _result = MeosLibrary.meos.temporal_lower_inc(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_max_instant(Pointer temp) { - var _result = MeosLibrary.meos.temporal_max_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_min_instant(Pointer temp) { - var _result = MeosLibrary.meos.temporal_min_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_instants(Pointer temp) { - var _result = MeosLibrary.meos.temporal_num_instants(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_sequences(Pointer temp) { - var _result = MeosLibrary.meos.temporal_num_sequences(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_num_timestamps(Pointer temp) { - var _result = MeosLibrary.meos.temporal_num_timestamps(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_segm_duration(Pointer temp, Pointer duration, boolean atleast, boolean strict) { - var _result = MeosLibrary.meos.temporal_segm_duration(temp, duration, atleast, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_segments(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.temporal_segments(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequence_n(Pointer temp, int i) { - var _result = MeosLibrary.meos.temporal_sequence_n(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_sequences(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.temporal_sequences(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_instant(Pointer temp) { - var _result = MeosLibrary.meos.temporal_start_instant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_start_sequence(Pointer temp) { - var _result = MeosLibrary.meos.temporal_start_sequence(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static OffsetDateTime temporal_start_timestamptz(Pointer temp) { - var _result = MeosLibrary.meos.temporal_start_timestamptz(temp); - MeosErrorHandler.checkError(); - return java.time.Instant.ofEpochSecond(_result).atOffset(java.time.ZoneOffset.UTC); - } - - @SuppressWarnings("unused") - public static Pointer temporal_stops(Pointer temp, double maxdist, Pointer minduration) { - var _result = MeosLibrary.meos.temporal_stops(temp, maxdist, minduration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String temporal_subtype(Pointer temp) { - var _result = MeosLibrary.meos.temporal_subtype(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time(Pointer temp) { - var _result = MeosLibrary.meos.temporal_time(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_timestamps(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.temporal_timestamps(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_timestamptz_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.temporal_timestamptz_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static boolean temporal_upper_inc(Pointer temp) { - var _result = MeosLibrary.meos.temporal_upper_inc(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_avg_value(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_avg_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_end_value(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_min_value(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_max_value(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tfloat_start_value(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tfloat_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tfloat_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.tfloat_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_values(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tfloat_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_end_value(Pointer temp) { - var _result = MeosLibrary.meos.tint_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_max_value(Pointer temp) { - var _result = MeosLibrary.meos.tint_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_min_value(Pointer temp) { - var _result = MeosLibrary.meos.tint_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tint_start_value(Pointer temp) { - var _result = MeosLibrary.meos.tint_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tint_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tint_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Integer.BYTES); - out = MeosLibrary.meos.tint_value_n(temp, n, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tint_values(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tint_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_avg_value(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_avg_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_integral(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_integral(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tnumber_twavg(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_twavg(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_valuespans(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_valuespans(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_end_value(Pointer temp) { - var _result = MeosLibrary.meos.ttext_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_max_value(Pointer temp) { - var _result = MeosLibrary.meos.ttext_max_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_min_value(Pointer temp) { - var _result = MeosLibrary.meos.ttext_min_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_start_value(Pointer temp) { - var _result = MeosLibrary.meos.ttext_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean ttext_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.ttext_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.ttext_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer ttext_values(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.ttext_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_degrees(double value, boolean normalize) { - var _result = MeosLibrary.meos.float_degrees(value, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temparr_round(Pointer temp, int count, int maxdd) { - var _result = MeosLibrary.meos.temparr_round(temp, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_round(Pointer temp, int maxdd) { - var _result = MeosLibrary.meos.temporal_round(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_scale_time(Pointer temp, Pointer duration) { - var _result = MeosLibrary.meos.temporal_scale_time(temp, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_set_interp(Pointer temp, int interp) { - var _result = MeosLibrary.meos.temporal_set_interp(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_shift_scale_time(Pointer temp, Pointer shift, Pointer duration) { - var _result = MeosLibrary.meos.temporal_shift_scale_time(temp, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_shift_time(Pointer temp, Pointer shift) { - var _result = MeosLibrary.meos.temporal_shift_time(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tinstant(Pointer temp) { - var _result = MeosLibrary.meos.temporal_to_tinstant(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tsequence(Pointer temp, int interp) { - var _result = MeosLibrary.meos.temporal_to_tsequence(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_to_tsequenceset(Pointer temp, int interp) { - var _result = MeosLibrary.meos.temporal_to_tsequenceset(temp, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_ceil(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_ceil(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_degrees(Pointer temp, boolean normalize) { - var _result = MeosLibrary.meos.tfloat_degrees(temp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_floor(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_floor(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_radians(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_radians(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_scale_value(Pointer temp, double width) { - var _result = MeosLibrary.meos.tfloat_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_shift_scale_value(Pointer temp, double shift, double width) { - var _result = MeosLibrary.meos.tfloat_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_shift_value(Pointer temp, double shift) { - var _result = MeosLibrary.meos.tfloat_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_scale_value(Pointer temp, int width) { - var _result = MeosLibrary.meos.tint_scale_value(temp, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_shift_scale_value(Pointer temp, int shift, int width) { - var _result = MeosLibrary.meos.tint_shift_scale_value(temp, shift, width); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_shift_value(Pointer temp, int shift) { - var _result = MeosLibrary.meos.tint_shift_value(temp, shift); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_append_tinstant(Pointer temp, Pointer inst, int interp, double maxdist, Pointer maxt, boolean expand) { - var _result = MeosLibrary.meos.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_append_tsequence(Pointer temp, Pointer seq, boolean expand) { - var _result = MeosLibrary.meos.temporal_append_tsequence(temp, seq, expand); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_timestamptz(Pointer temp, OffsetDateTime t, boolean connect) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_delete_timestamptz(temp, t_new, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzset(Pointer temp, Pointer s, boolean connect) { - var _result = MeosLibrary.meos.temporal_delete_tstzset(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspan(Pointer temp, Pointer s, boolean connect) { - var _result = MeosLibrary.meos.temporal_delete_tstzspan(temp, s, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_delete_tstzspanset(Pointer temp, Pointer ss, boolean connect) { - var _result = MeosLibrary.meos.temporal_delete_tstzspanset(temp, ss, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_insert(Pointer temp1, Pointer temp2, boolean connect) { - var _result = MeosLibrary.meos.temporal_insert(temp1, temp2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_merge(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_merge_array(Pointer temparr, int count) { - var _result = MeosLibrary.meos.temporal_merge_array(temparr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_update(Pointer temp1, Pointer temp2, boolean connect) { - var _result = MeosLibrary.meos.temporal_update(temp1, temp2, connect); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_at_value(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.tbool_at_value(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_minus_value(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.tbool_minus_value(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_after_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_after_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_max(Pointer temp) { - var _result = MeosLibrary.meos.temporal_at_max(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_min(Pointer temp) { - var _result = MeosLibrary.meos.temporal_at_min(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_at_timestamptz(temp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzset(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.temporal_at_tstzset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.temporal_at_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_tstzspanset(Pointer temp, Pointer ss) { - var _result = MeosLibrary.meos.temporal_at_tstzspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_at_values(Pointer temp, Pointer set) { - var _result = MeosLibrary.meos.temporal_at_values(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_before_timestamptz(Pointer temp, OffsetDateTime t, boolean strict) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_before_timestamptz(temp, t_new, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_max(Pointer temp) { - var _result = MeosLibrary.meos.temporal_minus_max(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_min(Pointer temp) { - var _result = MeosLibrary.meos.temporal_minus_min(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_timestamptz(Pointer temp, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_minus_timestamptz(temp, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzset(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.temporal_minus_tstzset(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.temporal_minus_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_tstzspanset(Pointer temp, Pointer ss) { - var _result = MeosLibrary.meos.temporal_minus_tstzspanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_minus_values(Pointer temp, Pointer set) { - var _result = MeosLibrary.meos.temporal_minus_values(temp, set); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_at_value(Pointer temp, double d) { - var _result = MeosLibrary.meos.tfloat_at_value(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_minus_value(Pointer temp, double d) { - var _result = MeosLibrary.meos.tfloat_minus_value(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_at_value(Pointer temp, int i) { - var _result = MeosLibrary.meos.tint_at_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_minus_value(Pointer temp, int i) { - var _result = MeosLibrary.meos.tint_minus_value(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_span(Pointer temp, Pointer span) { - var _result = MeosLibrary.meos.tnumber_at_span(temp, span); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_spanset(Pointer temp, Pointer ss) { - var _result = MeosLibrary.meos.tnumber_at_spanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_at_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.tnumber_at_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_span(Pointer temp, Pointer span) { - var _result = MeosLibrary.meos.tnumber_minus_span(temp, span); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_spanset(Pointer temp, Pointer ss) { - var _result = MeosLibrary.meos.tnumber_minus_spanset(temp, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_minus_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.tnumber_minus_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_at_value(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ttext_at_value(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_minus_value(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ttext_minus_value(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int temporal_cmp(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_cmp(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_eq(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_eq(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_ge(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_ge(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_gt(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_gt(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_le(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_le(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_lt(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_lt(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean temporal_ne(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_ne(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.always_eq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.always_eq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.always_eq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.always_eq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_eq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.always_eq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.always_eq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.always_eq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.always_eq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.always_ge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.always_ge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_ge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.always_ge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.always_ge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.always_ge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.always_ge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.always_gt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.always_gt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_gt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.always_gt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.always_gt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.always_gt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.always_gt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.always_le_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.always_le_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_le_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.always_le_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.always_le_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.always_le_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_le_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.always_le_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.always_lt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.always_lt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_lt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.always_lt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.always_lt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.always_lt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.always_lt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.always_ne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.always_ne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.always_ne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.always_ne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_ne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.always_ne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.always_ne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.always_ne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.always_ne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.ever_eq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.ever_eq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.ever_eq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.ever_eq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_eq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ever_eq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.ever_eq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.ever_eq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ever_eq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.ever_ge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.ever_ge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_ge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ever_ge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.ever_ge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.ever_ge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ge_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ever_ge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.ever_gt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.ever_gt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_gt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ever_gt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.ever_gt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.ever_gt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_gt_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ever_gt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.ever_le_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.ever_le_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_le_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ever_le_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.ever_le_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.ever_le_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_le_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ever_le_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.ever_lt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.ever_lt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_lt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ever_lt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.ever_lt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.ever_lt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_lt_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ever_lt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.ever_ne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.ever_ne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.ever_ne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.ever_ne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_ne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.ever_ne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.ever_ne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.ever_ne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.ever_ne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.teq_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.teq_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.teq_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.teq_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.teq_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.teq_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.teq_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.teq_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.teq_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.tge_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.tge_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tge_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.tge_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.tge_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.tge_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tge_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.tge_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.tgt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.tgt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tgt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.tgt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.tgt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.tgt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgt_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.tgt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.tle_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.tle_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tle_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.tle_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.tle_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.tle_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tle_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.tle_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.tlt_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.tlt_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tlt_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.tlt_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.tlt_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.tlt_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tlt_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.tlt_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.tne_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_float_tfloat(double d, Pointer temp) { - var _result = MeosLibrary.meos.tne_float_tfloat(d, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_int_tint(int i, Pointer temp) { - var _result = MeosLibrary.meos.tne_int_tint(i, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.tne_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tne_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.tne_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.tne_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.tne_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.tne_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_spans(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.temporal_spans(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_split_each_n_spans(Pointer temp, int elem_count, Pointer count) { - var _result = MeosLibrary.meos.temporal_split_each_n_spans(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_split_n_spans(Pointer temp, int span_count, Pointer count) { - var _result = MeosLibrary.meos.temporal_split_n_spans(temp, span_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_split_each_n_tboxes(Pointer temp, int elem_count, Pointer count) { - var _result = MeosLibrary.meos.tnumber_split_each_n_tboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_split_n_tboxes(Pointer temp, int box_count, Pointer count) { - var _result = MeosLibrary.meos.tnumber_split_n_tboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tboxes(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tnumber_tboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.adjacent_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.adjacent_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.adjacent_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.adjacent_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.adjacent_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.adjacent_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.adjacent_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.adjacent_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.contained_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.contained_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.contained_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.contained_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.contained_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.contained_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.contained_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.contained_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.contains_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.contains_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.contains_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.contains_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.contains_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.contains_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.contains_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.contains_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.overlaps_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overlaps_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overlaps_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.overlaps_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.overlaps_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overlaps_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overlaps_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.overlaps_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.same_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.same_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.same_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.same_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.same_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.same_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.same_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.same_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.after_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.after_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.after_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.after_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.after_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.after_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.before_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.before_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.before_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.before_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.before_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.before_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.left_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.left_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.left_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.left_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.left_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overafter_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.overafter_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overafter_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overafter_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overafter_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.overafter_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overbefore_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_temporal_tstzspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.overbefore_temporal_tstzspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_temporal_temporal(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overbefore_temporal_temporal(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overbefore_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overbefore_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tstzspan_temporal(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.overbefore_tstzspan_temporal(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.overleft_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overleft_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.overleft_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overleft_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overleft_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.overright_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overright_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.overright_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overright_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overright_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_numspan_tnumber(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.right_numspan_tnumber(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tbox_tnumber(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.right_tbox_tnumber(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_numspan(Pointer temp, Pointer s) { - var _result = MeosLibrary.meos.right_tnumber_numspan(temp, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.right_tnumber_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.right_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.tand_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.tand_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tand_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tand_tbool_tbool(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_when_true(Pointer temp) { - var _result = MeosLibrary.meos.tbool_when_true(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnot_tbool(Pointer temp) { - var _result = MeosLibrary.meos.tnot_tbool(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_bool_tbool(boolean b, Pointer temp) { - var _result = MeosLibrary.meos.tor_bool_tbool(b, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_tbool_bool(Pointer temp, boolean b) { - var _result = MeosLibrary.meos.tor_tbool_bool(temp, b); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tor_tbool_tbool(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tor_tbool_tbool(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_float_tfloat(double d, Pointer tnumber) { - var _result = MeosLibrary.meos.add_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_int_tint(int i, Pointer tnumber) { - var _result = MeosLibrary.meos.add_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tfloat_float(Pointer tnumber, double d) { - var _result = MeosLibrary.meos.add_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tint_int(Pointer tnumber, int i) { - var _result = MeosLibrary.meos.add_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer add_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = MeosLibrary.meos.add_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_float_tfloat(double d, Pointer tnumber) { - var _result = MeosLibrary.meos.div_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_int_tint(int i, Pointer tnumber) { - var _result = MeosLibrary.meos.div_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tfloat_float(Pointer tnumber, double d) { - var _result = MeosLibrary.meos.div_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tint_int(Pointer tnumber, int i) { - var _result = MeosLibrary.meos.div_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer div_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = MeosLibrary.meos.div_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mult_float_tfloat(double d, Pointer tnumber) { - var _result = MeosLibrary.meos.mult_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mult_int_tint(int i, Pointer tnumber) { - var _result = MeosLibrary.meos.mult_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mult_tfloat_float(Pointer tnumber, double d) { - var _result = MeosLibrary.meos.mult_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mult_tint_int(Pointer tnumber, int i) { - var _result = MeosLibrary.meos.mult_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer mult_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = MeosLibrary.meos.mult_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_float_tfloat(double d, Pointer tnumber) { - var _result = MeosLibrary.meos.sub_float_tfloat(d, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_int_tint(int i, Pointer tnumber) { - var _result = MeosLibrary.meos.sub_int_tint(i, tnumber); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tfloat_float(Pointer tnumber, double d) { - var _result = MeosLibrary.meos.sub_tfloat_float(tnumber, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tint_int(Pointer tnumber, int i) { - var _result = MeosLibrary.meos.sub_tint_int(tnumber, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer sub_tnumber_tnumber(Pointer tnumber1, Pointer tnumber2) { - var _result = MeosLibrary.meos.sub_tnumber_tnumber(tnumber1, tnumber2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_derivative(Pointer temp) { - var _result = MeosLibrary.meos.temporal_derivative(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_exp(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_exp(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_ln(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_ln(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_log10(Pointer temp) { - var _result = MeosLibrary.meos.tfloat_log10(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_abs(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_abs(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_trend(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_trend(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double float_angular_difference(double degrees1, double degrees2) { - var _result = MeosLibrary.meos.float_angular_difference(degrees1, degrees2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_angular_difference(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_angular_difference(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_delta_value(Pointer temp) { - var _result = MeosLibrary.meos.tnumber_delta_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_text_ttext(Pointer txt, Pointer temp) { - var _result = MeosLibrary.meos.textcat_text_ttext(txt, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_ttext_text(Pointer temp, Pointer txt) { - var _result = MeosLibrary.meos.textcat_ttext_text(temp, txt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer textcat_ttext_ttext(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.textcat_ttext_ttext(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_initcap(Pointer temp) { - var _result = MeosLibrary.meos.ttext_initcap(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_upper(Pointer temp) { - var _result = MeosLibrary.meos.ttext_upper(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_lower(Pointer temp) { - var _result = MeosLibrary.meos.ttext_lower(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.tdistance_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.tdistance_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tnumber_tnumber(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tdistance_tnumber_tnumber(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tboxfloat_tboxfloat(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.nad_tboxfloat_tboxfloat(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tboxint_tboxint(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.nad_tboxint_tboxint(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_float(Pointer temp, double d) { - var _result = MeosLibrary.meos.nad_tfloat_float(temp, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_tfloat(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.nad_tfloat_tfloat(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tfloat_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.nad_tfloat_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_int(Pointer temp, int i) { - var _result = MeosLibrary.meos.nad_tint_int(temp, i); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_tbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.nad_tint_tbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int nad_tint_tint(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.nad_tint_tint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tand_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tbool_tand_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tbool_tor_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tbool_tor_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_extent_transfn(Pointer s, Pointer temp) { - var _result = MeosLibrary.meos.temporal_extent_transfn(s, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tagg_finalfn(Pointer state) { - var _result = MeosLibrary.meos.temporal_tagg_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tcount_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.temporal_tcount_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmax_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tfloat_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tmin_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tfloat_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_tsum_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tfloat_tsum_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tfloat_wmax_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tfloat_wmin_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tfloat_wsum_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_tcount_transfn(Pointer state, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_tcount_transfn(state, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmax_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tint_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tmin_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tint_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_tsum_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tint_tsum_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wmax_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tint_wmax_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wmin_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tint_wmin_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_wsum_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tint_wsum_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_extent_transfn(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.tnumber_extent_transfn(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_finalfn(Pointer state) { - var _result = MeosLibrary.meos.tnumber_tavg_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_tavg_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tnumber_tavg_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tnumber_wavg_transfn(Pointer state, Pointer temp, Pointer interv) { - var _result = MeosLibrary.meos.tnumber_wavg_transfn(state, temp, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_tcount_transfn(Pointer state, Pointer s) { - var _result = MeosLibrary.meos.tstzset_tcount_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_tcount_transfn(Pointer state, Pointer s) { - var _result = MeosLibrary.meos.tstzspan_tcount_transfn(state, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_tcount_transfn(Pointer state, Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_tcount_transfn(state, ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmax_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.ttext_tmax_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttext_tmin_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.ttext_tmin_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_dp(Pointer temp, double eps_dist, boolean synchronize) { - var _result = MeosLibrary.meos.temporal_simplify_dp(temp, eps_dist, synchronize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_max_dist(Pointer temp, double eps_dist, boolean synchronize) { - var _result = MeosLibrary.meos.temporal_simplify_max_dist(temp, eps_dist, synchronize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_dist(Pointer temp, double dist) { - var _result = MeosLibrary.meos.temporal_simplify_min_dist(temp, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_simplify_min_tdelta(Pointer temp, Pointer mint) { - var _result = MeosLibrary.meos.temporal_simplify_min_tdelta(temp, mint); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tprecision(Pointer temp, Pointer duration, OffsetDateTime origin) { - var origin_new = origin.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_tprecision(temp, duration, origin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_tsample(Pointer temp, Pointer duration, OffsetDateTime origin, int interp) { - var origin_new = origin.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_tsample(temp, duration, origin_new, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_dyntimewarp_distance(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_dyntimewarp_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_dyntimewarp_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = MeosLibrary.meos.temporal_dyntimewarp_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_frechet_distance(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_frechet_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_frechet_path(Pointer temp1, Pointer temp2, Pointer count) { - var _result = MeosLibrary.meos.temporal_frechet_path(temp1, temp2, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double temporal_hausdorff_distance(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.temporal_hausdorff_distance(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_bins(Pointer temp, Pointer duration, OffsetDateTime origin, Pointer count) { - var origin_new = origin.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_time_bins(temp, duration, origin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer temporal_time_split(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.temporal_time_split(temp, duration, torigin_new, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tfloat_time_boxes(temp, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_bins(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = MeosLibrary.meos.tfloat_value_bins(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_boxes(Pointer temp, double vsize, double vorigin, Pointer count) { - var _result = MeosLibrary.meos.tfloat_value_boxes(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_split(Pointer temp, double size, double origin, Pointer bins, Pointer count) { - var _result = MeosLibrary.meos.tfloat_value_split(temp, size, origin, bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_time_boxes(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloat_value_time_split(Pointer temp, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tfloat_value_time_split(temp, vsize, duration, vorigin, torigin_new, value_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tfloatbox_time_tiles(box, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_value_tiles(Pointer box, double vsize, double vorigin, Pointer count) { - var _result = MeosLibrary.meos.tfloatbox_value_tiles(box, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tfloatbox_value_time_tiles(Pointer box, double vsize, Pointer duration, double vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_time_boxes(Pointer temp, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tint_time_boxes(temp, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_bins(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = MeosLibrary.meos.tint_value_bins(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_boxes(Pointer temp, int vsize, int vorigin, Pointer count) { - var _result = MeosLibrary.meos.tint_value_boxes(temp, vsize, vorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_split(Pointer temp, int vsize, int vorigin, Pointer bins, Pointer count) { - var _result = MeosLibrary.meos.tint_value_split(temp, vsize, vorigin, bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_time_boxes(Pointer temp, int vsize, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tint_value_time_split(Pointer temp, long size, Pointer duration, int vorigin, OffsetDateTime torigin, Pointer value_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tint_value_time_split(temp, size, duration, vorigin, torigin_new, value_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_time_tiles(Pointer box, Pointer duration, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tintbox_time_tiles(box, duration, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_value_tiles(Pointer box, int xsize, int xorigin, Pointer count) { - var _result = MeosLibrary.meos.tintbox_value_tiles(box, xsize, xorigin, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintbox_value_time_tiles(Pointer box, int xsize, Pointer duration, int xorigin, OffsetDateTime torigin, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin_new, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_as_ewkb(Pointer gs, String endian, Pointer size) { - var _result = MeosLibrary.meos.geo_as_ewkb(gs, endian, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_ewkt(Pointer gs, int precision) { - var _result = MeosLibrary.meos.geo_as_ewkt(gs, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_geojson(Pointer gs, int option, int precision, String srs) { - var _result = MeosLibrary.meos.geo_as_geojson(gs, option, precision, srs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_hexewkb(Pointer gs, String endian) { - var _result = MeosLibrary.meos.geo_as_hexewkb(gs, endian); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_as_text(Pointer gs, int precision) { - var _result = MeosLibrary.meos.geo_as_text(gs, precision); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_ewkb(Pointer wkb, long wkb_size, int srid) { - var _result = MeosLibrary.meos.geo_from_ewkb(wkb, wkb_size, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_geojson(String geojson) { - var _result = MeosLibrary.meos.geo_from_geojson(geojson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_from_text(String wkt, int srid) { - var _result = MeosLibrary.meos.geo_from_text(wkt, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_out(Pointer gs) { - var _result = MeosLibrary.meos.geo_out(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_from_binary(String wkb_bytea) { - var _result = MeosLibrary.meos.geog_from_binary(wkb_bytea); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_from_hexewkb(String wkt) { - var _result = MeosLibrary.meos.geog_from_hexewkb(wkt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_in(String str, int typmod) { - var _result = MeosLibrary.meos.geog_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_from_hexewkb(String wkt) { - var _result = MeosLibrary.meos.geom_from_hexewkb(wkt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_in(String str, int typmod) { - var _result = MeosLibrary.meos.geom_in(str, typmod); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) { - var _result = MeosLibrary.meos.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String box3d_out(Pointer box, int maxdd) { - var _result = MeosLibrary.meos.box3d_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_make(boolean hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) { - var _result = MeosLibrary.meos.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String gbox_out(Pointer box, int maxdd) { - var _result = MeosLibrary.meos.gbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_copy(Pointer g) { - var _result = MeosLibrary.meos.geo_copy(g); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogpoint_make2d(int srid, double x, double y) { - var _result = MeosLibrary.meos.geogpoint_make2d(srid, x, y); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogpoint_make3dz(int srid, double x, double y, double z) { - var _result = MeosLibrary.meos.geogpoint_make3dz(srid, x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_make2d(int srid, double x, double y) { - var _result = MeosLibrary.meos.geompoint_make2d(srid, x, y); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geompoint_make3dz(int srid, double x, double y, double z) { - var _result = MeosLibrary.meos.geompoint_make3dz(srid, x, y, z); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_to_geog(Pointer geom) { - var _result = MeosLibrary.meos.geom_to_geog(geom); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_to_geom(Pointer geog) { - var _result = MeosLibrary.meos.geog_to_geom(geog); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_is_empty(Pointer g) { - var _result = MeosLibrary.meos.geo_is_empty(g); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_is_unitary(Pointer gs) { - var _result = MeosLibrary.meos.geo_is_unitary(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String geo_typename(int type) { - var _result = MeosLibrary.meos.geo_typename(type); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_area(Pointer g, boolean use_spheroid) { - var _result = MeosLibrary.meos.geog_area(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geog_centroid(Pointer g, boolean use_spheroid) { - var _result = MeosLibrary.meos.geog_centroid(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_length(Pointer g, boolean use_spheroid) { - var _result = MeosLibrary.meos.geog_length(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_perimeter(Pointer g, boolean use_spheroid) { - var _result = MeosLibrary.meos.geog_perimeter(g, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_azimuth(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.geom_azimuth(gs1, gs2, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static double geom_length(Pointer gs) { - var _result = MeosLibrary.meos.geom_length(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_perimeter(Pointer gs) { - var _result = MeosLibrary.meos.geom_perimeter(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int line_numpoints(Pointer gs) { - var _result = MeosLibrary.meos.line_numpoints(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_point_n(Pointer geom, int n) { - var _result = MeosLibrary.meos.line_point_n(geom, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_reverse(Pointer gs) { - var _result = MeosLibrary.meos.geo_reverse(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_round(Pointer gs, int maxdd) { - var _result = MeosLibrary.meos.geo_round(gs, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_set_srid(Pointer gs, int srid) { - var _result = MeosLibrary.meos.geo_set_srid(gs, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_srid(Pointer gs) { - var _result = MeosLibrary.meos.geo_srid(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_transform(Pointer geom, int srid_to) { - var _result = MeosLibrary.meos.geo_transform(geom, srid_to); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_transform_pipeline(Pointer gs, String pipeline, int srid_to, boolean is_forward) { - var _result = MeosLibrary.meos.geo_transform_pipeline(gs, pipeline, srid_to, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_collect_garray(Pointer gsarr, int count) { - var _result = MeosLibrary.meos.geo_collect_garray(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_makeline_garray(Pointer gsarr, int count) { - var _result = MeosLibrary.meos.geo_makeline_garray(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_num_points(Pointer gs) { - var _result = MeosLibrary.meos.geo_num_points(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_num_geos(Pointer gs) { - var _result = MeosLibrary.meos.geo_num_geos(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_geo_n(Pointer geom, int n) { - var _result = MeosLibrary.meos.geo_geo_n(geom, n); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_pointarr(Pointer gs, Pointer count) { - var _result = MeosLibrary.meos.geo_pointarr(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_points(Pointer gs) { - var _result = MeosLibrary.meos.geo_points(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_array_union(Pointer gsarr, int count) { - var _result = MeosLibrary.meos.geom_array_union(gsarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_boundary(Pointer gs) { - var _result = MeosLibrary.meos.geom_boundary(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_buffer(Pointer gs, double size, String params) { - var _result = MeosLibrary.meos.geom_buffer(gs, size, params); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_centroid(Pointer gs) { - var _result = MeosLibrary.meos.geom_centroid(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_convex_hull(Pointer gs) { - var _result = MeosLibrary.meos.geom_convex_hull(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_difference2d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_difference2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_intersection2d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_intersection2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_intersection2d_coll(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_intersection2d_coll(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_min_bounding_radius(Pointer geom, Pointer radius) { - var _result = MeosLibrary.meos.geom_min_bounding_radius(geom, radius); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_shortestline2d(Pointer gs1, Pointer s2) { - var _result = MeosLibrary.meos.geom_shortestline2d(gs1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_shortestline3d(Pointer gs1, Pointer s2) { - var _result = MeosLibrary.meos.geom_shortestline3d(gs1, s2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geom_unary_union(Pointer gs, double prec) { - var _result = MeosLibrary.meos.geom_unary_union(gs, prec); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_interpolate_point(Pointer gs, double distance_fraction, boolean repeat) { - var _result = MeosLibrary.meos.line_interpolate_point(gs, distance_fraction, repeat); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double line_locate_point(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.line_locate_point(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer line_substring(Pointer gs, double from, double to) { - var _result = MeosLibrary.meos.line_substring(gs, from, to); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geog_dwithin(Pointer g1, Pointer g2, double tolerance, boolean use_spheroid) { - var _result = MeosLibrary.meos.geog_dwithin(g1, g2, tolerance, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geog_intersects(Pointer gs1, Pointer gs2, boolean use_spheroid) { - var _result = MeosLibrary.meos.geog_intersects(gs1, gs2, use_spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_contains(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_contains(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_covers(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_covers(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_disjoint2d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_disjoint2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_dwithin2d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = MeosLibrary.meos.geom_dwithin2d(gs1, gs2, tolerance); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_dwithin3d(Pointer gs1, Pointer gs2, double tolerance) { - var _result = MeosLibrary.meos.geom_dwithin3d(gs1, gs2, tolerance); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_intersects2d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_intersects2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_intersects3d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_intersects3d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_relate_pattern(Pointer gs1, Pointer gs2, String patt) { - var _result = MeosLibrary.meos.geom_relate_pattern(gs1, gs2, patt); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geom_touches(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_touches(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_stboxes(Pointer gs, Pointer count) { - var _result = MeosLibrary.meos.geo_stboxes(gs, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_split_each_n_stboxes(Pointer gs, int elem_count, Pointer count) { - var _result = MeosLibrary.meos.geo_split_each_n_stboxes(gs, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_split_n_stboxes(Pointer gs, int box_count, Pointer count) { - var _result = MeosLibrary.meos.geo_split_n_stboxes(gs, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geog_distance(Pointer g1, Pointer g2) { - var _result = MeosLibrary.meos.geog_distance(g1, g2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_distance2d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_distance2d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double geom_distance3d(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geom_distance3d(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int geo_equals(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geo_equals(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean geo_same(Pointer gs1, Pointer gs2) { - var _result = MeosLibrary.meos.geo_same(gs1, gs2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geogset_in(String str) { - var _result = MeosLibrary.meos.geogset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geomset_in(String str) { - var _result = MeosLibrary.meos.geomset_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_as_text(Pointer set, int maxdd) { - var _result = MeosLibrary.meos.spatialset_as_text(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String spatialset_as_ewkt(Pointer set, int maxdd) { - var _result = MeosLibrary.meos.spatialset_as_ewkt(set, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_make(Pointer values, int count) { - var _result = MeosLibrary.meos.geoset_make(values, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_set(Pointer gs) { - var _result = MeosLibrary.meos.geo_to_set(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_end_value(Pointer s) { - var _result = MeosLibrary.meos.geoset_end_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_start_value(Pointer s) { - var _result = MeosLibrary.meos.geoset_start_value(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geoset_value_n(Pointer s, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.geoset_value_n(s, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer geoset_values(Pointer s) { - var _result = MeosLibrary.meos.geoset_values(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_geo_set(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.contained_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_set_geo(Pointer s, Pointer gs) { - var _result = MeosLibrary.meos.contains_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_union_transfn(Pointer state, Pointer gs) { - var _result = MeosLibrary.meos.geo_union_transfn(state, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_geo_set(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.intersection_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_set_geo(Pointer s, Pointer gs) { - var _result = MeosLibrary.meos.intersection_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_geo_set(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.minus_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer minus_set_geo(Pointer s, Pointer gs) { - var _result = MeosLibrary.meos.minus_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_geo_set(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.union_geo_set(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_set_geo(Pointer s, Pointer gs) { - var _result = MeosLibrary.meos.union_set_geo(s, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_set_srid(Pointer s, int srid) { - var _result = MeosLibrary.meos.spatialset_set_srid(s, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int spatialset_srid(Pointer s) { - var _result = MeosLibrary.meos.spatialset_srid(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_transform(Pointer s, int srid) { - var _result = MeosLibrary.meos.spatialset_transform(s, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_transform_pipeline(Pointer s, String pipelinestr, int srid, boolean is_forward) { - var _result = MeosLibrary.meos.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stbox_as_hexwkb(Pointer box, byte variant, Pointer size) { - var _result = MeosLibrary.meos.stbox_as_hexwkb(box, variant, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_as_wkb(Pointer box, byte variant) { - Runtime runtime = Runtime.getSystemRuntime(); - Pointer size_out = Memory.allocateDirect(runtime, Long.BYTES); - var _result = MeosLibrary.meos.stbox_as_wkb(box, variant, size_out); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_from_hexwkb(String hexwkb) { - var _result = MeosLibrary.meos.stbox_from_hexwkb(hexwkb); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_from_wkb(Pointer wkb, long size) { - var _result = MeosLibrary.meos.stbox_from_wkb(wkb, size); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_in(String str) { - var _result = MeosLibrary.meos.stbox_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String stbox_out(Pointer box, int maxdd) { - var _result = MeosLibrary.meos.stbox_out(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_timestamptz_to_stbox(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.geo_timestamptz_to_stbox(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_tstzspan_to_stbox(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.geo_tstzspan_to_stbox(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_copy(Pointer box) { - var _result = MeosLibrary.meos.stbox_copy(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_make(boolean hasx, boolean hasz, boolean geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, Pointer s) { - var _result = MeosLibrary.meos.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_to_stbox(Pointer gs) { - var _result = MeosLibrary.meos.geo_to_stbox(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer spatialset_to_stbox(Pointer s) { - var _result = MeosLibrary.meos.spatialset_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_box3d(Pointer box) { - var _result = MeosLibrary.meos.stbox_to_box3d(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_gbox(Pointer box) { - var _result = MeosLibrary.meos.stbox_to_gbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_geo(Pointer box) { - var _result = MeosLibrary.meos.stbox_to_geo(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_to_tstzspan(Pointer box) { - var _result = MeosLibrary.meos.stbox_to_tstzspan(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer timestamptz_to_stbox(OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.timestamptz_to_stbox(t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzset_to_stbox(Pointer s) { - var _result = MeosLibrary.meos.tstzset_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspan_to_stbox(Pointer s) { - var _result = MeosLibrary.meos.tstzspan_to_stbox(s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tstzspanset_to_stbox(Pointer ss) { - var _result = MeosLibrary.meos.tstzspanset_to_stbox(ss); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_area(Pointer box, boolean spheroid) { - var _result = MeosLibrary.meos.stbox_area(box, spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_hash(Pointer box) { - var _result = MeosLibrary.meos.stbox_hash(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static long stbox_hash_extended(Pointer box, long seed) { - var _result = MeosLibrary.meos.stbox_hash_extended(box, seed); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hast(Pointer box) { - var _result = MeosLibrary.meos.stbox_hast(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hasx(Pointer box) { - var _result = MeosLibrary.meos.stbox_hasx(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_hasz(Pointer box) { - var _result = MeosLibrary.meos.stbox_hasz(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_isgeodetic(Pointer box) { - var _result = MeosLibrary.meos.stbox_isgeodetic(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double stbox_perimeter(Pointer box, boolean spheroid) { - var _result = MeosLibrary.meos.stbox_perimeter(box, spheroid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.stbox_tmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmax_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.stbox_tmax_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.stbox_tmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_tmin_inc(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Byte.BYTES); - out = MeosLibrary.meos.stbox_tmin_inc(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static double stbox_volume(Pointer box) { - var _result = MeosLibrary.meos.stbox_volume(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_xmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.stbox_xmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_xmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.stbox_xmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_ymax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.stbox_ymax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_ymin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.stbox_ymin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_zmax(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.stbox_zmax(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_zmin(Pointer box) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.stbox_zmin(box, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer stbox_expand_space(Pointer box, double d) { - var _result = MeosLibrary.meos.stbox_expand_space(box, d); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_expand_time(Pointer box, Pointer interv) { - var _result = MeosLibrary.meos.stbox_expand_time(box, interv); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space(Pointer box) { - var _result = MeosLibrary.meos.stbox_get_space(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_quad_split(Pointer box, Pointer count) { - var _result = MeosLibrary.meos.stbox_quad_split(box, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_round(Pointer box, int maxdd) { - var _result = MeosLibrary.meos.stbox_round(box, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_shift_scale_time(Pointer box, Pointer shift, Pointer duration) { - var _result = MeosLibrary.meos.stbox_shift_scale_time(box, shift, duration); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stboxarr_round(Pointer boxarr, int count, int maxdd) { - var _result = MeosLibrary.meos.stboxarr_round(boxarr, count, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_set_srid(Pointer box, int srid) { - var _result = MeosLibrary.meos.stbox_set_srid(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_srid(Pointer box) { - var _result = MeosLibrary.meos.stbox_srid(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_transform(Pointer box, int srid) { - var _result = MeosLibrary.meos.stbox_transform(box, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_transform_pipeline(Pointer box, String pipelinestr, int srid, boolean is_forward) { - var _result = MeosLibrary.meos.stbox_transform_pipeline(box, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.adjacent_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.contained_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.contains_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overlaps_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.same_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.above_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.after_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.back_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.before_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.below_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.front_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.left_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overabove_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overafter_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overback_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overbefore_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overbelow_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overfront_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overleft_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.overright_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.right_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer union_stbox_stbox(Pointer box1, Pointer box2, boolean strict) { - var _result = MeosLibrary.meos.union_stbox_stbox(box1, box2, strict); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer intersection_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.intersection_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int stbox_cmp(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_cmp(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_eq(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_eq(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_ge(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_ge(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_gt(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_gt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_le(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_le(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_lt(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_lt(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean stbox_ne(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.stbox_ne(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_from_mfjson(String str) { - var _result = MeosLibrary.meos.tgeogpoint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_in(String str) { - var _result = MeosLibrary.meos.tgeogpoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_from_mfjson(String mfjson) { - var _result = MeosLibrary.meos.tgeography_from_mfjson(mfjson); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_in(String str) { - var _result = MeosLibrary.meos.tgeography_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_from_mfjson(String str) { - var _result = MeosLibrary.meos.tgeometry_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_in(String str) { - var _result = MeosLibrary.meos.tgeometry_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_from_mfjson(String str) { - var _result = MeosLibrary.meos.tgeompoint_from_mfjson(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_in(String str) { - var _result = MeosLibrary.meos.tgeompoint_in(str); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_as_ewkt(Pointer temp, int maxdd) { - var _result = MeosLibrary.meos.tspatial_as_ewkt(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_as_text(Pointer temp, int maxdd) { - var _result = MeosLibrary.meos.tspatial_as_text(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static String tspatial_out(Pointer temp, int maxdd) { - var _result = MeosLibrary.meos.tspatial_out(temp, maxdd); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_from_base_temp(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.tgeo_from_base_temp(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tgeoinst_make(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.tgeoseq_from_base_tstzset(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = MeosLibrary.meos.tgeoseq_from_base_tstzspan(gs, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeoseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = MeosLibrary.meos.tgeoseqset_from_base_tstzspanset(gs, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_from_base_temp(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.tpoint_from_base_temp(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointinst_make(Pointer gs, OffsetDateTime t) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tpointinst_make(gs, t_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzset(Pointer gs, Pointer s) { - var _result = MeosLibrary.meos.tpointseq_from_base_tstzset(gs, s); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_from_base_tstzspan(Pointer gs, Pointer s, int interp) { - var _result = MeosLibrary.meos.tpointseq_from_base_tstzspan(gs, s, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseq_make_coords(Pointer xcoords, Pointer ycoords, Pointer zcoords, Pointer times, int count, int srid, boolean geodetic, boolean lower_inc, boolean upper_inc, int interp, boolean normalize) { - var _result = MeosLibrary.meos.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpointseqset_from_base_tstzspanset(Pointer gs, Pointer ss, int interp) { - var _result = MeosLibrary.meos.tpointseqset_from_base_tstzspanset(gs, ss, interp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer box3d_to_stbox(Pointer box) { - var _result = MeosLibrary.meos.box3d_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer gbox_to_stbox(Pointer box) { - var _result = MeosLibrary.meos.gbox_to_stbox(box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geomeas_to_tpoint(Pointer gs) { - var _result = MeosLibrary.meos.geomeas_to_tpoint(gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeogpoint_to_tgeography(Pointer temp) { - var _result = MeosLibrary.meos.tgeogpoint_to_tgeography(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeogpoint(Pointer temp) { - var _result = MeosLibrary.meos.tgeography_to_tgeogpoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeography_to_tgeometry(Pointer temp) { - var _result = MeosLibrary.meos.tgeography_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeography(Pointer temp) { - var _result = MeosLibrary.meos.tgeometry_to_tgeography(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeometry_to_tgeompoint(Pointer temp) { - var _result = MeosLibrary.meos.tgeometry_to_tgeompoint(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeompoint_to_tgeometry(Pointer temp) { - var _result = MeosLibrary.meos.tgeompoint_to_tgeometry(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpoint_as_mvtgeom(Pointer temp, Pointer bounds, int extent, int buffer, boolean clip_geom, Pointer gsarr, Pointer timesarr, Pointer count) { - var _result = MeosLibrary.meos.tpoint_as_mvtgeom(temp, bounds, extent, buffer, clip_geom, gsarr, timesarr, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tfloat_to_geomeas(Pointer tpoint, Pointer measure, boolean segmentize) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_to_stbox(Pointer temp) { - var _result = MeosLibrary.meos.tspatial_to_stbox(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bearing_point_point(Pointer gs1, Pointer gs2) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.bearing_point_point(gs1, gs2, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer bearing_tpoint_point(Pointer temp, Pointer gs, boolean invert) { - var _result = MeosLibrary.meos.bearing_tpoint_point(temp, gs, invert); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer bearing_tpoint_tpoint(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.bearing_tpoint_tpoint(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_centroid(Pointer temp) { - var _result = MeosLibrary.meos.tgeo_centroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_convex_hull(Pointer temp) { - var _result = MeosLibrary.meos.tgeo_convex_hull(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_end_value(Pointer temp) { - var _result = MeosLibrary.meos.tgeo_end_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_start_value(Pointer temp) { - var _result = MeosLibrary.meos.tgeo_start_value(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_traversed_area(Pointer temp, boolean unary_union) { - var _result = MeosLibrary.meos.tgeo_traversed_area(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tgeo_value_at_timestamptz(Pointer temp, OffsetDateTime t, boolean strict, Pointer value) { - var t_new = t.toEpochSecond(); - var _result = MeosLibrary.meos.tgeo_value_at_timestamptz(temp, t_new, strict, value); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_value_n(Pointer temp, int n) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Long.BYTES); - out = MeosLibrary.meos.tgeo_value_n(temp, n, result); - Pointer new_result = result.getPointer(0); - MeosErrorHandler.checkError(); - return out ? new_result : null; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_values(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tgeo_values(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_angular_difference(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_angular_difference(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_azimuth(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_azimuth(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_cumulative_length(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_cumulative_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_direction(Pointer temp) { - boolean out; - Runtime runtime = Runtime.getSystemRuntime(); - Pointer result = Memory.allocateDirect(runtime, Double.BYTES); - out = MeosLibrary.meos.tpoint_direction(temp, result); - MeosErrorHandler.checkError(); - return out ? result : null; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_x(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_get_x(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_y(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_get_y(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_get_z(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_get_z(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean tpoint_is_simple(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_is_simple(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double tpoint_length(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_length(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_speed(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_speed(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_trajectory(Pointer temp, boolean unary_union) { - var _result = MeosLibrary.meos.tpoint_trajectory(temp, unary_union); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_twcentroid(Pointer temp) { - var _result = MeosLibrary.meos.tpoint_twcentroid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_affine(Pointer temp, Pointer a) { - var _result = MeosLibrary.meos.tgeo_affine(temp, a); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_scale(Pointer temp, Pointer scale, Pointer sorigin) { - var _result = MeosLibrary.meos.tgeo_scale(temp, scale, sorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_make_simple(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tpoint_make_simple(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int tspatial_srid(Pointer temp) { - var _result = MeosLibrary.meos.tspatial_srid(temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_set_srid(Pointer temp, int srid) { - var _result = MeosLibrary.meos.tspatial_set_srid(temp, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_transform(Pointer temp, int srid) { - var _result = MeosLibrary.meos.tspatial_transform(temp, srid); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_transform_pipeline(Pointer temp, String pipelinestr, int srid, boolean is_forward) { - var _result = MeosLibrary.meos.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_geom(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tgeo_at_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = MeosLibrary.meos.tgeo_at_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_at_value(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tgeo_at_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_geom(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tgeo_minus_geom(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_stbox(Pointer temp, Pointer box, boolean border_inc) { - var _result = MeosLibrary.meos.tgeo_minus_stbox(temp, box, border_inc); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_minus_value(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tgeo_minus_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_geom(Pointer temp, Pointer gs, Pointer zspan) { - var _result = MeosLibrary.meos.tpoint_at_geom(temp, gs, zspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_at_value(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tpoint_at_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_geom(Pointer temp, Pointer gs, Pointer zspan) { - var _result = MeosLibrary.meos.tpoint_minus_geom(temp, gs, zspan); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_minus_value(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tpoint_minus_value(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.always_eq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.always_eq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_eq_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.always_ne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.always_ne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int always_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.always_ne_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.ever_eq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.ever_eq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_eq_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_eq_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.ever_ne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.ever_ne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ever_ne_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ever_ne_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.teq_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer teq_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.teq_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.tne_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tne_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tne_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_stboxes(Pointer temp, Pointer count) { - var _result = MeosLibrary.meos.tgeo_stboxes(temp, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var _result = MeosLibrary.meos.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_boxes(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_split_each_n_stboxes(Pointer temp, int elem_count, Pointer count) { - var _result = MeosLibrary.meos.tgeo_split_each_n_stboxes(temp, elem_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_split_n_stboxes(Pointer temp, int box_count, Pointer count) { - var _result = MeosLibrary.meos.tgeo_split_n_stboxes(temp, box_count, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.adjacent_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.adjacent_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean adjacent_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.adjacent_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.contained_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.contained_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contained_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.contained_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.contains_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.contains_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean contains_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.contains_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overlaps_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overlaps_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overlaps_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overlaps_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.same_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.same_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean same_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.same_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.above_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.above_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean above_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.above_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.after_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.after_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean after_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.after_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.back_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.back_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean back_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.back_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.before_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.before_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean before_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.before_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.below_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.below_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean below_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.below_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.front_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.front_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean front_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.front_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.left_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.left_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean left_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.left_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overabove_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overabove_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overabove_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overabove_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overafter_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overafter_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overafter_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overafter_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overback_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overback_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overback_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overback_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overbefore_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overbefore_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbefore_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overbefore_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overbelow_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overbelow_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overbelow_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overbelow_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overfront_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overfront_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overfront_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overfront_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overleft_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overleft_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overleft_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overleft_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.overright_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.overright_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean overright_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.overright_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_stbox_tspatial(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.right_stbox_tspatial(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tspatial_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.right_tspatial_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static boolean right_tspatial_tspatial(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.right_tspatial_tspatial(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.acontains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.acontains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int acontains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.acontains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.adisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.adisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = MeosLibrary.meos.adwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int adwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = MeosLibrary.meos.adwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.aintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int aintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.aintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.atouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.atouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int atouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.atouches_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.econtains_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.econtains_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int econtains_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.econtains_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_geo_tgeo(Pointer gs, Pointer temp) { - var _result = MeosLibrary.meos.ecovers_geo_tgeo(gs, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.ecovers_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int ecovers_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.ecovers_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.edisjoint_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.edisjoint_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tgeo_geo(Pointer temp, Pointer gs, double dist) { - var _result = MeosLibrary.meos.edwithin_tgeo_geo(temp, gs, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int edwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist) { - var _result = MeosLibrary.meos.edwithin_tgeo_tgeo(temp1, temp2, dist); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.eintersects_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int eintersects_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.eintersects_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.etouches_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.etouches_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static int etouches_tpoint_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.etouches_tpoint_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tcontains_geo_tgeo(gs, temp, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tcontains_tgeo_geo(temp, gs, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcontains_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tcontains_tgeo_tgeo(temp1, temp2, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tcovers_geo_tgeo(gs, temp, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tcovers_tgeo_geo(temp, gs, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tcovers_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tcovers_tgeo_tgeo(temp1, temp2, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tdisjoint_geo_tgeo(gs, temp, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tdisjoint_tgeo_geo(temp, gs, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdisjoint_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tdisjoint_tgeo_tgeo(temp1, temp2, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_geo_tgeo(Pointer gs, Pointer temp, double dist, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tdwithin_geo_tgeo(gs, temp, dist, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_geo(Pointer temp, Pointer gs, double dist, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tdwithin_tgeo_geo(temp, gs, dist, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdwithin_tgeo_tgeo(Pointer temp1, Pointer temp2, double dist, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tdwithin_tgeo_tgeo(temp1, temp2, dist, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tintersects_geo_tgeo(gs, temp, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tintersects_tgeo_geo(temp, gs, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tintersects_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.tintersects_tgeo_tgeo(temp1, temp2, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_geo_tgeo(Pointer gs, Pointer temp, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.ttouches_geo_tgeo(gs, temp, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_geo(Pointer temp, Pointer gs, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.ttouches_tgeo_geo(temp, gs, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer ttouches_tgeo_tgeo(Pointer temp1, Pointer temp2, boolean restr, boolean atvalue) { - var _result = MeosLibrary.meos.ttouches_tgeo_tgeo(temp1, temp2, restr, atvalue); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.tdistance_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tdistance_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.tdistance_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_geo(Pointer box, Pointer gs) { - var _result = MeosLibrary.meos.nad_stbox_geo(box, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_stbox_stbox(Pointer box1, Pointer box2) { - var _result = MeosLibrary.meos.nad_stbox_stbox(box1, box2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.nad_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_stbox(Pointer temp, Pointer box) { - var _result = MeosLibrary.meos.nad_tgeo_stbox(temp, box); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static double nad_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.nad_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.nai_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer nai_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.nai_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_geo(Pointer temp, Pointer gs) { - var _result = MeosLibrary.meos.shortestline_tgeo_geo(temp, gs); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer shortestline_tgeo_tgeo(Pointer temp1, Pointer temp2) { - var _result = MeosLibrary.meos.shortestline_tgeo_tgeo(temp1, temp2); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_finalfn(Pointer state) { - var _result = MeosLibrary.meos.tpoint_tcentroid_finalfn(state); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tpoint_tcentroid_transfn(Pointer state, Pointer temp) { - var _result = MeosLibrary.meos.tpoint_tcentroid_transfn(state, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tspatial_extent_transfn(Pointer box, Pointer temp) { - var _result = MeosLibrary.meos.tspatial_extent_transfn(box, temp); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space_tile(Pointer point, double xsize, double ysize, double zsize, Pointer sorigin) { - var _result = MeosLibrary.meos.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_space_time_tile(Pointer point, OffsetDateTime t, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.stbox_get_space_time_tile(point, t_new, xsize, ysize, zsize, duration, sorigin, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_get_time_tile(OffsetDateTime t, Pointer duration, OffsetDateTime torigin) { - var t_new = t.toEpochSecond(); - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.stbox_get_time_tile(t_new, duration, torigin_new); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer sorigin, boolean border_inc, Pointer count) { - var _result = MeosLibrary.meos.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_space_time_tiles(Pointer bounds, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin_new, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer stbox_time_tiles(Pointer bounds, Pointer duration, OffsetDateTime torigin, boolean border_inc, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.stbox_time_tiles(bounds, duration, torigin_new, border_inc, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_split(Pointer temp, double xsize, double ysize, double zsize, Pointer sorigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer count) { - var _result = MeosLibrary.meos.tgeo_space_split(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, space_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer tgeo_space_time_split(Pointer temp, double xsize, double ysize, double zsize, Pointer duration, Pointer sorigin, OffsetDateTime torigin, boolean bitmatrix, boolean border_inc, Pointer space_bins, Pointer time_bins, Pointer count) { - var torigin_new = torigin.toEpochSecond(); - var _result = MeosLibrary.meos.tgeo_space_time_split(temp, xsize, ysize, zsize, duration, sorigin, torigin_new, bitmatrix, border_inc, space_bins, time_bins, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_kmeans(Pointer geoms, int ngeoms, int k) { - var _result = MeosLibrary.meos.geo_cluster_kmeans(geoms, ngeoms, k); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_dbscan(Pointer geoms, int ngeoms, double tolerance, int minpoints, Pointer count) { - var _result = MeosLibrary.meos.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_intersecting(Pointer geoms, int ngeoms, Pointer count) { - var _result = MeosLibrary.meos.geo_cluster_intersecting(geoms, ngeoms, count); - MeosErrorHandler.checkError(); - return _result; - } - - @SuppressWarnings("unused") - public static Pointer geo_cluster_within(Pointer geoms, int ngeoms, double tolerance, Pointer count) { - var _result = MeosLibrary.meos.geo_cluster_within(geoms, ngeoms, tolerance, count); - MeosErrorHandler.checkError(); - return _result; - } - -} diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java index 2c0935dfc..459311c1b 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsParityGaps.java @@ -774,7 +774,9 @@ public static jnr.ffi.Pointer tcbuffer_traversed_area(jnr.ffi.Pointer arg0, bool public static boolean tcbuffer_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { if (!MeosOpsRuntime.MEOS_AVAILABLE) throw new UnsupportedOperationException("tcbuffer_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.tcbuffer_value_at_timestamptz(arg0, arg1, arg2, arg3); + jnr.ffi.Pointer ptr = functions.GeneratedFunctions.tcbuffer_value_at_timestamptz(arg0, arg1, arg2); + if (ptr != null && arg3 != null) arg3.putPointer(0, ptr); + return ptr != null; } /** MEOS {@code tcbuffer_value_n} — meos_cbuffer.h · scalar / stateless. */ @@ -1033,7 +1035,9 @@ public static jnr.ffi.Pointer tnpoint_start_value(jnr.ffi.Pointer arg0) { public static boolean tnpoint_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time.OffsetDateTime arg1, boolean arg2, jnr.ffi.Pointer arg3) { if (!MeosOpsRuntime.MEOS_AVAILABLE) throw new UnsupportedOperationException("tnpoint_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); - return functions.GeneratedFunctions.tnpoint_value_at_timestamptz(arg0, arg1, arg2, arg3); + jnr.ffi.Pointer ptr = functions.GeneratedFunctions.tnpoint_value_at_timestamptz(arg0, arg1, arg2); + if (ptr != null && arg3 != null) arg3.putPointer(0, ptr); + return ptr != null; } /** MEOS {@code tnpoint_value_n} — meos_npoint.h · scalar / stateless. */ diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java index 3a94448be..0566436ad 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTBool.java @@ -135,7 +135,9 @@ public static boolean tbool_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time throw new UnsupportedOperationException( "tbool_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tbool_value_at_timestamptz(arg0, arg1, arg2, arg3); + Pointer ptr = GeneratedFunctions.tbool_value_at_timestamptz(arg0, arg1, arg2); + if (ptr != null && arg3 != null) arg3.putByte(0, ptr.getByte(0)); + return ptr != null; } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java index 631a99e5a..f46b30cd0 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTFloat.java @@ -317,7 +317,9 @@ public static boolean tfloat_value_at_timestamptz(jnr.ffi.Pointer arg0, java.tim throw new UnsupportedOperationException( "tfloat_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tfloat_value_at_timestamptz(arg0, arg1, arg2, arg3); + Pointer ptr = GeneratedFunctions.tfloat_value_at_timestamptz(arg0, arg1, arg2); + if (ptr != null && arg3 != null) arg3.putDouble(0, ptr.getDouble(0)); + return ptr != null; } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java index 39cac262d..b5d94aaef 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTInt.java @@ -219,7 +219,9 @@ public static boolean tint_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time. throw new UnsupportedOperationException( "tint_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.tint_value_at_timestamptz(arg0, arg1, arg2, arg3); + Pointer ptr = GeneratedFunctions.tint_value_at_timestamptz(arg0, arg1, arg2); + if (ptr != null && arg3 != null) arg3.putInt(0, ptr.getInt(0)); + return ptr != null; } /** diff --git a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java index 7dfb069b3..9929a828e 100644 --- a/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java +++ b/jmeos-core/src/main/java/org/mobilitydb/meos/MeosOpsTText.java @@ -191,7 +191,9 @@ public static boolean ttext_value_at_timestamptz(jnr.ffi.Pointer arg0, java.time throw new UnsupportedOperationException( "ttext_value_at_timestamptz requires libmeos — set -Dmeos.enabled=true"); } - return GeneratedFunctions.ttext_value_at_timestamptz(arg0, arg1, arg2, arg3); + Pointer ptr = GeneratedFunctions.ttext_value_at_timestamptz(arg0, arg1, arg2); + if (ptr != null && arg3 != null) arg3.putPointer(0, ptr); + return ptr != null; } /** diff --git a/jmeos-core/src/main/java/types/basic/tbool/TBool.java b/jmeos-core/src/main/java/types/basic/tbool/TBool.java index 46765ada6..7f3a7f41c 100644 --- a/jmeos-core/src/main/java/types/basic/tbool/TBool.java +++ b/jmeos-core/src/main/java/types/basic/tbool/TBool.java @@ -12,7 +12,7 @@ import types.collections.time.Time; import types.collections.time.tstzspanset; import types.temporal.*; -import functions.functions; +import functions.GeneratedFunctions; import utils.ConversionUtils; import java.time.LocalDateTime; @@ -47,7 +47,7 @@ public interface TBool { * @return A new :class:`TBool` object. */ default TBool from_base_temporal(boolean value, Temporal base){ - return (TBool) Factory.create_temporal(functions.tbool_from_base_temp(value, base.getInner()),customType,base.getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tbool_from_base_temp(value, base.getInner()),customType,base.getTemporalType()); } /** @@ -68,13 +68,13 @@ default TBool from_base_temporal(boolean value, Temporal base){ */ static Temporal from_base_time(boolean value, Time base){ if (base instanceof tstzspanset){ - return new TBoolSeq(functions.tboolseqset_from_base_tstzspanset(value,((tstzspanset) base).get_inner())); + return new TBoolSeq(GeneratedFunctions.tboolseqset_from_base_tstzspanset(value,((tstzspanset) base).get_inner())); } else if (base instanceof tstzset) { - return new TBoolSeq(functions.tboolseq_from_base_tstzset(value,((tstzset) base).get_inner())); + return new TBoolSeq(GeneratedFunctions.tboolseq_from_base_tstzset(value,((tstzset) base).get_inner())); } else if (base instanceof tstzspan) { - return new TBoolSeqSet(functions.tboolseq_from_base_tstzspan(value,((tstzspan) base).get_inner())); + return new TBoolSeqSet(GeneratedFunctions.tboolseq_from_base_tstzspan(value,((tstzspan) base).get_inner())); } return null; @@ -92,7 +92,7 @@ static Temporal from_base_time(boolean value, Time base){ tbool_from_mfjson */ default TBool from_mfjson(String mfjson){ - Pointer result= functions.tbool_from_mfjson(mfjson); + Pointer result= GeneratedFunctions.tbool_from_mfjson(mfjson); return (TBool) Factory.create_temporal(result, getCustomType(), getTemporalType()); } @@ -108,7 +108,7 @@ default TBool from_mfjson(String mfjson){ * @return Returns the string representation of "this" */ default String to_string(){ - return functions.tbool_out(getBoolInner()); + return GeneratedFunctions.tbool_out(getBoolInner()); } /** @@ -119,7 +119,7 @@ default String to_string(){ * @return Returns the string representation of "this" */ default String as_wkt(){ - return functions.tbool_out(getBoolInner()); + return GeneratedFunctions.tbool_out(getBoolInner()); } @@ -135,7 +135,7 @@ default Set value_set(){ Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer = functions.tbool_values(this.getBoolInner(), intPointer); + Pointer resPointer = GeneratedFunctions.tbool_values(this.getBoolInner(), intPointer); StringBuilder sb = null; sb.append("{"); int count= intPointer.getInt(Integer.BYTES); @@ -165,17 +165,17 @@ public Pointer createInner(Pointer inner) { @Override public Pointer createStringInner(String str) { - return functions.tbool_in(str); + return GeneratedFunctions.tbool_in(str); } @Override public Boolean start_element() throws ParseException { - return functions.tbool_start_value(this.get_inner()); + return GeneratedFunctions.tbool_start_value(this.get_inner()); } @Override public Boolean end_element() throws ParseException { - return functions.tbool_end_value(this.get_inner()); + return GeneratedFunctions.tbool_end_value(this.get_inner()); } }; } @@ -188,7 +188,7 @@ public Boolean end_element() throws ParseException { * @return Returns the starting value of "this". */ default boolean start_value(){ - return functions.tbool_start_value(getBoolInner()); + return GeneratedFunctions.tbool_start_value(getBoolInner()); } /** @@ -199,7 +199,7 @@ default boolean start_value(){ * @return Returns the ending value of "this". */ default boolean end_value(){ - return functions.tbool_end_value(getBoolInner()); + return GeneratedFunctions.tbool_end_value(getBoolInner()); } /** @@ -216,13 +216,10 @@ default boolean end_value(){ */ default boolean value_at_timestamp(LocalDateTime ts){ - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer boolPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - boolean res= functions.tbool_value_at_timestamptz(this.getBoolInner(), ConversionUtils.datetimeToTimestampTz(ts), true, boolPointer); - int value= boolPointer.getInt(Integer.BYTES); - return value > 0; + Pointer ptr = GeneratedFunctions.tbool_value_at_timestamptz( + this.getBoolInner(), ConversionUtils.datetimeToTimestampTz(ts), true); + if (ptr == null) throw new IllegalArgumentException("this has no value at the given timestamp"); + return ptr.getByte(0) != 0; } @@ -240,7 +237,7 @@ default boolean value_at_timestamp(LocalDateTime ts){ * @return True if "this" is always equal to "value", False otherwise. */ default boolean always_eq(boolean value){ - int result= functions.always_eq_tbool_bool(getBoolInner(), value); + int result= GeneratedFunctions.always_eq_tbool_bool(getBoolInner(), value); return result > 0; } @@ -256,7 +253,7 @@ default boolean always_eq(boolean value){ * @return True if "this" is ever equal to "value", False otherwise. */ default boolean ever_eq(boolean value){ - int result= functions.ever_eq_tbool_bool(getBoolInner(), value); + int result= GeneratedFunctions.ever_eq_tbool_bool(getBoolInner(), value); return result > 0; } @@ -293,7 +290,7 @@ default boolean never_eq(boolean value){ * @return A {@link TBool} with the result of the temporal equality relation. */ default TBool temporal_equal(boolean other){ - return (TBool) Factory.create_temporal(functions.teq_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.teq_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); } @@ -313,7 +310,7 @@ default TBool temporal_equal(boolean other){ * @return A {@link TBool} with the result of the temporal inequality relation. */ default TBool temporal_not_equal(boolean other){ - return (TBool) Factory.create_temporal(functions.tne_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tne_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); } @@ -337,7 +334,7 @@ default TBool temporal_not_equal(boolean other){ * @return A new temporal boolean. */ default TBool at(boolean other){ - return (TBool) Factory.create_temporal(functions.tbool_at_value(getBoolInner(),other), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tbool_at_value(getBoolInner(),other), getCustomType(),getTemporalType()); } @@ -360,7 +357,7 @@ default TBool at(boolean other){ * @return A new temporal boolean. */ default TBool minus(boolean other){ - return (TBool) Factory.create_temporal(functions.tbool_minus_value(getBoolInner(),other), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tbool_minus_value(getBoolInner(),other), getCustomType(),getTemporalType()); } /* ------------------------- Boolean Operations ---------------------------- */ @@ -380,7 +377,7 @@ default TBool minus(boolean other){ * * "other". */ default TBool temporal_and(TBool other){ - return (TBool) Factory.create_temporal(functions.tand_tbool_tbool(getBoolInner(),other.getBoolInner()), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tand_tbool_tbool(getBoolInner(),other.getBoolInner()), getCustomType(),getTemporalType()); } /** @@ -414,7 +411,7 @@ default TBool and(Object other){ * * "other". */ default TBool temporal_and_bool(boolean other){ - return (TBool) Factory.create_temporal(functions.tand_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tand_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); } /** @@ -431,7 +428,7 @@ default TBool temporal_and_bool(boolean other){ * * "other". */ default TBool temporal_or(TBool other){ - return (TBool) Factory.create_temporal(functions.tor_tbool_tbool(getBoolInner(),other.getBoolInner()), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tor_tbool_tbool(getBoolInner(),other.getBoolInner()), getCustomType(),getTemporalType()); } /** @@ -465,7 +462,7 @@ default TBool or(Object other){ * * "other". */ default TBool temporal_or_bool(boolean other){ - return (TBool) Factory.create_temporal(functions.tor_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tor_tbool_bool(getBoolInner(),other), getCustomType(),getTemporalType()); } @@ -478,7 +475,7 @@ default TBool temporal_or_bool(boolean other){ * @return A {@link TBool} with the temporal negation of "this". */ default TBool temporal_not(){ - return (TBool) Factory.create_temporal(functions.tnot_tbool(getBoolInner()),getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tnot_tbool(getBoolInner()),getCustomType(),getTemporalType()); } @@ -491,7 +488,7 @@ default TBool temporal_not(){ * @return A {@link tstzspan} with the periods where "this" is True. */ default tstzspanset when_true(){ - return new tstzspanset(functions.tbool_when_true(getBoolInner())); + return new tstzspanset(GeneratedFunctions.tbool_when_true(getBoolInner())); } @@ -504,7 +501,7 @@ default tstzspanset when_true(){ * @return A {@link tstzspan} with the periods where "this" is False. */ default tstzspanset when_false(){ - return new tstzspanset(functions.tbool_when_true(functions.tnot_tbool(getBoolInner()))); + return new tstzspanset(GeneratedFunctions.tbool_when_true(GeneratedFunctions.tnot_tbool(getBoolInner()))); } /** Returns the temporal negation of `this`. @@ -539,7 +536,7 @@ default TBool invert(){ * tbool_out */ default String asString() { - return functions.tbool_out(getBoolInner()); + return GeneratedFunctions.tbool_out(getBoolInner()); } } \ No newline at end of file diff --git a/jmeos-core/src/main/java/types/basic/tbool/TBoolInst.java b/jmeos-core/src/main/java/types/basic/tbool/TBoolInst.java index b8d0e8671..645361313 100644 --- a/jmeos-core/src/main/java/types/basic/tbool/TBoolInst.java +++ b/jmeos-core/src/main/java/types/basic/tbool/TBoolInst.java @@ -2,7 +2,7 @@ import types.temporal.TInstant; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.temporal.TemporalType; @@ -37,7 +37,7 @@ public TBoolInst(Pointer inner){ */ public TBoolInst(String value) { super(value); - this.inner = functions.tbool_in(value); + this.inner = GeneratedFunctions.tbool_in(value); } /** @@ -75,7 +75,7 @@ public TBoolInst(String str, boolean value, String timemstamp, Pointer inner) { @Override public Pointer createStringInner(String str){ - return functions.tbool_in(str); + return GeneratedFunctions.tbool_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tbool/TBoolSeq.java b/jmeos-core/src/main/java/types/basic/tbool/TBoolSeq.java index e4b08e950..b2457310c 100644 --- a/jmeos-core/src/main/java/types/basic/tbool/TBoolSeq.java +++ b/jmeos-core/src/main/java/types/basic/tbool/TBoolSeq.java @@ -1,6 +1,6 @@ package types.basic.tbool; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.temporal.TSequence; import types.temporal.TemporalType; @@ -49,7 +49,7 @@ public TBoolSeq(String value){ */ public TBoolSeq(String value, int interpolation) { super(value); - this.inner = functions.tbool_in(value); + this.inner = GeneratedFunctions.tbool_in(value); } @@ -64,7 +64,7 @@ public TBoolSeq(List list, boolean lower_inc, boolean upper_inc,int inte @Override public Pointer createStringInner(String str){ - return functions.tbool_in(str); + return GeneratedFunctions.tbool_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tbool/TBoolSeqSet.java b/jmeos-core/src/main/java/types/basic/tbool/TBoolSeqSet.java index 491db1779..eb8891cd6 100644 --- a/jmeos-core/src/main/java/types/basic/tbool/TBoolSeqSet.java +++ b/jmeos-core/src/main/java/types/basic/tbool/TBoolSeqSet.java @@ -1,6 +1,6 @@ package types.basic.tbool; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.temporal.TSequenceSet; import types.temporal.TemporalType; @@ -35,14 +35,14 @@ public TBoolSeqSet(Pointer inner){ */ public TBoolSeqSet(String value) { super(value); - this.inner = functions.tbool_in(value); + this.inner = GeneratedFunctions.tbool_in(value); } @Override public Pointer createStringInner(String str){ - return functions.tbool_in(str); + return GeneratedFunctions.tbool_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tfloat/TFloat.java b/jmeos-core/src/main/java/types/basic/tfloat/TFloat.java index 6e0a96b0d..dee0c042c 100644 --- a/jmeos-core/src/main/java/types/basic/tfloat/TFloat.java +++ b/jmeos-core/src/main/java/types/basic/tfloat/TFloat.java @@ -16,7 +16,7 @@ import types.collections.time.Time; import types.collections.time.tstzspanset; import types.temporal.*; -import functions.functions; +import functions.GeneratedFunctions; import utils.ConversionUtils; import java.time.LocalDateTime; @@ -51,7 +51,7 @@ public interface TFloat extends TNumber { * @return A new {@link Float} object. */ default TFloat from_base_temporal(float value, Temporal base, TInterpolation interp){ - return (TFloat) Factory.create_temporal(functions.tfloat_from_base_temp(value,base.getInner()),getCustomType(),getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tfloat_from_base_temp(value,base.getInner()),getCustomType(),getTemporalType()); } /** @@ -74,11 +74,11 @@ default TFloat from_base_temporal(float value, Temporal base, TInterpolation int */ static TFloat from_base_time(float value, Time base, TInterpolation interpolation){ if (base instanceof tstzspanset) { - return new TFloatSeq(functions.tfloatseqset_from_base_tstzspanset((double) value, ((tstzspanset) base).get_inner(), interpolation.getValue())); + return new TFloatSeq(GeneratedFunctions.tfloatseqset_from_base_tstzspanset((double) value, ((tstzspanset) base).get_inner(), interpolation.getValue())); } else if (base instanceof tstzset) { - return new TFloatSeq(functions.tfloatseq_from_base_tstzset(value, ((tstzset) base).get_inner())); + return new TFloatSeq(GeneratedFunctions.tfloatseq_from_base_tstzset(value, ((tstzset) base).get_inner())); } else if (base instanceof tstzspan) { - return new TFloatSeqSet(functions.tfloatseq_from_base_tstzspan(value, ((tstzspan) base).get_inner(), interpolation.getValue())); + return new TFloatSeqSet(GeneratedFunctions.tfloatseq_from_base_tstzspan(value, ((tstzspan) base).get_inner(), interpolation.getValue())); } throw new UnsupportedOperationException("Operation not supported with type " + base.getClass()); } @@ -96,7 +96,7 @@ static TFloat from_base_time(float value, Time base, TInterpolation interpolatio tfloat_from_mfjson */ default TFloat from_mfjson(String mfjson) { - Pointer resPointer= functions.tfloat_from_mfjson(mfjson); + Pointer resPointer= GeneratedFunctions.tfloat_from_mfjson(mfjson); return (TFloat) Factory.create_temporal(resPointer, getCustomType(), getTemporalType()); } @@ -115,7 +115,7 @@ default TFloat from_mfjson(String mfjson) { * @return A string representation of "this". */ default String to_string(int max_decimals){ - return functions.tfloat_out(getNumberInner(), max_decimals); + return GeneratedFunctions.tfloat_out(getNumberInner(), max_decimals); } /** @@ -128,7 +128,7 @@ default String to_string(int max_decimals){ * @return A string representation of "this". */ default String as_wkt(int max_decimals){ - return functions.tfloat_out(getNumberInner(),max_decimals); + return GeneratedFunctions.tfloat_out(getNumberInner(),max_decimals); } /* ------------------------- Conversions ---------------------------------- */ @@ -148,7 +148,7 @@ default String as_wkt(int max_decimals){ @return A new temporal integer. */ default TInt to_tint(){ - return (TInt) Factory.create_temporal(functions.tfloat_to_tint(getNumberInner()),"Integer",getTemporalType()); + return (TInt) Factory.create_temporal(GeneratedFunctions.tfloat_to_tint(getNumberInner()),"Integer",getTemporalType()); } @@ -165,7 +165,7 @@ default TInt to_tint(){ * @return An {@link FloatSpan} with the value span of "this". */ default FloatSpan to_floatrange(){ - return new FloatSpan(functions.tnumber_to_span(getNumberInner())); + return new FloatSpan(GeneratedFunctions.tnumber_to_span(getNumberInner())); } @@ -196,7 +196,7 @@ default FloatSpan value_span(){ * @return */ default FloatSpanSet value_spans(){ - return new FloatSpanSet(functions.tnumber_valuespans(getNumberInner())); + return new FloatSpanSet(GeneratedFunctions.tnumber_valuespans(getNumberInner())); } /** @@ -209,7 +209,7 @@ default FloatSpanSet value_spans(){ * @return A {@link Float} with the start value. */ default float start_value(){ - return (float) functions.tfloat_start_value(getNumberInner()); + return (float) GeneratedFunctions.tfloat_start_value(getNumberInner()); } /** @@ -221,7 +221,7 @@ default float start_value(){ * @return A {@link Float} with the end value. */ default float end_value(){ - return (float) functions.tfloat_end_value(getNumberInner()); + return (float) GeneratedFunctions.tfloat_end_value(getNumberInner()); } /** Returns the set of values of `self`. @@ -239,7 +239,7 @@ default FloatSet value_set(){ Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer = functions.tfloat_values(this.getNumberInner(), intPointer); + Pointer resPointer = GeneratedFunctions.tfloat_values(this.getNumberInner(), intPointer); StringBuilder sb = null; sb.append("{"); int count= intPointer.getInt(Integer.BYTES); @@ -265,7 +265,7 @@ default FloatSet value_set(){ * @return A {@link Float} with the minimum value. */ default float min_value(){ - return (float) functions.tfloat_min_value(getNumberInner()); + return (float) GeneratedFunctions.tfloat_min_value(getNumberInner()); } /** @@ -278,7 +278,7 @@ default float min_value(){ * @return A {@link Float} with the maximum value. */ default float max_value(){ - return (float) functions.tfloat_max_value(getNumberInner()); + return (float) GeneratedFunctions.tfloat_max_value(getNumberInner()); } @@ -297,7 +297,7 @@ default float max_value(){ * * "False" otherwise. */ default boolean always_equal(float value){ - return functions.always_eq_tfloat_float(getNumberInner(),value) > 0; + return GeneratedFunctions.always_eq_tfloat_float(getNumberInner(),value) > 0; } /** @@ -312,7 +312,7 @@ default boolean always_equal(float value){ * * "False" otherwise. */ default boolean always_not_equal(float value){ - return (functions.always_ne_tfloat_float(getNumberInner(),value)) > 0; + return (GeneratedFunctions.always_ne_tfloat_float(getNumberInner(),value)) > 0; } @@ -328,7 +328,7 @@ default boolean always_not_equal(float value){ * * "False" otherwise. */ default boolean always_less(float value){ - return functions.always_lt_tfloat_float(getNumberInner(),value) > 0; + return GeneratedFunctions.always_lt_tfloat_float(getNumberInner(),value) > 0; } @@ -345,7 +345,7 @@ default boolean always_less(float value){ * * "value", "False" otherwise. */ default boolean always_less_or_equal(float value){ - return functions.always_le_tfloat_float(getNumberInner(),value) > 0; + return GeneratedFunctions.always_le_tfloat_float(getNumberInner(),value) > 0; } /** @@ -361,7 +361,7 @@ default boolean always_less_or_equal(float value){ * * "value", "False" otherwise. */ default boolean always_greater_or_equal(float value){ - return (functions.always_ge_tfloat_float(getNumberInner(),value)) > 0; + return (GeneratedFunctions.always_ge_tfloat_float(getNumberInner(),value)) > 0; } /** @@ -376,7 +376,7 @@ default boolean always_greater_or_equal(float value){ * * " `False`" otherwise. */ default boolean always_greater(float value){ - return (functions.always_gt_tfloat_float(getNumberInner(),value)) > 0; + return (GeneratedFunctions.always_gt_tfloat_float(getNumberInner(),value)) > 0; } /** @@ -391,7 +391,7 @@ default boolean always_greater(float value){ * * "False" otherwise. */ default boolean ever_less(float value){ - return functions.ever_lt_tfloat_float(getNumberInner(),value) > 0; + return GeneratedFunctions.ever_lt_tfloat_float(getNumberInner(),value) > 0; } @@ -408,7 +408,7 @@ default boolean ever_less(float value){ * * "value", "False" otherwise. */ default boolean ever_less_or_equal(float value){ - return functions.ever_le_tfloat_float(getNumberInner(),value) > 0; + return GeneratedFunctions.ever_le_tfloat_float(getNumberInner(),value) > 0; } @@ -424,7 +424,7 @@ default boolean ever_less_or_equal(float value){ * * otherwise. */ default boolean ever_equal(float value){ - return functions.ever_eq_tfloat_float(getNumberInner(),value) > 0; + return GeneratedFunctions.ever_eq_tfloat_float(getNumberInner(),value) > 0; } /** @@ -439,7 +439,7 @@ default boolean ever_equal(float value){ * * "False" otherwise. */ default boolean ever_not_equal(float value){ - return (functions.ever_ne_tfloat_float(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_ne_tfloat_float(getNumberInner(),value)) > 0; } /** @@ -456,7 +456,7 @@ default boolean ever_not_equal(float value){ * * "value", "False" otherwise. */ default boolean ever_greater_or_equal(float value){ - return (functions.ever_ge_tfloat_float(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_ge_tfloat_float(getNumberInner(),value)) > 0; } /** @@ -471,7 +471,7 @@ default boolean ever_greater_or_equal(float value){ * * "False" otherwise. */ default boolean ever_greater(float value){ - return (functions.ever_gt_tfloat_float(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_gt_tfloat_float(getNumberInner(),value)) > 0; } /** @@ -586,7 +586,7 @@ default boolean never_greater(float value){ */ default Temporal temporal_equal(Number other){ if ((other instanceof Float) || (other instanceof Integer)){ - return Factory.create_temporal(functions.teq_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.teq_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -610,7 +610,7 @@ default Temporal temporal_equal(Number other){ */ default Temporal temporal_not_equal(Number other){ if ((other instanceof Float) || (other instanceof Integer)){ - return Factory.create_temporal(functions.tne_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tne_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -635,7 +635,7 @@ default Temporal temporal_not_equal(Number other){ */ default Temporal temporal_less(Number other){ if ((other instanceof Float) || (other instanceof Integer)){ - return Factory.create_temporal(functions.tlt_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tlt_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -660,7 +660,7 @@ default Temporal temporal_less(Number other){ */ default Temporal temporal_less_or_equal(Number other){ if ((other instanceof Float) || (other instanceof Integer)){ - return Factory.create_temporal(functions.tle_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tle_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -684,7 +684,7 @@ default Temporal temporal_less_or_equal(Number other){ */ default Temporal temporal_greater_or_equal(Number other){ if ((other instanceof Float) || (other instanceof Integer)){ - return Factory.create_temporal(functions.tge_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tge_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -707,7 +707,7 @@ default Temporal temporal_greater_or_equal(Number other){ */ default Temporal temporal_greater(Number other){ if ((other instanceof Float) || (other instanceof Integer)){ - return Factory.create_temporal(functions.tgt_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tgt_tfloat_float(getNumberInner(),(float) other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -730,13 +730,10 @@ default Temporal temporal_greater(Number other){ tfloat_value_at_timestamp */ default float value_at_timestamp(LocalDateTime ts){ - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer floatPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - boolean res= functions.tfloat_value_at_timestamptz(this.getNumberInner(), ConversionUtils.datetimeToTimestampTz(ts), true, floatPointer); - float value= floatPointer.getFloat(Float.BYTES); - return value; + Pointer ptr = GeneratedFunctions.tfloat_value_at_timestamptz( + this.getNumberInner(), ConversionUtils.datetimeToTimestampTz(ts), true); + if (ptr == null) throw new IllegalArgumentException("this has no value at the given timestamp"); + return (float) ptr.getDouble(0); } /** Returns the derivative of `self`. @@ -748,7 +745,7 @@ default float value_at_timestamp(LocalDateTime ts){ temporal_derivative */ default TFloat derivative(){ - return (TFloat) Factory.create_temporal(functions.temporal_derivative(this.getNumberInner()), getCustomType(), getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.temporal_derivative(this.getNumberInner()), getCustomType(), getTemporalType()); } @@ -766,7 +763,7 @@ default TFloat derivative(){ * @return A {@link TFloat} instance. */ default Temporal to_degrees(boolean normalize){ - return Factory.create_temporal(functions.tfloat_degrees(getNumberInner(),normalize), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tfloat_degrees(getNumberInner(),normalize), getCustomType(),getTemporalType()); } @@ -780,7 +777,7 @@ default Temporal to_degrees(boolean normalize){ * @return A new {@link TFloat} instance. */ default Temporal to_radians(){ - return Factory.create_temporal(functions.tfloat_radians(getNumberInner()), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tfloat_radians(getNumberInner()), getCustomType(),getTemporalType()); } @@ -796,6 +793,6 @@ default Temporal to_radians(){ * @return A new {@link TFloat} instance. */ default Temporal round(int max_decimals){ - return Factory.create_temporal(functions.temporal_round(getNumberInner(),max_decimals), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.temporal_round(getNumberInner(),max_decimals), getCustomType(),getTemporalType()); } } diff --git a/jmeos-core/src/main/java/types/basic/tfloat/TFloatInst.java b/jmeos-core/src/main/java/types/basic/tfloat/TFloatInst.java index 4956f935c..787495580 100644 --- a/jmeos-core/src/main/java/types/basic/tfloat/TFloatInst.java +++ b/jmeos-core/src/main/java/types/basic/tfloat/TFloatInst.java @@ -1,6 +1,6 @@ package types.basic.tfloat; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.temporal.TInstant; import types.temporal.TemporalType; @@ -36,14 +36,14 @@ public TFloatInst(Pointer inner){ */ public TFloatInst(String value) { super(value); - this.inner = functions.tfloat_in(value); + this.inner = GeneratedFunctions.tfloat_in(value); } @Override public Pointer createStringInner(String str){ - return functions.tfloat_in(str); + return GeneratedFunctions.tfloat_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeq.java b/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeq.java index 0b8f62c02..d287e077f 100644 --- a/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeq.java +++ b/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeq.java @@ -1,6 +1,6 @@ package types.basic.tfloat; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.temporal.TSequence; import types.temporal.TemporalType; @@ -39,7 +39,7 @@ public TFloatSeq(Pointer inner){ */ public TFloatSeq(String value){ super(value); - this.inner = functions.tfloat_in(value); + this.inner = GeneratedFunctions.tfloat_in(value); } @@ -66,7 +66,7 @@ public TFloatSeq(List list, boolean lower_inc, boolean upper_inc, int in @Override public Pointer createStringInner(String str){ - return functions.tfloat_in(str); + return GeneratedFunctions.tfloat_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeqSet.java b/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeqSet.java index b9e54d899..7d5aac17d 100644 --- a/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeqSet.java +++ b/jmeos-core/src/main/java/types/basic/tfloat/TFloatSeqSet.java @@ -1,6 +1,6 @@ package types.basic.tfloat; -import functions.functions; +import functions.GeneratedFunctions; import types.temporal.TSequenceSet; import jnr.ffi.Pointer; import types.temporal.TemporalType; @@ -38,14 +38,14 @@ public TFloatSeqSet(Pointer inner){ */ public TFloatSeqSet(String value) { super(value); - this.inner = functions.tfloat_in(value); + this.inner = GeneratedFunctions.tfloat_in(value); } @Override public Pointer createStringInner(String str){ - return functions.tfloat_in(str); + return GeneratedFunctions.tfloat_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tint/TInt.java b/jmeos-core/src/main/java/types/basic/tint/TInt.java index 74d8bc09c..49a711c26 100644 --- a/jmeos-core/src/main/java/types/basic/tint/TInt.java +++ b/jmeos-core/src/main/java/types/basic/tint/TInt.java @@ -1,5 +1,5 @@ package types.basic.tint; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Memory; import jnr.ffi.Pointer; import jnr.ffi.Runtime; @@ -50,7 +50,7 @@ public interface TInt extends TNumber { * @return A new {@link Float} object. */ default TInt from_base_temporal(int value, Temporal base, TInterpolation interp){ - return (TInt) Factory.create_temporal(functions.tint_from_base_temp(value,base.getInner()),getCustomType(),getTemporalType()); + return (TInt) Factory.create_temporal(GeneratedFunctions.tint_from_base_temp(value,base.getInner()),getCustomType(),getTemporalType()); } /** @@ -73,15 +73,15 @@ default TInt from_base_temporal(int value, Temporal base, TInterpolation interp) */ static TInt from_base_time(int value, Object base, TInterpolation interpolation) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { if (base instanceof LocalDateTime){ - return new TIntInst(functions.tintinst_make(value, ConversionUtils.datetimeToTimestampTz((LocalDateTime) base))); + return new TIntInst(GeneratedFunctions.tintinst_make(value, ConversionUtils.datetimeToTimestampTz((LocalDateTime) base))); } if (base instanceof tstzspanset) { - return new TIntSeqSet(functions.tintseqset_from_base_tstzspanset(value, ((tstzspanset) base).get_inner())); + return new TIntSeqSet(GeneratedFunctions.tintseqset_from_base_tstzspanset(value, ((tstzspanset) base).get_inner())); } else if (base instanceof tstzset) { - return new TIntSeq(functions.tintseq_from_base_tstzset(value, ((tstzset) base).get_inner())); + return new TIntSeq(GeneratedFunctions.tintseq_from_base_tstzset(value, ((tstzset) base).get_inner())); } else if (base instanceof tstzspan) { tstzspanset ss= new tstzspanset(((tstzspan) base).to_spanset(tstzspanset.class).get_inner()); - return new TIntSeq(functions.tintseqset_from_base_tstzspanset(value, ss.get_inner())); + return new TIntSeq(GeneratedFunctions.tintseqset_from_base_tstzspanset(value, ss.get_inner())); } throw new UnsupportedOperationException("Operation not supported with type " + base.getClass()); } @@ -100,7 +100,7 @@ static TInt from_base_time(int value, Object base, TInterpolation interpolation) */ default TInt from_mfjson(String mfjson){ - Pointer result= functions.tint_from_mfjson(mfjson); + Pointer result= GeneratedFunctions.tint_from_mfjson(mfjson); return (TInt) Factory.create_temporal(result, getCustomType(), getTemporalType()); } @@ -117,7 +117,7 @@ default TInt from_mfjson(String mfjson){ * @return A string representation of "this". */ default String to_string(){ - return functions.tint_out(getNumberInner()); + return GeneratedFunctions.tint_out(getNumberInner()); } /** @@ -129,7 +129,7 @@ default String to_string(){ * @return A string representation of "this". */ default String as_wkt(){ - return functions.tint_out(getNumberInner()); + return GeneratedFunctions.tint_out(getNumberInner()); } @@ -150,7 +150,7 @@ default String as_wkt(){ * @return A new temporal float. */ default TFloat to_tfloat(){ - return (TFloat) Factory.create_temporal(functions.tint_to_tfloat(getNumberInner()),"Float",getTemporalType()); + return (TFloat) Factory.create_temporal(GeneratedFunctions.tint_to_tfloat(getNumberInner()),"Float",getTemporalType()); } @@ -167,7 +167,7 @@ default TFloat to_tfloat(){ * @return An {@link IntSpan} with the value span of "this". */ default IntSpan to_intspan(){ - return new IntSpan(functions.tnumber_to_span(getNumberInner())); + return new IntSpan(GeneratedFunctions.tnumber_to_span(getNumberInner())); } @@ -197,7 +197,7 @@ default IntSpan value_span(){ * @return A {@link IntSpanSet} with the value spans of "this". */ default IntSpanSet value_spans(){ - return new IntSpanSet(functions.tnumber_valuespans(getNumberInner())); + return new IntSpanSet(GeneratedFunctions.tnumber_valuespans(getNumberInner())); } /** @@ -210,7 +210,7 @@ default IntSpanSet value_spans(){ * @return A {@link Integer} with the start value. */ default int start_value(){ - return functions.tint_start_value(getNumberInner()); + return GeneratedFunctions.tint_start_value(getNumberInner()); } /** @@ -222,7 +222,7 @@ default int start_value(){ * @return A {@link Integer} with the end value. */ default int end_value(){ - return functions.tint_end_value(getNumberInner()); + return GeneratedFunctions.tint_end_value(getNumberInner()); } /** @@ -240,7 +240,7 @@ default IntSet value_set(){ Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer res= functions.tint_values(this.getNumberInner(), intPointer); + Pointer res= GeneratedFunctions.tint_values(this.getNumberInner(), intPointer); int count= intPointer.getInt(Integer.BYTES); StringBuilder sb = new StringBuilder(); sb.append("{"); @@ -265,7 +265,7 @@ default IntSet value_set(){ * @return A {@link Integer} with the minimum value. */ default int min_value(){ - return functions.tint_min_value(getNumberInner()); + return GeneratedFunctions.tint_min_value(getNumberInner()); } /** @@ -278,7 +278,7 @@ default int min_value(){ * @return A {@link Integer} with the maximum value. */ default int max_value(){ - return functions.tint_max_value(getNumberInner()); + return GeneratedFunctions.tint_max_value(getNumberInner()); } /* @@ -295,13 +295,10 @@ default int max_value(){ */ default int value_at_timestamp(LocalDateTime timestamp){ - // Create a JNR-FFI runtime instance - Runtime runtime = Runtime.getSystemRuntime(); - // Allocate memory for an integer (4 bytes) but do not set a value - Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - boolean x= functions.tint_value_at_timestamptz(this.getNumberInner(), ConversionUtils.datetimeToTimestampTz(timestamp), true, intPointer); - int num= intPointer.getInt(Integer.BYTES); - return num; + Pointer ptr = GeneratedFunctions.tint_value_at_timestamptz( + this.getNumberInner(), ConversionUtils.datetimeToTimestampTz(timestamp), true); + if (ptr == null) throw new IllegalArgumentException("this has no value at the given timestamp"); + return ptr.getInt(0); } /* ------------------------- Ever and Always Comparisons ------------------- */ @@ -319,7 +316,7 @@ default int value_at_timestamp(LocalDateTime timestamp){ * * "False" otherwise. */ default boolean always_equal(int value){ - return functions.always_eq_tint_int(getNumberInner(),value) > 0; + return GeneratedFunctions.always_eq_tint_int(getNumberInner(),value) > 0; } /** @@ -334,7 +331,7 @@ default boolean always_equal(int value){ * * "False" otherwise. */ default boolean always_not_equal(int value){ - return (functions.ever_ne_tint_int(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_ne_tint_int(getNumberInner(),value)) > 0; } @@ -350,7 +347,7 @@ default boolean always_not_equal(int value){ * * "False" otherwise. */ default boolean always_less(int value){ - return functions.always_lt_tint_int(getNumberInner(),value) > 0; + return GeneratedFunctions.always_lt_tint_int(getNumberInner(),value) > 0; } @@ -367,7 +364,7 @@ default boolean always_less(int value){ * * "value", "False" otherwise. */ default boolean always_less_or_equal(int value){ - return functions.always_le_tint_int(getNumberInner(),value) > 0; + return GeneratedFunctions.always_le_tint_int(getNumberInner(),value) > 0; } /** @@ -383,7 +380,7 @@ default boolean always_less_or_equal(int value){ * * "value", "False" otherwise. */ default boolean always_greater_or_equal(int value){ - return (functions.ever_lt_tint_int(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_lt_tint_int(getNumberInner(),value)) > 0; } /** @@ -398,7 +395,7 @@ default boolean always_greater_or_equal(int value){ * * " `False`" otherwise. */ default boolean always_greater(int value){ - return (functions.always_gt_tint_int(getNumberInner(),value)) > 0; + return (GeneratedFunctions.always_gt_tint_int(getNumberInner(),value)) > 0; } /** @@ -413,7 +410,7 @@ default boolean always_greater(int value){ * * "False" otherwise. */ default boolean ever_less(int value){ - return functions.ever_lt_tint_int(getNumberInner(),value) > 0; + return GeneratedFunctions.ever_lt_tint_int(getNumberInner(),value) > 0; } @@ -430,7 +427,7 @@ default boolean ever_less(int value){ * * "value", "False" otherwise. */ default boolean ever_less_or_equal(int value){ - return functions.ever_le_tint_int(getNumberInner(),value) > 0; + return GeneratedFunctions.ever_le_tint_int(getNumberInner(),value) > 0; } @@ -446,7 +443,7 @@ default boolean ever_less_or_equal(int value){ * * otherwise. */ default boolean ever_equal(int value){ - return functions.ever_eq_tint_int(getNumberInner(),value) > 0; + return GeneratedFunctions.ever_eq_tint_int(getNumberInner(),value) > 0; } /** @@ -461,7 +458,7 @@ default boolean ever_equal(int value){ * * "False" otherwise. */ default boolean ever_not_equal(int value){ - return (functions.ever_ne_tint_int(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_ne_tint_int(getNumberInner(),value)) > 0; } /** @@ -478,7 +475,7 @@ default boolean ever_not_equal(int value){ * * "value", "False" otherwise. */ default boolean ever_greater_or_equal(int value){ - return (functions.ever_ge_tint_int(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_ge_tint_int(getNumberInner(),value)) > 0; } /** @@ -493,7 +490,7 @@ default boolean ever_greater_or_equal(int value){ * * "False" otherwise. */ default boolean ever_greater(int value){ - return (functions.ever_gt_tint_int(getNumberInner(),value)) > 0; + return (GeneratedFunctions.ever_gt_tint_int(getNumberInner(),value)) > 0; } /** @@ -608,7 +605,7 @@ default boolean never_greater(int value){ */ default Temporal temporal_equal(Object other){ if ((other instanceof Integer)){ - return Factory.create_temporal(functions.teq_tint_int(getNumberInner(), ((Integer) other)), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.teq_tint_int(getNumberInner(), ((Integer) other)), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -632,7 +629,7 @@ default Temporal temporal_equal(Object other){ */ default Temporal temporal_not_equal(Integer other){ if ((other != null)){ - return Factory.create_temporal(functions.tne_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tne_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -657,7 +654,7 @@ default Temporal temporal_not_equal(Integer other){ */ default Temporal temporal_less(Integer other){ if ((other != null)){ - return Factory.create_temporal(functions.tlt_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tlt_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -682,7 +679,7 @@ default Temporal temporal_less(Integer other){ */ default Temporal temporal_less_or_equal(Integer other){ if ((other != null)){ - return Factory.create_temporal(functions.tle_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tle_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -706,7 +703,7 @@ default Temporal temporal_less_or_equal(Integer other){ */ default Temporal temporal_greater_or_equal(Integer other){ if ((other != null)){ - return Factory.create_temporal(functions.tge_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tge_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); @@ -729,7 +726,7 @@ default Temporal temporal_greater_or_equal(Integer other){ */ default Temporal temporal_greater(Integer other){ if ((other instanceof Integer)){ - return Factory.create_temporal(functions.tgt_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); + return Factory.create_temporal(GeneratedFunctions.tgt_tint_int(getNumberInner(), other), getCustomType(),getTemporalType()); } else{ throw new UnsupportedOperationException("Parameter not supported"); diff --git a/jmeos-core/src/main/java/types/basic/tint/TIntInst.java b/jmeos-core/src/main/java/types/basic/tint/TIntInst.java index 1a4803f16..d4a521f57 100644 --- a/jmeos-core/src/main/java/types/basic/tint/TIntInst.java +++ b/jmeos-core/src/main/java/types/basic/tint/TIntInst.java @@ -1,6 +1,6 @@ package types.basic.tint; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.temporal.TInstant; import types.temporal.TemporalType; @@ -36,14 +36,14 @@ public TIntInst(Pointer inner){ */ public TIntInst(String value) { super(value); - this.inner = functions.tint_in(value); + this.inner = GeneratedFunctions.tint_in(value); } @Override public Pointer createStringInner(String str){ - return functions.tint_in(str); + return GeneratedFunctions.tint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tint/TIntSeq.java b/jmeos-core/src/main/java/types/basic/tint/TIntSeq.java index 50426ed84..7ffdfbb04 100644 --- a/jmeos-core/src/main/java/types/basic/tint/TIntSeq.java +++ b/jmeos-core/src/main/java/types/basic/tint/TIntSeq.java @@ -1,6 +1,6 @@ package types.basic.tint; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.basic.tfloat.TFloatInst; import types.basic.tfloat.TFloatSeq; @@ -49,7 +49,7 @@ public TIntSeq(String value){ */ public TIntSeq(String value, int interpolation) { super(value); - this.inner = functions.tint_in(value); + this.inner = GeneratedFunctions.tint_in(value); } @@ -59,7 +59,7 @@ public TIntSeq(String value, int interpolation) { @Override public Pointer createStringInner(String str){ - return functions.tint_in(str); + return GeneratedFunctions.tint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tint/TIntSeqSet.java b/jmeos-core/src/main/java/types/basic/tint/TIntSeqSet.java index fe931165d..d6d9709a8 100644 --- a/jmeos-core/src/main/java/types/basic/tint/TIntSeqSet.java +++ b/jmeos-core/src/main/java/types/basic/tint/TIntSeqSet.java @@ -1,6 +1,6 @@ package types.basic.tint; -import functions.functions; +import functions.GeneratedFunctions; import types.basic.tfloat.TFloatInst; import types.basic.tfloat.TFloatSeq; import types.basic.tfloat.TFloatSeqSet; @@ -41,13 +41,13 @@ public TIntSeqSet(Pointer inner){ */ public TIntSeqSet(String value) { super(value); - this.inner = functions.tint_in(value); + this.inner = GeneratedFunctions.tint_in(value); } @Override public Pointer createStringInner(String str){ - return functions.tint_in(str); + return GeneratedFunctions.tint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java b/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java index 171f74ab3..2c3917362 100644 --- a/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java +++ b/jmeos-core/src/main/java/types/basic/tnumber/TNumber.java @@ -456,11 +456,11 @@ default TNumber rsub(Object other) throws OperationNotSupportedException { */ default TNumber mul(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.mult_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.mul_tint_int(getNumberInner(),((Integer) other).intValue()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.mult_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.mul_tfloat_float(getNumberInner(),((Float) other).floatValue()),getCustomType(),getTemporalType()); } else if (other instanceof TNumber) { - return (TNumber) Factory.create_temporal(functions.mult_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.mul_tnumber_tnumber(getNumberInner(),((TNumber) other).getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -485,9 +485,9 @@ default TNumber mul(Object other) throws OperationNotSupportedException { */ default TNumber rmul(Object other) throws OperationNotSupportedException { if ((this instanceof TInt) && (other instanceof Integer)){ - return (TNumber) Factory.create_temporal(functions.mult_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.mul_int_tint(((Integer) other).intValue(),getNumberInner()),getCustomType(),getTemporalType()); } else if ((this instanceof TFloat) && (other instanceof Float)) { - return (TNumber) Factory.create_temporal(functions.mult_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); + return (TNumber) Factory.create_temporal(GeneratedFunctions.mul_float_tfloat(((Float) other).floatValue(),getNumberInner()),getCustomType(),getTemporalType()); } else{ throw new OperationNotSupportedException("Operand not supported"); @@ -801,12 +801,9 @@ default float nearest_approach_distance(Object other) throws OperationNotSupport // } default List value_split(int size, int start){ - // tint_value_split returns an IntSplit struct by value (sret); the - // generated wrapper hands back the filled struct buffer: - // IntSplit { Temporal **fragments @0; int *bins @8; int count @16; } - Pointer result= GeneratedFunctions.tint_value_split(this.getNumberInner(), size, start); - Pointer fragments= result.getPointer(0); - int count= result.getInt(16); + Pointer countPtr = Memory.allocateDirect(Runtime.getSystemRuntime(), Integer.BYTES); + Pointer fragments = GeneratedFunctions.tint_value_split(this.getNumberInner(), size, start, null, countPtr); + int count = countPtr.getInt(0); List tempList= new ArrayList<>(); for(int i=0;i tempList= new ArrayList<>(); for(int i=0;i pointList= new ArrayList<>(); int count= intPointer.getInt(Integer.BYTES); StringBuilder sb = null; @@ -125,7 +125,7 @@ default GeographySet value_set(int precision) throws ParseException { * @return A new {@link TGeomPoint} object. */ default TGeomPoint to_geometric(){ - return (TGeomPoint) Factory.create_temporal(functions.tgeography_to_tgeometry(getPointInner()),"Geom",getTemporalType()); + return (TGeomPoint) Factory.create_temporal(GeneratedFunctions.tgeography_to_tgeometry(getPointInner()),"Geom",getTemporalType()); } @@ -145,7 +145,7 @@ default TGeomPoint to_geometric(){ * @return True if "this" is always equal to "value", False otherwise. */ default boolean always_equal(Geometry value){ - return functions.always_eq_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; + return GeneratedFunctions.always_eq_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; } @@ -160,7 +160,7 @@ default boolean always_equal(Geometry value){ * @return True if "this" is always different to "value", False otherwise. */ default boolean always_not_equal(Geometry value){ - return functions.always_ne_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; + return GeneratedFunctions.always_ne_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; } @@ -175,7 +175,7 @@ default boolean always_not_equal(Geometry value){ * @return True if "this" is ever equal to "value", False otherwise. */ default boolean ever_equal(Geometry value){ - return functions.ever_eq_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; + return GeneratedFunctions.ever_eq_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; } @@ -190,7 +190,7 @@ default boolean ever_equal(Geometry value){ * @return True if "this" is ever different to "value", False otherwise. */ default boolean ever_not_equal(Geometry value){ - return functions.ever_ne_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; + return GeneratedFunctions.ever_ne_tgeo_geo(getPointInner(),ConversionUtils.geography_to_gserialized(value)) > 0; } @@ -241,7 +241,7 @@ default boolean never_not_equal(Geometry value){ * @return A {@link TBool} with the result of the temporal equality relation. */ default TBool temporal_equal(Point other){ - return (TBool) Factory.create_temporal(functions.teq_tgeo_geo(getPointInner(), ConversionUtils.geography_to_gserialized(other)),getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.teq_tgeo_geo(getPointInner(), ConversionUtils.geography_to_gserialized(other)),getCustomType(),getTemporalType()); } @@ -259,7 +259,7 @@ default TBool temporal_equal(Point other){ * @return A {@link TBool} with the result of the temporal inequality relation. */ default TBool temporal_not_equal(Point other){ - return (TBool) Factory.create_temporal(functions.tne_tgeo_geo(getPointInner(), ConversionUtils.geography_to_gserialized(other)),getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tne_tgeo_geo(getPointInner(), ConversionUtils.geography_to_gserialized(other)),getCustomType(),getTemporalType()); } diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointInst.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointInst.java index 9e9414f54..b8d6f3b52 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointInst.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointInst.java @@ -2,7 +2,7 @@ import jnr.ffi.Pointer; import types.basic.tpoint.TPointInst; -import functions.functions; +import functions.GeneratedFunctions; import types.temporal.TemporalType; @@ -36,12 +36,12 @@ public TGeogPointInst(Pointer inner){ */ public TGeogPointInst(String value){ super(value); - this.inner = functions.tgeogpoint_in(value); + this.inner = GeneratedFunctions.tgeogpoint_in(value); } @Override public Pointer createStringInner(String str) { - return functions.tgeogpoint_in(str); + return GeneratedFunctions.tgeogpoint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeq.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeq.java index 4203eeb00..111966cb3 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeq.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeq.java @@ -1,7 +1,7 @@ package types.basic.tpoint.tgeog; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.basic.tpoint.TPointSeq; import types.temporal.TemporalType; @@ -36,13 +36,13 @@ public TGeogPointSeq(Pointer inner){ */ public TGeogPointSeq(String value){ super(value); - this.inner = functions.tgeogpoint_in(value); + this.inner = GeneratedFunctions.tgeogpoint_in(value); } @Override public Pointer createStringInner(String str) { - return functions.tgeogpoint_in(str); + return GeneratedFunctions.tgeogpoint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeqSet.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeqSet.java index c2d0137b3..de7a44461 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeqSet.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeog/TGeogPointSeqSet.java @@ -1,7 +1,7 @@ package types.basic.tpoint.tgeog; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.basic.tpoint.TPointSeqSet; import types.temporal.TemporalType; @@ -38,12 +38,12 @@ public TGeogPointSeqSet(Pointer inner){ */ public TGeogPointSeqSet(String value){ super(value); - this.inner = functions.tgeogpoint_in(value); + this.inner = GeneratedFunctions.tgeogpoint_in(value); } @Override public Pointer createStringInner(String str) { - return functions.tgeogpoint_in(str); + return GeneratedFunctions.tgeogpoint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPoint.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPoint.java index cf7c3cd8e..993e4aae5 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPoint.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPoint.java @@ -1,7 +1,7 @@ package types.basic.tpoint.tgeom; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Memory; import jnr.ffi.Pointer; import jnr.ffi.Runtime; @@ -55,7 +55,7 @@ public interface TGeomPoint extends TPoint { * @return A new {@link TGeomPoint} object. */ default TGeomPoint from_base_temporal(Geometry value, Temporal base){ - return (TGeomPoint) Factory.create_temporal(functions.tpoint_from_base_temp(ConversionUtils.geometry_to_gserialized(value),base.getInner()),getCustomType(),getTemporalType()); + return (TGeomPoint) Factory.create_temporal(GeneratedFunctions.tpoint_from_base_temp(ConversionUtils.geometry_to_gserialized(value),base.getInner()),getCustomType(),getTemporalType()); } @@ -77,11 +77,11 @@ default TGeomPoint from_base_temporal(Geometry value, Temporal base){ */ static TGeomPoint from_base_time(Geometry value, Time base, TInterpolation interp){ if (base instanceof tstzset){ - return new TGeomPointSeq(functions.tpointseq_from_base_tstzset(ConversionUtils.geometry_to_gserialized(value), ((tstzset) base).get_inner())); + return new TGeomPointSeq(GeneratedFunctions.tpointseq_from_base_tstzset(ConversionUtils.geometry_to_gserialized(value), ((tstzset) base).get_inner())); } else if (base instanceof tstzspan) { - return new TGeomPointSeqSet(functions.tpointseq_from_base_tstzspan(ConversionUtils.geometry_to_gserialized(value), ((tstzspan) base).get_inner(), interp.getValue())); + return new TGeomPointSeqSet(GeneratedFunctions.tpointseq_from_base_tstzspan(ConversionUtils.geometry_to_gserialized(value), ((tstzspan) base).get_inner(), interp.getValue())); } else if (base instanceof tstzspanset) { - return new TGeomPointSeq(functions.tpointseq_from_base_tstzset(ConversionUtils.geometry_to_gserialized(value), ((tstzspanset) base).get_inner())); + return new TGeomPointSeq(GeneratedFunctions.tpointseq_from_base_tstzset(ConversionUtils.geometry_to_gserialized(value), ((tstzspanset) base).get_inner())); } else{ throw new UnsupportedOperationException("Operation not supported with type " + base.getClass()); @@ -103,7 +103,7 @@ static TGeomPoint from_base_time(Geometry value, Time base, TInterpolation inter * @return A new {@link TGeogPoint} object. */ default TGeogPoint to_geographic(){ - return (TGeogPoint) Factory.create_temporal(functions.tgeometry_to_tgeography(getPointInner()),getCustomType(),getTemporalType()); + return (TGeogPoint) Factory.create_temporal(GeneratedFunctions.tgeometry_to_tgeography(getPointInner()),getCustomType(),getTemporalType()); } @@ -121,7 +121,7 @@ default TGeogPoint to_geographic(){ * @return True if "this" is always equal to "value", False otherwise. */ default boolean always_equal(Geometry value){ - return functions.always_eq_tgeo_geo(getPointInner(),ConversionUtils.geometry_to_gserialized(value)) > 0; + return GeneratedFunctions.always_eq_tgeo_geo(getPointInner(),ConversionUtils.geometry_to_gserialized(value)) > 0; } @@ -136,7 +136,7 @@ default boolean always_equal(Geometry value){ * @return True if "this" is always different to "value", False otherwise. */ default boolean always_not_equal(Geometry value){ - return (functions.always_ne_tgeo_geo((getPointInner()),ConversionUtils.geometry_to_gserialized(value)) > 0); + return (GeneratedFunctions.always_ne_tgeo_geo((getPointInner()),ConversionUtils.geometry_to_gserialized(value)) > 0); } @@ -151,7 +151,7 @@ default boolean always_not_equal(Geometry value){ * @return True if "this" is ever equal to "value", False otherwise. */ default boolean ever_equal(Geometry value){ - return functions.ever_eq_tgeo_geo(getPointInner(),ConversionUtils.geometry_to_gserialized(value)) > 0; + return GeneratedFunctions.ever_eq_tgeo_geo(getPointInner(),ConversionUtils.geometry_to_gserialized(value)) > 0; } @@ -166,7 +166,7 @@ default boolean ever_equal(Geometry value){ * @return True if "this" is ever different to "value", False otherwise. */ default boolean ever_not_equal(Geometry value){ - return functions.ever_ne_tgeo_geo(getPointInner(),ConversionUtils.geometry_to_gserialized(value)) > 0; + return GeneratedFunctions.ever_ne_tgeo_geo(getPointInner(),ConversionUtils.geometry_to_gserialized(value)) > 0; } @@ -216,7 +216,7 @@ default boolean never_not_equal(Geometry value){ * @return A {@link TBool} with the result of the temporal equality relation. */ default TBool temporal_equal(Point other){ - return (TBool) Factory.create_temporal(functions.teq_tgeo_geo(getPointInner(), ConversionUtils.geometry_to_gserialized(other)),getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.teq_tgeo_geo(getPointInner(), ConversionUtils.geometry_to_gserialized(other)),getCustomType(),getTemporalType()); } @@ -234,7 +234,7 @@ default TBool temporal_equal(Point other){ * @return A {@link TBool} with the result of the temporal inequality relation. */ default TBool temporal_not_equal(Point other){ - return (TBool) Factory.create_temporal(functions.tne_tgeo_geo(getPointInner(), ConversionUtils.geometry_to_gserialized(other)),getCustomType(),getTemporalType()); + return (TBool) Factory.create_temporal(GeneratedFunctions.tne_tgeo_geo(getPointInner(), ConversionUtils.geometry_to_gserialized(other)),getCustomType(),getTemporalType()); } default GeometrySet value_set(int precision) throws ParseException { @@ -242,7 +242,7 @@ default GeometrySet value_set(int precision) throws ParseException { Runtime runtime = Runtime.getSystemRuntime(); // Allocate memory for an integer (4 bytes) but do not set a value Pointer intPointer = Memory.allocate(Runtime.getRuntime(runtime), 4); - Pointer resPointer= functions.tgeo_values(this.getPointInner(), intPointer); + Pointer resPointer= GeneratedFunctions.tgeo_values(this.getPointInner(), intPointer); List pointList= new ArrayList<>(); int count= intPointer.getInt(Integer.BYTES); StringBuilder sb = null; diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointInst.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointInst.java index f534ad81d..f2108db75 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointInst.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointInst.java @@ -1,7 +1,7 @@ package types.basic.tpoint.tgeom; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.basic.tpoint.TPointInst; import types.temporal.TemporalType; @@ -35,13 +35,13 @@ public TGeomPointInst(Pointer inner){ */ public TGeomPointInst(String value){ super(value); - this.inner = functions.tgeompoint_in(value); + this.inner = GeneratedFunctions.tgeompoint_in(value); } @Override public Pointer createStringInner(String str) { - return functions.tgeompoint_in(str); + return GeneratedFunctions.tgeompoint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeq.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeq.java index 740351cf8..499e4f7a0 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeq.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeq.java @@ -1,7 +1,7 @@ package types.basic.tpoint.tgeom; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.basic.tpoint.TPointSeq; import types.temporal.TemporalType; @@ -35,13 +35,13 @@ public TGeomPointSeq(Pointer inner){ */ public TGeomPointSeq(String value){ super(value); - this.inner = functions.tgeompoint_in(value); + this.inner = GeneratedFunctions.tgeompoint_in(value); } @Override public Pointer createStringInner(String str) { - return functions.tgeompoint_in(str); + return GeneratedFunctions.tgeompoint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeqSet.java b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeqSet.java index 95f118cf0..0601c1437 100644 --- a/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeqSet.java +++ b/jmeos-core/src/main/java/types/basic/tpoint/tgeom/TGeomPointSeqSet.java @@ -1,7 +1,7 @@ package types.basic.tpoint.tgeom; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.basic.tpoint.TPointSeqSet; import types.temporal.TemporalType; @@ -35,13 +35,13 @@ public TGeomPointSeqSet(Pointer inner){ */ public TGeomPointSeqSet(String value){ super(value); - this.inner = functions.tgeompoint_in(value); + this.inner = GeneratedFunctions.tgeompoint_in(value); } @Override public Pointer createStringInner(String str) { - return functions.tgeompoint_in(str); + return GeneratedFunctions.tgeompoint_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/ttext/TTextInst.java b/jmeos-core/src/main/java/types/basic/ttext/TTextInst.java index 0762a68b4..b9438dc07 100644 --- a/jmeos-core/src/main/java/types/basic/ttext/TTextInst.java +++ b/jmeos-core/src/main/java/types/basic/ttext/TTextInst.java @@ -1,6 +1,6 @@ package types.basic.ttext; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; import types.temporal.TInstant; import types.temporal.TemporalType; @@ -39,7 +39,7 @@ public TTextInst(Pointer inner){ */ public TTextInst(String value) { super(value); - this.inner = functions.ttext_in(value); + this.inner = GeneratedFunctions.ttext_in(value); } /** @@ -61,7 +61,7 @@ public TTextInst(String str, boolean value, String timemstamp, Pointer inner) { @Override public Pointer createStringInner(String str){ - return functions.ttext_in(str); + return GeneratedFunctions.ttext_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/ttext/TTextSeq.java b/jmeos-core/src/main/java/types/basic/ttext/TTextSeq.java index ed402ffe5..47c34b368 100644 --- a/jmeos-core/src/main/java/types/basic/ttext/TTextSeq.java +++ b/jmeos-core/src/main/java/types/basic/ttext/TTextSeq.java @@ -1,6 +1,6 @@ package types.basic.ttext; -import functions.functions; +import functions.GeneratedFunctions; import types.temporal.TSequence; import java.util.List; @@ -50,7 +50,7 @@ public TTextSeq(String value){ */ public TTextSeq(String value, int interpolation) { super(value); - this.inner = functions.ttext_in(value); + this.inner = GeneratedFunctions.ttext_in(value); } @@ -66,7 +66,7 @@ public TTextSeq(List list, boolean lower_inc, boolean upper_inc, int int @Override public Pointer createStringInner(String str){ - return functions.ttext_in(str); + return GeneratedFunctions.ttext_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/basic/ttext/TTextSeqSet.java b/jmeos-core/src/main/java/types/basic/ttext/TTextSeqSet.java index 93c8eff37..daecef04f 100644 --- a/jmeos-core/src/main/java/types/basic/ttext/TTextSeqSet.java +++ b/jmeos-core/src/main/java/types/basic/ttext/TTextSeqSet.java @@ -1,6 +1,6 @@ package types.basic.ttext; -import functions.functions; +import functions.GeneratedFunctions; import types.temporal.TSequenceSet; import jnr.ffi.Pointer; import types.temporal.TemporalType; @@ -36,14 +36,14 @@ public TTextSeqSet(Pointer inner){ */ public TTextSeqSet(String value) { super(value); - this.inner = functions.ttext_in(value); + this.inner = GeneratedFunctions.ttext_in(value); } @Override public Pointer createStringInner(String str){ - return functions.ttext_in(str); + return GeneratedFunctions.ttext_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/boxes/TBox.java b/jmeos-core/src/main/java/types/boxes/TBox.java index caf3bb8f8..bd4f23be9 100644 --- a/jmeos-core/src/main/java/types/boxes/TBox.java +++ b/jmeos-core/src/main/java/types/boxes/TBox.java @@ -6,7 +6,7 @@ import types.basic.tfloat.TFloat; import types.basic.tint.TInt; import types.basic.tnumber.TNumber; -import functions.functions; +import functions.GeneratedFunctions; import types.collections.base.Span; import types.collections.number.FloatSpan; import functions.*; @@ -78,7 +78,7 @@ public TBox(Pointer inner, boolean xmin_inc, boolean xmax_inc, boolean tmax_inc, * @param value - the string with the TBox value */ public TBox(String value){ - this._inner = functions.tbox_in(value); + this._inner = GeneratedFunctions.tbox_in(value); } @@ -128,7 +128,7 @@ public TBox(Number xmin, Number xmax, LocalDateTime tmin, LocalDateTime tmax, bo } assert span != null; assert p != null; - this._inner = functions.tbox_make(span.get_inner(),p.get_inner()); + this._inner = GeneratedFunctions.tbox_make(span.get_inner(),p.get_inner()); } @@ -140,7 +140,7 @@ public TBox(Number xmin, Number xmax, LocalDateTime tmin, LocalDateTime tmax, bo * @return a new TBox instance */ public TBox copy(){ - return new TBox(functions.tbox_copy(this._inner)); + return new TBox(GeneratedFunctions.tbox_copy(this._inner)); } @@ -154,7 +154,7 @@ public TBox copy(){ * @return a new TBox instance */ public static TBox from_hexwkb(String hexwkb) { - return new TBox(functions.tbox_from_hexwkb(hexwkb)); + return new TBox(GeneratedFunctions.tbox_from_hexwkb(hexwkb)); } @@ -162,10 +162,10 @@ public static TBox from_hexwkb(String hexwkb) { public static TBox from_value_number(Number value) { TBox tbox = null; if(value instanceof Integer){ - tbox = new TBox(functions.int_to_tbox((int)value)); + tbox = new TBox(GeneratedFunctions.int_to_tbox((int)value)); } else if (value instanceof Float){ - tbox = new TBox(functions.float_to_tbox((float)value)); + tbox = new TBox(GeneratedFunctions.float_to_tbox((float)value)); } return tbox; } @@ -188,10 +188,10 @@ else if (value instanceof Float){ public static TBox from_value_span(Span span) { TBox tbox = null; if(span instanceof IntSpan){ - tbox = new TBox(functions.span_to_tbox(span.get_inner())); + tbox = new TBox(GeneratedFunctions.span_to_tbox(span.get_inner())); } else if (span instanceof FloatSpan){ - tbox = new TBox(functions.span_to_tbox(span.get_inner())); + tbox = new TBox(GeneratedFunctions.span_to_tbox(span.get_inner())); } return tbox; } @@ -219,13 +219,13 @@ else if (span instanceof FloatSpan){ public static TBox from_time(Time time) throws Exception { TBox tbox = null; if (time instanceof tstzset){ - tbox = new TBox(functions.set_to_tbox(((tstzset) time).get_inner())); + tbox = new TBox(GeneratedFunctions.set_to_tbox(((tstzset) time).get_inner())); } else if (time instanceof tstzspan){ - tbox = new TBox(functions.span_to_tbox(((tstzspan) time).get_inner())); + tbox = new TBox(GeneratedFunctions.span_to_tbox(((tstzspan) time).get_inner())); } else if (time instanceof tstzspanset){ - tbox = new TBox(functions.spanset_to_tbox(((tstzspanset) time).get_inner())); + tbox = new TBox(GeneratedFunctions.spanset_to_tbox(((tstzspanset) time).get_inner())); } else { throw new Exception("Operation not supported with this type."); @@ -254,31 +254,31 @@ public static TBox from_value_time(Object value, Object time){ TBox tbox = null; if (value instanceof Integer) { if (time instanceof LocalDateTime) { - tbox = new TBox(functions.int_timestamptz_to_tbox((Integer) value, ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); + tbox = new TBox(GeneratedFunctions.int_timestamptz_to_tbox((Integer) value, ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); } else if (time instanceof tstzspan) { - tbox = new TBox(functions.int_tstzspan_to_tbox((Integer) value, ((tstzspan) time).get_inner())); + tbox = new TBox(GeneratedFunctions.int_tstzspan_to_tbox((Integer) value, ((tstzspan) time).get_inner())); } } else if (value instanceof Float) { if (time instanceof LocalDateTime) { - tbox = new TBox(functions.float_timestamptz_to_tbox((Float) value, ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); + tbox = new TBox(GeneratedFunctions.float_timestamptz_to_tbox((Float) value, ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); } else if (time instanceof tstzspan) { - tbox = new TBox(functions.float_tstzspan_to_tbox((Float) value, ((tstzspan) time).get_inner())); + tbox = new TBox(GeneratedFunctions.float_tstzspan_to_tbox((Float) value, ((tstzspan) time).get_inner())); } } else if (value instanceof IntSpan) { if (time instanceof LocalDateTime) { - tbox = new TBox(functions.numspan_timestamptz_to_tbox(((IntSpan) value).get_inner(), ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); + tbox = new TBox(GeneratedFunctions.numspan_timestamptz_to_tbox(((IntSpan) value).get_inner(), ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); } else if (time instanceof tstzspan) { - tbox = new TBox(functions.numspan_tstzspan_to_tbox(((IntSpan) value).get_inner(), ((tstzspan) time).get_inner())); + tbox = new TBox(GeneratedFunctions.numspan_tstzspan_to_tbox(((IntSpan) value).get_inner(), ((tstzspan) time).get_inner())); } } else if (value instanceof FloatSpan) { if (time instanceof LocalDateTime) { - tbox = new TBox(functions.numspan_timestamptz_to_tbox(((FloatSpan) value).get_inner(), ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); + tbox = new TBox(GeneratedFunctions.numspan_timestamptz_to_tbox(((FloatSpan) value).get_inner(), ConversionUtils.datetimeToTimestampTz((LocalDateTime) time))); } else if (time instanceof tstzspan) { - tbox = new TBox(functions.numspan_tstzspan_to_tbox(((FloatSpan) value).get_inner(), ((tstzspan) time).get_inner())); + tbox = new TBox(GeneratedFunctions.numspan_tstzspan_to_tbox(((FloatSpan) value).get_inner(), ((tstzspan) time).get_inner())); } } return tbox; @@ -296,7 +296,7 @@ else if (time instanceof tstzspan) { * @return A new {@link TBox} instance */ public static TBox from_tnumber(TNumber temporal){ - return new TBox(functions.tnumber_to_tbox(temporal.getNumberInner())); + return new TBox(GeneratedFunctions.tnumber_to_tbox(temporal.getNumberInner())); } @@ -323,7 +323,7 @@ public String toString(){ * @return a String instance */ public String toString(int max_decimals){ - return functions.tbox_out(this._inner,max_decimals); + return GeneratedFunctions.tbox_out(this._inner,max_decimals); } @@ -340,7 +340,7 @@ public String toString(int max_decimals){ * @return A new {@link FloatSpan} instance */ public FloatSpan to_floatspan(){ - return new FloatSpan(functions.tbox_to_floatspan(this._inner)); + return new FloatSpan(GeneratedFunctions.tbox_to_floatspan(this._inner)); } @@ -354,9 +354,9 @@ public FloatSpan to_floatspan(){ */ public tstzspan to_period(){ error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); - return new tstzspan(functions.tbox_to_tstzspan(this._inner)); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + return new tstzspan(GeneratedFunctions.tbox_to_tstzspan(this._inner)); } /* ------------------------- Accessors ------------------------------------- */ @@ -371,7 +371,7 @@ public tstzspan to_period(){ * @return True if "this" has a numeric dimension, False otherwise */ public boolean has_x(){ - return functions.tbox_hasx(this._inner); + return GeneratedFunctions.tbox_hasx(this._inner); } /** @@ -383,7 +383,7 @@ public boolean has_x(){ * @return True if "this" has a temporal dimension, False otherwise */ public boolean has_t(){ - return functions.tbox_hast(this._inner); + return GeneratedFunctions.tbox_hast(this._inner); } @@ -408,13 +408,13 @@ public boolean has_t(){ public TBox expand(Object obj) { Pointer result = null; if(obj instanceof Duration){ - result= functions.tbox_expand_time(this._inner, ConversionUtils.timedelta_to_interval((Duration) obj)); + result= GeneratedFunctions.tbox_expand_time(this._inner, ConversionUtils.timedelta_to_interval((Duration) obj)); } else if(obj instanceof Integer){ - result = functions.tintbox_expand(this._inner,(int)obj); + result = GeneratedFunctions.tintbox_expand(this._inner,(int)obj); } else if(obj instanceof Float){ - result = functions.tfloatbox_expand(this._inner,(float)obj); + result = GeneratedFunctions.tfloatbox_expand(this._inner,(float)obj); } return new TBox(result); } @@ -442,8 +442,8 @@ public TBox round() { * @return a {@link TBox instance} */ public TBox round(int maxdd) { - Pointer new_inner = functions.tbox_copy(this._inner); - new_inner= functions.tbox_round(new_inner,maxdd); + Pointer new_inner = GeneratedFunctions.tbox_copy(this._inner); + new_inner= GeneratedFunctions.tbox_round(new_inner,maxdd); return new TBox(new_inner); } @@ -475,12 +475,12 @@ public TBox round(int maxdd) { public boolean is_adjacent_tbox(Object other) { boolean result = false; if (other instanceof TBox) { - result = functions.adjacent_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.adjacent_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if (other instanceof TNumber){ - result = functions.adjacent_tbox_tbox(this._inner,functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.adjacent_tbox_tbox(this._inner,GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } else if (other instanceof FloatSpan) { - result = functions.adjacent_span_span(this._inner,((FloatSpan) other).get_inner()); + result = GeneratedFunctions.adjacent_span_span(this._inner,((FloatSpan) other).get_inner()); } @@ -510,9 +510,9 @@ else if (other instanceof TNumber){ public boolean is_contained_in(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.contained_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.contained_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if (other instanceof TNumber){ - result = functions.contained_tbox_tbox(this._inner,functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.contained_tbox_tbox(this._inner,GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; } @@ -540,10 +540,10 @@ public boolean is_contained_in(Object other) { public boolean contains(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.contains_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.contains_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.contains_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.contains_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; } @@ -562,9 +562,9 @@ else if(other instanceof TNumber){ public boolean overlaps(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.overlaps_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.overlaps_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.overlaps_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.overlaps_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -584,10 +584,10 @@ public boolean overlaps(Object other) { public boolean is_same(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.same_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.same_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.same_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.same_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -611,10 +611,10 @@ else if(other instanceof TNumber){ public boolean is_left(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.left_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.left_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.left_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.left_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -635,10 +635,10 @@ else if(other instanceof TNumber){ public boolean is_over_or_left(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.overleft_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.overleft_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.overleft_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.overleft_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -659,10 +659,10 @@ else if(other instanceof TNumber){ public boolean is_right(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.right_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.right_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.right_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.right_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -684,10 +684,10 @@ else if(other instanceof TNumber){ public boolean is_over_or_right(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.overright_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.overright_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.overright_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.overright_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -708,10 +708,10 @@ else if(other instanceof TNumber){ public boolean is_before(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.before_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.before_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.before_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.before_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -733,10 +733,10 @@ else if(other instanceof TNumber){ public boolean is_over_or_before(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.overbefore_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.overbefore_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.overbefore_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.overbefore_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -757,10 +757,10 @@ else if(other instanceof TNumber){ public boolean is_after(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.after_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.after_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.after_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.after_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -783,11 +783,11 @@ else if(other instanceof TNumber){ public boolean is_over_or_after(Object other) { boolean result = false; if(other instanceof TBox){ - result = functions.overafter_tbox_tbox(this._inner, ((TBox) other).get_inner()); + result = GeneratedFunctions.overafter_tbox_tbox(this._inner, ((TBox) other).get_inner()); } else if(other instanceof TNumber){ - result = functions.overafter_tbox_tbox(this._inner, functions.tnumber_to_tbox(((TNumber) other).getNumberInner())); + result = GeneratedFunctions.overafter_tbox_tbox(this._inner, GeneratedFunctions.tnumber_to_tbox(((TNumber) other).getNumberInner())); } return result; @@ -806,7 +806,7 @@ else if(other instanceof TNumber){ * @return a {@link TBox} instance */ public TBox union(TBox other, boolean strict) { - return new TBox(functions.union_tbox_tbox(this._inner, other._inner,strict)); + return new TBox(GeneratedFunctions.union_tbox_tbox(this._inner, other._inner,strict)); } @@ -832,7 +832,7 @@ public TBox add(TBox other, boolean strict) { * @return a {@link TBox} instance if the instersection is not empty, "null" otherwise. */ public TBox intersection(TBox other) { - return new TBox(functions.intersection_tbox_tbox(this._inner,other.get_inner())); + return new TBox(GeneratedFunctions.intersection_tbox_tbox(this._inner,other.get_inner())); } @@ -863,8 +863,8 @@ public TBox mul(TBox other) { public boolean is_float(){ TBox tbox= new TBox(this._inner); - tstzspan t= new tstzspan(functions.stbox_to_tstzspan(this._inner)); - FloatSpan f= new FloatSpan(functions.spanset_span(tbox.get_inner())); + tstzspan t= new tstzspan(GeneratedFunctions.stbox_to_tstzspan(this._inner)); + FloatSpan f= new FloatSpan(GeneratedFunctions.spanset_span(tbox.get_inner())); return tbox.get_inner() == t.get_inner(); } @@ -872,17 +872,17 @@ public float nearest_approach_distance(Object other) { float result = 0.0f; if(other instanceof TBox){ if (this.is_float()){ - return (float) functions.nad_tboxfloat_tboxfloat(this._inner, ((TBox) other)._inner); + return (float) GeneratedFunctions.nad_tboxfloat_tboxfloat(this._inner, ((TBox) other)._inner); } else{ - return (float) functions.nad_tboxint_tboxint(this._inner, ((TBox) other)._inner); + return (float) GeneratedFunctions.nad_tboxint_tboxint(this._inner, ((TBox) other)._inner); } } else if(other instanceof TInt){ - result = (float) functions.nad_tint_tbox(((TInt) other).getNumberInner(), this._inner); + result = (float) GeneratedFunctions.nad_tint_tbox(((TInt) other).getNumberInner(), this._inner); } else if(other instanceof TFloat){ - result = (float) functions.nad_tfloat_tbox(((TFloat) other).getNumberInner(), this._inner); + result = (float) GeneratedFunctions.nad_tfloat_tbox(((TFloat) other).getNumberInner(), this._inner); } return result; @@ -905,7 +905,7 @@ else if(other instanceof TFloat){ */ public boolean eq(Box other) { boolean result; - result = other instanceof TBox && functions.tbox_eq(this._inner, ((TBox) other).get_inner()); + result = other instanceof TBox && GeneratedFunctions.tbox_eq(this._inner, ((TBox) other).get_inner()); return result; } @@ -922,7 +922,7 @@ public boolean eq(Box other) { */ public boolean notEquals(Box other) { boolean result; - result = !(other instanceof TBox) || functions.stbox_ne(this._inner, ((TBox) other).get_inner()); + result = !(other instanceof TBox) || GeneratedFunctions.stbox_ne(this._inner, ((TBox) other).get_inner()); return result; } @@ -942,7 +942,7 @@ public boolean notEquals(Box other) { */ public boolean lessThan(Box other) throws Exception { if (other instanceof TBox){ - return functions.tbox_lt(this._inner,((TBox) other).get_inner()); + return GeneratedFunctions.tbox_lt(this._inner,((TBox) other).get_inner()); } else{ throw new Exception("Operation not supported with this type."); @@ -965,7 +965,7 @@ public boolean lessThan(Box other) throws Exception { */ public boolean lessThanOrEqual(Box other) throws Exception { if (other instanceof TBox){ - return functions.tbox_le(this._inner,((TBox) other).get_inner()); + return GeneratedFunctions.tbox_le(this._inner,((TBox) other).get_inner()); } else{ throw new Exception("Operation not supported with this type."); @@ -988,7 +988,7 @@ public boolean lessThanOrEqual(Box other) throws Exception { */ public boolean greaterThan(Box other) throws Exception { if (other instanceof TBox){ - return functions.tbox_gt(this._inner,((TBox) other).get_inner()); + return GeneratedFunctions.tbox_gt(this._inner,((TBox) other).get_inner()); } else{ throw new Exception("Operation not supported with this type."); @@ -1010,7 +1010,7 @@ public boolean greaterThan(Box other) throws Exception { */ public boolean greaterThanOrEqual(Box other) throws Exception { if (other instanceof TBox){ - return functions.tbox_ge(this._inner,((TBox) other).get_inner()); + return GeneratedFunctions.tbox_ge(this._inner,((TBox) other).get_inner()); } else{ throw new Exception("Operation not supported with this type."); diff --git a/jmeos-core/src/main/java/types/collections/base/Set.java b/jmeos-core/src/main/java/types/collections/base/Set.java index 853404b76..862337ad0 100644 --- a/jmeos-core/src/main/java/types/collections/base/Set.java +++ b/jmeos-core/src/main/java/types/collections/base/Set.java @@ -6,7 +6,7 @@ import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.List; -import functions.functions; +import functions.GeneratedFunctions; /** * Abstract class that represents a set of temporal object @@ -44,7 +44,7 @@ public Set(String str){ */ /* public SpanSet to_spanset(){ - return new SpanSet(functions.set_to_spanset(this._inner)); + return new SpanSet(GeneratedFunctions.set_to_spanset(this._inner)); } */ @@ -58,7 +58,7 @@ public SpanSet to_spanset(){ */ /* public Span to_span(){ - return new Span(functions.set_span(this._inner)); + return new Span(GeneratedFunctions.set_span(this._inner)); } */ @@ -73,7 +73,7 @@ public Span to_span(){ */ public Pointer copy() { - return functions.set_copy(this._inner); + return GeneratedFunctions.set_copy(this._inner); } /** @@ -82,7 +82,7 @@ public Pointer copy() { */ public T from_wkb(Pointer wkb, long size, Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.set_from_wkb(wkb, size); + Pointer spanPointer = GeneratedFunctions.set_from_wkb(wkb, size); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -93,7 +93,7 @@ public T from_wkb(Pointer wkb, long size, Class spansetType) throws NoSuc */ public T from_hexwkb(String hexwkb, Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.set_from_hexwkb(hexwkb); + Pointer spanPointer = GeneratedFunctions.set_from_hexwkb(hexwkb); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -103,7 +103,7 @@ public T from_hexwkb(String hexwkb, Class spansetType) throws NoSuchMetho * @return Pointer type */ public Pointer as_wkb() { - return functions.set_as_wkb(this._inner, (byte) 4); + return GeneratedFunctions.set_as_wkb(this._inner, (byte) 4); } /** @@ -111,7 +111,7 @@ public Pointer as_wkb() { * @return String type */ public String as_hexwkb() { - String[] result= new String[]{functions.set_as_hexwkb(this._inner, (byte) -1)}; + String[] result= new String[]{GeneratedFunctions.set_as_hexwkb(this._inner, (byte) -1)}; System.out.println(result[0]); return result[0]; } @@ -124,7 +124,7 @@ public String as_hexwkb() { * @return A new {@link Span} instance */ public T to_span(Class spanType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.set_to_span(this._inner); + Pointer spanPointer = GeneratedFunctions.set_to_span(this._inner); Constructor constructor = spanType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -138,7 +138,7 @@ public T to_span(Class spanType) throws NoSuchMethodException, Invocation */ public T to_spanset(Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.set_to_spanset(this._inner); + Pointer spanPointer = GeneratedFunctions.set_to_spanset(this._inner); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -152,7 +152,7 @@ public T to_spanset(Class spansetType) throws NoSuchMethodException, Invo * @return An {@link Integer} */ public int num_elements(){ - return functions.set_num_values(this._inner); + return GeneratedFunctions.set_num_values(this._inner); } /** @@ -217,7 +217,7 @@ public T elements(List list) throws Exception * @return A new {@link Integer} instance */ public long hash(){ - return functions.set_hash(this._inner); + return GeneratedFunctions.set_hash(this._inner); } @@ -244,7 +244,7 @@ public long hash(){ */ public boolean is_contained_in(Base other) throws Exception { if (other instanceof Set){ - return functions.contained_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.contained_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -267,7 +267,7 @@ public boolean is_contained_in(Base other) throws Exception { */ public boolean contains(Base other) throws Exception { if (other instanceof Set){ - return functions.contains_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.contains_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -292,7 +292,7 @@ public boolean contains(Base other) throws Exception { */ public boolean overlaps(Base other) throws Exception { if (other instanceof Set){ - return functions.overlaps_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.overlaps_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -321,7 +321,7 @@ public boolean overlaps(Base other) throws Exception { */ public boolean is_left(Base other) throws Exception { if (other instanceof Set){ - return functions.left_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.left_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -345,7 +345,7 @@ public boolean is_left(Base other) throws Exception { */ public boolean is_over_or_left(Base other) throws Exception { if (other instanceof Set){ - return functions.overleft_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.overleft_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -371,7 +371,7 @@ public boolean is_over_or_left(Base other) throws Exception { */ public boolean is_over_or_right(Base other) throws Exception { if (other instanceof Set){ - return functions.overright_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.overright_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -398,7 +398,7 @@ public boolean is_over_or_right(Base other) throws Exception { */ public boolean is_right(Base other) throws Exception { if (other instanceof Set){ - return functions.right_set_set(this._inner, ((Set) other)._inner); + return GeneratedFunctions.right_set_set(this._inner, ((Set) other)._inner); } else{ throw new Exception("Operation not supported with this type"); @@ -424,11 +424,11 @@ public boolean is_right(Base other) throws Exception { */ // public float distance(Base other) throws Exception { // if (other instanceof Set){ -// return (float) functions.distance_floatset_floatset(this._inner, ((Set) other)._inner); +// return (float) GeneratedFunctions.distance_floatset_floatset(this._inner, ((Set) other)._inner); // } else if (other instanceof Span) { -// return (float) functions.distance_floatspan_floatspan(functions.set_to_span(this._inner), ((Span) other).get_inner()); +// return (float) GeneratedFunctions.distance_floatspan_floatspan(GeneratedFunctions.set_to_span(this._inner), ((Span) other).get_inner()); // } else if (other instanceof SpanSet) { -// return (float) functions.distance_floatspanset_floatspan(this._inner,((SpanSet) other).get_inner()); +// return (float) GeneratedFunctions.distance_floatspanset_floatspan(this._inner,((SpanSet) other).get_inner()); // } // else { // throw new Exception("Operation not supported with this type"); @@ -437,7 +437,7 @@ public boolean is_right(Base other) throws Exception { // public T distance(Object other) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { -//// Pointer spanPointer = functions.set_to_spanset(this._inner); +//// Pointer spanPointer = GeneratedFunctions.set_to_spanset(this._inner); //// Constructor constructor = spansetType.getConstructor(Pointer.class); // return constructor.newInstance(spanPointer); // } @@ -469,9 +469,9 @@ private void distance(Base other) throws Exception { public boolean is_adjacent(Base other) throws Exception { if (other instanceof Span){ - return functions.adjacent_span_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.adjacent_span_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.adjacent_spanset_span(((SpanSet) other).get_inner(),this._inner); + return GeneratedFunctions.adjacent_spanset_span(((SpanSet) other).get_inner(),this._inner); } else { throw new Exception("Operation not supported with this type"); @@ -496,7 +496,7 @@ public boolean is_adjacent(Base other) throws Exception { */ private Base intersection(Base other) throws Exception { if (other instanceof Set){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.intersection_set_set(this._inner, ((Set) other)._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.intersection_set_set(this._inner, ((Set) other)._inner)); } else { throw new Exception("Operation not supported with this type"); @@ -527,7 +527,7 @@ public Base mul(Base other) throws Exception { */ private Base minus(Base other) throws Exception { if (other instanceof Set){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.minus_set_set(this._inner, ((Set) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.minus_set_set(this._inner, ((Set) other).get_inner())); } else { throw new Exception("Operation not supported with this type"); @@ -587,7 +587,7 @@ public Base rsub(Base other) throws Exception { */ private Base union(Base other) throws Exception { if (other instanceof Set){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.union_set_set(this._inner, ((Set) other)._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.union_set_set(this._inner, ((Set) other)._inner)); } else { throw new Exception("Operation not supported with " + other + " type"); @@ -621,7 +621,7 @@ public Base add(Base other) throws Exception { */ public boolean eq(Base other){ if (other instanceof Set){ - return functions.set_eq(this._inner,((Set) other)._inner); + return GeneratedFunctions.set_eq(this._inner,((Set) other)._inner); } else { return false; @@ -641,7 +641,7 @@ public boolean eq(Base other){ */ public boolean notEquals(Base other){ if (other instanceof Set){ - return functions.set_ne(this._inner,((Set) other)._inner); + return GeneratedFunctions.set_ne(this._inner,((Set) other)._inner); } else { return true; @@ -662,7 +662,7 @@ public boolean notEquals(Base other){ */ public boolean lessThan(Base other) throws Exception { if (other instanceof Set){ - return functions.set_lt(this._inner,((Set) other)._inner); + return GeneratedFunctions.set_lt(this._inner,((Set) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -684,7 +684,7 @@ public boolean lessThan(Base other) throws Exception { */ public boolean lessThanOrEqual(Base other) throws Exception { if (other instanceof Set){ - return functions.set_le(this._inner,((Set) other)._inner); + return GeneratedFunctions.set_le(this._inner,((Set) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -706,7 +706,7 @@ public boolean lessThanOrEqual(Base other) throws Exception { */ public boolean greaterThan(Base other) throws Exception { if (other instanceof Set){ - return functions.set_gt(this._inner,((Set) other)._inner); + return GeneratedFunctions.set_gt(this._inner,((Set) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -728,7 +728,7 @@ public boolean greaterThan(Base other) throws Exception { */ public boolean greaterThanOrEqual(Base other) throws Exception { if (other instanceof Set){ - return functions.set_ge(this._inner,((Set) other)._inner); + return GeneratedFunctions.set_ge(this._inner,((Set) other)._inner); } else { throw new Exception("Operation not supported with this type"); diff --git a/jmeos-core/src/main/java/types/collections/base/Span.java b/jmeos-core/src/main/java/types/collections/base/Span.java index 8edb39040..bd99705dd 100644 --- a/jmeos-core/src/main/java/types/collections/base/Span.java +++ b/jmeos-core/src/main/java/types/collections/base/Span.java @@ -1,7 +1,7 @@ package types.collections.base; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; @@ -80,7 +80,7 @@ public Span(java.lang.Number lower, java.lang.Number upper){ */ public T copy(Class span) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.span_copy(this._inner); + Pointer spanPointer = GeneratedFunctions.span_copy(this._inner); return span.getConstructor(Pointer.class).newInstance(spanPointer); } @@ -89,7 +89,7 @@ public T copy(Class span) throws NoSuchMethodException, InvocationTargetExcep * @return Pointer type */ public T from_wkb(Pointer wkb, long size, Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.span_from_wkb(wkb, size); + Pointer spanPointer = GeneratedFunctions.span_from_wkb(wkb, size); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -100,10 +100,10 @@ public T from_wkb(Pointer wkb, long size, Class spansetType) throws NoSuc */ // public static T from_hexwkb(String hexwkb) // { -// return functions.span_from_hexwkb(hexwkb); +// return GeneratedFunctions.span_from_hexwkb(hexwkb); // } public static T from_hexwkb(String hexwkb, Class spanType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.span_from_hexwkb(hexwkb); + Pointer spanPointer = GeneratedFunctions.span_from_hexwkb(hexwkb); Constructor constructor = spanType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -113,7 +113,7 @@ public static T from_hexwkb(String hexwkb, Class spanType) throws NoSuchM * @return Pointer type */ public Pointer as_wkb() { - return functions.span_as_wkb(this._inner, (byte) 4); + return GeneratedFunctions.span_as_wkb(this._inner, (byte) 4); } /** @@ -121,7 +121,7 @@ public Pointer as_wkb() { * @return String type */ public String as_hexwkb() { - String[] result= new String[]{functions.span_as_hexwkb(this._inner, (byte) -1)}; + String[] result= new String[]{GeneratedFunctions.span_as_hexwkb(this._inner, (byte) -1)}; // System.out.println(result[0]); return result[0]; } @@ -131,12 +131,12 @@ public String as_hexwkb() { * @return String type */ // public T to_spanset(Class spansettype) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { -// Pointer spanPointer = functions.span_to_spanset(this._inner); +// Pointer spanPointer = GeneratedFunctions.span_to_spanset(this._inner); // return spansettype.getConstructor(Pointer.class).newInstance(spanPointer); // } public T to_spanset(Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.span_to_spanset(this._inner); + Pointer spanPointer = GeneratedFunctions.span_to_spanset(this._inner); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -149,7 +149,7 @@ public T to_spanset(Class spansetType) throws NoSuchMethodException, Invo * @return True if the lower bound of the period is inclusive and False otherwise */ public boolean lower_inc(){ - return functions.span_lower_inc(this._inner); + return GeneratedFunctions.span_lower_inc(this._inner); } @@ -161,7 +161,7 @@ public boolean lower_inc(){ * @return True if the upper bound of the period is inclusive and False otherwise */ public boolean upper_inc(){ - return functions.span_upper_inc(this._inner); + return GeneratedFunctions.span_upper_inc(this._inner); } @@ -173,7 +173,7 @@ public boolean upper_inc(){ * @return Returns a {@link Float} representing the duration of the period in seconds */ public float width(){ - return (float) functions.floatspan_width(this._inner); + return (float) GeneratedFunctions.floatspan_width(this._inner); } /** @@ -184,7 +184,7 @@ public float width(){ * @return A new {@link Integer} instance */ public long hash(){ - return functions.span_hash(this._inner); + return GeneratedFunctions.span_hash(this._inner); } @@ -207,9 +207,9 @@ public long hash(){ */ public boolean is_adjacent(Base other) throws Exception { if (other instanceof Span){ - return functions.adjacent_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.adjacent_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.adjacent_spanset_span(((SpanSet) other).get_inner(),this._inner); + return GeneratedFunctions.adjacent_spanset_span(((SpanSet) other).get_inner(),this._inner); } else { throw new Exception("Operation not supported with this type"); @@ -233,9 +233,9 @@ public boolean is_adjacent(Base other) throws Exception { */ public boolean is_contained_in(Base other) throws Exception { if (other instanceof Span){ - return functions.contained_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.contained_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.contained_span_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.contained_span_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -262,9 +262,9 @@ public boolean is_contained_in(Base other) throws Exception { */ public boolean contains(Base other) throws Exception { if (other instanceof Span){ - return functions.contains_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.contains_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.contains_span_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.contains_span_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -288,9 +288,9 @@ public boolean contains(Base other) throws Exception { */ public boolean overlaps(Base other) throws Exception { if (other instanceof Span){ - return functions.overlaps_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.overlaps_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.overlaps_spanset_span(((SpanSet) other).get_inner(),this._inner); + return GeneratedFunctions.overlaps_spanset_span(((SpanSet) other).get_inner(),this._inner); } else { throw new Exception("Operation not supported with this type"); @@ -300,9 +300,9 @@ public boolean overlaps(Base other) throws Exception { public boolean is_same(Base other) throws Exception { if (other instanceof Span){ - return functions.span_eq(this._inner, ((Span) other)._inner); + return GeneratedFunctions.span_eq(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.span_eq(this._inner,functions.spanset_span(((SpanSet) other).get_inner())); + return GeneratedFunctions.span_eq(this._inner,GeneratedFunctions.spanset_span(((SpanSet) other).get_inner())); } else { throw new Exception("Operation not supported with this type"); @@ -328,9 +328,9 @@ public boolean is_same(Base other) throws Exception { */ public boolean is_left(Base other) throws Exception { if (other instanceof Span){ - return functions.left_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.left_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.left_span_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.left_span_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -354,9 +354,9 @@ public boolean is_left(Base other) throws Exception { */ public boolean is_over_or_left(Base other) throws Exception { if (other instanceof Span){ - return functions.overleft_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.overleft_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.overleft_span_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.overleft_span_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -380,9 +380,9 @@ public boolean is_over_or_left(Base other) throws Exception { */ public boolean is_right(Base other) throws Exception { if (other instanceof Span){ - return functions.right_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.right_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.right_span_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.right_span_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -411,9 +411,9 @@ public boolean is_right(Base other) throws Exception { */ public boolean is_over_or_right(Base other) throws Exception { if (other instanceof Span){ - return functions.overright_span_span(this._inner, ((Span) other)._inner); + return GeneratedFunctions.overright_span_span(this._inner, ((Span) other)._inner); } else if (other instanceof SpanSet) { - return functions.overright_span_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.overright_span_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -441,9 +441,9 @@ public boolean is_over_or_right(Base other) throws Exception { */ // public float distance(Base other) throws Exception { // if (other instanceof Span){ -// return (float) functions.distance_floatspan_floatspan(this._inner, ((Span) other)._inner); +// return (float) GeneratedFunctions.distance_floatspan_floatspan(this._inner, ((Span) other)._inner); // } else if (other instanceof SpanSet) { -// return (float) functions.distance_floatspanset_floatspan(((SpanSet) other).get_inner(),this._inner); +// return (float) GeneratedFunctions.distance_floatspanset_floatspan(((SpanSet) other).get_inner(),this._inner); // } // else { // throw new Exception("Operation not supported with this type"); @@ -475,9 +475,9 @@ private void distance(Base other) throws Exception { private Base intersection(Base other) throws Exception { if (other instanceof Span){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.intersection_span_span(this._inner, ((Span) other)._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.intersection_span_span(this._inner, ((Span) other)._inner)); } else if (other instanceof SpanSet) { - return this.getClass().getConstructor(Pointer.class).newInstance(functions.intersection_spanset_span(((SpanSet) other).get_inner(),this._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.intersection_spanset_span(((SpanSet) other).get_inner(),this._inner)); } else { throw new Exception("Operation not supported with this type"); @@ -491,7 +491,7 @@ public Base mul(Base other) throws Exception { protected Base minus(Base other) throws Exception { if (other instanceof Span){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.minus_span_span(this._inner, ((Span) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.minus_span_span(this._inner, ((Span) other).get_inner())); } else { throw new Exception("Operation not supported with this type"); @@ -513,9 +513,9 @@ protected Base minus(Base other) throws Exception { */ protected Base union(Base other) throws Exception { if (other instanceof Span){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.union_span_span(this._inner, ((Span) other)._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.union_span_span(this._inner, ((Span) other)._inner)); } else if (other instanceof SpanSet) { - return this.getClass().getConstructor(Pointer.class).newInstance(functions.union_spanset_span(((SpanSet) other).get_inner(),this._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.union_spanset_span(((SpanSet) other).get_inner(),this._inner)); } else { throw new Exception("Operation not supported with this type"); @@ -543,7 +543,7 @@ public Base add(Base other) throws Exception { */ public boolean eq(Base other){ if (other instanceof Span){ - return functions.span_eq(this._inner,((Span) other)._inner); + return GeneratedFunctions.span_eq(this._inner,((Span) other)._inner); } else { return false; @@ -563,7 +563,7 @@ public boolean eq(Base other){ */ public boolean notEquals(Base other){ if (other instanceof Span){ - return functions.span_ne(this._inner,((Span) other)._inner); + return GeneratedFunctions.span_ne(this._inner,((Span) other)._inner); } else { return true; @@ -585,7 +585,7 @@ public boolean notEquals(Base other){ */ public boolean lessThan(Base other) throws Exception { if (other instanceof Span){ - return functions.span_lt(this._inner,((Span) other)._inner); + return GeneratedFunctions.span_lt(this._inner,((Span) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -607,7 +607,7 @@ public boolean lessThan(Base other) throws Exception { */ public boolean lessThanOrEqual(Base other) throws Exception { if (other instanceof Span){ - return functions.span_le(this._inner,((Span) other)._inner); + return GeneratedFunctions.span_le(this._inner,((Span) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -629,7 +629,7 @@ public boolean lessThanOrEqual(Base other) throws Exception { */ public boolean greaterThan(Base other) throws Exception { if (other instanceof Span){ - return functions.span_gt(this._inner,((Span) other)._inner); + return GeneratedFunctions.span_gt(this._inner,((Span) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -650,7 +650,7 @@ public boolean greaterThan(Base other) throws Exception { */ public boolean greaterThanOrEqual(Base other) throws Exception { if (other instanceof Span){ - return functions.span_ge(this._inner,((Span) other)._inner); + return GeneratedFunctions.span_ge(this._inner,((Span) other)._inner); } else { throw new Exception("Operation not supported with this type"); diff --git a/jmeos-core/src/main/java/types/collections/base/SpanSet.java b/jmeos-core/src/main/java/types/collections/base/SpanSet.java index e24e391ca..a01824c33 100644 --- a/jmeos-core/src/main/java/types/collections/base/SpanSet.java +++ b/jmeos-core/src/main/java/types/collections/base/SpanSet.java @@ -2,7 +2,7 @@ import com.google.common.primitives.Ints; import jnr.ffi.Pointer; -import functions.functions; +import functions.GeneratedFunctions; import types.collections.number.FloatSpan; import types.collections.number.FloatSpanSet; import types.collections.number.IntSpan; @@ -59,7 +59,7 @@ public SpanSet(String str){ */ public Pointer copy() { - return functions.spanset_copy(this._inner); + return GeneratedFunctions.spanset_copy(this._inner); } /** @@ -67,7 +67,7 @@ public Pointer copy() { * @return Pointer type */ public T from_wkb(Pointer wkb, long size, Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.spanset_from_wkb(wkb, size); + Pointer spanPointer = GeneratedFunctions.spanset_from_wkb(wkb, size); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -78,7 +78,7 @@ public T from_wkb(Pointer wkb, long size, Class spansetType) throws NoSuc * @return T type */ public static T from_hexwkb(String hexwkb, Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.spanset_from_hexwkb(hexwkb); + Pointer spanPointer = GeneratedFunctions.spanset_from_hexwkb(hexwkb); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -89,7 +89,7 @@ public static T from_hexwkb(String hexwkb, Class spansetType) throws NoSu * @return Pointer type */ public Pointer as_wkb() { - return functions.spanset_as_wkb(this._inner, (byte) 4); + return GeneratedFunctions.spanset_as_wkb(this._inner, (byte) 4); } /** @@ -97,7 +97,7 @@ public Pointer as_wkb() { * @return String type */ public String as_hexwkb() { - String[] result= new String[]{functions.spanset_as_hexwkb(this._inner, (byte) -1)}; + String[] result= new String[]{GeneratedFunctions.spanset_as_hexwkb(this._inner, (byte) -1)}; // System.out.println(result[0]); return result[0]; } @@ -108,12 +108,12 @@ public String as_hexwkb() { * @return String type */ // public T to_span(Class spantype) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { -// Pointer spanPointer = functions.spanset_span(this._inner); +// Pointer spanPointer = GeneratedFunctions.spanset_span(this._inner); // return spantype.getConstructor(Pointer.class).newInstance(spanPointer); // } public T to_span(Class spansetType) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanPointer = functions.spanset_span(this._inner); + Pointer spanPointer = GeneratedFunctions.spanset_span(this._inner); Constructor constructor = spansetType.getConstructor(Pointer.class); return constructor.newInstance(spanPointer); } @@ -124,12 +124,12 @@ public T to_span(Class spansetType) throws NoSuchMethodException, Invocat * @return String type */ // public T to_spans(Class spantype) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { -// Pointer[] spanPointer = functions.spanset_spans(this._inner); +// Pointer[] spanPointer = GeneratedFunctions.spanset_spans(this._inner); // return spantype.getConstructor(Pointer.class).newInstance((Object) spanPointer); // } // public List to_spans(){ -// Pointer ps = functions.spanset_spans(this._inner); +// Pointer ps = GeneratedFunctions.spanset_spans(this._inner); // List spanList = new ArrayList(this.num_spans()); // System.out.println(this.num_spans()); // long pointerSize= Long.BYTES; @@ -153,7 +153,7 @@ public T to_span(Class spansetType) throws NoSuchMethodException, Invocat */ public int num_spans() { - return functions.spanset_num_spans(this._inner); + return GeneratedFunctions.spanset_num_spans(this._inner); } /* @@ -166,7 +166,7 @@ public int num_spans() @return A {@link Span} instance */ public T start_span(Class start_span) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer startSpanPointer = functions.spanset_start_span(this._inner); + Pointer startSpanPointer = GeneratedFunctions.spanset_start_span(this._inner); return start_span.getConstructor(Pointer.class).newInstance(startSpanPointer); } @@ -178,7 +178,7 @@ public T start_span(Class start_span) throws NoSuchMethodException, Invocatio * @return A {@link Span} instance */ public T end_span(Class end_span) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer endSpanPointer= functions.spanset_end_span(this._inner); + Pointer endSpanPointer= GeneratedFunctions.spanset_end_span(this._inner); return end_span.getConstructor(Pointer.class).newInstance(endSpanPointer); } @@ -191,7 +191,7 @@ public T end_span(Class end_span) throws NoSuchMethodException, InvocationTar * @return A {@link Span} instance */ public T span_n(Classspan_n, int n) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { - Pointer spanNPointer= functions.spanset_span_n(this._inner, n+1); + Pointer spanNPointer= GeneratedFunctions.spanset_span_n(this._inner, n+1); return span_n.getConstructor(Pointer.class).newInstance(spanNPointer); } @@ -199,7 +199,7 @@ public T span_n(Classspan_n, int n) throws NoSuchMethodException, InvocationT spanset spans */ // public T spans(Classspans) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { -// Pointer[] spansPointer= functions.spanset_spans(this._inner); +// Pointer[] spansPointer= GeneratedFunctions.spanset_spans(this._inner); // return spans.getConstructor(Pointer.class).newInstance(spansPointer); // } @@ -234,7 +234,7 @@ private long getPointerSize(Class spanType) { spanset_spans */ public List spans(Class spanType) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, InvocationTargetException { - Pointer ps = functions.spanset_spans(this._inner); + Pointer ps = GeneratedFunctions.spanset_spans(this._inner); int numSpans = this.num_spans(); List spanList = new ArrayList(numSpans); @@ -261,7 +261,7 @@ public List spans(Class spanType) throws NoSuchMethodException, Illega * @return A new :class:`int` instance */ public long hash(){ - return functions.spanset_hash(this._inner); + return GeneratedFunctions.spanset_hash(this._inner); } /* ------------------------- Transformations ------------------------------- */ @@ -286,9 +286,9 @@ public long hash(){ */ public boolean is_adjacent(Base other) throws Exception { if (other instanceof Span){ - return functions.adjacent_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.adjacent_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.adjacent_spanset_spanset(this._inner,((SpanSet) other).get_inner()); + return GeneratedFunctions.adjacent_spanset_spanset(this._inner,((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -312,9 +312,9 @@ public boolean is_adjacent(Base other) throws Exception { */ public boolean is_contained_in(Base other) throws Exception { if (other instanceof Span){ - return functions.contained_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.contained_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.contained_spanset_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.contained_spanset_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -337,9 +337,9 @@ public boolean is_contained_in(Base other) throws Exception { */ public boolean contains(Base other) throws Exception { if (other instanceof Span){ - return functions.contains_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.contains_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.contains_spanset_spanset(this._inner, ((SpanSet) other)._inner); + return GeneratedFunctions.contains_spanset_spanset(this._inner, ((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -362,9 +362,9 @@ public boolean contains(Base other) throws Exception { */ public boolean overlaps(Base other) throws Exception { if (other instanceof Span){ - return functions.overlaps_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.overlaps_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.overlaps_spanset_spanset(this._inner,((SpanSet) other).get_inner()); + return GeneratedFunctions.overlaps_spanset_spanset(this._inner,((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -382,9 +382,9 @@ public boolean overlaps(Base other) throws Exception { */ public boolean is_same(Base other) throws Exception { if (other instanceof SpanSet){ - return functions.spanset_eq(this._inner, ((SpanSet) other)._inner); + return GeneratedFunctions.spanset_eq(this._inner, ((SpanSet) other)._inner); } else if (other instanceof Span) { - return functions.spanset_eq(this._inner,functions.span_to_spanset(((Span) other).get_inner())); + return GeneratedFunctions.spanset_eq(this._inner,GeneratedFunctions.span_to_spanset(((Span) other).get_inner())); } else { throw new Exception("Operation not supported with this type"); @@ -411,9 +411,9 @@ public boolean is_same(Base other) throws Exception { */ public boolean is_left(Base other) throws Exception { if (other instanceof Span){ - return functions.left_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.left_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.left_spanset_spanset(this._inner, ((SpanSet) other)._inner); + return GeneratedFunctions.left_spanset_spanset(this._inner, ((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -437,9 +437,9 @@ public boolean is_left(Base other) throws Exception { */ public boolean is_over_or_left(Base other) throws Exception { if (other instanceof Span){ - return functions.overleft_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.overleft_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.overleft_spanset_spanset(this._inner, ((SpanSet) other)._inner); + return GeneratedFunctions.overleft_spanset_spanset(this._inner, ((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -463,9 +463,9 @@ public boolean is_over_or_left(Base other) throws Exception { */ public boolean is_right(Base other) throws Exception { if (other instanceof Span){ - return functions.right_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.right_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.right_spanset_spanset(this._inner, ((SpanSet) other)._inner); + return GeneratedFunctions.right_spanset_spanset(this._inner, ((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -489,9 +489,9 @@ public boolean is_right(Base other) throws Exception { */ public boolean is_over_or_right(Base other) throws Exception { if (other instanceof Span){ - return functions.overright_spanset_span(this._inner, ((Span) other).get_inner()); + return GeneratedFunctions.overright_spanset_span(this._inner, ((Span) other).get_inner()); } else if (other instanceof SpanSet) { - return functions.overright_spanset_spanset(this._inner, ((SpanSet) other).get_inner()); + return GeneratedFunctions.overright_spanset_spanset(this._inner, ((SpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with this type"); @@ -517,9 +517,9 @@ public boolean is_over_or_right(Base other) throws Exception { */ // public float distance(Base other) throws Exception { // if (other instanceof Span) { -// return (float) functions.distance_floatspanset_floatspan(this._inner, ((Span) other).get_inner()); +// return (float) GeneratedFunctions.distance_floatspanset_floatspan(this._inner, ((Span) other).get_inner()); // } else if (other instanceof SpanSet) { -// return (float) functions.distance_floatspanset_floatspanset(this._inner,((SpanSet) other)._inner); +// return (float) GeneratedFunctions.distance_floatspanset_floatspanset(this._inner,((SpanSet) other)._inner); // } // else { // throw new Exception("Operation not supported with this type"); @@ -547,9 +547,9 @@ private void distance(Base other) throws Exception { */ protected Base intersection(Base other) throws Exception { if (other instanceof Span){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.intersection_spanset_span(this._inner, ((Span) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.intersection_spanset_span(this._inner, ((Span) other).get_inner())); } else if (other instanceof SpanSet) { - return this.getClass().getConstructor(Pointer.class).newInstance(functions.intersection_spanset_spanset(this._inner,((SpanSet) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.intersection_spanset_spanset(this._inner,((SpanSet) other).get_inner())); } else { throw new Exception("Operation not supported with this type"); @@ -572,9 +572,9 @@ protected Base intersection(Base other) throws Exception { */ protected Base minus(Base other) throws Exception { if (other instanceof Span){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.minus_spanset_span(this._inner, ((Span) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.minus_spanset_span(this._inner, ((Span) other).get_inner())); } else if (other instanceof SpanSet) { - return this.getClass().getConstructor(Pointer.class).newInstance(functions.minus_spanset_spanset(this._inner,((SpanSet) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.minus_spanset_spanset(this._inner,((SpanSet) other).get_inner())); } else { throw new Exception("Operation not supported with this type"); @@ -603,9 +603,9 @@ public Base sub(Base other) throws Exception { */ protected Base union(Base other) throws Exception { if (other instanceof Span){ - return this.getClass().getConstructor(Pointer.class).newInstance(functions.union_spanset_span(this._inner, ((Span) other).get_inner())); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.union_spanset_span(this._inner, ((Span) other).get_inner())); } else if (other instanceof SpanSet) { - return this.getClass().getConstructor(Pointer.class).newInstance(functions.union_spanset_spanset(((SpanSet) other).get_inner(),this._inner)); + return this.getClass().getConstructor(Pointer.class).newInstance(GeneratedFunctions.union_spanset_spanset(((SpanSet) other).get_inner(),this._inner)); } else { throw new Exception("Operation not supported with this type"); @@ -632,7 +632,7 @@ public Base add(Base other) throws Exception { */ public boolean eq(Base other){ if (other instanceof SpanSet){ - return functions.spanset_eq(this._inner,((SpanSet) other)._inner); + return GeneratedFunctions.spanset_eq(this._inner,((SpanSet) other)._inner); } else { return false; @@ -653,7 +653,7 @@ public boolean eq(Base other){ */ public boolean notEquals(Base other){ if (other instanceof SpanSet){ - return functions.spanset_ne(this._inner,((SpanSet) other)._inner); + return GeneratedFunctions.spanset_ne(this._inner,((SpanSet) other)._inner); } else { return true; @@ -675,7 +675,7 @@ public boolean notEquals(Base other){ */ public boolean lessThan(Base other) throws Exception { if (other instanceof SpanSet){ - return functions.spanset_lt(this._inner,((SpanSet) other)._inner); + return GeneratedFunctions.spanset_lt(this._inner,((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -697,7 +697,7 @@ public boolean lessThan(Base other) throws Exception { */ public boolean lessThanOrEqual(Base other) throws Exception { if (other instanceof SpanSet){ - return functions.spanset_le(this._inner,((SpanSet) other)._inner); + return GeneratedFunctions.spanset_le(this._inner,((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -719,7 +719,7 @@ public boolean lessThanOrEqual(Base other) throws Exception { */ public boolean greaterThan(Base other) throws Exception { if (other instanceof SpanSet){ - return functions.spanset_gt(this._inner,((SpanSet) other)._inner); + return GeneratedFunctions.spanset_gt(this._inner,((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); @@ -740,7 +740,7 @@ public boolean greaterThan(Base other) throws Exception { */ public boolean greaterThanOrEqual(Base other) throws Exception { if (other instanceof SpanSet) { - return functions.spanset_ge(this._inner, ((SpanSet) other)._inner); + return GeneratedFunctions.spanset_ge(this._inner, ((SpanSet) other)._inner); } else { throw new Exception("Operation not supported with this type"); } diff --git a/jmeos-core/src/main/java/types/collections/geo/GeoSet.java b/jmeos-core/src/main/java/types/collections/geo/GeoSet.java index d64c65dff..0ad7722d6 100644 --- a/jmeos-core/src/main/java/types/collections/geo/GeoSet.java +++ b/jmeos-core/src/main/java/types/collections/geo/GeoSet.java @@ -5,7 +5,7 @@ import org.locationtech.jts.io.ParseException; import types.collections.base.Set; import utils.ConversionUtils; -import functions.functions; +import functions.GeneratedFunctions; /** @@ -67,7 +67,7 @@ public static GeoSet factory(String type, Pointer inner){ */ public String toString(){ int max_decimals = 15; - return functions.tspatial_out(this._inner,max_decimals); + return GeneratedFunctions.tspatial_out(this._inner,max_decimals); } @@ -82,7 +82,7 @@ public String toString(){ */ protected String as_ewkt(){ int max_decimals = 15; - return functions.tspatial_as_ewkt(this._inner,max_decimals); + return GeneratedFunctions.tspatial_as_ewkt(this._inner,max_decimals); } /** @@ -95,7 +95,7 @@ protected String as_ewkt(){ */ protected String as_wkt(){ int max_decimals = 15; - return functions.tspatial_as_text(this._inner,max_decimals); + return GeneratedFunctions.tspatial_as_text(this._inner,max_decimals); } /** @@ -108,7 +108,7 @@ protected String as_wkt(){ */ protected String as_text(){ int max_decimals = 15; - return functions.tspatial_as_text(this._inner,max_decimals); + return GeneratedFunctions.tspatial_as_text(this._inner,max_decimals); } /* ------------------------- Accessors ------------------------------------- */ @@ -126,7 +126,7 @@ protected String as_text(){ */ @Override public Geometry start_element() throws ParseException { - return ConversionUtils.gserialized_to_shapely_geometry(functions.geoset_start_value(this._inner),15); + return ConversionUtils.gserialized_to_shapely_geometry(GeneratedFunctions.geoset_start_value(this._inner),15); } @@ -140,7 +140,7 @@ public Geometry start_element() throws ParseException { */ @Override public Geometry end_element() throws ParseException { - return ConversionUtils.gserialized_to_shapely_geometry(functions.geoset_end_value(this._inner),15); + return ConversionUtils.gserialized_to_shapely_geometry(GeneratedFunctions.geoset_end_value(this._inner),15); } @@ -153,7 +153,7 @@ public Geometry end_element() throws ParseException { * @return An integer */ protected int srid(){ - return functions.tspatial_srid(this._inner); + return GeneratedFunctions.tspatial_srid(this._inner); } @@ -179,7 +179,7 @@ public boolean contains(GeoSet other) throws Exception { */ public Geometry intersection_geom(Geometry geom) throws ParseException { return ConversionUtils.gserialized_to_shapely_geometry( - functions.intersection_set_geo(this._inner, ConversionUtils.geometry_to_gserialized(geom)),15); + GeneratedFunctions.intersection_set_geo(this._inner, ConversionUtils.geometry_to_gserialized(geom)),15); } /** @@ -195,7 +195,7 @@ public Geometry intersection_geom(Geometry geom) throws ParseException { * @throws ParseException */ public GeoSet intersection_geoset(GeoSet geo, String type){ - return factory(type,functions.intersection_set_set(this._inner, geo._inner)); + return factory(type,GeneratedFunctions.intersection_set_set(this._inner, geo._inner)); } @@ -214,9 +214,9 @@ public GeoSet intersection_geoset(GeoSet geo, String type){ */ public GeoSet minus(Object geo, String type){ if(geo instanceof Geometry){ - return factory(type, functions.minus_set_geo(this._inner, ConversionUtils.geometry_to_gserialized((Geometry) geo))); + return factory(type, GeneratedFunctions.minus_set_geo(this._inner, ConversionUtils.geometry_to_gserialized((Geometry) geo))); } else if (geo instanceof GeoSet) { - return factory(type, functions.minus_set_set(this._inner, ((GeoSet)geo)._inner)); + return factory(type, GeneratedFunctions.minus_set_set(this._inner, ((GeoSet)geo)._inner)); } return null; } @@ -237,7 +237,7 @@ public GeoSet minus(Object geo, String type){ :meth:`minus` */ public Geometry subtract_from(Object geo, String type) throws ParseException { - Pointer result= functions.minus_geo_set(ConversionUtils.geometry_to_gserialized((Geometry) geo), this._inner); + Pointer result= GeneratedFunctions.minus_geo_set(ConversionUtils.geometry_to_gserialized((Geometry) geo), this._inner); if(result != null) { return ConversionUtils.gserialized_to_shapely_geometry(result, 15); } @@ -260,9 +260,9 @@ public Geometry subtract_from(Object geo, String type) throws ParseException { */ public GeoSet union(Object geo, String type){ if(geo instanceof Geometry){ - return factory(type, functions.union_set_geo(this._inner, ConversionUtils.geometry_to_gserialized((Geometry) geo))); + return factory(type, GeneratedFunctions.union_set_geo(this._inner, ConversionUtils.geometry_to_gserialized((Geometry) geo))); } else if (geo instanceof GeoSet) { - return factory(type, functions.union_set_set(this._inner, ((GeoSet)geo)._inner)); + return factory(type, GeneratedFunctions.union_set_set(this._inner, ((GeoSet)geo)._inner)); } return null; } @@ -284,7 +284,7 @@ public GeoSet union(Object geo, String type){ * @return A new {@link GeoSet} object of the same subtype of "this". */ public GeoSet round(int decimals, String type){ - return factory(type, functions.temporal_round(this._inner,decimals)); + return factory(type, GeneratedFunctions.temporal_round(this._inner,decimals)); } diff --git a/jmeos-core/src/main/java/types/collections/geo/GeographySet.java b/jmeos-core/src/main/java/types/collections/geo/GeographySet.java index ee1376c1a..c7636dcaa 100644 --- a/jmeos-core/src/main/java/types/collections/geo/GeographySet.java +++ b/jmeos-core/src/main/java/types/collections/geo/GeographySet.java @@ -1,5 +1,5 @@ package types.collections.geo; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; @@ -32,7 +32,7 @@ public GeographySet(Pointer inner){ */ public GeographySet(String str){ super(str); - this._inner = functions.geogset_in(str); + this._inner = GeneratedFunctions.geogset_in(str); } public String getType(){return type;} @@ -44,7 +44,7 @@ public Pointer get_inner(){ @Override public Pointer createStringInner(String str){ - return functions.geogset_in(str); + return GeneratedFunctions.geogset_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/collections/geo/GeometrySet.java b/jmeos-core/src/main/java/types/collections/geo/GeometrySet.java index 2a9aab519..0bc30b5ca 100644 --- a/jmeos-core/src/main/java/types/collections/geo/GeometrySet.java +++ b/jmeos-core/src/main/java/types/collections/geo/GeometrySet.java @@ -1,5 +1,5 @@ package types.collections.geo; -import functions.functions; +import functions.GeneratedFunctions; import jnr.ffi.Pointer; /** @@ -31,7 +31,7 @@ public GeometrySet(Pointer inner){ */ public GeometrySet(String str){ super(str); - this._inner = functions.geomset_in(str); + this._inner = GeneratedFunctions.geomset_in(str); } public String getType(){return type;} @@ -43,7 +43,7 @@ public Pointer get_inner(){ @Override public Pointer createStringInner(String str){ - return functions.geomset_in(str); + return GeneratedFunctions.geomset_in(str); } @Override diff --git a/jmeos-core/src/main/java/types/collections/number/FloatSet.java b/jmeos-core/src/main/java/types/collections/number/FloatSet.java index 88425e3bd..8af65302b 100644 --- a/jmeos-core/src/main/java/types/collections/number/FloatSet.java +++ b/jmeos-core/src/main/java/types/collections/number/FloatSet.java @@ -1,11 +1,13 @@ package types.collections.number; +import jnr.ffi.Memory; import jnr.ffi.Pointer; +import jnr.ffi.Runtime; import types.collections.base.Base; import types.collections.base.Set; import java.util.ArrayList; import java.util.List; -import functions.functions; +import functions.GeneratedFunctions; /** @@ -32,12 +34,12 @@ public FloatSet(Pointer inner){ public FloatSet(String str){ super(str); - _inner = functions.floatset_in(str); + _inner = GeneratedFunctions.floatset_in(str); } @Override public Pointer createStringInner(String str){ - return functions.floatset_in(str); + return GeneratedFunctions.floatset_in(str); } @Override @@ -63,7 +65,7 @@ public Pointer createInner(Pointer inner){ * @return A new {@link String} instance */ public String toString(int max_decimals){ - return functions.floatset_out(this._inner, max_decimals); + return GeneratedFunctions.floatset_out(this._inner, max_decimals); } @@ -81,7 +83,7 @@ public String toString(int max_decimals){ * @return A new {@link FloatSpanSet} instance */ public FloatSpanSet to_spanset(){ - return new FloatSpanSet(functions.set_to_spanset(this._inner)); + return new FloatSpanSet(GeneratedFunctions.set_to_spanset(this._inner)); } @@ -97,7 +99,7 @@ public FloatSpanSet to_spanset(){ * @return A new {@link FloatSpan} instance */ public FloatSpan to_span(){ - return new FloatSpan(functions.set_to_span(this._inner)); + return new FloatSpan(GeneratedFunctions.set_to_span(this._inner)); } public IntSet to_intset(){ @@ -127,7 +129,7 @@ public Pointer get_inner(){ * @return A {@link Float} instance */ public Float start_element(){ - return (float) functions.floatset_start_value(this._inner); + return (float) GeneratedFunctions.floatset_start_value(this._inner); } @@ -142,7 +144,7 @@ public Float start_element(){ * @return A {@link Float} instance */ public Float end_element(){ - return (float) functions.floatset_end_value(this._inner); + return (float) GeneratedFunctions.floatset_end_value(this._inner); } /** @@ -163,7 +165,7 @@ public Float element_n(int n) throws Exception { } public List elements(){ - Pointer elems = functions.floatset_values(this._inner); + Pointer elems = GeneratedFunctions.floatset_values(this._inner, Memory.allocate(Runtime.getSystemRuntime(), 4)); List ret = new ArrayList(); for (int i=0;i spans(){ - Pointer ps = functions.spanset_spans(this._inner); + Pointer ps = GeneratedFunctions.spanset_spans(this._inner); List spanList = new ArrayList(this.num_spans()); System.out.println(this.num_spans()); long pointerSize= Double.BYTES; @@ -238,7 +238,7 @@ public FloatSpanSet scale(int width){ * @return a new {@link FloatSpanSet} instance */ public FloatSpanSet shift_scale(int delta, int width){ - return new FloatSpanSet(functions.floatspanset_shift_scale(this._inner,delta,width,delta != 0, width != 0)); + return new FloatSpanSet(GeneratedFunctions.floatspanset_shift_scale(this._inner,delta,width,delta != 0, width != 0)); } @@ -265,7 +265,7 @@ public FloatSpanSet shift_scale(int delta, int width){ public boolean is_adjacent(Object other) throws Exception { boolean answer = false; if (other instanceof Float){ - answer = functions.adjacent_spanset_float(this._inner, (float) other); + answer = GeneratedFunctions.adjacent_spanset_float(this._inner, (float) other); } else{ answer = super.is_adjacent((Base)other); @@ -289,7 +289,7 @@ public boolean is_adjacent(Object other) throws Exception { */ public boolean contains(Object other) throws Exception { if (other instanceof Float){ - return functions.contains_spanset_float(this._inner, (float) other); + return GeneratedFunctions.contains_spanset_float(this._inner, (float) other); } else{ return super.contains((Base)other); @@ -311,7 +311,7 @@ public boolean contains(Object other) throws Exception { */ public boolean is_same(Object other) throws Exception { if (other instanceof Float){ - return functions.spanset_eq(this._inner,functions.float_to_spanset((float) other)); + return GeneratedFunctions.spanset_eq(this._inner,GeneratedFunctions.float_to_spanset((float) other)); } else{ return super.is_same((Base)other); @@ -340,7 +340,7 @@ public boolean is_same(Object other) throws Exception { public boolean is_left(Object other) throws Exception { boolean answer = false; if (other instanceof Float){ - answer = functions.left_spanset_float(this._inner,(float) other); + answer = GeneratedFunctions.left_spanset_float(this._inner,(float) other); } else{ answer = super.is_left((Base)other); @@ -367,7 +367,7 @@ public boolean is_left(Object other) throws Exception { public boolean is_over_or_left(Object other) throws Exception { boolean answer = false; if (other instanceof Float){ - answer = functions.overleft_spanset_float(this._inner,(float) other); + answer = GeneratedFunctions.overleft_spanset_float(this._inner,(float) other); } else{ answer = super.is_over_or_left((Base)other); @@ -394,7 +394,7 @@ public boolean is_over_or_left(Object other) throws Exception { public boolean is_right(Object other) throws Exception { boolean answer = false; if (other instanceof Float){ - answer = functions.right_spanset_float(this._inner,(float) other); + answer = GeneratedFunctions.right_spanset_float(this._inner,(float) other); } else{ answer = super.is_right((Base)other); @@ -422,7 +422,7 @@ public boolean is_right(Object other) throws Exception { public boolean is_over_or_right(Object other) throws Exception { boolean answer = false; if (other instanceof Float){ - answer = functions.overright_spanset_float(this._inner,(float) other); + answer = GeneratedFunctions.overright_spanset_float(this._inner,(float) other); } else{ answer = super.is_over_or_right((Base)other); @@ -450,14 +450,14 @@ public boolean is_over_or_right(Object other) throws Exception { public float distance(Object other) throws Exception { float answer = 0; if (other instanceof Float) { - answer = (float) functions.distance_spanset_float(this._inner, (int) other); + answer = (float) GeneratedFunctions.distance_spanset_float(this._inner, (int) other); } else if (other instanceof FloatSet) { FloatSpan fs = ((FloatSet) other).to_span(FloatSpan.class); - answer = (float) functions.distance_intspanset_intspan(this._inner, (fs).get_inner()); + answer = (float) GeneratedFunctions.distance_intspanset_intspan(this._inner, (fs).get_inner()); } else if (other instanceof FloatSpan) { - answer = (float) functions.distance_intspanset_intspan(this._inner, ((FloatSpan) other).get_inner()); + answer = (float) GeneratedFunctions.distance_intspanset_intspan(this._inner, ((FloatSpan) other).get_inner()); } else if (other instanceof FloatSpanSet) { - answer = (float) functions.distance_intspanset_intspanset(this._inner, ((FloatSpanSet) other).get_inner()); + answer = (float) GeneratedFunctions.distance_intspanset_intspanset(this._inner, ((FloatSpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with " + other + " type"); } @@ -482,7 +482,7 @@ public float distance(Object other) throws Exception { public FloatSpanSet intersection(Object other) throws Exception { Pointer result = null; if ((other instanceof Float) || (other instanceof Integer)){ - result= functions.intersection_spanset_float(this._inner, (float) other); + result= GeneratedFunctions.intersection_spanset_float(this._inner, (float) other); } else{ FloatSpanSet tmp= (FloatSpanSet) super.intersection((Base) other); @@ -512,7 +512,7 @@ public FloatSpanSet mul(int other) throws Exception { public FloatSpanSet minus(Object other) throws Exception { Pointer result = null; if ((other instanceof Integer) || (other instanceof Float)){ - result = functions.minus_spanset_float(this._inner, (float) other); + result = GeneratedFunctions.minus_spanset_float(this._inner, (float) other); } else{ FloatSpanSet tmp = (FloatSpanSet) super.minus((Base) other); @@ -542,7 +542,7 @@ public FloatSpanSet sub(int other) throws Exception { public FloatSpanSet union(Object other) throws Exception { Pointer result = null; if ((other instanceof Integer) || (other instanceof Float)) { - result = functions.union_spanset_float(this._inner, (float) other); + result = GeneratedFunctions.union_spanset_float(this._inner, (float) other); } else { FloatSpanSet tmp = (FloatSpanSet) super.union((Base) other); result = tmp.get_inner(); diff --git a/jmeos-core/src/main/java/types/collections/number/IntSet.java b/jmeos-core/src/main/java/types/collections/number/IntSet.java index 4ff904b09..95b76fb71 100644 --- a/jmeos-core/src/main/java/types/collections/number/IntSet.java +++ b/jmeos-core/src/main/java/types/collections/number/IntSet.java @@ -1,12 +1,14 @@ package types.collections.number; import types.collections.base.Base; import types.collections.base.Set; +import jnr.ffi.Memory; import jnr.ffi.Pointer; +import jnr.ffi.Runtime; import java.util.ArrayList; import java.util.List; import java.util.Objects; -import functions.functions; +import functions.GeneratedFunctions; /** * Class for representing a set of text values. @@ -32,12 +34,12 @@ public IntSet(Pointer inner){ public IntSet(String str){ super(str); - _inner = functions.intset_in(str); + _inner = GeneratedFunctions.intset_in(str); } @Override public Pointer createStringInner(String str){ - return functions.intset_in(str); + return GeneratedFunctions.intset_in(str); } @Override @@ -61,7 +63,7 @@ public Pointer createInner(Pointer inner){ * @return A new {@link String} instance */ public String toString(){ - return functions.intset_out(this._inner); + return GeneratedFunctions.intset_out(this._inner); } /* ------------------------- Conversions ----------------------------------- */ @@ -78,7 +80,7 @@ public String toString(){ * @return A new {@link IntSpanSet} instance */ public IntSpanSet to_spanset(){ - return new IntSpanSet(functions.set_to_spanset(this._inner)); + return new IntSpanSet(GeneratedFunctions.set_to_spanset(this._inner)); } @@ -93,7 +95,7 @@ public IntSpanSet to_spanset(){ * @return A {@link IntSpan} instance */ public IntSpan to_span(){ - return new IntSpan(functions.set_to_span(this._inner)); + return new IntSpan(GeneratedFunctions.set_to_span(this._inner)); } public FloatSet to_floatset(){ @@ -123,7 +125,7 @@ public Pointer get_inner(){ * @return A {@link Integer} instance */ public Integer start_element(){ - return functions.intset_start_value(this._inner); + return GeneratedFunctions.intset_start_value(this._inner); } @@ -138,7 +140,7 @@ public Integer start_element(){ * @return A {@link Integer} instance */ public Integer end_element(){ - return functions.intset_end_value(this._inner); + return GeneratedFunctions.intset_end_value(this._inner); } /* @@ -156,11 +158,11 @@ public Integer end_element(){ public Integer element_n(int n) throws Exception { super.element_n(n); - return Objects.requireNonNull(functions.intset_value_n(this._inner, n + 1)).getInt(Integer.BYTES); + return Objects.requireNonNull(GeneratedFunctions.intset_value_n(this._inner, n + 1)).getInt(Integer.BYTES); } public List elements(){ - Pointer elems = functions.intset_values(this._inner); + Pointer elems = GeneratedFunctions.intset_values(this._inner, Memory.allocate(Runtime.getSystemRuntime(), 4)); List ret = new ArrayList(); for (int i=0;i spans(){ - Pointer ps = functions.spanset_spans(this._inner); + Pointer ps = GeneratedFunctions.spanset_spans(this._inner); List spanList = new ArrayList(); System.out.println(this.num_spans()); long pointerSize= Long.BYTES; @@ -245,7 +245,7 @@ public IntSpanSet scale(int width){ */ public IntSpanSet shift_scale(int delta, int width){ - return new IntSpanSet(functions.intspanset_shift_scale(this._inner,delta,width,delta != 0,width!=0)); + return new IntSpanSet(GeneratedFunctions.intspanset_shift_scale(this._inner,delta,width,delta != 0,width!=0)); } @@ -274,7 +274,7 @@ public IntSpanSet shift_scale(int delta, int width){ public boolean is_adjacent(Object other) throws Exception { boolean answer = false; if (other instanceof Integer){ - answer = functions.adjacent_spanset_int(this._inner, (int) other); + answer = GeneratedFunctions.adjacent_spanset_int(this._inner, (int) other); } else{ answer = super.is_adjacent((Base)other); @@ -299,7 +299,7 @@ public boolean is_adjacent(Object other) throws Exception { public boolean contains(Object other) throws Exception { boolean answer = false; if (other instanceof Integer){ - answer = functions.contains_spanset_int(this._inner, (int) other); + answer = GeneratedFunctions.contains_spanset_int(this._inner, (int) other); } else{ answer = super.contains((Base)other); @@ -322,7 +322,7 @@ public boolean contains(Object other) throws Exception { */ public boolean is_same(Object other) throws Exception { if (other instanceof Integer){ - return functions.spanset_eq(this._inner,functions.int_to_spanset((int) other)); + return GeneratedFunctions.spanset_eq(this._inner,GeneratedFunctions.int_to_spanset((int) other)); } else{ return super.is_same((Base)other); @@ -350,7 +350,7 @@ public boolean is_same(Object other) throws Exception { public boolean is_left(Object other) throws Exception { boolean answer = false; if (other instanceof Integer){ - answer = functions.left_spanset_int(this._inner,(int) other); + answer = GeneratedFunctions.left_spanset_int(this._inner,(int) other); } else{ answer = super.is_left((Base)other); @@ -377,7 +377,7 @@ public boolean is_left(Object other) throws Exception { public boolean is_over_or_left(Object other) throws Exception { boolean answer = false; if (other instanceof Integer){ - answer = functions.overleft_spanset_int(this._inner,(int) other); + answer = GeneratedFunctions.overleft_spanset_int(this._inner,(int) other); } else{ answer = super.is_over_or_left((Base)other); @@ -404,7 +404,7 @@ public boolean is_over_or_left(Object other) throws Exception { public boolean is_right(Object other) throws Exception { boolean answer = false; if (other instanceof Integer){ - answer = functions.right_spanset_int(this._inner,(int) other); + answer = GeneratedFunctions.right_spanset_int(this._inner,(int) other); } else{ answer = super.is_right((Base)other); @@ -432,7 +432,7 @@ public boolean is_right(Object other) throws Exception { public boolean is_over_or_right(Object other) throws Exception { boolean answer = false; if (other instanceof Integer){ - answer = functions.overright_spanset_int(this._inner,(int) other); + answer = GeneratedFunctions.overright_spanset_int(this._inner,(int) other); } else{ answer = super.is_over_or_right((Base)other); @@ -460,14 +460,14 @@ public boolean is_over_or_right(Object other) throws Exception { public float distance(Object other) throws Exception { float answer = 0; if (other instanceof Integer) { - answer = (float) functions.distance_spanset_int(this._inner, (int) other); + answer = (float) GeneratedFunctions.distance_spanset_int(this._inner, (int) other); } else if (other instanceof IntSet) { IntSpan is = ((IntSet) other).to_span(IntSpan.class); - answer = (float) functions.distance_intspanset_intspan(this._inner, (is).get_inner()); + answer = (float) GeneratedFunctions.distance_intspanset_intspan(this._inner, (is).get_inner()); } else if (other instanceof IntSpan) { - answer = (float) functions.distance_intspanset_intspan(this._inner, ((IntSpan) other).get_inner()); + answer = (float) GeneratedFunctions.distance_intspanset_intspan(this._inner, ((IntSpan) other).get_inner()); } else if (other instanceof IntSpanSet) { - answer = (float) functions.distance_intspanset_intspanset(this._inner, ((IntSpanSet) other).get_inner()); + answer = (float) GeneratedFunctions.distance_intspanset_intspanset(this._inner, ((IntSpanSet) other).get_inner()); } else { throw new Exception("Operation not supported with " + other + " type"); } @@ -488,7 +488,7 @@ public float distance(Object other) throws Exception { public IntSpanSet intersection(Object other) throws Exception { Pointer result = null; if (other instanceof Integer){ - result= functions.intersection_spanset_int(this._inner, (int) other); + result= GeneratedFunctions.intersection_spanset_int(this._inner, (int) other); } else{ IntSpanSet tmp= (IntSpanSet) super.intersection((Base) other); @@ -519,7 +519,7 @@ public IntSpanSet mul(int other) throws Exception { public IntSpanSet minus(Object other) throws Exception { Pointer result = null; if ((other instanceof Integer) || (other instanceof Float)){ - result = functions.minus_spanset_int(this._inner, (int) other); + result = GeneratedFunctions.minus_spanset_int(this._inner, (int) other); } else{ IntSpanSet tmp = (IntSpanSet) super.minus((Base) other); @@ -552,7 +552,7 @@ public IntSpanSet sub(int other) throws Exception { public IntSpanSet union(Object other) throws Exception { Pointer result = null; if ((other instanceof Integer) || (other instanceof Float)){ - result = functions.union_spanset_int(this._inner, (int) other); + result = GeneratedFunctions.union_spanset_int(this._inner, (int) other); } else{ IntSpanSet tmp = (IntSpanSet) super.minus((Base) other); diff --git a/jmeos-core/src/main/java/types/collections/time/dateset.java b/jmeos-core/src/main/java/types/collections/time/dateset.java index 843e567ab..62016b103 100644 --- a/jmeos-core/src/main/java/types/collections/time/dateset.java +++ b/jmeos-core/src/main/java/types/collections/time/dateset.java @@ -1,6 +1,8 @@ package types.collections.time; +import jnr.ffi.Memory; import jnr.ffi.Pointer; +import jnr.ffi.Runtime; import jnr.ffi.annotations.In; import org.locationtech.jts.io.ParseException; import types.collections.base.*; @@ -15,7 +17,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; -import functions.functions; +import functions.GeneratedFunctions; import utils.ConversionUtils; /** @@ -48,7 +50,7 @@ public dateset(Pointer inner){ public dateset(String value){ super(value); - _inner = functions.dateset_in(value); + _inner = GeneratedFunctions.dateset_in(value); } public dateset(List dates) { @@ -65,7 +67,7 @@ public dateset(List dates) { } sb.append("}"); // System.out.println(sb); - _inner = functions.dateset_in(sb.toString()); + _inner = GeneratedFunctions.dateset_in(sb.toString()); } /** @@ -89,7 +91,7 @@ public Pointer createInner(Pointer inner) { @Override public Pointer createStringInner(String str) { - return functions.dateset_in(str); + return GeneratedFunctions.dateset_in(str); } @Override @@ -99,7 +101,7 @@ public Pointer get_inner() { public String toString(){ - return functions.dateset_out(this.get_inner()); + return GeneratedFunctions.dateset_out(this.get_inner()); } /** @@ -108,7 +110,7 @@ public String toString(){ public LocalDate date_adt_to_date(int ts){ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateStr= functions.pg_date_out(ts); + String dateStr= GeneratedFunctions.date_out(ts); return LocalDate.parse(dateStr, DateTimeFormatter.ISO_LOCAL_DATE); } @@ -123,7 +125,7 @@ public LocalDate date_adt_to_date(int ts){ @Override public LocalDate start_element() throws ParseException { - return date_adt_to_date(functions.dateset_start_value(this._inner)); + return date_adt_to_date(GeneratedFunctions.dateset_start_value(this._inner)); } /** @@ -137,7 +139,7 @@ public LocalDate start_element() throws ParseException { @Override public LocalDate end_element() throws ParseException { - return date_adt_to_date(functions.dateset_end_value(this._inner)); + return date_adt_to_date(GeneratedFunctions.dateset_end_value(this._inner)); } /** @@ -162,7 +164,7 @@ public LocalDate element_n(int n) throws Exception { */ public List elements() throws Exception { - Pointer dp= functions.dateset_values(this._inner); + Pointer dp= GeneratedFunctions.dateset_values(this._inner, Memory.allocate(Runtime.getSystemRuntime(), 4)); long size= this.num_elements(); List datelist= new ArrayList(); for(int i=0; i>> DateSet('{2000-01-01, 2000-01-10}').shift_scale(shift=timedelta(days=2), dur */ public dateset shift_scale(Integer shift, Integer duration){ - return new dateset(functions.dateset_shift_scale(this._inner, shift, duration, shift!=0, duration!=0)); + return new dateset(GeneratedFunctions.dateset_shift_scale(this._inner, shift, duration, shift!=0, duration!=0)); } /** @@ -262,15 +264,15 @@ >>> DateSet('{2012-01-01, 2012-01-02}').contains(DateSet('{2012-01-01, 2012-01-0 contains_set_date, contains_set_set, contains_spanset_spanset */ public int dateToTimestamp(LocalDate date){ - return functions.pg_date_in(date.toString()); + return GeneratedFunctions.date_in(date.toString()); } public boolean contains(Object other) throws Exception { if (other instanceof LocalDateTime){ - return functions.contains_set_date(this._inner, dateToTimestamp(((LocalDateTime) other).toLocalDate())); + return GeneratedFunctions.contains_set_date(this._inner, dateToTimestamp(((LocalDateTime) other).toLocalDate())); } else if (other instanceof LocalDate){ - return functions.contains_set_date(this._inner, dateToTimestamp((LocalDate) other)); + return GeneratedFunctions.contains_set_date(this._inner, dateToTimestamp((LocalDate) other)); } else { return super.contains((Base) other); @@ -301,7 +303,7 @@ >>> DateSet('{2012-01-01, 2012-01-02}').overlaps(DateSpan('(2012-01-02, 2012-01- public boolean overlaps(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.contains_set_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.contains_set_date(this._inner, dateToTimestamp(((LocalDate) other))); } if (other instanceof datespan){ return this.to_span(datespan.class).is_adjacent((Base) other); @@ -338,7 +340,7 @@ >>> DateSet('{2012-01-01, 2012-01-02}').is_left(DateSpan('[2012-01-02, 2012-01-0 public boolean is_left(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.before_set_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.before_set_date(this._inner, dateToTimestamp(((LocalDate) other))); } if (other instanceof datespan){ return this.to_span(datespan.class).is_left(other); @@ -375,7 +377,7 @@ >>> DateSet('{2012-01-03, 2012-01-05}').is_over_or_left(DateSpan('[2012-01-01, 2 public boolean is_over_or_left(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.overbefore_set_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.overbefore_set_date(this._inner, dateToTimestamp(((LocalDate) other))); } if (other instanceof datespan){ return this.to_span(datespan.class).is_over_or_left(other); @@ -412,7 +414,7 @@ >>> DateSet('{2012-01-02, 2012-01-03}').is_over_or_right(DateSpan('[2012-01-01, public boolean is_over_or_right(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.overafter_set_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.overafter_set_date(this._inner, dateToTimestamp(((LocalDate) other))); } if (other instanceof datespan){ return this.to_span(datespan.class).is_over_or_right(other); @@ -450,7 +452,7 @@ >>> DateSet('{2012-01-02, 2012-01-03}').is_right(DateSpan('[2012-01-01, 2012-01- public boolean is_right(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.after_set_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.after_set_date(this._inner, dateToTimestamp(((LocalDate) other))); } if (other instanceof datespan){ return this.to_span(datespan.class).is_over_or_left(other); @@ -504,9 +506,9 @@ public boolean is_after(Object other) throws Exception { public Duration distance(Object other) throws Exception { Duration answer = null; if (other instanceof LocalDate) { - answer= Duration.ofSeconds(functions.distance_set_date(this._inner, dateToTimestamp((LocalDate) other))); + answer= Duration.ofSeconds(GeneratedFunctions.distance_set_date(this._inner, dateToTimestamp((LocalDate) other))); } else if (other instanceof dateset) { - answer= Duration.ofSeconds(functions.distance_dateset_dateset(this._inner, ((dateset) other)._inner)); + answer= Duration.ofSeconds(GeneratedFunctions.distance_dateset_dateset(this._inner, ((dateset) other)._inner)); } else if (other instanceof datespan) { answer= this.to_spanset(datespan.class).distance(other); } else if (other instanceof datespanset) { @@ -543,24 +545,24 @@ public LocalDateTime intersection(Object other) throws Exception { LocalDateTime result = null; if (other instanceof LocalDate){ System.out.println(dateToTimestamp((LocalDate) other)); - Pointer resultPointer= functions.intersection_set_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.intersection_set_date(this._inner, dateToTimestamp((LocalDate) other)); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof dateset){ - Pointer resultPointer= functions.intersection_set_set(this._inner, ((dateset) other)._inner); + Pointer resultPointer= GeneratedFunctions.intersection_set_set(this._inner, ((dateset) other)._inner); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof datespan){ datespan ds = this.to_span(datespan.class); - Pointer resultPointer = functions.intersection_span_span(ds.get_inner(), ((datespan) other).get_inner()); + Pointer resultPointer = GeneratedFunctions.intersection_span_span(ds.get_inner(), ((datespan) other).get_inner()); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof datespanset){ datespanset dss = this.to_spanset(datespanset.class); - Pointer resultPointer = functions.intersection_spanset_spanset(dss.get_inner(), ((datespanset) other).get_inner()); + Pointer resultPointer = GeneratedFunctions.intersection_spanset_spanset(dss.get_inner(), ((datespanset) other).get_inner()); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } @@ -587,24 +589,24 @@ else if (other instanceof datespanset){ public LocalDateTime minus(Object other) throws Exception{ LocalDateTime result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.minus_set_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.minus_set_date(this._inner, dateToTimestamp((LocalDate) other)); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof dateset){ - Pointer resultPointer= functions.minus_set_set(this._inner, ((dateset) other)._inner); + Pointer resultPointer= GeneratedFunctions.minus_set_set(this._inner, ((dateset) other)._inner); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof datespan){ datespan ds = this.to_span(datespan.class); - Pointer resultPointer= functions.minus_span_span(ds.get_inner(), ((datespan) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.minus_span_span(ds.get_inner(), ((datespan) other).get_inner()); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof datespanset){ datespanset dss = this.to_spanset(datespanset.class); - Pointer resultPointer= functions.minus_spanset_spanset(dss.get_inner(), ((datespanset) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.minus_spanset_spanset(dss.get_inner(), ((datespanset) other).get_inner()); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } @@ -624,7 +626,7 @@ public static LocalDate timestampToLocalDate(int timestamp) { public LocalDate subtract_from(Object other) throws Exception { int ts= dateToTimestamp((LocalDate) other); - Pointer resultPointer= functions.minus_date_set(ts, this._inner); + Pointer resultPointer= GeneratedFunctions.minus_date_set(ts, this._inner); int resultTimestamp= resultPointer.getInt(0); return timestampToLocalDate(resultTimestamp); } @@ -646,21 +648,21 @@ public LocalDate subtract_from(Object other) throws Exception { public dateset union(Object other) throws Exception{ dateset result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.union_set_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.union_set_date(this._inner, dateToTimestamp((LocalDate) other)); result = new dateset(resultPointer); } else if (other instanceof dateset){ - Pointer resultPointer= functions.union_set_set(this._inner, ((dateset) other)._inner); + Pointer resultPointer= GeneratedFunctions.union_set_set(this._inner, ((dateset) other)._inner); result = new dateset(resultPointer); } else if (other instanceof datespan){ datespan ds = this.to_span(datespan.class); - Pointer resultPointer= functions.union_span_span(ds.get_inner(), ((datespan) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.union_span_span(ds.get_inner(), ((datespan) other).get_inner()); result = new dateset(resultPointer); } else if (other instanceof datespanset){ datespanset dss = this.to_spanset(datespanset.class); - Pointer resultPointer= functions.union_spanset_spanset(dss.get_inner(), ((datespanset) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.union_spanset_spanset(dss.get_inner(), ((datespanset) other).get_inner()); result = new dateset(resultPointer); } else{ diff --git a/jmeos-core/src/main/java/types/collections/time/datespan.java b/jmeos-core/src/main/java/types/collections/time/datespan.java index 8524f9184..aa33588e1 100644 --- a/jmeos-core/src/main/java/types/collections/time/datespan.java +++ b/jmeos-core/src/main/java/types/collections/time/datespan.java @@ -12,7 +12,7 @@ import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; -import functions.functions; +import functions.GeneratedFunctions; import utils.ConversionUtils; /** @@ -46,7 +46,7 @@ public datespan(Pointer inner){ public datespan(String str) { super(str); - _inner = functions.datespan_in(str); + _inner = GeneratedFunctions.datespan_in(str); } // // Formatter for parsing date strings @@ -67,7 +67,7 @@ public datespan(String str) { // } // this.lowerInc = lowerInc; // this.upperInc = upperInc; -// _inner= functions.datespan_make(time) +// _inner= GeneratedFunctions.datespan_make(time) // } // // // Constructor accepting LocalDate bounds with specified inclusivity @@ -104,7 +104,7 @@ public datespanset to_spanset() throws InvocationTargetException, NoSuchMethodEx */ public tstzspan to_tstzspan() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { - return new tstzspan(functions.datespan_to_tstzspan(this._inner)); + return new tstzspan(GeneratedFunctions.datespan_to_tstzspan(this._inner)); } /** @@ -118,7 +118,7 @@ public tstzspan to_tstzspan() throws InvocationTargetException, NoSuchMethodExce datespan_duration */ public Duration duration() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { - return ConversionUtils.interval_to_timedelta(functions.datespan_duration(this._inner)); + return ConversionUtils.interval_to_timedelta(GeneratedFunctions.datespan_duration(this._inner)); } /** @@ -142,7 +142,7 @@ public Pointer createInner(Pointer inner) { @Override public Pointer createStringInner(String str) { - return functions.datespan_in(str); + return GeneratedFunctions.datespan_in(str); } @Override @@ -172,12 +172,12 @@ public Pointer createIntIntNb(Number lower, Number upper) { @Override public LocalDate lower() { - return date_adt_to_date(functions.datespan_lower(this._inner)); + return date_adt_to_date(GeneratedFunctions.datespan_lower(this._inner)); } @Override public LocalDate upper() { - return date_adt_to_date(functions.datespan_lower(this._inner)); + return date_adt_to_date(GeneratedFunctions.datespan_lower(this._inner)); } @Override @@ -187,7 +187,7 @@ public Pointer get_inner() { public String toString(){ - return functions.datespan_out(this.get_inner()); + return GeneratedFunctions.datespan_out(this.get_inner()); } /** @@ -196,7 +196,7 @@ public String toString(){ public LocalDate date_adt_to_date(int ts){ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateStr= functions.pg_date_out(ts); + String dateStr= GeneratedFunctions.date_out(ts); return LocalDate.parse(dateStr, DateTimeFormatter.ISO_LOCAL_DATE); } @@ -211,7 +211,7 @@ public LocalDate date_adt_to_date(int ts){ public LocalDate start_element() throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { datespanset dss = this.to_spanset(datespanset.class); - return date_adt_to_date(functions.datespanset_start_date(dss.get_inner())); + return date_adt_to_date(GeneratedFunctions.datespanset_start_date(dss.get_inner())); } /** @@ -225,7 +225,7 @@ public LocalDate start_element() throws ParseException, InvocationTargetExceptio public LocalDate end_element() throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { datespanset dss = this.to_spanset(datespanset.class); - return date_adt_to_date(functions.datespanset_end_date(dss.get_inner())); + return date_adt_to_date(GeneratedFunctions.datespanset_end_date(dss.get_inner())); } /** @@ -294,7 +294,7 @@ >>> DateSpan('[2000-01-01, 2000-01-10]').shift_scale(shift=timedelta(days=2), du */ public datespan shift_scale(Integer shift, Integer duration){ - return new datespan(functions.datespan_shift_scale(this._inner, shift, duration, shift!=0, duration!=0)); + return new datespan(GeneratedFunctions.datespan_shift_scale(this._inner, shift, duration, shift!=0, duration!=0)); } /** @@ -318,15 +318,15 @@ >>> DateSpan('(2012-01-01, 2012-01-02)').contains(DateSpan('[2012-01-01, 2012-01 contains_span_span, contains_span_spanset, contains_span_date */ public int dateToTimestamp(LocalDate date){ - return functions.pg_date_in(date.toString()); + return GeneratedFunctions.date_in(date.toString()); } public boolean contains(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.contains_span_date(this._inner, dateToTimestamp((LocalDate) other)); + return GeneratedFunctions.contains_span_date(this._inner, dateToTimestamp((LocalDate) other)); } else if (other instanceof LocalDateTime){ - return functions.contains_span_date(this._inner, dateToTimestamp(((LocalDateTime) other).toLocalDate())); + return GeneratedFunctions.contains_span_date(this._inner, dateToTimestamp(((LocalDateTime) other).toLocalDate())); } else { return super.contains((Base) other); @@ -349,7 +349,7 @@ else if (other instanceof LocalDateTime){ public boolean is_adjacent(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.adjacent_span_date(this._inner, dateToTimestamp((LocalDate) other)); + return GeneratedFunctions.adjacent_span_date(this._inner, dateToTimestamp((LocalDate) other)); } else{ return super.is_adjacent((Base) other); @@ -412,7 +412,7 @@ >>> DateSpan('[2012-01-01, 2012-01-02]').is_left(DateSpan('[2012-01-02, 2012-01- public boolean is_left(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.before_span_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.before_span_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_left((Base) other); @@ -443,7 +443,7 @@ >>> DateSpan('[2012-01-03, 2012-01-05]').is_over_or_left(DateSpan('[2012-01-01, public boolean is_over_or_left(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.overbefore_span_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.overbefore_span_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_over_or_left((Base) other); @@ -474,7 +474,7 @@ >>> DateSet('{2012-01-02, 2012-01-03}').is_over_or_right(DateSpan('[2012-01-01, public boolean is_over_or_right(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.overafter_span_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.overafter_span_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_over_or_right((Base) other); @@ -506,7 +506,7 @@ >>> DateSpan('[2012-01-02, 2012-01-03]').is_right(DateSpan('[2012-01-01, 2012-01 public boolean is_right(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.after_span_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.after_span_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_right((Base) other); @@ -553,14 +553,14 @@ public boolean is_after(Object other) throws Exception { public Duration distance(Object other) throws Exception { Duration answer = null; if (other instanceof LocalDate) { - answer= Duration.ofSeconds(functions.distance_span_date(this._inner, dateToTimestamp((LocalDate) other))); + answer= Duration.ofSeconds(GeneratedFunctions.distance_span_date(this._inner, dateToTimestamp((LocalDate) other))); } else if (other instanceof dateset) { datespanset ds = ((dateset) other).to_spanset(datespanset.class); - answer= Duration.ofSeconds(functions.distance_datespanset_datespan(ds.get_inner(), this.get_inner())); + answer= Duration.ofSeconds(GeneratedFunctions.distance_datespanset_datespan(ds.get_inner(), this.get_inner())); } else if (other instanceof datespan) { - answer= Duration.ofSeconds(functions.distance_datespan_datespan(this._inner, ((datespan)other)._inner)); + answer= Duration.ofSeconds(GeneratedFunctions.distance_datespan_datespan(this._inner, ((datespan)other)._inner)); } else if (other instanceof datespanset) { - answer= Duration.ofSeconds(functions.distance_datespanset_datespan(((datespanset) other).get_inner(), this._inner)); + answer= Duration.ofSeconds(GeneratedFunctions.distance_datespanset_datespan(((datespanset) other).get_inner(), this._inner)); } else { throw new Exception("Operation not supported with " + other + " type"); } @@ -596,23 +596,23 @@ public static LocalDateTime timestampToLocalDateTime(int timestamp) { public LocalDateTime intersection(Object other) throws Exception { LocalDateTime result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.intersection_span_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.intersection_span_date(this._inner, dateToTimestamp((LocalDate) other)); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof dateset){ datespanset ds = ((dateset) other).to_spanset(datespanset.class); - Pointer resultPointer= functions.intersection_spanset_span(ds.get_inner(), this.get_inner()); + Pointer resultPointer= GeneratedFunctions.intersection_spanset_span(ds.get_inner(), this.get_inner()); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof datespan){ - Pointer resultPointer = functions.intersection_span_span(this._inner, ((datespan) other)._inner); + Pointer resultPointer = GeneratedFunctions.intersection_span_span(this._inner, ((datespan) other)._inner); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } else if (other instanceof datespanset){ - Pointer resultPointer = functions.intersection_spanset_span(((datespanset) other).get_inner(), this._inner); + Pointer resultPointer = GeneratedFunctions.intersection_spanset_span(((datespanset) other).get_inner(), this._inner); int resultTimestamp= resultPointer.getInt(Integer.BYTES); result = timestampToLocalDateTime(resultTimestamp); } @@ -638,20 +638,20 @@ else if (other instanceof datespanset){ public datespanset minus(Object other) throws Exception{ datespanset result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.minus_span_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.minus_span_date(this._inner, dateToTimestamp((LocalDate) other)); result = new datespanset(resultPointer); } else if (other instanceof dateset){ datespanset ds = ((dateset) other).to_spanset(datespanset.class); - Pointer resultPointer= functions.minus_spanset_span((ds).get_inner(), this._inner); + Pointer resultPointer= GeneratedFunctions.minus_spanset_span((ds).get_inner(), this._inner); result = new datespanset(resultPointer); } else if (other instanceof datespan){ - Pointer resultPointer= functions.minus_span_span(this._inner, ((datespan) other)._inner); + Pointer resultPointer= GeneratedFunctions.minus_span_span(this._inner, ((datespan) other)._inner); result = new datespanset(resultPointer); } else if (other instanceof datespanset){ - Pointer resultPointer= functions.minus_span_spanset(this._inner, ((datespanset) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.minus_span_spanset(this._inner, ((datespanset) other).get_inner()); result = new datespanset(resultPointer); } else{ @@ -671,7 +671,7 @@ public static LocalDate timestampToLocalDate(int timestamp) { public LocalDate subtract_from(Object other) throws Exception { int ts= dateToTimestamp((LocalDate) other); - Pointer resultPointer= functions.minus_date_set(ts, this._inner); + Pointer resultPointer= GeneratedFunctions.minus_date_set(ts, this._inner); int resultTimestamp= resultPointer.getInt(0); return timestampToLocalDate(resultTimestamp); } @@ -692,20 +692,20 @@ public LocalDate subtract_from(Object other) throws Exception { public datespanset union(Object other) throws Exception{ datespanset result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.union_span_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.union_span_date(this._inner, dateToTimestamp((LocalDate) other)); result = new datespanset(resultPointer); } else if (other instanceof dateset){ datespanset ds = ((dateset) other).to_spanset(datespanset.class); - Pointer resultPointer= functions.union_spanset_span((ds).get_inner(), this.get_inner()); + Pointer resultPointer= GeneratedFunctions.union_spanset_span((ds).get_inner(), this.get_inner()); result = new datespanset(resultPointer); } else if (other instanceof datespan){ - Pointer resultPointer= functions.union_span_span(this._inner, ((datespan) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.union_span_span(this._inner, ((datespan) other).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof datespanset){ - Pointer resultPointer= functions.union_spanset_span(((datespanset) other).get_inner(), this._inner); + Pointer resultPointer= GeneratedFunctions.union_spanset_span(((datespanset) other).get_inner(), this._inner); result = new datespanset(resultPointer); } else{ diff --git a/jmeos-core/src/main/java/types/collections/time/datespanset.java b/jmeos-core/src/main/java/types/collections/time/datespanset.java index 927dc210a..bdeeef620 100644 --- a/jmeos-core/src/main/java/types/collections/time/datespanset.java +++ b/jmeos-core/src/main/java/types/collections/time/datespanset.java @@ -15,7 +15,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; -import functions.functions; +import functions.GeneratedFunctions; import utils.ConversionUtils; /** @@ -46,7 +46,7 @@ public datespanset(Pointer inner){ public datespanset(String str) { super(str); - _inner = functions.datespanset_in(str); + _inner = GeneratedFunctions.datespanset_in(str); } public datespanset(List dspan) { @@ -85,7 +85,7 @@ public datespanset(List dspan) { sb.append("}"); // System.out.println(sb); - _inner = functions.datespanset_in(sb.toString()); + _inner = GeneratedFunctions.datespanset_in(sb.toString()); } /** @@ -113,7 +113,7 @@ public datespan to_span() throws InvocationTargetException, NoSuchMethodExceptio */ public tstzspanset to_tstzspanset() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { - return new tstzspanset(functions.datespanset_to_tstzspanset(this._inner)); + return new tstzspanset(GeneratedFunctions.datespanset_to_tstzspanset(this._inner)); } /** @@ -127,11 +127,11 @@ public tstzspanset to_tstzspanset() throws InvocationTargetException, NoSuchMeth datespan_duration */ public Duration duration(boolean ignore_gaps) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { - return ConversionUtils.interval_to_timedelta(functions.datespanset_duration(this._inner, ignore_gaps)); + return ConversionUtils.interval_to_timedelta(GeneratedFunctions.datespanset_duration(this._inner, ignore_gaps)); } public int num_dates(){ - return functions.datespanset_num_dates(this._inner); + return GeneratedFunctions.datespanset_num_dates(this._inner); } @Override @@ -141,7 +141,7 @@ public Pointer createInner(Pointer inner) { @Override public Pointer createStringInner(String str) { - return functions.datespanset_in(str); + return GeneratedFunctions.datespanset_in(str); } @Override @@ -150,11 +150,11 @@ public Pointer get_inner() { } public LocalDate start_date(){ - return date_adt_to_date(functions.datespanset_start_date(this._inner)); + return date_adt_to_date(GeneratedFunctions.datespanset_start_date(this._inner)); } public LocalDate end_date(){ - return date_adt_to_date(functions.datespanset_end_date(this._inner)); + return date_adt_to_date(GeneratedFunctions.datespanset_end_date(this._inner)); } /** @@ -170,7 +170,7 @@ public LocalDate date_n(int n) throws Exception { throw new Exception("Index out of bounds"); } else{ - Pointer resultPointer= functions.datespanset_date_n(this._inner, n+1); + Pointer resultPointer= GeneratedFunctions.datespanset_date_n(this._inner, n+1); assert resultPointer != null; int ts = resultPointer.getInt(0); return date_adt_to_date(ts); @@ -178,7 +178,7 @@ public LocalDate date_n(int n) throws Exception { } public String toString(){ - return functions.datespanset_out(this.get_inner()); + return GeneratedFunctions.datespanset_out(this.get_inner()); } /** @@ -187,7 +187,7 @@ public String toString(){ public LocalDate date_adt_to_date(int ts){ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateStr= functions.pg_date_out(ts); + String dateStr= GeneratedFunctions.date_out(ts); return LocalDate.parse(dateStr, DateTimeFormatter.ISO_LOCAL_DATE); } @@ -201,7 +201,7 @@ public LocalDate date_adt_to_date(int ts){ */ public datespan start_span() throws ParseException { - return new datespan(functions.spanset_start_span(this._inner)); + return new datespan(GeneratedFunctions.spanset_start_span(this._inner)); } /** @@ -214,16 +214,16 @@ public datespan start_span() throws ParseException { */ public datespan end_element() throws ParseException { - return new datespan(functions.spanset_end_span(this._inner)); + return new datespan(GeneratedFunctions.spanset_end_span(this._inner)); } public datespan span_n(int n) throws ParseException { - return new datespan(functions.spanset_span_n(this._inner, n)); + return new datespan(GeneratedFunctions.spanset_span_n(this._inner, n)); } public List elements() throws Exception { return super.spans(datespan.class); -// Pointer ps = functions.spanset_spans(this._inner); +// Pointer ps = GeneratedFunctions.spanset_spans(this._inner); // int numSpans = this.num_spans(); // System.out.println(numSpans); // List spanList = new ArrayList(); @@ -305,7 +305,7 @@ >>> DateSpan('[2000-01-01, 2000-01-10]').shift_scale(shift=timedelta(days=2), du */ public datespanset shift_scale(Integer shift, Integer duration){ - return new datespanset(functions.datespanset_shift_scale(this._inner, shift, duration, shift!=0, duration!=0)); + return new datespanset(GeneratedFunctions.datespanset_shift_scale(this._inner, shift, duration, shift!=0, duration!=0)); } /** @@ -329,12 +329,12 @@ >>> DateSpan('(2012-01-01, 2012-01-02)').contains(DateSpan('[2012-01-01, 2012-01 contains_span_span, contains_span_spanset, contains_span_date */ public int dateToTimestamp(LocalDate date){ - return functions.pg_date_in(date.toString()); + return GeneratedFunctions.date_in(date.toString()); } public boolean contains(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.contains_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); + return GeneratedFunctions.contains_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); } else { return super.contains((Base) other); @@ -357,7 +357,7 @@ public boolean contains(Object other) throws Exception { public boolean is_adjacent(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.adjacent_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); + return GeneratedFunctions.adjacent_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); } else{ return super.is_adjacent((Base) other); @@ -420,7 +420,7 @@ >>> DateSpan('[2012-01-01, 2012-01-02]').is_left(DateSpan('[2012-01-02, 2012-01- public boolean is_left(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.before_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.before_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_left((Base) other); @@ -451,7 +451,7 @@ >>> DateSpan('[2012-01-03, 2012-01-05]').is_over_or_left(DateSpan('[2012-01-01, public boolean is_over_or_left(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.overbefore_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.overbefore_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_over_or_left((Base) other); @@ -482,7 +482,7 @@ >>> DateSet('{2012-01-02, 2012-01-03}').is_over_or_right(DateSpan('[2012-01-01, public boolean is_over_or_right(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.overafter_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.overafter_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_over_or_right((Base) other); @@ -514,7 +514,7 @@ >>> DateSpan('[2012-01-02, 2012-01-03]').is_right(DateSpan('[2012-01-01, 2012-01 public boolean is_right(Object other) throws Exception { if (other instanceof LocalDate){ - return functions.after_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); + return GeneratedFunctions.after_spanset_date(this._inner, dateToTimestamp(((LocalDate) other))); } else { return super.is_right((Base) other); @@ -561,14 +561,14 @@ public boolean is_after(Object other) throws Exception { public Duration distance(Object other) throws Exception { Duration answer = null; if (other instanceof LocalDate) { - answer= Duration.ofSeconds(functions.distance_spanset_date(this._inner, dateToTimestamp((LocalDate) other))); + answer= Duration.ofSeconds(GeneratedFunctions.distance_spanset_date(this._inner, dateToTimestamp((LocalDate) other))); } else if (other instanceof dateset) { datespanset ds = ((dateset) other).to_spanset(datespanset.class); - answer= Duration.ofSeconds(functions.distance_datespanset_datespanset(this._inner, (ds).get_inner())); + answer= Duration.ofSeconds(GeneratedFunctions.distance_datespanset_datespanset(this._inner, (ds).get_inner())); } else if (other instanceof datespan) { - answer= Duration.ofSeconds(functions.distance_datespanset_datespan(this._inner, ((datespan) other).get_inner())); + answer= Duration.ofSeconds(GeneratedFunctions.distance_datespanset_datespan(this._inner, ((datespan) other).get_inner())); } else if (other instanceof datespanset) { - answer= Duration.ofSeconds(functions.distance_datespanset_datespanset(this._inner, ((datespanset) other).get_inner())); + answer= Duration.ofSeconds(GeneratedFunctions.distance_datespanset_datespanset(this._inner, ((datespanset) other).get_inner())); } else { throw new Exception("Operation not supported with"+other+"type"); } @@ -604,20 +604,20 @@ public static LocalDateTime timestampToLocalDateTime(int timestamp) { public datespanset intersection(Object other) throws Exception { datespanset result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.intersection_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.intersection_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); result = new datespanset(resultPointer); } else if (other instanceof datespan){ - Pointer resultPointer= functions.intersection_spanset_span(this._inner, ((datespan) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.intersection_spanset_span(this._inner, ((datespan) other).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof dateset){ datespanset ds = ((dateset) other).to_spanset(datespanset.class); - Pointer resultPointer= functions.intersection_spanset_spanset(this._inner, (ds).get_inner()); + Pointer resultPointer= GeneratedFunctions.intersection_spanset_spanset(this._inner, (ds).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof datespanset){ - Pointer resultPointer= functions.intersection_spanset_spanset(this._inner, ((datespanset) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.intersection_spanset_spanset(this._inner, ((datespanset) other).get_inner()); result = new datespanset(resultPointer); } else{ @@ -642,20 +642,20 @@ else if (other instanceof datespanset){ public datespanset minus(Object other) throws Exception{ datespanset result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.minus_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.minus_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); result= new datespanset(resultPointer); } else if (other instanceof datespan){ - Pointer resultPointer= functions.minus_spanset_span(this._inner, ((datespan) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.minus_spanset_span(this._inner, ((datespan) other).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof dateset){ datespanset ds = ((dateset) other).to_spanset(datespanset.class); - Pointer resultPointer= functions.minus_spanset_spanset(this._inner, (ds).get_inner()); + Pointer resultPointer= GeneratedFunctions.minus_spanset_spanset(this._inner, (ds).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof datespanset){ - Pointer resultPointer= functions.minus_spanset_spanset(this._inner, ((datespanset) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.minus_spanset_spanset(this._inner, ((datespanset) other).get_inner()); result = new datespanset(resultPointer); } else{ @@ -675,7 +675,7 @@ public static LocalDate timestampToLocalDate(int timestamp) { public LocalDate subtract_from(Object other) throws Exception { int ts= dateToTimestamp((LocalDate) other); - Pointer resultPointer= functions.minus_date_set(ts, this._inner); + Pointer resultPointer= GeneratedFunctions.minus_date_set(ts, this._inner); int resultTimestamp= resultPointer.getInt(Integer.BYTES); return timestampToLocalDate(resultTimestamp); } @@ -696,20 +696,20 @@ public LocalDate subtract_from(Object other) throws Exception { public datespanset union(Object other) throws Exception{ datespanset result = null; if (other instanceof LocalDate){ - Pointer resultPointer= functions.union_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); + Pointer resultPointer= GeneratedFunctions.union_spanset_date(this._inner, dateToTimestamp((LocalDate) other)); result = new datespanset(resultPointer); } else if (other instanceof datespan){ - Pointer resultPointer= functions.union_spanset_span(this._inner, ((datespan) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.union_spanset_span(this._inner, ((datespan) other).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof dateset){ datespanset ds = ((dateset) other).to_spanset(datespanset.class); - Pointer resultPointer= functions.union_spanset_spanset(this._inner, (ds).get_inner()); + Pointer resultPointer= GeneratedFunctions.union_spanset_spanset(this._inner, (ds).get_inner()); result = new datespanset(resultPointer); } else if (other instanceof datespanset){ - Pointer resultPointer= functions.union_spanset_spanset(this._inner, ((datespanset) other).get_inner()); + Pointer resultPointer= GeneratedFunctions.union_spanset_spanset(this._inner, ((datespanset) other).get_inner()); result = new datespanset(resultPointer); } else{ diff --git a/jmeos-core/src/main/java/types/collections/time/tstzspanset.java b/jmeos-core/src/main/java/types/collections/time/tstzspanset.java index abae5e2d2..1cb2dd535 100644 --- a/jmeos-core/src/main/java/types/collections/time/tstzspanset.java +++ b/jmeos-core/src/main/java/types/collections/time/tstzspanset.java @@ -12,7 +12,7 @@ import javax.naming.OperationNotSupportedException; import java.time.LocalDateTime; import java.util.List; -import functions.functions; +import functions.GeneratedFunctions; /** @@ -60,7 +60,7 @@ public tstzspanset(Pointer _inner) { */ public tstzspanset(String value) { super(value); - this._inner = functions.tstzspanset_in(value); + this._inner = GeneratedFunctions.tstzspanset_in(value); } /** @@ -83,12 +83,12 @@ public tstzspanset(List periods) { } sb.append("}"); System.out.println(sb); - this._inner = functions.tstzspanset_in(sb.toString()); + this._inner = GeneratedFunctions.tstzspanset_in(sb.toString()); } @Override public Pointer createStringInner(String str){ - return functions.tstzspanset_in(str); + return GeneratedFunctions.tstzspanset_in(str); } @Override @@ -108,7 +108,7 @@ public Pointer createListInner(List periods){ } } sb.append("}"); - return functions.tstzspanset_in(sb.toString()); + return GeneratedFunctions.tstzspanset_in(sb.toString()); } /** @@ -121,7 +121,7 @@ public Pointer createListInner(List periods){ * @return a new tstzspanset instance */ public Pointer copy() { - return functions.spanset_copy(this._inner); + return GeneratedFunctions.spanset_copy(this._inner); } @@ -135,7 +135,7 @@ public Pointer copy() { * @return a new tstzspanset instance */ public Pointer from_hexwkb(String str) { - return functions.spanset_from_hexwkb(str); + return GeneratedFunctions.spanset_from_hexwkb(str); } @@ -150,7 +150,7 @@ public Pointer from_hexwkb(String str) { * @return a new String instance */ public String toString(){ - return functions.tstzspanset_out(this._inner); + return GeneratedFunctions.tstzspanset_out(this._inner); } /* ------------------------- Conversions ----------------------------------- */ @@ -162,7 +162,7 @@ public String toString(){ * @return a new tstzspan instance */ public tstzspan to_period() { - return new tstzspan(functions.spanset_span(this._inner)); + return new tstzspan(GeneratedFunctions.spanset_span(this._inner)); } @@ -196,7 +196,7 @@ public Pointer get_inner(){ * @return an Integer instance */ public int num_timestamps(){ - return functions.tstzspanset_num_timestamps(this._inner); + return GeneratedFunctions.tstzspanset_num_timestamps(this._inner); } /** @@ -208,7 +208,7 @@ public int num_timestamps(){ * @return A {@link LocalDateTime} instance */ public LocalDateTime start_timestamp(){ - return ConversionUtils.timestamptz_to_datetime(functions.tstzspanset_start_timestamptz(this._inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.tstzspanset_start_timestamptz(this._inner)); } /** @@ -220,7 +220,7 @@ public LocalDateTime start_timestamp(){ * @return A {@link LocalDateTime} instance */ public LocalDateTime end_timestamp(){ - return ConversionUtils.timestamptz_to_datetime(functions.tstzspanset_end_timestamptz(this._inner)); + return ConversionUtils.timestamptz_to_datetime(GeneratedFunctions.tstzspanset_end_timestamptz(this._inner)); } @@ -244,7 +244,7 @@ public LocalDateTime timestamp_n(int n){ * @return an Integer instance */ public int num_periods(){ - return functions.spanset_num_spans(this._inner); + return GeneratedFunctions.spanset_num_spans(this._inner); } @@ -256,7 +256,7 @@ public int num_periods(){ * @return a new tstzspan instance */ public tstzspan start_period() { - return new tstzspan(functions.spanset_start_span(this._inner)); + return new tstzspan(GeneratedFunctions.spanset_start_span(this._inner)); } @@ -279,7 +279,7 @@ public tstzspan start_span() { * @return a new tstzspan instance */ public tstzspan end_period() { - return new tstzspan(functions.spanset_end_span(this._inner)); + return new tstzspan(GeneratedFunctions.spanset_end_span(this._inner)); } @@ -303,7 +303,7 @@ public tstzspan end_span() { * @return a new Integer instance */ public long hash(){ - return functions.spanset_hash(this._inner); + return GeneratedFunctions.spanset_hash(this._inner); } @@ -335,11 +335,11 @@ public long hash(){ public boolean is_adjacent(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.adjacent_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.adjacent_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.adjacent_spanset_spanset(this._inner, functions.set_to_spanset(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.adjacent_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.adjacent_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.adjacent_spanset_spanset(this._inner, GeneratedFunctions.set_to_spanset(ts.get_inner())); case Temporal t -> returnValue = is_adjacent((TemporalObject)t.period()); - case Box b -> returnValue = functions.adjacent_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.adjacent_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_adjacent((Base) other); } return returnValue; @@ -369,10 +369,10 @@ public boolean is_adjacent(TemporalObject other) throws Exception { public boolean is_contained_in(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.contained_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.contained_spanset_spanset(this._inner, ps.get_inner()); + case tstzspan p -> returnValue = GeneratedFunctions.contained_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.contained_spanset_spanset(this._inner, ps.get_inner()); case Temporal t -> returnValue = is_contained_in((TemporalObject)t.period()); - case Box b -> returnValue = functions.contained_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.contained_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_contained_in((Base) other); } return returnValue; @@ -403,11 +403,11 @@ public boolean is_contained_in(TemporalObject other) throws Exception { public boolean contains(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.contains_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.contains_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.contains_spanset_spanset(this._inner, functions.set_to_spanset(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.contains_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.contains_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.contains_spanset_spanset(this._inner, GeneratedFunctions.set_to_spanset(ts.get_inner())); case Temporal t -> returnValue = contains((TemporalObject)t.period()); - case Box b -> returnValue = functions.contains_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.contains_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.contains((Base) other); } return returnValue; @@ -436,11 +436,11 @@ public boolean contains(TemporalObject other) throws Exception { public boolean overlaps(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.overlaps_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.overlaps_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.overlaps_spanset_spanset(this._inner, functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.overlaps_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overlaps_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overlaps_spanset_spanset(this._inner, GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = overlaps((TemporalObject)t.period()); - case Box b -> returnValue = functions.overlaps_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overlaps_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.overlaps((Base) other); } return returnValue; @@ -488,11 +488,11 @@ public boolean is_same(TemporalObject other) throws Exception { public boolean is_before(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.left_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.left_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.left_spanset_spanset(this._inner, functions.set_to_spanset(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.left_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.left_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.left_spanset_spanset(this._inner, GeneratedFunctions.set_to_spanset(ts.get_inner())); case Temporal t -> returnValue = is_before((TemporalObject)t.period()); - case Box b -> returnValue = functions.left_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.left_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_left((Base) other); } return returnValue; @@ -526,11 +526,11 @@ public boolean is_before(TemporalObject other) throws Exception { public boolean is_over_or_before(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.overleft_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.overleft_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.overleft_spanset_span(this._inner, functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.overleft_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overleft_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overleft_spanset_span(this._inner, GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_over_or_before((TemporalObject)t.period()); - case Box b -> returnValue = functions.overleft_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overleft_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_over_or_left((Base) other); } return returnValue; @@ -560,11 +560,11 @@ public boolean is_over_or_before(TemporalObject other) throws Exception { public boolean is_after(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.right_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.right_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.right_spanset_span(this._inner, functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.right_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.right_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.right_spanset_span(this._inner, GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_after((TemporalObject)t.period()); - case Box b -> returnValue = functions.right_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.right_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_right((Base) other); } return returnValue; @@ -596,11 +596,11 @@ public boolean is_after(TemporalObject other) throws Exception { public boolean is_over_or_after(TemporalObject other) throws Exception { boolean returnValue; switch (other) { - case tstzspan p -> returnValue = functions.overright_spanset_span(this._inner, p.get_inner()); - case tstzspanset ps -> returnValue = functions.overright_spanset_spanset(this._inner, ps.get_inner()); - case tstzset ts -> returnValue = functions.overright_spanset_span(this._inner, functions.set_to_span(ts.get_inner())); + case tstzspan p -> returnValue = GeneratedFunctions.overright_spanset_span(this._inner, p.get_inner()); + case tstzspanset ps -> returnValue = GeneratedFunctions.overright_spanset_spanset(this._inner, ps.get_inner()); + case tstzset ts -> returnValue = GeneratedFunctions.overright_spanset_span(this._inner, GeneratedFunctions.set_to_span(ts.get_inner())); case Temporal t -> returnValue = is_over_or_after((TemporalObject)t.period()); - case Box b -> returnValue = functions.overright_spanset_span(this._inner, b.to_period().get_inner()); + case Box b -> returnValue = GeneratedFunctions.overright_spanset_span(this._inner, b.to_period().get_inner()); default -> returnValue = super.is_over_or_right((Base) other); } return returnValue; @@ -627,9 +627,9 @@ public boolean is_over_or_after(TemporalObject other) throws Exception { public Time intersection(Time other) { Time returnValue; switch (other) { - case tstzspan p -> returnValue = new tstzspan(functions.intersection_spanset_span(this._inner,p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspan(functions.intersection_spanset_spanset(this._inner,ps.get_inner())); - case tstzset ts -> returnValue = new tstzspan(functions.intersection_spanset_spanset(this._inner,functions.set_to_spanset(ts.get_inner()))); + case tstzspan p -> returnValue = new tstzspan(GeneratedFunctions.intersection_spanset_span(this._inner,p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspan(GeneratedFunctions.intersection_spanset_spanset(this._inner,ps.get_inner())); + case tstzset ts -> returnValue = new tstzspan(GeneratedFunctions.intersection_spanset_spanset(this._inner,GeneratedFunctions.set_to_spanset(ts.get_inner()))); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -668,9 +668,9 @@ public Time mul(Time other) { public tstzspanset minus(Time other) { tstzspanset returnValue; switch (other) { - case tstzspan p -> returnValue = new tstzspanset(functions.minus_spanset_span(this._inner,p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.minus_spanset_spanset(this._inner,ps.get_inner())); - case tstzset ts -> returnValue = new tstzspanset(functions.minus_spanset_spanset(this._inner,functions.set_to_spanset(ts.get_inner()))); + case tstzspan p -> returnValue = new tstzspanset(GeneratedFunctions.minus_spanset_span(this._inner,p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.minus_spanset_spanset(this._inner,ps.get_inner())); + case tstzset ts -> returnValue = new tstzspanset(GeneratedFunctions.minus_spanset_spanset(this._inner,GeneratedFunctions.set_to_spanset(ts.get_inner()))); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -711,9 +711,9 @@ public tstzspanset sub(Time other) { public tstzspanset union(Time other) { tstzspanset returnValue; switch (other) { - case tstzspan p -> returnValue = new tstzspanset(functions.union_spanset_span(this._inner,p.get_inner())); - case tstzspanset ps -> returnValue = new tstzspanset(functions.union_spanset_spanset(this._inner,ps.get_inner())); - case tstzset ts -> returnValue = new tstzspanset(functions.union_spanset_spanset(this._inner,functions.set_to_spanset(ts.get_inner()))); + case tstzspan p -> returnValue = new tstzspanset(GeneratedFunctions.union_spanset_span(this._inner,p.get_inner())); + case tstzspanset ps -> returnValue = new tstzspanset(GeneratedFunctions.union_spanset_spanset(this._inner,ps.get_inner())); + case tstzset ts -> returnValue = new tstzspanset(GeneratedFunctions.union_spanset_spanset(this._inner,GeneratedFunctions.set_to_spanset(ts.get_inner()))); default -> throw new TypeNotPresentException(other.getClass().toString(), new Throwable("Operation not supported with this type")); } return returnValue; @@ -755,7 +755,7 @@ public tstzspanset add(Time other) { */ public boolean eq(Time other) { boolean result; - result = other instanceof tstzspanset && functions.spanset_eq(this._inner, ((tstzspanset) other).get_inner()); + result = other instanceof tstzspanset && GeneratedFunctions.spanset_eq(this._inner, ((tstzspanset) other).get_inner()); return result; } @@ -771,7 +771,7 @@ public boolean eq(Time other) { */ public boolean notEquals(Time other) { boolean result; - result = !(other instanceof tstzspanset) || functions.spanset_ne(this._inner, ((tstzspanset) other).get_inner()); + result = !(other instanceof tstzspanset) || GeneratedFunctions.spanset_ne(this._inner, ((tstzspanset) other).get_inner()); return result; } @@ -788,7 +788,7 @@ public boolean notEquals(Time other) { */ public boolean lessThan(Time other) throws OperationNotSupportedException { if (other instanceof tstzspanset){ - return functions.spanset_lt(this._inner,((tstzspanset) other).get_inner()); + return GeneratedFunctions.spanset_lt(this._inner,((tstzspanset) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -806,7 +806,7 @@ public boolean lessThan(Time other) throws OperationNotSupportedException { */ public boolean lessThanOrEqual(Time other) throws OperationNotSupportedException { if (other instanceof tstzspanset){ - return functions.spanset_le(this._inner,((tstzspanset) other).get_inner()); + return GeneratedFunctions.spanset_le(this._inner,((tstzspanset) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -825,7 +825,7 @@ public boolean lessThanOrEqual(Time other) throws OperationNotSupportedException */ public boolean greaterThan(Time other) throws OperationNotSupportedException { if (other instanceof tstzspanset){ - return functions.spanset_gt(this._inner,((tstzspanset) other).get_inner()); + return GeneratedFunctions.spanset_gt(this._inner,((tstzspanset) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); @@ -843,7 +843,7 @@ public boolean greaterThan(Time other) throws OperationNotSupportedException { */ public boolean greaterThanOrEqual(Time other) throws OperationNotSupportedException { if (other instanceof tstzspanset){ - return functions.spanset_ge(this._inner,((tstzspanset) other).get_inner()); + return GeneratedFunctions.spanset_ge(this._inner,((tstzspanset) other).get_inner()); } else{ throw new OperationNotSupportedException("Operation not supported with this type."); diff --git a/jmeos-core/src/main/java/types/temporal/Temporal.java b/jmeos-core/src/main/java/types/temporal/Temporal.java index 138cf6b6c..c4dfde216 100644 --- a/jmeos-core/src/main/java/types/temporal/Temporal.java +++ b/jmeos-core/src/main/java/types/temporal/Temporal.java @@ -1377,11 +1377,9 @@ else if(start instanceof LocalDateTime){ else{ st= GeneratedFunctions.timestamptz_in(start.toString(), -1); } - // temporal_time_split returns a TimeSplit struct by value (sret): - // TimeSplit { Temporal **fragments @0; int *bins @8; int count @16; } - Pointer p= GeneratedFunctions.temporal_time_split(this.inner, dt, st); - Pointer fragments= p.getPointer(0); - int count= p.getInt(16); + Pointer countPtr = Memory.allocateDirect(Runtime.getSystemRuntime(), Integer.BYTES); + Pointer fragments = GeneratedFunctions.temporal_time_split(this.inner, dt, st, null, countPtr); + int count = countPtr.getInt(0); List tempList= new ArrayList<>(); for(int i=0;i time_split_n(int n){ LocalDateTime end= this.end_timestamp(); Duration dur= calculateIntermediateDuration(start, end, n); dt = ConversionUtils.timedelta_to_interval(dur); - // temporal_time_split returns a TimeSplit struct by value (sret): - // TimeSplit { Temporal **fragments @0; int *bins @8; int count @16; } - Pointer p= GeneratedFunctions.temporal_time_split(this.inner, dt, st); - Pointer fragments= p.getPointer(0); - int count= p.getInt(16); + Pointer countPtr = Memory.allocateDirect(Runtime.getSystemRuntime(), Integer.BYTES); + Pointer fragments = GeneratedFunctions.temporal_time_split(this.inner, dt, st, null, countPtr); + int count = countPtr.getInt(0); List tempList= new ArrayList<>(); for(int i=0;i intrange) throws SQLException { boolean lower_inc = intrange.lowerBoundType() == BoundType.CLOSED; boolean upper_inc = intrange.upperBoundType() == BoundType.CLOSED; - return functions.intspan_make(intrange.lowerEndpoint(),intrange.upperEndpoint(),lower_inc, upper_inc); + return GeneratedFunctions.intspan_make(intrange.lowerEndpoint(),intrange.upperEndpoint(),lower_inc, upper_inc); } public static Range intspan_to_intrange(Pointer span){ - BoundType lower_inc = functions.span_lower_inc(span) ? BoundType.CLOSED : BoundType.OPEN; - BoundType upper_inc = functions.span_upper_inc(span) ? BoundType.CLOSED : BoundType.OPEN; - return Range.range(functions.intspan_lower(span), lower_inc, functions.intspan_upper(span), upper_inc); + BoundType lower_inc = GeneratedFunctions.span_lower_inc(span) ? BoundType.CLOSED : BoundType.OPEN; + BoundType upper_inc = GeneratedFunctions.span_upper_inc(span) ? BoundType.CLOSED : BoundType.OPEN; + return Range.range(GeneratedFunctions.intspan_lower(span), lower_inc, GeneratedFunctions.intspan_upper(span), upper_inc); } public static Pointer floatrange_to_floatspan(Range floatrange){ boolean lower_inc = floatrange.lowerBoundType() == BoundType.CLOSED; boolean upper_inc = floatrange.upperBoundType() == BoundType.CLOSED; - return functions.floatspan_make(floatrange.lowerEndpoint(),floatrange.upperEndpoint(),lower_inc, upper_inc); + return GeneratedFunctions.floatspan_make(floatrange.lowerEndpoint(),floatrange.upperEndpoint(),lower_inc, upper_inc); } public static Range floatspan_to_floatrange(Pointer span){ - BoundType lower_inc = functions.span_lower_inc(span) ? BoundType.CLOSED : BoundType.OPEN; - BoundType upper_inc = functions.span_upper_inc(span) ? BoundType.CLOSED : BoundType.OPEN; - return Range.range(functions.floatspan_lower(span), lower_inc, functions.floatspan_upper(span), upper_inc); + BoundType lower_inc = GeneratedFunctions.span_lower_inc(span) ? BoundType.CLOSED : BoundType.OPEN; + BoundType upper_inc = GeneratedFunctions.span_upper_inc(span) ? BoundType.CLOSED : BoundType.OPEN; + return Range.range(GeneratedFunctions.floatspan_lower(span), lower_inc, GeneratedFunctions.floatspan_upper(span), upper_inc); } @@ -165,7 +165,7 @@ public static Pointer geometry_to_gserialized(Geometry geom){ if (geom.getSRID() > 0){ text = "SRID="+geom.getSRID()+";"+text; } - Pointer ptr = functions.geom_in(text,-1); + Pointer ptr = GeneratedFunctions.geom_in(text,-1); return ptr; } @@ -176,7 +176,7 @@ public static Pointer geography_to_gserialized(Geometry geom){ if (geom.getSRID() > 0){ text = "SRID="+geom.getSRID()+";"+text; } - Pointer ptr = functions.geog_in(text,-1); + Pointer ptr = GeneratedFunctions.geog_in(text,-1); return ptr; } @@ -186,10 +186,10 @@ public static Point gserialized_to_shapely_point(Pointer geom, int precision) th } public static Geometry gserialized_to_shapely_geometry(Pointer geom, int precision) throws ParseException, ParseException { - String text = functions.geo_as_text(geom,precision); + String text = GeneratedFunctions.geo_as_text(geom,precision); WKTReader wktReader = new WKTReader(); Geometry geometry = wktReader.read(text); - int srid = functions.geo_srid(geom); + int srid = GeneratedFunctions.geo_srid(geom); if (srid > 0){ geometry.setSRID(srid); } diff --git a/jmeos-core/src/test/java/basic/TBoolTest.java b/jmeos-core/src/test/java/basic/TBoolTest.java index ef50b60ac..e37b9a953 100644 --- a/jmeos-core/src/test/java/basic/TBoolTest.java +++ b/jmeos-core/src/test/java/basic/TBoolTest.java @@ -1,5 +1,5 @@ package basic; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.*; @@ -36,8 +36,9 @@ public class TBoolTest { static error_handler_fn errorHandler = new error_handler(); static Stream TBool_copy_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst"), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq"), @@ -48,8 +49,9 @@ static Stream TBool_copy_constructor() throws SQLException { static Stream TBool_string_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("True@2019-09-01", "TBoolInst", TInterpolation.NONE, "t@2019-09-01 00:00:00+00"), Arguments.of("{True@2019-09-01, False@2019-09-02}", "TBoolSeq", TInterpolation.DISCRETE, "{t@2019-09-01 00:00:00+00, f@2019-09-02 00:00:00+00}"), @@ -60,8 +62,9 @@ static Stream TBool_string_constructor() throws SQLException { static Stream TBool_base_time_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"), "TBoolSeq", TInterpolation.DISCRETE), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"), "TBoolSeqSet", TInterpolation.STEPWISE), @@ -71,8 +74,9 @@ static Stream TBool_base_time_constructor() throws SQLException { static Stream TBool_string() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", "t@2019-09-01 00:00:00+00"), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", "{t@2019-09-01 00:00:00+00, f@2019-09-02 00:00:00+00}"), @@ -82,8 +86,9 @@ static Stream TBool_string() throws SQLException { } static Stream TBool_bounding() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new tstzspan("[2019-09-01, 2019-09-01]")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", new tstzspan("[2019-09-01, 2019-09-02]")), @@ -94,8 +99,9 @@ static Stream TBool_bounding() throws SQLException { static Stream TBool_interp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", TInterpolation.NONE), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", TInterpolation.DISCRETE), @@ -105,8 +111,9 @@ static Stream TBool_interp() throws SQLException { } static Stream TBool_start() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", true), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", true), @@ -117,8 +124,9 @@ static Stream TBool_start() throws SQLException { static Stream TBool_end() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", true), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", false), @@ -129,8 +137,9 @@ static Stream TBool_end() throws SQLException { static Stream TBool_time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new tstzspanset("{[2019-09-01, 2019-09-01]}")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", new tstzspanset("{[2019-09-01, 2019-09-01], [2019-09-02, 2019-09-02]}")), @@ -141,8 +150,9 @@ static Stream TBool_time() throws SQLException { static Stream TBool_numinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", 1), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",2), @@ -153,8 +163,9 @@ static Stream TBool_numinst() throws SQLException { static Stream TBool_startinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new TBoolInst("True@2019-09-01")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", new TBoolInst("True@2019-09-01")), @@ -165,8 +176,9 @@ static Stream TBool_startinst() throws SQLException { static Stream TBool_endinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new TBoolInst("True@2019-09-01")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", new TBoolInst("False@2019-09-02")), @@ -177,8 +189,9 @@ static Stream TBool_endinst() throws SQLException { static Stream TBool_mininst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new TBoolInst("True@2019-09-01")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", new TBoolInst("False@2019-09-02")), @@ -189,8 +202,9 @@ static Stream TBool_mininst() throws SQLException { static Stream TBool_maxinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new TBoolInst("True@2019-09-01")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq", new TBoolInst("True@2019-09-01")), @@ -202,8 +216,9 @@ static Stream TBool_maxinst() throws SQLException { static Stream TBool_instn() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", 0, new TBoolInst("True@2019-09-01")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",1, new TBoolInst("False@2019-09-02")), @@ -214,8 +229,9 @@ static Stream TBool_instn() throws SQLException { static Stream TBool_startmstp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",LocalDateTime.of(2019, 9, 1, 0, 0,0)), @@ -226,8 +242,9 @@ static Stream TBool_startmstp() throws SQLException { static Stream TBool_endtmstp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -238,8 +255,9 @@ static Stream TBool_endtmstp() throws SQLException { static Stream TBool_hash() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", 440045287), // Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",2385901957l), @@ -250,8 +268,9 @@ static Stream TBool_hash() throws SQLException { static Stream TBool_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), new TBoolInst("True@2019-09-01")), Arguments.of(new TBoolSeq("{True@2019-09-01}"), new TBoolInst("True@2019-09-01")), @@ -262,8 +281,9 @@ static Stream TBool_instant() throws SQLException { static Stream TBool_tosequence() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), TInterpolation.NONE, new TBoolSeq("[True@2019-09-01]")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), TInterpolation.DISCRETE , new TBoolSeq("{True@2019-09-01, False@2019-09-02}")), @@ -274,8 +294,9 @@ static Stream TBool_tosequence() throws SQLException { static Stream TBool_tosequenceset() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), TInterpolation.NONE, new TBoolSeqSet("{[True@2019-09-01]}")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), TInterpolation.NONE , new TBoolSeqSet("{[True@2019-09-01], [False@2019-09-02]}")) @@ -285,8 +306,9 @@ static Stream TBool_tosequenceset() throws SQLException { } static Stream TBool_insert() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), new TBoolSeq("{True@2019-09-03}"), new TBoolSeq("{True@2019-09-01, True@2019-09-03}"), "TBoolInst"), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), new TBoolSeq("{True@2019-09-03}") , new TBoolSeq("{True@2019-09-01, False@2019-09-02, True@2019-09-03}"), "TBoolSeq"), @@ -296,8 +318,9 @@ static Stream TBool_insert() throws SQLException { static Stream TBool_update() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), new TBoolInst("False@2019-09-01"), new TBoolInst("False@2019-09-01"), "TBoolInst"), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), new TBoolInst("False@2019-09-01") , new TBoolSeq("{False@2019-09-01, False@2019-09-02}"), "TBoolSeq"), @@ -306,8 +329,9 @@ static Stream TBool_update() throws SQLException { } static Stream TBool_appendseq() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), new TBoolSeq("{True@2019-09-03}") , new TBoolSeq("{True@2019-09-01, False@2019-09-02, True@2019-09-03}"), "TBoolSeq"), Arguments.of(new TBoolSeqSet("{[True@2019-09-01, False@2019-09-02],[True@2019-09-03, True@2019-09-05]}"), new TBoolSeq("[True@2019-09-06]"), new TBoolSeqSet("{[True@2019-09-01, False@2019-09-02],[True@2019-09-03, True@2019-09-05],[True@2019-09-06]}"), "TBoolSeqSet") @@ -317,8 +341,9 @@ static Stream TBool_appendseq() throws SQLException { static Stream TBool_whentrue() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", new tstzspanset("{[2019-09-01, 2019-09-01]}")), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq" , new tstzspanset("{[2019-09-01, 2019-09-01]}")), @@ -328,8 +353,9 @@ static Stream TBool_whentrue() throws SQLException { } static Stream TBool_whenfalse() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq" , new tstzspanset("{[2019-09-02, 2019-09-02]}")), Arguments.of(new TBoolSeq("[True@2019-09-01, False@2019-09-02]"), "TBoolSeq", new tstzspanset("{[2019-09-02, 2019-09-02]}")), @@ -339,8 +365,9 @@ static Stream TBool_whenfalse() throws SQLException { static Stream TBool_alwaystrue() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", true), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",false), @@ -351,8 +378,9 @@ static Stream TBool_alwaystrue() throws SQLException { static Stream TBool_alwaysfalse() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", false), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",false), @@ -363,8 +391,9 @@ static Stream TBool_alwaysfalse() throws SQLException { static Stream TBool_evertrue() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", true), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",true), @@ -375,8 +404,9 @@ static Stream TBool_evertrue() throws SQLException { static Stream TBool_everfalse() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", false), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",true), @@ -387,8 +417,9 @@ static Stream TBool_everfalse() throws SQLException { static Stream TBool_nevertrue() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", false), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",false), @@ -399,8 +430,9 @@ static Stream TBool_nevertrue() throws SQLException { static Stream TBool_neverfalse() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBoolInst("True@2019-09-01"), "TBoolInst", true), Arguments.of(new TBoolSeq("{True@2019-09-01, False@2019-09-02}"), "TBoolSeq",false), @@ -422,8 +454,9 @@ static Stream TBool_neverfalse() throws SQLException { @ParameterizedTest(name = "value={0}, type={1}, interp={2}, repr={3}") @MethodSource("TBool_string_constructor") public void testFromStringConstructor(String value, String type, TInterpolation interp, String repr) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { TBoolInst tb = new TBoolInst(value); System.out.println(tb.to_string()); @@ -449,8 +482,9 @@ public void testFromStringConstructor(String value, String type, TInterpolation @ParameterizedTest(name = "base={0}, type={1}, interp={2}") @MethodSource("TBool_base_time_constructor") public void testFromBaseTimeConstructor(Time base, String type, TInterpolation interp) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { TBoolInst tb = (TBoolInst) TBool.from_base_time(true, base); System.out.println(tb.to_string()); @@ -472,8 +506,9 @@ public void testFromBaseTimeConstructor(Time base, String type, TInterpolation i @ParameterizedTest(name = "base={0}, type={1}") @MethodSource("TBool_copy_constructor") public void testCopyConstructor(Temporal base, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { TBoolInst tb = (TBoolInst) base.copy(); assertEquals(tb.to_string(),(((TBoolInst) base).to_string())); @@ -491,8 +526,9 @@ public void testCopyConstructor(Temporal base, String type) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_string") public void testString(Temporal base, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals(expected,(((TBoolInst) base).to_string())); } else if (type == "TBoolSeq") { @@ -506,8 +542,9 @@ public void testString(Temporal base, String type, String expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_bounding") public void testBoundingBox(Temporal base, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.bounding_box().toString(),expected.toString()); } @@ -516,8 +553,9 @@ public void testBoundingBox(Temporal base, String type, tstzspan expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_interp") public void testInterpolation(Temporal base, String type, TInterpolation expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.interpolation(),expected); } @@ -525,8 +563,9 @@ public void testInterpolation(Temporal base, String type, TInterpolation expecte @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_start") public void testStartValues(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBool) base).start_value() ,expected); } @@ -534,8 +573,9 @@ public void testStartValues(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_end") public void testEndValues(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBool) base).end_value() ,expected); } @@ -543,8 +583,9 @@ public void testEndValues(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_time") public void testTime(Temporal base, String type, tstzspanset expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.time().toString() ,expected.toString()); } @@ -552,8 +593,9 @@ public void testTime(Temporal base, String type, tstzspanset expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_bounding") public void testtstzspan(Temporal base, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.period().toString() ,expected.toString()); } @@ -561,8 +603,9 @@ public void testtstzspan(Temporal base, String type, tstzspan expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_bounding") public void testSpan(Temporal base, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.timespan().toString(),expected.toString()); } @@ -570,8 +613,9 @@ public void testSpan(Temporal base, String type, tstzspan expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_numinst") public void testNumInst(Temporal base, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.num_instants(),expected); } @@ -579,8 +623,9 @@ public void testNumInst(Temporal base, String type, int expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_startinst") public void testStartInst(Temporal base, String type, TBoolInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBoolInst)base.start_instant()).to_string(),expected.to_string()); } @@ -588,8 +633,9 @@ public void testStartInst(Temporal base, String type, TBoolInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_endinst") public void testEndInst(Temporal base, String type, TBoolInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBoolInst)base.end_instant()).to_string(),expected.to_string()); } @@ -597,8 +643,9 @@ public void testEndInst(Temporal base, String type, TBoolInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_mininst") public void testMinInst(Temporal base, String type, TBoolInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBoolInst)base.min_instant()).to_string(),expected.to_string()); } @@ -606,16 +653,18 @@ public void testMinInst(Temporal base, String type, TBoolInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_maxinst") public void testMaxInst(Temporal base, String type, TBoolInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBoolInst)base.max_instant()).to_string(),expected.to_string()); } @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_instn") public void testInstN(Temporal base, String type, int n, TBoolInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TBoolInst)base.instant_n(n)).to_string(),expected.to_string()); } @@ -623,8 +672,9 @@ public void testInstN(Temporal base, String type, int n, TBoolInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_numinst") public void testNumtmstmp(Temporal base, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.num_timestamps(),expected); } @@ -632,8 +682,9 @@ public void testNumtmstmp(Temporal base, String type, int expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_startmstp") public void testStarttmstmp(Temporal base, String type, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.start_timestamp(),expected); } @@ -641,8 +692,9 @@ public void testStarttmstmp(Temporal base, String type, LocalDateTime expected) @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_endtmstp") public void testEndtmstmp(Temporal base, String type, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.end_timestamp(),expected); } @@ -650,8 +702,9 @@ public void testEndtmstmp(Temporal base, String type, LocalDateTime expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_hash") public void testHash(Temporal base, String type, long expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.hash(),expected); } @@ -659,8 +712,9 @@ public void testHash(Temporal base, String type, long expected) { @ParameterizedTest(name = "base={0}, type={1}") @MethodSource("TBool_instant") public void testInstant(Temporal base, TBoolInst type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); Temporal tmp = base.to_instant(); assertTrue(tmp instanceof TBoolInst); assertEquals(((TBoolInst) tmp).to_string(), type.to_string()); @@ -670,8 +724,9 @@ public void testInstant(Temporal base, TBoolInst type) { @ParameterizedTest(name = "base={0}, type={1}, tseq={2}") @MethodSource("TBool_tosequence") public void testSequence(Temporal base, TInterpolation type, TBoolSeq tseq) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); Temporal tmp = base.to_sequence(type); assertTrue(tmp instanceof TBoolSeq); assertEquals(((TBoolSeq) tmp).to_string(), tseq.to_string()); @@ -681,8 +736,9 @@ public void testSequence(Temporal base, TInterpolation type, TBoolSeq tseq) { @ParameterizedTest(name = "base={0}, type={1}, tseqset={2}") @MethodSource("TBool_tosequenceset") public void testSequenceSet(Temporal base, TInterpolation type, TBoolSeqSet tseqset) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); Temporal tmp = base.to_sequenceset(type); assertTrue(tmp instanceof TBoolSeqSet); assertEquals(((TBoolSeqSet) tmp).to_string(), tseqset.to_string()); @@ -692,8 +748,9 @@ public void testSequenceSet(Temporal base, TInterpolation type, TBoolSeqSet tseq @ParameterizedTest(name = "base={0}, base2={1}, type={2}") @MethodSource("TBool_insert") public void testInsert(Temporal base, Temporal base2, Temporal tseq, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals(((TBoolInst)base.insert(base2)).to_string(), ((TBoolSeq) tseq).to_string()); } else if (type == "TBoolSeq") { @@ -707,8 +764,9 @@ public void testInsert(Temporal base, Temporal base2, Temporal tseq, String type @ParameterizedTest(name = "base={0}, base2={1}, type={2}") @MethodSource("TBool_update") public void testUpdate(Temporal base, Temporal base2, Temporal tseq, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals(((TBoolInst)base.update(base2)).to_string(), ((TBoolInst) tseq).to_string()); } else if (type == "TBoolSeq") { @@ -722,8 +780,9 @@ public void testUpdate(Temporal base, Temporal base2, Temporal tseq, String type @ParameterizedTest(name = "base={0}, base2={1}, tseq={2}, type={3}") @MethodSource("TBool_appendseq") public void testAppendSeq(Temporal base, TSequence base2, Temporal tseq, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolSeq") { assertEquals(((TBoolSeq)base.append_sequence(base2)).to_string(), ((TBoolSeq) tseq).to_string()); } else if (type == "TBoolSeqSet") { @@ -736,8 +795,9 @@ public void testAppendSeq(Temporal base, TSequence base2, Temporal tseq, String @ParameterizedTest(name = "base={0}, type={1}, pset={2}") @MethodSource("TBool_whentrue") public void testWhentrue(Temporal base, String type, tstzspanset pset) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).when_true().toString(), pset.toString()); } else if (type == "TBoolSeq") { @@ -751,8 +811,9 @@ public void testWhentrue(Temporal base, String type, tstzspanset pset) { @ParameterizedTest(name = "base={0}, type={1}, pset={2}") @MethodSource("TBool_whenfalse") public void testWhenfalse(Temporal base, String type, tstzspanset pset) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolSeq") { System.out.println(((TBoolSeq) base).when_false().toString()); System.out.println(pset.toString()); @@ -768,8 +829,9 @@ public void testWhenfalse(Temporal base, String type, tstzspanset pset) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_alwaystrue") public void testAlwaystrue(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).always_eq(true), expected); } else if (type == "TBoolSeq") { @@ -783,8 +845,9 @@ public void testAlwaystrue(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_alwaysfalse") public void testAlwaysfalse(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).always_eq(false), expected); } else if (type == "TBoolSeq") { @@ -799,8 +862,9 @@ public void testAlwaysfalse(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_evertrue") public void testEvertrue(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).ever_eq(true), expected); } else if (type == "TBoolSeq") { @@ -815,8 +879,9 @@ public void testEvertrue(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_everfalse") public void testEverfalse(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).ever_eq(false), expected); } else if (type == "TBoolSeq") { @@ -830,8 +895,9 @@ public void testEverfalse(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_nevertrue") public void testNevertrue(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).never_eq(true), expected); } else if (type == "TBoolSeq") { @@ -846,8 +912,9 @@ public void testNevertrue(Temporal base, String type, boolean expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TBool_neverfalse") public void testNeverfalse(Temporal base, String type, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TBoolInst") { assertEquals( ((TBoolInst) base).never_eq(false), expected); } else if (type == "TBoolSeq") { diff --git a/jmeos-core/src/test/java/basic/TFloatTest.java b/jmeos-core/src/test/java/basic/TFloatTest.java index 29cde834f..fa9036f23 100644 --- a/jmeos-core/src/test/java/basic/TFloatTest.java +++ b/jmeos-core/src/test/java/basic/TFloatTest.java @@ -1,6 +1,6 @@ package basic; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -40,8 +40,9 @@ public class TFloatTest { static error_handler_fn errorHandler = new error_handler(); private static Stream frombasetemporal() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TFloatInst", TInterpolation.NONE), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TFloatSeq", TInterpolation.LINEAR), @@ -51,8 +52,9 @@ private static Stream frombasetemporal() { private static Stream frombasetime() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"), "TFloatSeq", TInterpolation.DISCRETE), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"), "TFloatSeqSet", TInterpolation.LINEAR), @@ -72,8 +74,9 @@ private static Stream fromstring() { private static Stream fromcopy() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst"), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq"), @@ -83,8 +86,9 @@ private static Stream fromcopy() { } private static Stream totint() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", "1@2019-09-01 00:00:00+00") //Arguments.of(new TFloatSeq("{1.5@2019-09-01, 2.5@2019-09-02}"), "TFloatSeq", "[1@2019-09-01 00:00:00+00, 2@2019-09-02 00:00:00+00]"), @@ -95,8 +99,9 @@ private static Stream totint() { private static Stream bounding() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TBox("TBOXFLOAT XT([1.5,1.5],[2019-09-01, 2019-09-01])")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new TBox("TBOXFLOAT XT([1.5,2.5],[2019-09-01, 2019-09-02])")), @@ -107,8 +112,9 @@ private static Stream bounding() throws SQLException { private static Stream interp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", TInterpolation.NONE), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", TInterpolation.LINEAR), @@ -118,8 +124,9 @@ private static Stream interp() throws SQLException { private static Stream value_span() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new FloatSpan(1.5f, 1.5f, true, true)), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new FloatSpan(1.5f, 2.5f, true, true)), @@ -129,8 +136,9 @@ private static Stream value_span() throws SQLException { private static Stream value_spans() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new IntSpanSet("{[1,1]}")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new IntSpanSet("{[1,2]}")), @@ -140,8 +148,9 @@ private static Stream value_spans() throws SQLException { private static Stream start_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1.5f), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", 1.5f), @@ -151,8 +160,9 @@ private static Stream start_value() throws SQLException { private static Stream end_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1.5f), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", 2.5f), @@ -162,8 +172,9 @@ private static Stream end_value() throws SQLException { private static Stream min_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1.5f), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", 1.5f), @@ -173,8 +184,9 @@ private static Stream min_value() throws SQLException { private static Stream max_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TIntInst", 1.5f), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TIntSeq", 2.5f), @@ -184,8 +196,9 @@ private static Stream max_value() throws SQLException { private static Stream time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new tstzspanset("{[2019-09-01, 2019-09-01]}")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new tstzspanset("{[2019-09-01, 2019-09-02]}")), @@ -195,8 +208,9 @@ private static Stream time() throws SQLException { private static Stream period() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new tstzspan("[2019-09-01, 2019-09-01]")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new tstzspan("[2019-09-01, 2019-09-02]")), @@ -205,8 +219,9 @@ private static Stream period() throws SQLException { } private static Stream num_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq",2), @@ -217,8 +232,9 @@ private static Stream num_instant() throws SQLException { private static Stream start_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TIntInst", new TFloatInst("1.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TIntSeq",new TFloatInst("1.5@2019-09-01")), @@ -229,8 +245,9 @@ private static Stream start_instant() throws SQLException { private static Stream end_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TFloatInst("1.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq",new TFloatInst("2.5@2019-09-02")), @@ -240,8 +257,9 @@ private static Stream end_instant() throws SQLException { private static Stream max_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TFloatInst("1.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq",new TFloatInst("2.5@2019-09-02")), @@ -251,8 +269,9 @@ private static Stream max_instant() throws SQLException { private static Stream instant_n() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), 0, new TFloatInst("1.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), 1,new TFloatInst("2.5@2019-09-02")), @@ -263,8 +282,9 @@ private static Stream instant_n() throws SQLException { private static Stream num_timestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), 1, new TIntInst("1@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), 2,new TIntInst("2@2019-09-02")), @@ -275,8 +295,9 @@ private static Stream num_timestamps() throws SQLException { private static Stream start_timestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), 1, LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), 2, LocalDateTime.of(2019, 9, 1, 0, 0,0)), @@ -286,8 +307,9 @@ private static Stream start_timestamps() throws SQLException { private static Stream end_timestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), 1, LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), 2, LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -297,8 +319,9 @@ private static Stream end_timestamps() throws SQLException { private static Stream hash() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), 1307112078, LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), 1935376725, LocalDateTime.of(2019, 9, 2, 0, 0,0)) @@ -308,8 +331,9 @@ private static Stream hash() throws SQLException { private static Stream toinstant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TFloatInst("1.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01]"), "TFloatSeq", new TFloatInst("1.5@2019-09-01")), @@ -319,8 +343,9 @@ private static Stream toinstant() throws SQLException { private static Stream tosequence() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", TInterpolation.LINEAR, new TFloatSeq("[1.5@2019-09-01]")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", TInterpolation.LINEAR, new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]")), @@ -330,8 +355,9 @@ private static Stream tosequence() throws SQLException { private static Stream tosequenceset() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", TInterpolation.LINEAR, new TFloatSeqSet("{[1.5@2019-09-01]}")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", TInterpolation.LINEAR, new TFloatSeqSet("{[1.5@2019-09-01, 2.5@2019-09-02]}")), @@ -341,8 +367,9 @@ private static Stream tosequenceset() throws SQLException { private static Stream insert() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( //Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TFloatSeq("{1.5@2019-09-03}"), new TFloatSeq("{1.5@2019-09-01, 1.5@2019-09-03}")) Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new TFloatSeq("[1.5@2019-09-03]"), new TFloatSeqSet("[1.5@2019-09-01, 2.5@2019-09-02, 1.5@2019-09-03]")), @@ -352,8 +379,9 @@ private static Stream insert() throws SQLException { private static Stream update() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TFloatInst("2.5@2019-09-01"), new TFloatInst("2.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new TFloatInst("2.5@2019-09-01"), new TFloatSeqSet("{[2.5@2019-09-01], (1.5@2019-09-01, 2.5@2019-09-02]}")), @@ -363,8 +391,9 @@ private static Stream update() throws SQLException { private static Stream append_sequence() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new TFloatSeq("[1.5@2019-09-03]"), new TFloatSeqSet("{[1.5@2019-09-01, 2.5@2019-09-02], [1.5@2019-09-03]}")), Arguments.of(new TFloatSeqSet("{[1.5@2019-09-01, 2.5@2019-09-02],[1.5@2019-09-03, 1.5@2019-09-05]}"), "TFloatSeqSet", new TFloatSeq("[1.5@2019-09-06]"), new TFloatSeqSet("{[1.5@2019-09-01, 2.5@2019-09-02],[1.5@2019-09-03, 1.5@2019-09-05],[1.5@2019-09-06]}")) @@ -373,8 +402,9 @@ private static Stream append_sequence() throws SQLException { private static Stream abs() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", new TFloatInst("2.5@2019-09-01"), new TFloatInst("2.5@2019-09-01")), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new TFloatInst("2.5@2019-09-01"), new TFloatSeqSet("{[2.5@2019-09-01], (1.5@2019-09-01, 2.5@2019-09-02]}")), @@ -384,8 +414,9 @@ private static Stream abs() throws SQLException { /* private static Stream delta_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); -functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); +GeneratedFunctions.meos_initialize_error_handler(errorHandler); +GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatSeq("[1.5@2019-09-01, 2.5@2019-09-02]"), "TFloatSeq", new TFloatSeq("Interp=Step;[1@2019-09-01, 1@2019-09-02)")), Arguments.of(new TFloatSeqSet("{[1.5@2019-09-01, 2.5@2019-09-02],[1.5@2019-09-03, 1.5@2019-09-05]}"), "TFloatSeqSet", new TFloatSeqSet("Interp=Step;{[1@2019-09-01, 1@2019-09-02),[0@2019-09-03, 0@2019-09-05)}")) @@ -397,8 +428,9 @@ private static Stream delta_value() throws SQLException { private static Stream always_equal() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1.5f, true ), Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 2.5f, false ), @@ -412,8 +444,9 @@ private static Stream always_equal() throws SQLException { private static Stream ever_equal() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1.5f, true ), Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 2.5f, false ), @@ -427,8 +460,9 @@ private static Stream ever_equal() throws SQLException { private static Stream ever_greater() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 1.5f, false ), Arguments.of(new TFloatInst("1.5@2019-09-01"), "TFloatInst", 2.5f, true ), @@ -461,8 +495,9 @@ private static Stream ever_greater() throws SQLException { @ParameterizedTest(name="source={0}, type={1}, interpolation={2}") @MethodSource("frombasetime") void testFromBaseTimeConstructor(Time source, String type, TInterpolation interpolation) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TFloatSeq") { TFloatSeq ti = (TFloatSeq) TFloat.from_base_time(1.5f, source, interpolation); assertTrue(ti instanceof TFloatSeq); @@ -481,8 +516,9 @@ void testFromBaseTimeConstructor(Time source, String type, TInterpolation interp @ParameterizedTest(name ="source={0}, type={1}, interpolation={2}") @MethodSource("frombasetemporal") void testFromBaseTemporalConstructor(Temporal source, String type, TInterpolation interpolation) { - //functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + //GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TFloatInst ti = new TFloatInst(); TFloatInst new_ti = (TFloatInst) ti.from_base_temporal(1.5f,source,interpolation); @@ -509,8 +545,9 @@ else if (type == "TFloatSeq") { @ParameterizedTest(name ="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testStringConstructor(String source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TFloatInst tinst = new TFloatInst(source); assertTrue(tinst instanceof TFloatInst); @@ -537,8 +574,9 @@ else if (type == "TFloatSeq") { @ParameterizedTest(name ="source={0}, type={1}") @MethodSource("fromcopy") void testCopyConstructor(Temporal source, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TFloatInst tb = (TFloatInst)source.copy(); assertEquals(tb.to_string(15),(((TFloatInst) source).to_string(15))); @@ -558,8 +596,9 @@ else if (type == "TFloatSeq") { @ParameterizedTest(name ="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testString(String source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TFloatInst tinst = new TFloatInst(source); assertEquals(tinst.to_string(15),expected); @@ -578,8 +617,9 @@ else if (type == "TFloatSeq") { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("totint") void testToTInt(TFloat source, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TInt tinst = ((TFloatInst) source).to_tint(); assertEquals(tinst.to_string(),expected); @@ -601,8 +641,9 @@ else if (type == "TFloatSeq") { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("bounding") void testBoundingBox(Temporal source, String type, Box expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.bounding_box().toString(),expected.to_period().toString()); } @@ -612,8 +653,9 @@ void testBoundingBox(Temporal source, String type, Box expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("interp") void testInterpolation(Temporal source, String type, TInterpolation expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.interpolation(),expected); } @@ -621,8 +663,9 @@ void testInterpolation(Temporal source, String type, TInterpolation expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("value_span") void testValueSpan(TFloat source, String type, FloatSpan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.value_span().toString(15),expected.toString(15)); } @@ -630,8 +673,9 @@ void testValueSpan(TFloat source, String type, FloatSpan expected) { @ParameterizedTest(name ="Test values span ") @MethodSource("value_spans") void testValuesSpan(TInt source, String type, IntSpanSet expected) { - functions.meos_initialize_timezone("UTC"); -functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); +GeneratedFunctions.meos_initialize_error_handler(errorHandler); +GeneratedFunctions.meos_initialize_collation(); assertEquals(source.value_spans().toString(),expected.toString()); } @@ -641,8 +685,9 @@ void testValuesSpan(TInt source, String type, IntSpanSet expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("start_value") void testStart_value(TFloat source, String type, float expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_value(),expected); } @@ -650,8 +695,9 @@ void testStart_value(TFloat source, String type, float expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("end_value") void testEnd_value(TFloat source, String type, float expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_value(),expected); } @@ -659,8 +705,9 @@ void testEnd_value(TFloat source, String type, float expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("min_value") void testMin_value(TFloat source, String type, float expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.min_value(),expected); } @@ -668,8 +715,9 @@ void testMin_value(TFloat source, String type, float expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("max_value") void testMax_value(TFloat source, String type, float expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.max_value(),expected); } @@ -677,8 +725,9 @@ void testMax_value(TFloat source, String type, float expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("time") void testTime(Temporal source, String type, tstzspanset expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.time().toString(),expected.toString()); } @@ -687,8 +736,9 @@ void testTime(Temporal source, String type, tstzspanset expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("period") void testtstzspan(Temporal source, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.period().toString(),expected.toString()); } @@ -696,8 +746,9 @@ void testtstzspan(Temporal source, String type, tstzspan expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("period") void testTimespan(Temporal source, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.timespan().toString(),expected.toString()); } @@ -705,8 +756,9 @@ void testTimespan(Temporal source, String type, tstzspan expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("num_instant") void testNumInstant(Temporal source, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.num_instants(),expected); } @@ -714,8 +766,9 @@ void testNumInstant(Temporal source, String type, int expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("start_instant") void testStartInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloatInst)source.start_instant()).to_string(15),((TFloatInst)expected.start_instant()).to_string(15)); } @@ -723,8 +776,9 @@ void testStartInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("end_instant") void testEndInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloatInst)source.end_instant()).to_string(15),((TFloatInst)expected.end_instant()).to_string(15)); } @@ -733,8 +787,9 @@ void testEndInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("start_instant") void testMinInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloatInst)source.min_instant()).to_string(15),((TFloatInst)expected.min_instant()).to_string(15)); } @@ -742,8 +797,9 @@ void testMinInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("max_instant") void testMaxInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloatInst)source.max_instant()).to_string(15),((TFloatInst)expected.max_instant()).to_string(15)); } @@ -752,8 +808,9 @@ void testMaxInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("instant_n") void testInstant_n(Temporal source, int n, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloatInst)source.instant_n(n)).to_string(15),((TFloatInst)expected).to_string(15)); } @@ -761,8 +818,9 @@ void testInstant_n(Temporal source, int n, Temporal expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("num_timestamps") void testNumTimestamps(Temporal source, int n, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.num_timestamps(),n); } @@ -770,8 +828,9 @@ void testNumTimestamps(Temporal source, int n, Temporal expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("start_timestamps") void testStartTimestamps(Temporal source, int n, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_timestamp(),expected); } @@ -779,8 +838,9 @@ void testStartTimestamps(Temporal source, int n, LocalDateTime expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("end_timestamps") void testEndTimestamps(Temporal source, int n, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_timestamp(),expected); } @@ -788,8 +848,9 @@ void testEndTimestamps(Temporal source, int n, LocalDateTime expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("hash") void testHash(Temporal source, long n, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.hash(),n); } @@ -797,8 +858,9 @@ void testHash(Temporal source, long n, LocalDateTime expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("toinstant") void testToinstant(Temporal source, String type, TFloatInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TFloatInst tmp = (TFloatInst) source.to_instant(); assertTrue(tmp instanceof TFloatInst); assertEquals(tmp.to_string(15),expected.to_string(15)); @@ -810,8 +872,9 @@ void testToinstant(Temporal source, String type, TFloatInst expected) { @ParameterizedTest(name ="source={0}, type={1}, interp={2}, expected={3}") @MethodSource("tosequence") void testTosequence(Temporal source, String type, TInterpolation interp, TFloatSeq expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TFloatSeq tmp = (TFloatSeq) source.to_sequence(interp); assertTrue(tmp instanceof TFloatSeq); assertEquals(tmp.to_string(15),expected.to_string(15)); @@ -822,8 +885,9 @@ void testTosequence(Temporal source, String type, TInterpolation interp, TFloatS @ParameterizedTest(name ="source={0}, type={1}, interp={2}, expected={3}") @MethodSource("tosequenceset") void testTosequenceset(Temporal source, String type, TInterpolation interp, TFloatSeqSet expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TFloatSeqSet tmp = (TFloatSeqSet) source.to_sequenceset(interp); assertTrue(tmp instanceof TFloatSeqSet); assertEquals(interp, tmp.interpolation()); @@ -835,8 +899,9 @@ void testTosequenceset(Temporal source, String type, TInterpolation interp, TFlo @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("insert") void testInsert(Temporal source, String type, TFloatSeq tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TFloatInst tmp = (TFloatInst) source.insert(tseq); assertEquals(tmp.to_string(15), ((TFloatSeq)expected).to_string(15)); @@ -855,8 +920,9 @@ void testInsert(Temporal source, String type, TFloatSeq tseq, Temporal expected) @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("update") void testUpdate(Temporal source, String type, TFloatInst tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TFloatInst tmp = (TFloatInst) source.update(tseq); assertEquals(tmp.to_string(15), ((TFloatInst)expected).to_string(15)); @@ -873,8 +939,9 @@ void testUpdate(Temporal source, String type, TFloatInst tseq, Temporal expected @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("append_sequence") void testAppendSequence(Temporal source, String type, TFloatSeq tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TFloatSeq") { TFloatSeq tmp = (TFloatSeq) source.append_sequence(tseq); assertEquals(tmp.to_string(15), ((TFloatSeqSet)expected).to_string(15)); @@ -891,8 +958,9 @@ void testAppendSequence(Temporal source, String type, TFloatSeq tseq, Temporal e @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("abs") void testAbs(Temporal source, String type, TFloatInst tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TNumber tmp = ((TNumber) source).abs(); assertEquals(((TFloatInst)tmp).to_string(15), ((TFloatInst)source).to_string(15)); @@ -909,8 +977,9 @@ void testAbs(Temporal source, String type, TFloatInst tseq, Temporal expected) { @ParameterizedTest(name ="Test delta value method") @MethodSource("delta_value") void testDeltaValue(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); -functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); +GeneratedFunctions.meos_initialize_error_handler(errorHandler); +GeneratedFunctions.meos_initialize_collation(); if(type == "TFloatInst"){ TNumber tmp = ((TNumber) source).delta_value(); assertEquals(((TFloatInst)tmp).tostring(15), ((TFloatInst)expected).tostring(15)); @@ -930,8 +999,9 @@ void testDeltaValue(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, arg={2}, expected={3}") @MethodSource("always_equal") void testAlwaysEqual(Temporal source, String type, float arg, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloat)source).always_equal(arg),expected); assertEquals(((TFloat)source).never_not_equal(arg),expected); assertEquals(((TFloat)source).ever_not_equal(arg),! expected); @@ -943,8 +1013,9 @@ void testAlwaysEqual(Temporal source, String type, float arg, boolean expected) @ParameterizedTest(name ="source={0}, type={1}, arg={2}, expected={3}") @MethodSource("ever_equal") void testEverEqual(Temporal source, String type, float arg, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloat)source).ever_equal(arg),expected); assertEquals(((TFloat)source).always_not_equal(arg),!expected); assertEquals(((TFloat)source).never_equal(arg),! expected); @@ -954,8 +1025,9 @@ void testEverEqual(Temporal source, String type, float arg, boolean expected) { @ParameterizedTest(name ="source={0}, type={1}, arg={2}, expected={3}") @MethodSource("ever_greater") void testEverGreater(Temporal source, String type, float arg, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TFloat)source).always_less(arg),expected); assertEquals(((TFloat)source).never_greater_or_equal(arg),expected); assertEquals(((TFloat)source).ever_greater_or_equal(arg),! expected); diff --git a/jmeos-core/src/test/java/basic/TGeogPointTest.java b/jmeos-core/src/test/java/basic/TGeogPointTest.java index cddf719e5..3cfa1ff91 100644 --- a/jmeos-core/src/test/java/basic/TGeogPointTest.java +++ b/jmeos-core/src/test/java/basic/TGeogPointTest.java @@ -1,6 +1,6 @@ package basic; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -55,8 +55,9 @@ public class TGeogPointTest { static error_handler_fn errorHandler = new error_handler(); private static Stream fromtemporal() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1.5 1.5)@2019-09-01"), "TGeogPointInst",TInterpolation.NONE, "POINT(1 1)@2019-09-01 00:00:00+00"), Arguments.of(new TGeogPointSeq("{Point(1.5 1.5)@2019-09-01, Point(2.5 2.5)@2019-09-02}"), "TGeogPointSeq",TInterpolation.DISCRETE, "{POINT(1 1)@2019-09-01 00:00:00+00, POINT(2 2)@2019-09-02 00:00:00+00}"), @@ -68,8 +69,9 @@ private static Stream fromtemporal() { static Stream from_time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"), "TGeogPointSeq", TInterpolation.DISCRETE), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"), "TGeogPointSeqSet", TInterpolation.STEPWISE), @@ -80,8 +82,9 @@ static Stream from_time() throws SQLException { private static Stream fromstring() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst",TInterpolation.NONE, "POINT(1 1)@2019-09-01 00:00:00+00"), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq",TInterpolation.DISCRETE, "{POINT(1 1)@2019-09-01 00:00:00+00, POINT(2 2)@2019-09-02 00:00:00+00}"), @@ -92,8 +95,9 @@ private static Stream fromstring() { private static Stream bounding() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", new STBox("GEODSTBOX XT(((1, 1),(1, 1)),[2019-09-01, 2019-09-01])") ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", new STBox("GEODSTBOX XT(((1, 1),(2, 2)),[2019-09-01, 2019-09-02])") ), @@ -104,8 +108,9 @@ private static Stream bounding() { private static Stream fromstart() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", "POINT (1 1)" ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", "POINT (1 1)" ), @@ -116,8 +121,9 @@ private static Stream fromstart() { private static Stream endstart() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", "POINT (1 1)" ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", "POINT (2 2)" ), @@ -128,8 +134,9 @@ private static Stream endstart() { private static Stream test_time() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", new tstzspanset("{[2019-09-01, 2019-09-01]}") ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", new tstzspanset("{[2019-09-01, 2019-09-01], [2019-09-02, 2019-09-02]}") ), @@ -140,8 +147,9 @@ private static Stream test_time() { private static Stream period() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", new tstzspan("[2019-09-01, 2019-09-01]") ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", new tstzspan("[2019-09-01, 2019-09-02]") ), @@ -151,8 +159,9 @@ private static Stream period() { } private static Stream num_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", 1 ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", 2 ), @@ -163,8 +172,9 @@ private static Stream num_instant() { private static Stream start_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("Point(1 1)@2019-09-01", "TGeogPointInst", new TGeogPointInst("Point(1 1)@2019-09-01") ), Arguments.of("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}", "TGeogPointSeq", new TGeogPointInst("Point(1 1)@2019-09-01") ), @@ -177,8 +187,9 @@ private static Stream start_instant() { private static Stream end_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("Point(1 1)@2019-09-01", "TGeogPointInst", new TGeogPointInst("Point(1 1)@2019-09-01") ), Arguments.of("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}", "TGeogPointSeq", new TGeogPointInst("Point(2 2)@2019-09-02") ), @@ -189,8 +200,9 @@ private static Stream end_instant() { private static Stream asmfjson() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); String jsonString1 = "{\n" + " \"type\": \"MovingGeomPoint\",\n" + " \"bbox\": [\n" + @@ -369,8 +381,9 @@ private static Stream asmfjson() { private static Stream min_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", new TGeogPointInst("Point(1 1)@2019-09-01") ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", new TGeogPointInst("Point(1 1)@2019-09-01") ), @@ -381,8 +394,9 @@ private static Stream min_instant() { private static Stream max_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", new TGeogPointInst("Point(1 1)@2019-09-01") ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq", new TGeogPointInst("Point(2 2)@2019-09-02") ), @@ -393,8 +407,9 @@ private static Stream max_instant() { private static Stream instantn() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), 0, new TGeogPointInst("Point(1 1)@2019-09-01") ), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 1, new TGeogPointInst("Point(2 2)@2019-09-02") ), @@ -405,8 +420,9 @@ private static Stream instantn() { private static Stream num_timestamps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), 1), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 2), @@ -418,8 +434,9 @@ private static Stream num_timestamps() { private static Stream start_timestamps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), LocalDateTime.of(2019, 9, 1, 0, 0,0)), @@ -430,8 +447,9 @@ private static Stream start_timestamps() { private static Stream end_timestamps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -443,8 +461,9 @@ private static Stream end_timestamps() { private static Stream hash() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( // Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), 382694564), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 1545137628), @@ -455,8 +474,9 @@ private static Stream hash() { private static Stream lower_inc() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), true), Arguments.of(new TGeogPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), true) @@ -466,8 +486,9 @@ private static Stream lower_inc() { private static Stream length() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), 0), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 0), @@ -478,8 +499,9 @@ private static Stream length() { private static Stream cumullength() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), new TFloatInst("0@2019-09-01")), Arguments.of(new TGeogPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), new TFloatSeq("[0@2019-09-01, 156876.14940188668@2019-09-02]")), @@ -489,8 +511,9 @@ private static Stream cumullength() { private static Stream speed() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), null), Arguments.of(new TGeogPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), new TFloatSeq("[1.8157@2019-09-01, 1.8157@2019-09-02]")), @@ -500,8 +523,9 @@ private static Stream speed() { private static Stream xy() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), new TFloatInst("1@2019-09-01")), Arguments.of(new TGeogPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), new TFloatSeq("[1@2019-09-01, 2@2019-09-02]")), @@ -511,8 +535,9 @@ private static Stream xy() { private static Stream xyz() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1 1)@2019-09-01"), new TFloatInst("1@2019-09-01")), Arguments.of(new TGeogPointSeq("[Point(1 1 1)@2019-09-01, Point(2 2 2)@2019-09-02]"), new TFloatSeq("[1@2019-09-01, 2@2019-09-02]")), @@ -522,8 +547,9 @@ private static Stream xyz() { private static Stream hasz() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), false), Arguments.of(new TGeogPointSeq("[Point(1 1 1)@2019-09-01, Point(2 2 2)@2019-09-02]"), true), @@ -533,8 +559,9 @@ private static Stream hasz() { private static Stream is_simple() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), true), Arguments.of(new TGeogPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), true), @@ -544,8 +571,9 @@ private static Stream is_simple() { private static Stream angular_difference() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02], [Point(1 1)@2019-09-03, Point(1 1)@2019-09-05]}"), "TGeogPointSeqSet", new TFloatSeqSet("{0@2019-09-01,0@2019-09-02}")) ); @@ -554,8 +582,9 @@ private static Stream angular_difference() { private static Stream togeom() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), new TGeomPointInst("Point(1 1)@2019-09-01")) //Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}")), @@ -566,8 +595,9 @@ private static Stream togeom() { private static Stream to_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), new TGeogPointInst("Point(1 1)@2019-09-01")), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01}"), new TGeogPointInst("Point(1 1)@2019-09-01")), @@ -579,8 +609,9 @@ private static Stream to_instant() { private static Stream to_sequence() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), TInterpolation.LINEAR, new TGeogPointSeq("[Point(1 1)@2019-09-01]")), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), TInterpolation.DISCRETE, new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}")), @@ -591,8 +622,9 @@ private static Stream to_sequence() { private static Stream to_sequenceset() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), TInterpolation.LINEAR, new TGeogPointSeqSet("{[Point(1 1)@2019-09-01]}")), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), TInterpolation.LINEAR, new TGeogPointSeqSet("{[Point(1 1)@2019-09-01], [Point(2 2)@2019-09-02]}")), @@ -604,8 +636,9 @@ private static Stream to_sequenceset() { private static Stream set_interp() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1 1)@2019-09-01"), "TGeogPointInst", TInterpolation.DISCRETE, new TGeogPointSeq("{Point(1 1)@2019-09-01}")), Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"),"TGeogPointSeq", TInterpolation.DISCRETE, new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}")), @@ -616,8 +649,9 @@ private static Stream set_interp() { private static Stream round() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointInst("Point(1.123456789 1.123456789)@2019-09-01"), "TGeogPointInst", new TGeogPointInst("Point(1.12 1.12)@2019-09-01")), Arguments.of(new TGeogPointSeq("{Point(1.123456789 1.123456789)@2019-09-01, Point(2.123456789 2.123456789)@2019-09-02}"),"TGeogPointSeq", new TGeogPointSeq("{Point(1.12 1.12)@2019-09-01,Point(2.12 2.12)@2019-09-02}")), @@ -628,8 +662,9 @@ private static Stream round() { private static Stream insert() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeogPointSeq",new TGeogPointSeq("{Point(1 1)@2019-09-03}"), new TGeogPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02, Point(1 1)@2019-09-03}") ), Arguments.of(new TGeogPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02], [Point(1 1)@2019-09-03, Point(1 1)@2019-09-05]}"), "TGeogPointSeqSet", new TGeogPointSeq("[Point(1 1)@2019-09-06]"), new TGeogPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02],[Point(1 1)@2019-09-03, Point(1 1)@2019-09-05],[Point(1 1)@2019-09-06]}")) @@ -639,8 +674,9 @@ private static Stream insert() { private static Stream append_sequence() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeogPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"),"TGeogPointSeq", new TGeogPointSeq("[Point(1 1)@2019-09-03]"), new TGeogPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02], [Point(1 1)@2019-09-03]}")), Arguments.of(new TGeogPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02],[Point(1 1)@2019-09-03, Point(1 1)@2019-09-05]}"), "TGeogPointSeqSet", new TGeogPointSeq("[Point(1 1)@2019-09-06]"), new TGeogPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02],[Point(1 1)@2019-09-03, Point(1 1)@2019-09-05],[Point(1 1)@2019-09-06]}")) @@ -673,8 +709,9 @@ private static Stream append_sequence() { @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromtemporal") void testFromTemporalConstructor(TGeogPoint source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { GeometryFactory factory4326 = new GeometryFactory(new PrecisionModel(PrecisionModel.FLOATING), 4326); Point point = factory4326.createPoint(new Coordinate(1, 1)); @@ -700,8 +737,9 @@ void testFromTemporalConstructor(TGeogPoint source, String type, TInterpolation @ParameterizedTest(name="source={0}, type={1}, interpolation={2}") @MethodSource("from_time") void testFromBaseTimeConstructor(Time source, String type, TInterpolation interpolation) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { GeometryFactory factory4326 = new GeometryFactory(new PrecisionModel(PrecisionModel.FLOATING), 4326); Point p = factory4326.createPoint(new Coordinate(1, 1)); @@ -723,8 +761,9 @@ void testFromBaseTimeConstructor(Time source, String type, TInterpolation interp @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testFromStringConstructor(TGeogPoint source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { TGeogPointInst ti = new TGeogPointInst(expected); assertTrue(ti instanceof TGeogPointInst); @@ -747,8 +786,9 @@ void testFromStringConstructor(TGeogPoint source, String type, TInterpolation in @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testCopyConstructor(Temporal source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { TGeogPointInst ti = (TGeogPointInst) source.copy(); assertTrue(ti instanceof TGeogPointInst); @@ -771,8 +811,9 @@ void testCopyConstructor(Temporal source, String type, TInterpolation interpolat @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("bounding") void testBounding(TGeogPoint source, String type, STBox expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { //assertEquals(source.bounding_box_point().toString(15), expected.toString(15)); } else if (type == "TGeogPointSeq") { @@ -787,8 +828,9 @@ void testBounding(TGeogPoint source, String type, STBox expected) { @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testInterpolation(Temporal source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { assertEquals(source.interpolation(),interpolation); } else if (type == "TGeogPointSeq") { @@ -803,8 +845,9 @@ void testInterpolation(Temporal source, String type, TInterpolation interpolatio @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("asmfjson") void testAsmfjson(Temporal source, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); System.out.println(source.as_mfjson()); // assertEquals(source.as_mfjson(), expected); } @@ -813,8 +856,9 @@ void testAsmfjson(Temporal source, String type, String expected) { @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("fromstart") void testStartvalue(TGeogPoint source, String type, String expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_value(15).toString(), expected); } @@ -822,8 +866,9 @@ void testStartvalue(TGeogPoint source, String type, String expected) throws Par @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("endstart") void testEndvalue(TGeogPoint source, String type, String expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_value(15).toString(), expected); } @@ -831,8 +876,9 @@ void testEndvalue(TGeogPoint source, String type, String expected) throws Parse @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("test_time") void testTime(TGeogPoint source, String type, tstzspanset expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).time().toString(), expected.toString()); } @@ -841,8 +887,9 @@ void testTime(TGeogPoint source, String type, tstzspanset expected) throws Pars @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("period") void testtstzspan(TGeogPoint source, String type, tstzspan expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).period().toString(), expected.toString()); } @@ -850,16 +897,18 @@ void testtstzspan(TGeogPoint source, String type, tstzspan expected) throws Par @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("period") void testTimeSpan(TGeogPoint source, String type, tstzspan expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).period().toString(), expected.toString()); } @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("num_instant") void testNumInst(TGeogPoint source, String type, int expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).num_instants(), expected); } @@ -867,8 +916,9 @@ void testNumInst(TGeogPoint source, String type, int expected) throws ParseExce @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("start_instant") void testStartInstant(String source, String type, TGeogPoint expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { TGeogPointInst tg = new TGeogPointInst(source); TGeogPointInst new_tg = (TGeogPointInst) tg.start_instant(); @@ -889,8 +939,9 @@ void testStartInstant(String source, String type, TGeogPoint expected) throws P @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("end_instant") void testEndInstant(String source, String type, TGeogPoint expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst") { TGeogPointInst tg = new TGeogPointInst(source); TGeogPointInst new_tg = (TGeogPointInst) tg.end_instant(); @@ -910,8 +961,9 @@ void testEndInstant(String source, String type, TGeogPoint expected) throws Par @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("min_instant") void testMinInst(Temporal source, String type, TGeogPointInst expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TGeogPointInst)source.min_instant()).to_string(), expected.to_string()); } @@ -920,8 +972,9 @@ void testMinInst(Temporal source, String type, TGeogPointInst expected) throws @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("max_instant") void testMaxInst(Temporal source, String type, TGeogPointInst expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TGeogPointInst)source.max_instant()).to_string(), expected.to_string()); } @@ -929,8 +982,9 @@ void testMaxInst(Temporal source, String type, TGeogPointInst expected) throws @ParameterizedTest(name="source={0}, n={1}, expected={2}") @MethodSource("instantn") void testInstN(Temporal source, int n, TGeogPointInst expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TGeogPointInst)source.instant_n(n)).to_string(), expected.to_string()); } @@ -938,8 +992,9 @@ void testInstN(Temporal source, int n, TGeogPointInst expected) throws ParseExc @ParameterizedTest(name="source={0}, n={1}") @MethodSource("num_timestamps") void testNumTimestamps(Temporal source, int n) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.num_timestamps(), n); } @@ -947,8 +1002,9 @@ void testNumTimestamps(Temporal source, int n) throws ParseException { @ParameterizedTest(name="source={0}, local={1}") @MethodSource("start_timestamps") void testStartTimestamps(Temporal source, LocalDateTime local) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_timestamp(), local); } @@ -956,8 +1012,9 @@ void testStartTimestamps(Temporal source, LocalDateTime local) throws ParseExcep @ParameterizedTest(name="source={0}, local={1}") @MethodSource("end_timestamps") void testEndTimestamps(Temporal source, LocalDateTime local) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_timestamp(), local); } @@ -965,8 +1022,9 @@ void testEndTimestamps(Temporal source, LocalDateTime local) throws ParseExcepti @ParameterizedTest(name="source={0}, hash={1}") @MethodSource("hash") void testHash(Temporal source, long hash) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.hash(), hash); } @@ -974,8 +1032,9 @@ void testHash(Temporal source, long hash) throws ParseException { @ParameterizedTest(name="source={0}, hash={1}") @MethodSource("length") void testLength(TGeogPoint source, double hash) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TPoint)source).length(), hash); } @@ -983,8 +1042,9 @@ void testLength(TGeogPoint source, double hash) throws ParseException { @ParameterizedTest(name="source={0}, tfloat={1}") @MethodSource("cumullength") void testCumulLength(TGeogPoint source, TFloat tfloat) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals((source).cumulative_length().to_string(15), tfloat.to_string(15)); } @@ -992,8 +1052,9 @@ void testCumulLength(TGeogPoint source, TFloat tfloat) throws ParseException { @ParameterizedTest(name="source={0}, tfloat={1}") @MethodSource("xy") void testXY(TGeogPoint source, TFloat tfloat) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.x().to_string(15), tfloat.to_string(15)); assertEquals(source.y().to_string(15), tfloat.to_string(15)); } @@ -1002,8 +1063,9 @@ void testXY(TGeogPoint source, TFloat tfloat) throws ParseException { @ParameterizedTest(name="source={0}, tfloat={1}") @MethodSource("xyz") void testXYZ(TGeogPoint source, TFloat tfloat) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.x().to_string(15), tfloat.to_string(15)); assertEquals(source.y().to_string(15), tfloat.to_string(15)); assertEquals(source.z().to_string(15), tfloat.to_string(15)); @@ -1013,8 +1075,9 @@ void testXYZ(TGeogPoint source, TFloat tfloat) throws ParseException { @ParameterizedTest(name="source={0}, val={1}") @MethodSource("hasz") void testHasz(TGeogPoint source, boolean val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.has_z(), val); } @@ -1022,8 +1085,9 @@ void testHasz(TGeogPoint source, boolean val) throws ParseException { @ParameterizedTest(name="source={0}, val={1}") @MethodSource("is_simple") void testIsSimple(TGeogPoint source, boolean val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.is_simple(), val); } @@ -1031,8 +1095,9 @@ void testIsSimple(TGeogPoint source, boolean val) throws ParseException { @ParameterizedTest(name="source={0}, val={1}") @MethodSource("is_simple") void testSRID(TGeogPoint source, boolean val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.srid(), 4326); } @@ -1041,8 +1106,9 @@ void testSRID(TGeogPoint source, boolean val) throws ParseException { @ParameterizedTest(name="source={0}, type={1}, val={2}") @MethodSource("angular_difference") void testAngula(TGeogPoint source, String type, TFloat val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointSeq"){ TFloatSeqSet tf = (TFloatSeqSet) source.angular_difference().to_degrees(true); assertEquals(tf.to_string(15), val.to_string(15)); @@ -1057,8 +1123,9 @@ void testAngula(TGeogPoint source, String type, TFloat val) throws ParseExceptio @ParameterizedTest(name="source={0}, tgeog={1}") @MethodSource("to_instant") void testToInstant(Temporal source, TGeogPointInst tgeog) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TGeogPointInst tmp = (TGeogPointInst) source.to_instant(); assertTrue(tmp instanceof TGeogPointInst); assertEquals(tmp.to_string(),tgeog.to_string()); @@ -1068,8 +1135,9 @@ void testToInstant(Temporal source, TGeogPointInst tgeog) throws ParseException @ParameterizedTest(name="source={0}, interpolation={1}, tgeog={2}") @MethodSource("to_sequence") void testToSequence(Temporal source, TInterpolation interpolation, TGeogPointSeq tgeog) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TGeogPointSeq tmp = (TGeogPointSeq) source.to_sequence(interpolation); assertTrue(tmp instanceof TGeogPointSeq); assertEquals(tmp.to_string(),tgeog.to_string()); @@ -1079,8 +1147,9 @@ void testToSequence(Temporal source, TInterpolation interpolation, TGeogPointSeq @ParameterizedTest(name="source={0}, interpolation={1}, tgeog={2}") @MethodSource("to_sequenceset") void testToSequenceSet(Temporal source, TInterpolation interpolation, TGeogPointSeqSet tgeog) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TGeogPointSeqSet tmp = (TGeogPointSeqSet) source.to_sequenceset(interpolation); assertTrue(tmp instanceof TGeogPointSeqSet); assertEquals(tmp.to_string(),tgeog.to_string()); @@ -1090,8 +1159,9 @@ void testToSequenceSet(Temporal source, TInterpolation interpolation, TGeogPoint @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, tgeog={3}") @MethodSource("set_interp") void testSetInterp(Temporal source, String type, TInterpolation interpolation, TGeogPointSeq tgeog) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointInst"){ TGeogPointInst tmp = (TGeogPointInst) source.set_interpolation(interpolation); assertTrue(tmp instanceof TGeogPointInst); @@ -1113,8 +1183,9 @@ void testSetInterp(Temporal source, String type, TInterpolation interpolation, T @ParameterizedTest(name="source={0}, type={1}, tgeog={2}") @MethodSource("round") void testRound(TPoint source, String type, TPoint tgeog) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TGeogPointInst" ){ assertTrue(source instanceof TGeogPointInst); assertEquals(source.round(2).to_string(),tgeog.to_string()); @@ -1131,8 +1202,9 @@ void testRound(TPoint source, String type, TPoint tgeog) throws ParseException { @ParameterizedTest(name="source={0}, type={1}, add={2}, expected={3}") @MethodSource("insert") void testInsert(Temporal source, String type, Temporal add, Temporal expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointSeq"){ TGeogPointSeq tgeog = (TGeogPointSeq) source.insert(add); assertEquals(tgeog.to_string(), ((TGeogPointSeq) expected).to_string()); @@ -1146,8 +1218,9 @@ void testInsert(Temporal source, String type, Temporal add, Temporal expected) t @ParameterizedTest(name="source={0}, type={1}, tgeoseq={2}, expected={3}") @MethodSource("append_sequence") void testAppendSequence(Temporal source, String type, TGeogPointSeq tgeoseq, Temporal expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeogPointSeq"){ TGeogPointSeq tseq = (TGeogPointSeq) source.append_sequence(tgeoseq); diff --git a/jmeos-core/src/test/java/basic/TGeomPointTest.java b/jmeos-core/src/test/java/basic/TGeomPointTest.java index 23f989ddc..14ef1ebf2 100644 --- a/jmeos-core/src/test/java/basic/TGeomPointTest.java +++ b/jmeos-core/src/test/java/basic/TGeomPointTest.java @@ -1,6 +1,6 @@ package basic; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -52,8 +52,9 @@ public class TGeomPointTest { static error_handler_fn errorHandler = new error_handler(); private static Stream fromtemporal() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1.5 1.5)@2019-09-01"), "TGeomPointInst",TInterpolation.NONE, "POINT(1 1)@2019-09-01 00:00:00+00"), Arguments.of(new TGeomPointSeq("{Point(1.5 1.5)@2019-09-01, Point(2.5 2.5)@2019-09-02}"), "TGeomPointSeq",TInterpolation.DISCRETE, "{POINT(1 1)@2019-09-01 00:00:00+00, POINT(2 2)@2019-09-02 00:00:00+00}"), @@ -65,8 +66,9 @@ private static Stream fromtemporal() { static Stream from_time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"), "TGeomPointSeq", TInterpolation.DISCRETE), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"), "TGeomPointSeqSet", TInterpolation.LINEAR), @@ -77,8 +79,9 @@ static Stream from_time() throws SQLException { private static Stream fromstring() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst",TInterpolation.NONE, "POINT(1 1)@2019-09-01 00:00:00+00"), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq",TInterpolation.DISCRETE, "{POINT(1 1)@2019-09-01 00:00:00+00, POINT(2 2)@2019-09-02 00:00:00+00}"), @@ -89,8 +92,9 @@ private static Stream fromstring() { private static Stream bounding() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", new STBox("STBOX XT(((1, 1),(1, 1)),[2019-09-01, 2019-09-01])") ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", new STBox("STBOX XT(((1, 1),(2, 2)),[2019-09-01, 2019-09-02])") ), @@ -101,8 +105,9 @@ private static Stream bounding() { private static Stream fromstart() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", "POINT (1 1)" ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", "POINT (1 1)" ), @@ -113,8 +118,9 @@ private static Stream fromstart() { private static Stream endstart() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", "POINT (1 1)" ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", "POINT (2 2)" ), @@ -125,8 +131,9 @@ private static Stream endstart() { private static Stream test_time() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", new tstzspanset("{[2019-09-01, 2019-09-01]}") ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", new tstzspanset("{[2019-09-01, 2019-09-01], [2019-09-02, 2019-09-02]}") ), @@ -137,8 +144,9 @@ private static Stream test_time() { private static Stream period() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", new tstzspan("[2019-09-01, 2019-09-01]") ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", new tstzspan("[2019-09-01, 2019-09-02]") ), @@ -148,8 +156,9 @@ private static Stream period() { } private static Stream num_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", 1 ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", 2 ), @@ -160,8 +169,9 @@ private static Stream num_instant() { private static Stream start_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("Point(1 1)@2019-09-01", "TGeomPointInst", new TGeomPointInst("Point(1 1)@2019-09-01") ), Arguments.of("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}", "TGeomPointSeq", new TGeomPointInst("Point(1 1)@2019-09-01") ), @@ -174,8 +184,9 @@ private static Stream start_instant() { private static Stream end_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("Point(1 1)@2019-09-01", "TGeomPointInst", new TGeomPointInst("Point(1 1)@2019-09-01") ), Arguments.of("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}", "TGeomPointSeq", new TGeomPointInst("Point(2 2)@2019-09-02") ), @@ -186,8 +197,9 @@ private static Stream end_instant() { private static Stream asmfjson() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); String jsonString1 = "{\n" + " \"type\": \"MovingGeomPoint\",\n" + " \"bbox\": [\n" + @@ -366,8 +378,9 @@ private static Stream asmfjson() { private static Stream min_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", new TGeomPointInst("Point(1 1)@2019-09-01") ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", new TGeomPointInst("Point(1 1)@2019-09-01") ), @@ -378,8 +391,9 @@ private static Stream min_instant() { private static Stream max_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", new TGeomPointInst("Point(1 1)@2019-09-01") ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq", new TGeomPointInst("Point(2 2)@2019-09-02") ), @@ -390,8 +404,9 @@ private static Stream max_instant() { private static Stream instantn() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), 0, new TGeomPointInst("Point(1 1)@2019-09-01") ), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 1, new TGeomPointInst("Point(2 2)@2019-09-02") ), @@ -402,8 +417,9 @@ private static Stream instantn() { private static Stream num_timestamps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), 1), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 2), @@ -415,8 +431,9 @@ private static Stream num_timestamps() { private static Stream start_timestamps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), LocalDateTime.of(2019, 9, 1, 0, 0,0)), @@ -427,8 +444,9 @@ private static Stream start_timestamps() { private static Stream end_timestamps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -440,8 +458,9 @@ private static Stream end_timestamps() { private static Stream hash() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), 382694564), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 1664033448), @@ -452,8 +471,9 @@ private static Stream hash() { private static Stream lower_inc() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), true), Arguments.of(new TGeomPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), true) @@ -463,8 +483,9 @@ private static Stream lower_inc() { private static Stream length() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), 0), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), 0), @@ -475,8 +496,9 @@ private static Stream length() { private static Stream cumullength() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), new TFloatInst("0@2019-09-01")), Arguments.of(new TGeomPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), new TFloatSeq("[0@2019-09-01, 1.4142135623730951@2019-09-02]")), @@ -486,8 +508,9 @@ private static Stream cumullength() { private static Stream speed() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), null), Arguments.of(new TGeomPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), new TFloatSeq("[1.8157@2019-09-01, 1.8157@2019-09-02]")), @@ -497,8 +520,9 @@ private static Stream speed() { private static Stream xy() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), new TFloatInst("1@2019-09-01")), Arguments.of(new TGeomPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), new TFloatSeq("[1@2019-09-01, 2@2019-09-02]")), @@ -508,8 +532,9 @@ private static Stream xy() { private static Stream xyz() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1 1)@2019-09-01"), new TFloatInst("1@2019-09-01")), Arguments.of(new TGeomPointSeq("[Point(1 1 1)@2019-09-01, Point(2 2 2)@2019-09-02]"), new TFloatSeq("[1@2019-09-01, 2@2019-09-02]")), @@ -519,8 +544,9 @@ private static Stream xyz() { private static Stream hasz() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), false), Arguments.of(new TGeomPointSeq("[Point(1 1 1)@2019-09-01, Point(2 2 2)@2019-09-02]"), true), @@ -530,8 +556,9 @@ private static Stream hasz() { private static Stream is_simple() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), true), Arguments.of(new TGeomPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"), true), @@ -541,8 +568,9 @@ private static Stream is_simple() { private static Stream angular_difference() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02], [Point(1 1)@2019-09-03, Point(1 1)@2019-09-05]}"), "TGeomPointSeqSet", new TFloatSeqSet("{0@2019-09-01,0@2019-09-02}")) ); @@ -551,8 +579,9 @@ private static Stream angular_difference() { private static Stream togeom() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), new TGeomPointInst("Point(1 1)@2019-09-01")) //Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}")), @@ -563,8 +592,9 @@ private static Stream togeom() { private static Stream to_instant() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), new TGeomPointInst("Point(1 1)@2019-09-01")), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01}"), new TGeomPointInst("Point(1 1)@2019-09-01")), @@ -576,8 +606,9 @@ private static Stream to_instant() { private static Stream to_sequence() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), TInterpolation.LINEAR, new TGeomPointSeq("[Point(1 1)@2019-09-01]")), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), TInterpolation.DISCRETE, new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}")), @@ -588,8 +619,9 @@ private static Stream to_sequence() { private static Stream to_sequenceset() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), TInterpolation.LINEAR, new TGeomPointSeqSet("{[Point(1 1)@2019-09-01]}")), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), TInterpolation.LINEAR, new TGeomPointSeqSet("{[Point(1 1)@2019-09-01], [Point(2 2)@2019-09-02]}")), @@ -601,8 +633,9 @@ private static Stream to_sequenceset() { private static Stream set_interp() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1 1)@2019-09-01"), "TGeomPointInst", TInterpolation.DISCRETE, new TGeomPointSeq("{Point(1 1)@2019-09-01}")), Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"),"TGeomPointSeq", TInterpolation.DISCRETE, new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}")), @@ -613,8 +646,9 @@ private static Stream set_interp() { private static Stream round() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointInst("Point(1.123456789 1.123456789)@2019-09-01"), "TGeomPointInst", new TGeomPointInst("Point(1.12 1.12)@2019-09-01")), Arguments.of(new TGeomPointSeq("{Point(1.123456789 1.123456789)@2019-09-01, Point(2.123456789 2.123456789)@2019-09-02}"),"TGeomPointSeq", new TGeomPointSeq("{Point(1.12 1.12)@2019-09-01,Point(2.12 2.12)@2019-09-02}")), @@ -625,8 +659,9 @@ private static Stream round() { private static Stream insert() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02}"), "TGeomPointSeq",new TGeomPointSeq("{Point(1 1)@2019-09-03}"), new TGeomPointSeq("{Point(1 1)@2019-09-01, Point(2 2)@2019-09-02, Point(1 1)@2019-09-03}") ), Arguments.of(new TGeomPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02], [Point(1 1)@2019-09-03, Point(1 1)@2019-09-05]}"), "TGeomPointSeqSet", new TGeomPointSeq("[Point(1 1)@2019-09-06]"), new TGeomPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02],[Point(1 1)@2019-09-03, Point(1 1)@2019-09-05],[Point(1 1)@2019-09-06]}")) @@ -636,8 +671,9 @@ private static Stream insert() { private static Stream append_sequence() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TGeomPointSeq("[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02]"),"TGeomPointSeq", new TGeomPointSeq("[Point(1 1)@2019-09-03]"), new TGeomPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02], [Point(1 1)@2019-09-03]}")), Arguments.of(new TGeomPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02],[Point(1 1)@2019-09-03, Point(1 1)@2019-09-05]}"), "TGeomPointSeqSet", new TGeomPointSeq("[Point(1 1)@2019-09-06]"), new TGeomPointSeqSet("{[Point(1 1)@2019-09-01, Point(2 2)@2019-09-02],[Point(1 1)@2019-09-03, Point(1 1)@2019-09-05],[Point(1 1)@2019-09-06]}")) @@ -670,8 +706,9 @@ private static Stream append_sequence() { @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromtemporal") void testFromTemporalConstructor(TGeomPoint source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { GeometryFactory factory4326 = new GeometryFactory(new PrecisionModel(PrecisionModel.FLOATING), 4326); Point point = factory4326.createPoint(new Coordinate(1, 1)); @@ -697,8 +734,9 @@ void testFromTemporalConstructor(TGeomPoint source, String type, TInterpolation @ParameterizedTest(name="source={0}, type={1}, interpolation={2}") @MethodSource("from_time") void testFromBaseTimeConstructor(Time source, String type, TInterpolation interpolation) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { GeometryFactory factory4326 = new GeometryFactory(new PrecisionModel(PrecisionModel.FLOATING)); Point p = factory4326.createPoint(new Coordinate(1, 1)); @@ -720,8 +758,9 @@ void testFromBaseTimeConstructor(Time source, String type, TInterpolation interp @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testFromStringConstructor(TGeomPoint source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { TGeomPointInst ti = new TGeomPointInst(expected); assertTrue(ti instanceof TGeomPointInst); @@ -744,8 +783,9 @@ void testFromStringConstructor(TGeomPoint source, String type, TInterpolation in @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testCopyConstructor(Temporal source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { TGeomPointInst ti = (TGeomPointInst) source.copy(); assertTrue(ti instanceof TGeomPointInst); @@ -768,8 +808,9 @@ void testCopyConstructor(Temporal source, String type, TInterpolation interpolat @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("bounding") void testBounding(TGeomPoint source, String type, STBox expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { //assertEquals(source.bounding_box_point().toString(15), expected.toString(15)); } else if (type == "TGeomPointSeq") { @@ -784,8 +825,9 @@ void testBounding(TGeomPoint source, String type, STBox expected) { @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testInterpolation(Temporal source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { assertEquals(source.interpolation(),interpolation); } else if (type == "TGeomPointSeq") { @@ -800,8 +842,9 @@ void testInterpolation(Temporal source, String type, TInterpolation interpolatio @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("asmfjson") void testAsmfjson(Temporal source, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); System.out.println(source.as_mfjson()); } @@ -809,8 +852,9 @@ void testAsmfjson(Temporal source, String type, String expected) { @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("fromstart") void testStartvalue(TGeomPoint source, String type, String expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_value(15).toString(), expected); } @@ -818,8 +862,9 @@ void testStartvalue(TGeomPoint source, String type, String expected) throws Par @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("endstart") void testEndvalue(TGeomPoint source, String type, String expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_value(15).toString(), expected); } @@ -827,8 +872,9 @@ void testEndvalue(TGeomPoint source, String type, String expected) throws Parse @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("test_time") void testTime(TGeomPoint source, String type, tstzspanset expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).time().toString(), expected.toString()); } @@ -837,8 +883,9 @@ void testTime(TGeomPoint source, String type, tstzspanset expected) throws Pars @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("period") void testtstzspan(TGeomPoint source, String type, tstzspan expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).period().toString(), expected.toString()); } @@ -846,16 +893,18 @@ void testtstzspan(TGeomPoint source, String type, tstzspan expected) throws Par @ParameterizedTest(name="source={0}, type{1}, expected={2}") @MethodSource("period") void testTimeSpan(TGeomPoint source, String type, tstzspan expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).period().toString(), expected.toString()); } @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("num_instant") void testNumInst(TGeomPoint source, String type, int expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((Temporal)source).num_instants(), expected); } @@ -863,8 +912,9 @@ void testNumInst(TGeomPoint source, String type, int expected) throws ParseExce @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("start_instant") void testStartInstant(String source, String type, TGeomPoint expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { TGeomPointInst tg = new TGeomPointInst(source); TGeomPointInst new_tg = (TGeomPointInst) tg.start_instant(); @@ -885,8 +935,9 @@ void testStartInstant(String source, String type, TGeomPoint expected) throws P @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("end_instant") void testEndInstant(String source, String type, TGeomPoint expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst") { TGeomPointInst tg = new TGeomPointInst(source); TGeomPointInst new_tg = (TGeomPointInst) tg.end_instant(); @@ -906,8 +957,9 @@ void testEndInstant(String source, String type, TGeomPoint expected) throws Par @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("min_instant") void testMinInst(Temporal source, String type, TGeomPointInst expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TGeomPointInst)source.min_instant()).to_string(), expected.to_string()); } @@ -916,8 +968,9 @@ void testMinInst(Temporal source, String type, TGeomPointInst expected) throws @ParameterizedTest(name="source={0}, type={1}, expected={2}") @MethodSource("max_instant") void testMaxInst(Temporal source, String type, TGeomPointInst expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TGeomPointInst)source.max_instant()).to_string(), expected.to_string()); } @@ -925,8 +978,9 @@ void testMaxInst(Temporal source, String type, TGeomPointInst expected) throws @ParameterizedTest(name="source={0}, n={1}, expected={2}") @MethodSource("instantn") void testInstN(Temporal source, int n, TGeomPointInst expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TGeomPointInst)source.instant_n(n)).to_string(), expected.to_string()); } @@ -934,8 +988,9 @@ void testInstN(Temporal source, int n, TGeomPointInst expected) throws ParseExc @ParameterizedTest(name="source={0}, n={1}") @MethodSource("num_timestamps") void testNumTimestamps(Temporal source, int n) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.num_timestamps(), n); } @@ -943,8 +998,9 @@ void testNumTimestamps(Temporal source, int n) throws ParseException { @ParameterizedTest(name="source={0}, local={1}") @MethodSource("start_timestamps") void testStartTimestamps(Temporal source, LocalDateTime local) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_timestamp(), local); } @@ -952,8 +1008,9 @@ void testStartTimestamps(Temporal source, LocalDateTime local) throws ParseExcep @ParameterizedTest(name="source={0}, local={1}") @MethodSource("end_timestamps") void testEndTimestamps(Temporal source, LocalDateTime local) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_timestamp(), local); } @@ -961,8 +1018,9 @@ void testEndTimestamps(Temporal source, LocalDateTime local) throws ParseExcepti @ParameterizedTest(name="source={0}, hash={1}") @MethodSource("hash") void testHash(Temporal source, long hash) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.hash(), hash); } @@ -970,8 +1028,9 @@ void testHash(Temporal source, long hash) throws ParseException { @ParameterizedTest(name="source={0}, hash={1}") @MethodSource("length") void testLength(TGeomPoint source, double hash) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TPoint)source).length(), hash); } @@ -979,8 +1038,9 @@ void testLength(TGeomPoint source, double hash) throws ParseException { @ParameterizedTest(name="source={0}, tfloat={1}") @MethodSource("cumullength") void testCumulLength(TGeomPoint source, TFloat tfloat) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals((source).cumulative_length().to_string(15), tfloat.to_string(15)); } @@ -988,8 +1048,9 @@ void testCumulLength(TGeomPoint source, TFloat tfloat) throws ParseException { @ParameterizedTest(name="source={0}, tfloat={1}") @MethodSource("xy") void testXY(TGeomPoint source, TFloat tfloat) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.x().to_string(15), tfloat.to_string(15)); assertEquals(source.y().to_string(15), tfloat.to_string(15)); } @@ -998,8 +1059,9 @@ void testXY(TGeomPoint source, TFloat tfloat) throws ParseException { @ParameterizedTest(name="source={0}, tfloat={1}") @MethodSource("xyz") void testXYZ(TGeomPoint source, TFloat tfloat) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.x().to_string(15), tfloat.to_string(15)); assertEquals(source.y().to_string(15), tfloat.to_string(15)); assertEquals(source.z().to_string(15), tfloat.to_string(15)); @@ -1009,8 +1071,9 @@ void testXYZ(TGeomPoint source, TFloat tfloat) throws ParseException { @ParameterizedTest(name="source={0}, val={1}") @MethodSource("hasz") void testHasz(TGeomPoint source, boolean val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.has_z(), val); } @@ -1018,8 +1081,9 @@ void testHasz(TGeomPoint source, boolean val) throws ParseException { @ParameterizedTest(name="source={0}, val={1}") @MethodSource("is_simple") void testIsSimple(TGeomPoint source, boolean val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.is_simple(), val); } @@ -1027,8 +1091,9 @@ void testIsSimple(TGeomPoint source, boolean val) throws ParseException { @ParameterizedTest(name="source={0}, val={1}") @MethodSource("is_simple") void testSRID(TGeomPoint source, boolean val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.srid(), 0); } @@ -1037,8 +1102,9 @@ void testSRID(TGeomPoint source, boolean val) throws ParseException { @ParameterizedTest(name="source={0}, type={1}, val={2}") @MethodSource("angular_difference") void testAngula(TGeomPoint source, String type, TFloat val) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointSeq"){ TFloatSeqSet tf = (TFloatSeqSet) source.angular_difference().to_degrees(true); assertEquals(tf.to_string(15), val.to_string(15)); @@ -1053,8 +1119,9 @@ void testAngula(TGeomPoint source, String type, TFloat val) throws ParseExceptio @ParameterizedTest(name="source={0}, TGeom={1}") @MethodSource("to_instant") void testToInstant(Temporal source, TGeomPointInst TGeom) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TGeomPointInst tmp = (TGeomPointInst) source.to_instant(); assertTrue(tmp instanceof TGeomPointInst); assertEquals(tmp.to_string(),TGeom.to_string()); @@ -1064,8 +1131,9 @@ void testToInstant(Temporal source, TGeomPointInst TGeom) throws ParseException @ParameterizedTest(name="source={0}, interpolation={1}, TGeom={2}") @MethodSource("to_sequence") void testToSequence(Temporal source, TInterpolation interpolation, TGeomPointSeq TGeom) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TGeomPointSeq tmp = (TGeomPointSeq) source.to_sequence(interpolation); assertTrue(tmp instanceof TGeomPointSeq); assertEquals(tmp.to_string(),TGeom.to_string()); @@ -1075,8 +1143,9 @@ void testToSequence(Temporal source, TInterpolation interpolation, TGeomPointSeq @ParameterizedTest(name="source={0}, interpolation={1}, TGeom={2}") @MethodSource("to_sequenceset") void testToSequenceSet(Temporal source, TInterpolation interpolation, TGeomPointSeqSet TGeom) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TGeomPointSeqSet tmp = (TGeomPointSeqSet) source.to_sequenceset(interpolation); assertTrue(tmp instanceof TGeomPointSeqSet); assertEquals(tmp.to_string(),TGeom.to_string()); @@ -1086,8 +1155,9 @@ void testToSequenceSet(Temporal source, TInterpolation interpolation, TGeomPoint @ParameterizedTest(name="source={0}, type={1}, interpolation={2}, TGeom={3}") @MethodSource("set_interp") void testSetInterp(Temporal source, String type, TInterpolation interpolation, TGeomPointSeq TGeom) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointInst"){ TGeomPointInst tmp = (TGeomPointInst) source.set_interpolation(interpolation); assertTrue(tmp instanceof TGeomPointInst); @@ -1109,8 +1179,9 @@ void testSetInterp(Temporal source, String type, TInterpolation interpolation, T @ParameterizedTest(name="source={0}, type={1}, TGeom={2}") @MethodSource("round") void testRound(TPoint source, String type, TPoint TGeom) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TGeomPointInst" ){ assertTrue(source instanceof TGeomPointInst); assertEquals(source.round(2).to_string(),TGeom.to_string()); @@ -1127,8 +1198,9 @@ void testRound(TPoint source, String type, TPoint TGeom) throws ParseException { @ParameterizedTest(name="source={0}, type={1}, add={2}, expected={3}") @MethodSource("insert") void testInsert(Temporal source, String type, Temporal add, Temporal expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointSeq"){ TGeomPointSeq TGeom = (TGeomPointSeq) source.insert(add); assertEquals(TGeom.to_string(), ((TGeomPointSeq) expected).to_string()); @@ -1142,8 +1214,9 @@ void testInsert(Temporal source, String type, Temporal add, Temporal expected) t @ParameterizedTest(name="source={0}, type={1}, tgeoseq={2}, expected={3}") @MethodSource("append_sequence") void testAppendSequence(Temporal source, String type, TGeomPointSeq tgeoseq, Temporal expected) throws ParseException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TGeomPointSeq"){ TGeomPointSeq tseq = (TGeomPointSeq) source.append_sequence(tgeoseq); diff --git a/jmeos-core/src/test/java/basic/TIntTest.java b/jmeos-core/src/test/java/basic/TIntTest.java index 850b4afe4..d96f994a6 100644 --- a/jmeos-core/src/test/java/basic/TIntTest.java +++ b/jmeos-core/src/test/java/basic/TIntTest.java @@ -1,5 +1,5 @@ package basic; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -36,8 +36,9 @@ public class TIntTest { static error_handler_fn errorHandler = new error_handler(); private static Stream frombasetemporal() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TFloatInst("1.5@2019-09-01"), "TIntInst", TInterpolation.NONE), Arguments.of(new TFloatSeq("[1.5@2019-09-01, 0.5@2019-09-02]"), "TIntSeq", TInterpolation.STEPWISE), @@ -47,8 +48,9 @@ private static Stream frombasetemporal() { private static Stream frombasetime() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"), "TIntSeq", TInterpolation.DISCRETE), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"), "TIntSeq", TInterpolation.STEPWISE), @@ -68,8 +70,9 @@ private static Stream fromstring() { private static Stream fromcopy() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst"), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq"), @@ -78,8 +81,9 @@ private static Stream fromcopy() { } private static Stream totfloat() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", "1@2019-09-01 00:00:00+00"), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", "Interp=Step;[1@2019-09-01 00:00:00+00, 2@2019-09-02 00:00:00+00]"), @@ -90,8 +94,9 @@ private static Stream totfloat() { private static Stream bounding() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TBox("TBOXINT XT([1,1],[2019-09-01, 2019-09-01])")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new TBox("TBOXINT XT([1,2],[2019-09-01, 2019-09-02])")), @@ -100,8 +105,9 @@ private static Stream bounding() throws SQLException { } private static Stream interp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", TInterpolation.NONE), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", TInterpolation.STEPWISE), @@ -111,8 +117,9 @@ private static Stream interp() throws SQLException { private static Stream value_span() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new IntSpan(1, 1, true, true)), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new IntSpan(1, 2, true, true)), @@ -122,8 +129,9 @@ private static Stream value_span() throws SQLException { private static Stream value_spans() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new IntSpanSet("{[1,1]}")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new IntSpanSet("{[1,2]}")), @@ -133,8 +141,9 @@ private static Stream value_spans() throws SQLException { private static Stream start_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", 1), @@ -144,8 +153,9 @@ private static Stream start_value() throws SQLException { private static Stream end_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", 2), @@ -155,8 +165,9 @@ private static Stream end_value() throws SQLException { private static Stream min_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", 1), @@ -166,8 +177,9 @@ private static Stream min_value() throws SQLException { private static Stream max_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", 2), @@ -177,8 +189,9 @@ private static Stream max_value() throws SQLException { private static Stream time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new tstzspanset("{[2019-09-01, 2019-09-01]}")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new tstzspanset("{[2019-09-01, 2019-09-02]}")), @@ -188,8 +201,9 @@ private static Stream time() throws SQLException { private static Stream period() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new tstzspan("[2019-09-01, 2019-09-01]")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new tstzspan("[2019-09-01, 2019-09-02]")), @@ -198,8 +212,9 @@ private static Stream period() throws SQLException { } private static Stream num_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq",2), @@ -210,8 +225,9 @@ private static Stream num_instant() throws SQLException { private static Stream start_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntInst("1@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq",new TIntInst("1@2019-09-01")), @@ -222,8 +238,9 @@ private static Stream start_instant() throws SQLException { private static Stream end_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntInst("1@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq",new TIntInst("2@2019-09-02")), @@ -233,8 +250,9 @@ private static Stream end_instant() throws SQLException { private static Stream max_instant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntInst("1@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq",new TIntInst("2@2019-09-02")), @@ -244,8 +262,9 @@ private static Stream max_instant() throws SQLException { private static Stream instant_n() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), 0, new TIntInst("1@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), 1,new TIntInst("2@2019-09-02")), @@ -256,8 +275,9 @@ private static Stream instant_n() throws SQLException { private static Stream num_timestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), 1, new TIntInst("1@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), 2,new TIntInst("2@2019-09-02")), @@ -268,8 +288,9 @@ private static Stream num_timestamps() throws SQLException { private static Stream start_timestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), 1, LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), 2, LocalDateTime.of(2019, 9, 1, 0, 0,0)), @@ -279,8 +300,9 @@ private static Stream start_timestamps() throws SQLException { private static Stream end_timestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), 1, LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), 2, LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -290,8 +312,9 @@ private static Stream end_timestamps() throws SQLException { private static Stream hash() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), 440045287, LocalDateTime.of(2019, 9, 1, 0, 0,0)), // Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), 3589664982l, LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -301,8 +324,9 @@ private static Stream hash() throws SQLException { private static Stream toinstant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntInst("1@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01]"), "TIntSeq", new TIntInst("1@2019-09-01")), @@ -312,8 +336,9 @@ private static Stream toinstant() throws SQLException { private static Stream tosequence() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", TInterpolation.NONE, new TIntSeq("[1@2019-09-01]")), // Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", TInterpolation.DISCRETE, new TIntSeq("[1@2019-09-01, 2@2019-09-02]")) @@ -323,8 +348,9 @@ private static Stream tosequence() throws SQLException { private static Stream tosequenceset() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", TInterpolation.NONE, new TIntSeqSet("{[1@2019-09-01]}")) // Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", TInterpolation.STEPWISE, new TIntSeqSet("{[1@2019-09-01, 2@2019-09-02]}")) @@ -334,8 +360,9 @@ private static Stream tosequenceset() throws SQLException { private static Stream insert() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntSeq("{1@2019-09-03}"), new TIntSeq("{1@2019-09-01, 1@2019-09-03}")), Arguments.of(new TIntSeq("{[1@2019-09-01, 2@2019-09-02]}"), "TIntSeq", new TIntSeq("[1@2019-09-03]"), new TIntSeqSet("{[1@2019-09-01, 2@2019-09-02], [1@2019-09-03]}")), @@ -345,8 +372,9 @@ private static Stream insert() throws SQLException { private static Stream update() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntInst("2@2019-09-01"), new TIntInst("2@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new TIntInst("2@2019-09-01"), new TIntSeqSet("{[2@2019-09-01], (1@2019-09-01, 2@2019-09-02]}")), @@ -356,8 +384,9 @@ private static Stream update() throws SQLException { private static Stream append_sequence() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new TIntSeq("[1@2019-09-03]"), new TIntSeqSet("{[1@2019-09-01, 2@2019-09-02], [1@2019-09-03]}")), Arguments.of(new TIntSeqSet("{[1@2019-09-01, 2@2019-09-02],[1@2019-09-03, 1@2019-09-05]}"), "TIntSeqSet", new TIntSeq("[1@2019-09-06]"), new TIntSeqSet("{[1@2019-09-01, 2@2019-09-02],[1@2019-09-03, 1@2019-09-05],[1@2019-09-06]}")) @@ -366,8 +395,9 @@ private static Stream append_sequence() throws SQLException { private static Stream abs() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", new TIntInst("2@2019-09-01"), new TIntInst("2@2019-09-01")), Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new TIntInst("2@2019-09-01"), new TIntSeqSet("{[2@2019-09-01], (1@2019-09-01, 2@2019-09-02]}")), @@ -377,8 +407,9 @@ private static Stream abs() throws SQLException { private static Stream delta_value() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntSeq("[1@2019-09-01, 2@2019-09-02]"), "TIntSeq", new TIntInst("2@2019-09-01"), new TIntSeq("[1@2019-09-01, 1@2019-09-02)")), Arguments.of(new TIntSeqSet("{[1@2019-09-01, 2@2019-09-02],[1@2019-09-03, 1@2019-09-05]}"), "TIntSeqSet", new TIntInst("2@2019-09-01"), new TIntSeqSet("{[1@2019-09-01, 1@2019-09-02),[0@2019-09-03, 0@2019-09-05)}")) @@ -388,8 +419,9 @@ private static Stream delta_value() throws SQLException { private static Stream always_equal() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1, true ), Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 2, false ), @@ -403,8 +435,9 @@ private static Stream always_equal() throws SQLException { private static Stream ever_equal() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1, true ), Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 2, false ), @@ -418,8 +451,9 @@ private static Stream ever_equal() throws SQLException { private static Stream ever_greater() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 1, false ), Arguments.of(new TIntInst("1@2019-09-01"), "TIntInst", 2, true ), @@ -452,8 +486,9 @@ private static Stream ever_greater() throws SQLException { @ParameterizedTest(name="source={0}, type={1}, interpolation={2}") @MethodSource("frombasetime") void testFromBaseTimeConstructor(Time source, String type, TInterpolation interpolation) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TIntSeq") { System.out.println(source.toString()); TIntSeq ti = (TIntSeq)TInt.from_base_time(1, source, interpolation); @@ -474,8 +509,9 @@ void testFromBaseTimeConstructor(Time source, String type, TInterpolation interp @ParameterizedTest(name ="source={0}, type={1}, interpolation={2}") @MethodSource("frombasetemporal") void testFromBaseTemporalConstructor(Temporal source, String type, TInterpolation interpolation) { - //functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + //GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TIntInst ti = new TIntInst(); TIntInst new_ti = (TIntInst) ti.from_base_temporal(1,source,interpolation); @@ -502,8 +538,9 @@ else if (type == "TIntSeq") { @ParameterizedTest(name ="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testStringConstructor(String source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TIntInst tinst = new TIntInst(source); assertTrue(tinst instanceof TIntInst); @@ -530,8 +567,9 @@ else if (type == "TIntSeq") { @ParameterizedTest(name ="source={0}, type={1}") @MethodSource("fromcopy") void testCopyConstructor(Temporal source, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TIntInst tb = (TIntInst)source.copy(); assertEquals(tb.to_string(),(((TIntInst) source).to_string())); @@ -551,8 +589,9 @@ else if (type == "TIntSeq") { @ParameterizedTest(name ="source={0}, type={1}, interpolation={2}, expected={3}") @MethodSource("fromstring") void testString(String source, String type, TInterpolation interpolation, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TIntInst tinst = new TIntInst(source); assertEquals(tinst.to_string(),expected); @@ -571,8 +610,9 @@ else if (type == "TIntSeq") { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("totfloat") void testToTfloat(TInt source, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TFloatInst tinst = (TFloatInst) source.to_tfloat(); assertEquals(tinst.to_string(2),expected); @@ -592,8 +632,9 @@ else if (type == "TIntSeq") { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("bounding") void testBoundingBox(Temporal source, String type, Box expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.bounding_box().toString(),expected.to_period().toString()); } @@ -601,8 +642,9 @@ void testBoundingBox(Temporal source, String type, Box expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("interp") void testInterpolation(Temporal source, String type, TInterpolation expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.interpolation(),expected); } @@ -610,8 +652,9 @@ void testInterpolation(Temporal source, String type, TInterpolation expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("value_span") void testValueSpan(TInt source, String type, IntSpan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.value_span().toString(),expected.toString()); } @@ -619,8 +662,9 @@ void testValueSpan(TInt source, String type, IntSpan expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("value_spans") void testValuesSpan(TInt source, String type, IntSpanSet expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.value_spans().toString(),expected.toString()); } @@ -628,8 +672,9 @@ void testValuesSpan(TInt source, String type, IntSpanSet expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("start_value") void testStart_value(TInt source, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_value(),expected); } @@ -637,8 +682,9 @@ void testStart_value(TInt source, String type, int expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("end_value") void testEnd_value(TInt source, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_value(),expected); } @@ -646,8 +692,9 @@ void testEnd_value(TInt source, String type, int expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("min_value") void testMin_value(TInt source, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.min_value(),expected); } @@ -655,8 +702,9 @@ void testMin_value(TInt source, String type, int expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("max_value") void testMax_value(TInt source, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.max_value(),expected); } @@ -664,8 +712,9 @@ void testMax_value(TInt source, String type, int expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("time") void testTime(Temporal source, String type, tstzspanset expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.time().toString(),expected.toString()); } @@ -674,8 +723,9 @@ void testTime(Temporal source, String type, tstzspanset expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("period") void testtstzspan(Temporal source, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.period().toString(),expected.toString()); } @@ -683,8 +733,9 @@ void testtstzspan(Temporal source, String type, tstzspan expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("period") void testTimespan(Temporal source, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.timespan().toString(),expected.toString()); } @@ -692,8 +743,9 @@ void testTimespan(Temporal source, String type, tstzspan expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("num_instant") void testNumInstant(Temporal source, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.num_instants(),expected); } @@ -701,8 +753,9 @@ void testNumInstant(Temporal source, String type, int expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("start_instant") void testStartInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TIntInst)source.start_instant()).to_string(),((TIntInst)expected.start_instant()).to_string()); } @@ -710,8 +763,9 @@ void testStartInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("end_instant") void testEndInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TIntInst)source.end_instant()).to_string(),((TIntInst)expected.end_instant()).to_string()); } @@ -720,8 +774,9 @@ void testEndInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("start_instant") void testMinInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TIntInst)source.min_instant()).to_string(),((TIntInst)expected.min_instant()).to_string()); } @@ -729,8 +784,9 @@ void testMinInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("max_instant") void testMaxInstant(Temporal source, String type, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TIntInst)source.max_instant()).to_string(),((TIntInst)expected.max_instant()).to_string()); } @@ -739,8 +795,9 @@ void testMaxInstant(Temporal source, String type, Temporal expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("instant_n") void testInstant_n(Temporal source, int n, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TIntInst)source.instant_n(n)).to_string(),((TIntInst)expected).to_string()); } @@ -748,8 +805,9 @@ void testInstant_n(Temporal source, int n, Temporal expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("num_timestamps") void testNumTimestamps(Temporal source, int n, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.num_timestamps(),n); } @@ -757,8 +815,9 @@ void testNumTimestamps(Temporal source, int n, Temporal expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("start_timestamps") void testStartTimestamps(Temporal source, int n, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.start_timestamp(),expected); } @@ -766,8 +825,9 @@ void testStartTimestamps(Temporal source, int n, LocalDateTime expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("end_timestamps") void testEndTimestamps(Temporal source, int n, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.end_timestamp(),expected); } @@ -775,8 +835,9 @@ void testEndTimestamps(Temporal source, int n, LocalDateTime expected) { @ParameterizedTest(name ="source={0}, n={1}, expected={2}") @MethodSource("hash") void testHash(Temporal source, long n, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(source.hash(),n); } @@ -784,8 +845,9 @@ void testHash(Temporal source, long n, LocalDateTime expected) { @ParameterizedTest(name ="source={0}, type={1}, expected={2}") @MethodSource("toinstant") void testToinstant(Temporal source, String type, TIntInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TIntInst tmp = (TIntInst) source.to_instant(); assertTrue(tmp instanceof TIntInst); assertEquals(tmp.to_string(),expected.to_string()); @@ -797,8 +859,9 @@ void testToinstant(Temporal source, String type, TIntInst expected) { @ParameterizedTest(name ="source={0}, type={1}, interp={2}, expected={3}") @MethodSource("tosequence") void testTosequence(Temporal source, String type, TInterpolation interp, TIntSeq expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); System.out.println(source.to_sequence(interp).start_timestamp()); // System.out.println(source.to_sequenceset(interp)); TIntSeq tmp = (TIntSeq) source.to_sequence(interp); @@ -810,8 +873,9 @@ void testTosequence(Temporal source, String type, TInterpolation interp, TIntSeq @ParameterizedTest(name ="source={0}, type={1}, interp={2}, expected={3}") @MethodSource("tosequenceset") void testTosequenceset(Temporal source, String type, TInterpolation interp, TIntSeqSet expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); System.out.println(source.to_sequenceset(interp).start_timestamp()); TIntSeqSet tmp = (TIntSeqSet) source.to_sequenceset(interp); assertTrue(tmp instanceof TIntSeqSet); @@ -824,8 +888,9 @@ void testTosequenceset(Temporal source, String type, TInterpolation interp, TInt @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("insert") void testInsert(Temporal source, String type, TIntSeq tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TIntInst tmp = (TIntInst) source.insert(tseq); assertEquals(tmp.to_string(), ((TIntSeq)expected).to_string()); @@ -844,8 +909,9 @@ void testInsert(Temporal source, String type, TIntSeq tseq, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("update") void testUpdate(Temporal source, String type, TIntInst tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TIntInst tmp = (TIntInst) source.update(tseq); assertEquals(tmp.to_string(), ((TIntInst)expected).to_string()); @@ -861,8 +927,9 @@ void testUpdate(Temporal source, String type, TIntInst tseq, Temporal expected) @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("append_sequence") void testAppendSequence(Temporal source, String type, TIntSeq tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TIntSeq") { TIntSeq tmp = (TIntSeq) source.append_sequence(tseq); assertEquals(tmp.to_string(), ((TIntSeqSet)expected).to_string()); @@ -875,8 +942,9 @@ void testAppendSequence(Temporal source, String type, TIntSeq tseq, Temporal exp @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("abs") void testAbs(Temporal source, String type, TIntInst tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TNumber tmp = ((TNumber) source).abs(); assertEquals(((TIntInst)tmp).to_string(), ((TIntInst)source).to_string()); @@ -893,8 +961,9 @@ void testAbs(Temporal source, String type, TIntInst tseq, Temporal expected) { @ParameterizedTest(name ="source={0}, type={1}, tseq={2}, expected={3}") @MethodSource("delta_value") void testDeltaValue(Temporal source, String type, TIntInst tseq, Temporal expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if(type == "TIntInst"){ TNumber tmp = ((TNumber) source).delta_value(); assertEquals(((TIntInst)tmp).to_string(), ((TIntInst)expected).to_string()); @@ -912,8 +981,9 @@ void testDeltaValue(Temporal source, String type, TIntInst tseq, Temporal expect @ParameterizedTest(name ="source={0}, type={1}, arg={2}, expected={3}") @MethodSource("always_equal") void testAlwaysEqual(Temporal source, String type, int arg, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); System.out.println(((TInt)source).never_not_equal(arg)); System.out.println(expected); assertEquals(((TInt)source).always_equal(arg),expected); @@ -927,8 +997,9 @@ void testAlwaysEqual(Temporal source, String type, int arg, boolean expected) { @ParameterizedTest(name ="source={0}, type={1}, arg={2}, expected={3}") @MethodSource("ever_equal") void testEverEqual(Temporal source, String type, int arg, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); // assertEquals(((TInt)source).ever_equal(arg),expected); assertEquals(((TInt)source).always_not_equal(arg),!expected); // assertEquals(((TInt)source).never_equal(arg),! expected); @@ -938,8 +1009,9 @@ void testEverEqual(Temporal source, String type, int arg, boolean expected) { @ParameterizedTest(name ="source={0}, type={1}, arg={2}, expected={3}") @MethodSource("ever_greater") void testEverGreater(Temporal source, String type, int arg, boolean expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TInt)source).always_less(arg),expected); assertEquals(((TInt)source).never_greater_or_equal(arg),expected); assertEquals(((TInt)source).ever_greater_or_equal(arg),! expected); diff --git a/jmeos-core/src/test/java/basic/TTextTest.java b/jmeos-core/src/test/java/basic/TTextTest.java index e259edc37..5290debc2 100644 --- a/jmeos-core/src/test/java/basic/TTextTest.java +++ b/jmeos-core/src/test/java/basic/TTextTest.java @@ -1,6 +1,6 @@ package basic; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -32,8 +32,9 @@ public class TTextTest { static error_handler_fn errorHandler = new error_handler(); static Stream TText_string_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("AAA@2019-09-01", "TTextInst", TInterpolation.NONE, "\"AAA\"@2019-09-01 00:00:00+00"), Arguments.of("{AAA@2019-09-01, BBB@2019-09-02}", "TTextSeq", TInterpolation.DISCRETE, "{\"AAA\"@2019-09-01 00:00:00+00, \"BBB\"@2019-09-02 00:00:00+00}"), @@ -43,8 +44,9 @@ static Stream TText_string_constructor() throws SQLException { } static Stream TText_base_time_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"), "TTextSeq", TInterpolation.DISCRETE), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"), "TTextSeqSet", TInterpolation.STEPWISE), @@ -54,8 +56,9 @@ static Stream TText_base_time_constructor() throws SQLException { static Stream TText_copy_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", TInterpolation.NONE), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", TInterpolation.DISCRETE), @@ -66,8 +69,9 @@ static Stream TText_copy_constructor() throws SQLException { static Stream TText_string() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", "\"AAA\"@2019-09-01 00:00:00+00"), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq","{\"AAA\"@2019-09-01 00:00:00+00, \"BBB\"@2019-09-02 00:00:00+00}"), @@ -78,8 +82,9 @@ static Stream TText_string() throws SQLException { static Stream TText_bounding() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst",new tstzspan("[2019-09-01, 2019-09-01]")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", new tstzspan("[2019-09-01, 2019-09-02]")), @@ -90,8 +95,9 @@ static Stream TText_bounding() throws SQLException { static Stream TText_interp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", TInterpolation.NONE), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", TInterpolation.DISCRETE), @@ -101,8 +107,9 @@ static Stream TText_interp() throws SQLException { } static Stream TText_start() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", "AAA"), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", "AAA"), @@ -113,8 +120,9 @@ static Stream TText_start() throws SQLException { static Stream TText_end() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", "AAA"), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", "BBB"), @@ -125,8 +133,9 @@ static Stream TText_end() throws SQLException { static Stream TText_time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", new tstzspanset("{[2019-09-01, 2019-09-01]}")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", new tstzspanset("{[2019-09-01, 2019-09-01], [2019-09-02, 2019-09-02]}")), @@ -137,8 +146,9 @@ static Stream TText_time() throws SQLException { static Stream TText_numinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", 1), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", 2), @@ -150,8 +160,9 @@ static Stream TText_numinst() throws SQLException { static Stream TText_startinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", new TTextInst("AAA@2019-09-01")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", new TTextInst("AAA@2019-09-01")), @@ -162,8 +173,9 @@ static Stream TText_startinst() throws SQLException { static Stream TText_endinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", new TTextInst("AAA@2019-09-01")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", new TTextInst("BBB@2019-09-02")), @@ -175,8 +187,9 @@ static Stream TText_endinst() throws SQLException { static Stream TText_mininst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", new TTextInst("AAA@2019-09-01")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", new TTextInst("AAA@2019-09-01")), @@ -187,8 +200,9 @@ static Stream TText_mininst() throws SQLException { static Stream TText_maxinst() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", new TTextInst("AAA@2019-09-01")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq", new TTextInst("BBB@2019-09-02")), @@ -198,8 +212,9 @@ static Stream TText_maxinst() throws SQLException { } static Stream TText_instn() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", 0, new TTextInst("AAA@2019-09-01")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq",1, new TTextInst("BBB@2019-09-02")), @@ -210,8 +225,9 @@ static Stream TText_instn() throws SQLException { static Stream TText_numtmstp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", 1), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq",2), @@ -222,8 +238,9 @@ static Stream TText_numtmstp() throws SQLException { static Stream TText_starttmstp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq",LocalDateTime.of(2019, 9, 1, 0, 0,0)), @@ -233,8 +250,9 @@ static Stream TText_starttmstp() throws SQLException { } static Stream TText_endtmstp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", LocalDateTime.of(2019, 9, 1, 0, 0,0)), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq",LocalDateTime.of(2019, 9, 2, 0, 0,0)), @@ -245,8 +263,9 @@ static Stream TText_endtmstp() throws SQLException { static Stream TText_hash() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), "TTextInst", 1893808825), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), "TTextSeq",1223816819), @@ -257,8 +276,9 @@ static Stream TText_hash() throws SQLException { static Stream TText_toinstant() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"),new TTextInst("AAA@2019-09-01")), Arguments.of(new TTextSeq("{AAA@2019-09-01}"), new TTextInst("AAA@2019-09-01")), @@ -269,8 +289,9 @@ static Stream TText_toinstant() throws SQLException { static Stream TText_tosequence() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), TInterpolation.STEPWISE, new TTextSeq("[AAA@2019-09-01]")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), TInterpolation.DISCRETE, new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}")), @@ -281,8 +302,9 @@ static Stream TText_tosequence() throws SQLException { static Stream TText_tosequenceset() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), TInterpolation.STEPWISE, new TTextSeqSet("{[AAA@2019-09-01]}")), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), TInterpolation.STEPWISE, new TTextSeqSet("{[AAA@2019-09-01], [BBB@2019-09-02]}")) @@ -294,8 +316,9 @@ static Stream TText_tosequenceset() throws SQLException { static Stream TText_insert() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), new TTextSeq("{AAA@2019-09-03}"), new TTextSeq("{AAA@2019-09-01, AAA@2019-09-03}"), "TTextInst"), Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), new TTextSeq("{AAA@2019-09-03}"), new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02, AAA@2019-09-03}"), "TTextSeq"), @@ -306,8 +329,9 @@ static Stream TText_insert() throws SQLException { static Stream TText_update() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextInst("AAA@2019-09-01"), new TTextInst("BBB@2019-09-01"), new TTextInst("BBB@2019-09-01"), "TTextInst" ), Arguments.of(new TTextSeq("[AAA@2019-09-01, BBB@2019-09-02]"), new TTextInst("BBB@2019-09-01"), new TTextSeqSet("{[BBB@2019-09-01], (AAA@2019-09-01, BBB@2019-09-02]}"), "TTextSeq"), @@ -318,8 +342,9 @@ static Stream TText_update() throws SQLException { static Stream TText_appendseq() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02}"), new TTextSeq("{AAA@2019-09-03}"), new TTextSeq("{AAA@2019-09-01, BBB@2019-09-02, AAA@2019-09-03}"), "TTextSeq"), Arguments.of(new TTextSeqSet("{[AAA@2019-09-01, BBB@2019-09-02],[AAA@2019-09-03, AAA@2019-09-05]}"), new TTextSeq("[AAA@2019-09-06]"), new TTextSeqSet("{[AAA@2019-09-01, BBB@2019-09-02],[AAA@2019-09-03, AAA@2019-09-05],[AAA@2019-09-06]}"), "TTextSeqSet") @@ -345,8 +370,9 @@ static Stream TText_appendseq() throws SQLException { @ParameterizedTest(name = "value={0}, type={1}, interp={2}, repr={3}") @MethodSource("TText_string_constructor") public void testFromStringConstructor(String value, String type, TInterpolation interp, String repr) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextInst") { TTextInst tb = new TTextInst(value); assertTrue(tb instanceof TTextInst); @@ -369,8 +395,9 @@ public void testFromStringConstructor(String value, String type, TInterpolation @ParameterizedTest(name = "base={0}, type={1}, interp={2}") @MethodSource("TText_base_time_constructor") public void testFromBaseTimeConstructor(Time base, String type, TInterpolation interp) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextInst") { TTextInst tb = (TTextInst) TText.from_base_time("AAA", base); assertTrue(tb instanceof TTextInst); @@ -392,8 +419,9 @@ public void testFromBaseTimeConstructor(Time base, String type, TInterpolation i @ParameterizedTest(name = "base={0}, type={1}, interp={2}") @MethodSource("TText_copy_constructor") public void testCopyConstructor(Temporal base, String type, TInterpolation interp) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextInst") { TTextInst tb = (TTextInst) base.copy(); assertEquals(tb.to_string(),(((TTextInst) base).to_string())); @@ -411,8 +439,9 @@ public void testCopyConstructor(Temporal base, String type, TInterpolation inter @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_string") public void testString(Temporal base, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextInst") { TTextInst tb = (TTextInst) base.copy(); assertEquals(tb.to_string(),expected); @@ -429,8 +458,9 @@ public void testString(Temporal base, String type, String expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_bounding") public void testBoundingBox(Temporal base, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.bounding_box().toString(),expected.toString()); } @@ -439,8 +469,9 @@ public void testBoundingBox(Temporal base, String type, tstzspan expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_interp") public void testInterpolation(Temporal base, String type, TInterpolation expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.interpolation(),expected); } @@ -448,8 +479,9 @@ public void testInterpolation(Temporal base, String type, TInterpolation expecte @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_start") public void testStartValues(Temporal base, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TText) base).start_value() ,expected); } @@ -457,8 +489,9 @@ public void testStartValues(Temporal base, String type, String expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_end") public void testEndValues(Temporal base, String type, String expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TText) base).end_value() ,expected); } @@ -466,8 +499,9 @@ public void testEndValues(Temporal base, String type, String expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_time") public void testTime(Temporal base, String type, tstzspanset expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.time().toString() ,expected.toString()); } @@ -475,8 +509,9 @@ public void testTime(Temporal base, String type, tstzspanset expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_bounding") public void testtstzspan(Temporal base, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.period().toString() ,expected.toString()); } @@ -484,16 +519,18 @@ public void testtstzspan(Temporal base, String type, tstzspan expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_bounding") public void testSpan(Temporal base, String type, tstzspan expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.timespan().toString(),expected.toString()); } @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_numinst") public void testNumInst(Temporal base, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.num_instants(),expected); } @@ -501,8 +538,9 @@ public void testNumInst(Temporal base, String type, int expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_startinst") public void testStartInst(Temporal base, String type, TTextInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TTextInst)base.start_instant()).to_string(),expected.to_string()); } @@ -510,8 +548,9 @@ public void testStartInst(Temporal base, String type, TTextInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_endinst") public void testEndInst(Temporal base, String type, TTextInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TTextInst)base.end_instant()).to_string(),expected.to_string()); } @@ -519,8 +558,9 @@ public void testEndInst(Temporal base, String type, TTextInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_mininst") public void testMinInst(Temporal base, String type, TTextInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TTextInst)base.min_instant()).to_string(),expected.to_string()); } @@ -528,8 +568,9 @@ public void testMinInst(Temporal base, String type, TTextInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_maxinst") public void testMaxInst(Temporal base, String type, TTextInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TTextInst)base.max_instant()).to_string(),expected.to_string()); } @@ -537,8 +578,9 @@ public void testMaxInst(Temporal base, String type, TTextInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_instn") public void testInstN(Temporal base, String type, int n, TTextInst expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(((TTextInst)base.instant_n(n)).to_string(),expected.to_string()); } @@ -546,8 +588,9 @@ public void testInstN(Temporal base, String type, int n, TTextInst expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_numtmstp") public void testNumtmstmp(Temporal base, String type, int expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.num_timestamps(),expected); } @@ -555,8 +598,9 @@ public void testNumtmstmp(Temporal base, String type, int expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_starttmstp") public void testStarttmstmp(Temporal base, String type, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.start_timestamp(),expected); } @@ -564,8 +608,9 @@ public void testStarttmstmp(Temporal base, String type, LocalDateTime expected) @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_endtmstp") public void testEndtmstmp(Temporal base, String type, LocalDateTime expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.end_timestamp(),expected); } @@ -573,8 +618,9 @@ public void testEndtmstmp(Temporal base, String type, LocalDateTime expected) { @ParameterizedTest(name = "base={0}, type={1}, expected={2}") @MethodSource("TText_hash") public void testHash(Temporal base, String type, long expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(base.hash(),expected); } @@ -582,8 +628,9 @@ public void testHash(Temporal base, String type, long expected) { @ParameterizedTest(name = "base={0}, type={1}") @MethodSource("TText_toinstant") public void testToInstant(Temporal base, TTextInst type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); Temporal tmp = base.to_instant(); assertTrue(tmp instanceof TTextInst); assertEquals(((TTextInst) tmp).to_string(), type.to_string()); @@ -593,8 +640,9 @@ public void testToInstant(Temporal base, TTextInst type) { @ParameterizedTest(name = "base={0}, interp={1}, type={2}") @MethodSource("TText_tosequence") public void testToSequence(Temporal base, TInterpolation interp, TTextSeq type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); Temporal tmp = base.to_sequence(interp); assertTrue(tmp instanceof TTextSeq); assertEquals(((TTextSeq) tmp).to_string(), type.to_string()); @@ -605,8 +653,9 @@ public void testToSequence(Temporal base, TInterpolation interp, TTextSeq type) @ParameterizedTest(name = "base={0}, interp={1}, type={2}") @MethodSource("TText_tosequenceset") public void testToSequenceSet(Temporal base, TInterpolation interp, TTextSeqSet type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); Temporal tmp = base.to_sequenceset(interp); assertTrue(tmp instanceof TTextSeqSet); assertEquals(((TTextSeqSet) tmp).to_string(), type.to_string()); @@ -617,8 +666,9 @@ public void testToSequenceSet(Temporal base, TInterpolation interp, TTextSeqSet @ParameterizedTest(name = "base={0}, base2={1}, tseq={2}, type={3}") @MethodSource("TText_insert") public void testInsert(Temporal base, Temporal base2, Temporal tseq, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextInst") { assertEquals(((TTextInst)base.insert(base2)).to_string(), ((TTextSeq) tseq).to_string()); } else if (type == "TTextSeq") { @@ -632,8 +682,9 @@ public void testInsert(Temporal base, Temporal base2, Temporal tseq, String type @ParameterizedTest(name = "base={0}, base2={1}, tseq={2}, type={3}") @MethodSource("TText_update") public void testUpdate(Temporal base, Temporal base2, Temporal tseq, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextInst") { assertEquals(((TTextInst)base.update(base2)).to_string(), ((TTextInst) tseq).to_string()); } else if (type == "TTextSeq") { @@ -648,8 +699,9 @@ public void testUpdate(Temporal base, Temporal base2, Temporal tseq, String type @ParameterizedTest(name = "base={0}, base2={1}, tseq={2}, type={3}") @MethodSource("TText_appendseq") public void testAppendSeq(Temporal base, TSequence base2, Temporal tseq, String type) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); if (type == "TTextSeq") { assertEquals(((TTextSeq)base.append_sequence(base2)).to_string(), ((TTextSeq) tseq).to_string()); } else if (type == "TTextSeqSet") { diff --git a/jmeos-core/src/test/java/boxes/STBoxTest.java b/jmeos-core/src/test/java/boxes/STBoxTest.java index 2f01305dd..3b45f0734 100644 --- a/jmeos-core/src/test/java/boxes/STBoxTest.java +++ b/jmeos-core/src/test/java/boxes/STBoxTest.java @@ -1,10 +1,10 @@ package boxes; +import functions.GeneratedFunctions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.*; -import functions.functions; import java.sql.SQLException; import java.util.Objects; import java.util.stream.Stream; @@ -32,8 +32,9 @@ public class STBoxTest { static error_handler_fn errorHandler = new error_handler(); public STBoxTest() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); stbx = new STBox("STBOX X((1, 1),(2, 2))"); stbz = new STBox("STBOX Z((1, 1, 1),(2, 2, 2))"); stbt = new STBox("STBOX T([2019-09-01,2019-09-02])"); @@ -42,8 +43,9 @@ public STBoxTest() throws SQLException { } static Stream STBox_sources() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new STBox("STBOX X((1, 1),(2, 2))"), "STBOX X((1, 1),(2, 2))" ), Arguments.of(new STBox("STBOX Z((1, 1, 1),(2, 2, 2))"), "STBOX Z((1, 1, 1),(2, 2, 2))" ), @@ -61,7 +63,7 @@ static Stream STBox_sources() throws SQLException { }, delimiter = ';') @DisplayName("Test String Constructor") public void testStringConstructor(String source, String type, String expected) throws SQLException { - //functions.meos_initialize("UTC"); + //GeneratedFunctions.meos_initialize("UTC"); STBox stb = new STBox(source); assertEquals(stb.toString(15),expected); assertEquals(type,stb.getClass().getSimpleName()); @@ -90,7 +92,7 @@ public void testFromGeometryConstructor(String geometryString, String expected) }, delimiter = ';') @DisplayName("Test Time Constructor") public void testFromTimeConstructor(String type, String source, String expected) throws SQLException { - //functions.meos_initialize("UTC"); + //GeneratedFunctions.meos_initialize("UTC"); if (type == "TSet"){ STBox stb = STBox.from_time(new tstzspanset(source)); assertEquals("STBox", stb.getClass().getSimpleName()); @@ -111,8 +113,9 @@ public void testFromTimeConstructor(String type, String source, String expected) @ParameterizedTest(name = "box={0}, str={1}") @MethodSource("STBox_sources") public void testFromAsConstructor(STBox box, String str) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); STBox stb = new STBox(str); assertTrue(stb.eq(box)); } @@ -121,8 +124,9 @@ public void testFromAsConstructor(STBox box, String str) throws SQLException { @ParameterizedTest(name = "box={0}, str={1}") @MethodSource("STBox_sources") public void testCopyConstructor(STBox box, String str) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); STBox stb = box.copy(); assertTrue(stb.eq(box)); assertFalse(stb.get_inner() == box.get_inner()); @@ -168,7 +172,7 @@ public void testToGeometry(String stbox, String expected) throws SQLException, P "STBox XT(((1, 1),(2, 2)),[2019-09-01,2019-09-02]); [2019-09-01 00:00:00+00, 2019-09-02 00:00:00+00]", }, delimiter = ';') public void testToPeriod(String stbox, String expected) throws SQLException, ParseException { - //functions.meos_initialize("UTC"); + //GeneratedFunctions.meos_initialize("UTC"); STBox stb = new STBox(stbox); System.out.println(stb.to_period()); tstzspan p = stb.to_period(); diff --git a/jmeos-core/src/test/java/boxes/TBoxTest.java b/jmeos-core/src/test/java/boxes/TBoxTest.java index 4fb6f25b9..66c6534dc 100644 --- a/jmeos-core/src/test/java/boxes/TBoxTest.java +++ b/jmeos-core/src/test/java/boxes/TBoxTest.java @@ -1,11 +1,11 @@ package boxes; +import functions.GeneratedFunctions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.*; -import functions.functions; import java.sql.SQLException; import java.util.stream.Stream; import types.boxes.*; @@ -30,8 +30,9 @@ class TBoxTest { static error_handler_fn errorHandler = new error_handler(); static Stream TBox_sources() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1, 2])"),"TBox", "TBOXFLOAT X([1, 2])" ), Arguments.of(new TBox("TBOX T([2019-09-01, 2019-09-02])"), "TBox", "TBOX T([2019-09-01 00:00:00+00, 2019-09-02 00:00:00+00])" ), @@ -40,8 +41,9 @@ static Stream TBox_sources() throws SQLException { } static Stream TBox_number() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(1, "TBOXINT X([1, 2))","TBox"), Arguments.of(1.5f, "TBOXFLOAT X([1.5, 1.5])", "TBox") @@ -49,8 +51,9 @@ static Stream TBox_number() throws SQLException { } static Stream TBox_span() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new IntSpan(1, 2, true, true),"TBox", "TBOXINT X([1, 3))" ), Arguments.of(new FloatSpan(1.5f, 2.5f, true, true),"TBox", "TBOXFLOAT X([1.5, 2.5])" ) @@ -59,8 +62,9 @@ static Stream TBox_span() throws SQLException { static Stream TBox_time() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzset("{2019-09-01, 2019-09-02}"),"TBox", "TBOX T([2019-09-01 00:00:00+00, 2019-09-02 00:00:00+00])" ), Arguments.of(new tstzspan("[2019-09-01, 2019-09-02]"),"TBox", "TBOX T([2019-09-01 00:00:00+00, 2019-09-02 00:00:00+00])" ), @@ -70,8 +74,9 @@ static Stream TBox_time() throws SQLException { static Stream TBox_basic() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1,2])"),"TBox", "TBOXFLOAT X([1, 2])" ), Arguments.of(new TBox("TBOX T([2019-09-01,2019-09-02])"),"TBox", "TBOX T([2019-09-01 00:00:00+00, 2019-09-02 00:00:00+00])" ), @@ -81,8 +86,9 @@ static Stream TBox_basic() throws SQLException { static Stream TBox_tofloatspan() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1,2])"),"TBox", new FloatSpan(1.0f, 2.0f, true, true) ), Arguments.of(new TBox("TBOXFLOAT XT([1,2],[2019-09-01,2019-09-02])"), "TBox",new FloatSpan(1.0f, 2.0f, true, true)) @@ -90,8 +96,9 @@ static Stream TBox_tofloatspan() throws SQLException { } static Stream TBox_toperiod() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1,2])"),"TBox", new tstzspan("[2019-09-08 02:03:00+0, 2019-09-10 02:03:00+0]")), Arguments.of(new TBox("TBOXFLOAT XT([1,2],[2019-09-01,2019-09-02])"), "TBox", new tstzspan("[2019-09-08 02:03:00+0, 2019-09-10 02:03:00+0]")) @@ -99,8 +106,9 @@ static Stream TBox_toperiod() throws SQLException { } static Stream TBox_expandfloat() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1,2])"),"TBox", new TBox("TBOXFLOAT X([1, 2])")), Arguments.of(new TBox("TBOXFLOAT XT([1,2],[2019-09-01,2019-09-02])"), "TBox", new TBox("TBOXFLOAT XT([1,2],[2019-09-01, 2019-09-02])")) @@ -108,8 +116,9 @@ static Stream TBox_expandfloat() throws SQLException { } static Stream TBox_expandtime() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1,2])"),"TBox", new tstzspan("[2019-09-08 02:03:00+0, 2019-09-10 02:03:00+0]")), Arguments.of(new TBox("TBOXFLOAT XT([1,2],[2019-09-01,2019-09-02])"), "TBox", new tstzspan("[2019-09-08 02:03:00+0, 2019-09-10 02:03:00+0]")) @@ -119,8 +128,9 @@ static Stream TBox_expandtime() throws SQLException { static Stream TBox_round() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new TBox("TBOXFLOAT X([1.123456789,2.123456789])"),"TBox", new TBox("TBOXFLOAT X([1.12,2.12])")), Arguments.of(new TBox("TBOXFLOAT XT([1.123456789,2.123456789],[2019-09-01, 2019-09-03])"), "TBox", new TBox("TBOXFLOAT XT([1.12,2.12],[2019-09-01, 2019-09-03])")) @@ -141,8 +151,9 @@ static Stream TBox_round() throws SQLException { @ParameterizedTest(name = "box={0}, type={1}, expected={2}") @MethodSource("TBox_sources") public void testStringConstructor(TBox box, String type, String expected) throws ParseException, SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(box instanceof TBox); assertEquals(box.toString(),expected); } @@ -151,8 +162,9 @@ public void testStringConstructor(TBox box, String type, String expected) throws @ParameterizedTest(name = "val={0}, box={1}, type={2}") @MethodSource("TBox_number") public void testFromValueNConstructor(Number val, String box, String type) throws ParseException, SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox new_tb = TBox.from_value_number(val); assertTrue(new_tb instanceof TBox); assertEquals(new_tb.toString(),box); @@ -162,8 +174,9 @@ public void testFromValueNConstructor(Number val, String box, String type) throw @ParameterizedTest(name = "sp={0}, type={1}, expected={2}") @MethodSource("TBox_span") public void testFromSpanConstructor(Span sp, String type, String expected) throws ParseException, SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox new_tb = TBox.from_value_span(sp); assertTrue(new_tb instanceof TBox); assertEquals(new_tb.toString(),expected); @@ -173,8 +186,9 @@ public void testFromSpanConstructor(Span sp, String type, String expected) throw @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_time") public void testFromTimeConstructor(Time t, String type, String expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox new_tb = TBox.from_time(t); assertTrue(new_tb instanceof TBox); assertEquals(new_tb.toString(),expected); @@ -185,8 +199,9 @@ public void testFromTimeConstructor(Time t, String type, String expected) throws @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_time") public void testCopyConstructor(Time t, String type, String expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox new_tb = TBox.from_time(t); assertTrue(new_tb instanceof TBox); assertEquals(new_tb.toString(),expected); @@ -196,8 +211,9 @@ public void testCopyConstructor(Time t, String type, String expected) throws Exc @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_basic") public void testCopyConstructor(TBox t, String type, String expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox new_tb = t.copy(); assertTrue(new_tb instanceof TBox); assertEquals(new_tb.toString(), t.toString()); @@ -207,8 +223,9 @@ public void testCopyConstructor(TBox t, String type, String expected) throws Exc @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_basic") public void testStrConstructor(TBox t, String type, String expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(t instanceof TBox); assertEquals(t.toString(), expected); } @@ -216,8 +233,9 @@ public void testStrConstructor(TBox t, String type, String expected) throws Exce @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_tofloatspan") public void testStrConstructor(TBox t, String type, Span expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); FloatSpan z = t.to_floatspan(); assertTrue(z instanceof FloatSpan); assertEquals(z.toString(15), ((FloatSpan)expected).toString(15)); @@ -229,8 +247,9 @@ public void testStrConstructor(TBox t, String type, Span expected) throws Except @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_expandfloat") public void testExpandFloat(TBox t, String type, TBox expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox tb = t.expand(1.0f); assertTrue(tb instanceof TBox); assertEquals(t.toString(15),expected.toString(15)); @@ -241,8 +260,9 @@ public void testExpandFloat(TBox t, String type, TBox expected) throws Exception @ParameterizedTest(name = "t={0}, type={1}, expected={2}") @MethodSource("TBox_round") public void testRound(TBox t, String type, TBox expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); TBox new_tb = t.round(2); System.out.println(t.toString()); System.out.println(new_tb.toString()); diff --git a/jmeos-core/src/test/java/collections/number/FloatSetTest.java b/jmeos-core/src/test/java/collections/number/FloatSetTest.java index 939624317..47762892e 100644 --- a/jmeos-core/src/test/java/collections/number/FloatSetTest.java +++ b/jmeos-core/src/test/java/collections/number/FloatSetTest.java @@ -1,6 +1,7 @@ package collections.number; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -32,8 +33,9 @@ static Stream FloatSet_sources() throws SQLException { // } // }; error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(5.0f, false ), Arguments.of(new FloatSet("{5, 10}"), false ) @@ -42,8 +44,9 @@ static Stream FloatSet_sources() throws SQLException { static Stream FloatSet_distances() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(5.0f, 2.0f ), Arguments.of(new FloatSet("{5, 10}"), 2.0f ) @@ -99,7 +102,7 @@ public void testEndElements(){ public void testElementN() throws Exception { System.out.println(floatset.toString(15)); System.out.println(floatset.elements()); -// System.out.println(Objects.requireNonNull(functions.floatset_value_n(floatset.get_inner(), 2)).getDouble(2*Double.BYTES)); +// System.out.println(Objects.requireNonNull(GeneratedFunctions.floatset_value_n(floatset.get_inner(), 2)).getDouble(2*Double.BYTES)); assertEquals(2.0f,floatset.element_n(1)); } diff --git a/jmeos-core/src/test/java/collections/number/FloatSpanSetTest.java b/jmeos-core/src/test/java/collections/number/FloatSpanSetTest.java index 26d1d3ca3..fe7643894 100644 --- a/jmeos-core/src/test/java/collections/number/FloatSpanSetTest.java +++ b/jmeos-core/src/test/java/collections/number/FloatSpanSetTest.java @@ -1,5 +1,6 @@ package collections.number; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.provider.Arguments; @@ -23,8 +24,9 @@ public class FloatSpanSetTest { static Stream IntSpan_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("(7, 10)", 8, 10, true, false), Arguments.of("[7, 10]", 7, 11, true, false) @@ -33,8 +35,9 @@ static Stream IntSpan_sources() throws SQLException { static Stream IntSpan_mulsources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("7", "10", 7, 10), Arguments.of(7, 10, 7, 10), @@ -44,8 +47,9 @@ static Stream IntSpan_mulsources() throws SQLException { static Stream Bound_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(true,true), Arguments.of(true,false), diff --git a/jmeos-core/src/test/java/collections/number/FloatSpanTest.java b/jmeos-core/src/test/java/collections/number/FloatSpanTest.java index a9429e8f9..6a28b75d4 100644 --- a/jmeos-core/src/test/java/collections/number/FloatSpanTest.java +++ b/jmeos-core/src/test/java/collections/number/FloatSpanTest.java @@ -1,5 +1,6 @@ package collections.number; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -23,8 +24,9 @@ public class FloatSpanTest { static Stream IntSpan_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("(2.5, 5.21)", 2.5f, 5.21f, false, false), Arguments.of("[2.5, 5.21]", 2.5f, 5.21f, true, true) @@ -33,8 +35,9 @@ static Stream IntSpan_sources() throws SQLException { static Stream IntSpan_mulsources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("2.5", "5.21", 2.5f, 5.21f), Arguments.of(2.5f, 5.21f, 2.5f, 5.21f), @@ -44,8 +47,9 @@ static Stream IntSpan_mulsources() throws SQLException { static Stream Bound_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(true,true), Arguments.of(true,false), diff --git a/jmeos-core/src/test/java/collections/number/IntSetTest.java b/jmeos-core/src/test/java/collections/number/IntSetTest.java index 56eb39bf7..dbbd47007 100644 --- a/jmeos-core/src/test/java/collections/number/IntSetTest.java +++ b/jmeos-core/src/test/java/collections/number/IntSetTest.java @@ -1,5 +1,6 @@ package collections.number; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -26,8 +27,9 @@ public class IntSetTest { static Stream IntSet_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(5, false ), Arguments.of(new IntSet("{5, 10}"), false ) @@ -36,8 +38,9 @@ static Stream IntSet_sources() throws SQLException { static Stream IntSet_distances() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(5, 2 ), Arguments.of(new IntSet("{5, 10}"), 2 ) diff --git a/jmeos-core/src/test/java/collections/number/IntSpanSetTest.java b/jmeos-core/src/test/java/collections/number/IntSpanSetTest.java index 8a132c019..56417e1c0 100644 --- a/jmeos-core/src/test/java/collections/number/IntSpanSetTest.java +++ b/jmeos-core/src/test/java/collections/number/IntSpanSetTest.java @@ -1,5 +1,6 @@ package collections.number; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -26,8 +27,9 @@ public class IntSpanSetTest { static Stream IntSpan_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("(7, 10)", 8, 10, true, false), Arguments.of("[7, 10]", 7, 11, true, false) @@ -36,8 +38,9 @@ static Stream IntSpan_sources() throws SQLException { static Stream IntSpan_mulsources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("7", "10", 7, 10), Arguments.of(7, 10, 7, 10), @@ -47,8 +50,9 @@ static Stream IntSpan_mulsources() throws SQLException { static Stream Bound_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(true,true), Arguments.of(true,false), diff --git a/jmeos-core/src/test/java/collections/number/IntSpanTest.java b/jmeos-core/src/test/java/collections/number/IntSpanTest.java index d19d6b660..d9f400c26 100644 --- a/jmeos-core/src/test/java/collections/number/IntSpanTest.java +++ b/jmeos-core/src/test/java/collections/number/IntSpanTest.java @@ -1,5 +1,6 @@ package collections.number; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -23,8 +24,9 @@ public class IntSpanTest { static Stream IntSpan_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("(7, 10)", 8, 10, true, false), Arguments.of("[7, 10]", 7, 11, true, false) @@ -33,8 +35,9 @@ static Stream IntSpan_sources() throws SQLException { static Stream IntSpan_mulsources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("7", "10", 7, 10), Arguments.of(7, 10, 7, 10), @@ -44,8 +47,9 @@ static Stream IntSpan_mulsources() throws SQLException { static Stream Bound_sources() throws SQLException { error_handler_fn errorHandler = new error_handler(); - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(true,true), Arguments.of(true,false), diff --git a/jmeos-core/src/test/java/collections/text/TextSetTest.java b/jmeos-core/src/test/java/collections/text/TextSetTest.java index 20f732d4b..d6a9ee215 100644 --- a/jmeos-core/src/test/java/collections/text/TextSetTest.java +++ b/jmeos-core/src/test/java/collections/text/TextSetTest.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import types.collections.text.TextSet; import static org.junit.jupiter.api.Assertions.*; -import functions.functions; +import functions.GeneratedFunctions; import utils.TestLogger; import java.util.List; @@ -13,6 +13,12 @@ @ExtendWith(TestLogger.class) public class TextSetTest { + // Text comparison (varstr_cmp) needs the MEOS collation initialized; do it at + // class load, before the TextSet instance fields below are constructed. + static { + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_collation(); + } public TextSet tset = new TextSet("{A, BB, ccc}"); public TextSet other = new TextSet("{2020-01-02 00:00:00+0, 2020-03-31 00:00:00+0}"); public TextSet other2 = new TextSet("{2020-05-02 00:00:00+0, 2020-08-28 00:00:00+0}"); @@ -32,7 +38,7 @@ public void testStringConstructor(){ public void testAsHex(){ TextSet tset = new TextSet("{A, BB, ccc}"); String pr = tset.as_hexwkb(); - TextSet ttp = new TextSet(functions.set_from_hexwkb(pr)); + TextSet ttp = new TextSet(GeneratedFunctions.set_from_hexwkb(pr)); } diff --git a/jmeos-core/src/test/java/collections/time/DateSetTest.java b/jmeos-core/src/test/java/collections/time/DateSetTest.java index f540429e2..fce343f0d 100644 --- a/jmeos-core/src/test/java/collections/time/DateSetTest.java +++ b/jmeos-core/src/test/java/collections/time/DateSetTest.java @@ -1,6 +1,6 @@ package collections.time; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import java.lang.reflect.InvocationTargetException; @@ -31,8 +31,9 @@ class DateSetTest { private final dateset dset2; DateSetTest() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); dset = new dateset("{2019-09-25, 2019-09-26, 2019-09-27}"); dset2 = new dateset("{2019-09-08, 2019-09-10}"); } diff --git a/jmeos-core/src/test/java/collections/time/DateSpanSetTest.java b/jmeos-core/src/test/java/collections/time/DateSpanSetTest.java index 5ead84ab2..cedf9dd06 100644 --- a/jmeos-core/src/test/java/collections/time/DateSpanSetTest.java +++ b/jmeos-core/src/test/java/collections/time/DateSpanSetTest.java @@ -1,6 +1,6 @@ package collections.time; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import java.lang.reflect.InvocationTargetException; @@ -29,8 +29,9 @@ class DateSpanSetTest { private final datespanset dsset2; DateSpanSetTest() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); dsset = new datespanset("{[2019-09-08, 2019-09-10], [2019-09-11, 2019-09-12]}"); dsset2 = new datespanset("{[2020-09-08, 2020-09-10], [2020-09-11, 2020-09-12]}"); } diff --git a/jmeos-core/src/test/java/collections/time/DateSpanTest.java b/jmeos-core/src/test/java/collections/time/DateSpanTest.java index fb9c09d08..5ae4e1dde 100644 --- a/jmeos-core/src/test/java/collections/time/DateSpanTest.java +++ b/jmeos-core/src/test/java/collections/time/DateSpanTest.java @@ -1,6 +1,6 @@ package collections.time; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import java.lang.reflect.InvocationTargetException; @@ -28,8 +28,9 @@ class DateSpanTest { private final datespan dspan2; DateSpanTest() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); dspan = new datespan("[2019-09-25, 2019-09-27]"); dspan2 = new datespan("[2019-09-08, 2019-09-10)"); } diff --git a/jmeos-core/src/test/java/collections/time/TsTzSetTest.java b/jmeos-core/src/test/java/collections/time/TsTzSetTest.java index 54ed4e9df..35c039e8c 100644 --- a/jmeos-core/src/test/java/collections/time/TsTzSetTest.java +++ b/jmeos-core/src/test/java/collections/time/TsTzSetTest.java @@ -1,6 +1,6 @@ package collections.time; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import java.sql.SQLException; @@ -31,8 +31,9 @@ class TsTzSetTest { private static Stream times() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -44,8 +45,9 @@ private static Stream times() { public void assert_tstzset_equality(tstzset vset, List timestamps){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(vset.num_elements(), timestamps.size()); } @@ -53,8 +55,9 @@ public void assert_tstzset_equality(tstzset vset, List timestamps @Test public void testStringConstructor(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); List list = new ArrayList<>(); list.add(LocalDateTime.of(2019, 9, 1, 0, 0,0)); list.add(LocalDateTime.of(2019, 9, 2, 0, 0,0)); @@ -64,8 +67,9 @@ public void testStringConstructor(){ @Test public void testHexwkbConstructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); // tstzset tsett = types.collections.time.tstzset.from_hexwkb("012100000040021FFE3402000000B15A26350200"); String hexwkb_string= tset.as_hexwkb(); System.out.println(hexwkb_string); @@ -82,8 +86,9 @@ public void testHexwkbConstructor() throws SQLException { @Test public void testFromAsConstructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset newtset = new tstzset("{2019-09-01 00:00:00+0, 2019-09-02 00:00:00+0, 2019-09-03 00:00:00+0}"); assertEquals(tset.toString(), newtset.toString()); } @@ -91,8 +96,9 @@ public void testFromAsConstructor() throws SQLException { @Test public void testCopyConstructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tsett = tset; assertEquals(tset.toString(),tsett.toString()); } @@ -100,16 +106,18 @@ public void testCopyConstructor() throws SQLException { @Test public void testStrOutput() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(tset.toString(),"{\"2019-09-01 00:00:00+00\", \"2019-09-02 00:00:00+00\", \"2019-09-03 00:00:00+00\"}"); } @Test public void testTimestampConversion() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspanset pset = new tstzspanset("{[2019-09-01 00:00:00+00, 2019-09-01 00:00:00+00], [2019-09-02 00:00:00+00, 2019-09-02 00:00:00+00], [2019-09-03 00:00:00+00, 2019-09-03 00:00:00+00]}"); tstzspanset converted = tset.to_spanset(); System.out.println(converted.toString()); @@ -119,8 +127,9 @@ public void testTimestampConversion() throws SQLException { @Test public void testtstzsetConversion() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan("[2019-09-01 00:00:00+00, 2019-09-03 00:00:00+00]"); tstzspan converted = tset.to_span(); System.out.println(converted.toString()); @@ -130,38 +139,43 @@ public void testtstzsetConversion() throws SQLException { @Test public void testNumTimestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(tset.num_elements(),3); } @Test public void testStartTimestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(tset.start_element(),LocalDateTime.of(2019, 9, 1, 0, 0,0)); } @Test public void testEndTimestamps() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(tset.end_element(),LocalDateTime.of(2019, 9, 3, 0, 0,0)); } @Test public void testHash() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(tset.hash(),527267058); } @Test public void testIsContainedInFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); assertFalse(tset.is_contained_in(tmp_set)); } @@ -169,8 +183,9 @@ public void testIsContainedInFunction() throws Exception { @Test public void testOverlapsFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); assertFalse(tset.overlaps(tmp_set)); } @@ -178,16 +193,18 @@ public void testOverlapsFunction() throws Exception { @Test public void testIsBeforeFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); assertTrue(tset.is_before(tmp_set)); } @Test public void testIsOverOrBeforeFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); assertTrue(tset.is_over_or_before(tmp_set)); } @@ -195,26 +212,29 @@ public void testIsOverOrBeforeFunction() throws Exception { @Test public void testIsAfterFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); assertFalse(tset.is_after(tmp_set)); } @Test public void testIsOverOrAfterFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); assertFalse(tset.is_over_or_after(tmp_set)); } @Test public void testDistanceFunction() throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzset tmp_set = new tstzset("{2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0}"); - System.out.println(Duration.ofSeconds((long) functions.distance_tstzset_tstzset(tset.get_inner(), tmp_set.get_inner()))); + System.out.println(Duration.ofSeconds((long) GeneratedFunctions.distance_tstzset_tstzset(tset.get_inner(), tmp_set.get_inner()))); tset.distance(tmp_set); } @@ -222,16 +242,18 @@ public void testDistanceFunction() throws Exception { @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("times") public void testIntersection(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.tset.intersection(other); } @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("times") public void testUnion(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.tset.union(other); } @@ -239,8 +261,9 @@ public void testUnion(Time other, boolean expected) throws Exception { @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("times") public void testMinus(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.tset.minus(other); } diff --git a/jmeos-core/src/test/java/collections/time/TsTzSpanSetTest.java b/jmeos-core/src/test/java/collections/time/TsTzSpanSetTest.java index 2262ccbcc..b7318f67f 100644 --- a/jmeos-core/src/test/java/collections/time/TsTzSpanSetTest.java +++ b/jmeos-core/src/test/java/collections/time/TsTzSpanSetTest.java @@ -1,11 +1,11 @@ package collections.time; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import functions.functions; import java.sql.SQLException; import java.time.LocalDateTime; @@ -41,8 +41,9 @@ class TsTzSpanSetTest { static error_handler_fn errorHandler= new error_handler(); private static Stream temporals_adjacent() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -56,8 +57,9 @@ private static Stream temporals_adjacent() { private static Stream temporals_iscontained() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -71,8 +73,9 @@ private static Stream temporals_iscontained() { private static Stream temporals_contains() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -86,8 +89,9 @@ private static Stream temporals_contains() { private static Stream temporals_overlaps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -101,8 +105,9 @@ private static Stream temporals_overlaps() { private static Stream temporals_same() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -116,8 +121,9 @@ private static Stream temporals_same() { private static Stream temporals_before() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -131,8 +137,9 @@ private static Stream temporals_before() { private static Stream temporals_after() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -146,8 +153,9 @@ private static Stream temporals_after() { private static Stream temporals_overbefore() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -161,8 +169,9 @@ private static Stream temporals_overbefore() { private static Stream temporals_overafter() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -176,8 +185,9 @@ private static Stream temporals_overafter() { private static Stream intersection() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true) @@ -185,8 +195,9 @@ private static Stream intersection() { } private static Stream other() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true) ); @@ -201,16 +212,18 @@ public void assert_tstzspanset_equality(tstzspanset pset, List plist){ @Test public void testStringConstructor(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); System.out.println(pset.toString()); assert_tstzspanset_equality(this.pset,null); } @Test public void testtstzspansetListConstructor(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); List lst = new ArrayList(); lst.add(new tstzspan("[2019-09-01, 2019-09-02]")); lst.add(new tstzspan("[2019-09-03, 2019-09-04]")); @@ -222,8 +235,9 @@ public void testtstzspansetListConstructor(){ @Test public void testCopyConstructor(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspanset new_pset = new tstzspanset(pset.copy()); assertEquals(this.pset.toString(),new_pset.toString()); } @@ -231,24 +245,27 @@ public void testCopyConstructor(){ @Test public void testTotstzset(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.to_period().toString(), new tstzspan("[2019-09-01, 2019-09-04]").toString()); } @Test public void testNumTimestamps(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.num_timestamps(),4); assertEquals(this.pset2.num_timestamps(),3); } @Test public void testStartTimestamps(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.start_timestamp(), LocalDateTime.of(2019,9,1,0,0,0)); assertEquals(this.pset2.start_timestamp(),LocalDateTime.of(2019,9,1,0,0,0)); } @@ -256,8 +273,9 @@ public void testStartTimestamps(){ @Test public void testEndTimestamps(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.end_timestamp(),LocalDateTime.of(2019,9,4,0,0,0)); assertEquals(this.pset2.end_timestamp(),LocalDateTime.of(2019,9,4,0,0,0)); } @@ -265,8 +283,9 @@ public void testEndTimestamps(){ @Test public void testNumtstzsets(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.num_periods(),2); assertEquals(this.pset2.num_periods(),2); } @@ -274,16 +293,18 @@ public void testNumtstzsets(){ @Test public void testStarttstzset(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.start_period().toString(),new tstzspan("[2019-09-01 00:00:00+00, 2019-09-02 00:00:00+00]").toString()); } @Test public void testEndtstzset(){ - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.end_period().toString(),new tstzspan("[2019-09-03 00:00:00+00, 2019-09-04 00:00:00+00]").toString()); } @@ -291,8 +312,8 @@ public void testEndtstzset(){ // @Test // public void testHash(){ -// functions.meos_initialize_timezone("UTC"); -// functions.meos_initialize_error_handler(errorHandler); +// GeneratedFunctions.meos_initialize_timezone("UTC"); +// GeneratedFunctions.meos_initialize_error_handler(errorHandler); // assertEquals(this.pset.hash(),552347465); // } @@ -300,16 +321,18 @@ public void testEndtstzset(){ @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_adjacent") public void testAdjacency(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_adjacent(other), expected); } @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_iscontained") public void testIsContainedIn(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_contained_in(other), expected); } @@ -318,8 +341,9 @@ public void testIsContainedIn(TemporalObject other, boolean expected) throws Exc @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_contains") public void testContains(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.contains(other), expected); } @@ -328,8 +352,9 @@ public void testContains(TemporalObject other, boolean expected) throws Exceptio @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_overlaps") public void testOverlaps(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.overlaps(other), expected); } @@ -337,8 +362,9 @@ public void testOverlaps(TemporalObject other, boolean expected) throws Exceptio @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_same") public void testIsSame(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_same(other), expected); } @@ -347,8 +373,9 @@ public void testIsSame(TemporalObject other, boolean expected) throws Exception @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_before") public void testIsBefore(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_before(other), expected); } @@ -357,8 +384,9 @@ public void testIsBefore(TemporalObject other, boolean expected) throws Exceptio @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_after") public void testIsAfter(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_after(other), expected); } @@ -366,8 +394,9 @@ public void testIsAfter(TemporalObject other, boolean expected) throws Exception @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_overbefore") public void testIsOverOrBefore(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_over_or_before(other), expected); } @@ -376,8 +405,9 @@ public void testIsOverOrBefore(TemporalObject other, boolean expected) throws Ex @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_overafter") public void testIsOverOrAfter(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.pset.is_over_or_after(other), expected); } @@ -387,24 +417,27 @@ public void testIsOverOrAfter(TemporalObject other, boolean expected) throws Exc @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("intersection") public void testIntersection(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.pset.intersection(other); } @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("intersection") public void testMinus(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.pset.minus(other); } @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("intersection") public void testUnion(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.pset.union(other); } @@ -412,8 +445,9 @@ public void testUnion(Time other, boolean expected) throws Exception { @ParameterizedTest(name="t={0}") @MethodSource("other") public void testEqual(Time t) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertNotEquals(this.pset, t); } @@ -421,40 +455,45 @@ public void testEqual(Time t) throws SQLException { @ParameterizedTest(name="t={0}") @MethodSource("other") public void testNotEqual(Time t) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.pset.notEquals(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testLessThan(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.pset.lessThan(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testLessThanOrEqual(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.pset.lessThanOrEqual(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testGreaterThan(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.pset.greaterThan(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testGreaterThanOrEqual(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertFalse(this.pset.greaterThanOrEqual(t)); } diff --git a/jmeos-core/src/test/java/collections/time/TsTzSpanTest.java b/jmeos-core/src/test/java/collections/time/TsTzSpanTest.java index 4c95c43ca..21e8ee49b 100644 --- a/jmeos-core/src/test/java/collections/time/TsTzSpanTest.java +++ b/jmeos-core/src/test/java/collections/time/TsTzSpanTest.java @@ -1,6 +1,6 @@ package collections.time; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -42,8 +42,9 @@ class TsTzSpanTest { static Stream tstzspan_constructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("(2019-09-08 00:00:00+0, 2019-09-10 00:00:00+0)",LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0), false,false), Arguments.of("[2019-09-08 00:00:00+0, 2019-09-10 00:00:00+0]", LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0), true,true) @@ -51,24 +52,27 @@ static Stream tstzspan_constructor() throws SQLException { } static Stream tstzspan_constructor2() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("2019-09-08 00:00:00+0", "2019-09-10 00:00:00+0",LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0)) ); } static Stream tstzspan_constructor3() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0), LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0)) ); } static Stream tstzspan_constructor4() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("2019-09-08 00:00:00+0", LocalDateTime.of(2019, 9, 10, 0, 0),LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0)) ); @@ -76,8 +80,9 @@ static Stream tstzspan_constructor4() throws SQLException { static Stream tstzspan_constructor5() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(true,true), Arguments.of(true,false), @@ -87,8 +92,9 @@ static Stream tstzspan_constructor5() throws SQLException { } private static Stream temporals_adjacent() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -102,8 +108,9 @@ private static Stream temporals_adjacent() { private static Stream temporals_iscontained() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -117,8 +124,9 @@ private static Stream temporals_iscontained() { private static Stream temporals_contains() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -132,8 +140,9 @@ private static Stream temporals_contains() { private static Stream temporals_overlaps() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -147,8 +156,9 @@ private static Stream temporals_overlaps() { private static Stream temporals_same() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -162,8 +172,9 @@ private static Stream temporals_same() { private static Stream temporals_before() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -177,8 +188,9 @@ private static Stream temporals_before() { private static Stream temporals_after() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), false), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), false), @@ -192,8 +204,9 @@ private static Stream temporals_after() { private static Stream temporals_overbefore() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -207,8 +220,9 @@ private static Stream temporals_overbefore() { private static Stream temporals_overafter() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true), @@ -222,8 +236,9 @@ private static Stream temporals_overafter() { private static Stream temporals_distance() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), 0.0), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), 0.0), @@ -234,8 +249,9 @@ private static Stream temporals_distance() { private static Stream intersection() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true), Arguments.of(new tstzspanset("{(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0), (2021-01-01 00:00:00+0, 2021-01-31 00:00:00+0)}"), true) @@ -244,8 +260,9 @@ private static Stream intersection() { private static Stream other() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of(new tstzspan("(2020-01-01 00:00:00+0, 2020-01-31 00:00:00+0)"), true) ); @@ -276,8 +293,9 @@ public void assert_tstzspan_equality(tstzspan intsp, LocalDateTime lower, LocalD @ParameterizedTest(name = "source={0}, lower={1}, upper={2}, lower_inc={3}, upper_inc={4}") @MethodSource("tstzspan_constructor") public void testtstzspanConstructor(String source, LocalDateTime lower, LocalDateTime upper, boolean lower_inc, boolean upper_inc) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan(source); assert_tstzspan_equality(p,lower,upper,lower_inc,upper_inc); } @@ -285,8 +303,9 @@ public void testtstzspanConstructor(String source, LocalDateTime lower, LocalDat @ParameterizedTest(name = "lower={0}, upper={1}, lowerv={2}, upperv={3}") @MethodSource("tstzspan_constructor2") public void testtstzspanConstructor2(String lower, String upper, LocalDateTime lowerv, LocalDateTime upperv) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan(lower,upper); assert_tstzspan_equality(p,lowerv,upperv,true,false); } @@ -295,8 +314,9 @@ public void testtstzspanConstructor2(String lower, String upper, LocalDateTime l @ParameterizedTest(name = "lower={0}, upper={1}, lowerv={2}, upperv={3}") @MethodSource("tstzspan_constructor3") public void testtstzspanConstructor3(LocalDateTime lower, LocalDateTime upper, LocalDateTime lowerv, LocalDateTime upperv) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan(lower,upper); assert_tstzspan_equality(p,lowerv,upperv,true,false); } @@ -305,16 +325,18 @@ public void testtstzspanConstructor3(LocalDateTime lower, LocalDateTime upper, L @ParameterizedTest(name = "lower={0}, upper={1}, lowerv={2}, upperv={3}") @MethodSource("tstzspan_constructor4") public void testtstzspanConstructor4(String lower, LocalDateTime upper, LocalDateTime lowerv, LocalDateTime upperv) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan(lower,upper); assert_tstzspan_equality(p,lowerv,upperv,true,false); } @Test public void testtstzspanBounds() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan("2019-09-08 00:00:00+0", "2019-09-10 00:00:00+0"); assert_tstzspan_equality(p, LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0),true,false); } @@ -323,8 +345,9 @@ public void testtstzspanBounds() throws SQLException { @ParameterizedTest(name="lower={0}, upper={1}") @MethodSource("tstzspan_constructor5") public void testtstzspanIncluBounds(boolean lower,boolean upper) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan p = new tstzspan("2019-09-08 00:00:00+0", "2019-09-10 00:00:00+0",lower,upper); assert_tstzspan_equality(p, LocalDateTime.of(2019, 9, 8, 0, 0), LocalDateTime.of(2019, 9, 10, 0, 0),lower,upper); } @@ -332,8 +355,9 @@ public void testtstzspanIncluBounds(boolean lower,boolean upper) throws SQLExcep @Test public void testHexwkbConstructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); // tstzspan p = types.collections.time.tstzspan.from_hexwkb("012100000040021FFE3402000000B15A26350200"); String hexwkb_string= tstzspan.as_hexwkb(); // System.out.println(hexwkb_string); @@ -344,15 +368,17 @@ public void testHexwkbConstructor() throws SQLException { @Test public void testFromAsConstructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertNotEquals(this.tstzspan,new tstzspan("(2019-09-08 00:00:00+00, 2019-09-10 00:00:00+00)")); } @Test public void testCopyConstructor() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspan other = this.tstzspan.copy(); assertNotEquals(this.tstzspan, other); assertEquals(other.toString(), this.tstzspan.toString()); @@ -360,16 +386,18 @@ public void testCopyConstructor() throws SQLException { @Test public void testtstzspanOut() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.tstzspan.toString(), "(2019-09-08 00:00:00+00, 2019-09-10 00:00:00+00)"); } @Test public void testTotstzspanSet() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); tstzspanset pset = tstzspan.to_spanset(); System.out.println(pset.toString()); String spanset_string= pset.toString(); @@ -381,8 +409,9 @@ public void testTotstzspanSet() throws SQLException { @Test public void testUpperAccessors() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.tstzspan.lower(), LocalDateTime.of(2019, 9, 8, 0, 0)); assertEquals(this.tstzspan2.lower(), LocalDateTime.of(2019, 9, 8, 2, 3)); } @@ -390,24 +419,27 @@ public void testUpperAccessors() throws SQLException { @Test public void testLowerAccessors() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.tstzspan.upper(), LocalDateTime.of(2019, 9, 10, 0, 0)); assertEquals(this.tstzspan2.upper(), LocalDateTime.of(2019, 9, 10, 2, 3)); } @Test public void testLowerIncAccessors() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertFalse(this.tstzspan.lower_inc()); assertTrue(this.tstzspan2.lower_inc()); } @Test public void testUpperIncAccessors() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertFalse(this.tstzspan.upper_inc()); assertTrue(this.tstzspan2.upper_inc()); } @@ -415,8 +447,9 @@ public void testUpperIncAccessors() throws SQLException { @Test public void testDurationInSeconds() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); // System.out.println(tstzspan.toString()); types.collections.time.tstzspan tst= new tstzspan("(2019-09-08 00:00:00+00, 2022-10-25 00:05:00+00)"); // System.out.println(tst.duration()); @@ -430,8 +463,8 @@ public void testDurationInSeconds() throws SQLException { // @Test // public void testHash() throws SQLException { -// functions.meos_initialize_timezone("UTC"); -// functions.meos_initialize_error_handler(errorHandler); +// GeneratedFunctions.meos_initialize_timezone("UTC"); +// GeneratedFunctions.meos_initialize_error_handler(errorHandler); // assertEquals(this.tstzspan.hash(), 1164402929); // } @@ -439,9 +472,10 @@ public void testDurationInSeconds() throws SQLException { @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_adjacent") public void testAdjacency(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); - STBox st= new STBox(functions.tstzspan_to_stbox(p.get_inner())); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); + STBox st= new STBox(GeneratedFunctions.tstzspan_to_stbox(p.get_inner())); System.out.println(st.toString(15)); assertEquals(this.p.is_adjacent(other), expected); } @@ -449,8 +483,9 @@ public void testAdjacency(TemporalObject other, boolean expected) throws Excepti @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_iscontained") public void testIsContainedIn(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.is_contained_in(other), expected); } @@ -459,8 +494,9 @@ public void testIsContainedIn(TemporalObject other, boolean expected) throws Exc @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_contains") public void testContains(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.contains(other), expected); } @@ -469,8 +505,9 @@ public void testContains(TemporalObject other, boolean expected) throws Exceptio @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_overlaps") public void testOverlaps(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.overlaps(other), expected); } @@ -478,8 +515,9 @@ public void testOverlaps(TemporalObject other, boolean expected) throws Exceptio @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_same") public void testIsSame(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.is_same(other), expected); } @@ -488,8 +526,9 @@ public void testIsSame(TemporalObject other, boolean expected) throws Exception @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_before") public void testIsBefore(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.is_before(other), expected); } @@ -498,8 +537,9 @@ public void testIsBefore(TemporalObject other, boolean expected) throws Exceptio @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_after") public void testIsAfter(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.is_after(other), expected); } @@ -507,8 +547,9 @@ public void testIsAfter(TemporalObject other, boolean expected) throws Exception @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_overbefore") public void testIsOverOrBefore(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(this.p.is_over_or_before(other), expected); } @@ -517,9 +558,10 @@ public void testIsOverOrBefore(TemporalObject other, boolean expected) throws Ex @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_overafter") public void testIsOverOrAfter(TemporalObject other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); - STBox st= new STBox(functions.tstzspan_to_stbox(p.get_inner())); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); + STBox st= new STBox(GeneratedFunctions.tstzspan_to_stbox(p.get_inner())); System.out.println(st.toString(15)); assertEquals(this.p.is_over_or_after(other), expected); @@ -530,8 +572,9 @@ public void testIsOverOrAfter(TemporalObject other, boolean expected) throws Exc @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("temporals_distance") public void testDistance(TemporalObject other, double expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); STBox st= new STBox("STBOX ZT(((1.0, 2.0, 3.0),(4.0, 5.0, 6.0)),[2001-01-01, 2001-01-02])"); double dist= p.distance(st); System.out.println(dist); @@ -544,24 +587,27 @@ public void testDistance(TemporalObject other, double expected) throws Exception @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("intersection") public void testIntersection(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.p.intersection(other); } @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("intersection") public void testMinus(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.p.minus(other); } @ParameterizedTest(name="other={0}, expected={1}") @MethodSource("intersection") public void testUnion(Time other, boolean expected) throws Exception { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); this.p.union(other); } @@ -570,8 +616,9 @@ public void testUnion(Time other, boolean expected) throws Exception { @ParameterizedTest(name="t={0}") @MethodSource("other") public void testEqual(Time t) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertFalse(this.tstzspan.equals(t)); } @@ -579,40 +626,45 @@ public void testEqual(Time t) throws SQLException { @ParameterizedTest(name="t={0}") @MethodSource("other") public void testNotEqual(Time t) throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.tstzspan.notEquals(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testLessThan(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.tstzspan.lessThan(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testLessThanOrEqual(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.tstzspan.lessThanOrEqual(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testGreaterThan(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertTrue(this.tstzspan.greaterThan(t)); } @ParameterizedTest(name="t={0}") @MethodSource("other") public void testGreaterThanOrEqual(Time t) throws SQLException, OperationNotSupportedException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertFalse(this.tstzspan.greaterThanOrEqual(t)); } diff --git a/jmeos-core/src/test/java/functions/MeosArgumentErrorBranchTest.java b/jmeos-core/src/test/java/functions/MeosArgumentErrorBranchTest.java index 4326ea215..a762ec816 100644 --- a/jmeos-core/src/test/java/functions/MeosArgumentErrorBranchTest.java +++ b/jmeos-core/src/test/java/functions/MeosArgumentErrorBranchTest.java @@ -1,5 +1,6 @@ package functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.ExtendWith; import types.basic.tfloat.TFloatInst; @@ -35,8 +36,9 @@ class MeosArgumentErrorBranchTest { @BeforeAll static void initMeos() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_collation(); } @BeforeEach @@ -146,14 +148,14 @@ class NativeTrigger { @DisplayName("intspan_make(300, 100) catchable as MeosArgumentError") void invertedSpan_catchableAsMeosArgumentError() { assertThrows(MeosArgumentError.class, - () -> functions.intspan_make(300, 100, true, true)); + () -> GeneratedFunctions.intspan_make(300, 100, true, true)); } @Test @DisplayName("intspan_make(300, 100) catchable as MeosException") void invertedSpan_catchableAsMeosException() { assertThrows(MeosException.class, - () -> functions.intspan_make(300, 100, true, true)); + () -> GeneratedFunctions.intspan_make(300, 100, true, true)); } } } @@ -261,14 +263,14 @@ class NativeTrigger { @DisplayName("creating a sequence from no instants and 0 counts: MeosInvalidArgError") void sequenceFromNull_throwsMeosInvalidArgError() { assertThrows(MeosInvalidArgError.class, - () -> functions.tsequence_make(null, 0, true, true, TInterpolation.LINEAR.getValue(), false)); + () -> GeneratedFunctions.tsequence_make(null, 0, true, true, TInterpolation.LINEAR.getValue(), false)); } @Test @DisplayName("creating a sequence from no instants and 0 counts: MeosException") void sequenceFromNull_throwsMeosException() { assertThrows(MeosException.class, - () -> functions.tsequence_make(null, 0, true, true, TInterpolation.LINEAR.getValue(), false)); + () -> GeneratedFunctions.tsequence_make(null, 0, true, true, TInterpolation.LINEAR.getValue(), false)); } } } @@ -494,21 +496,21 @@ class NativeTrigger { @DisplayName("intspan_make(300, 100): MeosInvalidArgValueError (inverted bounds)") void invertedSpan_throwsMeosInvalidArgValueError() { assertThrows(MeosInvalidArgValueError.class, - () -> functions.intspan_make(300, 100, true, true)); + () -> GeneratedFunctions.intspan_make(300, 100, true, true)); } @Test @DisplayName("intspan_make(300, 100) catchable as MeosArgumentError") void invertedSpan_catchableAsMeosArgumentError() { assertThrows(MeosArgumentError.class, - () -> functions.intspan_make(300, 100, true, true)); + () -> GeneratedFunctions.intspan_make(300, 100, true, true)); } @Test @DisplayName("intspan_make(300, 100) catchable as MeosException") void invertedSpan_catchableAsMeosException() { assertThrows(MeosException.class, - () -> functions.intspan_make(300, 100, true, true)); + () -> GeneratedFunctions.intspan_make(300, 100, true, true)); } } } diff --git a/jmeos-core/src/test/java/functions/MeosErrorHandlerTest.java b/jmeos-core/src/test/java/functions/MeosErrorHandlerTest.java index 8358a4e44..a857bb787 100644 --- a/jmeos-core/src/test/java/functions/MeosErrorHandlerTest.java +++ b/jmeos-core/src/test/java/functions/MeosErrorHandlerTest.java @@ -1,5 +1,6 @@ package functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.ExtendWith; import utils.TestLogger; @@ -28,8 +29,9 @@ class MeosErrorHandlerTest { @BeforeAll static void initMeos() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_collation(); } /* @@ -42,7 +44,7 @@ has already called meos_finalize() before this one, calling it again causes @AfterAll static void finalizeMeos() { - functions.meos_finalize(); + GeneratedFunctions.meos_finalize(); } */ diff --git a/jmeos-core/src/test/java/functions/MeosExceptionTest.java b/jmeos-core/src/test/java/functions/MeosExceptionTest.java index 71c1cfcc6..19eed9a62 100644 --- a/jmeos-core/src/test/java/functions/MeosExceptionTest.java +++ b/jmeos-core/src/test/java/functions/MeosExceptionTest.java @@ -1,5 +1,6 @@ package functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.ExtendWith; import types.basic.tpoint.tgeom.TGeomPointInst; @@ -25,8 +26,9 @@ class MeosExceptionTest { @BeforeAll static void initMeos() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_collation(); } @BeforeEach diff --git a/jmeos-core/src/test/java/functions/MeosInternalErrorBranchTest.java b/jmeos-core/src/test/java/functions/MeosInternalErrorBranchTest.java index a170a3dc3..3f86dc3be 100644 --- a/jmeos-core/src/test/java/functions/MeosInternalErrorBranchTest.java +++ b/jmeos-core/src/test/java/functions/MeosInternalErrorBranchTest.java @@ -1,5 +1,6 @@ package functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.ExtendWith; import types.basic.tfloat.TFloatInst; @@ -38,8 +39,9 @@ class MeosInternalErrorBranchTest { @BeforeAll static void initMeos() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_collation(); } @BeforeEach @@ -597,7 +599,7 @@ class NativeTrigger { void divByZero_throwsExpectedType() { TFloatInst sog = new TFloatInst("12.5@2024-06-01 08:00:00+00"); Exception ex = assertThrows(MeosException.class, - () -> functions.div_tfloat_float(sog.getInner(), 0.0)); + () -> GeneratedFunctions.div_tfloat_float(sog.getInner(), 0.0)); assertTrue( ex instanceof MeosDivisionByZeroError, "Expected MeosDivisionByZeroError, got: " + ex.getClass().getSimpleName()); @@ -608,7 +610,7 @@ void divByZero_throwsExpectedType() { void divByZero_catchableAsMeosException() { TFloatInst sog = new TFloatInst("12.5@2024-06-01 08:00:00+00"); assertThrows(MeosException.class, - () -> functions.div_tfloat_float(sog.getInner(), 0.0)); + () -> GeneratedFunctions.div_tfloat_float(sog.getInner(), 0.0)); } } } @@ -741,7 +743,7 @@ class NativeTrigger { //void enormousCorruptWkb_throwsMeosMemoryAllocError() { // String hugeWkb = "FF".repeat(100_000); // assertThrows(MeosMemoryAllocError.class, // FIXME MeoWKBInputError was thrown - // () -> functions.temporal_from_hexwkb(hugeWkb)); + // () -> GeneratedFunctions.temporal_from_hexwkb(hugeWkb)); //} @Test @@ -749,7 +751,7 @@ class NativeTrigger { void enormousCorruptWkb_throwsMeosException() { String hugeWkb = "FF".repeat(100_000); assertThrows(MeosException.class, - () -> functions.temporal_from_hexwkb(hugeWkb)); + () -> GeneratedFunctions.temporal_from_hexwkb(hugeWkb)); } } } diff --git a/jmeos-core/src/test/java/functions/MeosIoErrorBranchTest.java b/jmeos-core/src/test/java/functions/MeosIoErrorBranchTest.java index dc90273a9..c0553510a 100644 --- a/jmeos-core/src/test/java/functions/MeosIoErrorBranchTest.java +++ b/jmeos-core/src/test/java/functions/MeosIoErrorBranchTest.java @@ -1,5 +1,6 @@ package functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.ExtendWith; import types.basic.tpoint.tgeom.TGeomPointInst; @@ -39,8 +40,9 @@ class MeosIoErrorBranchTest { @BeforeAll static void initMeos() { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(HANDLER); + GeneratedFunctions.meos_initialize_collation(); } @BeforeEach @@ -324,21 +326,21 @@ class NativeTrigger { @DisplayName("tgeompoint_from_mfjson(truncated) → MeosMfJsonInputError (code 20)") void truncatedMfJson_throwsMeosMfJsonInputError() { assertThrows(MeosMfJsonInputError.class, - () -> functions.tgeompoint_from_mfjson(TRUNCATED)); + () -> GeneratedFunctions.tgeompoint_from_mfjson(TRUNCATED)); } @Test @DisplayName("tgeompoint_from_mfjson(truncated) catchable as MeosIoError") void truncatedMfJson_catchableAsMeosIoError() { assertThrows(MeosIoError.class, - () -> functions.tgeompoint_from_mfjson(TRUNCATED)); + () -> GeneratedFunctions.tgeompoint_from_mfjson(TRUNCATED)); } @Test @DisplayName("tgeompoint_from_mfjson(truncated) catchable as MeosException") void truncatedMfJson_catchableAsMeosException() { assertThrows(MeosException.class, - () -> functions.tgeompoint_from_mfjson(TRUNCATED)); + () -> GeneratedFunctions.tgeompoint_from_mfjson(TRUNCATED)); } } } @@ -928,21 +930,21 @@ class NativeTrigger { @DisplayName("temporal_from_hexwkb(corrupt): MeosWkbInputError") void corruptWkb_throwsMeosWkbInputError() { assertThrows(MeosWkbInputError.class, - () -> functions.temporal_from_hexwkb(CORRUPT)); + () -> GeneratedFunctions.temporal_from_hexwkb(CORRUPT)); } @Test @DisplayName("temporal_from_hexwkb(corrupt) catchable as MeosIoError") void corruptWkb_catchableAsMeosIoError() { assertThrows(MeosIoError.class, - () -> functions.temporal_from_hexwkb(CORRUPT)); + () -> GeneratedFunctions.temporal_from_hexwkb(CORRUPT)); } @Test @DisplayName("temporal_from_hexwkb(corrupt) catchable as MeosException") void corruptWkb_catchableAsMeosException() { assertThrows(MeosException.class, - () -> functions.temporal_from_hexwkb(CORRUPT)); + () -> GeneratedFunctions.temporal_from_hexwkb(CORRUPT)); } } } @@ -1231,21 +1233,21 @@ class NativeTrigger { @DisplayName("tgeompoint_from_geojson(truncated) → MeosGeoJsonInputError (code 26)") void invalidGeoJson_throwsMeosGeoJsonInputError() { assertThrows(MeosGeoJsonInputError.class, - () -> functions.geo_from_geojson(INVALID_GEOJSON)); + () -> GeneratedFunctions.geo_from_geojson(INVALID_GEOJSON)); } @Test @DisplayName("tgeompoint_from_geojson(truncated) catchable as MeosIoError") void invalidGeoJson_catchableAsMeosIoError() { assertThrows(MeosIoError.class, - () -> functions.geo_from_geojson(INVALID_GEOJSON)); + () -> GeneratedFunctions.geo_from_geojson(INVALID_GEOJSON)); } @Test @DisplayName("tgeompoint_from_geojson(truncated) catchable as MeosException") void invalidGeoJson_catchableAsMeosException() { assertThrows(MeosException.class, - () -> functions.geo_from_geojson(INVALID_GEOJSON)); + () -> GeneratedFunctions.geo_from_geojson(INVALID_GEOJSON)); } }*/ } diff --git a/jmeos-core/src/test/java/temporal/InterpolationTest.java b/jmeos-core/src/test/java/temporal/InterpolationTest.java index ada3938cb..24cb10078 100644 --- a/jmeos-core/src/test/java/temporal/InterpolationTest.java +++ b/jmeos-core/src/test/java/temporal/InterpolationTest.java @@ -1,6 +1,6 @@ package temporal; -import functions.functions; +import functions.GeneratedFunctions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.params.ParameterizedTest; @@ -24,8 +24,9 @@ public class InterpolationTest { error_handler_fn errorHandler = new error_handler(); Stream TInterp() throws SQLException { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); return Stream.of( Arguments.of("discrete", TInterpolation.DISCRETE), Arguments.of("linear", TInterpolation.LINEAR), @@ -38,8 +39,9 @@ Stream TInterp() throws SQLException { @ParameterizedTest(name = "base={0}, expected={1}") @MethodSource("TInterp") public void testFromString(String base, TInterpolation expected) { - functions.meos_initialize_timezone("UTC"); - functions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_timezone("UTC"); + GeneratedFunctions.meos_initialize_error_handler(errorHandler); + GeneratedFunctions.meos_initialize_collation(); assertEquals(TInterpolation.fromString(base),expected); } }

        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 z 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

    05t%u!;F( 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 z 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%0ALaZsSM{Z>p5p^j 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 LoOT?$tT;@V@T=wT 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

05t%u!;F( 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 z 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%0ALaZsSM{Z>p5p^j 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 LoOT?$tT;@V@T=wT z0A9;qHungj!?Z8a`jDen?6y~pGVl0`o~zIobKYxHI-Td6&LrBdO{8uKxn4!>6Yqh~ zAbieAnbdfRJhZ==*7|B=JHOHalf<7Q{-Tbb$2WgdpiiCQCK6vKlW}PWUgfLoN71~@ zb{nWy*&=mwVnCjYu-CjvAY}YJ8SjBt6Nk1I;k$V$e3RF}iH;gDk*U6J zgC=QKL0g69)IoTf&b<2hp^}oz6ogj~yqdno-5GpK{U6UO&p9_H){Vdy;I$5~_h??a z-_y6;H~a8T(K6_{ZZGGomXtFCw&CmE`jOB|V#P)E&>kxM_(}h*gw_P@xHSgl{~=y8 z@!nS0FDK^>Vm}O@M~KTn$!Q#Z6W_RyU6PD=athZ$sXSNKqS0!BZ^5hdn|lAO>T^g# z_c@-d)b@j}e-6ks5%JN(P!%53L)T^7BHIbef?}Lu=sM=-cSn;gXko z$tbz@5qE*OB0GDmQF@X2`|Dl5R5wAB#M>gCV*}*arD`or={x2huTP}e^pZP3^Zc1? zx6KWZW~t;|#NqRXZ?Qh&>eYZ9!BW zA8S{S-HN}quZQHwdANZsyyoE5^X&`S4(P2tT*OoJ{h12(Pv8c;}+)pp{)- zT(k-87QXFzXmPme@h+nyJA^Q~_KfI2VexQydJGm8s+ps7JeiU9) z@cM-=+dXo&J?H$NOf{K4h!Qm|DeSOic&x#r^B=jh$CY)M-K*pyJ_&Xbgk;D*rk*7l-1d(_7-a7m({PApdFp#@Woe@m=PvrTjznfBa7Gj2Onat_~Xk&4|YDlb<)r{eYS8iH5F_b+7MD9n}Zsn>k#t)xA*W7()J z-l^0GhN$Fe0ZbaqV+6xb^0W%A7uq+4pycM|DKN(4^5WP=$fz!cU>bPEuN1RS&fHt% z@yhW>sF5b5cxn#t{{eG&lsUvyueF`cM0~|%M$5LlAd!W+FW~4^DY`4^R9Qp z-#oo_Ql01W`x}&8%i_gFqyK?z5TgKI8}i0pHMdtjP3};LJ=Y3tMJ?)_ZYR9jck$_I zS(rXs^hl+xMb%pbZhw>Ua~xa;xTK5o#%x-x#$LD0CPxgos9I$d**lnnc>T6Xb zYcVk(JK0}syK2t~aflle26z>S^u_*~Bo9@4$NL>*%vvU14e>t1x73+_?-G4ETw=Y? z6&S7Ep3h{6zd-yq==kQC<;h9Uqf%H&A*x#XU?Yd~_TY1AK3nUDq1}dD^}=feUfVzB z?xJJ+pw{_m<|jQ@B>HYp`$t*S2@yBGkbbp*O0VB&H)hohCX zw=nfhzC{-&6U9Y4`~JB^2efU2Ci3cmwgv5hm`g0cE0wwbbBTKLRrC<@53jrBn|b+| zyp61FWKma4D(FadZ%yHnOcSjEO!6Z8I78~on~N#=$z1HG)KQ3&UCxk(G%jWWwWKjg z8ofVZ{~_OYyY}<|yJRbI%P0rB_@7pYyH4C6>9{%Lf$Fb1KPhWIw9TB9y8&}YX{qCy za>m=Adh;X6Un8_$XgBCIP5-w!w~)H;ChjzG->l=B`3o6O!|hi3N;CL*crUJV_g1;+R@Tn;7VK=+ezzwe>U2mS{? zzLrJ4F-wj7bW3{xwENl|*iEqJ9Bmoe4m4+uCOUBgTG7w6e@DITj1B3```)D54uk3$ zdBR!w?Moh3Tr^Jnb0Q0_JJ&i<>HC08tsmvMCr&9xJui53^~m|l$1c0OdS9lrxpnCM(6@z7=P~VST7zv@V;A@g>t?n^`3TtOz^gcTUiyC*vfmGBb6)-G zHkX!Lt#X?RZ;#(DwpQ+h?`*s)tSypmn!icX9?V|IeuHl*M;<-F@h{2vSw~T{gzU>X z5oj;!{t?mZN2IY!8qPc_1+Dy%#rTKA*Y!QUsO(7Y+&z=%yg{8IX<=gi;xJt+I=dU5 zeMS53-80AN0kxJK#z*RQ4nCXkS#|5f^VO)lsr5WHS2<08V;MHYHlp;x>kwXD)_%6w z?YkZ?wKj;uL!S$lyV!4pSMC^2&#i@5GYb&aCHwB1E~X6;oKN==w}H6ke0l_0654Nv zs@Ls{`p}opKAqRE$Mf|v;0B(uD`h++5ogNXs_fu#O}JwFuP96K$Rrg9GFfp zG+T9txp^NLRc|qXh`$$O?X)Nii@oKp?RFJRq~0^|Xeiy!{w?3qugtdS$y(b=$M^|E zUpM`FanUTiK72{M)D5n=3PSdKg)}W0U#8%H2>(INKUA0Lox+scHWk!SMBJ&kbZmlv z?fqzb@T>imeS0096}s1GU0U)e>}lwyBqH>?G`$M?D0DT4h5kC|VqY{spNH<)bK3S( z{$4q}FExOHp~f|lc{lOPAH1J^ira71d?U=hP%iv`eZ0Kty9|JHIP8QZa>b;OHRi8B$OAv zOwlQm@aiq!&wf_Qi9Ge1EG4nd+7iYYhQq3p;1%K)J#0VwS}ha3Mu&X$z6%DQVfHzw zYsAG?HGQYtr`n1~6;suuy7H;6Vt)Pb{p_&6O!<5wts-s|C5bQvcTJS`c$$3n!mH;I z`&ryJy6aW+8lo zxb=_8pY8$Sc}s`hxYFZoKo)!oZ{ zv!~JhFY7?Wk^f$${wwooCd9=C7%dfUW5q1Nh= zHvTQyJVyDkiO-4`RqNg6IP%cnZ5)ErpSI651HTFQ{q#XFSL2^&_ju!<>K}OMtk~r@s((luPFB-Dp1hxZmXrg2+Rv%Rf?K_$)&BHe;&u}EITBaN###H5U0n7%TU4F9 z4k>8ca8s28|iEWcT3JJn2}fcrFt@5|QTtnDJwHRy>aJEh5i0FiXeq>>+$BBF`x> zyT|ZcBE0k|moCq0WS9X{0VYhIB4W{L6^}=M5a+iAbp zfSCp}0zPQN1;!ECDW>QA0Ur&11<`LsPr!cyuarA>GG6FAnnCC}cdV>9QHwcwmCF4& z+MdXw3GCt1_T4v9&AR~gTr(;AkbQgFPs+UwzV!~*P8x$><vpln}N?Y``ZjK}Bp?fEbn7`Cn_ zB|8tbgw+xDc>XP8&JBdfJSqvj8G5y*3qt6f(Axv?rC$1=cSGNj_~=XXjz-$s@MU7A zv7ukaQ`dxNJQbdEU`yNGJXAV)Sb<&*UHMx8$psB*;%`B3gwFp=eG6wGOf%uxmP(z zY?e#pfrt0)Xkf<)`$;D$JgvSiXrN1Us7&k ztW#@E=qkFEcY=Z{Q#v9IX5y;-?ClS;G2!b?YP=OcL+n)edcGQOWiCArzl9t3-LtQv z$5)`uLu=*R$d}q5jqgnNCExRXYJc&OlqVObYzs!&%Bz&pl}jqMx`4f;*HFv)PA*QR z=j}^Y_xt$PHhaMx=Hd#bHv_Kxrs(C{0#}=hE0|uzlhHT1I8{Enrj{qyBM0Qt4z4p7 z=cZ>LluPB{M!@yu;tJN^61dS^oSR-){Ye`-05=WpxA>NyjKif&&X=IcxaPObxRO>% zjH+mkvv<|j8Vb_{W)sZsyBNoYWv`=-csibPKGoc$56li2NmJ4pw%9j_`HF#|c#ac( zKzOsuQ`v}=3ID3*Y34(0#1$~*H|OWMLwGgeQFvB975{P`o|0xG;qAwScM{%}CtS)t zKzMJ&Jk5a_J%;BR;gb=07S*9o^6->#x|;A6!n^qPwTpU=bm?{>%BhXucH$lqSFK;D zxdoFCecw#LE|URaD%5U3amqM339r5GePb^PMuB)6oyF*f;K84ancuE@GA8ZYDb)Bk&r! z9lxQ@hv|P%a}ey<;mc(ohOcC-sj&YA>`32!_UC-t_GF-+$RtW`6~EFbL#w*<8)uVS zD(<%=4qjA~qOLJ_36g;A&u^$l-@ekbLCT@GK`Vpya23n8nY*A>LOUTedi)?dUgGvc zPeGS&`N{uBp|wME_F#*>I|Z#1+UF$_=RR)L_yy=iuiDRw*)Kndy9({d!DFAx<_Mv0 zLoXq&$`^DwgDvz!=w%`Fa+FtvK^H!K#IJ>31^tB7ks7yX6mloD42-R^>Lwp8a>1>9 zD0v1xXoo^MAq~?0VB=^xUMS_R@*+cNiL3IH<{@b+nHXhS5CwZjE`1GpX$XA>dU*)_ z2zq4*z2bKmFGJ{c&}&2J&Cu(i_ahpqC-IF+{=1-0LVvZ;d81eYgx(LmsDIx+|9*`Z ze++sj^jAoH{0gCray~Z$Mv%{sM_lU7hDO zJbY`Mml8h{@l-AJIZx9lUZu~V{eZbcFv9BZM}$!quRH*hc@_59(iyWXMnj2g>0 zg!9HQE#G2q(6IB8fnNjsu2i|hhr$0#8n8d1y;NvtWvv;XrRf7v`t>zR529VP%2!sWw)2CJ)7{f0TNJC=5My^JbrFYXJ=zJmY~|8x?_aa>zilC;JNKOlTUN z#By2>*gf3MI&B}ARr%e3M{0<*Z7t)RFs=m1lni($O+Fp`{!83of0#`Bx2bm+4lhDp2+vjnCmH=SeimH{)8 zi^-d}2C07x$!RdpPUE|!7SwADd9teZyXaoP542ca4E+!;T6NIeM+8`?x8R1v*Buegf$cH ztGUXYbPMhfTo<^Ph2gM;Ds5bA5Lf>k{5kgl*8^_tKH#Rom5f9$-zKtzW8RPUOS<$L2nYeYHKu;SE->_^^F0-_d?Pc zhhFk#e>yd=n1x;i{k<+fOH^lToYg@VOWE*Y?;Bqy-URVxym;t)CMfKbBDT2hi>e7b z6n^LTv$JkI+Yh0*vX)#6y$XYTmN*}G<5;KRaz-Ar=K5-kKMXa(B!6whZF)=L{PhuU zfq2K|Pxws=ztMgBJv1dhd9#Z2*r{licbRxA#9Q$4NM|IEck*AOyt~Bf`lJ2qr`&kD zyj&&;KULl`E?PMx&WamHwg!}@WYs2E-bUh1{c+*^rHNPbC&%Yc=AEO&TO!_;q)k6I z&yJ|I6y`B_fP70S;$s!;3fT16e)eDP1Gb3CU&-C~4ci2E7VMAjL%IWCyY9Jfujg{(~r zrU}d@n1Ee?q7w{<37BV?c1|0ZJ}@N{``PRHmUbR~p8j@Py6MD_VaRueN!fWz@Tz=( zc$Fqu--6f8A^Bo&(0SIS@IeIg#gkTne2M+t0k6~pkT1!K$aw~SY51KKg0ev!KeN95 z1v$&kV7W+#Plee8Gw8!8n~l2hFsA~TGA8$vJ`D2)wI{>F$UbK?og|nAFls)f@)nlP zjXq32m~~$|h08MwX3vKSOUIwLEik2TH|18iJmn|R*I?ATtSXPw4?G#P1!T|+CK)lE z0We)))E@7=>GU=AauGY_WX&!Wj~2TT%- z*MADPgUV*=2TYW9&<Fonyr3uX;Wlzv*(!u}gyI)%%V z0#ou1Q`UvcGXkdChbdg1MKDcZqSVhGn9hjlRG;QN1(+!Pv;)j^#B@f%EJZBO5|~Y2 zI)&>e1LnYoDO^7_t<1kC%{nbyKb>Iez(i?pV_@2R=@c%{GMH{3rf_)j*Z?X3Y!I$}CKUt`Lzf)7);eoET0M}3&W_0tGu4@{Ky)(fWe zU1t3hF3&WW8Xu-`c{ac#!Fax8Cmr!q+LMH<0>0$ZE3kKb7$+SM6ZAhfff?{&9JzTI zxnbAzbN7Ln024lEwDV@}fmZV$Fw4Gl3YTXS%$5&xe0j>5T9sXiJqo5w=2`rNRt@a{ zT0&85S_8BUG&y1+KZ(}{Z7&e73)*ggUmvs`Bc7CR1ll&VDD|}n=E#RRzI>9-9+=80 zGo8ZqRecru0Zf$o>Hw4WrBk@RM!^jFFvpiiWWEGu5{y}2>(C~knf0{;Z5*0eUx(1f z0`baH%&!9cs-cY-@kEXd(1xIS^;KAoJz%DM7-wGT^%Z$!)9fo#U>1Ft!s)Do*#Hyn z#|iKICC|ftcz3k&G=iz}VG5V07fhoMQ@CABgX!>Lj&B!IKO12Be3-&=E4`Zb047R1 zZvwOEOQ&#o`oL`XFvpii{E#zXGGNsHR-gaJJ6gaNE9LiDCvL@i!p0@9ohd!e`i|o( zD!GRBN-&+IW&4*LdEq11d)&^kMyr>&lpnGYOc$6-$x}CRhlrbU`8#Fy__qZ3PlB29 z@pmv@ndR;@sqYoyE)zF*EY4r%Loizr^HkTt_;87N>LhN}doR7rvSu^}rV)&+f7okA z_8Nt=J~>Bt+cDv5gm)ejzDIb^G2vy;XFNY9ypHfu!e#x?&Yyq%w4LzTJmFGLy@an4 zenR6fW&Ly-%uXJjBC}<}OQyr~)J*s`;WdP-ey#k??BFo()l+*rQu3O6lKTkQ8GuLE zbUnjE_|#sDzX3j~4SRlT*1*j@c;^(K>yP2n2cKs6TnA6v|Lx_6bNAZMd}YD>EW)Sj z0Vr3|b@(^#XSwPqN*jCz;nO1JQaXxt=;0WzP*5t?u5MDxC8BXyN9S*V_)`($&k}!$ z__Bsz=qUC_g!A7d{#FG3rJdMQ#8-EEsQjyY_*enX;9%T0Q>ok6n@ZMwiFA_d@4F65Sr;foN5+y5)n#&Y`&iP3;b>nLSXG$z0XSjXC$uW0VR|I5!h&^9+c;V zhfC1B#^H64hnL#_6~asAi@t?%&1(x@rSCWMg^jBB(6go|_oL_JOWubH<5k;5d-d^R zzq9!cP6)4j`Ra#P{R6~n8D7nKctw?c*$vnad3Z&YeJ8wneZ20w>}TLL7qFZI^2gZl+a zZ^XXxVVwDvhY9W%Xack8!#MLs4-?!k&G@nH(*Z2(N!tXZdp z^EL;j)`uyaw{0-ZV4}2xif;5x#B|!g3`WEZf|-n%w|OuNzH|!9dI!w94^vpyl`p}* z_hAalx*bgEhs`=IoVOt`H9kz?ye)u9`Y?s_whN{U%%!%2CUj}lOYw(*`KTyXHRlhc zqYg}P-a!;F-*U6P{#1UcF7Ue%^EnQt>n^iA2sC>s5jgY!Evdy2m2n(rM3@c|A1+Xm`)#< zj)<5UFntm8wh3m;mrh|>m%SW&)`ux9>m-;JAEvOZ`@wAcFop9r3+Bj&DV(=0FqL!B z+Clj(tapKl(hi!zq#~v>0H!x0W)93~#Jp{TnenAlSk@J{;!pQs3d_0;%$5&RxE&0F zIrL!)=WQNL#mCG#Eu6OmPMe9U!o;WG>M%ovzq zzQqrI-g3(Bt*M@qCl)F>(2Tvq5ht~7n*q0T3Hg#Vs$PjbKfj-Sy_<$pZZD0NkTg2L zrNF&72Pfyp+{<*7jXXr$5#p+|*Qy*&8a!O7_bRFLwR*i;WV--n8B9+Oe=}cpdAEsM z^6|oXku|BZS7FZ)w-8@Rwt~MV;tvr2DMB#Lw{}1u525!$pADgpKwl1_PeI=d&}9u| z0eS|y)RDag;$Mf|AiVsq!^1@v9uQtnxaS`<`+$9Iq3P?BG;8mmJ?G&m;cbNX<_Rw+ zyoc~H!ks%Sgf<9mG(a1NHUdqpI}u0X%|M$E#9M?m2kpUx%dd^UHE6TY9*DJ@%6|M| z4-l_zc&)?h{;u6f8Ry}3@BrjX>g)(!rJu;ZhFSG$#y`TncIK^N${vL#!W#)!?@+2W zJbNw8J|4;i62y^ox`{WRhmVAh5WY^hx2E?B*7Q!eYkD(;X9$;dc)PuG4hxMYhgl^b zD}+}s>}NmdhTHjgqgomC^07y}S>lE9sRdj18u}aIxjI|Uvr$0wsI%v!k+?_1^>nt` zhiqkK?z0gY_JXPWq`Ak)!FYP>beuCkb{CY=C>=QiE(tEm{C*Qmmk;CURnIpY^yikn z7JcT!IAe;33C^37U?zMRr%WCu=xgo=Gw;I`PG=U(8ki{avMn&X5z{FjV7&O0DeJ;{ zYX(ydCQ9B0z%=>NDJ-`+Fr7Y3;X2(0)9=F+E>Fdsj9)%X;k>nhne$-^=WP(ost;2* zZ}VVwz(kSt4w$09iB_kTufrb{5z`K)5loc44T0(KrBhhe3t;+un8LE&1vBQu6qa?> z>(Q4!OyRtxz^wQ%$LCGP_YpALV4S(O&?cd6L38GpLYsrO3C)>H3vC(NMgY43Z9Rb9 zg|-IGv_FoZtp?(i58C-R)2M;A9Kbe0TQacq~C2CQ|-ePPUjFz zQ$$SNA7X#_FopA$2Gj4uII{L+VESG~1`}Y$eHcg99>(;u3T73|oDWl221j64eVD>| ztA7*rhYwRYZ{1*uK5N!#;dCa!RQWK4(^&)4=))A2LD4YwhYwRYZw+Aje3-&{>j5+7 z!xYZj6qs2brf_>(2eabC6i%mP1p6Z*rV-4M4^udAyAE-g>>#BCsM%H{9m$(zFm&$4ubNrAZ(f9N=IM~EB6AG!i&8BEWy zdD8x0;+Fhv;k-y)RlNm$LflK?+eX~MOW-TIx}Ui7#EnwMSulH-n3oOW)_?xe%2+hY z`W$f!l~M9tN8DNBdS~mLekFePE0ljIIF_ZsY=H4>0H+!pG0I z^CSoIu&=3A_p{D`U%wyt9q^g^fv@>v^uyof%Rgr-IeegA-N=*wZt(Sa@t073@Tt7` z!s+jT@5_rXoPN!pV2|Aod^h;{P&|HI?N>ccely_LL-Ci^es;iT?jt@)o2?n6{=cAg z1pC1BopH3^;gZ|z4$1Kn-WRc3FgwBIUNC1T7;nVDqX!;M_mjsQJbK`v#f*E^4}ZPD zLiyKA?!i9);(qofA*eM-$CmSa*z)3`z6MWW8o@MyQRny+#<2rD%qhXx-AiG5!SsM} z)*sGu&vx*BwNvryoMlginFccwF>f1SmLuk^^j^l-hW-Maf%EqxbBjzm$<{)C;`oWZcDVp47!L);kBDXCt17M=at^7~%r-1R!ajG`T z(JilC%PB^)FEoRh2czyk&)XNk7=2*?%u>X3=D=)5OlKR+4j8qbd|ck_s}WS6t9UEp zMZ~6*7IN*BBrwgCJ82r3@YD7dyAO2b}&5=^EL#gKVmuyV8$b+ zvkPVlOcWVZO2mYt*ed-5xaDzdB(FSb>TBd}1xz|`I^p$m2xc%ZCOmI-lhjW{Od8Arm?-r# z0cP8mPT~4l1#^@a6J9?@U@E^Ft$ynNocaM1rGC1>r1Pc|UO$sy2J>RV>t_wjWJFBS zJEFynd#@RDLa5{j7s&028HtO5R2NC~_MCGZZnMMKDtlF?(PZ!9iw5ho0c|Y|7CW_oT!OZ#6DJ-`!FsnXHVYw}X*#Q$pZU*Q3=>?F{qNh?p)g zZD69vZ5&L$FP*}2TLClf!xWa=A(%NZQRG(l0sLd-V9sJc=x;kOg$JcZ;q_J^0Wrlw0pp`=f&9Rm}ibe22)^q ze3-&ASO+uW!#Mr}uROuLmCRBne|}`muCpfiVss*)(c>^!9*VCKO*MSS?i zx#(W#t0D9e=-VOmDd>j*dKD}epqGEwJeL|c|4ev&o^Y`%4hT;XenRr6)`T5-%le1C zuwd#%Nwanyc^|{GjqowT19H-DuG{ZKn>-~SgJ32jV&=ijM8xcXnFr(915Um3G^}38 z5ALV0{5bZF4`a%RI|bO`6SP0u!R&(Z+P>2!MXol+*tV$F+K0eYY?^s9(_v2~JDP&& zEP$y86P}KZG1F;4*1KT3z+A<*+~uX;Xy*o6dk+`2?(Eyb(&dwAf~)>(?0s-*--W_a zrt>lGt2A-!{ZgA3JzOWaDR6)6rbi6@2D_!Vy%D=ru5Y9XDxjn{4(=cy?$wCVjx2|x zeYjO{?fnG9K)9X?&dMVI|)y^;r2Oh2R}#n z0O2Ah8!vZm^ANG-zef1vG3oCSzIaUfWeeDU$E06J_~9|>w-a9Z&-u&OOL!yU`N}s& zcqifc$~Q;&z%l&S2%kKL{~qCsdH9PyD*GhmC;TNMU$2j-eU4mjOl3+Fup3~retRJa zree#x+d%iLV=?_;Qee6xq%#XZdEf7(2lk%*WbFw+q+m5a#nPvgG?6J;My3QR{t%m|otM9dq<)NjvEyKNB4Sp+6n#Hh zI)`AYB4X-3hy4O3%HFv&nC6I>2{5UMm{l-c5iv(#dLm-#|CaecL`*lBp@^7CFk=xh zYhWh9c=No#TuR+vL>n}G`9+_{{?CiC=dI>kO6M zar%OXQTMzVd7A=L`tSM5W8Z5RTsK( z$HoNn)(d6;Ou$FL(*mLo!eu=TW+X2rw>&bZ+W<2T<~7>BzT3)qFC$5czGo;};%`*% zUb%BTu)?eQ@9@vTt3ML2H-z%)h1VgxULA?oU7@@d;Z^s8`_D_}r6pg${(x7Fnt=S>XGH#zgpX2OS#3GXI++!v1jofmKfFa2qR@M*%Mw2MVBb9phj z?LyMo1GAVH6W;!+zexS(#e}ER0cJffCOn-{Fk5*sx#^Tso+U85U>?l3{Dig+Z3o(e z6vaN@wF7M%+6#n6{d(&lvZvV2Pf#aRuCSkJ$Mi8d{aY}0euDnIb})@#qNFnfraMA9 zQpN=^<6utdG74=K+8VUW4B8g7)c`F6Z6!b}`4Z>F0<=nKO95IPw8a1|32h-j>wq>N zp!GnTGiYK%3__cQ_9e+P{)W3P-dqd3sbt-WqT)S1S1+~3i_%121l#l<``Pbm?7gDn z?up@Vy}RUOqIT>uUh+GCd26C^_(83S`C@C32UvKLg~$C)8ZWt=j`QYUE*YMZM%9-o zFKOJ4c_sNf<_(#%iN07}F=?F3Nkc|~@H9lf4w1&nfAapen+EOdo>=%hGHL5&p~b)% zBW+*}UYkGEz8L;3v~6e&yZhPme9Nz%zXNFV(8h$|^#|TEv}BRo9)VTk*1m9})qaKk z@L&7cZ&>^zOcrNE-ls+0B8wl1EOG^VHZHbsKfK0&w4c2@mdmR}>dt#R=WJrTIQIT< zX5xZUW7G=#)-UX5C-db^@uL=oAJm+fE~|i`roaWcb?_@+#eTTBpZy}=whxS! zcRr^4#Max9j_v+BDQSy*lf+*kzNv#cpe+YzJH%0f_;m|-eZ9^-|D2+hUwEVXn(NkXXZnl z&GGg`Jx`vQH2bZ|9r$j;H>LUN^V>umE)na~uF`W-rA5*{E53#R5B9UmZu{iyqLyQz zeKse?i(?n9(8jJ9&cLr5etkdR&%W|k_=oB{N>_!|%h|+GEcOK}F&aCY7?0h||4#_z zd&PX6fnvRdkCTvY<^Ly0*m?~g z?GRq*5Z=tk6%elH|0hKjRpBK*7iV0WEtVnZ4jt9n&;)vc4VJb)y2g6ZuV%8>xP7-R zq|IsBr>%D+dah6OU7hGTkw{}qhUl}Fcu^O8x8XaJ$Yfv1x6$^LtW{f9*ekI>zKTaTCCA2zdN-5}c>!8&_Gt*5%YY1RFpe3PI z>byvs?}641?c+l8+F+m_bp7^O*CYno&~w)&22LdUxEUp+BTI7+lN#%6B(X_)Q>6Er z%k!k?jRj{D>&4c8CpPJ0+r=IH{{)2F1OJYFExduteaMnt+qW2x9+Am@-R;v#$A$H2 zbet7Cg$}aNLDsGOA9ZE5^MBNrb&LMD_0`Z)pCCQyFN>sCR+-6un{SclJ!1cbj1@`i z9SjvLSDM3uh_0R&KusEKgm3ve{$BY0yUQ1!s^$ygyx5g81|_YTT)rps^X-9e-LGe| z4|4mrC!d^tn4&$5Zz1p#T0OLh0IeC?c!1UkZ7e|Rg*FQ9p^BT$Z%FeK-tv?G zPiTHlU#^EX3vCK)lsWPim{~C4{xEyLn0a4QlcfJ`^ck2p@ol#&#}_1v=*~M|`mQ3i zfX|$TExfXTFZoP?uXuFE@cBAEIJw`9=N<9E$s4oI9p8c(0aFj=YDrVs<4&5ae^){P zb1wdTXFG0@_$d~_bb)!6i($M_KDe75h|144@%o8(A}5~5Tlw8=aVSj1cc@P=GJe?k zQEy@Mmbc7(?J@+JmA|?f9 z1Wc|BxYIvmZ5M#%tG(3~tDq&K{V<&~&7J!evnXkF>Ynh$goV zFexxmWH1V5Ff^U~GFSpL>%%xQ=*`;>GGI1*7_+^F%b@1F3@(q2CWB5ebzq{%U<^!W zXgc|2uncCzhdEvb<>-wAF!Nx_M2GMbTInYCOMq4dZ8kuwhc;u-r2RHSn}+6%GmcDU zc8N?Kop1E}0WeE>F?JsguA$6<*^G$U26F($>-Ua)^7}q3{t0`y+N`@kdC(QXwVF0C z?RhbjC!k*%klP@b0Wht6%UC-mZy0G`3p>L^Tc{Bh4-Ar%5!UuiEPxyLrRA)9>$Rjn z{)D~M(;m1*AFgn@s=tSR&Wi~zR|lB#$3-ibKbHjCXW{i#0Vu1P_%{eRGxp}$)EtJYn|F03>s`mBG>leRUK zDE;D>*S_)1Z>17_!w))t`PgN5m)sM(*NVNW*a@j7i5=2ge@4b$XHq&M#r*vP4^{&+ z4vaqHlx|~xHDt1HIJO-qKN8ROk5$=BOdw$g-85nlPMOt#}v@|3Zx_aqL<#}NKu@ez;5t|4DmGEbi1 z-^gFl_nEIgJCpsYeACX%{ohpTu=qRfq9Zc27+urGHi4Z5`!S6*{pznn%iC?VHEyxu zq6hQS(hQ}24}h&|%w#_lg7vnmpNh*|cZRsr#FhEEJ^qjtHP^k(y(d`YxkkK2;yp>n z8!m{XeRistWYOGjS=;4!p{fS}v4Rb~l_= zr!|Dv=Lr{CHWQvC{H(^Gr;)4rslUthMM%6};`LlYyb0os6Ys_xeilv;GKf7bZFh-y zo5Wj|cwXCO4fuSCI=jFc6`R(50+t3Sy7~}o*9ko)<-rE`$efN_xBI!-cl$Q)pwHmt z_~7)q730yE`W?CKUSu;0kFk@P?31M|6j95Nig=N;BCGN}PrM1@ zJ*k9vHtiH2NhcO|ic14#Ci-)&pz*gZUA0zaw!;SMT%3 zC&YMkqube8@3_k8_(h#WO@r%b#oiR92QFMTvdnvRu51u^S1whp`-;u91n525WqD-X~Pp_Lgl8L!Iz6Z;dIS{tDF^1h(hFE!8w|0uV=K)+ghlGwO(2OWX%vV&B6H6VmriD_#Te+Dm1!ZI{A} zCC~6hzSC-aT!B}nBa?lGl))$Cm$|Z&{O=L3^!b_Wt!^8k-I;q$P!#7cZeGbpQX zhi0F3MUh+Mf6?Bq&Digj1?2WRR|C*QiQ7%w6mj3ex1qBFYeOgO{TWHCCroOCKw9C5xX8gK7OkYY%vGwI? zIbdghDmkUWOn~ux-1N)g7(G{RD7PbuZQcO?G2(6#_ho!b`EqPA(K9K(RuJ3@xbm)O zIB5?@;M&0L=W7q%8X<#M>~y$vn&WlwYWorG`G$=BR!g8ghzY3<3(_`a(jq!_fcRxE zBF`Z@P}xvw^!jE%2XgQ*pk}W`c2bsA_|?6bxw307skW{5gSCmh)Fy3PwK3WI(q0nU zxKF6QS+Pf^UXsav0=`lYIb#-b8NOVbZX`n#iq#Ug(yDG;isUN|uYP#7_+=buvpQet zSXsD?PsEe(nuFKCODUt~W!l@w*c#=49}c ze*QAn;fF65bt8k1TNJh5No=nAALIW7|0BLdHri*W=B3QlUM!n)ROfq*8oG3i+v8p@ z*v_6z_Gf}+b!QlVUy?=N^z-a>&Tci7v?P*e5^bz|s{ba5Dt&JjY}Lz|OZv;M_GLB0 z0_od!gpQY1Gk9l!Q)5*l zarcPpytQub4`dVG@MVlugZ`mP+2?)WD&FL`*+-z2Lo;pmNoZvTO~$!7Xr<8JDf#op z81xi#kn3Gz?Ogn3RV?Knld)+BTpzd@7pK~xy{8j{SGPDcq}?|weu6zk{0lmMj{Zl` z=*V~4t;5xkC*pVbm1ZsYG`uE;Gua8@Ma%Z)#+EEt+cG6(X_I5bEgkWEex`2r=8>{_ z(p1g1?XU{A3GA(sPCz!yWAy?Gz8HIe;8q3v91{1Zj8EWXY$)nTl;22z=-W!@Q_#~w zSNV4K7qF9B1jZa(w!4`77}~+Cg88LjygVp5x8jIpLgbA{cypz14uP3?vsd>bvk7S9 z(EdvJsI;B-Dnpu<8Tz4y;AP@goX=#>xp9^60Rg?yiK)u7OS~rHy~>TJc(OaqYB6}G zRN0ynrK0nz4)D)`*%J)qxm(t!^t?~mC^GPzw?|5MnszGAB9w39rhGcxu;_(f?OQV0 z>s&p3*7fOldPCd6eb$%h(z(0h+TyXh!}ndPbfg_^kWTejCcEY4n>OmtcfBS?@K?qjs#i3%BV|{wDIc~inK$6ZR^_zxY|J|AFqlF(oNuwXy5VTz(D7gmm zN3GyLtmTpoSFE($R|Rsc`m3~o75G)(ldJdwQY5wC}M>ODdJEwrMa zVb4H&t$g#7K2ZU!{N7CVi9&!&nm#edXC3rf=xeSGK)!SKS8KhGPW~m^QP1F1zfy1b zJegQ5ZcZ#0cgkpmz6w#;&GFc;6>C@uSTmkP6Lyxc6fE0yn6P>cw5y@D8Z_1Bx5#hX zTQ7ajR25|`|2g&{muEx(C%m8VRtZ;q+|#A3ylGY1o^u~c54f>h z9MT;wAqBZ<5PhBU;iP`1!OehMlJxjB^S1yk^)}CUtmlE=UP^ELJO7_Fk8XICzg^GI;4S4EfYu95 z?HSe_8Qu(o@tu+0D{Jz6%D>uT{{PMdI}mFQwxRTP%H0capCS!lnsRYZ`XFqT@?n z7spv9`saY~)SqXvw;gBuJujfpm{08mbdo6CB>bBHANIvNGuhYiZS)B>C+bhsVhP=7 zj|gu6kh6s{jwusG*;AwNn1jcgLU_nEIl5!Xp+gra@>&L0@-EZAruOR5uXsnywl0)R zc8OO;ygK2pWP)c^pFxx{qx657UlD$jge#q_)@b3QeVolQvtwpLsa&N@RLMg#*c4c$ z6BO?r+4fR>rDG`Qc)i3MD3DjF+X>GD4{Dk%I*ww5r4CU&E*MOA#6TR*fwDcggw&b+2P9ah_FS%PU$f3T%@)b zk>#m4Z{?B~K9$_+e~G?{i0KBCiHMm5Q}*s?d0PWh8xd3Vf9xNLh-m! z^Qm-8Gx+lNWU_Z^{IE=I*iCBD)RNG;3GXBP9tl@A0~$o{^FlciSyT$VQHP*Tng13Y zD|W{$JeJ_`M=lR#cPRV8LRV|}$@oj0PaC%luHwC(UeoJVN;g}rE>1QKxq4N`$jTzC zs2$w9b$X`n$n(!Q=Vq)s!)y$(Bhv7hfzQV^AMI!G^r{>s7zvCuay~((5EKz{sX;h@4DJMT1jbua7TcgjtvZWb1_&?vi%fQ%Z)p=b zHXL*8^Ox&$3n|v|8*{xIvLQ&?#tOW~;dP7VWxmhqP4AgOV6NM(%r4gvxK(h<22Z&^hk_Y47$_8}{t_kaG8duX%qaJ1%%N&SF>k z&qvnF+`u=3lmi34*^s@5VhLV7@cN4IQh9Of1>c0OL(a996TC~@vKem=TP?IBXr<5! z;ic`>#;l?_;yN~!J66fAF<8Y*XW`OVQ<4(MUv01DN@Um>w`&5iwI>N@w-lSB;x$%+vm~ zdh3tOffC^--vKt6FbTn1(98hQ5^n_82X1FBlYKMaw*K>cKia>P ztN%!|i|BJ;8$XuGexM{THWmA|SU`EAfT18XGH4g>Ogwh3*so!g?kOv^ibg-q+K1#V zufF0iux>zN%O}B<{I%Yri<*}`VoB(o(957dU*z)w&M8)9uUsP&$zN`iDT@4 z@yk@jaO}LL{7_TysQrYWx1_lMy&k%=PemraLSKX4XwW4uLf?U&H0Tmv>f#7`8}vQC zL+gUJ^7?>jA`5{sjy3)Y<2zWUm3sX4d|{q_q{iX*9^b$(Bu^@r!FChT@u+a_2CTk;vb*Fv>nWh3H0vCg^e4x2!1 zv?Jp75O;*{qU#dnS0zecm?%#p**4|3s)}1hn}k0>!ud(P*F!si)>gRQ#XHX7+mMPU zebH5e@H+e~zJK9$rGK3rxfy3|hr+y2NFi|D!%4LpxGj+!zWn@UV zDUOF4<{Y^rXCMMD|=?{k^#dxRe<#he>>ch9J{ z|2%5GQ|*xE@Gy=%oGP{s5?KzyXB0k-epz}xMoM`8ay`fBi^Yq>G&Ovr-LArG@Ne}# z6Ou6Z2B?~+EijQ#`)`S^?m9UFvj|4riS5&O9f?}@wcB?K>RlfgRpWd zzpGxePO=*!r0UZ^`{7gm`Aqg(A$$;%dH+kZ>`DJq8WF4mL)58wM;IBN1N?20#vp0D z@mSgFad5skRw1KZZX)&u_gvM*hWN1P_(Vy&BViQ{Eqn7}*H*5kZ&jw$-Ray4#J6pT zsC(kHO;Qei0{k-gr|~VnG=HS;nlR_l|lITLhFR~9JdT=%-|fz-6h_b zq3T3d->H+(tSWgd!mIsDne04#jkf5m0jR#?%pX~u3aMOfjDdcIa&Xf(UHd@Bl^WPq zl{5a3##1B>PnUAP(e-Z6kos;W-Zb$X|3{Sit_42=ejEI4l8)DRZQsUCDkD{YrUgRI-+-ETFT7<5q6euQds(yk!rie&GF7;jPM> z>q~ARsDXHC;@zzCVCqw=%^oI|u3P@fyUHuWheUeGPw53IO z?ZHd=gM7M+WkTJra7pm(OvBCL&lZjN+0yVTc^LZqE9^;Nnqs#l)weu7tn`|0m&?Uc z#E^E6$vhg~U}dc9A&sq7);caNjo2^3_0j1#OF()u<;A@%eyZE--5@mJX z9q{~JEYR7ap`Omh<$Q)+QRm`Zb>!5U=+WwjV-J0udqn(w*4w{kj!`M=`=PnBJ6f)G zdE8Va9 ztD56q>vqd4WnJ9qmP$5@;L5=L_}DVJvRMtwgvh4o*Q}xi_&g@0jsrSbHf!Qn3@?rF zYKPb8cf;F@;-%!Q`%T*VS|~5%EOMEISNmpkxvYch0C#`oQd!CT7CzUAjHs6ozx_}# zOQ^o}&~sct=Oftu>27$H|5L_(=fLB|8iZb3mGd6A_>m%mDR8ym)ZP@;HrV^<=yC>m z-6C4eO%sCK0N3Zk8DoHlJ8R;k{>pxx`2e_azU?xH_@;5i*IsFu5^_mFz&97`5P2wo{mxWrMMtEPc=-NAK-1FuV-Z(8g3u6B#17Gea>W)RT z@N54!y(f?|n6_icSTq*O4L_pD@&I1*@OrQ4JbtzOl~yrd`962WmGBQV?XdO2M1AaC z6N|bY9v$X97;@1C%C!c%S!_GWO&0_+2VJ>FH-fV>x&92uWc+LD!@1cQr zJ%1C>)}fu#I@w&$VjpF!vDm0Ejadb=w~OB@52luqRJ((SeFo_WOzD3k2Y(#}Y$-j4 zq+?GBuc9{l{09g8y7tU-0VJk%l`Ir)8mUVe2Z&$wW6rDbZMR8ZeBYX|tN{yV4$LN) zdoK~wNW5(@4Hq)mA8L&0o74X0B#HU7wiwe=&sD!+743q(A!Kay>RHQYs2DaOE!eSt z;B~a0$!=U?-X;AhFtZtNjWl!&vff4R>B@+YZh<*3i*SC0EOOX|SKUR=&Yxlb`grZo&Ul?`!7Ys{WykLHn>oqQAN8(rIyv z%E*R6XgFF$9&=zy4?KT$&iOCTmZqC94-Baewz;acghP1E!Ru3!zS1Yk*Wu0iOj{)> z>)avCB!A*R;DC|2c+w8b&T8zl|MC3e<~-fmA0K-#J<8Yea0>rbZn(SK)n3$je9zyc#xtc01rt~Bv<(3Meb!! zu!;t(i`mnB+kNt^KC4Kxs-M!6>fS3X0TBYrA0U+9@M z@G*F`#V%%V$u}N({hNKgvHuhi=ejsg$C=QE6tXog_D_a1Ixf4I{iGZ=QTbJNi5l~~ z`Hq^SsC!C3C-;i_AIYiY;(k{{C?s;ngzE8?)!X8zQ^Pols>1-&KeCnque?+i}pBs=r#RZ zoFxwZjfw4kt9{ybbl9f(D}N&LDZiL~v46}9*Ngao|CQoWEdfECh;vFr=z*4bHZE!O zlSb;H7qcwOm~{}=m&BKy=elRRG3Va5Z?9c#lE%@)E@pp~B;+UkdJozmG^u*|Nxv@o zP5foh=H(l?=FzL{uksnWEE3tu#MP@>Pp9D5@o?Ig=4a|5NAHUR(KlqDjmvpUb5